SCons中,windows下调用env.Program("hello.c"),就可以调用cl和link等工具,自动完成编译链接;使用env.Jar(target=‘hello.jar‘,source=[‘hello.java‘]),把文件用Jar工具压缩...为了搞清如何集成这些工具,查看了一下源代码。
SCons的模块文件一般安装在Python的Lib\site-packages\scons-2.3.2\SCons下,以下都是以该路径为当前路径。
在Script\__init__.py中,定义了GlobalDefaultEnvironmentFunctions和GlobalDefaultBuilders等全局的环境(env)函数和构建方法。在import SCons.Script之后,这些全局的方法就会通过一下语句申明:
exec "%s = _SConscript.DefaultEnvironmentCall(%s)" % (name, repr(name))
在win32系统下, 以执行SCons.Environment.Environment为例,系统设置了默认的工具,通过如下调流程的函数调用,最终调用Scons.Tool.__init__()中如createProgBuilder,createStaticLibBuilder,createSharedLibBuilder等,env加入了如下的构建工具,
时间: 2024-10-13 16:11:23