[Scons-users] Advice sought
dominic.binks at thebinkles.net
Sun Feb 8 14:28:47 EST 2015
The file builds probably 200 files. We use a couple of third party
libraries which contribute most of this count. I estimate about half
will go to target, approximately half to host, and probably 10% that
will go to both.
VariantDirs may solve my problem, but I've not yet had a feel for how to
make them work for it. I had thought to do something like that but from
what I've read on the wiki, to use VariantDir you need to map the source
files to the variant.
To be a little more specific to help you understand the current problem
I'm facing we have a tool to help us understand what our code is doing
on device. This involves a simpole serialization protocol to support
the exchange of data of our own design which produces a .c and .h that
needs to be compiled for both target and host. The tool itself is
compiled for the host.
There are also data preparation tools that only run on the host. And a
tool which can be used for testing which, if the target supports
executables, can be compiled for both host and target.
Currently the introspection tool does not build for Android. It's
possible I could fix that but it doesn't actually need to run on
Android, only on a windows or linux/x86 host so there's not really much
point in fixing.
If you think VariantDirs can support what I need to do, I wonder if
you'd be able to provide some kind of example I can study (or recast my
current solution) and I can then see if VariantDirs will solve the problem.
I'm not resisting making big changes to the build system but I would
like to develop it so that it's easy to understand and maintain for the
other developers on the team, if that means more work me, that's fine so
long as I can get to a clear solution.
Thanks for your help.
On 08/02/2015 13:26, Dirk Baechle wrote:
> Hi Dominic,
> Am 07.02.2015 um 22:16 schrieb Dominic Binks:
>> Hi all,
>> I'm looking for some expert advice on how to go about implementing
>> (well technically modifying) a build system to achieve a
>> separated host and target build output.
>> The Android build system which is based on make has quite a clean way
>> of doing this. I imagined that VariantDir() would help me out
>> here but reading more about it, it doesn't really do what I need.
> can you be a little bit more specific about why VariantDirs aren't a
> valid solution for you? It would also be interesting to know about how
> many targets and source files we are talking about here (in rough
> numbers). Are all source files compileable for both targets, so could
> one possibly use VariantDirs to compile the basic Objects...and then, in
> a separate SConscript, collect them together into the final executables
> as needed for each target system?
> My first impression is that a good answer can only be given in relation
> to your current build structure, so a few more infos would be helpful.
> Best regards,
> Scons-users mailing list
> Scons-users at scons.org
More information about the Scons-users