Hi Mats,
since nobody else has spoken up so far, I'll give it a
shot.
First of all, remember, I'm speaking for nobody but myself
(seems like
in the past, statements of individual developers were
misunderstood as
being the group's point of view).
Then, this kind of discussion is probably suited better for
the
leaf-devel list, which is why I'm cross-posting it to that
list.
If you have an issue with that, contact the list-owner (i.e.
me )
> Hence I am now more
> convinced than ever before, that it would be of
> benefit to have a buildtool target that
> compiles only parts of the C code, without pushing
> forward to a full package.
I think you're misunderstanding what the primary objective
for buildtool
is - it is to be able to automate building packages, with
(hopefully)
consistent results. It's not a platform for development. It
can be used
as that (and I use it for that too), but since it isn't the
primary
objective for buildtool, it is lacking in this area. And it
hasn't
bugged any of the people who regularly build packages enough
to do
something about that.
> I am imagining something like a target
> "privatebuild" with a use
>
> ./buildtool.pl privatebuild thisproj northernpart
>
> which would be like doing
>
> (cd build_dir_of_thisproj;
> make northernpart )
>
> (( possibly adding: make 'link-up-again'
> to get the executable. ))
>
> with CC, LD, and so on initiated for Bering.
Well, the number of people actively working on buildtool is
rather
small, and buildtool was simply meant as a tool to make life
easier (the
people who wrote it were sick of having to build everything
by hand, and
wanted an easy way of recompiling everything without much
manual
intervention, when upgrading to a new uClibc version, for
example), so I
wouldn't hold my breath regarding one of them adding this
feature,
especially since the issue you're seeing hasn't annoyed any
of the
developers enough to do something so far.
So, unless you or somebody else adds the code to buildtool,
these are
the options I see for you to work around the issue:
* Use tools/compileShell.sh to get a shell that has all the
environment
variables set to build by hand (I don't know if it still
works - I
haven't ever used it - but it sounds like it could be just
what you need).
* change your buildtool.mk file to do exactly what you want
- that's how
I compile my sources. Since buildtool.mk is under your
control, you can
do in it whatever you want. The only thing buildtool expects
of you is
that you provide a "source" and a
"build" target - what happens there is
up to you.
If you only want to run "make northernpart" then
make the source target
unpack the sources (as in every other buildtool.mk file) and
have the
build target look like something like this:
$(SOME_DIR)/.build:
$(MAKE) CCOPT="$(BT_COPT_FLAGS)" -C
$(SOME_DIR) northernpart
build: $(SOME_DIR)/.build
leaving out the "touch $(SOME_DIR)/.build" part
will mean that you can
run it as often as you like, without buildtool's "all
or nothing"
approach getting in your way.
Sorry - this is probably not the response you wanted to hear
- but I
hope that'll give you something to work with the next time
you run into
some troublesome code that refuses to compile easily (there
are plenty
of those out there...)
Martin
------------------------------------------------------------
-------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and
take
control of your XML. No limits. Just data. Click to get it
now.
http://sourcefor
ge.net/powerbar/db2/
------------------------------------------------------------
------------
leaf-user mailing list: leaf-user lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/leaf-user
Support Request -- http://leaf-project.org/
|