[Scons-users] Creating SConscripts on the fly

Bill Deegan bill at baddogconsulting.com
Thu Feb 22 08:45:37 EST 2018


variant_dir is just a short cut for VariantDir and SConscript.
You don't loose anything.

-Bill

On Thu, Feb 22, 2018 at 4:28 AM, Hua Yanghao <huayanghao at gmail.com> wrote:

> One slight drawback of this approach I see is: you lost the out of box
> variant_dir parameter support.
>
> Bill did show a way in another threads how this can be done also
> directly using VariantDir(), so I think this slight drawback is
> solvable.
>
> I am thinking this is really a way to solve my SConscript
> "default_import" issue, however this means also SConscript will be
> hiding from module developers. But I think this is not a problem for
> me.
>
> On Thu, Feb 22, 2018 at 7:08 AM, Gary Granger <granger at ucar.edu> wrote:
> > Hi Spencer,
> >
> > If you already have the information to generate the SConscript file from
> > within a scons builder, then why not just call the builders directly and
> let
> > scons build the software normally, without requiring an intermediate
> > SConscript file?  What purpose does generating the SConscript file serve?
> >
> > In normal operation, SCons first reads all the SConscript files to build
> up
> > the graph of nodes and dependencies, and then it builds whatever nodes
> are
> > outdated or missing.  So I don't think you can specify that a SConscript
> > file is a node that needs to be built, then read that SConscript file to
> > modify the graph of nodes and build again, not without running SCons
> twice.
> >
> > So in your code which determines whether a module needs to be built,
> rather
> > than generating a SConscript file, just call the builders that the
> > SConscript file would have called.  If a module does not need to be
> built,
> > then it is ok to skip calling those builders.  Once all the builders for
> all
> > the modules have been called, SCons will build all the modules in one
> run.
> >
> > I hope I understood your situation and this makes sense...
> > Gary
> >
> >
> > On 02/21/2018 10:35 PM, Spencer Yost wrote:
> >
> > I know this has been covered before, and I apologize for plowing old
> ground.
> > I did search around but came up empty handed.  I have a question:
> >
> > I create my SConscript files on the fly. I have my own system for
> > determining whether or not it needs to be built for a particular module
> in
> > the tree, then I build it if needed and then make the SConscript() call.
> > this works great.  So I decided I want to create a builder for this
> > SConscript creation  - just because that seemed to be the "right" way to
> do
> > it.  But if I use a custom builder it will not build the software if it
> > determines the SConscript file needs to be built.  It just creates the
> > SConscript file. If it doesn't have to create/recreate, it will build the
> > software.
> >
> > I have become experienced enough with Scons now to realize why it is
> doing
> > this. But there has to be a way to get it to build the SConscript file
> using
> > a builder and build the software without running a second time.  Does
> anyone
> > have a slick way of combining the creation of the SConscript while also
> > building?  I do not have a "root"(at the SConstruct level) SConscript
> file -
> > which may the be the answer - but thought  I would ask smarter people
> than
> > me before I spent the time.
> >
> > Thanks in advance!
> >
> > Spencer Yost
> >
> > _______________________________________________
> > Scons-users mailing list
> > Scons-users at scons.org
> > https://pairlist4.pair.net/mailman/listinfo/scons-users
> >
> >
> >
> > _______________________________________________
> > Scons-users mailing list
> > Scons-users at scons.org
> > https://pairlist4.pair.net/mailman/listinfo/scons-users
> >
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20180222/157780f8/attachment-0001.html>


More information about the Scons-users mailing list