首页 > 代码库 > SCONS如何集成工具

SCONS如何集成工具

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加入了如下的构建工具,wKioL1Pm77-ilaTNAAB6VuYvH_w225.jpg

    wKiom1Pm7t2wNkgdAAD7ABOodm4954.jpg