[Scons-users] using Configure Contexts

Stefan Seefeld stefan at seefeld.name
Fri Dec 25 12:40:20 EST 2015


On 25.12.2015 12:27, Bill Deegan wrote:
> Stefan,
>
> I'm not sure what you mean by "appropriate use of configure contexts"?
> There's reasonable examples in the users guide.
>
> Basically you create an Environment(), then you create a configure
> context using that, then you setup a bunch of checkers.
> The results of those you use to alter the Environment() you've
> specified to the configure context.
>
> The configure contexts are part of SCons's functionality meant to
> replace autoconf.

OK, sorry again for being vague. Let me illustrate a specific question:

>From the docs I'm learning that I can write tests such as

conf = Configure()
if not conf.CheckLibWithHeader('m', 'math.h', 'c'):
    print 'Did not find libm.a or m.lib, exiting!'
    Exit(1)
env = conf.Finish()
 
That's fine. Now I want to write my own check functions, such as find a python installation (not necessarily the one SCons itself is using).
and determine CPPFLAGS and LIBS to compile with its C API.

Section 23.8 seems to suggest that a "custom check" would be appropriate here, so I'm trying to write my own
"CheckPython(context)" function. However, inside that function I don't have access to the 'conf' object from above, only a 'context',
which doesn't provide the same API. So I wonder what the purpose of these two objects is ('conf' and 'context' in my code above),
and why the custom check functions don't receive a 'conf' object as argument instead.

Hope that illustrates my question a bit.

Thanks,
		Stefan




>
> -Bill
>
> On Fri, Dec 25, 2015 at 8:53 AM, Stefan Seefeld <stefan at seefeld.name
> <mailto:stefan at seefeld.name>> wrote:
>
>     I'm trying to understand the appropriate use of configure contexts. A
>     call to 'Configure()' yields a SCons.SConf.SconfBase object, while
>     what
>     is passed in to 'custom checks' (Section 23.8 in the User's Guide) as
>     'context' turns out to be of type 'Scons.Sconf.CheckContext. What
>     is the
>     relationship between these two types ? They don't have the same API
>     (even though they seem quite similar in many ways), and it isn't
>     entirely clear to me how to use them properly.
>
>     Thanks,
>             Stefan
>
>     --
>
>           ...ich hab' noch einen Koffer in Berlin...
>
>     _______________________________________________
>     Scons-users mailing list
>     Scons-users at scons.org <mailto: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


-- 

      ...ich hab' noch einen Koffer in Berlin...



More information about the Scons-users mailing list