diff --git a/doc/SConscript b/doc/SConscript index 5f3d559a9c..28d1807727 100644 --- a/doc/SConscript +++ b/doc/SConscript @@ -574,7 +574,7 @@ else: e = os.path.join('#src', 'engine') manifest_in = File(os.path.join(e, 'MANIFEST.in')).rstr() sources = bootstrap.parseManifestLines(e, open(manifest_in).readlines()) - sources = [x for x in sources if x.find('Platform') == -1] +# sources = [x for x in sources if x.find('Platform') == -1] sources = [x for x in sources if x.find('Tool') == -1] # XXX sources = [x for x in sources if x.find('Options') == -1] diff --git a/doc/generated/builders.gen b/doc/generated/builders.gen index 680f72f655..6f8c7e9cdf 100644 --- a/doc/generated/builders.gen +++ b/doc/generated/builders.gen @@ -1,4 +1,4 @@ - + %scons; @@ -12,7 +12,7 @@ %variables-mod; ]> - + CFile() @@ -20,18 +20,17 @@ env.CFile() - - + Builds a C source file given a lex (.l) or yacc (.y) input file. -The suffix specified by the $CFILESUFFIX construction variable +The suffix specified by the $CFILESUFFIX construction variable (.c by default) is automatically added to the target if it is not already present. Example: - + # builds foo.c env.CFile(target = 'foo.c', source = 'foo.l') # builds bar.c @@ -46,13 +45,12 @@ env.CFile(target = 'bar', source = 'bar.y') env.Command() - - -The Command "Builder" is actually implemented + +The Command "Builder" is actually implemented as a function that looks like a Builder, but actually takes an additional argument of the action from which the Builder should be made. -See the Command function description +See the Command function description for the calling syntax and details. @@ -64,19 +62,18 @@ for the calling syntax and details. env.CXXFile() - - + Builds a C++ source file given a lex (.ll) or yacc (.yy) input file. -The suffix specified by the $CXXFILESUFFIX construction variable +The suffix specified by the $CXXFILESUFFIX construction variable (.cc by default) is automatically added to the target if it is not already present. Example: - + # builds foo.cc env.CXXFile(target = 'foo.cc', source = 'foo.ll') # builds bar.cc @@ -91,20 +88,19 @@ env.CXXFile(target = 'bar', source = 'bar.yy') env.DocbookEpub() - - + A pseudo-Builder, providing a Docbook toolchain for EPUB output. -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookEpub('manual.epub', 'manual.xml') - + or simply -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookEpub('manual') @@ -117,17 +113,16 @@ env.DocbookEpub('manual') env.DocbookHtml() - - + A pseudo-Builder, providing a Docbook toolchain for HTML output. -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookHtml('manual.html', 'manual.xml') - + or simply -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookHtml('manual') @@ -139,35 +134,34 @@ env.DocbookHtml('manual') env.DocbookHtmlChunked() - - + A pseudo-Builder, providing a Docbook toolchain for chunked HTML output. It supports the base.dir parameter. The chunkfast.xsl file (requires "EXSLT") is used as the default stylesheet. Basic syntax: -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookHtmlChunked('manual') - + where manual.xml is the input file. -If you use the root.filename +If you use the root.filename parameter in your own stylesheets you have to specify the new target name. This ensures that the dependencies get correct, especially for the cleanup via scons -c: -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookHtmlChunked('mymanual.html', 'manual', xsl='htmlchunk.xsl') -Some basic support for the base.dir is provided. You +Some basic support for the base.dir is provided. You can add the base_dir keyword to your Builder call, and the given prefix gets prepended to all the created filenames: -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookHtmlChunked('manual', xsl='htmlchunk.xsl', base_dir='output/') -Make sure that you don't forget the trailing slash for the base folder, else +Make sure that you don't forget the trailing slash for the base folder, else your files get renamed only! @@ -179,35 +173,34 @@ your files get renamed only! env.DocbookHtmlhelp() - - + A pseudo-Builder, providing a Docbook toolchain for HTMLHELP output. Its basic syntax is: -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookHtmlhelp('manual') - + where manual.xml is the input file. -If you use the root.filename +If you use the root.filename parameter in your own stylesheets you have to specify the new target name. This ensures that the dependencies get correct, especially for the cleanup via scons -c: -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookHtmlhelp('mymanual.html', 'manual', xsl='htmlhelp.xsl') -Some basic support for the base.dir parameter +Some basic support for the base.dir parameter is provided. You can add the base_dir keyword to your Builder call, and the given prefix gets prepended to all the created filenames: -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookHtmlhelp('manual', xsl='htmlhelp.xsl', base_dir='output/') -Make sure that you don't forget the trailing slash for the base folder, else +Make sure that you don't forget the trailing slash for the base folder, else your files get renamed only! @@ -220,16 +213,15 @@ your files get renamed only! env.DocbookMan() - - + A pseudo-Builder, providing a Docbook toolchain for Man page output. Its basic syntax is: -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookMan('manual') - + where manual.xml is the input file. Note, that you can specify a target name, but the actual output names are automatically set from the refname entries in your XML source. @@ -243,20 +235,19 @@ set from the refname entries in your XML source. env.DocbookPdf() - - + A pseudo-Builder, providing a Docbook toolchain for PDF output. -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookPdf('manual.pdf', 'manual.xml') - + or simply -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookPdf('manual') @@ -269,33 +260,32 @@ env.DocbookPdf('manual') env.DocbookSlidesHtml() - - + A pseudo-Builder, providing a Docbook toolchain for HTML slides output. -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookSlidesHtml('manual') -If you use the titlefoil.html parameter in +If you use the titlefoil.html parameter in your own stylesheets you have to give the new target name. This ensures that the dependencies get correct, especially for the cleanup via scons -c: -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookSlidesHtml('mymanual.html','manual', xsl='slideshtml.xsl') -Some basic support for the base.dir parameter +Some basic support for the base.dir parameter is provided. You can add the base_dir keyword to your Builder call, and the given prefix gets prepended to all the created filenames: -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookSlidesHtml('manual', xsl='slideshtml.xsl', base_dir='output/') -Make sure that you don't forget the trailing slash for the base folder, else +Make sure that you don't forget the trailing slash for the base folder, else your files get renamed only! @@ -308,20 +298,19 @@ your files get renamed only! env.DocbookSlidesPdf() - - + A pseudo-Builder, providing a Docbook toolchain for PDF slides output. -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookSlidesPdf('manual.pdf', 'manual.xml') - + or simply -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookSlidesPdf('manual') @@ -333,12 +322,11 @@ env.DocbookSlidesPdf('manual') env.DocbookXInclude() - - + A pseudo-Builder, for resolving XIncludes in a separate processing step. -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookXInclude('manual_xincluded.xml', 'manual.xml') @@ -350,16 +338,15 @@ env.DocbookXInclude('manual_xincluded.xml', 'manual.xml') env.DocbookXslt() - - + A pseudo-Builder, applying a given XSL transformation to the input file. -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookXslt('manual_transformed.xml', 'manual.xml', xsl='transform.xslt') -Note, that this builder requires the xsl parameter +Note, that this builder requires the xsl parameter to be set. @@ -371,41 +358,40 @@ to be set. env.DVI() - - + Builds a .dvi file from a .tex, .ltx or .latex input file. If the source file suffix is .tex, -scons +scons will examine the contents of the file; if the string \documentclass or \documentstyle is found, the file is assumed to be a LaTeX file and -the target is built by invoking the $LATEXCOM command line; -otherwise, the $TEXCOM command line is used. +the target is built by invoking the $LATEXCOM command line; +otherwise, the $TEXCOM command line is used. If the file is a LaTeX file, the -DVI +DVI builder method will also examine the contents of the .aux -file and invoke the $BIBTEX command line +file and invoke the $BIBTEX command line if the string bibdata is found, -start $MAKEINDEX to generate an index if a +start $MAKEINDEX to generate an index if a .ind file is found and will examine the contents .log -file and re-run the $LATEXCOM command +file and re-run the $LATEXCOM command if the log file says it is necessary. - + The suffix .dvi (hard-coded within TeX itself) is automatically added to the target @@ -413,7 +399,7 @@ if it is not already present. Examples: - + # builds from aaa.tex env.DVI(target = 'aaa.dvi', source = 'aaa.tex') # builds bbb.dvi @@ -430,14 +416,13 @@ env.DVI(target = 'ccc.dvi', source = 'ccc.latex') env.Gs() - - + A Builder for explicitly calling the gs executable. Depending on the underlying OS, the different names gs, gsos2 and gswin32c are tried. -env = Environment(tools=['gs']) +env = Environment(tools=['gs']) env.Gs('cover.jpg','scons-scons.pdf', GSFLAGS='-dNOPAUSE -dBATCH -sDEVICE=jpeg -dFirstPage=1 -dLastPage=1 -q') ) @@ -451,8 +436,7 @@ env.Gs('cover.jpg','scons-scons.pdf', env.Install() - - + Installs one or more source files or directories in the specified target, which must be a directory. @@ -462,7 +446,7 @@ sources may be given as a string or as a node returned by a builder. - + env.Install('/usr/local/bin', source = ['foo', 'bar']) @@ -474,8 +458,7 @@ env.Install('/usr/local/bin', source = ['foo', 'bar']) env.InstallAs() - - + Installs one or more source files or directories to specific names, allowing changing a file or directory name @@ -487,7 +470,7 @@ source arguments list different numbers of files or directories. - + env.InstallAs(target = '/usr/local/bin/foo', source = 'foo_debug') env.InstallAs(target = ['../lib/libfoo.a', '../lib/libbar.a'], @@ -503,13 +486,12 @@ env.InstallAs(target = ['../lib/libfoo.a', '../lib/libbar.a'], env.InstallVersionedLib() - - + Installs a versioned shared library. The symlinks appropriate to the architecture will be generated based on symlinks of the source library. - + env.InstallVersionedLib(target = '/usr/local/bin/foo', source = 'libxyz.1.5.2.so') @@ -522,41 +504,40 @@ env.InstallVersionedLib(target = '/usr/local/bin/foo', env.Jar() - - + Builds a Java archive (.jar) file from the specified list of sources. Any directories in the source list will be searched for .class files). Any .java files in the source list will be compiled to .class files -by calling the Java Builder. +by calling the Java Builder. - -If the $JARCHDIR value is set, the -jar + +If the $JARCHDIR value is set, the +jar command will change to the specified directory using the option. -If $JARCHDIR is not set explicitly, -SCons will use the top of any subdirectory tree +If $JARCHDIR is not set explicitly, +SCons will use the top of any subdirectory tree in which Java .class -were built by the Java Builder. +were built by the Java Builder. - + If the contents any of the source files begin with the string Manifest-Version, the file is assumed to be a manifest and is passed to the -jar +jar command with the option set. - + env.Jar(target = 'foo.jar', source = 'classes') env.Jar(target = 'bar.jar', @@ -571,8 +552,7 @@ env.Jar(target = 'bar.jar', env.Java() - - + Builds one or more Java class files. The sources may be any combination of explicit .java @@ -581,7 +561,7 @@ env.Jar(target = 'bar.jar', for .java files. - + SCons will parse each source .java file to find the classes (including inner classes) @@ -592,7 +572,7 @@ env.Jar(target = 'bar.jar', the specified target directory. - + SCons will also search each Java file for the Java package name, which it assumes can be found on a line @@ -615,17 +595,17 @@ env.Jar(target = 'bar.jar', class file. - + Examples: - + env.Java(target = 'classes', source = 'src') env.Java(target = 'classes', source = ['src1', 'src2']) env.Java(target = 'classes', source = ['File1.java', 'File2.java']) - + Java source files can use the native encoding for the underlying OS. Since SCons compiles in simple ASCII mode by default, the compiler will generate warnings about unmappable characters, @@ -638,7 +618,7 @@ env.Jar(target = 'bar.jar', with a different encoding. - + env = Environment() env['ENV']['LANG'] = 'en_GB.UTF-8' @@ -651,8 +631,7 @@ env.Jar(target = 'bar.jar', env.JavaH() - - + Builds C header and source files for implementing Java native methods. The target can be either a directory @@ -662,29 +641,29 @@ will contain all of the definitions. The source can be the names of .class files, the names of .java files to be compiled into .class files -by calling the Java builder method, +by calling the Java builder method, or the objects returned from the -Java +Java builder method. - + If the construction variable -$JAVACLASSDIR +$JAVACLASSDIR is set, either in the environment or in the call to the -JavaH +JavaH builder method itself, then the value of the variable will be stripped from the beginning of any .class file names. - + Examples: - + # builds java_native.h classes = env.Java(target = 'classdir', source = 'src') env.JavaH(target = 'java_native.h', source = classes) @@ -707,10 +686,9 @@ env.JavaH(target = 'export', env.Library() - - + A synonym for the -StaticLibrary +StaticLibrary builder method. @@ -722,11 +700,10 @@ builder method. env.LoadableModule() - - + On most systems, this is the same as -SharedLibrary. +SharedLibrary. On Mac OS X (Darwin) platforms, this creates a loadable module bundle. @@ -739,10 +716,9 @@ this creates a loadable module bundle. env.M4() - - + Builds an output file from an M4 input file. -This uses a default $M4FLAGS value of +This uses a default $M4FLAGS value of , which considers all warnings to be fatal and stops on the first warning @@ -750,7 +726,7 @@ when using the GNU version of m4. Example: - + env.M4(target = 'foo.c', source = 'foo.c.m4') @@ -762,15 +738,14 @@ env.M4(target = 'foo.c', source = 'foo.c.m4') env.Moc() - - + Builds an output file from a moc input file. Moc input files are either header files or cxx files. This builder is only available after using the -tool 'qt'. See the $QTDIR variable for more information. +tool 'qt'. See the $QTDIR variable for more information. Example: - + env.Moc('foo.h') # generates moc_foo.cc env.Moc('foo.cpp') # generates foo.moc @@ -783,48 +758,47 @@ env.Moc('foo.cpp') # generates foo.moc env.MOFiles() - - -This builder belongs to msgfmt tool. The builder compiles + +This builder belongs to msgfmt tool. The builder compiles PO files to MO files. - + Example 1. Create pl.mo and en.mo by compiling pl.po and en.po: - + # ... env.MOFiles(['pl', 'en']) - + Example 2. Compile files for languages defined in LINGUAS file: - + # ... env.MOFiles(LINGUAS_FILE = 1) - + Example 3. Create pl.mo and en.mo by compiling pl.po and en.po plus files for languages defined in LINGUAS file: - + # ... env.MOFiles(['pl', 'en'], LINGUAS_FILE = 1) - + Example 4. Compile files for languages defined in LINGUAS file (another version): - + # ... env['LINGUAS_FILE'] = 1 env.MOFiles() @@ -838,39 +812,39 @@ Compile files for languages defined in LINGUAS file env.MSVSProject() - Builds a Microsoft Visual Studio project -file, and by default builds a solution file as well. This + Builds a Microsoft Visual Studio project +file, and by default builds a solution file as well. This builds a Visual Studio project file, based on the version of Visual Studio that is configured (either the latest installed version, or the version -specified by $MSVS_VERSION in the Environment constructor). For +specified by $MSVS_VERSION in the Environment constructor). For Visual Studio 6, it will generate a .dsp file. For Visual Studio 7 (.NET) and later versions, it will generate a -.vcproj file. By default, this also +.vcproj file. By default, this also generates a solution file for the specified project, a .dsw file for Visual Studio 6 or a .sln file for Visual Studio 7 (.NET). This behavior may be disabled by specifying auto_build_solution=0 when you -call MSVSProject, in which case you presumably want to build the solution -file(s) by calling the MSVSSolution Builder (see below). -The MSVSProject builder takes several lists of filenames to be placed into +call MSVSProject, in which case you presumably want to build the solution +file(s) by calling the MSVSSolution Builder (see below). +The MSVSProject builder takes several lists of filenames to be placed into the project file. These are currently limited to srcs, incs, localincs, resources, and misc. These are pretty self-explanatory, but it should be noted that these lists are added to the -$SOURCES construction variable as strings, NOT as SCons File Nodes. +$SOURCES construction variable as strings, NOT as SCons File Nodes. This is because they represent file names to be added to the project file, not -the source files used to build the project file. The above +the source files used to build the project file. The above filename lists are all optional, although at least one must be specified for -the resulting project file to be non-empty. In addition to the +the resulting project file to be non-empty. In addition to the above lists of values, the following values may be specified: - + target The name of the target .dsp or .vcproj file. The correct suffix for the version - of Visual Studio must be used, but the $MSVSPROJECTSUFFIX + of Visual Studio must be used, but the $MSVSPROJECTSUFFIX construction variable will be defined to the correct value (see example below). @@ -886,7 +860,7 @@ above lists of values, the following values may be specified: you want. For Visual Studio 7 projects, they may also specify a target platform separated from the variant name by a | (vertical pipe) character: Debug|Xbox. The default - target platform is Win32. Multiple calls to MSVSProject with + target platform is Win32. Multiple calls to MSVSProject with different variants are allowed; all variants will be added to the project file with their appropriate build targets and sources. @@ -928,16 +902,16 @@ above lists of values, the following values may be specified: specified buildtarget value. - Note that because SCons always executes its build -commands from the directory in which the SConstruct file is located, if you -generate a project file in a different directory than the SConstruct + Note that because SCons always executes its build +commands from the directory in which the SConstruct file is located, if you +generate a project file in a different directory than the SConstruct directory, users will not be able to double-click on the file name in compilation error messages displayed in the Visual Studio console output window. This can be remedied by adding the Visual C/C++ /FC -compiler option to the $CCFLAGS variable so that the compiler will +compiler option to the $CCFLAGS variable so that the compiler will print the full path name of any files that cause compilation errors. - Example usage: - + Example usage: + barsrcs = ['bar.cpp'] barincs = ['bar.h'] barlocalincs = ['StdAfx.h'] @@ -956,10 +930,10 @@ env.MSVSProject(target = 'Bar' + env['MSVSPROJECTSUFFIX'], buildtarget = buildtarget, variant = 'Release') -Starting with version 2.4 of +Starting with version 2.4 of SCons it's also possible to specify the optional argument DebugSettings, which creates files for debugging under -Visual Studio: +Visual Studio: DebugSettings @@ -972,14 +946,14 @@ Visual Studio: give only one, it will be propagated to all variants. - Currently, only Visual Studio v9.0 and Visual Studio + Currently, only Visual Studio v9.0 and Visual Studio version v11 are implemented, for other versions no file is generated. To generate the user file, you just need to add a DebugSettings dictionary to the environment with the right parameters for your MSVS version. If the dictionary is empty, or does -not contain any good value, no file will be generated.Following +not contain any good value, no file will be generated.Following is a more contrived example, involving the setup of a project for variants and -DebugSettings:# Assuming you store your defaults in a file +DebugSettings:# Assuming you store your defaults in a file vars = Variables('variables.py') msvcver = vars.args.get('vc', '9') @@ -1101,21 +1075,21 @@ env.MSVSProject(target = 'Bar' + env['MSVSPROJECTSUFFIX'], env.MSVSSolution() - Builds a Microsoft Visual Studio solution -file. This builds a Visual Studio solution file, based on the + Builds a Microsoft Visual Studio solution +file. This builds a Visual Studio solution file, based on the version of Visual Studio that is configured (either the latest installed -version, or the version specified by $MSVS_VERSION in the +version, or the version specified by $MSVS_VERSION in the construction environment). For Visual Studio 6, it will generate a .dsw file. For Visual Studio 7 (.NET), it will generate a -.sln file. The following values must be -specified: +.sln file. The following values must be +specified: target The name of the target .dsw or .sln file. The correct suffix for the version of Visual Studio must be used, but the value - $MSVSSOLUTIONSUFFIX will be defined to the correct value (see + $MSVSSOLUTIONSUFFIX will be defined to the correct value (see example below). @@ -1137,7 +1111,7 @@ specified: A list of project file names, or Project nodes returned by - calls to the MSVSProject Builder, to be placed into the solution + calls to the MSVSProject Builder, to be placed into the solution file. It should be noted that these file names are NOT added to the $SOURCES environment variable in form of files, but rather as strings. This is because they represent file names to be added to the solution @@ -1145,7 +1119,7 @@ specified: file. - Example Usage: + Example Usage: env.MSVSSolution(target = 'Bar' + env['MSVSSOLUTIONSUFFIX'], projects = ['bar' + env['MSVSPROJECTSUFFIX']], variant = 'Release') @@ -1157,10 +1131,9 @@ env.MSVSSolution(target = 'Bar' + env['MSVSSOLUTIONSUFFIX'], projects = ['bar' env.Object() - - + A synonym for the -StaticObject +StaticObject builder method. @@ -1172,41 +1145,39 @@ builder method. env.Package() - - + Builds a Binary Package of the given source files. - + env.Package(source = FindInstalledFiles()) - - + Builds software distribution packages. Packages consist of files to install and packaging information. -The former may be specified with the source parameter and may be left out, -in which case the FindInstalledFiles function will collect -all files that have an Install or InstallAs Builder attached. -If the target is not specified +The former may be specified with the source parameter and may be left out, +in which case the FindInstalledFiles function will collect +all files that have an Install or InstallAs Builder attached. +If the target is not specified it will be deduced from additional information given to this Builder. - + The packaging information is specified with the help of construction variables documented below. This information is called a tag to stress that -some of them can also be attached to files with the Tag function. +some of them can also be attached to files with the Tag function. The mandatory ones will complain if they were not specified. They vary depending on chosen target packager. - + The target packager may be selected with the "PACKAGETYPE" command line -option or with the $PACKAGETYPE construction variable. Currently +option or with the $PACKAGETYPE construction variable. Currently the following packagers available: - + * msi - Microsoft Installer * rpm - RPM Package Manger * ipkg - Itsy Package Management System @@ -1220,11 +1191,11 @@ the following packagers available: * src_zip - zip file source - + An updated list is always available under the "package_type" option when running "scons --help" on a project that has packaging activated. - + env = Environment(tools=['default', 'packaging']) env.Install('/bin/', 'my_program') env.Package( NAME = 'foo', @@ -1247,8 +1218,7 @@ env.Package( NAME = 'foo', env.PCH() - - + Builds a Microsoft Visual C++ precompiled header. Calling this builder method returns a list of two targets: the PCH as the first element, and the object @@ -1260,7 +1230,7 @@ conjunction with the PCH construction variable to force object files to use the precompiled header: - + env['PCH'] = env.PCH('StdAfx.cpp')[0] @@ -1272,21 +1242,20 @@ env['PCH'] = env.PCH('StdAfx.cpp')[0] env.PDF() - - + Builds a .pdf file from a .dvi input file (or, by extension, a .tex, .ltx, or .latex input file). -The suffix specified by the $PDFSUFFIX construction variable +The suffix specified by the $PDFSUFFIX construction variable (.pdf by default) is added automatically to the target if it is not already present. Example: - + # builds from aaa.tex env.PDF(target = 'aaa.pdf', source = 'aaa.tex') # builds bbb.pdf from bbb.dvi @@ -1301,100 +1270,99 @@ env.PDF(target = 'bbb', source = 'bbb.dvi') env.POInit() - - -This builder belongs to msginit tool. The builder initializes missing -PO file(s) if $POAUTOINIT is set. If -$POAUTOINIT is not set (default), POInit prints instruction for + +This builder belongs to msginit tool. The builder initializes missing +PO file(s) if $POAUTOINIT is set. If +$POAUTOINIT is not set (default), POInit prints instruction for user (that is supposed to be a translator), telling how the PO file should be initialized. In normal projects -you should not use POInit and use POUpdate -instead. POUpdate chooses intelligently between -msgmerge(1) and msginit(1). POInit +you should not use POInit and use POUpdate +instead. POUpdate chooses intelligently between +msgmerge(1) and msginit(1). POInit always uses msginit(1) and should be regarded as builder for special purposes or for temporary use (e.g. for quick, one time initialization of a bunch of PO files) or for tests. - -Target nodes defined through POInit are not built by default (they're + +Target nodes defined through POInit are not built by default (they're Ignored from '.' node) but are added to special Alias ('po-create' by default). -The alias name may be changed through the $POCREATE_ALIAS +The alias name may be changed through the $POCREATE_ALIAS construction variable. All PO files defined through -POInit may be easily initialized by scons po-create. +POInit may be easily initialized by scons po-create. - + Example 1. Initialize en.po and pl.po from messages.pot: - + # ... env.POInit(['en', 'pl']) # messages.pot --> [en.po, pl.po] - + Example 2. Initialize en.po and pl.po from foo.pot: - + # ... env.POInit(['en', 'pl'], ['foo']) # foo.pot --> [en.po, pl.po] - + Example 3. Initialize en.po and pl.po from -foo.pot but using $POTDOMAIN construction +foo.pot but using $POTDOMAIN construction variable: - + # ... env.POInit(['en', 'pl'], POTDOMAIN='foo') # foo.pot --> [en.po, pl.po] - + Example 4. Initialize PO files for languages defined in LINGUAS file. The files will be initialized from template messages.pot: - + # ... env.POInit(LINGUAS_FILE = 1) # needs 'LINGUAS' file - + Example 5. Initialize en.po and pl.pl PO files plus files for languages defined in LINGUAS file. The files will be initialized from template messages.pot: - + # ... env.POInit(['en', 'pl'], LINGUAS_FILE = 1) - + Example 6. You may preconfigure your environment first, and then initialize PO files: - + # ... env['POAUTOINIT'] = 1 env['LINGUAS_FILE'] = 1 env['POTDOMAIN'] = 'foo' env.POInit() - + which has same efect as: - + # ... env.POInit(POAUTOINIT = 1, LINGUAS_FILE = 1, POTDOMAIN = 'foo') @@ -1407,21 +1375,20 @@ which has same efect as: env.PostScript() - - + Builds a .ps file from a .dvi input file (or, by extension, a .tex, .ltx, or .latex input file). -The suffix specified by the $PSSUFFIX construction variable +The suffix specified by the $PSSUFFIX construction variable (.ps by default) is added automatically to the target if it is not already present. Example: - + # builds from aaa.tex env.PostScript(target = 'aaa.ps', source = 'aaa.tex') # builds bbb.ps from bbb.dvi @@ -1436,24 +1403,23 @@ env.PostScript(target = 'bbb', source = 'bbb.dvi') env.POTUpdate() - - -The builder belongs to xgettext tool. The builder updates target + +The builder belongs to xgettext tool. The builder updates target POT file if exists or creates one if it doesn't. The node is not built by default (i.e. it is Ignored from '.'), but only on demand (i.e. when given POT file is required or when special alias is invoked). This builder adds its targe node (messages.pot, say) to a special alias (pot-update by default, see -$POTUPDATE_ALIAS) so you can update/create them easily with +$POTUPDATE_ALIAS) so you can update/create them easily with scons pot-update. The file is not written until there is no real change in internationalized messages (or in comments that enter POT file). - + You may see xgettext(1) being invoked by the -xgettext tool even if there is no real change in internationalized +xgettext tool even if there is no real change in internationalized messages (so the POT file is not being updated). This happens every time a source file has changed. In such case we invoke xgettext(1) and compare its output with the content of @@ -1461,38 +1427,38 @@ happens every time a source file has changed. In such case we invoke not. - + Example 1. Let's create po/ directory and place following SConstruct script there: - + # SConstruct in 'po/' subdir env = Environment( tools = ['default', 'xgettext'] ) env.POTUpdate(['foo'], ['../a.cpp', '../b.cpp']) env.POTUpdate(['bar'], ['../c.cpp', '../d.cpp']) - + Then invoke scons few times: - + user@host:$ scons # Does not create foo.pot nor bar.pot user@host:$ scons foo.pot # Updates or creates foo.pot user@host:$ scons pot-update # Updates or creates foo.pot and bar.pot user@host:$ scons -c # Does not clean foo.pot nor bar.pot. - + the results shall be as the comments above say. - + Example 2. -The POTUpdate builder may be used with no target specified, in which +The POTUpdate builder may be used with no target specified, in which case default target messages.pot will be used. The -default target may also be overridden by setting $POTDOMAIN construction -variable or providing it as an override to POTUpdate builder: +default target may also be overridden by setting $POTDOMAIN construction +variable or providing it as an override to POTUpdate builder: - + # SConstruct script env = Environment( tools = ['default', 'xgettext'] ) env['POTDOMAIN'] = "foo" @@ -1500,49 +1466,49 @@ variable or providing it as an override to - + Example 3. The sources may be specified within separate file, for example POTFILES.in: - + # POTFILES.in in 'po/' subdirectory ../a.cpp ../b.cpp # end of file - + The name of the file (POTFILES.in) containing the list of -sources is provided via $XGETTEXTFROM: +sources is provided via $XGETTEXTFROM: - + # SConstruct file in 'po/' subdirectory env = Environment( tools = ['default', 'xgettext'] ) env.POTUpdate(XGETTEXTFROM = 'POTFILES.in') - + Example 4. -You may use $XGETTEXTPATH to define source search path. Assume, for +You may use $XGETTEXTPATH to define source search path. Assume, for example, that you have files a.cpp, b.cpp, po/SConstruct, po/POTFILES.in. Then your POT-related files could look as below: - + # POTFILES.in in 'po/' subdirectory a.cpp b.cpp # end of file - + # SConstruct file in 'po/' subdirectory env = Environment( tools = ['default', 'xgettext'] ) env.POTUpdate(XGETTEXTFROM = 'POTFILES.in', XGETTEXTPATH='../') - + Example 5. Multiple search directories may be defined within a list, i.e. XGETTEXTPATH = ['dir1', 'dir2', ...]. The order in the list @@ -1550,48 +1516,48 @@ determines the search order of source files. The path to the first file found is used. - + Let's create 0/1/po/SConstruct script: - + # SConstruct file in '0/1/po/' subdirectory env = Environment( tools = ['default', 'xgettext'] ) env.POTUpdate(XGETTEXTFROM = 'POTFILES.in', XGETTEXTPATH=['../', '../../']) - + and 0/1/po/POTFILES.in: - + # POTFILES.in in '0/1/po/' subdirectory a.cpp # end of file - + Write two *.cpp files, the first one is 0/a.cpp: - + /* 0/a.cpp */ gettext("Hello from ../../a.cpp") - + and the second is 0/1/a.cpp: - + /* 0/1/a.cpp */ gettext("Hello from ../a.cpp") - + then run scons. You'll obtain 0/1/po/messages.pot with the message "Hello from ../a.cpp". When you reverse order in $XGETTEXTFOM, i.e. when you write SConscript as - + # SConstruct file in '0/1/po/' subdirectory env = Environment( tools = ['default', 'xgettext'] ) env.POTUpdate(XGETTEXTFROM = 'POTFILES.in', XGETTEXTPATH=['../../', '../']) - + then the messages.pot will contain msgid "Hello from ../../a.cpp" line and not msgid "Hello from ../a.cpp". @@ -1606,107 +1572,106 @@ then the messages.pot will contain env.POUpdate() - - -The builder belongs to msgmerge tool. The builder updates + +The builder belongs to msgmerge tool. The builder updates PO files with msgmerge(1), or initializes missing PO files as described in documentation of -msginit tool and POInit builder (see also -$POAUTOINIT). Note, that POUpdate does not add its -targets to po-create alias as POInit +msginit tool and POInit builder (see also +$POAUTOINIT). Note, that POUpdate does not add its +targets to po-create alias as POInit does. - -Target nodes defined through POUpdate are not built by default + +Target nodes defined through POUpdate are not built by default (they're Ignored from '.' node). Instead, they are added automatically to special Alias ('po-update' by default). The alias name may be changed -through the $POUPDATE_ALIAS construction variable. You can easily +through the $POUPDATE_ALIAS construction variable. You can easily update PO files in your project by scons po-update. - + Example 1. Update en.po and pl.po from -messages.pot template (see also $POTDOMAIN), +messages.pot template (see also $POTDOMAIN), assuming that the later one exists or there is rule to build it (see -POTUpdate): +POTUpdate): - + # ... env.POUpdate(['en','pl']) # messages.pot --> [en.po, pl.po] - + Example 2. Update en.po and pl.po from foo.pot template: - + # ... env.POUpdate(['en', 'pl'], ['foo']) # foo.pot --> [en.po, pl.pl] - + Example 3. Update en.po and pl.po from foo.pot (another version): - + # ... env.POUpdate(['en', 'pl'], POTDOMAIN='foo') # foo.pot -- > [en.po, pl.pl] - + Example 4. Update files for languages defined in LINGUAS file. The files are updated from messages.pot template: - + # ... env.POUpdate(LINGUAS_FILE = 1) # needs 'LINGUAS' file - + Example 5. Same as above, but update from foo.pot template: - + # ... env.POUpdate(LINGUAS_FILE = 1, source = ['foo']) - + Example 6. Update en.po and pl.po plus files for languages defined in LINGUAS file. The files are updated from messages.pot template: - + # produce 'en.po', 'pl.po' + files defined in 'LINGUAS': env.POUpdate(['en', 'pl' ], LINGUAS_FILE = 1) - + Example 7. -Use $POAUTOINIT to automatically initialize PO file +Use $POAUTOINIT to automatically initialize PO file if it doesn't exist: - + # ... env.POUpdate(LINGUAS_FILE = 1, POAUTOINIT = 1) - + Example 8. Update PO files for languages defined in LINGUAS file. The files are updated from foo.pot template. All necessary settings are pre-configured via environment. - + # ... env['POAUTOINIT'] = 1 env['LINGUAS_FILE'] = 1 @@ -1723,29 +1688,28 @@ pre-configured via environment. env.Program() - - + Builds an executable given one or more object files or C, C++, D, or Fortran source files. If any C, C++, D or Fortran source files are specified, then they will be automatically compiled to object files using the -Object +Object builder method; see that builder method's description for a list of legal source file suffixes and how they are interpreted. The target executable file prefix -(specified by the $PROGPREFIX construction variable; nothing by default) +(specified by the $PROGPREFIX construction variable; nothing by default) and suffix -(specified by the $PROGSUFFIX construction variable; +(specified by the $PROGSUFFIX construction variable; by default, .exe on Windows systems, nothing on POSIX systems) are automatically added to the target if not already present. Example: - + env.Program(target = 'foo', source = ['foo.o', 'bar.c', 'baz.f']) @@ -1757,67 +1721,64 @@ env.Program(target = 'foo', source = ['foo.o', 'bar.c', 'baz.f']) env.ProgramAllAtOnce() - - + Builds an executable from D sources without first creating individual objects for each file. - + D sources can be compiled file-by-file as C and C++ source are, and - D is integrated into the scons Object and Program builders for + D is integrated into the scons Object and Program builders for this model of build. D codes can though do whole source meta-programming (some of the testing frameworks do this). For this it is imperative that all sources are compiled and linked in a single call of the D compiler. This builder serves that purpose. - + env.ProgramAllAtOnce('executable', ['mod_a.d, mod_b.d', 'mod_c.d']) - + This command will compile the modules mod_a, mod_b, and mod_c in a single compilation process without first creating object files for the modules. Some of the D compilers will create executable.o others will not. - - + Builds an executable from D sources without first creating individual objects for each file. - + D sources can be compiled file-by-file as C and C++ source are, and - D is integrated into the scons Object and Program builders for + D is integrated into the scons Object and Program builders for this model of build. D codes can though do whole source meta-programming (some of the testing frameworks do this). For this it is imperative that all sources are compiled and linked in a single call of the D compiler. This builder serves that purpose. - + env.ProgramAllAtOnce('executable', ['mod_a.d, mod_b.d', 'mod_c.d']) - + This command will compile the modules mod_a, mod_b, and mod_c in a single compilation process without first creating object files for the modules. Some of the D compilers will create executable.o others will not. - - + Builds an executable from D sources without first creating individual objects for each file. - + D sources can be compiled file-by-file as C and C++ source are, and - D is integrated into the scons Object and Program builders for + D is integrated into the scons Object and Program builders for this model of build. D codes can though do whole source meta-programming (some of the testing frameworks do this). For this it is imperative that all sources are compiled and linked in a single call of the D compiler. This builder serves that purpose. - + env.ProgramAllAtOnce('executable', ['mod_a.d, mod_b.d', 'mod_c.d']) - + This command will compile the modules mod_a, mod_b, and mod_c in a single compilation process without first creating object files for the modules. Some of the D compilers will create executable.o others @@ -1832,8 +1793,7 @@ env.Program(target = 'foo', source = ['foo.o', 'bar.c', 'baz.f']) env.RES() - - + Builds a Microsoft Visual C++ resource file. This builder method is only provided when Microsoft Visual C++ or MinGW is being used as the compiler. The @@ -1846,7 +1806,7 @@ file is scanned for implicit dependencies as though it were a C file. Example: - + env.RES('resource.rc') @@ -1858,8 +1818,7 @@ env.RES('resource.rc') env.RMIC() - - + Builds stub and skeleton class files for remote objects from Java .class files. @@ -1868,16 +1827,16 @@ relative to which the stub and skeleton class files will be written. The source can be the names of .class files, or the objects return from the -Java +Java builder method. - + If the construction variable -$JAVACLASSDIR +$JAVACLASSDIR is set, either in the environment or in the call to the -RMIC +RMIC builder method itself, then the value of the variable will be stripped from the @@ -1885,7 +1844,7 @@ beginning of any .class file names. - + classes = env.Java(target = 'classdir', source = 'src') env.RMIC(target = 'outdir1', source = classes) @@ -1905,8 +1864,7 @@ env.RMIC(target = 'outdir3', env.RPCGenClient() - - + Generates an RPC client stub (_clnt.c) file from a specified RPC (.x) source file. Because rpcgen only builds output files @@ -1915,7 +1873,7 @@ the command will be executed in the source file's directory by default. - + # Builds src/rpcif_clnt.c env.RPCGenClient('src/rpcif.x') @@ -1928,8 +1886,7 @@ env.RPCGenClient('src/rpcif.x') env.RPCGenHeader() - - + Generates an RPC header (.h) file from a specified RPC (.x) source file. Because rpcgen only builds output files @@ -1938,7 +1895,7 @@ the command will be executed in the source file's directory by default. - + # Builds src/rpcif.h env.RPCGenHeader('src/rpcif.x') @@ -1951,8 +1908,7 @@ env.RPCGenHeader('src/rpcif.x') env.RPCGenService() - - + Generates an RPC server-skeleton (_svc.c) file from a specified RPC (.x) source file. Because rpcgen only builds output files @@ -1961,7 +1917,7 @@ the command will be executed in the source file's directory by default. - + # Builds src/rpcif_svc.c env.RPCGenClient('src/rpcif.x') @@ -1974,8 +1930,7 @@ env.RPCGenClient('src/rpcif.x') env.RPCGenXDR() - - + Generates an RPC XDR routine (_xdr.c) file from a specified RPC (.x) source file. Because rpcgen only builds output files @@ -1984,7 +1939,7 @@ the command will be executed in the source file's directory by default. - + # Builds src/rpcif_xdr.c env.RPCGenClient('src/rpcif.x') @@ -1997,8 +1952,7 @@ env.RPCGenClient('src/rpcif.x') env.SharedLibrary() - - + Builds a shared library (.so on a POSIX system, .dll on Windows) @@ -2010,24 +1964,24 @@ compiled to object files. The static library prefix and suffix (if any) are automatically added to the target. The target library file prefix -(specified by the $SHLIBPREFIX construction variable; +(specified by the $SHLIBPREFIX construction variable; by default, lib on POSIX systems, nothing on Windows systems) and suffix -(specified by the $SHLIBSUFFIX construction variable; +(specified by the $SHLIBSUFFIX construction variable; by default, .dll on Windows systems, .so on POSIX systems) are automatically added to the target if not already present. Example: - + env.SharedLibrary(target = 'bar', source = ['bar.c', 'foo.o']) - + On Windows systems, the -SharedLibrary +SharedLibrary builder method will always build an import (.lib) library in addition to the shared (.dll) library, @@ -2036,9 +1990,9 @@ if there is not already a .lib file explicitly listed in the targets. - + On Cygwin systems, the -SharedLibrary +SharedLibrary builder method will always build an import (.dll.a) library in addition to the shared (.dll) library, @@ -2047,36 +2001,36 @@ if there is not already a .dll.a file explicitly listed in the targets. - + Any object files listed in the source must have been built for a shared library (that is, using the -SharedObject +SharedObject builder method). -scons +scons will raise an error if there is any mismatch. - + On some platforms, there is a distinction between a shared library (loaded automatically by the system to resolve external references) and a loadable module (explicitly loaded by user action). -For maximum portability, use the LoadableModule builder for the latter. +For maximum portability, use the LoadableModule builder for the latter. - -When the $SHLIBVERSION construction variable is defined a versioned -shared library is created. This modifies the $SHLINKFLAGS as required, + +When the $SHLIBVERSION construction variable is defined a versioned +shared library is created. This modifies the $SHLINKFLAGS as required, adds the version number to the library name, and creates the symlinks that are needed. - + env.SharedLibrary(target = 'bar', source = ['bar.c', 'foo.o'], SHLIBVERSION='1.5.2') - + On a POSIX system, versions with a single token create exactly one symlink: libbar.so.6 would have symlinks libbar.so only. On a POSIX system, versions with two or more @@ -2085,28 +2039,28 @@ libbar.so and libbar.so.2; on a Darwin (OSX) system the library would be libbar.2.3.1.dylib and the link would be libbar.dylib. - + On Windows systems, specifying register=1 will cause the .dll to be registered after it is built using REGSVR32. The command that is run -("regsvr32" by default) is determined by $REGSVR construction -variable, and the flags passed are determined by $REGSVRFLAGS. By -default, $REGSVRFLAGS includes the option, +("regsvr32" by default) is determined by $REGSVR construction +variable, and the flags passed are determined by $REGSVRFLAGS. By +default, $REGSVRFLAGS includes the option, to prevent dialogs from popping up and requiring user attention when it is run. If you change -$REGSVRFLAGS, be sure to include the option. +$REGSVRFLAGS, be sure to include the option. For example, - + env.SharedLibrary(target = 'bar', source = ['bar.cxx', 'foo.obj'], register=1) - + will register bar.dll as a COM object when it is done linking it. @@ -2119,13 +2073,12 @@ when it is done linking it. env.SharedObject() - - + Builds an object file for inclusion in a shared library. Source files must have one of the same set of extensions specified above for the -StaticObject +StaticObject builder method. On some platforms building a shared object requires additional compiler option @@ -2140,21 +2093,21 @@ and shared objects to be linked into a shared library, and will use the same suffix for shared and normal (static) objects. The target object file prefix -(specified by the $SHOBJPREFIX construction variable; -by default, the same as $OBJPREFIX) +(specified by the $SHOBJPREFIX construction variable; +by default, the same as $OBJPREFIX) and suffix -(specified by the $SHOBJSUFFIX construction variable) +(specified by the $SHOBJSUFFIX construction variable) are automatically added to the target if not already present. Examples: - + env.SharedObject(target = 'ddd', source = 'ddd.c') env.SharedObject(target = 'eee.o', source = 'eee.cpp') env.SharedObject(target = 'fff.obj', source = 'fff.for') - + Note that the source files will be scanned according to the suffix mappings in the SourceFileScanner @@ -2171,8 +2124,7 @@ below, for more information. env.StaticLibrary() - - + Builds a static library given one or more object files or C, C++, D or Fortran source files. If any source files are given, @@ -2181,29 +2133,29 @@ compiled to object files. The static library prefix and suffix (if any) are automatically added to the target. The target library file prefix -(specified by the $LIBPREFIX construction variable; +(specified by the $LIBPREFIX construction variable; by default, lib on POSIX systems, nothing on Windows systems) and suffix -(specified by the $LIBSUFFIX construction variable; +(specified by the $LIBSUFFIX construction variable; by default, .lib on Windows systems, .a on POSIX systems) are automatically added to the target if not already present. Example: - + env.StaticLibrary(target = 'bar', source = ['bar.c', 'foo.o']) - + Any object files listed in the source must have been built for a static library (that is, using the -StaticObject +StaticObject builder method). -scons +scons will raise an error if there is any mismatch. @@ -2215,14 +2167,13 @@ will raise an error if there is any mismatch. env.StaticObject() - - + Builds a static object file from one or more C, C++, D, or Fortran source files. Source files must have one of the following extensions: - + .asm assembly language file .ASM assembly language file .c C file @@ -2253,24 +2204,24 @@ Source files must have one of the following extensions: .SPP assembly language file + C pre-processor - + The target object file prefix -(specified by the $OBJPREFIX construction variable; nothing by default) +(specified by the $OBJPREFIX construction variable; nothing by default) and suffix -(specified by the $OBJSUFFIX construction variable; +(specified by the $OBJSUFFIX construction variable; .obj on Windows systems, .o on POSIX systems) are automatically added to the target if not already present. Examples: - + env.StaticObject(target = 'aaa', source = 'aaa.c') env.StaticObject(target = 'bbb.o', source = 'bbb.c++') env.StaticObject(target = 'ccc.obj', source = 'ccc.f') - + Note that the source files will be scanned according to the suffix mappings in SourceFileScanner @@ -2287,28 +2238,27 @@ below, for more information. env.Substfile() - - -The Substfile builder creates a single text file from another file or set of -files by concatenating them with $LINESEPARATOR and replacing text -using the $SUBST_DICT construction variable. Nested lists of source files -are flattened. See also Textfile. + +The Substfile builder creates a single text file from another file or set of +files by concatenating them with $LINESEPARATOR and replacing text +using the $SUBST_DICT construction variable. Nested lists of source files +are flattened. See also Textfile. - + If a single source file is present with an .in suffix, the suffix is stripped and the remainder is used as the default target name. - -The prefix and suffix specified by the $SUBSTFILEPREFIX -and $SUBSTFILESUFFIX construction variables + +The prefix and suffix specified by the $SUBSTFILEPREFIX +and $SUBSTFILESUFFIX construction variables (the null string by default in both cases) are automatically added to the target if they are not already present. - -If a construction variable named $SUBST_DICT is present, + +If a construction variable named $SUBST_DICT is present, it may be either a Python dictionary or a sequence of (key,value) tuples. If it is a dictionary it is converted into a list of tuples in an arbitrary order, so if one key is a prefix of another key @@ -2316,7 +2266,7 @@ or if one substitution could be further expanded by another subsitition, it is unpredictable whether the expansion will occur. - + Any occurrences of a key in the source are replaced by the corresponding value, which may be a Python callable function or a string. @@ -2325,7 +2275,7 @@ Strings are subst-expanded and the result replaces the key. - + env = Environment(tools = ['default', 'textfile']) env['prefix'] = '/usr/bin' @@ -2377,13 +2327,12 @@ subst.Substfile('pgm2.c', [Value('#include "@foo@.h"'), env.Tar() - - + Builds a tar archive of the specified files and/or directories. Unlike most builder methods, the -Tar +Tar builder method may be called multiple times for a given target; each additional call @@ -2393,11 +2342,11 @@ Any source directories will be scanned for changes to any on-disk files, regardless of whether or not -scons +scons knows about them from other Builder or function calls. - + env.Tar('src.tar', 'src') # Create the stuff.tar file. @@ -2423,29 +2372,28 @@ env.Tar('foo') env.Textfile() - - -The Textfile builder generates a single text file. + +The Textfile builder generates a single text file. The source strings constitute the lines; nested lists of sources are flattened. -$LINESEPARATOR is used to separate the strings. +$LINESEPARATOR is used to separate the strings. - -If present, the $SUBST_DICT construction variable + +If present, the $SUBST_DICT construction variable is used to modify the strings before they are written; -see the Substfile description for details. +see the Substfile description for details. - -The prefix and suffix specified by the $TEXTFILEPREFIX -and $TEXTFILESUFFIX construction variables + +The prefix and suffix specified by the $TEXTFILEPREFIX +and $TEXTFILESUFFIX construction variables (the null string and .txt by default, respectively) are automatically added to the target if they are not already present. Examples: - + # builds/writes foo.txt env.Textfile(target = 'foo.txt', source = ['Goethe', 42, 'Schiller']) @@ -2494,50 +2442,49 @@ blob.txt env.Translate() - - -This pseudo-builder belongs to gettext toolset. The builder extracts + +This pseudo-builder belongs to gettext toolset. The builder extracts internationalized messages from source files, updates POT template (if necessary) and then updates PO translations (if -necessary). If $POAUTOINIT is set, missing PO files +necessary). If $POAUTOINIT is set, missing PO files will be automatically created (i.e. without translator person intervention). -The variables $LINGUAS_FILE and $POTDOMAIN are taken into -acount too. All other construction variables used by POTUpdate, and -POUpdate work here too. +The variables $LINGUAS_FILE and $POTDOMAIN are taken into +acount too. All other construction variables used by POTUpdate, and +POUpdate work here too. - + Example 1. The simplest way is to specify input files and output languages inline in -a SCons script when invoking Translate +a SCons script when invoking Translate - + # SConscript in 'po/' directory env = Environment( tools = ["default", "gettext"] ) env['POAUTOINIT'] = 1 env.Translate(['en','pl'], ['../a.cpp','../b.cpp']) - + Example 2. If you wish, you may also stick to conventional style known from autotools, i.e. using POTFILES.in and LINGUAS files - + # LINGUAS en pl #end - + # POTFILES.in a.cpp b.cpp # end - + # SConscript env = Environment( tools = ["default", "gettext"] ) env['POAUTOINIT'] = 1 @@ -2545,7 +2492,7 @@ env['XGETTEXTPATH'] = ['../'] env.Translate(LINGUAS_FILE = 1, XGETTEXTFROM = 'POTFILES.in') - + The last approach is perhaps the recommended one. It allows easily split internationalization/localization onto separate SCons scripts, where a script in source tree is responsible for translations (from sources to @@ -2562,11 +2509,11 @@ so the source tree looks familiar to translators, and they may work with the project in their usual way. - + Example 3. Let's prepare a development tree as below - + project/ + SConstruct + build/ @@ -2577,11 +2524,11 @@ Let's prepare a development tree as below + POTFILES.in + LINGUAS - + with build being variant directory. Write the top-level SConstruct script as follows - + # SConstruct env = Environment( tools = ["default", "gettext"] ) VariantDir('build', 'src', duplicate = 0) @@ -2589,23 +2536,23 @@ with build being variant directory. Write the top-level SConscript('src/po/SConscript.i18n', exports = 'env') SConscript('build/po/SConscript', exports = 'env') - + the src/po/SConscript.i18n as - + # src/po/SConscript.i18n Import('env') env.Translate(LINGUAS_FILE=1, XGETTEXTFROM='POTFILES.in', XGETTEXTPATH=['../']) - + and the src/po/SConscript - + # src/po/SConscript Import('env') env.MOFiles(LINGUAS_FILE = 1) - + Such setup produces POT and PO files under source tree in src/po/ and binary MO files under variant tree in @@ -2615,7 +2562,7 @@ not be committed back to source repositories (e.g. MO files). - + In above example, the PO files are not updated, nor created automatically when you issue scons '.' command. The files must be updated (created) by hand via scons @@ -2632,8 +2579,7 @@ running scons '.'. env.TypeLibrary() - - + Builds a Windows type library (.tlb) file from an input IDL file (.idl). In addition, it will build the associated interface stub and @@ -2642,11 +2588,11 @@ naming them according to the base name of the .idl file. For example, - + env.TypeLibrary(source="foo.idl") - + Will create foo.tlb, foo.h, foo_i.c, @@ -2664,22 +2610,21 @@ files. env.Uic() - - + Builds a header file, an implementation file and a moc file from an ui file. and returns the corresponding nodes in the above order. This builder is only available after using the tool 'qt'. Note: you can specify .ui files directly as source -files to the Program, -Library and SharedLibrary builders +files to the Program, +Library and SharedLibrary builders without using this builder. Using this builder lets you override the standard naming conventions (be careful: prefixes are always prepended to names of built files; if you don't want prefixes, you may set them to ``). -See the $QTDIR variable for more information. +See the $QTDIR variable for more information. Example: - + env.Uic('foo.ui') # -> ['foo.h', 'uic_foo.cc', 'moc_foo.cc'] env.Uic(target = Split('include/foo.h gen/uicfoo.cc gen/mocfoo.cc'), source = 'foo.ui') # -> ['include/foo.h', 'gen/uicfoo.cc', 'gen/mocfoo.cc'] @@ -2693,13 +2638,12 @@ env.Uic(target = Split('include/foo.h gen/uicfoo.cc gen/mocfoo.cc'), env.Zip() - - + Builds a zip archive of the specified files and/or directories. Unlike most builder methods, the -Zip +Zip builder method may be called multiple times for a given target; each additional call @@ -2709,11 +2653,11 @@ Any source directories will be scanned for changes to any on-disk files, regardless of whether or not -scons +scons knows about them from other Builder or function calls. - + env.Zip('src.zip', 'src') # Create the stuff.zip file. diff --git a/doc/generated/examples/EnumVariable_map_1.xml b/doc/generated/examples/EnumVariable_map_1.xml index 4380be0621..758405abf7 100644 --- a/doc/generated/examples/EnumVariable_map_1.xml +++ b/doc/generated/examples/EnumVariable_map_1.xml @@ -1,4 +1,4 @@ - -% scons -Q COLOR=navy foo.o + +% scons -Q COLOR=navy foo.o cc -o foo.o -c -DCOLOR="blue" foo.c diff --git a/doc/generated/examples/addmethod_ex1_1.xml b/doc/generated/examples/addmethod_ex1_1.xml index 84dfd20ae9..0d2c88ac5e 100644 --- a/doc/generated/examples/addmethod_ex1_1.xml +++ b/doc/generated/examples/addmethod_ex1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q / + +% scons -Q / cc -o hello.o -c hello.c cc -o hello hello.o Install file: "hello" as "/usr/bin/hello" diff --git a/doc/generated/examples/addmethod_ex2_1.xml b/doc/generated/examples/addmethod_ex2_1.xml index 3930341f9f..3bcb3e985d 100644 --- a/doc/generated/examples/addmethod_ex2_1.xml +++ b/doc/generated/examples/addmethod_ex2_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o test_stuff.o -c test_stuff.c cc -o tests/test_stuff test_stuff.o diff --git a/doc/generated/examples/addmethod_ex2_2.xml b/doc/generated/examples/addmethod_ex2_2.xml index 15ae6e09da..973e212a62 100644 --- a/doc/generated/examples/addmethod_ex2_2.xml +++ b/doc/generated/examples/addmethod_ex2_2.xml @@ -1,5 +1,5 @@ - -C:\>scons -Q + +C:\>scons -Q rc /fores.res res.rc cl /Fotest_stuff.obj /c test_stuff.c /nologo link /nologo /OUT:tests\test_stuff.exe test_stuff.obj res.res diff --git a/doc/generated/examples/alias_ex1_1.xml b/doc/generated/examples/alias_ex1_1.xml index 3ee3f1b585..21ddc8f527 100644 --- a/doc/generated/examples/alias_ex1_1.xml +++ b/doc/generated/examples/alias_ex1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q install + +% scons -Q install cc -o hello.o -c hello.c cc -o hello hello.o Install file: "hello" as "/usr/bin/hello" diff --git a/doc/generated/examples/alias_ex2_1.xml b/doc/generated/examples/alias_ex2_1.xml index 3fa7dfdd11..170bdf9f85 100644 --- a/doc/generated/examples/alias_ex2_1.xml +++ b/doc/generated/examples/alias_ex2_1.xml @@ -1,5 +1,5 @@ - -% scons -Q install-bin + +% scons -Q install-bin cc -o foo.o -c foo.c cc -o foo foo.o Install file: "foo" as "/usr/bin/foo" diff --git a/doc/generated/examples/buildersbuiltin_ex1_1.xml b/doc/generated/examples/buildersbuiltin_ex1_1.xml index 74cc779323..7704588234 100644 --- a/doc/generated/examples/buildersbuiltin_ex1_1.xml +++ b/doc/generated/examples/buildersbuiltin_ex1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q . + +% scons -Q . tar -c -f out1.tar file1 file2 tar -c -f out2.tar directory diff --git a/doc/generated/examples/buildersbuiltin_ex2_1.xml b/doc/generated/examples/buildersbuiltin_ex2_1.xml index 6c66d7bd06..a86c8a6cfe 100644 --- a/doc/generated/examples/buildersbuiltin_ex2_1.xml +++ b/doc/generated/examples/buildersbuiltin_ex2_1.xml @@ -1,4 +1,4 @@ - -% scons -Q . + +% scons -Q . tar -c -z -f out.tar.gz directory diff --git a/doc/generated/examples/buildersbuiltin_ex3_1.xml b/doc/generated/examples/buildersbuiltin_ex3_1.xml index 4d281e5533..fc838c25a1 100644 --- a/doc/generated/examples/buildersbuiltin_ex3_1.xml +++ b/doc/generated/examples/buildersbuiltin_ex3_1.xml @@ -1,4 +1,4 @@ - -% scons -Q . + +% scons -Q . tar -c -z -f out.tgz directory diff --git a/doc/generated/examples/buildersbuiltin_ex4_1.xml b/doc/generated/examples/buildersbuiltin_ex4_1.xml index 856f024a91..eb6ae9de15 100644 --- a/doc/generated/examples/buildersbuiltin_ex4_1.xml +++ b/doc/generated/examples/buildersbuiltin_ex4_1.xml @@ -1,4 +1,4 @@ - -% scons -Q . + +% scons -Q . zip(["out.zip"], ["file1", "file2"]) diff --git a/doc/generated/examples/buildersbuiltin_libs_1.xml b/doc/generated/examples/buildersbuiltin_libs_1.xml index 8e1ee49916..7f3b620410 100644 --- a/doc/generated/examples/buildersbuiltin_libs_1.xml +++ b/doc/generated/examples/buildersbuiltin_libs_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o goodbye.o -c goodbye.c cc -o hello.o -c hello.c cc -o hello hello.o goodbye.o -L/usr/dir1 -Ldir2 -lfoo1 -lfoo2 diff --git a/doc/generated/examples/buildersbuiltin_libs_2.xml b/doc/generated/examples/buildersbuiltin_libs_2.xml index 41a9c1ee0f..24038fca47 100644 --- a/doc/generated/examples/buildersbuiltin_libs_2.xml +++ b/doc/generated/examples/buildersbuiltin_libs_2.xml @@ -1,5 +1,5 @@ - -C:\>scons -Q + +C:\>scons -Q cl /Fogoodbye.obj /c goodbye.c /nologo cl /Fohello.obj /c hello.c /nologo link /nologo /OUT:hello.exe /LIBPATH:\usr\dir1 /LIBPATH:dir2 foo1.lib foo2.lib hello.obj goodbye.obj diff --git a/doc/generated/examples/builderscommands_ex1_1.xml b/doc/generated/examples/builderscommands_ex1_1.xml index 8782773e49..314b8a5976 100644 --- a/doc/generated/examples/builderscommands_ex1_1.xml +++ b/doc/generated/examples/builderscommands_ex1_1.xml @@ -1,4 +1,4 @@ - -% scons -Q + +% scons -Q sed 's/x/y/' < foo.in > foo.out diff --git a/doc/generated/examples/builderscommands_ex2_1.xml b/doc/generated/examples/builderscommands_ex2_1.xml index 3fc1dde7b5..6c3aef2725 100644 --- a/doc/generated/examples/builderscommands_ex2_1.xml +++ b/doc/generated/examples/builderscommands_ex2_1.xml @@ -1,4 +1,4 @@ - -% scons -Q + +% scons -Q build(["foo.out"], ["foo.in"]) diff --git a/doc/generated/examples/builderswriting_MY_EMITTER_1.xml b/doc/generated/examples/builderswriting_MY_EMITTER_1.xml index 0c17d0e383..6cac375c7d 100644 --- a/doc/generated/examples/builderswriting_MY_EMITTER_1.xml +++ b/doc/generated/examples/builderswriting_MY_EMITTER_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q ./my_command file1.input modify1.in > file1.foo ./my_command file2.input modify2.in > file2.foo diff --git a/doc/generated/examples/builderswriting_ex1_1.xml b/doc/generated/examples/builderswriting_ex1_1.xml index cefcfa2bdd..b16a41bd2b 100644 --- a/doc/generated/examples/builderswriting_ex1_1.xml +++ b/doc/generated/examples/builderswriting_ex1_1.xml @@ -1,4 +1,4 @@ - -% scons -Q + +% scons -Q foobuild < file.input > file.foo diff --git a/doc/generated/examples/builderswriting_ex2_1.xml b/doc/generated/examples/builderswriting_ex2_1.xml index 445dfb080b..66bacd5acc 100644 --- a/doc/generated/examples/builderswriting_ex2_1.xml +++ b/doc/generated/examples/builderswriting_ex2_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q AttributeError: 'SConsEnvironment' object has no attribute 'Program': File "/home/my/project/SConstruct", line 4: env.Program('hello.c') diff --git a/doc/generated/examples/builderswriting_ex3_1.xml b/doc/generated/examples/builderswriting_ex3_1.xml index 2d8bcac86f..a2d7d4f4d7 100644 --- a/doc/generated/examples/builderswriting_ex3_1.xml +++ b/doc/generated/examples/builderswriting_ex3_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q foobuild < file.input > file.foo cc -o hello.o -c hello.c cc -o hello hello.o diff --git a/doc/generated/examples/builderswriting_ex4_1.xml b/doc/generated/examples/builderswriting_ex4_1.xml index cc71b195ce..3a05d16f67 100644 --- a/doc/generated/examples/builderswriting_ex4_1.xml +++ b/doc/generated/examples/builderswriting_ex4_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q foobuild < file1.input > file1.foo foobuild < file2.input > file2.foo diff --git a/doc/generated/examples/builderswriting_ex5_1.xml b/doc/generated/examples/builderswriting_ex5_1.xml index d0aa83b84f..62a6452b7e 100644 --- a/doc/generated/examples/builderswriting_ex5_1.xml +++ b/doc/generated/examples/builderswriting_ex5_1.xml @@ -1,4 +1,4 @@ - -% scons -Q + +% scons -Q build_function(["file.foo"], ["file.input"]) diff --git a/doc/generated/examples/builderswriting_ex6_1.xml b/doc/generated/examples/builderswriting_ex6_1.xml index cefcfa2bdd..b16a41bd2b 100644 --- a/doc/generated/examples/builderswriting_ex6_1.xml +++ b/doc/generated/examples/builderswriting_ex6_1.xml @@ -1,4 +1,4 @@ - -% scons -Q + +% scons -Q foobuild < file.input > file.foo diff --git a/doc/generated/examples/builderswriting_ex7_1.xml b/doc/generated/examples/builderswriting_ex7_1.xml index f14d59822d..85a446a7d8 100644 --- a/doc/generated/examples/builderswriting_ex7_1.xml +++ b/doc/generated/examples/builderswriting_ex7_1.xml @@ -1,4 +1,4 @@ - -% scons -Q + +% scons -Q foobuild file.foo new_target - file.input new_source diff --git a/doc/generated/examples/caching_ex-random_1.xml b/doc/generated/examples/caching_ex-random_1.xml index 3009e653dd..d00f1caa02 100644 --- a/doc/generated/examples/caching_ex-random_1.xml +++ b/doc/generated/examples/caching_ex-random_1.xml @@ -1,9 +1,9 @@ - -% scons -Q -cc -o f5.o -c f5.c -cc -o f2.o -c f2.c + +% scons -Q cc -o f4.o -c f4.c cc -o f1.o -c f1.c +cc -o f5.o -c f5.c +cc -o f2.o -c f2.c cc -o f3.o -c f3.c cc -o prog f1.o f2.o f3.o f4.o f5.o diff --git a/doc/generated/examples/caching_ex1_1.xml b/doc/generated/examples/caching_ex1_1.xml index 38eaf824e9..86a0d307b4 100644 --- a/doc/generated/examples/caching_ex1_1.xml +++ b/doc/generated/examples/caching_ex1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o hello.o -c hello.c cc -o hello hello.o % scons -Q -c diff --git a/doc/generated/examples/caching_ex1_2.xml b/doc/generated/examples/caching_ex1_2.xml index 2f0bcdeb51..dab0b23278 100644 --- a/doc/generated/examples/caching_ex1_2.xml +++ b/doc/generated/examples/caching_ex1_2.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o hello.o -c hello.c cc -o hello hello.o % scons -Q -c diff --git a/doc/generated/examples/caching_ex1_4.xml b/doc/generated/examples/caching_ex1_4.xml index 922f1b6c0f..637c83672e 100644 --- a/doc/generated/examples/caching_ex1_4.xml +++ b/doc/generated/examples/caching_ex1_4.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o hello.o -c hello.c cc -o hello hello.o % scons -Q -c diff --git a/doc/generated/examples/caching_ex1_5.xml b/doc/generated/examples/caching_ex1_5.xml index 968727fe3b..e6afdee2b4 100644 --- a/doc/generated/examples/caching_ex1_5.xml +++ b/doc/generated/examples/caching_ex1_5.xml @@ -1,5 +1,5 @@ - -% scons -Q --cache-disable + +% scons -Q --cache-disable cc -o hello.o -c hello.c cc -o hello hello.o % scons -Q -c diff --git a/doc/generated/examples/commandline_ARGLIST_1.xml b/doc/generated/examples/commandline_ARGLIST_1.xml index e094bc0927..c22a889fbb 100644 --- a/doc/generated/examples/commandline_ARGLIST_1.xml +++ b/doc/generated/examples/commandline_ARGLIST_1.xml @@ -1,5 +1,5 @@ - -% scons -Q define=FOO + +% scons -Q define=FOO cc -o prog.o -c -DFOO prog.c % scons -Q define=FOO define=BAR cc -o prog.o -c -DFOO -DBAR prog.c diff --git a/doc/generated/examples/commandline_ARGUMENTS_1.xml b/doc/generated/examples/commandline_ARGUMENTS_1.xml index 6aa4ed25b3..ea9c32d6cf 100644 --- a/doc/generated/examples/commandline_ARGUMENTS_1.xml +++ b/doc/generated/examples/commandline_ARGUMENTS_1.xml @@ -1,5 +1,5 @@ - -% scons -Q debug=0 + +% scons -Q debug=0 cc -o prog.o -c prog.c cc -o prog prog.o % scons -Q debug=0 diff --git a/doc/generated/examples/commandline_AddOption_1.xml b/doc/generated/examples/commandline_AddOption_1.xml index 55df25a0e5..8425669b0e 100644 --- a/doc/generated/examples/commandline_AddOption_1.xml +++ b/doc/generated/examples/commandline_AddOption_1.xml @@ -1,4 +1,4 @@ - -% scons -Q -n + +% scons -Q -n Install file: "foo.in" as "/usr/bin/foo.in" diff --git a/doc/generated/examples/commandline_AddOption_2.xml b/doc/generated/examples/commandline_AddOption_2.xml index 7d0b978fec..0f374e9066 100644 --- a/doc/generated/examples/commandline_AddOption_2.xml +++ b/doc/generated/examples/commandline_AddOption_2.xml @@ -1,4 +1,4 @@ - -% scons -Q -n --prefix=/tmp/install + +% scons -Q -n --prefix=/tmp/install Install file: "foo.in" as "/tmp/install/usr/bin/foo.in" diff --git a/doc/generated/examples/commandline_BUILD_TARGETS_1_1.xml b/doc/generated/examples/commandline_BUILD_TARGETS_1_1.xml index bd51961fae..f80b6f56a0 100644 --- a/doc/generated/examples/commandline_BUILD_TARGETS_1_1.xml +++ b/doc/generated/examples/commandline_BUILD_TARGETS_1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q BUILD_TARGETS is ['prog1'] cc -o prog1.o -c prog1.c cc -o prog1 prog1.o diff --git a/doc/generated/examples/commandline_BoolVariable_1.xml b/doc/generated/examples/commandline_BoolVariable_1.xml index e4c1792a1c..187007410d 100644 --- a/doc/generated/examples/commandline_BoolVariable_1.xml +++ b/doc/generated/examples/commandline_BoolVariable_1.xml @@ -1,4 +1,4 @@ - -% scons -Q RELEASE=yes foo.o + +% scons -Q RELEASE=yes foo.o cc -o foo.o -c -DRELEASE_BUILD=True foo.c diff --git a/doc/generated/examples/commandline_BoolVariable_2.xml b/doc/generated/examples/commandline_BoolVariable_2.xml index dc1e068db4..c1d95e34e3 100644 --- a/doc/generated/examples/commandline_BoolVariable_2.xml +++ b/doc/generated/examples/commandline_BoolVariable_2.xml @@ -1,4 +1,4 @@ - -% scons -Q RELEASE=t foo.o + +% scons -Q RELEASE=t foo.o cc -o foo.o -c -DRELEASE_BUILD=True foo.c diff --git a/doc/generated/examples/commandline_BoolVariable_3.xml b/doc/generated/examples/commandline_BoolVariable_3.xml index 0750fb5223..61e7789b64 100644 --- a/doc/generated/examples/commandline_BoolVariable_3.xml +++ b/doc/generated/examples/commandline_BoolVariable_3.xml @@ -1,4 +1,4 @@ - -% scons -Q RELEASE=no foo.o + +% scons -Q RELEASE=no foo.o cc -o foo.o -c -DRELEASE_BUILD=False foo.c diff --git a/doc/generated/examples/commandline_BoolVariable_4.xml b/doc/generated/examples/commandline_BoolVariable_4.xml index 84e4639f0e..bab12dd329 100644 --- a/doc/generated/examples/commandline_BoolVariable_4.xml +++ b/doc/generated/examples/commandline_BoolVariable_4.xml @@ -1,4 +1,4 @@ - -% scons -Q RELEASE=f foo.o + +% scons -Q RELEASE=f foo.o cc -o foo.o -c -DRELEASE_BUILD=False foo.c diff --git a/doc/generated/examples/commandline_BoolVariable_5.xml b/doc/generated/examples/commandline_BoolVariable_5.xml index 81f1d4e0ef..f34dc4e144 100644 --- a/doc/generated/examples/commandline_BoolVariable_5.xml +++ b/doc/generated/examples/commandline_BoolVariable_5.xml @@ -1,5 +1,5 @@ - -% scons -Q RELEASE=bad_value foo.o + +% scons -Q RELEASE=bad_value foo.o scons: *** Error converting option: RELEASE Invalid value for boolean option: bad_value diff --git a/doc/generated/examples/commandline_COMMAND_LINE_TARGETS_1.xml b/doc/generated/examples/commandline_COMMAND_LINE_TARGETS_1.xml index 1812f74bc4..a209526bb7 100644 --- a/doc/generated/examples/commandline_COMMAND_LINE_TARGETS_1.xml +++ b/doc/generated/examples/commandline_COMMAND_LINE_TARGETS_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o foo.o -c foo.c cc -o foo foo.o % scons -Q bar diff --git a/doc/generated/examples/commandline_DEFAULT_TARGETS_1_1.xml b/doc/generated/examples/commandline_DEFAULT_TARGETS_1_1.xml index f92f160d86..6e021854a4 100644 --- a/doc/generated/examples/commandline_DEFAULT_TARGETS_1_1.xml +++ b/doc/generated/examples/commandline_DEFAULT_TARGETS_1_1.xml @@ -1,5 +1,5 @@ - -% scons + +% scons scons: Reading SConscript files ... DEFAULT_TARGETS is ['prog1'] scons: done reading SConscript files. diff --git a/doc/generated/examples/commandline_DEFAULT_TARGETS_2_1.xml b/doc/generated/examples/commandline_DEFAULT_TARGETS_2_1.xml index 01e953bb5b..f84fa6e488 100644 --- a/doc/generated/examples/commandline_DEFAULT_TARGETS_2_1.xml +++ b/doc/generated/examples/commandline_DEFAULT_TARGETS_2_1.xml @@ -1,5 +1,5 @@ - -% scons + +% scons scons: Reading SConscript files ... DEFAULT_TARGETS is now ['prog1'] DEFAULT_TARGETS is now ['prog1', 'prog2'] diff --git a/doc/generated/examples/commandline_Default1_1.xml b/doc/generated/examples/commandline_Default1_1.xml index 18008d808b..50a1ff82da 100644 --- a/doc/generated/examples/commandline_Default1_1.xml +++ b/doc/generated/examples/commandline_Default1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o hello.o -c hello.c cc -o hello hello.o % scons -Q diff --git a/doc/generated/examples/commandline_Default1_2.xml b/doc/generated/examples/commandline_Default1_2.xml index 0f1a93ecfd..a367d01439 100644 --- a/doc/generated/examples/commandline_Default1_2.xml +++ b/doc/generated/examples/commandline_Default1_2.xml @@ -1,5 +1,5 @@ - -% scons -Q . + +% scons -Q . cc -o goodbye.o -c goodbye.c cc -o goodbye goodbye.o cc -o hello.o -c hello.c diff --git a/doc/generated/examples/commandline_Default2_1.xml b/doc/generated/examples/commandline_Default2_1.xml index 606ed67ad0..13a3d44cf8 100644 --- a/doc/generated/examples/commandline_Default2_1.xml +++ b/doc/generated/examples/commandline_Default2_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o prog1.o -c prog1.c cc -o prog1 prog1.o cc -o prog3.o -c prog3.c diff --git a/doc/generated/examples/commandline_Default3_1.xml b/doc/generated/examples/commandline_Default3_1.xml index d18575ca56..bbb24e12f0 100644 --- a/doc/generated/examples/commandline_Default3_1.xml +++ b/doc/generated/examples/commandline_Default3_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o prog1/foo.o -c prog1/foo.c cc -o prog1/main.o -c prog1/main.c cc -o prog1/main prog1/main.o prog1/foo.o diff --git a/doc/generated/examples/commandline_Default4_1.xml b/doc/generated/examples/commandline_Default4_1.xml index 35e0b10614..a4b0ae1417 100644 --- a/doc/generated/examples/commandline_Default4_1.xml +++ b/doc/generated/examples/commandline_Default4_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q scons: *** No targets specified and no Default() targets found. Stop. Found nothing to build % scons -Q . diff --git a/doc/generated/examples/commandline_EnumVariable_1.xml b/doc/generated/examples/commandline_EnumVariable_1.xml index d658f692c0..e9ce5c2412 100644 --- a/doc/generated/examples/commandline_EnumVariable_1.xml +++ b/doc/generated/examples/commandline_EnumVariable_1.xml @@ -1,5 +1,5 @@ - -% scons -Q COLOR=red foo.o + +% scons -Q COLOR=red foo.o cc -o foo.o -c -DCOLOR="red" foo.c % scons -Q COLOR=blue foo.o cc -o foo.o -c -DCOLOR="blue" foo.c diff --git a/doc/generated/examples/commandline_EnumVariable_2.xml b/doc/generated/examples/commandline_EnumVariable_2.xml index a8a18dfe8f..a548b47503 100644 --- a/doc/generated/examples/commandline_EnumVariable_2.xml +++ b/doc/generated/examples/commandline_EnumVariable_2.xml @@ -1,5 +1,5 @@ - -% scons -Q COLOR=magenta foo.o + +% scons -Q COLOR=magenta foo.o scons: *** Invalid value for option COLOR: magenta. Valid values are: ('red', 'green', 'blue') File "/home/my/project/SConstruct", line 5, in <module> diff --git a/doc/generated/examples/commandline_EnumVariable_3.xml b/doc/generated/examples/commandline_EnumVariable_3.xml index bb9a6d5901..c162981568 100644 --- a/doc/generated/examples/commandline_EnumVariable_3.xml +++ b/doc/generated/examples/commandline_EnumVariable_3.xml @@ -1,5 +1,5 @@ - -% scons -Q COLOR=Red foo.o + +% scons -Q COLOR=Red foo.o scons: *** Invalid value for option COLOR: Red. Valid values are: ('red', 'green', 'blue') File "/home/my/project/SConstruct", line 5, in <module> diff --git a/doc/generated/examples/commandline_EnumVariable_ic1_1.xml b/doc/generated/examples/commandline_EnumVariable_ic1_1.xml index db786e58c5..f5f1300124 100644 --- a/doc/generated/examples/commandline_EnumVariable_ic1_1.xml +++ b/doc/generated/examples/commandline_EnumVariable_ic1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q COLOR=Red foo.o + +% scons -Q COLOR=Red foo.o cc -o foo.o -c -DCOLOR="Red" foo.c % scons -Q COLOR=BLUE foo.o cc -o foo.o -c -DCOLOR="BLUE" foo.c diff --git a/doc/generated/examples/commandline_EnumVariable_ic2_1.xml b/doc/generated/examples/commandline_EnumVariable_ic2_1.xml index 559660856f..0917b13255 100644 --- a/doc/generated/examples/commandline_EnumVariable_ic2_1.xml +++ b/doc/generated/examples/commandline_EnumVariable_ic2_1.xml @@ -1,5 +1,5 @@ - -% scons -Q COLOR=Red foo.o + +% scons -Q COLOR=Red foo.o cc -o foo.o -c -DCOLOR="red" foo.c % scons -Q COLOR=nAvY foo.o cc -o foo.o -c -DCOLOR="blue" foo.c diff --git a/doc/generated/examples/commandline_ListVariable_1.xml b/doc/generated/examples/commandline_ListVariable_1.xml index 6e245a3e71..020e2ca088 100644 --- a/doc/generated/examples/commandline_ListVariable_1.xml +++ b/doc/generated/examples/commandline_ListVariable_1.xml @@ -1,5 +1,5 @@ - -% scons -Q COLORS=red,blue foo.o + +% scons -Q COLORS=red,blue foo.o cc -o foo.o -c -DCOLORS="red blue" foo.c % scons -Q COLORS=blue,green,red foo.o cc -o foo.o -c -DCOLORS="blue green red" foo.c diff --git a/doc/generated/examples/commandline_ListVariable_2.xml b/doc/generated/examples/commandline_ListVariable_2.xml index b964669358..e0675c0b04 100644 --- a/doc/generated/examples/commandline_ListVariable_2.xml +++ b/doc/generated/examples/commandline_ListVariable_2.xml @@ -1,5 +1,5 @@ - -% scons -Q COLORS=all foo.o + +% scons -Q COLORS=all foo.o cc -o foo.o -c -DCOLORS="red green blue" foo.c % scons -Q COLORS=none foo.o cc -o foo.o -c -DCOLORS="" foo.c diff --git a/doc/generated/examples/commandline_ListVariable_3.xml b/doc/generated/examples/commandline_ListVariable_3.xml index ae13d8bd6b..a0ea1dbcc8 100644 --- a/doc/generated/examples/commandline_ListVariable_3.xml +++ b/doc/generated/examples/commandline_ListVariable_3.xml @@ -1,5 +1,5 @@ - -% scons -Q COLORS=magenta foo.o + +% scons -Q COLORS=magenta foo.o scons: *** Error converting option: COLORS Invalid value(s) for option: magenta diff --git a/doc/generated/examples/commandline_PackageVariable_1.xml b/doc/generated/examples/commandline_PackageVariable_1.xml index b83fd8030e..5e635d668f 100644 --- a/doc/generated/examples/commandline_PackageVariable_1.xml +++ b/doc/generated/examples/commandline_PackageVariable_1.xml @@ -1,5 +1,5 @@ - -% scons -Q foo.o + +% scons -Q foo.o cc -o foo.o -c -DPACKAGE="/opt/location" foo.c % scons -Q PACKAGE=/usr/local/location foo.o cc -o foo.o -c -DPACKAGE="/usr/local/location" foo.c diff --git a/doc/generated/examples/commandline_PathVariable_1.xml b/doc/generated/examples/commandline_PathVariable_1.xml index 81693b985a..42c5af7318 100644 --- a/doc/generated/examples/commandline_PathVariable_1.xml +++ b/doc/generated/examples/commandline_PathVariable_1.xml @@ -1,5 +1,5 @@ - -% scons -Q foo.o + +% scons -Q foo.o cc -o foo.o -c -DCONFIG_FILE="/etc/my_config" foo.c % scons -Q CONFIG=/usr/local/etc/other_config foo.o scons: `foo.o' is up to date. diff --git a/doc/generated/examples/commandline_PathVariable_2.xml b/doc/generated/examples/commandline_PathVariable_2.xml index 7dde5b1349..f9a6202cc3 100644 --- a/doc/generated/examples/commandline_PathVariable_2.xml +++ b/doc/generated/examples/commandline_PathVariable_2.xml @@ -1,5 +1,5 @@ - -% scons -Q CONFIG=/does/not/exist foo.o + +% scons -Q CONFIG=/does/not/exist foo.o scons: *** Path for option CONFIG does not exist: /does/not/exist File "/home/my/project/SConstruct", line 6, in <module> diff --git a/doc/generated/examples/commandline_SCONSFLAGS_1.xml b/doc/generated/examples/commandline_SCONSFLAGS_1.xml index 35e366c827..7b1043c0e0 100644 --- a/doc/generated/examples/commandline_SCONSFLAGS_1.xml +++ b/doc/generated/examples/commandline_SCONSFLAGS_1.xml @@ -1,5 +1,5 @@ - -% scons + +% scons scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... diff --git a/doc/generated/examples/commandline_SetOption_1.xml b/doc/generated/examples/commandline_SetOption_1.xml index bac0cf4c24..f772733aea 100644 --- a/doc/generated/examples/commandline_SetOption_1.xml +++ b/doc/generated/examples/commandline_SetOption_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q running with -j 2 scons: `.' is up to date. diff --git a/doc/generated/examples/commandline_SetOption_2.xml b/doc/generated/examples/commandline_SetOption_2.xml index b00e073b25..83a5cf5a2e 100644 --- a/doc/generated/examples/commandline_SetOption_2.xml +++ b/doc/generated/examples/commandline_SetOption_2.xml @@ -1,5 +1,5 @@ - -% export NUM_CPU="4" + +% export NUM_CPU="4" % scons -Q running with -j 4 scons: `.' is up to date. diff --git a/doc/generated/examples/commandline_SetOption_3.xml b/doc/generated/examples/commandline_SetOption_3.xml index df42ff01a1..672b6b4ce3 100644 --- a/doc/generated/examples/commandline_SetOption_3.xml +++ b/doc/generated/examples/commandline_SetOption_3.xml @@ -1,5 +1,5 @@ - -% scons -Q -j 7 + +% scons -Q -j 7 running with -j 7 scons: `.' is up to date. % export NUM_CPU="4" diff --git a/doc/generated/examples/commandline_UnknownVariables_1.xml b/doc/generated/examples/commandline_UnknownVariables_1.xml index 272a9543fa..7af0924b61 100644 --- a/doc/generated/examples/commandline_UnknownVariables_1.xml +++ b/doc/generated/examples/commandline_UnknownVariables_1.xml @@ -1,4 +1,4 @@ - -% scons -Q NOT_KNOWN=foo + +% scons -Q NOT_KNOWN=foo Unknown variables: ['NOT_KNOWN'] diff --git a/doc/generated/examples/commandline_Variables1_1.xml b/doc/generated/examples/commandline_Variables1_1.xml index 512ae650a7..edae63cb30 100644 --- a/doc/generated/examples/commandline_Variables1_1.xml +++ b/doc/generated/examples/commandline_Variables1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q RELEASE=1 + +% scons -Q RELEASE=1 cc -o bar.o -c -DRELEASE_BUILD=1 bar.c cc -o foo.o -c -DRELEASE_BUILD=1 foo.c cc -o foo foo.o bar.o diff --git a/doc/generated/examples/commandline_Variables_Help_1.xml b/doc/generated/examples/commandline_Variables_Help_1.xml index db171eb2df..a23587c063 100644 --- a/doc/generated/examples/commandline_Variables_Help_1.xml +++ b/doc/generated/examples/commandline_Variables_Help_1.xml @@ -1,5 +1,5 @@ - -% scons -Q -h + +% scons -Q -h RELEASE: Set to 1 to build for release default: 0 diff --git a/doc/generated/examples/commandline_Variables_custom_py_1_1.xml b/doc/generated/examples/commandline_Variables_custom_py_1_1.xml index 4ef4d48b39..7008f2b6f8 100644 --- a/doc/generated/examples/commandline_Variables_custom_py_1_1.xml +++ b/doc/generated/examples/commandline_Variables_custom_py_1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o bar.o -c -DRELEASE_BUILD=1 bar.c cc -o foo.o -c -DRELEASE_BUILD=1 foo.c cc -o foo foo.o bar.o diff --git a/doc/generated/examples/commandline_Variables_custom_py_2_1.xml b/doc/generated/examples/commandline_Variables_custom_py_2_1.xml index 5961d0a19b..211b32751a 100644 --- a/doc/generated/examples/commandline_Variables_custom_py_2_1.xml +++ b/doc/generated/examples/commandline_Variables_custom_py_2_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o bar.o -c -DRELEASE_BUILD=0 bar.c cc -o foo.o -c -DRELEASE_BUILD=0 foo.c cc -o foo foo.o bar.o diff --git a/doc/generated/examples/depends_AlwaysBuild_1.xml b/doc/generated/examples/depends_AlwaysBuild_1.xml index 86700feb9a..69bf93ad77 100644 --- a/doc/generated/examples/depends_AlwaysBuild_1.xml +++ b/doc/generated/examples/depends_AlwaysBuild_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o hello.o -c hello.c cc -o hello hello.o % scons -Q diff --git a/doc/generated/examples/depends_AlwaysBuild_2.xml b/doc/generated/examples/depends_AlwaysBuild_2.xml index d1bdd6d54b..0cbe6d63ab 100644 --- a/doc/generated/examples/depends_AlwaysBuild_2.xml +++ b/doc/generated/examples/depends_AlwaysBuild_2.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o hello.o -c hello.c cc -o hello hello.o % scons -Q hello.o diff --git a/doc/generated/examples/depends_Requires_1.xml b/doc/generated/examples/depends_Requires_1.xml index 04bfc35fc6..24ea1cd15a 100644 --- a/doc/generated/examples/depends_Requires_1.xml +++ b/doc/generated/examples/depends_Requires_1.xml @@ -1,5 +1,5 @@ - -% scons -Q hello + +% scons -Q hello cc -o version.o -c version.c cc -o hello.o -c hello.c cc -o hello version.o hello.o diff --git a/doc/generated/examples/depends_ex1_1.xml b/doc/generated/examples/depends_ex1_1.xml index 25355c96ee..ed6f2f3421 100644 --- a/doc/generated/examples/depends_ex1_1.xml +++ b/doc/generated/examples/depends_ex1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o hello.o -c hello.c cc -o hello hello.o % scons -Q diff --git a/doc/generated/examples/depends_ex1_2.xml b/doc/generated/examples/depends_ex1_2.xml index 09ecc73f14..4eed859f8c 100644 --- a/doc/generated/examples/depends_ex1_2.xml +++ b/doc/generated/examples/depends_ex1_2.xml @@ -1,5 +1,5 @@ - -% scons -Q hello + +% scons -Q hello cc -o hello.o -c hello.c cc -o hello hello.o % scons -Q hello diff --git a/doc/generated/examples/depends_ex1_3.xml b/doc/generated/examples/depends_ex1_3.xml index 20062dffdf..0f808891c6 100644 --- a/doc/generated/examples/depends_ex1_3.xml +++ b/doc/generated/examples/depends_ex1_3.xml @@ -1,5 +1,5 @@ - -% scons -Q hello + +% scons -Q hello cc -o hello.o -c hello.c cc -o hello hello.o % touch hello.c diff --git a/doc/generated/examples/depends_ex1_4.xml b/doc/generated/examples/depends_ex1_4.xml index 31aa5bd786..c8ed4d1c0d 100644 --- a/doc/generated/examples/depends_ex1_4.xml +++ b/doc/generated/examples/depends_ex1_4.xml @@ -1,5 +1,5 @@ - -% scons -Q hello + +% scons -Q hello cc -o hello.o -c hello.c cc -o hello hello.o % [CHANGE THE CONTENTS OF hello.c] diff --git a/doc/generated/examples/depends_ex1_5.xml b/doc/generated/examples/depends_ex1_5.xml index 776bda2b6c..59d106340d 100644 --- a/doc/generated/examples/depends_ex1_5.xml +++ b/doc/generated/examples/depends_ex1_5.xml @@ -1,5 +1,5 @@ - -% scons -Q hello + +% scons -Q hello cc -o hello.o -c hello.c cc -o hello hello.o % [CHANGE A COMMENT IN hello.c] diff --git a/doc/generated/examples/depends_ex1_6.xml b/doc/generated/examples/depends_ex1_6.xml index 7493627e77..2acd94273a 100644 --- a/doc/generated/examples/depends_ex1_6.xml +++ b/doc/generated/examples/depends_ex1_6.xml @@ -1,5 +1,5 @@ - -% scons -Q --implicit-cache hello + +% scons -Q --implicit-cache hello cc -o hello.o -c hello.c cc -o hello hello.o % scons -Q hello diff --git a/doc/generated/examples/depends_ex1_7.xml b/doc/generated/examples/depends_ex1_7.xml index 22b56d341a..47a8f24fdd 100644 --- a/doc/generated/examples/depends_ex1_7.xml +++ b/doc/generated/examples/depends_ex1_7.xml @@ -1,5 +1,5 @@ - -% scons -Q --implicit-deps-changed hello + +% scons -Q --implicit-deps-changed hello cc -o hello.o -c hello.c cc -o hello hello.o % scons -Q hello diff --git a/doc/generated/examples/depends_ex1_8.xml b/doc/generated/examples/depends_ex1_8.xml index d60db9740c..4b37bbb562 100644 --- a/doc/generated/examples/depends_ex1_8.xml +++ b/doc/generated/examples/depends_ex1_8.xml @@ -1,5 +1,5 @@ - -% scons -Q --implicit-deps-unchanged hello + +% scons -Q --implicit-deps-unchanged hello cc -o hello.o -c hello.c cc -o hello hello.o % scons -Q hello diff --git a/doc/generated/examples/depends_ex5_1.xml b/doc/generated/examples/depends_ex5_1.xml index e81cb0c4f6..d2d5f4756c 100644 --- a/doc/generated/examples/depends_ex5_1.xml +++ b/doc/generated/examples/depends_ex5_1.xml @@ -1,5 +1,5 @@ - -% scons -Q hello + +% scons -Q hello cc -o hello.o -c -Iinclude -I/home/project/inc hello.c cc -o hello hello.o diff --git a/doc/generated/examples/depends_ex5_2.xml b/doc/generated/examples/depends_ex5_2.xml index ea78590355..0e84948f18 100644 --- a/doc/generated/examples/depends_ex5_2.xml +++ b/doc/generated/examples/depends_ex5_2.xml @@ -1,5 +1,5 @@ - -C:\>scons -Q hello.exe + +C:\>scons -Q hello.exe cl /Fohello.obj /c hello.c /nologo /Iinclude /I\home\project\inc link /nologo /OUT:hello.exe hello.obj embedManifestExeCheck(target, source, env) diff --git a/doc/generated/examples/depends_ignore_explicit_1.xml b/doc/generated/examples/depends_ignore_explicit_1.xml index a45a8522dc..1bb7585fc7 100644 --- a/doc/generated/examples/depends_ignore_explicit_1.xml +++ b/doc/generated/examples/depends_ignore_explicit_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q scons: `.' is up to date. % scons -Q hello cc -o hello.o -c hello.c diff --git a/doc/generated/examples/depends_include_1.xml b/doc/generated/examples/depends_include_1.xml index e22bd0395a..355b6acca9 100644 --- a/doc/generated/examples/depends_include_1.xml +++ b/doc/generated/examples/depends_include_1.xml @@ -1,5 +1,5 @@ - -% scons -Q hello + +% scons -Q hello cc -o hello.o -c -I. hello.c cc -o hello hello.o % scons -Q hello diff --git a/doc/generated/examples/depends_macroinc_1.xml b/doc/generated/examples/depends_macroinc_1.xml index 95d4e0baf4..bfd6dbf511 100644 --- a/doc/generated/examples/depends_macroinc_1.xml +++ b/doc/generated/examples/depends_macroinc_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o hello.o -c -I. hello.c cc -o hello hello.o % [CHANGE CONTENTS OF foo.h] diff --git a/doc/generated/examples/depends_match_1.xml b/doc/generated/examples/depends_match_1.xml index 7dc3831e04..842add6786 100644 --- a/doc/generated/examples/depends_match_1.xml +++ b/doc/generated/examples/depends_match_1.xml @@ -1,5 +1,5 @@ - -% scons -Q hello.o + +% scons -Q hello.o cc -o hello.o -c hello.c % touch -t 198901010000 hello.c % scons -Q hello.o diff --git a/doc/generated/examples/depends_mixing_1.xml b/doc/generated/examples/depends_mixing_1.xml index 258dc90c7d..ccc578fa53 100644 --- a/doc/generated/examples/depends_mixing_1.xml +++ b/doc/generated/examples/depends_mixing_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o program1.o -c -I. program1.c cc -o prog-MD5 program1.o cc -o program2.o -c -I. program2.c diff --git a/doc/generated/examples/depends_newer_1.xml b/doc/generated/examples/depends_newer_1.xml index 28cb427940..171b9b4a37 100644 --- a/doc/generated/examples/depends_newer_1.xml +++ b/doc/generated/examples/depends_newer_1.xml @@ -1,5 +1,5 @@ - -% scons -Q hello.o + +% scons -Q hello.o cc -o hello.o -c hello.c % touch hello.c % scons -Q hello.o diff --git a/doc/generated/examples/depends_no-Requires_1.xml b/doc/generated/examples/depends_no-Requires_1.xml index 8e2729f3c9..a29e265c7e 100644 --- a/doc/generated/examples/depends_no-Requires_1.xml +++ b/doc/generated/examples/depends_no-Requires_1.xml @@ -1,5 +1,5 @@ - -% scons -Q hello + +% scons -Q hello cc -o hello.o -c hello.c cc -o version.o -c version.c cc -o hello hello.o version.o diff --git a/doc/generated/examples/depends_parsedep_1.xml b/doc/generated/examples/depends_parsedep_1.xml index 910930b1a8..bb27be1b5e 100644 --- a/doc/generated/examples/depends_parsedep_1.xml +++ b/doc/generated/examples/depends_parsedep_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o hello.o -c -MD -MF hello.d -I. hello.c cc -o hello hello.o % [CHANGE CONTENTS OF foo.h] diff --git a/doc/generated/examples/environments_Append-nonexistent_1.xml b/doc/generated/examples/environments_Append-nonexistent_1.xml index bb1596559f..f5d21e4996 100644 --- a/doc/generated/examples/environments_Append-nonexistent_1.xml +++ b/doc/generated/examples/environments_Append-nonexistent_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q NEW_VARIABLE = added scons: `.' is up to date. diff --git a/doc/generated/examples/environments_Prepend-nonexistent_1.xml b/doc/generated/examples/environments_Prepend-nonexistent_1.xml index bb1596559f..f5d21e4996 100644 --- a/doc/generated/examples/environments_Prepend-nonexistent_1.xml +++ b/doc/generated/examples/environments_Prepend-nonexistent_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q NEW_VARIABLE = added scons: `.' is up to date. diff --git a/doc/generated/examples/environments_Replace-nonexistent_1.xml b/doc/generated/examples/environments_Replace-nonexistent_1.xml index c4480b58d5..a4e0b092b3 100644 --- a/doc/generated/examples/environments_Replace-nonexistent_1.xml +++ b/doc/generated/examples/environments_Replace-nonexistent_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q NEW_VARIABLE = xyzzy scons: `.' is up to date. diff --git a/doc/generated/examples/environments_Replace1_1.xml b/doc/generated/examples/environments_Replace1_1.xml index 54f4976fef..5e2288af81 100644 --- a/doc/generated/examples/environments_Replace1_1.xml +++ b/doc/generated/examples/environments_Replace1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o foo.o -c -DDEFINE2 foo.c cc -o foo foo.o diff --git a/doc/generated/examples/environments_Replace2_1.xml b/doc/generated/examples/environments_Replace2_1.xml index 9ad257b230..4ae42fac80 100644 --- a/doc/generated/examples/environments_Replace2_1.xml +++ b/doc/generated/examples/environments_Replace2_1.xml @@ -1,5 +1,5 @@ - -% scons + +% scons scons: Reading SConscript files ... CCFLAGS = -DDEFINE1 CCFLAGS = -DDEFINE2 diff --git a/doc/generated/examples/environments_ex1_1.xml b/doc/generated/examples/environments_ex1_1.xml index 84d22b8651..b60ffcaa06 100644 --- a/doc/generated/examples/environments_ex1_1.xml +++ b/doc/generated/examples/environments_ex1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q gcc -o foo.o -c -O2 foo.c gcc -o foo foo.o diff --git a/doc/generated/examples/environments_ex2_1.xml b/doc/generated/examples/environments_ex2_1.xml index eb86c9ee3f..b3a05f242a 100644 --- a/doc/generated/examples/environments_ex2_1.xml +++ b/doc/generated/examples/environments_ex2_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o bar.o -c -g bar.c cc -o bar bar.o cc -o foo.o -c -O2 foo.c diff --git a/doc/generated/examples/environments_ex3_1.xml b/doc/generated/examples/environments_ex3_1.xml index 326230274d..4a5e84cd3b 100644 --- a/doc/generated/examples/environments_ex3_1.xml +++ b/doc/generated/examples/environments_ex3_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q scons: *** Two environments with different actions were specified for the same target: foo.o File "/home/my/project/SConstruct", line 6, in <module> diff --git a/doc/generated/examples/environments_ex4_1.xml b/doc/generated/examples/environments_ex4_1.xml index 286f46f8c0..2b87b21cc5 100644 --- a/doc/generated/examples/environments_ex4_1.xml +++ b/doc/generated/examples/environments_ex4_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o foo-dbg.o -c -g foo.c cc -o foo-dbg foo-dbg.o cc -o foo-opt.o -c -O2 foo.c diff --git a/doc/generated/examples/environments_ex5_1.xml b/doc/generated/examples/environments_ex5_1.xml index d6f0094709..8531462f44 100644 --- a/doc/generated/examples/environments_ex5_1.xml +++ b/doc/generated/examples/environments_ex5_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q gcc -o foo.o -c foo.c gcc -o foo foo.o gcc -o foo-dbg.o -c -g foo.c diff --git a/doc/generated/examples/environments_ex6_1.xml b/doc/generated/examples/environments_ex6_1.xml index af8667f706..3a1f044ead 100644 --- a/doc/generated/examples/environments_ex6_1.xml +++ b/doc/generated/examples/environments_ex6_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q CC is: cc scons: `.' is up to date. diff --git a/doc/generated/examples/environments_ex6b_1.xml b/doc/generated/examples/environments_ex6b_1.xml index 47a499ac0a..29dd066fdb 100644 --- a/doc/generated/examples/environments_ex6b_1.xml +++ b/doc/generated/examples/environments_ex6b_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q key = OBJSUFFIX, value = .o key = LIBSUFFIX, value = .a key = PROGSUFFIX, value = diff --git a/doc/generated/examples/environments_ex6b_2.xml b/doc/generated/examples/environments_ex6b_2.xml index 73a6d19c00..7344565da5 100644 --- a/doc/generated/examples/environments_ex6b_2.xml +++ b/doc/generated/examples/environments_ex6b_2.xml @@ -1,5 +1,5 @@ - -C:\>scons -Q + +C:\>scons -Q key = OBJSUFFIX, value = .obj key = LIBSUFFIX, value = .lib key = PROGSUFFIX, value = .exe diff --git a/doc/generated/examples/environments_ex8_1.xml b/doc/generated/examples/environments_ex8_1.xml index 68ebac42c0..3672198456 100644 --- a/doc/generated/examples/environments_ex8_1.xml +++ b/doc/generated/examples/environments_ex8_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o foo.o -c -DMY_VALUE -DLAST foo.c cc -o foo foo.o diff --git a/doc/generated/examples/environments_ex9_1.xml b/doc/generated/examples/environments_ex9_1.xml index 3e31c3faf7..3c2cda3719 100644 --- a/doc/generated/examples/environments_ex9_1.xml +++ b/doc/generated/examples/environments_ex9_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o foo.o -c -DFIRST -DMY_VALUE foo.c cc -o foo foo.o diff --git a/doc/generated/examples/environments_missing1_1.xml b/doc/generated/examples/environments_missing1_1.xml index edf136fec2..4032c5511a 100644 --- a/doc/generated/examples/environments_missing1_1.xml +++ b/doc/generated/examples/environments_missing1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q value is: -><- scons: `.' is up to date. diff --git a/doc/generated/examples/environments_missing2_1.xml b/doc/generated/examples/environments_missing2_1.xml index ffb308ccfd..681a462f25 100644 --- a/doc/generated/examples/environments_missing2_1.xml +++ b/doc/generated/examples/environments_missing2_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q scons: *** NameError `MISSING' trying to evaluate `$MISSING' File "/home/my/project/SConstruct", line 3, in <module> diff --git a/doc/generated/examples/environments_missing3_1.xml b/doc/generated/examples/environments_missing3_1.xml index edf136fec2..4032c5511a 100644 --- a/doc/generated/examples/environments_missing3_1.xml +++ b/doc/generated/examples/environments_missing3_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q value is: -><- scons: `.' is up to date. diff --git a/doc/generated/examples/factories_Chmod_1.xml b/doc/generated/examples/factories_Chmod_1.xml index a324ed45d3..462ee9299c 100644 --- a/doc/generated/examples/factories_Chmod_1.xml +++ b/doc/generated/examples/factories_Chmod_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q Copy("file.out", "file.in") Chmod("file.out", 0755) diff --git a/doc/generated/examples/factories_Copy1_1.xml b/doc/generated/examples/factories_Copy1_1.xml index 852412f83c..47a119a7a5 100644 --- a/doc/generated/examples/factories_Copy1_1.xml +++ b/doc/generated/examples/factories_Copy1_1.xml @@ -1,4 +1,4 @@ - -% scons -Q + +% scons -Q Copy("file.out", "file.in") diff --git a/doc/generated/examples/factories_Copy2_1.xml b/doc/generated/examples/factories_Copy2_1.xml index 852412f83c..47a119a7a5 100644 --- a/doc/generated/examples/factories_Copy2_1.xml +++ b/doc/generated/examples/factories_Copy2_1.xml @@ -1,4 +1,4 @@ - -% scons -Q + +% scons -Q Copy("file.out", "file.in") diff --git a/doc/generated/examples/factories_Copy3_1.xml b/doc/generated/examples/factories_Copy3_1.xml index bcb41ffbe1..a6ef35dcc2 100644 --- a/doc/generated/examples/factories_Copy3_1.xml +++ b/doc/generated/examples/factories_Copy3_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q Copy("tempfile", "file.in") modify tempfile Copy("file.out", "tempfile") diff --git a/doc/generated/examples/factories_Delete1_1.xml b/doc/generated/examples/factories_Delete1_1.xml index e9a287ed53..5b74e2ed88 100644 --- a/doc/generated/examples/factories_Delete1_1.xml +++ b/doc/generated/examples/factories_Delete1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q Delete("tempfile") Copy("tempfile", "file.in") modify tempfile diff --git a/doc/generated/examples/factories_Delete2_1.xml b/doc/generated/examples/factories_Delete2_1.xml index 2be3c3aab2..a363ef1e03 100644 --- a/doc/generated/examples/factories_Delete2_1.xml +++ b/doc/generated/examples/factories_Delete2_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q Delete("file.out") Copy("file.out", "file.in") diff --git a/doc/generated/examples/factories_Execute_1.xml b/doc/generated/examples/factories_Execute_1.xml index a7ae0c7deb..48e5b1147c 100644 --- a/doc/generated/examples/factories_Execute_1.xml +++ b/doc/generated/examples/factories_Execute_1.xml @@ -1,5 +1,5 @@ - -% scons + +% scons scons: Reading SConscript files ... Mkdir("/tmp/my_temp_directory") scons: done reading SConscript files. diff --git a/doc/generated/examples/factories_Mkdir_1.xml b/doc/generated/examples/factories_Mkdir_1.xml index ea3d79dccf..924e410e74 100644 --- a/doc/generated/examples/factories_Mkdir_1.xml +++ b/doc/generated/examples/factories_Mkdir_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q Delete("tempdir") Mkdir("tempdir") Copy("tempdir/file.in", "file.in") diff --git a/doc/generated/examples/factories_Move_1.xml b/doc/generated/examples/factories_Move_1.xml index a5e4ccdf76..3879ddc3d1 100644 --- a/doc/generated/examples/factories_Move_1.xml +++ b/doc/generated/examples/factories_Move_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q Copy("tempfile", "file.in") modify tempfile Move("file.out", "tempfile") diff --git a/doc/generated/examples/factories_Touch_1.xml b/doc/generated/examples/factories_Touch_1.xml index 7417fa4138..01176ed0bb 100644 --- a/doc/generated/examples/factories_Touch_1.xml +++ b/doc/generated/examples/factories_Touch_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q Copy("file.out", "file.in") Touch("file.out") diff --git a/doc/generated/examples/fileremoval_clean-ex1_1.xml b/doc/generated/examples/fileremoval_clean-ex1_1.xml index c76a7e5269..5600ddc134 100644 --- a/doc/generated/examples/fileremoval_clean-ex1_1.xml +++ b/doc/generated/examples/fileremoval_clean-ex1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q build -o foo.out foo.in % scons -Q -c Removed foo.out diff --git a/doc/generated/examples/fileremoval_noclean-ex1_1.xml b/doc/generated/examples/fileremoval_noclean-ex1_1.xml index 45bd878ca0..1fe367286c 100644 --- a/doc/generated/examples/fileremoval_noclean-ex1_1.xml +++ b/doc/generated/examples/fileremoval_noclean-ex1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o f1.o -c f1.c cc -o f2.o -c f2.c cc -o f3.o -c f3.c diff --git a/doc/generated/examples/fileremoval_precious-ex1_1.xml b/doc/generated/examples/fileremoval_precious-ex1_1.xml index 36e5a25811..b567082a15 100644 --- a/doc/generated/examples/fileremoval_precious-ex1_1.xml +++ b/doc/generated/examples/fileremoval_precious-ex1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o f1.o -c f1.c cc -o f2.o -c f2.c cc -o f3.o -c f3.c diff --git a/doc/generated/examples/hierarchy_Return_1.xml b/doc/generated/examples/hierarchy_Return_1.xml index e5ab7f700f..2969ec842c 100644 --- a/doc/generated/examples/hierarchy_Return_1.xml +++ b/doc/generated/examples/hierarchy_Return_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o bar/bar.o -c bar/bar.c cc -o foo/foo.o -c foo/foo.c ar rc libprog.a foo/foo.o bar/bar.o diff --git a/doc/generated/examples/hierarchy_ex1_1.xml b/doc/generated/examples/hierarchy_ex1_1.xml index bb5cc7b560..fc460ffdf1 100644 --- a/doc/generated/examples/hierarchy_ex1_1.xml +++ b/doc/generated/examples/hierarchy_ex1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o prog1/foo1.o -c prog1/foo1.c cc -o prog1/foo2.o -c prog1/foo2.c cc -o prog1/main.o -c prog1/main.c diff --git a/doc/generated/examples/hierarchy_ex2_1.xml b/doc/generated/examples/hierarchy_ex2_1.xml index 800a921865..e53a08bf01 100644 --- a/doc/generated/examples/hierarchy_ex2_1.xml +++ b/doc/generated/examples/hierarchy_ex2_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o lib/foo1.o -c lib/foo1.c cc -o src/prog/foo2.o -c src/prog/foo2.c cc -o src/prog/main.o -c src/prog/main.c diff --git a/doc/generated/examples/hierarchy_ex3_1.xml b/doc/generated/examples/hierarchy_ex3_1.xml index 473c9f411d..e57af2cfa4 100644 --- a/doc/generated/examples/hierarchy_ex3_1.xml +++ b/doc/generated/examples/hierarchy_ex3_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o src/prog/foo2.o -c src/prog/foo2.c cc -o src/prog/main.o -c src/prog/main.c cc -o /usr/joe/lib/foo1.o -c /usr/joe/lib/foo1.c diff --git a/doc/generated/examples/install_ex1_1.xml b/doc/generated/examples/install_ex1_1.xml index 776f7e88a9..88088ed48d 100644 --- a/doc/generated/examples/install_ex1_1.xml +++ b/doc/generated/examples/install_ex1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o hello.o -c hello.c cc -o hello hello.o % scons -Q /usr/bin diff --git a/doc/generated/examples/install_ex2_1.xml b/doc/generated/examples/install_ex2_1.xml index 98de9c44d1..8e37628d26 100644 --- a/doc/generated/examples/install_ex2_1.xml +++ b/doc/generated/examples/install_ex2_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o hello.o -c hello.c cc -o hello hello.o % scons -Q install diff --git a/doc/generated/examples/install_ex3_1.xml b/doc/generated/examples/install_ex3_1.xml index e30611137d..f635206b86 100644 --- a/doc/generated/examples/install_ex3_1.xml +++ b/doc/generated/examples/install_ex3_1.xml @@ -1,5 +1,5 @@ - -% scons -Q install + +% scons -Q install cc -o goodbye.o -c goodbye.c cc -o goodbye goodbye.o Install file: "goodbye" as "/usr/bin/goodbye" diff --git a/doc/generated/examples/install_ex4_1.xml b/doc/generated/examples/install_ex4_1.xml index 36cd90c1a9..16655c9c78 100644 --- a/doc/generated/examples/install_ex4_1.xml +++ b/doc/generated/examples/install_ex4_1.xml @@ -1,5 +1,5 @@ - -% scons -Q install + +% scons -Q install cc -o hello.o -c hello.c cc -o hello hello.o Install file: "hello" as "/usr/bin/hello-new" diff --git a/doc/generated/examples/install_ex5_1.xml b/doc/generated/examples/install_ex5_1.xml index 89f7c569f0..f8aa074000 100644 --- a/doc/generated/examples/install_ex5_1.xml +++ b/doc/generated/examples/install_ex5_1.xml @@ -1,5 +1,5 @@ - -% scons -Q install + +% scons -Q install cc -o goodbye.o -c goodbye.c cc -o goodbye goodbye.o Install file: "goodbye" as "/usr/bin/goodbye-new" diff --git a/doc/generated/examples/java_JAVACLASSDIR_1.xml b/doc/generated/examples/java_JAVACLASSDIR_1.xml index 5e0709a1f3..a04b5572a7 100644 --- a/doc/generated/examples/java_JAVACLASSDIR_1.xml +++ b/doc/generated/examples/java_JAVACLASSDIR_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q javac -d classes -sourcepath src/pkg/sub src/pkg/sub/Example1.java src/pkg/sub/Example2.java src/pkg/sub/Example3.java javah -d native -classpath classes pkg.sub.Example1 pkg.sub.Example2 pkg.sub.Example3 diff --git a/doc/generated/examples/java_RMIC_1.xml b/doc/generated/examples/java_RMIC_1.xml index 4db895e50f..8ee46cec0a 100644 --- a/doc/generated/examples/java_RMIC_1.xml +++ b/doc/generated/examples/java_RMIC_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q javac -d classes -sourcepath src/pkg/sub src/pkg/sub/Example1.java src/pkg/sub/Example2.java rmic -d outdir -classpath classes pkg.sub.Example1 pkg.sub.Example2 diff --git a/doc/generated/examples/java_jar1_1.xml b/doc/generated/examples/java_jar1_1.xml index de93227520..ced917a074 100644 --- a/doc/generated/examples/java_jar1_1.xml +++ b/doc/generated/examples/java_jar1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q javac -d classes -sourcepath src src/Example1.java src/Example2.java src/Example3.java jar cf test.jar classes diff --git a/doc/generated/examples/java_jar2_1.xml b/doc/generated/examples/java_jar2_1.xml index 9e942e2ca3..d77a46288e 100644 --- a/doc/generated/examples/java_jar2_1.xml +++ b/doc/generated/examples/java_jar2_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q javac -d classes -sourcepath prog1 prog1/Example1.java prog1/Example2.java javac -d classes -sourcepath prog2 prog2/Example3.java prog2/Example4.java jar cf prog1.jar -C classes Example1.class -C classes Example2.class diff --git a/doc/generated/examples/java_java-classes_1.xml b/doc/generated/examples/java_java-classes_1.xml index 6f02f5f10c..d48488efee 100644 --- a/doc/generated/examples/java_java-classes_1.xml +++ b/doc/generated/examples/java_java-classes_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q javac -d classes -sourcepath src src/Example1.java src/Example2.java src/Example3.java % scons -Q classes scons: `classes' is up to date. diff --git a/doc/generated/examples/java_java-classes_2.xml b/doc/generated/examples/java_java-classes_2.xml index 31f602822d..9936d431c1 100644 --- a/doc/generated/examples/java_java-classes_2.xml +++ b/doc/generated/examples/java_java-classes_2.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q javac -d classes -sourcepath src src/Example1.java src/Example2.java src/Example3.java % scons -Q -c classes Removed classes/Example1.class diff --git a/doc/generated/examples/java_java_1.xml b/doc/generated/examples/java_java_1.xml index 551a5d4510..624d803ec1 100644 --- a/doc/generated/examples/java_java_1.xml +++ b/doc/generated/examples/java_java_1.xml @@ -1,4 +1,4 @@ - -% scons -Q + +% scons -Q javac -d classes -sourcepath src src/Example1.java src/Example2.java src/Example3.java diff --git a/doc/generated/examples/java_javah_1.xml b/doc/generated/examples/java_javah_1.xml index 5e0709a1f3..a04b5572a7 100644 --- a/doc/generated/examples/java_javah_1.xml +++ b/doc/generated/examples/java_javah_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q javac -d classes -sourcepath src/pkg/sub src/pkg/sub/Example1.java src/pkg/sub/Example2.java src/pkg/sub/Example3.java javah -d native -classpath classes pkg.sub.Example1 pkg.sub.Example2 pkg.sub.Example3 diff --git a/doc/generated/examples/java_javah_file_1.xml b/doc/generated/examples/java_javah_file_1.xml index 163a53df0b..192b02491e 100644 --- a/doc/generated/examples/java_javah_file_1.xml +++ b/doc/generated/examples/java_javah_file_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q javac -d classes -sourcepath src/pkg/sub src/pkg/sub/Example1.java src/pkg/sub/Example2.java src/pkg/sub/Example3.java javah -o native.h -classpath classes pkg.sub.Example1 pkg.sub.Example2 pkg.sub.Example3 diff --git a/doc/generated/examples/lesssimple_ex2_1.xml b/doc/generated/examples/lesssimple_ex2_1.xml index 6093f0ce21..768967cb4a 100644 --- a/doc/generated/examples/lesssimple_ex2_1.xml +++ b/doc/generated/examples/lesssimple_ex2_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o file1.o -c file1.c cc -o file2.o -c file2.c cc -o prog.o -c prog.c diff --git a/doc/generated/examples/lesssimple_ex3_1.xml b/doc/generated/examples/lesssimple_ex3_1.xml index b3ac2f0ccf..eabf7ffd24 100644 --- a/doc/generated/examples/lesssimple_ex3_1.xml +++ b/doc/generated/examples/lesssimple_ex3_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o file1.o -c file1.c cc -o file2.o -c file2.c cc -o prog.o -c prog.c diff --git a/doc/generated/examples/lesssimple_ex3_2.xml b/doc/generated/examples/lesssimple_ex3_2.xml index 835f048893..a4d3cd4fbd 100644 --- a/doc/generated/examples/lesssimple_ex3_2.xml +++ b/doc/generated/examples/lesssimple_ex3_2.xml @@ -1,5 +1,5 @@ - -C:\>scons -Q + +C:\>scons -Q cl /Fofile1.obj /c file1.c /nologo cl /Fofile2.obj /c file2.c /nologo cl /Foprog.obj /c prog.c /nologo diff --git a/doc/generated/examples/lesssimple_ex4_1.xml b/doc/generated/examples/lesssimple_ex4_1.xml index 87af41d6d0..697101c697 100644 --- a/doc/generated/examples/lesssimple_ex4_1.xml +++ b/doc/generated/examples/lesssimple_ex4_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o bar1.o -c bar1.c cc -o bar2.o -c bar2.c cc -o bar bar1.o bar2.o diff --git a/doc/generated/examples/lesssimple_ex5_1.xml b/doc/generated/examples/lesssimple_ex5_1.xml index 0043e11e19..b99081be1d 100644 --- a/doc/generated/examples/lesssimple_ex5_1.xml +++ b/doc/generated/examples/lesssimple_ex5_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o bar1.o -c bar1.c cc -o bar2.o -c bar2.c cc -o common1.o -c common1.c diff --git a/doc/generated/examples/lesssimple_target_1.xml b/doc/generated/examples/lesssimple_target_1.xml index a958acbc90..4fff872708 100644 --- a/doc/generated/examples/lesssimple_target_1.xml +++ b/doc/generated/examples/lesssimple_target_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o hello.o -c hello.c cc -o new_hello hello.o diff --git a/doc/generated/examples/lesssimple_target_2.xml b/doc/generated/examples/lesssimple_target_2.xml index ef7b241aa8..1fe6b036f4 100644 --- a/doc/generated/examples/lesssimple_target_2.xml +++ b/doc/generated/examples/lesssimple_target_2.xml @@ -1,5 +1,5 @@ - -C:\>scons -Q + +C:\>scons -Q cl /Fohello.obj /c hello.c /nologo link /nologo /OUT:new_hello.exe hello.obj embedManifestExeCheck(target, source, env) diff --git a/doc/generated/examples/libraries_SharedLibrary_1.xml b/doc/generated/examples/libraries_SharedLibrary_1.xml index 2300891a73..120fc07f61 100644 --- a/doc/generated/examples/libraries_SharedLibrary_1.xml +++ b/doc/generated/examples/libraries_SharedLibrary_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o f1.os -c f1.c cc -o f2.os -c f2.c cc -o f3.os -c f3.c diff --git a/doc/generated/examples/libraries_SharedLibrary_2.xml b/doc/generated/examples/libraries_SharedLibrary_2.xml index b6b484de6c..17ced1ff61 100644 --- a/doc/generated/examples/libraries_SharedLibrary_2.xml +++ b/doc/generated/examples/libraries_SharedLibrary_2.xml @@ -1,5 +1,5 @@ - -C:\>scons -Q + +C:\>scons -Q cl /Fof1.obj /c f1.c /nologo cl /Fof2.obj /c f2.c /nologo cl /Fof3.obj /c f3.c /nologo diff --git a/doc/generated/examples/libraries_ex1_1.xml b/doc/generated/examples/libraries_ex1_1.xml index bfd69b45c6..df02912971 100644 --- a/doc/generated/examples/libraries_ex1_1.xml +++ b/doc/generated/examples/libraries_ex1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o f1.o -c f1.c cc -o f2.o -c f2.c cc -o f3.o -c f3.c diff --git a/doc/generated/examples/libraries_ex1_2.xml b/doc/generated/examples/libraries_ex1_2.xml index 912e7adf0e..95b42ea171 100644 --- a/doc/generated/examples/libraries_ex1_2.xml +++ b/doc/generated/examples/libraries_ex1_2.xml @@ -1,5 +1,5 @@ - -C:\>scons -Q + +C:\>scons -Q cl /Fof1.obj /c f1.c /nologo cl /Fof2.obj /c f2.c /nologo cl /Fof3.obj /c f3.c /nologo diff --git a/doc/generated/examples/libraries_ex2_1.xml b/doc/generated/examples/libraries_ex2_1.xml index c43f7e9566..e65ec56504 100644 --- a/doc/generated/examples/libraries_ex2_1.xml +++ b/doc/generated/examples/libraries_ex2_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o f1.o -c f1.c cc -o f2.o -c f2.c cc -o f3.o -c f3.c diff --git a/doc/generated/examples/libraries_ex2_2.xml b/doc/generated/examples/libraries_ex2_2.xml index 84b4d75e38..8eab40648a 100644 --- a/doc/generated/examples/libraries_ex2_2.xml +++ b/doc/generated/examples/libraries_ex2_2.xml @@ -1,5 +1,5 @@ - -C:\>scons -Q + +C:\>scons -Q cl /Fof1.obj /c f1.c /nologo cl /Fof2.obj /c f2.c /nologo cl /Fof3.obj /c f3.c /nologo diff --git a/doc/generated/examples/libraries_ex3_1.xml b/doc/generated/examples/libraries_ex3_1.xml index 9dd6ca9dcc..4b3612ac6d 100644 --- a/doc/generated/examples/libraries_ex3_1.xml +++ b/doc/generated/examples/libraries_ex3_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o prog.o -c prog.c cc -o prog prog.o -L/usr/lib -L/usr/local/lib -lm diff --git a/doc/generated/examples/libraries_ex3_2.xml b/doc/generated/examples/libraries_ex3_2.xml index e5ec4ce101..221b86ab30 100644 --- a/doc/generated/examples/libraries_ex3_2.xml +++ b/doc/generated/examples/libraries_ex3_2.xml @@ -1,5 +1,5 @@ - -C:\>scons -Q + +C:\>scons -Q cl /Foprog.obj /c prog.c /nologo link /nologo /OUT:prog.exe /LIBPATH:\usr\lib /LIBPATH:\usr\local\lib m.lib prog.obj embedManifestExeCheck(target, source, env) diff --git a/doc/generated/examples/libraries_objects_1.xml b/doc/generated/examples/libraries_objects_1.xml index 5d732da127..f5e5a7f70c 100644 --- a/doc/generated/examples/libraries_objects_1.xml +++ b/doc/generated/examples/libraries_objects_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o f1.o -c f1.c cc -o f3.o -c f3.c ar rc libfoo.a f1.o f2.o f3.o f4.o diff --git a/doc/generated/examples/mergeflags_MergeFlags1_1.xml b/doc/generated/examples/mergeflags_MergeFlags1_1.xml index 8f18fd8fc4..b1df5daefb 100644 --- a/doc/generated/examples/mergeflags_MergeFlags1_1.xml +++ b/doc/generated/examples/mergeflags_MergeFlags1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q ['-option', '-O1', '-whatever', '-O3'] scons: `.' is up to date. diff --git a/doc/generated/examples/mergeflags_MergeFlags2_1.xml b/doc/generated/examples/mergeflags_MergeFlags2_1.xml index 8cae8274d8..33604df261 100644 --- a/doc/generated/examples/mergeflags_MergeFlags2_1.xml +++ b/doc/generated/examples/mergeflags_MergeFlags2_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q ['/include', '/usr/local/include', '/usr/include', '/usr/opt/include'] scons: `.' is up to date. diff --git a/doc/generated/examples/mergeflags_MergeFlags3_1.xml b/doc/generated/examples/mergeflags_MergeFlags3_1.xml index d4f23d496e..dcde108dd1 100644 --- a/doc/generated/examples/mergeflags_MergeFlags3_1.xml +++ b/doc/generated/examples/mergeflags_MergeFlags3_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q ['-option', '-O1', '-whatever', '-O3'] ['/include', '/usr/local/include', '/usr/include', '/usr/opt/include'] scons: `.' is up to date. diff --git a/doc/generated/examples/misc_Exit_1.xml b/doc/generated/examples/misc_Exit_1.xml index 6af378fe10..4638af452d 100644 --- a/doc/generated/examples/misc_Exit_1.xml +++ b/doc/generated/examples/misc_Exit_1.xml @@ -1,5 +1,5 @@ - -% scons -Q FUTURE=1 + +% scons -Q FUTURE=1 The FUTURE option is not supported yet! % scons -Q cc -o hello.o -c hello.c diff --git a/doc/generated/examples/misc_FindFile1a_1.xml b/doc/generated/examples/misc_FindFile1a_1.xml index eca0328484..2f41d7480e 100644 --- a/doc/generated/examples/misc_FindFile1a_1.xml +++ b/doc/generated/examples/misc_FindFile1a_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q None <class 'SCons.Node.FS.File'> exists scons: `.' is up to date. diff --git a/doc/generated/examples/misc_FindFile1b_1.xml b/doc/generated/examples/misc_FindFile1b_1.xml index 4b194ce690..59869d4a28 100644 --- a/doc/generated/examples/misc_FindFile1b_1.xml +++ b/doc/generated/examples/misc_FindFile1b_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q nonesuch.h : None config.h : config.h private.h : src/include/private.h diff --git a/doc/generated/examples/misc_FindFile1d_1.xml b/doc/generated/examples/misc_FindFile1d_1.xml index 5ab499fcea..3802eca8eb 100644 --- a/doc/generated/examples/misc_FindFile1d_1.xml +++ b/doc/generated/examples/misc_FindFile1d_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q sub1/multiple sub2/multiple sub3/multiple diff --git a/doc/generated/examples/misc_FindFile2_1.xml b/doc/generated/examples/misc_FindFile2_1.xml index 149c5d501d..5712ee7128 100644 --- a/doc/generated/examples/misc_FindFile2_1.xml +++ b/doc/generated/examples/misc_FindFile2_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q leaf derived cat > derived leaf diff --git a/doc/generated/examples/misc_FindFile2_2.xml b/doc/generated/examples/misc_FindFile2_2.xml index 149c5d501d..5712ee7128 100644 --- a/doc/generated/examples/misc_FindFile2_2.xml +++ b/doc/generated/examples/misc_FindFile2_2.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q leaf derived cat > derived leaf diff --git a/doc/generated/examples/misc_FindFile3_1.xml b/doc/generated/examples/misc_FindFile3_1.xml index 2c09fedacc..b8cbe442a3 100644 --- a/doc/generated/examples/misc_FindFile3_1.xml +++ b/doc/generated/examples/misc_FindFile3_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q build/leaf scons: `.' is up to date. diff --git a/doc/generated/examples/misc_Flatten1_1.xml b/doc/generated/examples/misc_Flatten1_1.xml index 54720bbd70..2bb02dbf6c 100644 --- a/doc/generated/examples/misc_Flatten1_1.xml +++ b/doc/generated/examples/misc_Flatten1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o prog1.o -c prog1.c cc -o prog2.o -c -DFOO prog2.c cc -o prog1 prog1.o prog2.o diff --git a/doc/generated/examples/misc_Flatten2_1.xml b/doc/generated/examples/misc_Flatten2_1.xml index 66161ec9d8..09b6d39525 100644 --- a/doc/generated/examples/misc_Flatten2_1.xml +++ b/doc/generated/examples/misc_Flatten2_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q AttributeError: 'NodeList' object has no attribute 'abspath': File "/home/my/project/SConstruct", line 8: print(object_file.abspath) diff --git a/doc/generated/examples/nodes_GetBuildPath_1.xml b/doc/generated/examples/nodes_GetBuildPath_1.xml index 376f65efe5..1f2474607d 100644 --- a/doc/generated/examples/nodes_GetBuildPath_1.xml +++ b/doc/generated/examples/nodes_GetBuildPath_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q ['foo.c', 'sub/dir/value'] scons: `.' is up to date. diff --git a/doc/generated/examples/nodes_ex1_1.xml b/doc/generated/examples/nodes_ex1_1.xml index e7eb8c4bbe..7c48388f68 100644 --- a/doc/generated/examples/nodes_ex1_1.xml +++ b/doc/generated/examples/nodes_ex1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o goodbye.o -c -DGOODBYE goodbye.c cc -o hello.o -c -DHELLO hello.c cc -o hello hello.o goodbye.o diff --git a/doc/generated/examples/nodes_ex1_2.xml b/doc/generated/examples/nodes_ex1_2.xml index a1ed1fb79c..69f7314df5 100644 --- a/doc/generated/examples/nodes_ex1_2.xml +++ b/doc/generated/examples/nodes_ex1_2.xml @@ -1,5 +1,5 @@ - -C:\>scons -Q + +C:\>scons -Q cl /Fogoodbye.obj /c goodbye.c -DGOODBYE cl /Fohello.obj /c hello.c -DHELLO link /nologo /OUT:hello.exe hello.obj goodbye.obj diff --git a/doc/generated/examples/nodes_exists_1.xml b/doc/generated/examples/nodes_exists_1.xml index a290b1c7fc..53d0039fb1 100644 --- a/doc/generated/examples/nodes_exists_1.xml +++ b/doc/generated/examples/nodes_exists_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q hello does not exist! cc -o hello.o -c hello.c cc -o hello hello.o diff --git a/doc/generated/examples/nodes_print_1.xml b/doc/generated/examples/nodes_print_1.xml index 11a3f4509e..c1e0a369d6 100644 --- a/doc/generated/examples/nodes_print_1.xml +++ b/doc/generated/examples/nodes_print_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q The object file is: hello.o The program file is: hello cc -o hello.o -c hello.c diff --git a/doc/generated/examples/nodes_print_2.xml b/doc/generated/examples/nodes_print_2.xml index a62b522a12..e2d806545b 100644 --- a/doc/generated/examples/nodes_print_2.xml +++ b/doc/generated/examples/nodes_print_2.xml @@ -1,5 +1,5 @@ - -C:\>scons -Q + +C:\>scons -Q The object file is: hello.obj The program file is: hello.exe cl /Fohello.obj /c hello.c /nologo diff --git a/doc/generated/examples/output_Progress-TARGET_1.xml b/doc/generated/examples/output_Progress-TARGET_1.xml index b233c6e1e1..b9c1660f73 100644 --- a/doc/generated/examples/output_Progress-TARGET_1.xml +++ b/doc/generated/examples/output_Progress-TARGET_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q Evaluating SConstruct Evaluating f1.c Evaluating f1.o diff --git a/doc/generated/examples/output_ex1_1.xml b/doc/generated/examples/output_ex1_1.xml index 535960bc5f..d3f025983e 100644 --- a/doc/generated/examples/output_ex1_1.xml +++ b/doc/generated/examples/output_ex1_1.xml @@ -1,5 +1,5 @@ - -% scons -h + +% scons -h scons: Reading SConscript files ... scons: done reading SConscript files. diff --git a/doc/generated/examples/output_ex2_1.xml b/doc/generated/examples/output_ex2_1.xml index e951c3ad8c..e321a401d8 100644 --- a/doc/generated/examples/output_ex2_1.xml +++ b/doc/generated/examples/output_ex2_1.xml @@ -1,5 +1,5 @@ - -C:\>scons -h + +C:\>scons -h scons: Reading SConscript files ... scons: done reading SConscript files. diff --git a/doc/generated/examples/output_ex2_2.xml b/doc/generated/examples/output_ex2_2.xml index 8dca6c3511..f1fde0b9cb 100644 --- a/doc/generated/examples/output_ex2_2.xml +++ b/doc/generated/examples/output_ex2_2.xml @@ -1,5 +1,5 @@ - -% scons -h + +% scons -h scons: Reading SConscript files ... scons: done reading SConscript files. diff --git a/doc/generated/examples/output_gbf2_1.xml b/doc/generated/examples/output_gbf2_1.xml index c31b41a014..efaf7a096e 100644 --- a/doc/generated/examples/output_gbf2_1.xml +++ b/doc/generated/examples/output_gbf2_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q scons: `.' is up to date. Build succeeded. % scons -Q fail=1 diff --git a/doc/generated/examples/parseflags_ex1_1.xml b/doc/generated/examples/parseflags_ex1_1.xml index d6e4d961d1..6a1336b52a 100644 --- a/doc/generated/examples/parseflags_ex1_1.xml +++ b/doc/generated/examples/parseflags_ex1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q CPPPATH ['/opt/include'] LIBPATH ['/opt/lib'] LIBS ['foo'] diff --git a/doc/generated/examples/parseflags_ex1_2.xml b/doc/generated/examples/parseflags_ex1_2.xml index 4c115d0319..8eefc06759 100644 --- a/doc/generated/examples/parseflags_ex1_2.xml +++ b/doc/generated/examples/parseflags_ex1_2.xml @@ -1,5 +1,5 @@ - -C:\>scons -Q + +C:\>scons -Q CPPPATH ['/opt/include'] LIBPATH ['/opt/lib'] LIBS ['foo'] diff --git a/doc/generated/examples/parseflags_ex2_1.xml b/doc/generated/examples/parseflags_ex2_1.xml index da84ee38cd..daedec6064 100644 --- a/doc/generated/examples/parseflags_ex2_1.xml +++ b/doc/generated/examples/parseflags_ex2_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q CCFLAGS -whatever cc -o f1.o -c -whatever f1.c cc -o f1 f1.o diff --git a/doc/generated/examples/parseflags_ex3_1.xml b/doc/generated/examples/parseflags_ex3_1.xml index d6e4d961d1..6a1336b52a 100644 --- a/doc/generated/examples/parseflags_ex3_1.xml +++ b/doc/generated/examples/parseflags_ex3_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q CPPPATH ['/opt/include'] LIBPATH ['/opt/lib'] LIBS ['foo'] diff --git a/doc/generated/examples/parseflags_ex4_1.xml b/doc/generated/examples/parseflags_ex4_1.xml index d6e4d961d1..6a1336b52a 100644 --- a/doc/generated/examples/parseflags_ex4_1.xml +++ b/doc/generated/examples/parseflags_ex4_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q CPPPATH ['/opt/include'] LIBPATH ['/opt/lib'] LIBS ['foo'] diff --git a/doc/generated/examples/repositories_CPPPATH3_1.xml b/doc/generated/examples/repositories_CPPPATH3_1.xml index d53ffdb945..83ef06b708 100644 --- a/doc/generated/examples/repositories_CPPPATH3_1.xml +++ b/doc/generated/examples/repositories_CPPPATH3_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o hello.o -c -Idir1 -I/r1/dir1 -I/r2/dir1 -Idir2 -I/r1/dir2 -I/r2/dir2 -Idir3 -I/r1/dir3 -I/r2/dir3 hello.c cc -o hello hello.o diff --git a/doc/generated/examples/repositories_CPPPATH_1.xml b/doc/generated/examples/repositories_CPPPATH_1.xml index 6c5a2d1859..fdbffaf63e 100644 --- a/doc/generated/examples/repositories_CPPPATH_1.xml +++ b/doc/generated/examples/repositories_CPPPATH_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o hello.o -c -I. -I/usr/repository1 hello.c cc -o hello hello.o diff --git a/doc/generated/examples/repositories_ex1_1.xml b/doc/generated/examples/repositories_ex1_1.xml index a21fdc8ed7..35532b89a4 100644 --- a/doc/generated/examples/repositories_ex1_1.xml +++ b/doc/generated/examples/repositories_ex1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o hello.o -c hello.c cc -o hello hello.o diff --git a/doc/generated/examples/repositories_ex2_1.xml b/doc/generated/examples/repositories_ex2_1.xml index 819c93644b..9d2cdd201f 100644 --- a/doc/generated/examples/repositories_ex2_1.xml +++ b/doc/generated/examples/repositories_ex2_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o hello.o -c /usr/repository1/hello.c cc -o hello hello.o diff --git a/doc/generated/examples/repositories_ex3_1.xml b/doc/generated/examples/repositories_ex3_1.xml index 76d69cd7a9..fe2654dbd9 100644 --- a/doc/generated/examples/repositories_ex3_1.xml +++ b/doc/generated/examples/repositories_ex3_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o hello.o -c /usr/repository2/hello.c cc -o hello hello.o diff --git a/doc/generated/examples/repositories_ex4_1.xml b/doc/generated/examples/repositories_ex4_1.xml index 89116837d6..43267b0cb3 100644 --- a/doc/generated/examples/repositories_ex4_1.xml +++ b/doc/generated/examples/repositories_ex4_1.xml @@ -1,5 +1,5 @@ - -% cd /usr/repository1 + +% cd /usr/repository1 % scons -Q cc -o file1.o -c file1.c cc -o file2.o -c file2.c diff --git a/doc/generated/examples/repositories_quote1_1.xml b/doc/generated/examples/repositories_quote1_1.xml index d2ba62472c..8a10939f46 100644 --- a/doc/generated/examples/repositories_quote1_1.xml +++ b/doc/generated/examples/repositories_quote1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o hello.o -c -I. -I/usr/repository1 /usr/repository1/hello.c cc -o hello hello.o diff --git a/doc/generated/examples/separate_builddir_1.xml b/doc/generated/examples/separate_builddir_1.xml index a763172057..b05f3d0039 100644 --- a/doc/generated/examples/separate_builddir_1.xml +++ b/doc/generated/examples/separate_builddir_1.xml @@ -1,5 +1,5 @@ - -% ls src + +% ls src hello.c % scons -Q cc -o build/hello.o -c build/hello.c diff --git a/doc/generated/examples/separate_builddir_sconscript_1.xml b/doc/generated/examples/separate_builddir_sconscript_1.xml index 5694a56e43..11bfcb5406 100644 --- a/doc/generated/examples/separate_builddir_sconscript_1.xml +++ b/doc/generated/examples/separate_builddir_sconscript_1.xml @@ -1,5 +1,5 @@ - -% ls src + +% ls src SConscript hello.c % scons -Q cc -o build/hello.o -c build/hello.c diff --git a/doc/generated/examples/separate_duplicate0_1.xml b/doc/generated/examples/separate_duplicate0_1.xml index 207c5d7742..142c1d3aab 100644 --- a/doc/generated/examples/separate_duplicate0_1.xml +++ b/doc/generated/examples/separate_duplicate0_1.xml @@ -1,5 +1,5 @@ - -% ls src + +% ls src hello.c % scons -Q cc -o build/hello.o -c src/hello.c diff --git a/doc/generated/examples/separate_ex1_1.xml b/doc/generated/examples/separate_ex1_1.xml index 5694a56e43..11bfcb5406 100644 --- a/doc/generated/examples/separate_ex1_1.xml +++ b/doc/generated/examples/separate_ex1_1.xml @@ -1,5 +1,5 @@ - -% ls src + +% ls src SConscript hello.c % scons -Q cc -o build/hello.o -c build/hello.c diff --git a/doc/generated/examples/separate_glob_builddir_sconscript_1.xml b/doc/generated/examples/separate_glob_builddir_sconscript_1.xml index 7cdb420205..951acc4e01 100644 --- a/doc/generated/examples/separate_glob_builddir_sconscript_1.xml +++ b/doc/generated/examples/separate_glob_builddir_sconscript_1.xml @@ -1,5 +1,5 @@ - -% ls src + +% ls src SConscript f1.c f2.c f2.h % scons -Q cc -o build/f1.o -c build/f1.c diff --git a/doc/generated/examples/sideeffect_parallel_1.xml b/doc/generated/examples/sideeffect_parallel_1.xml index 9478c52d14..4b38c2b40a 100644 --- a/doc/generated/examples/sideeffect_parallel_1.xml +++ b/doc/generated/examples/sideeffect_parallel_1.xml @@ -1,5 +1,5 @@ - -% scons -Q --jobs=2 + +% scons -Q --jobs=2 echo > file1.out data1 echo > file2.out data2 diff --git a/doc/generated/examples/sideeffect_shared_1.xml b/doc/generated/examples/sideeffect_shared_1.xml index 2abb8063e0..84a58b2bb6 100644 --- a/doc/generated/examples/sideeffect_shared_1.xml +++ b/doc/generated/examples/sideeffect_shared_1.xml @@ -1,5 +1,5 @@ - -% scons -Q --jobs=2 + +% scons -Q --jobs=2 ./build --log logfile.txt file1.in file1.out ./build --log logfile.txt file2.in file2.out diff --git a/doc/generated/examples/sideeffect_simple_1.xml b/doc/generated/examples/sideeffect_simple_1.xml index e88630c7ad..cde16a4446 100644 --- a/doc/generated/examples/sideeffect_simple_1.xml +++ b/doc/generated/examples/sideeffect_simple_1.xml @@ -1,5 +1,5 @@ - -% scons -Q --jobs=2 + +% scons -Q --jobs=2 File "/home/my/project/SConstruct", line 4 'echo >$TARGET data1; echo >log updated file1')) diff --git a/doc/generated/examples/simple_Object_1.xml b/doc/generated/examples/simple_Object_1.xml index 6d5c80df49..31394ba806 100644 --- a/doc/generated/examples/simple_Object_1.xml +++ b/doc/generated/examples/simple_Object_1.xml @@ -1,5 +1,5 @@ - -% scons + +% scons scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... diff --git a/doc/generated/examples/simple_Object_2.xml b/doc/generated/examples/simple_Object_2.xml index 36860067a7..4ba24c8e31 100644 --- a/doc/generated/examples/simple_Object_2.xml +++ b/doc/generated/examples/simple_Object_2.xml @@ -1,5 +1,5 @@ - -C:\>scons + +C:\>scons scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... diff --git a/doc/generated/examples/simple_clean_1.xml b/doc/generated/examples/simple_clean_1.xml index 21adbe7366..4c2c05fcc1 100644 --- a/doc/generated/examples/simple_clean_1.xml +++ b/doc/generated/examples/simple_clean_1.xml @@ -1,5 +1,5 @@ - -% scons + +% scons scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... diff --git a/doc/generated/examples/simple_clean_2.xml b/doc/generated/examples/simple_clean_2.xml index 26f3c37250..6e50fe9b50 100644 --- a/doc/generated/examples/simple_clean_2.xml +++ b/doc/generated/examples/simple_clean_2.xml @@ -1,5 +1,5 @@ - -C:\>scons + +C:\>scons scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... diff --git a/doc/generated/examples/simple_declarative_1.xml b/doc/generated/examples/simple_declarative_1.xml index 01061cf16a..88bbb7360d 100644 --- a/doc/generated/examples/simple_declarative_1.xml +++ b/doc/generated/examples/simple_declarative_1.xml @@ -1,5 +1,5 @@ - -% scons + +% scons scons: Reading SConscript files ... Calling Program('hello.c') Calling Program('goodbye.c') diff --git a/doc/generated/examples/simple_ex1_1.xml b/doc/generated/examples/simple_ex1_1.xml index 5833edeae8..931920d348 100644 --- a/doc/generated/examples/simple_ex1_1.xml +++ b/doc/generated/examples/simple_ex1_1.xml @@ -1,5 +1,5 @@ - -% scons + +% scons scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... diff --git a/doc/generated/examples/simple_ex1_2.xml b/doc/generated/examples/simple_ex1_2.xml index f0e07a1e11..282fe45e83 100644 --- a/doc/generated/examples/simple_ex1_2.xml +++ b/doc/generated/examples/simple_ex1_2.xml @@ -1,5 +1,5 @@ - -C:\>scons + +C:\>scons scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... diff --git a/doc/generated/examples/simple_ex1_3.xml b/doc/generated/examples/simple_ex1_3.xml index f0e07a1e11..282fe45e83 100644 --- a/doc/generated/examples/simple_ex1_3.xml +++ b/doc/generated/examples/simple_ex1_3.xml @@ -1,5 +1,5 @@ - -C:\>scons + +C:\>scons scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... diff --git a/doc/generated/examples/simple_ex1_4.xml b/doc/generated/examples/simple_ex1_4.xml index 80c7b634a8..efd6e3a72e 100644 --- a/doc/generated/examples/simple_ex1_4.xml +++ b/doc/generated/examples/simple_ex1_4.xml @@ -1,5 +1,5 @@ - -C:\>scons -Q + +C:\>scons -Q cl /Fohello.obj /c hello.c /nologo link /nologo /OUT:hello.exe hello.obj embedManifestExeCheck(target, source, env) diff --git a/doc/generated/examples/simple_java_1.xml b/doc/generated/examples/simple_java_1.xml index 75cc6cc3cd..bc7994c3e5 100644 --- a/doc/generated/examples/simple_java_1.xml +++ b/doc/generated/examples/simple_java_1.xml @@ -1,5 +1,5 @@ - -% scons + +% scons scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... diff --git a/doc/generated/examples/sourcecode_bitkeeper_1.xml b/doc/generated/examples/sourcecode_bitkeeper_1.xml index 41af3a21fe..2e9a1af15c 100644 --- a/doc/generated/examples/sourcecode_bitkeeper_1.xml +++ b/doc/generated/examples/sourcecode_bitkeeper_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q AttributeError: 'SConsEnvironment' object has no attribute 'BitKeeper': File "/home/my/project/SConstruct", line 2: env.SourceCode('.', env.BitKeeper()) diff --git a/doc/generated/examples/sourcecode_cvs_1.xml b/doc/generated/examples/sourcecode_cvs_1.xml index 01ddb6b6fd..010425d873 100644 --- a/doc/generated/examples/sourcecode_cvs_1.xml +++ b/doc/generated/examples/sourcecode_cvs_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q AttributeError: 'SConsEnvironment' object has no attribute 'CVS': File "/home/my/project/SConstruct", line 2: env.SourceCode('.', env.CVS('/usr/local/CVS')) diff --git a/doc/generated/examples/sourcecode_rcs_1.xml b/doc/generated/examples/sourcecode_rcs_1.xml index e6b36dd4a5..c858b8f696 100644 --- a/doc/generated/examples/sourcecode_rcs_1.xml +++ b/doc/generated/examples/sourcecode_rcs_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q AttributeError: 'SConsEnvironment' object has no attribute 'RCS': File "/home/my/project/SConstruct", line 2: env.SourceCode('.', env.RCS()) diff --git a/doc/generated/examples/sourcecode_sccs_1.xml b/doc/generated/examples/sourcecode_sccs_1.xml index e0699d18b5..32b8c604be 100644 --- a/doc/generated/examples/sourcecode_sccs_1.xml +++ b/doc/generated/examples/sourcecode_sccs_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q AttributeError: 'SConsEnvironment' object has no attribute 'SCCS': File "/home/my/project/SConstruct", line 2: env.SourceCode('.', env.SCCS()) diff --git a/doc/generated/examples/tasks_ex1_1.xml b/doc/generated/examples/tasks_ex1_1.xml index 4885fde2f2..082369765a 100644 --- a/doc/generated/examples/tasks_ex1_1.xml +++ b/doc/generated/examples/tasks_ex1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cat < test.bar > test.h cc -o app main.cpp cat < foo.bar2 > foo.cpp diff --git a/doc/generated/examples/troubleshoot_Dump_1.xml b/doc/generated/examples/troubleshoot_Dump_1.xml index 99d1399e82..c60d2e7667 100644 --- a/doc/generated/examples/troubleshoot_Dump_1.xml +++ b/doc/generated/examples/troubleshoot_Dump_1.xml @@ -1,5 +1,5 @@ - -% scons + +% scons scons: Reading SConscript files ... { 'BUILDERS': {'_InternalInstall': <function InstallBuilderWrapper at 0x700000&gt;, '_InternalInstallVersionedLib': <function InstallVersionedBuilderWrapper at 0x700000&gt;, '_InternalInstallAs': <function InstallAsBuilderWrapper at 0x700000&gt;}, 'CONFIGUREDIR': '#/.sconf_temp', diff --git a/doc/generated/examples/troubleshoot_Dump_2.xml b/doc/generated/examples/troubleshoot_Dump_2.xml index a621422395..6888b719eb 100644 --- a/doc/generated/examples/troubleshoot_Dump_2.xml +++ b/doc/generated/examples/troubleshoot_Dump_2.xml @@ -1,5 +1,5 @@ - -C:\>scons + +C:\>scons scons: Reading SConscript files ... { 'BUILDERS': {'_InternalInstallVersionedLib': <function InstallVersionedBuilderWrapper at 0x700000&gt;, '_InternalInstall': <function InstallBuilderWrapper at 0x700000&gt;, 'Object': <SCons.Builder.CompositeBuilder object at 0x700000&gt;, 'PCH': <SCons.Builder.BuilderBase object at 0x700000&gt;, 'RES': <SCons.Builder.BuilderBase object at 0x700000&gt;, 'SharedObject': <SCons.Builder.CompositeBuilder object at 0x700000&gt;, 'StaticObject': <SCons.Builder.CompositeBuilder object at 0x700000&gt;, '_InternalInstallAs': <function InstallAsBuilderWrapper at 0x700000&gt;}, 'CC': 'cl', @@ -79,7 +79,7 @@ scons: Reading SConscript files ... 'SHCXX': '$CXX', 'SHCXXCOM': '${TEMPFILE("$SHCXX $_MSVC_OUTPUT_FLAG /c $CHANGED_SOURCES $SHCXXFLAGS $SHCCFLAGS $_CCCOMCOM","$SHCXXCOMSTR")}', 'SHCXXFLAGS': ['$CXXFLAGS'], - 'SHELL': None, + 'SHELL': 'command', 'SHLIBPREFIX': '', 'SHLIBSUFFIX': '.dll', 'SHOBJPREFIX': '$OBJPREFIX', diff --git a/doc/generated/examples/troubleshoot_Dump_ENV_1.xml b/doc/generated/examples/troubleshoot_Dump_ENV_1.xml index 786491feff..6bb946309b 100644 --- a/doc/generated/examples/troubleshoot_Dump_ENV_1.xml +++ b/doc/generated/examples/troubleshoot_Dump_ENV_1.xml @@ -1,5 +1,5 @@ - -% scons + +% scons scons: Reading SConscript files ... { 'PATH': '/usr/local/bin:/opt/bin:/bin:/usr/bin'} scons: done reading SConscript files. diff --git a/doc/generated/examples/troubleshoot_Dump_ENV_2.xml b/doc/generated/examples/troubleshoot_Dump_ENV_2.xml index eb6b735849..262a6b96df 100644 --- a/doc/generated/examples/troubleshoot_Dump_ENV_2.xml +++ b/doc/generated/examples/troubleshoot_Dump_ENV_2.xml @@ -1,7 +1,7 @@ - -C:\>scons + +C:\>scons scons: Reading SConscript files ... -{ 'PATH': 'C:\\WINDOWS\\System32', +{ 'PATH': 'C:\\WINDOWS\\System32:/usr/bin', 'PATHEXT': '.COM;.EXE;.BAT;.CMD', 'SystemRoot': 'C:\\WINDOWS'} scons: done reading SConscript files. diff --git a/doc/generated/examples/troubleshoot_explain1_1.xml b/doc/generated/examples/troubleshoot_explain1_1.xml index 2a9547deb0..140a88e3a8 100644 --- a/doc/generated/examples/troubleshoot_explain1_1.xml +++ b/doc/generated/examples/troubleshoot_explain1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cp file.in file.oout % scons -Q cp file.in file.oout diff --git a/doc/generated/examples/troubleshoot_explain1_2.xml b/doc/generated/examples/troubleshoot_explain1_2.xml index 9864cd78d8..249376877e 100644 --- a/doc/generated/examples/troubleshoot_explain1_2.xml +++ b/doc/generated/examples/troubleshoot_explain1_2.xml @@ -1,5 +1,5 @@ - -% scons -Q --debug=explain + +% scons -Q --debug=explain scons: building `file.out' because it doesn't exist cp file.in file.oout diff --git a/doc/generated/examples/troubleshoot_explain1_3.xml b/doc/generated/examples/troubleshoot_explain1_3.xml index 56a7417aa2..c3ff407980 100644 --- a/doc/generated/examples/troubleshoot_explain1_3.xml +++ b/doc/generated/examples/troubleshoot_explain1_3.xml @@ -1,7 +1,7 @@ - -% scons -Q --warn=target-not-built + +% scons -Q --warn=target-not-built cp file.in file.oout scons: warning: Cannot find target file.out after building -File "/home/bdeegan/devel/scons/scons-bugfixes-1/bootstrap/src/script/scons.py", line 201, in <module> +File "/Users/bdbaddog/devel/scons/git/scons-bugfixes-3/bootstrap/src/script/scons.py", line 204, in <module> diff --git a/doc/generated/examples/troubleshoot_explain2_1.xml b/doc/generated/examples/troubleshoot_explain2_1.xml index cd95a44a84..70f2e90b18 100644 --- a/doc/generated/examples/troubleshoot_explain2_1.xml +++ b/doc/generated/examples/troubleshoot_explain2_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o file1.o -c file1.c cc -o file2.o -c file2.c cc -o file3.o -c file3.c diff --git a/doc/generated/examples/troubleshoot_explain3_1.xml b/doc/generated/examples/troubleshoot_explain3_1.xml index bacb7e8746..0207782605 100644 --- a/doc/generated/examples/troubleshoot_explain3_1.xml +++ b/doc/generated/examples/troubleshoot_explain3_1.xml @@ -1,5 +1,5 @@ - -% scons -Q + +% scons -Q cc -o file1.o -c -I. file1.c cc -o file2.o -c -I. file2.c cc -o file3.o -c -I. file3.c diff --git a/doc/generated/examples/troubleshoot_findlibs_1.xml b/doc/generated/examples/troubleshoot_findlibs_1.xml index 8fc4e5f7e6..62f1c2ea96 100644 --- a/doc/generated/examples/troubleshoot_findlibs_1.xml +++ b/doc/generated/examples/troubleshoot_findlibs_1.xml @@ -1,5 +1,5 @@ - -% scons -Q --debug=findlibs + +% scons -Q --debug=findlibs findlibs: looking for 'libfoo.a' in 'libs1' ... findlibs: ... FOUND 'libfoo.a' in 'libs1' findlibs: looking for 'libfoo.so' in 'libs1' ... diff --git a/doc/generated/examples/troubleshoot_stacktrace_1.xml b/doc/generated/examples/troubleshoot_stacktrace_1.xml index cc3ca7bd3e..e670ed0fcc 100644 --- a/doc/generated/examples/troubleshoot_stacktrace_1.xml +++ b/doc/generated/examples/troubleshoot_stacktrace_1.xml @@ -1,4 +1,4 @@ - -% scons -Q + +% scons -Q scons: *** [prog.o] Source `prog.c' not found, needed by target `prog.o'. diff --git a/doc/generated/examples/troubleshoot_stacktrace_2.xml b/doc/generated/examples/troubleshoot_stacktrace_2.xml index 52bfa433d1..381a2a20b9 100644 --- a/doc/generated/examples/troubleshoot_stacktrace_2.xml +++ b/doc/generated/examples/troubleshoot_stacktrace_2.xml @@ -1,10 +1,10 @@ - -% scons -Q --debug=stacktrace + +% scons -Q --debug=stacktrace scons: *** [prog.o] Source `prog.c' not found, needed by target `prog.o'. scons: internal stack trace: File "bootstrap/src/engine/SCons/Job.py", line 199, in start task.prepare() - File "bootstrap/src/engine/SCons/Script/Main.py", line 176, in prepare + File "bootstrap/src/engine/SCons/Script/Main.py", line 177, in prepare return SCons.Taskmaster.OutOfDateTask.prepare(self) File "bootstrap/src/engine/SCons/Taskmaster.py", line 198, in prepare executor.prepare() diff --git a/doc/generated/examples/troubleshoot_taskmastertrace_1.xml b/doc/generated/examples/troubleshoot_taskmastertrace_1.xml index 578951d6a3..0ada18da91 100644 --- a/doc/generated/examples/troubleshoot_taskmastertrace_1.xml +++ b/doc/generated/examples/troubleshoot_taskmastertrace_1.xml @@ -1,5 +1,5 @@ - -% scons -Q --taskmastertrace=- prog + +% scons -Q --taskmastertrace=- prog Taskmaster: Looking for a node to evaluate Taskmaster: Considering node <no_state 0 'prog'> and its children: diff --git a/doc/generated/examples/troubleshoot_tree1_1.xml b/doc/generated/examples/troubleshoot_tree1_1.xml index 4ccadc6b7d..bc50b6b970 100644 --- a/doc/generated/examples/troubleshoot_tree1_1.xml +++ b/doc/generated/examples/troubleshoot_tree1_1.xml @@ -1,5 +1,5 @@ - -% scons -Q --tree=all + +% scons -Q --tree=all cc -o f1.o -c -I. f1.c cc -o f2.o -c -I. f2.c cc -o f3.o -c -I. f3.c diff --git a/doc/generated/examples/troubleshoot_tree1_2.xml b/doc/generated/examples/troubleshoot_tree1_2.xml index 0bd487410a..0ed526e8e9 100644 --- a/doc/generated/examples/troubleshoot_tree1_2.xml +++ b/doc/generated/examples/troubleshoot_tree1_2.xml @@ -1,5 +1,5 @@ - -% scons -Q --tree=all f2.o + +% scons -Q --tree=all f2.o cc -o f2.o -c -I. f2.c +-f2.o +-f2.c diff --git a/doc/generated/examples/troubleshoot_tree1_3.xml b/doc/generated/examples/troubleshoot_tree1_3.xml index 75fa841897..25e403e503 100644 --- a/doc/generated/examples/troubleshoot_tree1_3.xml +++ b/doc/generated/examples/troubleshoot_tree1_3.xml @@ -1,5 +1,5 @@ - -% scons -Q --tree=all f1.o f3.o + +% scons -Q --tree=all f1.o f3.o cc -o f1.o -c -I. f1.c +-f1.o +-f1.c diff --git a/doc/generated/examples/troubleshoot_tree1_4.xml b/doc/generated/examples/troubleshoot_tree1_4.xml index 409bce94c5..1f615cc2bb 100644 --- a/doc/generated/examples/troubleshoot_tree1_4.xml +++ b/doc/generated/examples/troubleshoot_tree1_4.xml @@ -1,5 +1,5 @@ - -% scons -Q --tree=status + +% scons -Q --tree=status cc -o f1.o -c -I. f1.c cc -o f2.o -c -I. f2.c cc -o f3.o -c -I. f3.c diff --git a/doc/generated/examples/troubleshoot_tree1_5.xml b/doc/generated/examples/troubleshoot_tree1_5.xml index b852ab05d5..06de4da735 100644 --- a/doc/generated/examples/troubleshoot_tree1_5.xml +++ b/doc/generated/examples/troubleshoot_tree1_5.xml @@ -1,5 +1,5 @@ - -% scons -Q --tree=derived + +% scons -Q --tree=derived cc -o f1.o -c -I. f1.c cc -o f2.o -c -I. f2.c cc -o f3.o -c -I. f3.c diff --git a/doc/generated/examples/troubleshoot_tree1_6.xml b/doc/generated/examples/troubleshoot_tree1_6.xml index a0d42d7e45..402d9fc47d 100644 --- a/doc/generated/examples/troubleshoot_tree1_6.xml +++ b/doc/generated/examples/troubleshoot_tree1_6.xml @@ -1,5 +1,5 @@ - -% scons -Q --tree=derived,status + +% scons -Q --tree=derived,status cc -o f1.o -c -I. f1.c cc -o f2.o -c -I. f2.c cc -o f3.o -c -I. f3.c diff --git a/doc/generated/examples/troubleshoot_tree2_1.xml b/doc/generated/examples/troubleshoot_tree2_1.xml index 85febf594b..209df286cb 100644 --- a/doc/generated/examples/troubleshoot_tree2_1.xml +++ b/doc/generated/examples/troubleshoot_tree2_1.xml @@ -1,5 +1,5 @@ - -% scons -Q --tree=all + +% scons -Q --tree=all cc -o f1.o -c -I. f1.c cc -o f2.o -c -I. f2.c cc -o f3.o -c -I. f3.c diff --git a/doc/generated/examples/troubleshoot_tree2_2.xml b/doc/generated/examples/troubleshoot_tree2_2.xml index 5380fad19b..3400c2548d 100644 --- a/doc/generated/examples/troubleshoot_tree2_2.xml +++ b/doc/generated/examples/troubleshoot_tree2_2.xml @@ -1,5 +1,5 @@ - -% scons -Q --tree=prune + +% scons -Q --tree=prune cc -o f1.o -c -I. f1.c cc -o f2.o -c -I. f2.c cc -o f3.o -c -I. f3.c diff --git a/doc/generated/examples/variants_ex_1.xml b/doc/generated/examples/variants_ex_1.xml index 12a14d63a5..1b45e46e7c 100644 --- a/doc/generated/examples/variants_ex_1.xml +++ b/doc/generated/examples/variants_ex_1.xml @@ -1,5 +1,5 @@ - -% scons -Q OS=linux + +% scons -Q OS=linux Install file: "build/linux/world/world.h" as "export/linux/include/world.h" cc -o build/linux/hello/hello.o -c -Iexport/linux/include build/linux/hello/hello.c cc -o build/linux/world/world.o -c -Iexport/linux/include build/linux/world/world.c diff --git a/doc/generated/examples/variants_ex_2.xml b/doc/generated/examples/variants_ex_2.xml index c129cc468a..1a78614267 100644 --- a/doc/generated/examples/variants_ex_2.xml +++ b/doc/generated/examples/variants_ex_2.xml @@ -1,5 +1,5 @@ - -C:\>scons -Q OS=windows + +C:\>scons -Q OS=windows Install file: "build/windows/world/world.h" as "export/windows/include/world.h" cl /Fobuild\windows\hello\hello.obj /c build\windows\hello\hello.c /nologo /Iexport\windows\include cl /Fobuild\windows\world\world.obj /c build\windows\world\world.c /nologo /Iexport\windows\include diff --git a/doc/generated/functions.gen b/doc/generated/functions.gen index 617a0a4ff0..8327334a7a 100644 --- a/doc/generated/functions.gen +++ b/doc/generated/functions.gen @@ -1,4 +1,4 @@ - + %scons; @@ -12,7 +12,7 @@ %variables-mod; ]> - + Action(action, [cmd/str/fun, [var, ...]] [option=value, ...]) @@ -20,8 +20,7 @@ env.Action(action, [cmd/str/fun, [var, ...]] [option=value, ...]) - - + Creates an Action object for the specified action. @@ -29,7 +28,7 @@ See the section "Action Objects," below, for a complete explanation of the arguments and behavior. - + Note that the env.Action() form of the invocation will expand @@ -56,8 +55,7 @@ until the Action object is actually used. env.AddMethod(function, [name]) - - + When called with the AddMethod() form, @@ -86,11 +84,11 @@ specified itself is used for the method name. - + Examples: - + # Note that the first argument to the function to # be attached as a method must be the object through # which the method will be called; the Python @@ -116,8 +114,7 @@ env.other_method_name('another arg') AddOption(arguments) - - + This function adds a new command-line option to be recognized. The specified arguments @@ -129,12 +126,12 @@ see the documentation for for a thorough discussion of its option-processing capabities. - + In addition to the arguments and values supported by the optparse.add_option() method, the SCons -AddOption +AddOption function allows you to set the nargs keyword value to @@ -146,7 +143,7 @@ argument. When nargs = '?' is passed to the -AddOption +AddOption function, the const keyword argument @@ -156,28 +153,28 @@ option is specified on the command line without an explicit argument. - + If no default= keyword argument is supplied when calling -AddOption, +AddOption, the option will have a default value of None. - + Once a new command-line option has been added with -AddOption, +AddOption, the option value may be accessed using -GetOption +GetOption or env.GetOption(). The value may also be set, using -SetOption +SetOption or env.SetOption(), if conditions in a -SConscript +SConscript require overriding any default value. Note, however, that a value specified on the command line will @@ -185,7 +182,7 @@ value specified on the command line will override a value set by any SConscript file. - + Any specified help= strings for the new option(s) @@ -197,22 +194,22 @@ options (the latter only if no other help text is specified in the SConscript files). The help text for the local options specified by -AddOption +AddOption will appear below the SCons options themselves, under a separate Local Options heading. The options will appear in the help text in the order in which the -AddOption +AddOption calls occur. - + Example: - + AddOption('--prefix', dest='prefix', nargs=1, type='string', @@ -230,8 +227,7 @@ env = Environment(PREFIX = GetOption('prefix')) env.AddPostAction(target, action) - - + Arranges for the specified action to be performed @@ -244,7 +240,7 @@ can be converted into an Action object (see below). - + When multiple targets are supplied, the action may be called multiple times, once after each action that generates @@ -259,8 +255,7 @@ one or more targets in the list. env.AddPreAction(target, action) - - + Arranges for the specified action to be performed @@ -273,14 +268,14 @@ can be converted into an Action object (see below). - + When multiple targets are specified, the action(s) may be called multiple times, once before each action that generates one or more targets in the list. - + Note that if any of the targets are built in multiple steps, the action will be invoked just before the "final" action that specifically @@ -291,16 +286,16 @@ from a specified source file via an intermediate object file: - + foo = Program('foo.c') AddPreAction(foo, 'pre_action') - + The specified pre_action would be executed before -scons +scons calls the link command that actually generates the executable program binary foo, @@ -317,8 +312,7 @@ file into an object file. env.Alias(alias, [targets, [action]]) - - + Creates one or more phony targets that expand to one or more other targets. An optional @@ -332,17 +326,17 @@ which exists outside of any file system. This Node object, or the alias name, may be used as a dependency of any other target, including another alias. -Alias +Alias can be called multiple times for the same alias to add additional targets to the alias, or additional actions to the list for this alias. - + Examples: - + Alias('install') Alias('install', '/usr/bin') Alias(['install', 'install-lib'], '/usr/local/lib') @@ -358,8 +352,7 @@ env.Alias('update', ['file1', 'file2'], "update_database $SOURCES") AllowSubstExceptions([exception, ...]) - - + Specifies the exceptions that will be allowed when expanding construction variables. By default, @@ -375,19 +368,19 @@ will generate an error message and terminate processing. - + If -AllowSubstExceptions +AllowSubstExceptions is called multiple times, each call completely overwrites the previous list of allowed exceptions. - + Example: - + # Requires that all construction variable names exist. # (You may wish to do this if you want to enforce strictly # that all construction variables must be defined before use.) @@ -406,14 +399,13 @@ AllowSubstExceptions(IndexError, NameError, ZeroDivisionError) env.AlwaysBuild(target, ...) - - + Marks each given target so that it is always assumed to be out of date, and will always be rebuilt if needed. Note, however, that -AlwaysBuild +AlwaysBuild does not add its target(s) to the default target list, so the targets will only be built if they are specified on the command line, @@ -422,7 +414,7 @@ they will always be built if so specified. Multiple targets can be passed in to a single call to -AlwaysBuild. +AlwaysBuild. @@ -430,8 +422,7 @@ Multiple targets can be passed in to a single call to env.Append(key=val, [...]) - - + Appends the specified keyword arguments to the end of construction variables in the environment. If the Environment does not have @@ -447,11 +438,11 @@ and the lists are added together. (See also the Prepend method, below.) - + Example: - + env.Append(CCFLAGS = ' -g', FOO = ['foo.yyy']) @@ -460,8 +451,7 @@ env.Append(CCFLAGS = ' -g', FOO = ['foo.yyy']) env.AppendENVPath(name, newpath, [envname, sep, delete_existing]) - - + This appends new path elements to the given path in the specified external environment (ENV @@ -479,18 +469,18 @@ case where the given old path variable is a list instead of a string, in which case a list will be returned instead of a string. - + If delete_existing is 0, then adding a path that already exists will not move it to the end; it will stay where it is in the list. - + Example: - + print 'before:',env['ENV']['INCLUDE'] include_path = '/foo/bar:/foo' env.AppendENVPath('INCLUDE', include_path) @@ -506,8 +496,7 @@ after: /biz:/foo/bar:/foo env.AppendUnique(key=val, [...], delete_existing=0) - - + Appends the specified keyword arguments to the end of construction variables in the environment. If the Environment does not have @@ -523,11 +512,11 @@ existing matching values are removed first, so existing values in the arg list move to the end of the list. - + Example: - + env.AppendUnique(CCFLAGS = '-g', FOO = ['foo.yyy']) @@ -539,10 +528,9 @@ env.AppendUnique(CCFLAGS = '-g', FOO = ['foo.yyy']) env.BuildDir(build_dir, src_dir, [duplicate]) - - + Deprecated synonyms for -VariantDir +VariantDir and env.VariantDir(). The @@ -550,7 +538,7 @@ The argument becomes the variant_dir argument of -VariantDir +VariantDir or env.VariantDir(). @@ -563,8 +551,7 @@ or env.Builder(action, [arguments]) - - + Creates a Builder object for the specified action. @@ -572,7 +559,7 @@ See the section "Builder Objects," below, for a complete explanation of the arguments and behavior. - + Note that the env.Builder() form of the invocation will expand @@ -587,7 +574,7 @@ construction environment through which env.Builder() was called. The -Builder +Builder form delays all variable expansion until after the Builder object is actually called. @@ -600,15 +587,14 @@ until after the Builder object is actually called. env.CacheDir(cache_dir) - - + Specifies that -scons +scons will maintain a cache of derived files in cache_dir. The derived files in the cache will be shared among all the builds using the same -CacheDir +CacheDir call. Specifying a cache_dir @@ -617,13 +603,13 @@ of disables derived file caching. - + Calling env.CacheDir() will only affect targets built through the specified construction environment. Calling -CacheDir +CacheDir sets a global default that will be used by all targets built through construction environments @@ -634,21 +620,21 @@ have an specified. - + When a CacheDir() is being used and -scons +scons finds a derived file that needs to be rebuilt, it will first look in the cache to see if a derived file has already been built from identical input files and an identical build action (as incorporated into the MD5 build signature). If so, -scons +scons will retrieve the file from the cache. If the derived file is not present in the cache, -scons +scons will rebuild it and then place a copy of the built file in the cache (identified by its MD5 build signature), @@ -657,20 +643,20 @@ builds that need to build the same derived file from identical inputs. - + Use of a specified -CacheDir +CacheDir may be disabled for any invocation by using the option. - + If the option is used, -scons +scons will place a copy of all derived files in the cache, @@ -678,17 +664,17 @@ even if they already existed and were not built by this invocation. This is useful to populate a cache the first time -CacheDir +CacheDir is added to a build, or after using the option. - + When using -CacheDir, -scons +CacheDir, +scons will report, "Retrieved `file' from cache," unless the @@ -697,7 +683,7 @@ option is being used. When the option is used, -scons +scons will print the action that would have been used to build the file, @@ -709,9 +695,9 @@ a given derived file has been built in-place or retrieved from the cache. - + The -NoCache +NoCache method can be used to disable caching of specific files. This can be useful if inputs and/or outputs of some tool are impossible to predict or prohibitively large. @@ -725,8 +711,7 @@ predict or prohibitively large. env.Clean(targets, files_or_dirs) - - + This specifies a list of files or directories which should be removed whenever the targets are specified with the @@ -734,28 +719,28 @@ command line option. The specified targets may be a list or an individual target. Multiple calls to -Clean +Clean are legal, and create new targets or add files and directories to the clean list for the specified targets. - + Multiple files or directories should be specified either as separate arguments to the -Clean +Clean method, or as a list. -Clean +Clean will also accept the return value of any of the construction environment Builder methods. Examples: - + The related -NoClean +NoClean function overrides calling -Clean +Clean for the same target, and any targets passed to both functions will not @@ -764,23 +749,23 @@ be removed by the option. - + Examples: - + Clean('foo', ['bar', 'baz']) Clean('dist', env.Program('hello', 'hello.c')) Clean(['foo', 'bar'], 'something_else_to_clean') - + In this example, installing the project creates a subdirectory for the documentation. This statement causes the subdirectory to be removed if the project is deinstalled. - + Clean(docdir, os.path.join(docdir, projectname)) @@ -789,8 +774,7 @@ Clean(docdir, os.path.join(docdir, projectname)) env.Clone([key=val, ...]) - - + Returns a separate copy of a construction environment. If there are any keyword arguments specified, they are added to the returned copy, @@ -798,32 +782,32 @@ overwriting any existing values for the keywords. - + Example: - + env2 = env.Clone() env3 = env.Clone(CCFLAGS = '-g') - + Additionally, a list of tools and a toolpath may be specified, as in the Environment constructor: - + def MyTool(env): env['FOO'] = 'bar' env4 = env.Clone(tools = ['msvc', MyTool]) - + The parse_flags keyword argument is also recognized: - + # create an environment for compiling programs that use wxWidgets wx_env = env.Clone(parse_flags = '!wx-config --cflags --cxxflags') @@ -836,8 +820,7 @@ wx_env = env.Clone(parse_flags = '!wx-config --cflags --cxxflags') env.Command(target, source, action, [key=val, ...]) - - + Executes a specific action (or list of actions) to build a target file or files. @@ -846,7 +829,7 @@ than defining a separate Builder object for a single special-case build. - + As a special case, the source_scanner keyword argument can @@ -862,12 +845,12 @@ changes to files that aren't already specified in other Builder of function calls.) - + Any other keyword arguments specified override any same-named existing construction variables. - + An action can be an external command, specified as a string, or a callable Python object; @@ -884,11 +867,11 @@ or by a to ignore the exit status of the external command. - + Examples: - + env.Command('foo.out', 'foo.in', "$FOO_BUILD < $SOURCES > $TARGET") @@ -906,9 +889,9 @@ env.Command('baz.out', 'baz.in', rename ]) - + Note that the -Command +Command function will usually assume, by default, that the specified targets and/or sources are Files, if no other part of the configuration @@ -917,24 +900,24 @@ If necessary, you can explicitly specify that targets or source nodes should be treated as directoriese by using the -Dir +Dir or env.Dir() functions. - + Examples: - + env.Command('ddd.list', Dir('ddd'), 'ls -l $SOURCE > $TARGET') env['DISTDIR'] = 'destination/directory' env.Command(env.Dir('$DISTDIR')), None, make_distdir) - + (Also note that SCons will usually automatically create any directory necessary to hold a target file, so you normally don't need to create directories by hand.) @@ -948,8 +931,7 @@ so you normally don't need to create directories by hand.) env.Configure([custom_tests, conf_dir, log_file, config_h]) - - + Creates a Configure object for integrated functionality similar to GNU autoconf. See the section "Configure Contexts," @@ -961,8 +943,7 @@ below, for a complete explanation of the arguments and behavior. env.Copy([key=val, ...]) - - + A now-deprecated synonym for env.Clone(). @@ -975,8 +956,7 @@ A now-deprecated synonym for env.Decider(function) - - + Specifies that all up-to-date decisions for targets built through this construction environment will be handled by the specified @@ -988,7 +968,7 @@ that specify the type of decision function to be performed: - + timestamp-newer @@ -1071,11 +1051,11 @@ all within a single second. - + Examples: - + # Use exact timestamp matches by default. Decider('timestamp-match') @@ -1084,7 +1064,7 @@ Decider('timestamp-match') env.Decider('content') - + In addition to the above already-available functions, the function @@ -1092,7 +1072,7 @@ argument may be an actual Python function that takes the following three arguments: - + dependency @@ -1140,7 +1120,7 @@ size, or content signature. - + The function should return a @@ -1168,11 +1148,11 @@ Ignoring some or all of the function arguments is perfectly normal. - + Example: - + def my_decider(dependency, target, prev_ni): return not os.path.exists(str(target)) @@ -1187,55 +1167,54 @@ env.Decider(my_decider) env.Default(targets) - - + This specifies a list of default targets, which will be built by -scons +scons if no explicit targets are given on the command line. Multiple calls to -Default +Default are legal, and add to the list of default targets. - + Multiple targets should be specified as separate arguments to the -Default +Default method, or as a list. -Default +Default will also accept the Node returned by any of a construction environment's builder methods. - + Examples: - + Default('foo', 'bar', 'baz') env.Default(['a', 'b', 'c']) hello = env.Program('hello', 'hello.c') env.Default(hello) - + An argument to -Default +Default of None will clear all default targets. Later calls to -Default +Default will add to the (now empty) default-target list like normal. - + The current list of targets added using the -Default +Default function or method is available in the DEFAULT_TARGETS list; @@ -1247,8 +1226,7 @@ see below. DefaultEnvironment([args]) - - + Creates and returns a default construction environment object. This construction environment is used internally by SCons in order to execute many of the global functions in this list, @@ -1264,8 +1242,7 @@ from source code management systems. env.Depends(target, dependency) - - + Specifies an explicit dependency; the target @@ -1288,11 +1265,11 @@ is not caught by a Scanner for the file. - + Example: - + env.Depends('foo', 'other-input-file-for-foo') mylib = env.Library('mylib.c') @@ -1313,8 +1290,7 @@ env.Depends(bar, installed_lib) env.Dictionary([vars]) - - + Returns a dictionary object containing copies of all of the construction variables in the environment. @@ -1323,11 +1299,11 @@ only the specified construction variables are returned in the dictionary. - + Example: - + dict = env.Dictionary() cc_dict = env.Dictionary('CC', 'CCFLAGS', 'CCCOM') @@ -1340,8 +1316,7 @@ cc_dict = env.Dictionary('CC', 'CCFLAGS', 'CCCOM') env.Dir(name, [directory]) - - + This returns a Directory Node, an object that represents the specified directory name. @@ -1354,7 +1329,7 @@ If no is specified, the current script's directory is used as the parent. - + If name is a list, SCons returns a list of Dir nodes. @@ -1362,7 +1337,7 @@ Construction variables are expanded in name. - + Directory Nodes can be used anywhere you would supply a string as a directory name to a Builder method or function. @@ -1376,8 +1351,7 @@ see "File and Directory Nodes," below. env.Dump([key]) - - + Returns a pretty printable representation of the environment. key, if not @@ -1385,36 +1359,36 @@ if not should be a string containing the name of the variable of interest. - + This SConstruct: - + env=Environment() print env.Dump('CCCOM') - + will print: - + '$CC -c -o $TARGET $CCFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS $SOURCES' - + While this SConstruct: - + env=Environment() print env.Dump() - + will print: - + { 'AR': 'ar', 'ARCOM': '$AR $ARFLAGS $TARGET $SOURCES\n$RANLIB $RANLIBFLAGS $TARGET', 'ARFLAGS': ['r'], @@ -1432,8 +1406,7 @@ will print: env.EnsurePythonVersion(major, minor) - - + Ensure that the Python version is at least major.minor. This function will @@ -1441,11 +1414,11 @@ print out an error message and exit SCons with a non-zero exit code if the actual Python version is not late enough. - + Example: - + EnsurePythonVersion(2,2) @@ -1457,8 +1430,7 @@ EnsurePythonVersion(2,2) env.EnsureSConsVersion(major, minor, [revision]) - - + Ensure that the SCons version is at least major.minor, or @@ -1471,11 +1443,11 @@ print out an error message and exit SCons with a non-zero exit code if the actual SCons version is not late enough. - + Examples: - + EnsureSConsVersion(0,14) EnsureSConsVersion(0,96,90) @@ -1489,8 +1461,7 @@ EnsureSConsVersion(0,96,90) env.Environment([key=value, ...]) - - + Return a new construction environment initialized with the specified key=value @@ -1505,8 +1476,7 @@ pairs. env.Execute(action, [strfunction, varlist]) - - + Executes an Action object. The specified action @@ -1524,14 +1494,14 @@ or return value of the Python function will be returned. - + Note that -scons +scons will print an error message if the executed action fails--that is, exits with or returns a non-zero value. -scons +scons will not, however, @@ -1540,12 +1510,12 @@ if the specified action fails. If you want the build to stop in response to a failed -Execute +Execute call, you must explicitly check for a non-zero return value: - + Execute(Copy('file.out', 'file.in')) if Execute("mkdir sub/dir/ectory"): @@ -1561,10 +1531,9 @@ if Execute("mkdir sub/dir/ectory"): env.Exit([value]) - - + This tells -scons +scons to exit immediately with the specified value. @@ -1582,29 +1551,28 @@ is used if no value is specified. env.Export(vars) - - + This tells -scons +scons to export a list of variables from the current SConscript file to all other SConscript files. The exported variables are kept in a global collection, so subsequent calls to -Export +Export will over-write previous exports that have the same name. Multiple variable names can be passed to -Export +Export as separate arguments or as a list. Keyword arguments can be used to provide names and their values. A dictionary can be used to map variables to a different name when exported. Both local variables and global variables can be exported. - + Examples: - + env = Environment() # Make env available for all SConscript files to Import(). Export("env") @@ -1623,15 +1591,15 @@ Export(debug = env) Export({"debug":env}) - + Note that the -SConscript +SConscript function supports an exports argument that makes it easier to to export a variable or set of variables to a single SConscript file. See the description of the -SConscript +SConscript function, below. @@ -1643,8 +1611,7 @@ function, below. env.File(name, [directory]) - - + This returns a File Node, an object that represents the specified file @@ -1655,7 +1622,7 @@ can be a relative or absolute path. is an optional directory that will be used as the parent directory. - + If name is a list, SCons returns a list of File nodes. @@ -1663,7 +1630,7 @@ Construction variables are expanded in name. - + File Nodes can be used anywhere you would supply a string as a file name to a Builder method or function. @@ -1680,8 +1647,7 @@ see "File and Directory Nodes," below. env.FindFile(file, dirs) - - + Search for file in the path specified by @@ -1693,11 +1659,11 @@ this function also searches for derived files that have not yet been built. - + Example: - + foo = env.FindFile('foo', ['dir1', 'dir2']) @@ -1709,25 +1675,24 @@ foo = env.FindFile('foo', ['dir1', 'dir2']) env.FindInstalledFiles() - - + Returns the list of targets set up by the -Install +Install or -InstallAs +InstallAs builders. - + This function serves as a convenient method to select the contents of a binary package. - + Example: - + Install( '/bin', [ 'executable_a', 'executable_b' ] ) # will return the file node list @@ -1746,8 +1711,7 @@ FindInstalledFiles() FindPathDirs(variable) - - + Returns a function (actually a callable Python object) intended to be used as the @@ -1759,14 +1723,14 @@ in a construction environment and treat the construction variable's value as a list of directory paths that should be searched (like -$CPPPATH, -$LIBPATH, +$CPPPATH, +$LIBPATH, etc.). - + Note that use of -FindPathDirs +FindPathDirs is generally preferable to writing your own path_function @@ -1774,11 +1738,11 @@ for the following reasons: 1) The returned list will contain all appropriate directories found in source trees (when -VariantDir +VariantDir is used) or in code repositories (when -Repository +Repository or the option are used). @@ -1790,11 +1754,11 @@ and avoid re-scanning the directories for files, when possible. - + Example: - + def my_scan(node, env, path, arg): # Code to scan file contents goes here... return include_files @@ -1812,8 +1776,7 @@ scanner = Scanner(name = 'myscanner', env.FindSourceFiles(node='"."') - - + Returns the list of nodes which serve as the source of the built files. It does so by inspecting the dependency tree starting at the optional argument @@ -1823,16 +1786,16 @@ which defaults to the '"."'-node. It will then return all leaves of These are all children which have no further children. - + This function is a convenient method to select the contents of a Source Package. - + Example: - + Program( 'src/main_a.c' ) Program( 'src/main_b.c' ) Program( 'main_c.c' ) @@ -1844,7 +1807,7 @@ FindSourceFiles() FindSourceFiles( 'src' ) - + As you can see build support files (SConstruct in the above example) will also be returned by this function. @@ -1857,8 +1820,7 @@ will also be returned by this function. env.Flatten(sequence) - - + Takes a sequence (that is, a Python list or tuple) that may contain nested sequences and returns a flattened list containing @@ -1871,11 +1833,11 @@ but direct Python manipulation of these lists does not. - + Examples: - + foo = Object('foo.c') bar = Object('bar.c') @@ -1898,8 +1860,7 @@ for object in Flatten(objects): GetBuildFailures() - - + Returns a list of exceptions for the actions that failed while attempting to build targets. @@ -1911,13 +1872,13 @@ that record various aspects of the build failure: - + .node The node that was being built when the build failure occurred. - + .status The numeric exit status returned by the command or Python function @@ -1925,7 +1886,7 @@ that failed when trying to build the specified Node. - + .errstr The SCons error string describing the build failure. @@ -1935,7 +1896,7 @@ to indicate that an executed command exited with a status of 2.) - + .filename The name of the file or directory that actually caused the failure. @@ -1958,7 +1919,7 @@ attribute will be sub/dir. - + .executor The SCons Executor object for the target Node @@ -1968,7 +1929,7 @@ the construction environment used for the failed action. - + .action The actual SCons Action object that failed. This will be one specific action @@ -1977,26 +1938,26 @@ actions that would have been executed to build the target. - + .command The actual expanded command that was executed and failed, after expansion of -$TARGET, -$SOURCE, +$TARGET, +$SOURCE, and other construction variables. - + Note that the -GetBuildFailures +GetBuildFailures function will always return an empty list until any build failure has occurred, which means that -GetBuildFailures +GetBuildFailures will always return an empty list while the -SConscript +SConscript files are being read. Its primary intended use is for functions that will be @@ -2008,7 +1969,7 @@ function. Example: - + import atexit def print_build_failures(): @@ -2027,10 +1988,9 @@ atexit.register(print_build_failures) env.GetBuildPath(file, [...]) - - + Returns the -scons +scons path name (or names) for the specified file (or files). @@ -2038,7 +1998,7 @@ The specified file or files may be -scons +scons Nodes or strings representing path names. @@ -2050,10 +2010,9 @@ Nodes or strings representing path names. env.GetLaunchDir() - - + Returns the absolute path name of the directory from which -scons +scons was initially invoked. This can be useful when using the , @@ -2062,7 +2021,7 @@ or options, which internally change to the directory in which the -SConstruct +SConstruct file is found. @@ -2074,17 +2033,16 @@ file is found. env.GetOption(name) - - + This function provides a way to query the value of SCons options set on scons command line (or set using the -SetOption +SetOption function). The options supported are: - + cache_debug @@ -2329,7 +2287,7 @@ which corresponds to --warn and --warning. - + See the documentation for the corresponding command line object for information about each specific option. @@ -2343,12 +2301,11 @@ option. env.Glob(pattern, [ondisk, source, strings, exclude]) - - + Returns Nodes (or strings) that match the specified pattern, relative to the directory of the current -SConscript +SConscript file. The env.Glob() @@ -2358,20 +2315,20 @@ and returns whatever matches the resulting expanded pattern. - + The specified pattern uses Unix shell style metacharacters for matching: - + * matches everything ? matches any single character [seq] matches any character in seq [!seq] matches any char not in seq - + If the first character of a filename is a dot, it must be matched explicitly. Character matches do @@ -2379,17 +2336,17 @@ Character matches do span directory separators. - + The -Glob +Glob knows about repositories (see the -Repository +Repository function) and source directories (see the -VariantDir +VariantDir function) and returns a Node (or string, if so configured) @@ -2399,7 +2356,7 @@ anywhere in a corresponding repository or source directory. - + The ondisk argument may be set to @@ -2413,7 +2370,7 @@ return corresponding Nodes for any on-disk matches found. - + The source argument may be set to @@ -2421,20 +2378,20 @@ argument may be set to (or any equivalent value) to specify that, when the local directory is a -VariantDir, +VariantDir, the returned Nodes should be from the corresponding source directory, not the local directory. - + The strings argument may be set to True (or any equivalent value) to have the -Glob +Glob function return strings, not Nodes, that represent the matched files or directories. The returned strings will be relative to @@ -2443,18 +2400,18 @@ the local (SConscript) directory. arbitrary manipulation of file names, but if the returned strings are passed to a different -SConscript +SConscript file, any Node translation will be relative to the other -SConscript +SConscript directory, not the original -SConscript +SConscript directory.) - + The exclude argument may be set to a pattern or a list of patterns @@ -2464,11 +2421,11 @@ Elements matching a least one pattern of this list will be excluded. - + Examples: - + Program('foo', Glob('*.c')) Zip('/tmp/everything', Glob('.??*') + Glob('*')) sources = Glob('*.cpp', exclude=['os_*_specific_*.cpp']) + Glob('os_%s_specific_*.cpp'%currentOS) @@ -2482,20 +2439,19 @@ sources = Glob('*.cpp', exclude=['os_*_specific_*.cpp']) + Glob('os_%s_specific_ env.Help(text, append=False) - - + This specifies help text to be printed if the argument is given to -scons. +scons. If -Help +Help is called multiple times, the text is appended together in the order that -Help +Help is called. With append set to False, any -Help +Help text generated with -AddOption +AddOption is clobbered. If append is True, the AddOption help is prepended to the help string, thus preserving the @@ -2510,34 +2466,33 @@ message. env.Ignore(target, dependency) - - + The specified dependency file(s) will be ignored when deciding if the target file(s) need to be rebuilt. - + You can also use -Ignore +Ignore to remove a target from the default build. In order to do this you must specify the directory the target will be built in as the target, and the file you want to skip building as the dependency. - + Note that this will only remove the dependencies listed from the files built by default. It will still be built if that dependency is needed by another object being built. See the third and forth examples below. - + Examples: - + env.Ignore('foo', 'foo.c') env.Ignore('bar', ['bar1.h', 'bar2.h']) env.Ignore('.','foobar.obj') @@ -2552,31 +2507,30 @@ env.Ignore('bar','bar/foobar.obj') env.Import(vars) - - + This tells -scons +scons to import a list of variables into the current SConscript file. This will import variables that were exported with -Export +Export or in the exports argument to -SConscript. +SConscript. Variables exported by -SConscript +SConscript have precedence. Multiple variable names can be passed to -Import +Import as separate arguments or as a list. The variable "*" can be used to import all variables. - + Examples: - + Import("env") Import("env", "variable") Import(["env", "variable"]) @@ -2591,8 +2545,7 @@ Import("*") env.Literal(string) - - + The specified string will be preserved as-is @@ -2607,8 +2560,7 @@ and not have construction variables expanded. env.Local(targets) - - + The specified targets will have copies made in the local tree, @@ -2622,8 +2574,7 @@ Returns a list of the target Node or Nodes. env.MergeFlags(arg, [unique]) - - + Merges the specified arg values to the construction environment's construction variables. @@ -2631,7 +2582,7 @@ If the arg argument is not a dictionary, it is converted to one by calling -env.ParseFlags +env.ParseFlags on the argument before the values are merged. Note that @@ -2640,10 +2591,10 @@ must be a single value, so multiple strings must be passed in as a list, not as separate arguments to -env.MergeFlags. +env.MergeFlags. - + By default, duplicate values are eliminated; you can, however, specify @@ -2659,11 +2610,11 @@ All other construction variables keep the right-most unique value. - + Examples: - + # Add an optimization flag to $CCFLAGS. env.MergeFlags('-O3') @@ -2686,39 +2637,38 @@ env.MergeFlags(['-O3', env.NoCache(target, ...) - - + Specifies a list of files which should not be cached whenever the -CacheDir +CacheDir method has been activated. The specified targets may be a list or an individual target. - + Multiple files should be specified either as separate arguments to the -NoCache +NoCache method, or as a list. -NoCache +NoCache will also accept the return value of any of the construction environment Builder methods. - + Calling -NoCache +NoCache on directories and other non-File Node types has no effect because only File Nodes are cached. - + Examples: - + NoCache('foo.elf') NoCache(env.Program('hello', 'hello.c')) @@ -2731,8 +2681,7 @@ NoCache(env.Program('hello', 'hello.c')) env.NoClean(target, ...) - - + Specifies a list of files or directories which should not be removed whenever the targets (or their dependencies) @@ -2742,7 +2691,7 @@ command line option. The specified targets may be a list or an individual target. Multiple calls to -NoClean +NoClean are legal, and prevent each specified target from being removed by calls to the @@ -2750,21 +2699,21 @@ from being removed by calls to the option. - + Multiple files or directories should be specified either as separate arguments to the -NoClean +NoClean method, or as a list. -NoClean +NoClean will also accept the return value of any of the construction environment Builder methods. - + Calling -NoClean +NoClean for a target overrides calling -Clean +Clean for the same target, and any targets passed to both functions will not @@ -2773,11 +2722,11 @@ be removed by the option. - + Examples: - + NoClean('foo.elf') NoClean(env.Program('hello', 'hello.c')) @@ -2787,8 +2736,7 @@ NoClean(env.Program('hello', 'hello.c')) env.ParseConfig(command, [function, unique]) - - + Calls the specified function to modify the environment as specified by the output of @@ -2796,7 +2744,7 @@ to modify the environment as specified by the output of The default function is -env.MergeFlags, +env.MergeFlags, which expects the output of a typical *-config command @@ -2813,11 +2761,11 @@ to allow duplicate values to be added. - + Interpreted options and the construction variables they affect are as specified for the -env.ParseFlags +env.ParseFlags method (which this method calls). See that method's description, below, for a table of options and construction variables. @@ -2831,18 +2779,17 @@ for a table of options and construction variables. env.ParseDepends(filename, [must_exist, only_one]) - - + Parses the contents of the specified filename as a list of dependencies in the style of -Make +Make or mkdep, and explicitly establishes all of the listed dependencies. - + By default, it is not an error if the specified @@ -2858,7 +2805,7 @@ generate an error if the file does not exist, or is otherwise inaccessible. - + The optional only_one argument may be set to a non-zero @@ -2880,15 +2827,15 @@ one output file into a corresponding file. - + The filename and all of the files listed therein will be interpreted relative to the directory of the -SConscript +SConscript file which calls the -ParseDepends +ParseDepends function. @@ -2897,26 +2844,25 @@ function. env.ParseFlags(flags, ...) - - + Parses one or more strings containing typical command-line flags for GCC tool chains and returns a dictionary with the flag values separated into the appropriate SCons construction variables. This is intended as a companion to the -env.MergeFlags +env.MergeFlags method, but allows for the values in the returned dictionary to be modified, if necessary, before merging them into the construction environment. (Note that -env.MergeFlags +env.MergeFlags will call this method if its argument is not a dictionary, so it is usually not necessary to call -env.ParseFlags +env.ParseFlags directly unless you want to manipulate the values.) - + If the first character in any string is an exclamation mark (!), the rest of the string is executed as a command, @@ -2925,12 +2871,12 @@ parsed as GCC tool chain command-line flags and added to the resulting dictionary. - + Flag values are translated accordig to the prefix found, and added to the following construction variables: - + -arch CCFLAGS, LINKFLAGS -D CPPDEFINES -framework FRAMEWORKS @@ -2954,19 +2900,19 @@ and added to the following construction variables: + CCFLAGS, LINKFLAGS - + Any other strings not associated with options are assumed to be the names of libraries and added to the -$LIBS +$LIBS construction variable. - + Examples (all of which produce the same result): - + dict = env.ParseFlags('-O2 -Dfoo -Dbar=1') dict = env.ParseFlags('-O2', '-Dfoo', '-Dbar=1') dict = env.ParseFlags(['-O2', '-Dfoo -Dbar=1']) @@ -2978,39 +2924,38 @@ dict = env.ParseFlags('-O2', '!echo -Dfoo -Dbar=1') Platform(string) - - + The -Platform +Platform form returns a callable object that can be used to initialize a construction environment using the platform keyword of the -Environment +Environment function. - + Example: - + env = Environment(platform = Platform('win32')) - + The -env.Platform +env.Platform form applies the callable object for the specified platform string to the environment through which the method was called. - + env.Platform('posix') - + Note that the win32 platform adds the @@ -3019,7 +2964,7 @@ and SystemRoot variables from the user's external environment to the construction environment's -$ENV +$ENV dictionary. This is so that any executed commands that use sockets to connect with other systems @@ -3037,15 +2982,14 @@ will work on Windows systems. env.Precious(target, ...) - - + Marks each given target as precious so it is not deleted before it is rebuilt. Normally -scons +scons deletes a target before building it. Multiple targets can be passed in to a single call to -Precious. +Precious. @@ -3053,8 +2997,7 @@ Multiple targets can be passed in to a single call to env.Prepend(key=val, [...]) - - + Appends the specified keyword arguments to the beginning of construction variables in the environment. If the Environment does not have @@ -3070,11 +3013,11 @@ and the lists are added together. (See also the Append method, above.) - + Example: - + env.Prepend(CCFLAGS = '-g ', FOO = ['foo.yyy']) @@ -3083,11 +3026,10 @@ env.Prepend(CCFLAGS = '-g ', FOO = ['foo.yyy']) env.PrependENVPath(name, newpath, [envname, sep, delete_existing]) - - + This appends new path elements to the given path in the specified external environment -($ENV +($ENV by default). This will only add any particular path once (leaving the first one it encounters and @@ -3102,7 +3044,7 @@ case where the given old path variable is a list instead of a string, in which case a list will be returned instead of a string. - + If delete_existing is 0, then adding a path that already exists @@ -3110,22 +3052,22 @@ will not move it to the beginning; it will stay where it is in the list. - + Example: - + print 'before:',env['ENV']['INCLUDE'] include_path = '/foo/bar:/foo' env.PrependENVPath('INCLUDE', include_path) print 'after:',env['ENV']['INCLUDE'] - + The above example will print: - + before: /biz:/foo after: /foo/bar:/foo:/biz @@ -3135,8 +3077,7 @@ after: /foo/bar:/foo:/biz env.PrependUnique(key=val, delete_existing=0, [...]) - - + Appends the specified keyword arguments to the beginning of construction variables in the environment. If the Environment does not have @@ -3152,11 +3093,11 @@ existing matching values are removed first, so existing values in the arg list move to the front of the list. - + Example: - + env.PrependUnique(CCFLAGS = '-g', FOO = ['foo.yyy']) @@ -3171,14 +3112,13 @@ env.PrependUnique(CCFLAGS = '-g', FOO = ['foo.yyy']) Progress(list_of_strings, [interval, file, overwrite]) - - + Allows SCons to show progress made during the build by displaying a string or calling a function while evaluating Nodes (e.g. files). - + If the first specified argument is a Python callable (a function or an object that has a __call__() @@ -3200,19 +3140,19 @@ if SCons ever changes the interface to call the function with additional arguments in the future.) - + An example of a simple custom progress function that prints a string containing the Node name every 10 Nodes: - + def my_progress_function(node, *args, **kw): print('Evaluating node %s!' % node) Progress(my_progress_function, interval=10) - + A more complicated example of a custom progress display object that prints a string containing a count every 100 evaluated Nodes. @@ -3223,7 +3163,7 @@ at the end so that the string will overwrite itself on a display: - + import sys class ProgressCounter(object): count = 0 @@ -3233,9 +3173,9 @@ class ProgressCounter(object): Progress(ProgressCounter(), interval=100) - + If the first argument -Progress +Progress is a string, the string will be displayed every @@ -3251,14 +3191,14 @@ on the error output, one dot for every 100 evaluated Nodes: - + import sys Progress('.', interval=100, file=sys.stderr) - + If the string contains the verbatim substring -$TARGET, +$TARGET, it will be replaced with the Node. Note that, for performance reasons, this is not @@ -3276,14 +3216,14 @@ keyword argument to make sure the previously-printed file name is overwritten with blank spaces: - + import sys Progress('$TARGET\r', overwrite=True) - + If the first argument to -Progress +Progress is a list of strings, then each string in the list will be displayed in rotating fashion every @@ -3293,7 +3233,7 @@ This can be used to implement a "spinner" on the user's screen as follows: - + Progress(['-\r', '\\\r', '|\r', '/\r'], interval=5) @@ -3305,18 +3245,17 @@ Progress(['-\r', '\\\r', '|\r', '/\r'], interval=5) env.Pseudo(target, ...) - - + This indicates that each given target should not be created by the build rule, and if the target is created, an error will be generated. This is similar to the gnu make .PHONY target. However, in the vast majority of cases, an -Alias +Alias is more appropriate. Multiple targets can be passed in to a single call to -Pseudo. +Pseudo. @@ -3327,8 +3266,7 @@ Multiple targets can be passed in to a single call to env.PyPackageDir(modulename) - - + This returns a Directory Node similar to Dir. The python module / package is looked up and if located the directory is returned for the location. @@ -3336,7 +3274,7 @@ the directory is returned for the location. Is a named python package / module to lookup the directory for it's location. - + If modulename is a list, SCons returns a list of Dir nodes. @@ -3349,17 +3287,16 @@ Construction variables are expanded in env.Replace(key=val, [...]) - - + Replaces construction variables in the Environment with the specified keyword arguments. - + Example: - + env.Replace(CCFLAGS = '-g', FOO = 'foo.xxx') @@ -3371,21 +3308,20 @@ env.Replace(CCFLAGS = '-g', FOO = 'foo.xxx') env.Repository(directory) - - + Specifies that directory is a repository to be searched for files. Multiple calls to -Repository +Repository are legal, and each one adds to the list of repositories that will be searched. - + To -scons, +scons, a repository is a copy of the source tree, from the top-level directory on down, which may contain @@ -3396,26 +3332,26 @@ The canonical example would be an official source tree maintained by an integrator. If the repository contains derived files, then the derived files should have been built using -scons, +scons, so that the repository contains the necessary signature information to allow -scons +scons to figure out when it is appropriate to use the repository copy of a derived file, instead of building one locally. - + Note that if an up-to-date derived file already exists in a repository, -scons +scons will not make a copy in the local directory tree. In order to guarantee that a local copy will be made, use the -Local +Local method. @@ -3427,8 +3363,7 @@ method. env.Requires(target, prerequisite) - - + Specifies an order-only relationship between the specified target file(s) and the specified prerequisite file(s). @@ -3442,11 +3377,11 @@ and will not be rebuilt simply because the prerequisite file(s) change. - + Example: - + env.Requires('foo', 'file-that-must-be-built-before-foo') @@ -3455,8 +3390,7 @@ env.Requires('foo', 'file-that-must-be-built-before-foo') Return([vars..., stop=]) - - + By default, this stops processing the current SConscript file and returns to the calling SConscript file @@ -3464,32 +3398,32 @@ the values of the variables named in the vars string arguments. Multiple strings contaning variable names may be passed to -Return. +Return. Any strings that contain white space - + The optional stop= keyword argument may be set to a false value to continue processing the rest of the SConscript file after the -Return +Return call. This was the default behavior prior to SCons 0.98. However, the values returned are still the values of the variables in the named vars at the point -Return +Return is called. - + Examples: - + # Returns without returning a value. Return() @@ -3511,8 +3445,7 @@ Return('val1 val2') env.Scanner(function, [argument, keys, path_function, node_class, node_factory, scan_check, recursive]) - - + Creates a Scanner object for the specified function. @@ -3534,24 +3467,23 @@ below, for a complete explanation of the arguments and behavior. env.SConscript(dirs=subdirs, [name=script, exports, variant_dir, duplicate, must_exist]) - - + This tells -scons +scons to execute one or more subsidiary SConscript (configuration) files. Any variables returned by a called script using -Return +Return will be returned by the call to -SConscript. +SConscript. There are two ways to call the -SConscript +SConscript function. - + The first way you can call -SConscript +SConscript is to explicitly specify one or more scripts as the first argument. @@ -3559,45 +3491,45 @@ A single script may be specified as a string; multiple scripts must be specified as a list (either explicitly or as created by a function like -Split). +Split). Examples: - + SConscript('SConscript') # run SConscript in the current directory SConscript('src/SConscript') # run SConscript in the src directory SConscript(['src/SConscript', 'doc/SConscript']) config = SConscript('MyConfig.py') - + The second way you can call -SConscript +SConscript is to specify a list of (sub)directory names as a dirs=subdirs keyword argument. In this case, -scons +scons will, by default, execute a subsidiary configuration file named -SConscript +SConscript in each of the specified directories. You may specify a name other than -SConscript +SConscript by supplying an optional name=script keyword argument. The first three examples below have the same effect as the first three examples above: - + SConscript(dirs='.') # run SConscript in the current directory SConscript(dirs='src') # run SConscript in the src directory SConscript(dirs=['src', 'doc']) SConscript(dirs=['sub1', 'sub2'], name='MySConscript') - + The optional exports argument provides a list of variable names or a dictionary of @@ -3606,28 +3538,28 @@ named values to export to the These variables are locally exported only to the specified script(s), and do not affect the global pool of variables used by the -Export +Export function. The subsidiary script(s) must use the -Import +Import function to import the variables. Examples: - + foo = SConscript('sub/SConscript', exports='env') SConscript('dir/SConscript', exports=['env', 'variable']) SConscript(dirs='subdir', exports='env variable') SConscript(dirs=['one', 'two', 'three'], exports='shared_info') - + If the optional variant_dir argument is present, it causes an effect equivalent to the -VariantDir +VariantDir method described below. (If variant_dir @@ -3644,14 +3576,14 @@ and arguments are interpreted relative to the directory of the calling --> argument is interpreted relative to the directory of the calling -SConscript +SConscript file. See the description of the -VariantDir +VariantDir function below for additional details and restrictions. - + If variant_dir is present, @@ -3661,46 +3593,46 @@ but is not, --> the source directory is the directory in which the -SConscript +SConscript file resides and the -SConscript +SConscript file is evaluated as if it were in the variant_dir directory: - + SConscript('src/SConscript', variant_dir = 'build') - + is equivalent to - + VariantDir('build', 'src') SConscript('build/SConscript') - + This later paradigm is often used when the sources are in the same directory as the -SConstruct: +SConstruct: - + SConscript('SConscript', variant_dir = 'build') - + is equivalent to - + VariantDir('build', '.') SConscript('build/SConscript') - + - + The optional must_exist argument, if true, causes an exception to be raised if a requested -SConscript file is not found. The current default is false, +SConscript file is not found. The current default is false, causing only a warning to be omitted, but this behavior is deprecated. For scripts which truly intend to be optional, transition to explicty supplying must_exist=False to the call. - + Here are some composite examples: - + # collect the configuration information and use it to build src and doc shared_info = SConscript('MyConfig.py') SConscript('src/SConscript', exports='shared_info') SConscript('doc/SConscript', exports='shared_info') - + # build debugging and production versions. SConscript # can use Dir('.').path to determine variant. SConscript('SConscript', variant_dir='debug', duplicate=0) SConscript('SConscript', variant_dir='prod', duplicate=0) - + # build debugging and production versions. SConscript # is passed flags to use. opts = { 'CPPDEFINES' : ['DEBUG'], 'CCFLAGS' : '-pgdb' } @@ -3771,7 +3703,7 @@ opts = { 'CPPDEFINES' : ['NODEBUG'], 'CCFLAGS' : '-O' } SConscript('SConscript', variant_dir='prod', duplicate=0, exports=opts) - + # build common documentation and compile for different architectures SConscript('doc/SConscript', variant_dir='build/doc', duplicate=0) SConscript('src/SConscript', variant_dir='build/x86', duplicate=0) @@ -3786,10 +3718,9 @@ SConscript('src/SConscript', variant_dir='build/ppc', duplicate=0) env.SConscriptChdir(value) - - + By default, -scons +scons changes its working directory to the directory in which each subsidiary SConscript file lives. @@ -3797,14 +3728,14 @@ This behavior may be disabled by specifying either: - + SConscriptChdir(0) env.SConscriptChdir(0) - + in which case -scons +scons will stay in the top-level directory while reading all SConscript files. (This may be necessary when building from repositories, @@ -3816,11 +3747,11 @@ SConscriptChdir() multiple times. - + Example: - + env = Environment() SConscriptChdir(0) SConscript('foo/SConscript') # will not chdir to foo @@ -3836,10 +3767,9 @@ SConscript('bar/SConscript') # will chdir to bar env.SConsignFile([file, dbm_module]) - - + This tells -scons +scons to store all file signatures in the specified database file. @@ -3856,17 +3786,17 @@ If file is not an absolute path name, the file is placed in the same directory as the top-level -SConstruct +SConstruct file. - + If file is None, then -scons +scons will store file signatures in a separate .sconsign @@ -3876,7 +3806,7 @@ not in one global database file. prior to SCons 0.96.91 and 0.97.) - + The optional dbm_module argument can be used to specify @@ -3888,11 +3818,11 @@ Python data structures, and which works on all Python versions. - + Examples: - + # Explicitly stores signatures in ".sconsign.dblite" # in the top-level SConstruct directory (the # default behavior). @@ -3915,14 +3845,13 @@ SConsignFile(None) env.SetDefault(key=val, [...]) - - + Sets construction variables to default values specified with the keyword arguments if (and only if) the variables are not already set. The following statements are equivalent: - + env.SetDefault(FOO = 'foo') if 'FOO' not in env: env['FOO'] = 'foo' @@ -3936,13 +3865,12 @@ if 'FOO' not in env: env['FOO'] = 'foo' env.SetOption(name, value) - - + This function provides a way to set a select subset of the scons command line options from a SConscript file. The options supported are: - + clean @@ -4027,17 +3955,17 @@ which corresponds to --stack-size. - + See the documentation for the corresponding command line object for information about each specific option. - + Example: - + SetOption('max_drift', 1) @@ -4049,8 +3977,7 @@ SetOption('max_drift', 1) env.SideEffect(side_effect, target) - - + Declares side_effect as a side effect of building @@ -4068,7 +3995,7 @@ files for a static library, and various log files are created updated as side effects of various TeX commands. If a target is a side effect of multiple build commands, -scons +scons will ensure that only one set of commands is executed at a time. Consequently, you only need to use this method @@ -4076,7 +4003,7 @@ for side-effect targets that are built as a result of multiple build commands. - + Because multiple build commands may update the same side effect file, by default the @@ -4100,9 +4027,9 @@ is cleaned whenever a specific is cleaned, you must specify this explicitly with the -Clean +Clean or -env.Clean +env.Clean function. @@ -4114,17 +4041,16 @@ function. env.SourceCode(entries, builder) - - + This function and its associate factory functions are deprecated. There is no replacement. The intended use was to keep a local tree in sync with an archive, but in actuality the function only causes the archive to be fetched on the first run. -Synchronizing with the archive is best done external to SCons. +Synchronizing with the archive is best done external to SCons. - + Arrange for non-existent source files to be fetched from a source code management system using the specified @@ -4137,30 +4063,30 @@ source files or directories in which source files can be found. - + For any non-existent source files, -scons +scons will search up the directory tree and use the first -SourceCode +SourceCode builder it finds. The specified builder may be None, in which case -scons +scons will not use a builder to fetch source files for the specified entries, even if a -SourceCode +SourceCode builder has been specified for a directory higher up the tree. - -scons + +scons will, by default, fetch files from SCCS or RCS subdirectories without explicit configuration. @@ -4172,11 +4098,11 @@ and speed up your build a little by disabling these searches as follows: - + env.SourceCode('.', None) - + Note that if the specified builder is one you create by hand, @@ -4185,8 +4111,8 @@ construction environment to use when fetching a source file. - -scons + +scons provides a set of canned factory functions that return appropriate Builders for various popular @@ -4194,14 +4120,14 @@ source code management systems. Canonical examples of invocation include: - + env.SourceCode('.', env.BitKeeper('/usr/local/BKsources')) env.SourceCode('src', env.CVS('/usr/local/CVSROOT')) env.SourceCode('/', env.RCS()) env.SourceCode(['f1.c', 'f2.c'], env.SCCS()) env.SourceCode('no_source.c', None) - + @@ -4213,21 +4139,20 @@ env.SourceCode('no_source.c', None) env.SourceSignatures(type) - - + Note: Although it is not yet officially deprecated, use of this function is discouraged. See the -Decider +Decider function for a more flexible and straightforward way to configure SCons' decision-making. - + The -SourceSignatures +SourceSignatures function tells -scons +scons how to decide if a source file (a file that is not built from any other files) has changed since the last time it @@ -4238,7 +4163,7 @@ or timestamp. - + If the environment method is used, the specified type of source signature is only used when deciding whether targets @@ -4249,19 +4174,19 @@ used for all decisions about whether targets are up-to-date. - + MD5 means -scons +scons decides that a source file has changed if the MD5 checksum of its contents has changed since the last time it was used to rebuild a particular target file. - + timestamp means -scons +scons decides that a source file has changed if its timestamp (modification time) has changed since the last time it was used to rebuild a particular target file. @@ -4271,14 +4196,14 @@ by default it will also rebuild if the dependency is than the last time it was used to rebuild the target file.) - + There is no different between the two behaviors for Python -Value +Value node objects. - + MD5 signatures take longer to compute, but are more accurate than @@ -4288,21 +4213,21 @@ The default value is MD5. - + Note that the default -TargetSignatures +TargetSignatures setting (see below) is to use this -SourceSignatures +SourceSignatures setting for any target files that are used to build other target files. Consequently, changing the value of -SourceSignatures +SourceSignatures will, by default, affect the up-to-date decision for all files in the build (or all files built with a specific construction environment when -env.SourceSignatures +env.SourceSignatures is used). @@ -4314,8 +4239,7 @@ is used). env.Split(arg) - - + Returns a list of file names or other objects. If arg is a string, it will be split on strings of white-space characters @@ -4328,11 +4252,11 @@ it will be returned as a list containing just the object. - + Example: - + files = Split("f1.c f2.c f3.c") files = env.Split("f4.c f5.c f6.c") files = Split(""" @@ -4347,14 +4271,13 @@ files = Split(""" env.subst(input, [raw, target, source, conv]) - - + Performs construction variable interpolation on the specified string or sequence argument input. - + By default, leading or trailing white space will be removed from the result. @@ -4386,7 +4309,7 @@ pairs (as is done for signature calculation). - + If the input is a sequence (list or tuple), the individual elements of @@ -4394,7 +4317,7 @@ the sequence will be expanded, and the results will be returned as a list. - + The optional target and @@ -4403,20 +4326,20 @@ keyword arguments must be set to lists of target and source nodes, respectively, if you want the -$TARGET, -$TARGETS, -$SOURCE +$TARGET, +$TARGETS, +$SOURCE and -$SOURCES +$SOURCES to be available for expansion. This is usually necessary if you are calling -env.subst +env.subst from within a Python function used as an SCons action. - + Returned string values or sequence elements are converted to their string representation by default. The optional @@ -4434,11 +4357,11 @@ idiom to pass in an unnamed function that simply returns its unconverted argument. - + Example: - + print env.subst("The C compiler is: $CC") def compile(target, source, env): @@ -4455,20 +4378,19 @@ source_nodes = env.subst('$EXPAND_TO_NODELIST', Tag(node, tags) - - + Annotates file or directory Nodes with information about how the -Package +Package Builder should package those files or directories. All tags are optional. - + Examples: - + # makes sure the built library will be installed with 0644 file # access mode Tag( Library( 'lib.c' ), UNIX_ATTR="0644" ) @@ -4485,21 +4407,20 @@ Tag( 'file2.txt', DOC ) env.TargetSignatures(type) - - + Note: Although it is not yet officially deprecated, use of this function is discouraged. See the -Decider +Decider function for a more flexible and straightforward way to configure SCons' decision-making. - + The -TargetSignatures +TargetSignatures function tells -scons +scons how to decide if a target file (a file that is @@ -4516,7 +4437,7 @@ or "source". - + If the environment method is used, the specified type of target signature is only used for targets built with that environment. @@ -4527,17 +4448,17 @@ don't have an explicit target signature type specified for their environments. - + "content" (or its synonym "MD5") means -scons +scons decides that a target file has changed if the MD5 checksum of its contents has changed since the last time it was used to rebuild some other target file. This means -scons +scons will open up MD5 sum the contents of target files after they're built, @@ -4546,10 +4467,10 @@ and may decide that it does not need to rebuild rebuilt with exactly the same contents as the last time. - + "timestamp" means -scons +scons decides that a target file has changed if its timestamp (modification time) has changed since the last time it was used to rebuild some other target file. @@ -4559,33 +4480,33 @@ by default it will also rebuild if the dependency is than the last time it was used to rebuild the target file.) - + "source" means -scons +scons decides that a target file has changed as specified by the corresponding -SourceSignatures +SourceSignatures setting ("MD5" or "timestamp"). This means that -scons +scons will treat all input files to a target the same way, regardless of whether they are source files or have been built from other files. - + "build" means -scons +scons decides that a target file has changed if it has been rebuilt in this invocation or if its content or timestamp have changed as specified by the corresponding -SourceSignatures +SourceSignatures setting. This "propagates" the status of a rebuilt file so that other "downstream" target files @@ -4594,7 +4515,7 @@ even if the contents or the timestamp have not changed. - + "build" signatures are fastest because "content" @@ -4616,18 +4537,18 @@ The default value is "source". - + Because the default setting is "source", using -SourceSignatures +SourceSignatures is generally preferable to -TargetSignatures, +TargetSignatures, so that the up-to-date decision will be consistent for all files (or all files built with a specific construction environment). Use of -TargetSignatures +TargetSignatures provides specific control for how built target files affect their "downstream" dependencies. @@ -4640,10 +4561,9 @@ affect their "downstream" dependencies. env.Tool(string, [toolpath, **kw]) - - + The -Tool +Tool form of the function returns a callable object that can be used to initialize @@ -4655,21 +4575,21 @@ in which case the object will add the necessary variables to the construction environment and the name of the tool will be added to the -$TOOLS +$TOOLS construction variable. - + Additional keyword arguments are passed to the tool's generate() method. - + Examples: - + env = Environment(tools = [ Tool('msvc') ]) env = Environment() @@ -4679,22 +4599,22 @@ u = Tool('opengl', toolpath = ['tools']) u(env) # adds 'opengl' to the TOOLS variable - + The -env.Tool +env.Tool form of the function applies the callable object for the specified tool string to the environment through which the method was called. - + Additional keyword arguments are passed to the tool's generate() method. - + env.Tool('gcc') env.Tool('opengl', toolpath = ['build/tools']) @@ -4707,8 +4627,7 @@ env.Tool('opengl', toolpath = ['build/tools']) env.Value(value, [built_value]) - - + Returns a Node object representing the specified Python value. Value Nodes can be used as dependencies of targets. If the result of calling @@ -4722,7 +4641,7 @@ When using timestamp source signatures, Value Nodes' timestamps are equal to the system time when the Node is created. - + The returned Value Node object has a write() method that can be used to "build" a Value Node @@ -4738,11 +4657,11 @@ There is a corresponding method that will return the built value of the Node. - + Examples: - + env = Environment() def create(target, source, env): @@ -4784,10 +4703,9 @@ env.UpdateValue(target = Value(output), source = Value(input)) env.VariantDir(variant_dir, src_dir, [duplicate]) - - + Use the -VariantDir +VariantDir function to create a copy of your sources in another location: if a name under variant_dir @@ -4800,8 +4718,8 @@ than the original sources by simply refering to the sources (and targets) within the variant tree. - -VariantDir + +VariantDir can be called multiple times with the same src_dir to set up multiple builds with different options @@ -4819,9 +4737,9 @@ TODO: src_dir = '.' works fine with a build dir under it. --> - + The default behavior is for -scons +scons to physically duplicate the source files in the variant tree. Thus, a build performed in the variant tree is guaranteed to be identical to a build performed in the source tree even if @@ -4832,7 +4750,7 @@ or individual compilers or other invoked tools are hard-coded to put derived files in the same directory as source files. - + If possible on the platform, the duplication is performed by linking rather than copying; see also the @@ -4843,14 +4761,14 @@ files and directories that are not used are not present in variant_dir. - + Duplicating the source tree may be disabled by setting the duplicate argument to 0 (zero). This will cause -scons +scons to invoke Builders using the path names of source files in src_dir and the path names of derived files within @@ -4861,9 +4779,9 @@ and is usually safe for most builds (but see above for cases that may cause problems). - + Note that -VariantDir +VariantDir works most naturally with a subsidiary SConscript file. However, you would then call the subsidiary SConscript file not in the source directory, but in the @@ -4871,11 +4789,11 @@ not in the source directory, but in the regardless of the value of duplicate. This is how you tell -scons +scons which variant of a source tree to build: - + # run src/SConscript in two variant directories VariantDir('build/variant1', 'src') SConscript('build/variant1/SConscript') @@ -4883,31 +4801,31 @@ VariantDir('build/variant2', 'src') SConscript('build/variant2/SConscript') - + See also the -SConscript +SConscript function, described above, for another way to specify a variant directory in conjunction with calling a subsidiary SConscript file. - + Examples: - + # use names in the build directory, not the source directory VariantDir('build', 'src', duplicate=0) Program('build/prog', 'build/source.c') - + # this builds both the source and docs in a separate subtree VariantDir('build', '.', duplicate=0) SConscript(dirs=['build/src','build/doc']) - + # same as previous example, but only uses SConscript SConscript(dirs='src', variant_dir='build/src', duplicate=0) SConscript(dirs='doc', variant_dir='build/doc', duplicate=0) @@ -4921,8 +4839,7 @@ SConscript(dirs='doc', variant_dir='build/doc', duplicate=0) env.WhereIs(program, [path, pathext, reject]) - - + Searches for the specified executable program, returning the full path name to the program diff --git a/doc/generated/tools.gen b/doc/generated/tools.gen index 01fb55902b..9dffb63118 100644 --- a/doc/generated/tools.gen +++ b/doc/generated/tools.gen @@ -1,4 +1,4 @@ - + %scons; @@ -12,133 +12,117 @@ %variables-mod; ]> - + 386asm - - + Sets construction variables for the 386ASM assembler for the Phar Lap ETS embedded operating system. -Sets: &cv-link-AS;, &cv-link-ASCOM;, &cv-link-ASFLAGS;, &cv-link-ASPPCOM;, &cv-link-ASPPFLAGS;.Uses: &cv-link-CC;, &cv-link-CPPFLAGS;, &cv-link-_CPPDEFFLAGS;, &cv-link-_CPPINCFLAGS;. +Sets: &cv-link-AS;, &cv-link-ASCOM;, &cv-link-ASFLAGS;, &cv-link-ASPPCOM;, &cv-link-ASPPFLAGS;.Uses: &cv-link-CC;, &cv-link-CPPFLAGS;, &cv-link-_CPPDEFFLAGS;, &cv-link-_CPPINCFLAGS;. aixc++ - - + Sets construction variables for the IMB xlc / Visual Age C++ compiler. -Sets: &cv-link-CXX;, &cv-link-CXXVERSION;, &cv-link-SHCXX;, &cv-link-SHOBJSUFFIX;. +Sets: &cv-link-CXX;, &cv-link-CXXVERSION;, &cv-link-SHCXX;, &cv-link-SHOBJSUFFIX;. aixcc - - + Sets construction variables for the IBM xlc / Visual Age C compiler. -Sets: &cv-link-CC;, &cv-link-CCVERSION;, &cv-link-SHCC;. +Sets: &cv-link-CC;, &cv-link-CCVERSION;, &cv-link-SHCC;. aixf77 - - + Sets construction variables for the IBM Visual Age f77 Fortran compiler. -Sets: &cv-link-F77;, &cv-link-SHF77;. +Sets: &cv-link-F77;, &cv-link-SHF77;. aixlink - - + Sets construction variables for the IBM Visual Age linker. -Sets: &cv-link-LINKFLAGS;, &cv-link-SHLIBSUFFIX;, &cv-link-SHLINKFLAGS;. +Sets: &cv-link-LINKFLAGS;, &cv-link-SHLIBSUFFIX;, &cv-link-SHLINKFLAGS;. applelink - - -Sets construction variables for the Apple linker -(similar to the GNU linker). - -Sets: &cv-link-FRAMEWORKPATHPREFIX;, &cv-link-LDMODULECOM;, &cv-link-LDMODULEFLAGS;, &cv-link-LDMODULEPREFIX;, &cv-link-LDMODULESUFFIX;, &cv-link-LINKCOM;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;, &cv-link-_FRAMEWORKPATH;, &cv-link-_FRAMEWORKS;.Uses: &cv-link-FRAMEWORKSFLAGS;. + + Sets construction variables for the Apple linker + (similar to the GNU linker). + + Sets: &cv-link-APPLELINK_COMPATIBILITY_VERSION;, &cv-link-APPLELINK_CURRENT_VERSION;, &cv-link-FRAMEWORKPATHPREFIX;, &cv-link-LDMODULECOM;, &cv-link-LDMODULEFLAGS;, &cv-link-LDMODULEPREFIX;, &cv-link-LDMODULESUFFIX;, &cv-link-LINKCOM;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;, &cv-link-_FRAMEWORKPATH;, &cv-link-_FRAMEWORKS;.Uses: &cv-link-FRAMEWORKSFLAGS;. ar - - -Sets construction variables for the ar library archiver. + +Sets construction variables for the ar library archiver. -Sets: &cv-link-AR;, &cv-link-ARCOM;, &cv-link-ARFLAGS;, &cv-link-LIBPREFIX;, &cv-link-LIBSUFFIX;, &cv-link-RANLIB;, &cv-link-RANLIBCOM;, &cv-link-RANLIBFLAGS;. +Sets: &cv-link-AR;, &cv-link-ARCOM;, &cv-link-ARFLAGS;, &cv-link-LIBPREFIX;, &cv-link-LIBSUFFIX;, &cv-link-RANLIB;, &cv-link-RANLIBCOM;, &cv-link-RANLIBFLAGS;. as - - -Sets construction variables for the as assembler. + +Sets construction variables for the as assembler. -Sets: &cv-link-AS;, &cv-link-ASCOM;, &cv-link-ASFLAGS;, &cv-link-ASPPCOM;, &cv-link-ASPPFLAGS;.Uses: &cv-link-CC;, &cv-link-CPPFLAGS;, &cv-link-_CPPDEFFLAGS;, &cv-link-_CPPINCFLAGS;. +Sets: &cv-link-AS;, &cv-link-ASCOM;, &cv-link-ASFLAGS;, &cv-link-ASPPCOM;, &cv-link-ASPPFLAGS;.Uses: &cv-link-CC;, &cv-link-CPPFLAGS;, &cv-link-_CPPDEFFLAGS;, &cv-link-_CPPINCFLAGS;. bcc32 - - + Sets construction variables for the bcc32 compiler. -Sets: &cv-link-CC;, &cv-link-CCCOM;, &cv-link-CCFLAGS;, &cv-link-CFILESUFFIX;, &cv-link-CFLAGS;, &cv-link-CPPDEFPREFIX;, &cv-link-CPPDEFSUFFIX;, &cv-link-INCPREFIX;, &cv-link-INCSUFFIX;, &cv-link-SHCC;, &cv-link-SHCCCOM;, &cv-link-SHCCFLAGS;, &cv-link-SHCFLAGS;, &cv-link-SHOBJSUFFIX;.Uses: &cv-link-_CPPDEFFLAGS;, &cv-link-_CPPINCFLAGS;. +Sets: &cv-link-CC;, &cv-link-CCCOM;, &cv-link-CCFLAGS;, &cv-link-CFILESUFFIX;, &cv-link-CFLAGS;, &cv-link-CPPDEFPREFIX;, &cv-link-CPPDEFSUFFIX;, &cv-link-INCPREFIX;, &cv-link-INCSUFFIX;, &cv-link-SHCC;, &cv-link-SHCCCOM;, &cv-link-SHCCFLAGS;, &cv-link-SHCFLAGS;, &cv-link-SHOBJSUFFIX;.Uses: &cv-link-_CPPDEFFLAGS;, &cv-link-_CPPINCFLAGS;. cc - - + Sets construction variables for generic POSIX C copmilers. -Sets: &cv-link-CC;, &cv-link-CCCOM;, &cv-link-CCFLAGS;, &cv-link-CFILESUFFIX;, &cv-link-CFLAGS;, &cv-link-CPPDEFPREFIX;, &cv-link-CPPDEFSUFFIX;, &cv-link-FRAMEWORKPATH;, &cv-link-FRAMEWORKS;, &cv-link-INCPREFIX;, &cv-link-INCSUFFIX;, &cv-link-SHCC;, &cv-link-SHCCCOM;, &cv-link-SHCCFLAGS;, &cv-link-SHCFLAGS;, &cv-link-SHOBJSUFFIX;.Uses: &cv-link-PLATFORM;. +Sets: &cv-link-CC;, &cv-link-CCCOM;, &cv-link-CCFLAGS;, &cv-link-CFILESUFFIX;, &cv-link-CFLAGS;, &cv-link-CPPDEFPREFIX;, &cv-link-CPPDEFSUFFIX;, &cv-link-FRAMEWORKPATH;, &cv-link-FRAMEWORKS;, &cv-link-INCPREFIX;, &cv-link-INCSUFFIX;, &cv-link-SHCC;, &cv-link-SHCCCOM;, &cv-link-SHCCFLAGS;, &cv-link-SHCFLAGS;, &cv-link-SHOBJSUFFIX;.Uses: &cv-link-PLATFORM;. clang - - + Set construction variables for the Clang C compiler. -Sets: &cv-link-CC;, &cv-link-CCVERSION;, &cv-link-SHCCFLAGS;. +Sets: &cv-link-CC;, &cv-link-CCVERSION;, &cv-link-SHCCFLAGS;. clangxx - - + Set construction variables for the Clang C++ compiler. -Sets: &cv-link-CXX;, &cv-link-CXXVERSION;, &cv-link-SHCXXFLAGS;, &cv-link-SHOBJSUFFIX;, &cv-link-STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME;. +Sets: &cv-link-CXX;, &cv-link-CXXVERSION;, &cv-link-SHCXXFLAGS;, &cv-link-SHOBJSUFFIX;, &cv-link-STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME;. cvf - - + Sets construction variables for the Compaq Visual Fortran compiler. -Sets: &cv-link-FORTRAN;, &cv-link-FORTRANCOM;, &cv-link-FORTRANMODDIR;, &cv-link-FORTRANMODDIRPREFIX;, &cv-link-FORTRANMODDIRSUFFIX;, &cv-link-FORTRANPPCOM;, &cv-link-OBJSUFFIX;, &cv-link-SHFORTRANCOM;, &cv-link-SHFORTRANPPCOM;.Uses: &cv-link-CPPFLAGS;, &cv-link-FORTRANFLAGS;, &cv-link-SHFORTRANFLAGS;, &cv-link-_CPPDEFFLAGS;, &cv-link-_FORTRANINCFLAGS;, &cv-link-_FORTRANMODFLAG;. +Sets: &cv-link-FORTRAN;, &cv-link-FORTRANCOM;, &cv-link-FORTRANMODDIR;, &cv-link-FORTRANMODDIRPREFIX;, &cv-link-FORTRANMODDIRSUFFIX;, &cv-link-FORTRANPPCOM;, &cv-link-OBJSUFFIX;, &cv-link-SHFORTRANCOM;, &cv-link-SHFORTRANPPCOM;.Uses: &cv-link-CPPFLAGS;, &cv-link-FORTRANFLAGS;, &cv-link-SHFORTRANFLAGS;, &cv-link-_CPPDEFFLAGS;, &cv-link-_FORTRANINCFLAGS;, &cv-link-_FORTRANMODFLAG;. cXX - - + Sets construction variables for generic POSIX C++ compilers. -Sets: &cv-link-CPPDEFPREFIX;, &cv-link-CPPDEFSUFFIX;, &cv-link-CXX;, &cv-link-CXXCOM;, &cv-link-CXXFILESUFFIX;, &cv-link-CXXFLAGS;, &cv-link-INCPREFIX;, &cv-link-INCSUFFIX;, &cv-link-OBJSUFFIX;, &cv-link-SHCXX;, &cv-link-SHCXXCOM;, &cv-link-SHCXXFLAGS;, &cv-link-SHOBJSUFFIX;.Uses: &cv-link-CXXCOMSTR;. +Sets: &cv-link-CPPDEFPREFIX;, &cv-link-CPPDEFSUFFIX;, &cv-link-CXX;, &cv-link-CXXCOM;, &cv-link-CXXFILESUFFIX;, &cv-link-CXXFLAGS;, &cv-link-INCPREFIX;, &cv-link-INCSUFFIX;, &cv-link-OBJSUFFIX;, &cv-link-SHCXX;, &cv-link-SHCXXCOM;, &cv-link-SHCXXFLAGS;, &cv-link-SHOBJSUFFIX;.Uses: &cv-link-CXXCOMSTR;. cyglink - - + Set construction variables for cygwin linker/loader. -Sets: &cv-link-IMPLIBPREFIX;, &cv-link-IMPLIBSUFFIX;, &cv-link-LDMODULEVERSIONFLAGS;, &cv-link-LINKFLAGS;, &cv-link-RPATHPREFIX;, &cv-link-RPATHSUFFIX;, &cv-link-SHLIBPREFIX;, &cv-link-SHLIBSUFFIX;, &cv-link-SHLIBVERSIONFLAGS;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;, &cv-link-_LDMODULEVERSIONFLAGS;, &cv-link-_SHLIBVERSIONFLAGS;. +Sets: &cv-link-IMPLIBPREFIX;, &cv-link-IMPLIBSUFFIX;, &cv-link-LDMODULEVERSIONFLAGS;, &cv-link-LINKFLAGS;, &cv-link-RPATHPREFIX;, &cv-link-RPATHSUFFIX;, &cv-link-SHLIBPREFIX;, &cv-link-SHLIBSUFFIX;, &cv-link-SHLIBVERSIONFLAGS;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;, &cv-link-_LDMODULEVERSIONFLAGS;, &cv-link-_SHLIBVERSIONFLAGS;. default - - + Sets variables by calling a default list of Tool modules for the platform on which SCons is running. @@ -146,16 +130,14 @@ for the platform on which SCons is running. dmd - - + Sets construction variables for D language compiler DMD. -Sets: &cv-link-DC;, &cv-link-DCOM;, &cv-link-DDEBUG;, &cv-link-DDEBUGPREFIX;, &cv-link-DDEBUGSUFFIX;, &cv-link-DFILESUFFIX;, &cv-link-DFLAGPREFIX;, &cv-link-DFLAGS;, &cv-link-DFLAGSUFFIX;, &cv-link-DINCPREFIX;, &cv-link-DINCSUFFIX;, &cv-link-DLIB;, &cv-link-DLIBCOM;, &cv-link-DLIBDIRPREFIX;, &cv-link-DLIBDIRSUFFIX;, &cv-link-DLIBFLAGPREFIX;, &cv-link-DLIBFLAGSUFFIX;, &cv-link-DLIBLINKPREFIX;, &cv-link-DLIBLINKSUFFIX;, &cv-link-DLINK;, &cv-link-DLINKCOM;, &cv-link-DLINKFLAGPREFIX;, &cv-link-DLINKFLAGS;, &cv-link-DLINKFLAGSUFFIX;, &cv-link-DPATH;, &cv-link-DRPATHPREFIX;, &cv-link-DRPATHSUFFIX;, &cv-link-DShLibSonameGenerator;, &cv-link-DVERPREFIX;, &cv-link-DVERSIONS;, &cv-link-DVERSUFFIX;, &cv-link-SHDC;, &cv-link-SHDCOM;, &cv-link-SHDLIBVERSION;, &cv-link-SHDLIBVERSIONFLAGS;, &cv-link-SHDLINK;, &cv-link-SHDLINKCOM;, &cv-link-SHDLINKFLAGS;. +Sets: &cv-link-DC;, &cv-link-DCOM;, &cv-link-DDEBUG;, &cv-link-DDEBUGPREFIX;, &cv-link-DDEBUGSUFFIX;, &cv-link-DFILESUFFIX;, &cv-link-DFLAGPREFIX;, &cv-link-DFLAGS;, &cv-link-DFLAGSUFFIX;, &cv-link-DINCPREFIX;, &cv-link-DINCSUFFIX;, &cv-link-DLIB;, &cv-link-DLIBCOM;, &cv-link-DLIBDIRPREFIX;, &cv-link-DLIBDIRSUFFIX;, &cv-link-DLIBFLAGPREFIX;, &cv-link-DLIBFLAGSUFFIX;, &cv-link-DLIBLINKPREFIX;, &cv-link-DLIBLINKSUFFIX;, &cv-link-DLINK;, &cv-link-DLINKCOM;, &cv-link-DLINKFLAGPREFIX;, &cv-link-DLINKFLAGS;, &cv-link-DLINKFLAGSUFFIX;, &cv-link-DPATH;, &cv-link-DRPATHPREFIX;, &cv-link-DRPATHSUFFIX;, &cv-link-DShLibSonameGenerator;, &cv-link-DVERPREFIX;, &cv-link-DVERSIONS;, &cv-link-DVERSUFFIX;, &cv-link-SHDC;, &cv-link-SHDCOM;, &cv-link-SHDLIBVERSION;, &cv-link-SHDLIBVERSIONFLAGS;, &cv-link-SHDLINK;, &cv-link-SHDLINKCOM;, &cv-link-SHDLINKFLAGS;. docbook - -This tool tries to make working with Docbook in SCons a little easier. + This tool tries to make working with Docbook in SCons a little easier. It provides several toolchains for creating different output formats, like HTML or PDF. Contained in the package is a distribution of the Docbook XSL stylesheets as of version 1.76.1. @@ -163,27 +145,27 @@ As long as you don't specify your own stylesheets for customization, these official versions are picked as default...which should reduce the inevitable setup hassles for you. -Implicit dependencies to images and XIncludes are detected automatically +Implicit dependencies to images and XIncludes are detected automatically if you meet the HTML requirements. The additional stylesheet utils/xmldepend.xsl by Paul DuBois is used for this purpose. -Note, that there is no support for XML catalog resolving offered! This tool calls +Note, that there is no support for XML catalog resolving offered! This tool calls the XSLT processors and PDF renderers with the stylesheets you specified, that's it. The rest lies in your hands and you still have to know what you're doing when resolving names via a catalog. -For activating the tool "docbook", you have to add its name to the Environment constructor, +For activating the tool "docbook", you have to add its name to the Environment constructor, like this -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) -On its startup, the Docbook tool tries to find a required xsltproc processor, and +On its startup, the Docbook tool tries to find a required xsltproc processor, and a PDF renderer, e.g. fop. So make sure that these are added to your system's environment PATH and can be called directly, without specifying their full path. -For the most basic processing of Docbook to HTML, you need to have installed +For the most basic processing of Docbook to HTML, you need to have installed -the Python lxml binding to libxml2, or +the Python lxml binding to libxml2, or the direct Python bindings for libxml2/libxslt, or @@ -194,49 +176,49 @@ and xalan. -Rendering to PDF requires you to have one of the applications +Rendering to PDF requires you to have one of the applications fop or xep installed. -Creating a HTML or PDF document is very simple and straightforward. Say +Creating a HTML or PDF document is very simple and straightforward. Say -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookHtml('manual.html', 'manual.xml') env.DocbookPdf('manual.pdf', 'manual.xml') -to get both outputs from your XML source manual.xml. As a shortcut, you can +to get both outputs from your XML source manual.xml. As a shortcut, you can give the stem of the filenames alone, like this: -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookHtml('manual') env.DocbookPdf('manual') -and get the same result. Target and source lists are also supported: +and get the same result. Target and source lists are also supported: -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookHtml(['manual.html','reference.html'], ['manual.xml','reference.xml']) -or even +or even -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookHtml(['manual','reference']) -Whenever you leave out the list of sources, you may not specify a file extension! The +Whenever you leave out the list of sources, you may not specify a file extension! The Tool uses the given names as file stems, and adds the suffixes for target and source files accordingly. -The rules given above are valid for the Builders DocbookHtml, -DocbookPdf, DocbookEpub, DocbookSlidesPdf and DocbookXInclude. For the -DocbookMan transformation you +The rules given above are valid for the Builders DocbookHtml, +DocbookPdf, DocbookEpub, DocbookSlidesPdf and DocbookXInclude. For the +DocbookMan transformation you can specify a target name, but the actual output names are automatically set from the refname entries in your XML source. -The Builders DocbookHtmlChunked, DocbookHtmlhelp and -DocbookSlidesHtml are special, in that: +The Builders DocbookHtmlChunked, DocbookHtmlhelp and +DocbookSlidesHtml are special, in that: -they create a large set of files, where the exact names and their number depend +they create a large set of files, where the exact names and their number depend on the content of the source file, and @@ -245,24 +227,24 @@ XSL transformation is not picked up by the stylesheets. -As a result, there is simply no use in specifying a target HTML name. +As a result, there is simply no use in specifying a target HTML name. So the basic syntax for these builders is always: -env = Environment(tools=['docbook']) +env = Environment(tools=['docbook']) env.DocbookHtmlhelp('manual') -If you want to use a specific XSL file, you can set the +If you want to use a specific XSL file, you can set the additional xsl parameter to your Builder call as follows: -env.DocbookHtml('other.html', 'manual.xml', xsl='html.xsl') +env.DocbookHtml('other.html', 'manual.xml', xsl='html.xsl') -Since this may get tedious if you always use the same local naming for your customized XSL files, +Since this may get tedious if you always use the same local naming for your customized XSL files, e.g. html.xsl for HTML and pdf.xsl for PDF output, a set of variables for setting the default XSL name is provided. These are: -DOCBOOK_DEFAULT_XSL_HTML +DOCBOOK_DEFAULT_XSL_HTML DOCBOOK_DEFAULT_XSL_HTMLCHUNKED DOCBOOK_DEFAULT_XSL_HTMLHELP DOCBOOK_DEFAULT_XSL_PDF @@ -271,732 +253,654 @@ DOCBOOK_DEFAULT_XSL_MAN DOCBOOK_DEFAULT_XSL_SLIDESPDF DOCBOOK_DEFAULT_XSL_SLIDESHTML -and you can set them when constructing your environment: +and you can set them when constructing your environment: -env = Environment(tools=['docbook'], +env = Environment(tools=['docbook'], DOCBOOK_DEFAULT_XSL_HTML='html.xsl', DOCBOOK_DEFAULT_XSL_PDF='pdf.xsl') env.DocbookHtml('manual') # now uses html.xsl -Sets: &cv-link-DOCBOOK_DEFAULT_XSL_EPUB;, &cv-link-DOCBOOK_DEFAULT_XSL_HTML;, &cv-link-DOCBOOK_DEFAULT_XSL_HTMLCHUNKED;, &cv-link-DOCBOOK_DEFAULT_XSL_HTMLHELP;, &cv-link-DOCBOOK_DEFAULT_XSL_MAN;, &cv-link-DOCBOOK_DEFAULT_XSL_PDF;, &cv-link-DOCBOOK_DEFAULT_XSL_SLIDESHTML;, &cv-link-DOCBOOK_DEFAULT_XSL_SLIDESPDF;, &cv-link-DOCBOOK_FOP;, &cv-link-DOCBOOK_FOPCOM;, &cv-link-DOCBOOK_FOPFLAGS;, &cv-link-DOCBOOK_XMLLINT;, &cv-link-DOCBOOK_XMLLINTCOM;, &cv-link-DOCBOOK_XMLLINTFLAGS;, &cv-link-DOCBOOK_XSLTPROC;, &cv-link-DOCBOOK_XSLTPROCCOM;, &cv-link-DOCBOOK_XSLTPROCFLAGS;, &cv-link-DOCBOOK_XSLTPROCPARAMS;.Uses: &cv-link-DOCBOOK_FOPCOMSTR;, &cv-link-DOCBOOK_XMLLINTCOMSTR;, &cv-link-DOCBOOK_XSLTPROCCOMSTR;. +Sets: &cv-link-DOCBOOK_DEFAULT_XSL_EPUB;, &cv-link-DOCBOOK_DEFAULT_XSL_HTML;, &cv-link-DOCBOOK_DEFAULT_XSL_HTMLCHUNKED;, &cv-link-DOCBOOK_DEFAULT_XSL_HTMLHELP;, &cv-link-DOCBOOK_DEFAULT_XSL_MAN;, &cv-link-DOCBOOK_DEFAULT_XSL_PDF;, &cv-link-DOCBOOK_DEFAULT_XSL_SLIDESHTML;, &cv-link-DOCBOOK_DEFAULT_XSL_SLIDESPDF;, &cv-link-DOCBOOK_FOP;, &cv-link-DOCBOOK_FOPCOM;, &cv-link-DOCBOOK_FOPFLAGS;, &cv-link-DOCBOOK_XMLLINT;, &cv-link-DOCBOOK_XMLLINTCOM;, &cv-link-DOCBOOK_XMLLINTFLAGS;, &cv-link-DOCBOOK_XSLTPROC;, &cv-link-DOCBOOK_XSLTPROCCOM;, &cv-link-DOCBOOK_XSLTPROCFLAGS;, &cv-link-DOCBOOK_XSLTPROCPARAMS;.Uses: &cv-link-DOCBOOK_FOPCOMSTR;, &cv-link-DOCBOOK_XMLLINTCOMSTR;, &cv-link-DOCBOOK_XSLTPROCCOMSTR;. dvi - - -Attaches the DVI builder to the + +Attaches the DVI builder to the construction environment. dvipdf - - + Sets construction variables for the dvipdf utility. -Sets: &cv-link-DVIPDF;, &cv-link-DVIPDFCOM;, &cv-link-DVIPDFFLAGS;.Uses: &cv-link-DVIPDFCOMSTR;. +Sets: &cv-link-DVIPDF;, &cv-link-DVIPDFCOM;, &cv-link-DVIPDFFLAGS;.Uses: &cv-link-DVIPDFCOMSTR;. dvips - - + Sets construction variables for the dvips utility. -Sets: &cv-link-DVIPS;, &cv-link-DVIPSFLAGS;, &cv-link-PSCOM;, &cv-link-PSPREFIX;, &cv-link-PSSUFFIX;.Uses: &cv-link-PSCOMSTR;. +Sets: &cv-link-DVIPS;, &cv-link-DVIPSFLAGS;, &cv-link-PSCOM;, &cv-link-PSPREFIX;, &cv-link-PSSUFFIX;.Uses: &cv-link-PSCOMSTR;. f03 - - + Set construction variables for generic POSIX Fortran 03 compilers. -Sets: &cv-link-F03;, &cv-link-F03COM;, &cv-link-F03FLAGS;, &cv-link-F03PPCOM;, &cv-link-SHF03;, &cv-link-SHF03COM;, &cv-link-SHF03FLAGS;, &cv-link-SHF03PPCOM;, &cv-link-_F03INCFLAGS;.Uses: &cv-link-F03COMSTR;, &cv-link-F03PPCOMSTR;, &cv-link-SHF03COMSTR;, &cv-link-SHF03PPCOMSTR;. +Sets: &cv-link-F03;, &cv-link-F03COM;, &cv-link-F03FLAGS;, &cv-link-F03PPCOM;, &cv-link-SHF03;, &cv-link-SHF03COM;, &cv-link-SHF03FLAGS;, &cv-link-SHF03PPCOM;, &cv-link-_F03INCFLAGS;.Uses: &cv-link-F03COMSTR;, &cv-link-F03PPCOMSTR;, &cv-link-SHF03COMSTR;, &cv-link-SHF03PPCOMSTR;. f08 - - + Set construction variables for generic POSIX Fortran 08 compilers. -Sets: &cv-link-F08;, &cv-link-F08COM;, &cv-link-F08FLAGS;, &cv-link-F08PPCOM;, &cv-link-SHF08;, &cv-link-SHF08COM;, &cv-link-SHF08FLAGS;, &cv-link-SHF08PPCOM;, &cv-link-_F08INCFLAGS;.Uses: &cv-link-F08COMSTR;, &cv-link-F08PPCOMSTR;, &cv-link-SHF08COMSTR;, &cv-link-SHF08PPCOMSTR;. +Sets: &cv-link-F08;, &cv-link-F08COM;, &cv-link-F08FLAGS;, &cv-link-F08PPCOM;, &cv-link-SHF08;, &cv-link-SHF08COM;, &cv-link-SHF08FLAGS;, &cv-link-SHF08PPCOM;, &cv-link-_F08INCFLAGS;.Uses: &cv-link-F08COMSTR;, &cv-link-F08PPCOMSTR;, &cv-link-SHF08COMSTR;, &cv-link-SHF08PPCOMSTR;. f77 - - + Set construction variables for generic POSIX Fortran 77 compilers. -Sets: &cv-link-F77;, &cv-link-F77COM;, &cv-link-F77FILESUFFIXES;, &cv-link-F77FLAGS;, &cv-link-F77PPCOM;, &cv-link-F77PPFILESUFFIXES;, &cv-link-FORTRAN;, &cv-link-FORTRANCOM;, &cv-link-FORTRANFLAGS;, &cv-link-SHF77;, &cv-link-SHF77COM;, &cv-link-SHF77FLAGS;, &cv-link-SHF77PPCOM;, &cv-link-SHFORTRAN;, &cv-link-SHFORTRANCOM;, &cv-link-SHFORTRANFLAGS;, &cv-link-SHFORTRANPPCOM;, &cv-link-_F77INCFLAGS;.Uses: &cv-link-F77COMSTR;, &cv-link-F77PPCOMSTR;, &cv-link-FORTRANCOMSTR;, &cv-link-FORTRANPPCOMSTR;, &cv-link-SHF77COMSTR;, &cv-link-SHF77PPCOMSTR;, &cv-link-SHFORTRANCOMSTR;, &cv-link-SHFORTRANPPCOMSTR;. +Sets: &cv-link-F77;, &cv-link-F77COM;, &cv-link-F77FILESUFFIXES;, &cv-link-F77FLAGS;, &cv-link-F77PPCOM;, &cv-link-F77PPFILESUFFIXES;, &cv-link-FORTRAN;, &cv-link-FORTRANCOM;, &cv-link-FORTRANFLAGS;, &cv-link-SHF77;, &cv-link-SHF77COM;, &cv-link-SHF77FLAGS;, &cv-link-SHF77PPCOM;, &cv-link-SHFORTRAN;, &cv-link-SHFORTRANCOM;, &cv-link-SHFORTRANFLAGS;, &cv-link-SHFORTRANPPCOM;, &cv-link-_F77INCFLAGS;.Uses: &cv-link-F77COMSTR;, &cv-link-F77PPCOMSTR;, &cv-link-FORTRANCOMSTR;, &cv-link-FORTRANPPCOMSTR;, &cv-link-SHF77COMSTR;, &cv-link-SHF77PPCOMSTR;, &cv-link-SHFORTRANCOMSTR;, &cv-link-SHFORTRANPPCOMSTR;. f90 - - + Set construction variables for generic POSIX Fortran 90 compilers. -Sets: &cv-link-F90;, &cv-link-F90COM;, &cv-link-F90FLAGS;, &cv-link-F90PPCOM;, &cv-link-SHF90;, &cv-link-SHF90COM;, &cv-link-SHF90FLAGS;, &cv-link-SHF90PPCOM;, &cv-link-_F90INCFLAGS;.Uses: &cv-link-F90COMSTR;, &cv-link-F90PPCOMSTR;, &cv-link-SHF90COMSTR;, &cv-link-SHF90PPCOMSTR;. +Sets: &cv-link-F90;, &cv-link-F90COM;, &cv-link-F90FLAGS;, &cv-link-F90PPCOM;, &cv-link-SHF90;, &cv-link-SHF90COM;, &cv-link-SHF90FLAGS;, &cv-link-SHF90PPCOM;, &cv-link-_F90INCFLAGS;.Uses: &cv-link-F90COMSTR;, &cv-link-F90PPCOMSTR;, &cv-link-SHF90COMSTR;, &cv-link-SHF90PPCOMSTR;. f95 - - + Set construction variables for generic POSIX Fortran 95 compilers. -Sets: &cv-link-F95;, &cv-link-F95COM;, &cv-link-F95FLAGS;, &cv-link-F95PPCOM;, &cv-link-SHF95;, &cv-link-SHF95COM;, &cv-link-SHF95FLAGS;, &cv-link-SHF95PPCOM;, &cv-link-_F95INCFLAGS;.Uses: &cv-link-F95COMSTR;, &cv-link-F95PPCOMSTR;, &cv-link-SHF95COMSTR;, &cv-link-SHF95PPCOMSTR;. +Sets: &cv-link-F95;, &cv-link-F95COM;, &cv-link-F95FLAGS;, &cv-link-F95PPCOM;, &cv-link-SHF95;, &cv-link-SHF95COM;, &cv-link-SHF95FLAGS;, &cv-link-SHF95PPCOM;, &cv-link-_F95INCFLAGS;.Uses: &cv-link-F95COMSTR;, &cv-link-F95PPCOMSTR;, &cv-link-SHF95COMSTR;, &cv-link-SHF95PPCOMSTR;. fortran - - + Set construction variables for generic POSIX Fortran compilers. -Sets: &cv-link-FORTRAN;, &cv-link-FORTRANCOM;, &cv-link-FORTRANFLAGS;, &cv-link-SHFORTRAN;, &cv-link-SHFORTRANCOM;, &cv-link-SHFORTRANFLAGS;, &cv-link-SHFORTRANPPCOM;.Uses: &cv-link-FORTRANCOMSTR;, &cv-link-FORTRANPPCOMSTR;, &cv-link-SHFORTRANCOMSTR;, &cv-link-SHFORTRANPPCOMSTR;. +Sets: &cv-link-FORTRAN;, &cv-link-FORTRANCOM;, &cv-link-FORTRANFLAGS;, &cv-link-SHFORTRAN;, &cv-link-SHFORTRANCOM;, &cv-link-SHFORTRANFLAGS;, &cv-link-SHFORTRANPPCOM;.Uses: &cv-link-FORTRANCOMSTR;, &cv-link-FORTRANPPCOMSTR;, &cv-link-SHFORTRANCOMSTR;, &cv-link-SHFORTRANPPCOMSTR;. g++ - - -Set construction variables for the gXX C++ compiler. + +Set construction variables for the gXX C++ compiler. -Sets: &cv-link-CXX;, &cv-link-CXXVERSION;, &cv-link-SHCXXFLAGS;, &cv-link-SHOBJSUFFIX;. +Sets: &cv-link-CXX;, &cv-link-CXXVERSION;, &cv-link-SHCXXFLAGS;, &cv-link-SHOBJSUFFIX;. g77 - - -Set construction variables for the g77 Fortran compiler. -Calls the f77 Tool module + +Set construction variables for the g77 Fortran compiler. +Calls the f77 Tool module to set variables. gas - - -Sets construction variables for the gas assembler. -Calls the as module. + +Sets construction variables for the gas assembler. +Calls the as module. -Sets: &cv-link-AS;. +Sets: &cv-link-AS;. gcc - - -Set construction variables for the gcc C compiler. + +Set construction variables for the gcc C compiler. -Sets: &cv-link-CC;, &cv-link-CCVERSION;, &cv-link-SHCCFLAGS;. +Sets: &cv-link-CC;, &cv-link-CCVERSION;, &cv-link-SHCCFLAGS;. gdc - - + Sets construction variables for the D language compiler GDC. -Sets: &cv-link-DC;, &cv-link-DCOM;, &cv-link-DDEBUG;, &cv-link-DDEBUGPREFIX;, &cv-link-DDEBUGSUFFIX;, &cv-link-DFILESUFFIX;, &cv-link-DFLAGPREFIX;, &cv-link-DFLAGS;, &cv-link-DFLAGSUFFIX;, &cv-link-DINCPREFIX;, &cv-link-DINCSUFFIX;, &cv-link-DLIB;, &cv-link-DLIBCOM;, &cv-link-DLIBDIRPREFIX;, &cv-link-DLIBDIRSUFFIX;, &cv-link-DLIBFLAGPREFIX;, &cv-link-DLIBFLAGSUFFIX;, &cv-link-DLIBLINKPREFIX;, &cv-link-DLIBLINKSUFFIX;, &cv-link-DLINK;, &cv-link-DLINKCOM;, &cv-link-DLINKFLAGPREFIX;, &cv-link-DLINKFLAGS;, &cv-link-DLINKFLAGSUFFIX;, &cv-link-DPATH;, &cv-link-DRPATHPREFIX;, &cv-link-DRPATHSUFFIX;, &cv-link-DShLibSonameGenerator;, &cv-link-DVERPREFIX;, &cv-link-DVERSIONS;, &cv-link-DVERSUFFIX;, &cv-link-SHDC;, &cv-link-SHDCOM;, &cv-link-SHDLIBVERSION;, &cv-link-SHDLIBVERSIONFLAGS;, &cv-link-SHDLINK;, &cv-link-SHDLINKCOM;, &cv-link-SHDLINKFLAGS;. +Sets: &cv-link-DC;, &cv-link-DCOM;, &cv-link-DDEBUG;, &cv-link-DDEBUGPREFIX;, &cv-link-DDEBUGSUFFIX;, &cv-link-DFILESUFFIX;, &cv-link-DFLAGPREFIX;, &cv-link-DFLAGS;, &cv-link-DFLAGSUFFIX;, &cv-link-DINCPREFIX;, &cv-link-DINCSUFFIX;, &cv-link-DLIB;, &cv-link-DLIBCOM;, &cv-link-DLIBDIRPREFIX;, &cv-link-DLIBDIRSUFFIX;, &cv-link-DLIBFLAGPREFIX;, &cv-link-DLIBFLAGSUFFIX;, &cv-link-DLIBLINKPREFIX;, &cv-link-DLIBLINKSUFFIX;, &cv-link-DLINK;, &cv-link-DLINKCOM;, &cv-link-DLINKFLAGPREFIX;, &cv-link-DLINKFLAGS;, &cv-link-DLINKFLAGSUFFIX;, &cv-link-DPATH;, &cv-link-DRPATHPREFIX;, &cv-link-DRPATHSUFFIX;, &cv-link-DShLibSonameGenerator;, &cv-link-DVERPREFIX;, &cv-link-DVERSIONS;, &cv-link-DVERSUFFIX;, &cv-link-SHDC;, &cv-link-SHDCOM;, &cv-link-SHDLIBVERSION;, &cv-link-SHDLIBVERSIONFLAGS;, &cv-link-SHDLINK;, &cv-link-SHDLINKCOM;, &cv-link-SHDLINKFLAGS;. gettext - - + This is actually a toolset, which supports internationalization and localization of software being constructed with SCons. The toolset loads following tools: - + - xgettext - to extract internationalized messages from source code to + xgettext - to extract internationalized messages from source code to POT file(s), - msginit - may be optionally used to initialize PO + msginit - may be optionally used to initialize PO files, - msgmerge - to update PO files, that already contain + msgmerge - to update PO files, that already contain translated messages, - msgfmt - to compile textual PO file to binary + msgfmt - to compile textual PO file to binary installable MO file. - -When you enable gettext, it internally loads all abovementioned tools, + +When you enable gettext, it internally loads all abovementioned tools, so you're encouraged to see their individual documentation. - + Each of the above tools provides its own builder(s) which may be used to perform particular activities related to software internationalization. You may be however interested in top-level builder -Translate described few paragraphs later. +Translate described few paragraphs later. - -To use gettext tools add 'gettext' tool to your + +To use gettext tools add 'gettext' tool to your environment: - + env = Environment( tools = ['default', 'gettext'] ) gfortran - - + Sets construction variables for the GNU F95/F2003 GNU compiler. -Sets: &cv-link-F77;, &cv-link-F90;, &cv-link-F95;, &cv-link-FORTRAN;, &cv-link-SHF77;, &cv-link-SHF77FLAGS;, &cv-link-SHF90;, &cv-link-SHF90FLAGS;, &cv-link-SHF95;, &cv-link-SHF95FLAGS;, &cv-link-SHFORTRAN;, &cv-link-SHFORTRANFLAGS;. +Sets: &cv-link-F77;, &cv-link-F90;, &cv-link-F95;, &cv-link-FORTRAN;, &cv-link-SHF77;, &cv-link-SHF77FLAGS;, &cv-link-SHF90;, &cv-link-SHF90FLAGS;, &cv-link-SHF95;, &cv-link-SHF95FLAGS;, &cv-link-SHFORTRAN;, &cv-link-SHFORTRANFLAGS;. gnulink - - + Set construction variables for GNU linker/loader. -Sets: &cv-link-LDMODULEVERSIONFLAGS;, &cv-link-RPATHPREFIX;, &cv-link-RPATHSUFFIX;, &cv-link-SHLIBVERSIONFLAGS;, &cv-link-SHLINKFLAGS;, &cv-link-_LDMODULESONAME;, &cv-link-_SHLIBSONAME;. +Sets: &cv-link-LDMODULEVERSIONFLAGS;, &cv-link-RPATHPREFIX;, &cv-link-RPATHSUFFIX;, &cv-link-SHLIBVERSIONFLAGS;, &cv-link-SHLINKFLAGS;, &cv-link-_LDMODULESONAME;, &cv-link-_SHLIBSONAME;. gs - - + This Tool sets the required construction variables for working with the Ghostscript command. It also registers an appropriate Action -with the PDF Builder (PDF), such that the conversion from +with the PDF Builder (PDF), such that the conversion from PS/EPS to PDF happens automatically for the TeX/LaTeX toolchain. -Finally, it adds an explicit Ghostscript Builder (Gs) to the +Finally, it adds an explicit Ghostscript Builder (Gs) to the environment. -Sets: &cv-link-GS;, &cv-link-GSCOM;, &cv-link-GSFLAGS;.Uses: &cv-link-GSCOMSTR;. +Sets: &cv-link-GS;, &cv-link-GSCOM;, &cv-link-GSFLAGS;.Uses: &cv-link-GSCOMSTR;. hpc++ - - + Set construction variables for the compilers aCC on HP/UX systems. hpcc - - + Set construction variables for the aCC on HP/UX systems. -Calls the cXX tool for additional variables. +Calls the cXX tool for additional variables. -Sets: &cv-link-CXX;, &cv-link-CXXVERSION;, &cv-link-SHCXXFLAGS;. +Sets: &cv-link-CXX;, &cv-link-CXXVERSION;, &cv-link-SHCXXFLAGS;. hplink - - + Sets construction variables for the linker on HP/UX systems. -Sets: &cv-link-LINKFLAGS;, &cv-link-SHLIBSUFFIX;, &cv-link-SHLINKFLAGS;. +Sets: &cv-link-LINKFLAGS;, &cv-link-SHLIBSUFFIX;, &cv-link-SHLINKFLAGS;. icc - - + Sets construction variables for the icc compiler on OS/2 systems. -Sets: &cv-link-CC;, &cv-link-CCCOM;, &cv-link-CFILESUFFIX;, &cv-link-CPPDEFPREFIX;, &cv-link-CPPDEFSUFFIX;, &cv-link-CXXCOM;, &cv-link-CXXFILESUFFIX;, &cv-link-INCPREFIX;, &cv-link-INCSUFFIX;.Uses: &cv-link-CCFLAGS;, &cv-link-CFLAGS;, &cv-link-CPPFLAGS;, &cv-link-_CPPDEFFLAGS;, &cv-link-_CPPINCFLAGS;. +Sets: &cv-link-CC;, &cv-link-CCCOM;, &cv-link-CFILESUFFIX;, &cv-link-CPPDEFPREFIX;, &cv-link-CPPDEFSUFFIX;, &cv-link-CXXCOM;, &cv-link-CXXFILESUFFIX;, &cv-link-INCPREFIX;, &cv-link-INCSUFFIX;.Uses: &cv-link-CCFLAGS;, &cv-link-CFLAGS;, &cv-link-CPPFLAGS;, &cv-link-_CPPDEFFLAGS;, &cv-link-_CPPINCFLAGS;. icl - - + Sets construction variables for the Intel C/C++ compiler. -Calls the intelc Tool module to set its variables. +Calls the intelc Tool module to set its variables. ifl - - + Sets construction variables for the Intel Fortran compiler. -Sets: &cv-link-FORTRAN;, &cv-link-FORTRANCOM;, &cv-link-FORTRANPPCOM;, &cv-link-SHFORTRANCOM;, &cv-link-SHFORTRANPPCOM;.Uses: &cv-link-CPPFLAGS;, &cv-link-FORTRANFLAGS;, &cv-link-_CPPDEFFLAGS;, &cv-link-_FORTRANINCFLAGS;. +Sets: &cv-link-FORTRAN;, &cv-link-FORTRANCOM;, &cv-link-FORTRANPPCOM;, &cv-link-SHFORTRANCOM;, &cv-link-SHFORTRANPPCOM;.Uses: &cv-link-CPPFLAGS;, &cv-link-FORTRANFLAGS;, &cv-link-_CPPDEFFLAGS;, &cv-link-_FORTRANINCFLAGS;. ifort - - + Sets construction variables for newer versions of the Intel Fortran compiler for Linux. -Sets: &cv-link-F77;, &cv-link-F90;, &cv-link-F95;, &cv-link-FORTRAN;, &cv-link-SHF77;, &cv-link-SHF77FLAGS;, &cv-link-SHF90;, &cv-link-SHF90FLAGS;, &cv-link-SHF95;, &cv-link-SHF95FLAGS;, &cv-link-SHFORTRAN;, &cv-link-SHFORTRANFLAGS;. +Sets: &cv-link-F77;, &cv-link-F90;, &cv-link-F95;, &cv-link-FORTRAN;, &cv-link-SHF77;, &cv-link-SHF77FLAGS;, &cv-link-SHF90;, &cv-link-SHF90FLAGS;, &cv-link-SHF95;, &cv-link-SHF95FLAGS;, &cv-link-SHFORTRAN;, &cv-link-SHFORTRANFLAGS;. ilink - - + Sets construction variables for the ilink linker on OS/2 systems. -Sets: &cv-link-LIBDIRPREFIX;, &cv-link-LIBDIRSUFFIX;, &cv-link-LIBLINKPREFIX;, &cv-link-LIBLINKSUFFIX;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-LINKFLAGS;. +Sets: &cv-link-LIBDIRPREFIX;, &cv-link-LIBDIRSUFFIX;, &cv-link-LIBLINKPREFIX;, &cv-link-LIBLINKSUFFIX;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-LINKFLAGS;. ilink32 - - + Sets construction variables for the Borland ilink32 linker. -Sets: &cv-link-LIBDIRPREFIX;, &cv-link-LIBDIRSUFFIX;, &cv-link-LIBLINKPREFIX;, &cv-link-LIBLINKSUFFIX;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-LINKFLAGS;. +Sets: &cv-link-LIBDIRPREFIX;, &cv-link-LIBDIRSUFFIX;, &cv-link-LIBLINKPREFIX;, &cv-link-LIBLINKSUFFIX;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-LINKFLAGS;. install - - + Sets construction variables for file and directory installation. -Sets: &cv-link-INSTALL;, &cv-link-INSTALLSTR;. +Sets: &cv-link-INSTALL;, &cv-link-INSTALLSTR;. intelc - - + Sets construction variables for the Intel C/C++ compiler (Linux and Windows, version 7 and later). -Calls the gcc or msvc +Calls the gcc or msvc (on Linux and Windows, respectively) to set underlying variables. -Sets: &cv-link-AR;, &cv-link-CC;, &cv-link-CXX;, &cv-link-INTEL_C_COMPILER_VERSION;, &cv-link-LINK;. +Sets: &cv-link-AR;, &cv-link-CC;, &cv-link-CXX;, &cv-link-INTEL_C_COMPILER_VERSION;, &cv-link-LINK;. jar - - -Sets construction variables for the jar utility. + +Sets construction variables for the jar utility. -Sets: &cv-link-JAR;, &cv-link-JARCOM;, &cv-link-JARFLAGS;, &cv-link-JARSUFFIX;.Uses: &cv-link-JARCOMSTR;. +Sets: &cv-link-JAR;, &cv-link-JARCOM;, &cv-link-JARFLAGS;, &cv-link-JARSUFFIX;.Uses: &cv-link-JARCOMSTR;. javac - - - Sets construction variables for the javac compiler. + + Sets construction variables for the javac compiler. - Sets: &cv-link-JAVABOOTCLASSPATH;, &cv-link-JAVAC;, &cv-link-JAVACCOM;, &cv-link-JAVACFLAGS;, &cv-link-JAVACLASSPATH;, &cv-link-JAVACLASSSUFFIX;, &cv-link-JAVAINCLUDES;, &cv-link-JAVASOURCEPATH;, &cv-link-JAVASUFFIX;.Uses: &cv-link-JAVACCOMSTR;. + Sets: &cv-link-JAVABOOTCLASSPATH;, &cv-link-JAVAC;, &cv-link-JAVACCOM;, &cv-link-JAVACFLAGS;, &cv-link-JAVACLASSPATH;, &cv-link-JAVACLASSSUFFIX;, &cv-link-JAVAINCLUDES;, &cv-link-JAVASOURCEPATH;, &cv-link-JAVASUFFIX;.Uses: &cv-link-JAVACCOMSTR;. javah - - -Sets construction variables for the javah tool. + +Sets construction variables for the javah tool. -Sets: &cv-link-JAVACLASSSUFFIX;, &cv-link-JAVAH;, &cv-link-JAVAHCOM;, &cv-link-JAVAHFLAGS;.Uses: &cv-link-JAVACLASSPATH;, &cv-link-JAVAHCOMSTR;. +Sets: &cv-link-JAVACLASSSUFFIX;, &cv-link-JAVAH;, &cv-link-JAVAHCOM;, &cv-link-JAVAHFLAGS;.Uses: &cv-link-JAVACLASSPATH;, &cv-link-JAVAHCOMSTR;. latex - - -Sets construction variables for the latex utility. + +Sets construction variables for the latex utility. -Sets: &cv-link-LATEX;, &cv-link-LATEXCOM;, &cv-link-LATEXFLAGS;.Uses: &cv-link-LATEXCOMSTR;. +Sets: &cv-link-LATEX;, &cv-link-LATEXCOM;, &cv-link-LATEXFLAGS;.Uses: &cv-link-LATEXCOMSTR;. ldc - - + Sets construction variables for the D language compiler LDC2. -Sets: &cv-link-DC;, &cv-link-DCOM;, &cv-link-DDEBUG;, &cv-link-DDEBUGPREFIX;, &cv-link-DDEBUGSUFFIX;, &cv-link-DFILESUFFIX;, &cv-link-DFLAGPREFIX;, &cv-link-DFLAGS;, &cv-link-DFLAGSUFFIX;, &cv-link-DINCPREFIX;, &cv-link-DINCSUFFIX;, &cv-link-DLIB;, &cv-link-DLIBCOM;, &cv-link-DLIBDIRPREFIX;, &cv-link-DLIBDIRSUFFIX;, &cv-link-DLIBFLAGPREFIX;, &cv-link-DLIBFLAGSUFFIX;, &cv-link-DLIBLINKPREFIX;, &cv-link-DLIBLINKSUFFIX;, &cv-link-DLINK;, &cv-link-DLINKCOM;, &cv-link-DLINKFLAGPREFIX;, &cv-link-DLINKFLAGS;, &cv-link-DLINKFLAGSUFFIX;, &cv-link-DPATH;, &cv-link-DRPATHPREFIX;, &cv-link-DRPATHSUFFIX;, &cv-link-DShLibSonameGenerator;, &cv-link-DVERPREFIX;, &cv-link-DVERSIONS;, &cv-link-DVERSUFFIX;, &cv-link-SHDC;, &cv-link-SHDCOM;, &cv-link-SHDLIBVERSION;, &cv-link-SHDLIBVERSIONFLAGS;, &cv-link-SHDLINK;, &cv-link-SHDLINKCOM;, &cv-link-SHDLINKFLAGS;. +Sets: &cv-link-DC;, &cv-link-DCOM;, &cv-link-DDEBUG;, &cv-link-DDEBUGPREFIX;, &cv-link-DDEBUGSUFFIX;, &cv-link-DFILESUFFIX;, &cv-link-DFLAGPREFIX;, &cv-link-DFLAGS;, &cv-link-DFLAGSUFFIX;, &cv-link-DINCPREFIX;, &cv-link-DINCSUFFIX;, &cv-link-DLIB;, &cv-link-DLIBCOM;, &cv-link-DLIBDIRPREFIX;, &cv-link-DLIBDIRSUFFIX;, &cv-link-DLIBFLAGPREFIX;, &cv-link-DLIBFLAGSUFFIX;, &cv-link-DLIBLINKPREFIX;, &cv-link-DLIBLINKSUFFIX;, &cv-link-DLINK;, &cv-link-DLINKCOM;, &cv-link-DLINKFLAGPREFIX;, &cv-link-DLINKFLAGS;, &cv-link-DLINKFLAGSUFFIX;, &cv-link-DPATH;, &cv-link-DRPATHPREFIX;, &cv-link-DRPATHSUFFIX;, &cv-link-DShLibSonameGenerator;, &cv-link-DVERPREFIX;, &cv-link-DVERSIONS;, &cv-link-DVERSUFFIX;, &cv-link-SHDC;, &cv-link-SHDCOM;, &cv-link-SHDLIBVERSION;, &cv-link-SHDLIBVERSIONFLAGS;, &cv-link-SHDLINK;, &cv-link-SHDLINKCOM;, &cv-link-SHDLINKFLAGS;. lex - - -Sets construction variables for the lex lexical analyser. + +Sets construction variables for the lex lexical analyser. -Sets: &cv-link-LEX;, &cv-link-LEXCOM;, &cv-link-LEXFLAGS;.Uses: &cv-link-LEXCOMSTR;. +Sets: &cv-link-LEX;, &cv-link-LEXCOM;, &cv-link-LEXFLAGS;.Uses: &cv-link-LEXCOMSTR;. link - - + Sets construction variables for generic POSIX linkers. -Sets: &cv-link-LDMODULE;, &cv-link-LDMODULECOM;, &cv-link-LDMODULEFLAGS;, &cv-link-LDMODULENOVERSIONSYMLINKS;, &cv-link-LDMODULEPREFIX;, &cv-link-LDMODULESUFFIX;, &cv-link-LDMODULEVERSION;, &cv-link-LDMODULEVERSIONFLAGS;, &cv-link-LIBDIRPREFIX;, &cv-link-LIBDIRSUFFIX;, &cv-link-LIBLINKPREFIX;, &cv-link-LIBLINKSUFFIX;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-LINKFLAGS;, &cv-link-SHLIBSUFFIX;, &cv-link-SHLINK;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;, &cv-link-__LDMODULEVERSIONFLAGS;, &cv-link-__SHLIBVERSIONFLAGS;.Uses: &cv-link-LDMODULECOMSTR;, &cv-link-LINKCOMSTR;, &cv-link-SHLINKCOMSTR;. +Sets: &cv-link-LDMODULE;, &cv-link-LDMODULECOM;, &cv-link-LDMODULEFLAGS;, &cv-link-LDMODULENOVERSIONSYMLINKS;, &cv-link-LDMODULEPREFIX;, &cv-link-LDMODULESUFFIX;, &cv-link-LDMODULEVERSION;, &cv-link-LDMODULEVERSIONFLAGS;, &cv-link-LIBDIRPREFIX;, &cv-link-LIBDIRSUFFIX;, &cv-link-LIBLINKPREFIX;, &cv-link-LIBLINKSUFFIX;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-LINKFLAGS;, &cv-link-SHLIBSUFFIX;, &cv-link-SHLINK;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;, &cv-link-__LDMODULEVERSIONFLAGS;, &cv-link-__SHLIBVERSIONFLAGS;.Uses: &cv-link-LDMODULECOMSTR;, &cv-link-LINKCOMSTR;, &cv-link-SHLINKCOMSTR;. linkloc - - + Sets construction variables for the LinkLoc linker for the Phar Lap ETS embedded operating system. -Sets: &cv-link-LIBDIRPREFIX;, &cv-link-LIBDIRSUFFIX;, &cv-link-LIBLINKPREFIX;, &cv-link-LIBLINKSUFFIX;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-LINKFLAGS;, &cv-link-SHLINK;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;.Uses: &cv-link-LINKCOMSTR;, &cv-link-SHLINKCOMSTR;. +Sets: &cv-link-LIBDIRPREFIX;, &cv-link-LIBDIRSUFFIX;, &cv-link-LIBLINKPREFIX;, &cv-link-LIBLINKSUFFIX;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-LINKFLAGS;, &cv-link-SHLINK;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;.Uses: &cv-link-LINKCOMSTR;, &cv-link-SHLINKCOMSTR;. m4 - - -Sets construction variables for the m4 macro processor. + +Sets construction variables for the m4 macro processor. -Sets: &cv-link-M4;, &cv-link-M4COM;, &cv-link-M4FLAGS;.Uses: &cv-link-M4COMSTR;. +Sets: &cv-link-M4;, &cv-link-M4COM;, &cv-link-M4FLAGS;.Uses: &cv-link-M4COMSTR;. masm - - + Sets construction variables for the Microsoft assembler. -Sets: &cv-link-AS;, &cv-link-ASCOM;, &cv-link-ASFLAGS;, &cv-link-ASPPCOM;, &cv-link-ASPPFLAGS;.Uses: &cv-link-ASCOMSTR;, &cv-link-ASPPCOMSTR;, &cv-link-CPPFLAGS;, &cv-link-_CPPDEFFLAGS;, &cv-link-_CPPINCFLAGS;. +Sets: &cv-link-AS;, &cv-link-ASCOM;, &cv-link-ASFLAGS;, &cv-link-ASPPCOM;, &cv-link-ASPPFLAGS;.Uses: &cv-link-ASCOMSTR;, &cv-link-ASPPCOMSTR;, &cv-link-CPPFLAGS;, &cv-link-_CPPDEFFLAGS;, &cv-link-_CPPINCFLAGS;. midl - - + Sets construction variables for the Microsoft IDL compiler. -Sets: &cv-link-MIDL;, &cv-link-MIDLCOM;, &cv-link-MIDLFLAGS;.Uses: &cv-link-MIDLCOMSTR;. +Sets: &cv-link-MIDL;, &cv-link-MIDLCOM;, &cv-link-MIDLFLAGS;.Uses: &cv-link-MIDLCOMSTR;. mingw - - + Sets construction variables for MinGW (Minimal Gnu on Windows). -Sets: &cv-link-AS;, &cv-link-CC;, &cv-link-CXX;, &cv-link-LDMODULECOM;, &cv-link-LIBPREFIX;, &cv-link-LIBSUFFIX;, &cv-link-OBJSUFFIX;, &cv-link-RC;, &cv-link-RCCOM;, &cv-link-RCFLAGS;, &cv-link-RCINCFLAGS;, &cv-link-RCINCPREFIX;, &cv-link-RCINCSUFFIX;, &cv-link-SHCCFLAGS;, &cv-link-SHCXXFLAGS;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;, &cv-link-SHOBJSUFFIX;, &cv-link-WINDOWSDEFPREFIX;, &cv-link-WINDOWSDEFSUFFIX;.Uses: &cv-link-RCCOMSTR;, &cv-link-SHLINKCOMSTR;. +Sets: &cv-link-AS;, &cv-link-CC;, &cv-link-CXX;, &cv-link-LDMODULECOM;, &cv-link-LIBPREFIX;, &cv-link-LIBSUFFIX;, &cv-link-OBJSUFFIX;, &cv-link-RC;, &cv-link-RCCOM;, &cv-link-RCFLAGS;, &cv-link-RCINCFLAGS;, &cv-link-RCINCPREFIX;, &cv-link-RCINCSUFFIX;, &cv-link-SHCCFLAGS;, &cv-link-SHCXXFLAGS;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;, &cv-link-SHOBJSUFFIX;, &cv-link-WINDOWSDEFPREFIX;, &cv-link-WINDOWSDEFSUFFIX;.Uses: &cv-link-RCCOMSTR;, &cv-link-SHLINKCOMSTR;. msgfmt - - -This scons tool is a part of scons gettext toolset. It provides scons + +This scons tool is a part of scons gettext toolset. It provides scons interface to msgfmt(1) command, which generates binary message catalog (MO) from a textual translation description (PO). -Sets: &cv-link-MOSUFFIX;, &cv-link-MSGFMT;, &cv-link-MSGFMTCOM;, &cv-link-MSGFMTCOMSTR;, &cv-link-MSGFMTFLAGS;, &cv-link-POSUFFIX;.Uses: &cv-link-LINGUAS_FILE;. +Sets: &cv-link-MOSUFFIX;, &cv-link-MSGFMT;, &cv-link-MSGFMTCOM;, &cv-link-MSGFMTCOMSTR;, &cv-link-MSGFMTFLAGS;, &cv-link-POSUFFIX;.Uses: &cv-link-LINGUAS_FILE;. msginit - - -This scons tool is a part of scons gettext toolset. It provides + +This scons tool is a part of scons gettext toolset. It provides scons interface to msginit(1) program, which creates new PO file, initializing the meta information with values from user's environment (or options). -Sets: &cv-link-MSGINIT;, &cv-link-MSGINITCOM;, &cv-link-MSGINITCOMSTR;, &cv-link-MSGINITFLAGS;, &cv-link-POAUTOINIT;, &cv-link-POCREATE_ALIAS;, &cv-link-POSUFFIX;, &cv-link-POTSUFFIX;, &cv-link-_MSGINITLOCALE;.Uses: &cv-link-LINGUAS_FILE;, &cv-link-POAUTOINIT;, &cv-link-POTDOMAIN;. +Sets: &cv-link-MSGINIT;, &cv-link-MSGINITCOM;, &cv-link-MSGINITCOMSTR;, &cv-link-MSGINITFLAGS;, &cv-link-POAUTOINIT;, &cv-link-POCREATE_ALIAS;, &cv-link-POSUFFIX;, &cv-link-POTSUFFIX;, &cv-link-_MSGINITLOCALE;.Uses: &cv-link-LINGUAS_FILE;, &cv-link-POAUTOINIT;, &cv-link-POTDOMAIN;. msgmerge - - -This scons tool is a part of scons gettext toolset. It provides + +This scons tool is a part of scons gettext toolset. It provides scons interface to msgmerge(1) command, which merges two Uniform style .po files together. -Sets: &cv-link-MSGMERGE;, &cv-link-MSGMERGECOM;, &cv-link-MSGMERGECOMSTR;, &cv-link-MSGMERGEFLAGS;, &cv-link-POSUFFIX;, &cv-link-POTSUFFIX;, &cv-link-POUPDATE_ALIAS;.Uses: &cv-link-LINGUAS_FILE;, &cv-link-POAUTOINIT;, &cv-link-POTDOMAIN;. +Sets: &cv-link-MSGMERGE;, &cv-link-MSGMERGECOM;, &cv-link-MSGMERGECOMSTR;, &cv-link-MSGMERGEFLAGS;, &cv-link-POSUFFIX;, &cv-link-POTSUFFIX;, &cv-link-POUPDATE_ALIAS;.Uses: &cv-link-LINGUAS_FILE;, &cv-link-POAUTOINIT;, &cv-link-POTDOMAIN;. mslib - - + Sets construction variables for the Microsoft mslib library archiver. -Sets: &cv-link-AR;, &cv-link-ARCOM;, &cv-link-ARFLAGS;, &cv-link-LIBPREFIX;, &cv-link-LIBSUFFIX;.Uses: &cv-link-ARCOMSTR;. +Sets: &cv-link-AR;, &cv-link-ARCOM;, &cv-link-ARFLAGS;, &cv-link-LIBPREFIX;, &cv-link-LIBSUFFIX;.Uses: &cv-link-ARCOMSTR;. mslink - - + Sets construction variables for the Microsoft linker. -Sets: &cv-link-LDMODULE;, &cv-link-LDMODULECOM;, &cv-link-LDMODULEFLAGS;, &cv-link-LDMODULEPREFIX;, &cv-link-LDMODULESUFFIX;, &cv-link-LIBDIRPREFIX;, &cv-link-LIBDIRSUFFIX;, &cv-link-LIBLINKPREFIX;, &cv-link-LIBLINKSUFFIX;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-LINKFLAGS;, &cv-link-REGSVR;, &cv-link-REGSVRCOM;, &cv-link-REGSVRFLAGS;, &cv-link-SHLINK;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;, &cv-link-WIN32DEFPREFIX;, &cv-link-WIN32DEFSUFFIX;, &cv-link-WIN32EXPPREFIX;, &cv-link-WIN32EXPSUFFIX;, &cv-link-WINDOWSDEFPREFIX;, &cv-link-WINDOWSDEFSUFFIX;, &cv-link-WINDOWSEXPPREFIX;, &cv-link-WINDOWSEXPSUFFIX;, &cv-link-WINDOWSPROGMANIFESTPREFIX;, &cv-link-WINDOWSPROGMANIFESTSUFFIX;, &cv-link-WINDOWSSHLIBMANIFESTPREFIX;, &cv-link-WINDOWSSHLIBMANIFESTSUFFIX;, &cv-link-WINDOWS_INSERT_DEF;.Uses: &cv-link-LDMODULECOMSTR;, &cv-link-LINKCOMSTR;, &cv-link-REGSVRCOMSTR;, &cv-link-SHLINKCOMSTR;. +Sets: &cv-link-LDMODULE;, &cv-link-LDMODULECOM;, &cv-link-LDMODULEFLAGS;, &cv-link-LDMODULEPREFIX;, &cv-link-LDMODULESUFFIX;, &cv-link-LIBDIRPREFIX;, &cv-link-LIBDIRSUFFIX;, &cv-link-LIBLINKPREFIX;, &cv-link-LIBLINKSUFFIX;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-LINKFLAGS;, &cv-link-REGSVR;, &cv-link-REGSVRCOM;, &cv-link-REGSVRFLAGS;, &cv-link-SHLINK;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;, &cv-link-WIN32DEFPREFIX;, &cv-link-WIN32DEFSUFFIX;, &cv-link-WIN32EXPPREFIX;, &cv-link-WIN32EXPSUFFIX;, &cv-link-WINDOWSDEFPREFIX;, &cv-link-WINDOWSDEFSUFFIX;, &cv-link-WINDOWSEXPPREFIX;, &cv-link-WINDOWSEXPSUFFIX;, &cv-link-WINDOWSPROGMANIFESTPREFIX;, &cv-link-WINDOWSPROGMANIFESTSUFFIX;, &cv-link-WINDOWSSHLIBMANIFESTPREFIX;, &cv-link-WINDOWSSHLIBMANIFESTSUFFIX;, &cv-link-WINDOWS_INSERT_DEF;.Uses: &cv-link-LDMODULECOMSTR;, &cv-link-LINKCOMSTR;, &cv-link-REGSVRCOMSTR;, &cv-link-SHLINKCOMSTR;. mssdk - - + Sets variables for Microsoft Platform SDK and/or Windows SDK. Note that unlike most other Tool modules, mssdk does not set construction variables, but sets the environment variables -in the environment SCons uses to execute +in the environment SCons uses to execute the Microsoft toolchain: %INCLUDE%, %LIB%, %LIBPATH% and %PATH%. -Uses: &cv-link-MSSDK_DIR;, &cv-link-MSSDK_VERSION;, &cv-link-MSVS_VERSION;. +Uses: &cv-link-MSSDK_DIR;, &cv-link-MSSDK_VERSION;, &cv-link-MSVS_VERSION;. msvc - - + Sets construction variables for the Microsoft Visual C/C++ compiler. -Sets: &cv-link-BUILDERS;, &cv-link-CC;, &cv-link-CCCOM;, &cv-link-CCFLAGS;, &cv-link-CCPCHFLAGS;, &cv-link-CCPDBFLAGS;, &cv-link-CFILESUFFIX;, &cv-link-CFLAGS;, &cv-link-CPPDEFPREFIX;, &cv-link-CPPDEFSUFFIX;, &cv-link-CXX;, &cv-link-CXXCOM;, &cv-link-CXXFILESUFFIX;, &cv-link-CXXFLAGS;, &cv-link-INCPREFIX;, &cv-link-INCSUFFIX;, &cv-link-OBJPREFIX;, &cv-link-OBJSUFFIX;, &cv-link-PCHCOM;, &cv-link-PCHPDBFLAGS;, &cv-link-RC;, &cv-link-RCCOM;, &cv-link-RCFLAGS;, &cv-link-SHCC;, &cv-link-SHCCCOM;, &cv-link-SHCCFLAGS;, &cv-link-SHCFLAGS;, &cv-link-SHCXX;, &cv-link-SHCXXCOM;, &cv-link-SHCXXFLAGS;, &cv-link-SHOBJPREFIX;, &cv-link-SHOBJSUFFIX;.Uses: &cv-link-CCCOMSTR;, &cv-link-CXXCOMSTR;, &cv-link-PCH;, &cv-link-PCHSTOP;, &cv-link-PDB;, &cv-link-SHCCCOMSTR;, &cv-link-SHCXXCOMSTR;. +Sets: &cv-link-BUILDERS;, &cv-link-CC;, &cv-link-CCCOM;, &cv-link-CCFLAGS;, &cv-link-CCPCHFLAGS;, &cv-link-CCPDBFLAGS;, &cv-link-CFILESUFFIX;, &cv-link-CFLAGS;, &cv-link-CPPDEFPREFIX;, &cv-link-CPPDEFSUFFIX;, &cv-link-CXX;, &cv-link-CXXCOM;, &cv-link-CXXFILESUFFIX;, &cv-link-CXXFLAGS;, &cv-link-INCPREFIX;, &cv-link-INCSUFFIX;, &cv-link-OBJPREFIX;, &cv-link-OBJSUFFIX;, &cv-link-PCHCOM;, &cv-link-PCHPDBFLAGS;, &cv-link-RC;, &cv-link-RCCOM;, &cv-link-RCFLAGS;, &cv-link-SHCC;, &cv-link-SHCCCOM;, &cv-link-SHCCFLAGS;, &cv-link-SHCFLAGS;, &cv-link-SHCXX;, &cv-link-SHCXXCOM;, &cv-link-SHCXXFLAGS;, &cv-link-SHOBJPREFIX;, &cv-link-SHOBJSUFFIX;.Uses: &cv-link-CCCOMSTR;, &cv-link-CXXCOMSTR;, &cv-link-PCH;, &cv-link-PCHSTOP;, &cv-link-PDB;, &cv-link-SHCCCOMSTR;, &cv-link-SHCXXCOMSTR;. msvs - -Sets construction variables for Microsoft Visual Studio. Sets: &cv-link-MSVSBUILDCOM;, &cv-link-MSVSCLEANCOM;, &cv-link-MSVSENCODING;, &cv-link-MSVSPROJECTCOM;, &cv-link-MSVSREBUILDCOM;, &cv-link-MSVSSCONS;, &cv-link-MSVSSCONSCOM;, &cv-link-MSVSSCONSCRIPT;, &cv-link-MSVSSCONSFLAGS;, &cv-link-MSVSSOLUTIONCOM;. + +Sets construction variables for Microsoft Visual Studio. Sets: &cv-link-MSVSBUILDCOM;, &cv-link-MSVSCLEANCOM;, &cv-link-MSVSENCODING;, &cv-link-MSVSPROJECTCOM;, &cv-link-MSVSREBUILDCOM;, &cv-link-MSVSSCONS;, &cv-link-MSVSSCONSCOM;, &cv-link-MSVSSCONSCRIPT;, &cv-link-MSVSSCONSFLAGS;, &cv-link-MSVSSOLUTIONCOM;. mwcc - - + Sets construction variables for the Metrowerks CodeWarrior compiler. -Sets: &cv-link-CC;, &cv-link-CCCOM;, &cv-link-CFILESUFFIX;, &cv-link-CPPDEFPREFIX;, &cv-link-CPPDEFSUFFIX;, &cv-link-CXX;, &cv-link-CXXCOM;, &cv-link-CXXFILESUFFIX;, &cv-link-INCPREFIX;, &cv-link-INCSUFFIX;, &cv-link-MWCW_VERSION;, &cv-link-MWCW_VERSIONS;, &cv-link-SHCC;, &cv-link-SHCCCOM;, &cv-link-SHCCFLAGS;, &cv-link-SHCFLAGS;, &cv-link-SHCXX;, &cv-link-SHCXXCOM;, &cv-link-SHCXXFLAGS;.Uses: &cv-link-CCCOMSTR;, &cv-link-CXXCOMSTR;, &cv-link-SHCCCOMSTR;, &cv-link-SHCXXCOMSTR;. +Sets: &cv-link-CC;, &cv-link-CCCOM;, &cv-link-CFILESUFFIX;, &cv-link-CPPDEFPREFIX;, &cv-link-CPPDEFSUFFIX;, &cv-link-CXX;, &cv-link-CXXCOM;, &cv-link-CXXFILESUFFIX;, &cv-link-INCPREFIX;, &cv-link-INCSUFFIX;, &cv-link-MWCW_VERSION;, &cv-link-MWCW_VERSIONS;, &cv-link-SHCC;, &cv-link-SHCCCOM;, &cv-link-SHCCFLAGS;, &cv-link-SHCFLAGS;, &cv-link-SHCXX;, &cv-link-SHCXXCOM;, &cv-link-SHCXXFLAGS;.Uses: &cv-link-CCCOMSTR;, &cv-link-CXXCOMSTR;, &cv-link-SHCCCOMSTR;, &cv-link-SHCXXCOMSTR;. mwld - - + Sets construction variables for the Metrowerks CodeWarrior linker. -Sets: &cv-link-AR;, &cv-link-ARCOM;, &cv-link-LIBDIRPREFIX;, &cv-link-LIBDIRSUFFIX;, &cv-link-LIBLINKPREFIX;, &cv-link-LIBLINKSUFFIX;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-SHLINK;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;. +Sets: &cv-link-AR;, &cv-link-ARCOM;, &cv-link-LIBDIRPREFIX;, &cv-link-LIBDIRSUFFIX;, &cv-link-LIBLINKPREFIX;, &cv-link-LIBLINKSUFFIX;, &cv-link-LINK;, &cv-link-LINKCOM;, &cv-link-SHLINK;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;. nasm - - + Sets construction variables for the nasm Netwide Assembler. -Sets: &cv-link-AS;, &cv-link-ASCOM;, &cv-link-ASFLAGS;, &cv-link-ASPPCOM;, &cv-link-ASPPFLAGS;.Uses: &cv-link-ASCOMSTR;, &cv-link-ASPPCOMSTR;. +Sets: &cv-link-AS;, &cv-link-ASCOM;, &cv-link-ASFLAGS;, &cv-link-ASPPCOM;, &cv-link-ASPPFLAGS;.Uses: &cv-link-ASCOMSTR;, &cv-link-ASPPCOMSTR;. - - packaging - - -A framework for building binary and source packages. + + Packaging + +Sets construction variables for the Package Builder. - - Packaging - - -Sets construction variables for the Package Builder. + + packaging + +A framework for building binary and source packages. pdf - - + Sets construction variables for the Portable Document Format builder. -Sets: &cv-link-PDFPREFIX;, &cv-link-PDFSUFFIX;. +Sets: &cv-link-PDFPREFIX;, &cv-link-PDFSUFFIX;. pdflatex - - -Sets construction variables for the pdflatex utility. + +Sets construction variables for the pdflatex utility. -Sets: &cv-link-LATEXRETRIES;, &cv-link-PDFLATEX;, &cv-link-PDFLATEXCOM;, &cv-link-PDFLATEXFLAGS;.Uses: &cv-link-PDFLATEXCOMSTR;. +Sets: &cv-link-LATEXRETRIES;, &cv-link-PDFLATEX;, &cv-link-PDFLATEXCOM;, &cv-link-PDFLATEXFLAGS;.Uses: &cv-link-PDFLATEXCOMSTR;. pdftex - - -Sets construction variables for the pdftex utility. + +Sets construction variables for the pdftex utility. -Sets: &cv-link-LATEXRETRIES;, &cv-link-PDFLATEX;, &cv-link-PDFLATEXCOM;, &cv-link-PDFLATEXFLAGS;, &cv-link-PDFTEX;, &cv-link-PDFTEXCOM;, &cv-link-PDFTEXFLAGS;.Uses: &cv-link-PDFLATEXCOMSTR;, &cv-link-PDFTEXCOMSTR;. +Sets: &cv-link-LATEXRETRIES;, &cv-link-PDFLATEX;, &cv-link-PDFLATEXCOM;, &cv-link-PDFLATEXFLAGS;, &cv-link-PDFTEX;, &cv-link-PDFTEXCOM;, &cv-link-PDFTEXFLAGS;.Uses: &cv-link-PDFLATEXCOMSTR;, &cv-link-PDFTEXCOMSTR;. qt - - + Sets construction variables for building Qt applications. -Sets: &cv-link-QTDIR;, &cv-link-QT_AUTOSCAN;, &cv-link-QT_BINPATH;, &cv-link-QT_CPPPATH;, &cv-link-QT_LIB;, &cv-link-QT_LIBPATH;, &cv-link-QT_MOC;, &cv-link-QT_MOCCXXPREFIX;, &cv-link-QT_MOCCXXSUFFIX;, &cv-link-QT_MOCFROMCXXCOM;, &cv-link-QT_MOCFROMCXXFLAGS;, &cv-link-QT_MOCFROMHCOM;, &cv-link-QT_MOCFROMHFLAGS;, &cv-link-QT_MOCHPREFIX;, &cv-link-QT_MOCHSUFFIX;, &cv-link-QT_UIC;, &cv-link-QT_UICCOM;, &cv-link-QT_UICDECLFLAGS;, &cv-link-QT_UICDECLPREFIX;, &cv-link-QT_UICDECLSUFFIX;, &cv-link-QT_UICIMPLFLAGS;, &cv-link-QT_UICIMPLPREFIX;, &cv-link-QT_UICIMPLSUFFIX;, &cv-link-QT_UISUFFIX;. +Sets: &cv-link-QTDIR;, &cv-link-QT_AUTOSCAN;, &cv-link-QT_BINPATH;, &cv-link-QT_CPPPATH;, &cv-link-QT_LIB;, &cv-link-QT_LIBPATH;, &cv-link-QT_MOC;, &cv-link-QT_MOCCXXPREFIX;, &cv-link-QT_MOCCXXSUFFIX;, &cv-link-QT_MOCFROMCXXCOM;, &cv-link-QT_MOCFROMCXXFLAGS;, &cv-link-QT_MOCFROMHCOM;, &cv-link-QT_MOCFROMHFLAGS;, &cv-link-QT_MOCHPREFIX;, &cv-link-QT_MOCHSUFFIX;, &cv-link-QT_UIC;, &cv-link-QT_UICCOM;, &cv-link-QT_UICDECLFLAGS;, &cv-link-QT_UICDECLPREFIX;, &cv-link-QT_UICDECLSUFFIX;, &cv-link-QT_UICIMPLFLAGS;, &cv-link-QT_UICIMPLPREFIX;, &cv-link-QT_UICIMPLSUFFIX;, &cv-link-QT_UISUFFIX;. rmic - - -Sets construction variables for the rmic utility. + +Sets construction variables for the rmic utility. -Sets: &cv-link-JAVACLASSSUFFIX;, &cv-link-RMIC;, &cv-link-RMICCOM;, &cv-link-RMICFLAGS;.Uses: &cv-link-RMICCOMSTR;. +Sets: &cv-link-JAVACLASSSUFFIX;, &cv-link-RMIC;, &cv-link-RMICCOM;, &cv-link-RMICFLAGS;.Uses: &cv-link-RMICCOMSTR;. rpcgen - - + Sets construction variables for building with RPCGEN. -Sets: &cv-link-RPCGEN;, &cv-link-RPCGENCLIENTFLAGS;, &cv-link-RPCGENFLAGS;, &cv-link-RPCGENHEADERFLAGS;, &cv-link-RPCGENSERVICEFLAGS;, &cv-link-RPCGENXDRFLAGS;. +Sets: &cv-link-RPCGEN;, &cv-link-RPCGENCLIENTFLAGS;, &cv-link-RPCGENFLAGS;, &cv-link-RPCGENHEADERFLAGS;, &cv-link-RPCGENSERVICEFLAGS;, &cv-link-RPCGENXDRFLAGS;. sgiar - - + Sets construction variables for the SGI library archiver. -Sets: &cv-link-AR;, &cv-link-ARCOMSTR;, &cv-link-ARFLAGS;, &cv-link-LIBPREFIX;, &cv-link-LIBSUFFIX;, &cv-link-SHLINK;, &cv-link-SHLINKFLAGS;.Uses: &cv-link-ARCOMSTR;, &cv-link-SHLINKCOMSTR;. +Sets: &cv-link-AR;, &cv-link-ARCOMSTR;, &cv-link-ARFLAGS;, &cv-link-LIBPREFIX;, &cv-link-LIBSUFFIX;, &cv-link-SHLINK;, &cv-link-SHLINKFLAGS;.Uses: &cv-link-ARCOMSTR;, &cv-link-SHLINKCOMSTR;. sgic++ - - + Sets construction variables for the SGI C++ compiler. -Sets: &cv-link-CXX;, &cv-link-CXXFLAGS;, &cv-link-SHCXX;, &cv-link-SHOBJSUFFIX;. +Sets: &cv-link-CXX;, &cv-link-CXXFLAGS;, &cv-link-SHCXX;, &cv-link-SHOBJSUFFIX;. sgicc - - + Sets construction variables for the SGI C compiler. -Sets: &cv-link-CXX;, &cv-link-SHOBJSUFFIX;. +Sets: &cv-link-CXX;, &cv-link-SHOBJSUFFIX;. sgilink - - + Sets construction variables for the SGI linker. -Sets: &cv-link-LINK;, &cv-link-RPATHPREFIX;, &cv-link-RPATHSUFFIX;, &cv-link-SHLINKFLAGS;. +Sets: &cv-link-LINK;, &cv-link-RPATHPREFIX;, &cv-link-RPATHSUFFIX;, &cv-link-SHLINKFLAGS;. sunar - - + Sets construction variables for the Sun library archiver. -Sets: &cv-link-AR;, &cv-link-ARCOM;, &cv-link-ARFLAGS;, &cv-link-LIBPREFIX;, &cv-link-LIBSUFFIX;.Uses: &cv-link-ARCOMSTR;. +Sets: &cv-link-AR;, &cv-link-ARCOM;, &cv-link-ARFLAGS;, &cv-link-LIBPREFIX;, &cv-link-LIBSUFFIX;.Uses: &cv-link-ARCOMSTR;. sunc++ - - + Sets construction variables for the Sun C++ compiler. -Sets: &cv-link-CXX;, &cv-link-CXXVERSION;, &cv-link-SHCXX;, &cv-link-SHCXXFLAGS;, &cv-link-SHOBJPREFIX;, &cv-link-SHOBJSUFFIX;. +Sets: &cv-link-CXX;, &cv-link-CXXVERSION;, &cv-link-SHCXX;, &cv-link-SHCXXFLAGS;, &cv-link-SHOBJPREFIX;, &cv-link-SHOBJSUFFIX;. suncc - - + Sets construction variables for the Sun C compiler. -Sets: &cv-link-CXX;, &cv-link-SHCCFLAGS;, &cv-link-SHOBJPREFIX;, &cv-link-SHOBJSUFFIX;. +Sets: &cv-link-CXX;, &cv-link-SHCCFLAGS;, &cv-link-SHOBJPREFIX;, &cv-link-SHOBJSUFFIX;. sunf77 - - -Set construction variables for the Sun f77 Fortran compiler. + +Set construction variables for the Sun f77 Fortran compiler. -Sets: &cv-link-F77;, &cv-link-FORTRAN;, &cv-link-SHF77;, &cv-link-SHF77FLAGS;, &cv-link-SHFORTRAN;, &cv-link-SHFORTRANFLAGS;. +Sets: &cv-link-F77;, &cv-link-FORTRAN;, &cv-link-SHF77;, &cv-link-SHF77FLAGS;, &cv-link-SHFORTRAN;, &cv-link-SHFORTRANFLAGS;. sunf90 - - -Set construction variables for the Sun f90 Fortran compiler. + +Set construction variables for the Sun f90 Fortran compiler. -Sets: &cv-link-F90;, &cv-link-FORTRAN;, &cv-link-SHF90;, &cv-link-SHF90FLAGS;, &cv-link-SHFORTRAN;, &cv-link-SHFORTRANFLAGS;. +Sets: &cv-link-F90;, &cv-link-FORTRAN;, &cv-link-SHF90;, &cv-link-SHF90FLAGS;, &cv-link-SHFORTRAN;, &cv-link-SHFORTRANFLAGS;. sunf95 - - -Set construction variables for the Sun f95 Fortran compiler. + +Set construction variables for the Sun f95 Fortran compiler. -Sets: &cv-link-F95;, &cv-link-FORTRAN;, &cv-link-SHF95;, &cv-link-SHF95FLAGS;, &cv-link-SHFORTRAN;, &cv-link-SHFORTRANFLAGS;. +Sets: &cv-link-F95;, &cv-link-FORTRAN;, &cv-link-SHF95;, &cv-link-SHF95FLAGS;, &cv-link-SHFORTRAN;, &cv-link-SHFORTRANFLAGS;. sunlink - - + Sets construction variables for the Sun linker. -Sets: &cv-link-RPATHPREFIX;, &cv-link-RPATHSUFFIX;, &cv-link-SHLINKFLAGS;. +Sets: &cv-link-RPATHPREFIX;, &cv-link-RPATHSUFFIX;, &cv-link-SHLINKFLAGS;. swig - - + Sets construction variables for the SWIG interface generator. -Sets: &cv-link-SWIG;, &cv-link-SWIGCFILESUFFIX;, &cv-link-SWIGCOM;, &cv-link-SWIGCXXFILESUFFIX;, &cv-link-SWIGDIRECTORSUFFIX;, &cv-link-SWIGFLAGS;, &cv-link-SWIGINCPREFIX;, &cv-link-SWIGINCSUFFIX;, &cv-link-SWIGPATH;, &cv-link-SWIGVERSION;, &cv-link-_SWIGINCFLAGS;.Uses: &cv-link-SWIGCOMSTR;. +Sets: &cv-link-SWIG;, &cv-link-SWIGCFILESUFFIX;, &cv-link-SWIGCOM;, &cv-link-SWIGCXXFILESUFFIX;, &cv-link-SWIGDIRECTORSUFFIX;, &cv-link-SWIGFLAGS;, &cv-link-SWIGINCPREFIX;, &cv-link-SWIGINCSUFFIX;, &cv-link-SWIGPATH;, &cv-link-SWIGVERSION;, &cv-link-_SWIGINCFLAGS;.Uses: &cv-link-SWIGCOMSTR;. tar - - -Sets construction variables for the tar archiver. + +Sets construction variables for the tar archiver. -Sets: &cv-link-TAR;, &cv-link-TARCOM;, &cv-link-TARFLAGS;, &cv-link-TARSUFFIX;.Uses: &cv-link-TARCOMSTR;. +Sets: &cv-link-TAR;, &cv-link-TARCOM;, &cv-link-TARFLAGS;, &cv-link-TARSUFFIX;.Uses: &cv-link-TARCOMSTR;. tex - - + Sets construction variables for the TeX formatter and typesetter. -Sets: &cv-link-BIBTEX;, &cv-link-BIBTEXCOM;, &cv-link-BIBTEXFLAGS;, &cv-link-LATEX;, &cv-link-LATEXCOM;, &cv-link-LATEXFLAGS;, &cv-link-MAKEINDEX;, &cv-link-MAKEINDEXCOM;, &cv-link-MAKEINDEXFLAGS;, &cv-link-TEX;, &cv-link-TEXCOM;, &cv-link-TEXFLAGS;.Uses: &cv-link-BIBTEXCOMSTR;, &cv-link-LATEXCOMSTR;, &cv-link-MAKEINDEXCOMSTR;, &cv-link-TEXCOMSTR;. +Sets: &cv-link-BIBTEX;, &cv-link-BIBTEXCOM;, &cv-link-BIBTEXFLAGS;, &cv-link-LATEX;, &cv-link-LATEXCOM;, &cv-link-LATEXFLAGS;, &cv-link-MAKEINDEX;, &cv-link-MAKEINDEXCOM;, &cv-link-MAKEINDEXFLAGS;, &cv-link-TEX;, &cv-link-TEXCOM;, &cv-link-TEXFLAGS;.Uses: &cv-link-BIBTEXCOMSTR;, &cv-link-LATEXCOMSTR;, &cv-link-MAKEINDEXCOMSTR;, &cv-link-TEXCOMSTR;. textfile - - -Set construction variables for the Textfile and Substfile builders. + +Set construction variables for the Textfile and Substfile builders. -Sets: &cv-link-LINESEPARATOR;, &cv-link-SUBSTFILEPREFIX;, &cv-link-SUBSTFILESUFFIX;, &cv-link-TEXTFILEPREFIX;, &cv-link-TEXTFILESUFFIX;.Uses: &cv-link-SUBST_DICT;. +Sets: &cv-link-LINESEPARATOR;, &cv-link-SUBSTFILEPREFIX;, &cv-link-SUBSTFILESUFFIX;, &cv-link-TEXTFILEPREFIX;, &cv-link-TEXTFILESUFFIX;.Uses: &cv-link-SUBST_DICT;. tlib - - + Sets construction variables for the Borlan tib library archiver. -Sets: &cv-link-AR;, &cv-link-ARCOM;, &cv-link-ARFLAGS;, &cv-link-LIBPREFIX;, &cv-link-LIBSUFFIX;.Uses: &cv-link-ARCOMSTR;. +Sets: &cv-link-AR;, &cv-link-ARCOM;, &cv-link-ARFLAGS;, &cv-link-LIBPREFIX;, &cv-link-LIBSUFFIX;.Uses: &cv-link-ARCOMSTR;. xgettext - - -This scons tool is a part of scons gettext toolset. It provides + +This scons tool is a part of scons gettext toolset. It provides scons interface to xgettext(1) program, which extracts internationalized messages from source code. The tool -provides POTUpdate builder to make PO +provides POTUpdate builder to make PO Template files. -Sets: &cv-link-POTSUFFIX;, &cv-link-POTUPDATE_ALIAS;, &cv-link-XGETTEXTCOM;, &cv-link-XGETTEXTCOMSTR;, &cv-link-XGETTEXTFLAGS;, &cv-link-XGETTEXTFROM;, &cv-link-XGETTEXTFROMPREFIX;, &cv-link-XGETTEXTFROMSUFFIX;, &cv-link-XGETTEXTPATH;, &cv-link-XGETTEXTPATHPREFIX;, &cv-link-XGETTEXTPATHSUFFIX;, &cv-link-_XGETTEXTDOMAIN;, &cv-link-_XGETTEXTFROMFLAGS;, &cv-link-_XGETTEXTPATHFLAGS;.Uses: &cv-link-POTDOMAIN;. +Sets: &cv-link-POTSUFFIX;, &cv-link-POTUPDATE_ALIAS;, &cv-link-XGETTEXTCOM;, &cv-link-XGETTEXTCOMSTR;, &cv-link-XGETTEXTFLAGS;, &cv-link-XGETTEXTFROM;, &cv-link-XGETTEXTFROMPREFIX;, &cv-link-XGETTEXTFROMSUFFIX;, &cv-link-XGETTEXTPATH;, &cv-link-XGETTEXTPATHPREFIX;, &cv-link-XGETTEXTPATHSUFFIX;, &cv-link-_XGETTEXTDOMAIN;, &cv-link-_XGETTEXTFROMFLAGS;, &cv-link-_XGETTEXTPATHFLAGS;.Uses: &cv-link-POTDOMAIN;. yacc - - -Sets construction variables for the yacc parse generator. + +Sets construction variables for the yacc parse generator. -Sets: &cv-link-YACC;, &cv-link-YACCCOM;, &cv-link-YACCFLAGS;, &cv-link-YACCHFILESUFFIX;, &cv-link-YACCHXXFILESUFFIX;, &cv-link-YACCVCGFILESUFFIX;.Uses: &cv-link-YACCCOMSTR;. +Sets: &cv-link-YACC;, &cv-link-YACCCOM;, &cv-link-YACCFLAGS;, &cv-link-YACCHFILESUFFIX;, &cv-link-YACCHXXFILESUFFIX;, &cv-link-YACCVCGFILESUFFIX;.Uses: &cv-link-YACCCOMSTR;. zip - - -Sets construction variables for the zip archiver. + +Sets construction variables for the zip archiver. -Sets: &cv-link-ZIP;, &cv-link-ZIPCOM;, &cv-link-ZIPCOMPRESSION;, &cv-link-ZIPFLAGS;, &cv-link-ZIPSUFFIX;.Uses: &cv-link-ZIPCOMSTR;. +Sets: &cv-link-ZIP;, &cv-link-ZIPCOM;, &cv-link-ZIPCOMPRESSION;, &cv-link-ZIPFLAGS;, &cv-link-ZIPSUFFIX;.Uses: &cv-link-ZIPCOMSTR;. diff --git a/doc/generated/tools.mod b/doc/generated/tools.mod index f9bc1d7f35..1209d74fc8 100644 --- a/doc/generated/tools.mod +++ b/doc/generated/tools.mod @@ -78,8 +78,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. mwcc"> mwld"> nasm"> -packaging"> Packaging"> +packaging"> pdf"> pdflatex"> pdftex"> @@ -186,8 +186,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. mwcc"> mwld"> nasm"> -packaging"> Packaging"> +packaging"> pdf"> pdflatex"> pdftex"> diff --git a/doc/generated/variables.gen b/doc/generated/variables.gen index 17aab7b4ea..7180489835 100644 --- a/doc/generated/variables.gen +++ b/doc/generated/variables.gen @@ -1,4 +1,4 @@ - + %scons; @@ -12,37 +12,64 @@ %variables-mod; ]> - + __LDMODULEVERSIONFLAGS - - -This construction variable automatically introduces $_LDMODULEVERSIONFLAGS -if $LDMODULEVERSION is set. Othervise it evaluates to an empty string. + +This construction variable automatically introduces $_LDMODULEVERSIONFLAGS +if $LDMODULEVERSION is set. Othervise it evaluates to an empty string. __SHLIBVERSIONFLAGS - - -This construction variable automatically introduces $_SHLIBVERSIONFLAGS -if $SHLIBVERSION is set. Othervise it evaluates to an empty string. + +This construction variable automatically introduces $_SHLIBVERSIONFLAGS +if $SHLIBVERSION is set. Othervise it evaluates to an empty string. + + APPLELINK_COMPATIBILITY_VERSION + + On Mac OS X this is used to set the linker flag: + + -compatibility_version + + + The value is specified as X[.Y[.Z]] where X is between 1 and 65535, Y can be omitted or between 1 and + 255, Z can be omitted or between 1 and 255. This value will be derived from $SHLIBVERSION if not + specified. The lowest digit will be dropped and replaced by a 0. + + See MacOS's ld manpage for more details + + + + APPLELINK_CURRENT_VERSION + + On Mac OS X this is used to set the linker flag: + + -current_version + + + The value is specified as X[.Y[.Z]] where X is between 1 and 65535, Y can be omitted or between 1 and + 255, Z can be omitted or between 1 and 255. This value will be set to $SHLIBVERSION if not + specified. + + See MacOS's ld manpage for more details + + + AR - - + The static library archiver. ARCHITECTURE - - + Specifies the system architecture for which the package is being built. The default is the system architecture @@ -59,46 +86,41 @@ as well as forming part of the name of a generated RPM package file. ARCOM - - + The command line used to generate a static library from object files. ARCOMSTR - - + The string displayed when an object file is generated from an assembly-language source file. -If this is not set, then $ARCOM (the command line) is displayed. +If this is not set, then $ARCOM (the command line) is displayed. - + env = Environment(ARCOMSTR = "Archiving $TARGET") ARFLAGS - - + General options passed to the static library archiver. AS - - + The assembler. ASCOM - - + The command line used to generate an object file from an assembly-language source file. @@ -106,69 +128,63 @@ from an assembly-language source file. ASCOMSTR - - + The string displayed when an object file is generated from an assembly-language source file. -If this is not set, then $ASCOM (the command line) is displayed. +If this is not set, then $ASCOM (the command line) is displayed. - + env = Environment(ASCOMSTR = "Assembling $TARGET") ASFLAGS - - + General options passed to the assembler. ASPPCOM - - + The command line used to assemble an assembly-language source file into an object file after first running the file through the C preprocessor. Any options specified -in the $ASFLAGS and $CPPFLAGS construction variables +in the $ASFLAGS and $CPPFLAGS construction variables are included on this command line. ASPPCOMSTR - - + The string displayed when an object file is generated from an assembly-language source file after first running the file through the C preprocessor. -If this is not set, then $ASPPCOM (the command line) is displayed. +If this is not set, then $ASPPCOM (the command line) is displayed. - + env = Environment(ASPPCOMSTR = "Assembling $TARGET") ASPPFLAGS - - + General options when an assembling an assembly-language source file into an object file after first running the file through the C preprocessor. -The default is to use the value of $ASFLAGS. +The default is to use the value of $ASFLAGS. BIBTEX - - + The bibliography generator for the TeX formatter and typesetter and the LaTeX structured formatter and typesetter. @@ -176,8 +192,7 @@ LaTeX structured formatter and typesetter. BIBTEXCOM - - + The command line used to call the bibliography generator for the TeX formatter and typesetter and the LaTeX structured formatter and typesetter. @@ -186,22 +201,20 @@ typesetter. BIBTEXCOMSTR - - + The string displayed when generating a bibliography for TeX or LaTeX. -If this is not set, then $BIBTEXCOM (the command line) is displayed. +If this is not set, then $BIBTEXCOM (the command line) is displayed. - + env = Environment(BIBTEXCOMSTR = "Generating bibliography $TARGET") BIBTEXFLAGS - - + General options passed to the bibliography generator for the TeX formatter and typesetter and the LaTeX structured formatter and typesetter. @@ -209,8 +222,7 @@ and typesetter and the LaTeX structured formatter and typesetter. BUILDERS - - + A dictionary mapping the names of the builders available through this environment to underlying Builder objects. @@ -221,26 +233,26 @@ If you initialize this variable when an Environment is created: - + env = Environment(BUILDERS = {'NewBuilder' : foo}) - + the default Builders will no longer be available. To use a new Builder object in addition to the default Builders, add your new Builder object like this: - + env = Environment() env.Append(BUILDERS = {'NewBuilder' : foo}) - + or this: - + env = Environment() env['BUILDERS']['NewBuilder'] = foo @@ -248,70 +260,64 @@ env['BUILDERS']['NewBuilder'] = foo CC - - + The C compiler. CCCOM - - + The command line used to compile a C source file to a (static) object -file. Any options specified in the $CFLAGS, $CCFLAGS and -$CPPFLAGS construction variables are included on this command +file. Any options specified in the $CFLAGS, $CCFLAGS and +$CPPFLAGS construction variables are included on this command line. CCCOMSTR - - + The string displayed when a C source file is compiled to a (static) object file. -If this is not set, then $CCCOM (the command line) is displayed. +If this is not set, then $CCCOM (the command line) is displayed. - + env = Environment(CCCOMSTR = "Compiling static object $TARGET") CCFLAGS - - + General options that are passed to the C and C++ compilers. CCPCHFLAGS - - + Options added to the compiler command line to support building with precompiled headers. The default value expands expands to the appropriate Microsoft Visual C++ command-line options -when the $PCH construction variable is set. +when the $PCH construction variable is set. CCPDBFLAGS - - + Options added to the compiler command line to support storing debugging information in a Microsoft Visual C++ PDB file. The default value expands expands to appropriate Microsoft Visual C++ command-line options -when the $PDB construction variable is set. +when the $PDB construction variable is set. - + The Visual C++ compiler option that SCons uses by default to generate PDB information is . This works correctly with parallel () builds @@ -324,31 +330,30 @@ link-time performance, although parallel builds will no longer work. - + You can generate PDB files with the -switch by overriding the default $CCPDBFLAGS variable as follows: +switch by overriding the default $CCPDBFLAGS variable as follows: - + env['CCPDBFLAGS'] = ['${(PDB and "/Zi /Fd%s" % File(PDB)) or ""}'] - + An alternative would be to use the to put the debugging information in a separate .pdb file for each object file by overriding -the $CCPDBFLAGS variable as follows: +the $CCPDBFLAGS variable as follows: - + env['CCPDBFLAGS'] = '/Zi /Fd${TARGET}.pdb' CCVERSION - - + The version number of the C compiler. This may or may not be set, depending on the specific C compiler being used. @@ -357,8 +362,7 @@ depending on the specific C compiler being used. CFILESUFFIX - - + The suffix for C source files. This is used by the internal CFile builder when generating C files from Lex (.l) or YACC (.y) input files. @@ -375,16 +379,14 @@ as C files. CFLAGS - - + General options that are passed to the C compiler (C only; not C++). CHANGE_SPECFILE - - + A hook for modifying the file that controls the packaging build (the .spec for RPM, the control for Ipkg, @@ -396,8 +398,7 @@ after the SCons template for the file has been written. CHANGED_SOURCES - - + A reserved variable name that may not be set or used in a construction environment. (See "Variable Substitution," below.) @@ -406,8 +407,7 @@ that may not be set or used in a construction environment. CHANGED_TARGETS - - + A reserved variable name that may not be set or used in a construction environment. (See "Variable Substitution," below.) @@ -416,8 +416,7 @@ that may not be set or used in a construction environment. CHANGELOG - - + The name of a file containing the change log text to be included in the package. This is included as the @@ -429,9 +428,8 @@ section of the RPM _concat - - -A function used to produce variables like $_CPPINCFLAGS. It takes + +A function used to produce variables like $_CPPINCFLAGS. It takes four or five arguments: a prefix to concatenate onto each element, a list of elements, a suffix to concatenate onto each element, an environment @@ -439,15 +437,14 @@ for variable interpolation, and an optional function that will be called to transform the list before concatenation. - + env['_CPPINCFLAGS'] = '$( ${_concat(INCPREFIX, CPPPATH, INCSUFFIX, __env__, RDirs)} $)', CONFIGUREDIR - - + The name of the directory in which Configure context test files are written. The default is @@ -461,8 +458,7 @@ file. CONFIGURELOG - - + The name of the Configure context log file. The default is config.log @@ -475,50 +471,48 @@ file. _CPPDEFFLAGS - - + An automatically-generated construction variable containing the C preprocessor command-line options to define values. -The value of $_CPPDEFFLAGS is created +The value of $_CPPDEFFLAGS is created by respectively prepending and appending -$CPPDEFPREFIX and $CPPDEFSUFFIX +$CPPDEFPREFIX and $CPPDEFSUFFIX to the beginning and end -of each definition in $CPPDEFINES. +of each definition in $CPPDEFINES. CPPDEFINES - - + A platform independent specification of C preprocessor definitions. The definitions will be added to command lines through the automatically-generated -$_CPPDEFFLAGS construction variable (see above), +$_CPPDEFFLAGS construction variable (see above), which is constructed according to -the type of value of $CPPDEFINES: +the type of value of $CPPDEFINES: - -If $CPPDEFINES is a string, + +If $CPPDEFINES is a string, the values of the -$CPPDEFPREFIX and $CPPDEFSUFFIX +$CPPDEFPREFIX and $CPPDEFSUFFIX construction variables will be respectively prepended and appended to the beginning and end -of each definition in $CPPDEFINES. +of each definition in $CPPDEFINES. - + # Will add -Dxyz to POSIX compiler command lines, # and /Dxyz to Microsoft Visual C++ command lines. env = Environment(CPPDEFINES='xyz') - -If $CPPDEFINES is a list, + +If $CPPDEFINES is a list, the values of the -$CPPDEFPREFIX and $CPPDEFSUFFIX +$CPPDEFPREFIX and $CPPDEFSUFFIX construction variables will be respectively prepended and appended to the beginning and end of each element in the list. @@ -527,16 +521,16 @@ then the first item is the name being defined and the second item is its value: - + # Will add -DB=2 -DA to POSIX compiler command lines, # and /DB=2 /DA to Microsoft Visual C++ command lines. env = Environment(CPPDEFINES=[('B', 2), 'A']) - -If $CPPDEFINES is a dictionary, + +If $CPPDEFINES is a dictionary, the values of the -$CPPDEFPREFIX and $CPPDEFSUFFIX +$CPPDEFPREFIX and $CPPDEFSUFFIX construction variables will be respectively prepended and appended to the beginning and end of each item from the dictionary. @@ -549,11 +543,11 @@ then the name is defined without an explicit value. Note that the resulting flags are sorted by keyword to ensure that the order of the options on the command line is consistent each time -scons +scons is run. - + # Will add -DA -DB=2 to POSIX compiler command lines, # and /DA /DB=2 to Microsoft Visual C++ command lines. env = Environment(CPPDEFINES={'B':2, 'A':None}) @@ -562,45 +556,42 @@ env = Environment(CPPDEFINES={'B':2, 'A':None}) CPPDEFPREFIX - - + The prefix used to specify preprocessor definitions on the C compiler command line. This will be prepended to the beginning of each definition -in the $CPPDEFINES construction variable -when the $_CPPDEFFLAGS variable is automatically generated. +in the $CPPDEFINES construction variable +when the $_CPPDEFFLAGS variable is automatically generated. CPPDEFSUFFIX - - + The suffix used to specify preprocessor definitions on the C compiler command line. This will be appended to the end of each definition -in the $CPPDEFINES construction variable -when the $_CPPDEFFLAGS variable is automatically generated. +in the $CPPDEFINES construction variable +when the $_CPPDEFFLAGS variable is automatically generated. CPPFLAGS - - + User-specified C preprocessor options. These will be included in any command that uses the C preprocessor, including not just compilation of C and C++ source files -via the $CCCOM, -$SHCCCOM, -$CXXCOM and -$SHCXXCOM command lines, -but also the $FORTRANPPCOM, -$SHFORTRANPPCOM, -$F77PPCOM and -$SHF77PPCOM command lines +via the $CCCOM, +$SHCCCOM, +$CXXCOM and +$SHCXXCOM command lines, +but also the $FORTRANPPCOM, +$SHFORTRANPPCOM, +$F77PPCOM and +$SHF77PPCOM command lines used to compile a Fortran source file, -and the $ASPPCOM command line +and the $ASPPCOM command line used to assemble an assembly language source file, after first running each file through the C preprocessor. Note that this variable does @@ -608,30 +599,28 @@ Note that this variable does contain (or similar) include search path options -that scons generates automatically from $CPPPATH. -See $_CPPINCFLAGS, below, +that scons generates automatically from $CPPPATH. +See $_CPPINCFLAGS, below, for the variable that expands to those options. _CPPINCFLAGS - - + An automatically-generated construction variable containing the C preprocessor command-line options for specifying directories to be searched for include files. -The value of $_CPPINCFLAGS is created -by respectively prepending and appending $INCPREFIX and $INCSUFFIX +The value of $_CPPINCFLAGS is created +by respectively prepending and appending $INCPREFIX and $INCSUFFIX to the beginning and end -of each directory in $CPPPATH. +of each directory in $CPPPATH. CPPPATH - - + The list of directories that the C preprocessor will search for include directories. The C/C++ implicit dependency scanner will search these directories for include files. Don't explicitly put include directory @@ -639,57 +628,56 @@ arguments in CCFLAGS or CXXFLAGS because the result will be non-portable and the directories will not be searched by the dependency scanner. Note: directory names in CPPPATH will be looked-up relative to the SConscript directory when they are used in a command. To force -scons +scons to look-up a directory relative to the root of the source tree use #: - + env = Environment(CPPPATH='#/include') - + The directory look-up can also be forced using the -Dir() +Dir() function: - + include = Dir('include') env = Environment(CPPPATH=include) - + The directory list will be added to command lines through the automatically-generated -$_CPPINCFLAGS +$_CPPINCFLAGS construction variable, which is constructed by respectively prepending and appending the value of the -$INCPREFIX and $INCSUFFIX +$INCPREFIX and $INCSUFFIX construction variables to the beginning and end -of each directory in $CPPPATH. +of each directory in $CPPPATH. Any command lines you define that need the CPPPATH directory list should -include $_CPPINCFLAGS: +include $_CPPINCFLAGS: - + env = Environment(CCCOM="my_compiler $_CPPINCFLAGS -c -o $TARGET $SOURCE") CPPSUFFIXES - - + The list of suffixes of files that will be scanned for C preprocessor implicit dependencies (#include lines). The default list is: - + [".c", ".C", ".cxx", ".cpp", ".c++", ".cc", ".h", ".H", ".hxx", ".hpp", ".hh", ".F", ".fpp", ".FPP", @@ -700,41 +688,37 @@ The default list is: CXX - - + The C++ compiler. CXXCOM - - + The command line used to compile a C++ source file to an object file. -Any options specified in the $CXXFLAGS and -$CPPFLAGS construction variables +Any options specified in the $CXXFLAGS and +$CPPFLAGS construction variables are included on this command line. CXXCOMSTR - - + The string displayed when a C++ source file is compiled to a (static) object file. -If this is not set, then $CXXCOM (the command line) is displayed. +If this is not set, then $CXXCOM (the command line) is displayed. - + env = Environment(CXXCOMSTR = "Compiling static object $TARGET") CXXFILESUFFIX - - + The suffix for C++ source files. This is used by the internal CXXFile builder when generating C++ files from Lex (.ll) or YACC (.yy) input files. @@ -760,20 +744,18 @@ as C++ files. CXXFLAGS - - + General options that are passed to the C++ compiler. -By default, this includes the value of $CCFLAGS, -so that setting $CCFLAGS affects both C and C++ compilation. +By default, this includes the value of $CCFLAGS, +so that setting $CCFLAGS affects both C and C++ compilation. If you want to add C++-specific flags, -you must set or override the value of $CXXFLAGS. +you must set or override the value of $CXXFLAGS. CXXVERSION - - + The version number of the C++ compiler. This may or may not be set, depending on the specific C++ compiler being used. @@ -782,94 +764,78 @@ depending on the specific C++ compiler being used. DC - - + The D compiler to use. - - + The D compiler to use. - - + The D compiler to use. DCOM - - + The command line used to compile a D file to an object file. - Any options specified in the $DFLAGS construction variable + Any options specified in the $DFLAGS construction variable is included on this command line. - - + The command line used to compile a D file to an object file. - Any options specified in the $DFLAGS construction variable + Any options specified in the $DFLAGS construction variable is included on this command line. - - + The command line used to compile a D file to an object file. - Any options specified in the $DFLAGS construction variable + Any options specified in the $DFLAGS construction variable is included on this command line. DDEBUG - - + List of debug tags to enable when compiling. - - + List of debug tags to enable when compiling. - - + List of debug tags to enable when compiling. DDEBUGPREFIX - - + DDEBUGPREFIX. - - + DDEBUGPREFIX. - - + DDEBUGPREFIX. DDEBUGSUFFIX - - + DDEBUGSUFFIX. - - + DDEBUGSUFFIX. - - + DDEBUGSUFFIX. DESCRIPTION - - + A long description of the project being packaged. This is included in the relevant section of the file that controls the packaging build. @@ -878,8 +844,7 @@ of the file that controls the packaging build. DESCRIPTION_lang - - + A language-specific long description for the specified lang. This is used to populate a @@ -891,109 +856,89 @@ section of an RPM DFILESUFFIX - - + DFILESUFFIX. - - + DFILESUFFIX. - - + DFILESUFFIX. DFLAGPREFIX - - + DFLAGPREFIX. - - + DFLAGPREFIX. - - + DFLAGPREFIX. DFLAGS - - + General options that are passed to the D compiler. - - + General options that are passed to the D compiler. - - + General options that are passed to the D compiler. DFLAGSUFFIX - - + DFLAGSUFFIX. - - + DFLAGSUFFIX. - - + DFLAGSUFFIX. DINCPREFIX - - + DINCPREFIX. - - + DINCPREFIX. - - + DINCPREFIX. DINCSUFFIX - - + DLIBFLAGSUFFIX. - - + DLIBFLAGSUFFIX. - - + DLIBFLAGSUFFIX. Dir - - + A function that converts a string into a Dir instance relative to the target being built. - - + A function that converts a string into a Dir instance relative to the target being built. @@ -1001,8 +946,7 @@ into a Dir instance relative to the target being built. Dirs - - + A function that converts a list of strings into a list of Dir instances relative to the target being built. @@ -1010,288 +954,240 @@ into a list of Dir instances relative to the target being built. DLIB - - + Name of the lib tool to use for D codes. - - + Name of the lib tool to use for D codes. - - + Name of the lib tool to use for D codes. DLIBCOM - - + The command line to use when creating libraries. - - + The command line to use when creating libraries. - - + The command line to use when creating libraries. DLIBDIRPREFIX - - + DLIBLINKPREFIX. - - + DLIBLINKPREFIX. - - + DLIBLINKPREFIX. DLIBDIRSUFFIX - - + DLIBLINKSUFFIX. - - + DLIBLINKSUFFIX. - - + DLIBLINKSUFFIX. DLIBFLAGPREFIX - - + DLIBFLAGPREFIX. - - + DLIBFLAGPREFIX. - - + DLIBFLAGPREFIX. DLIBFLAGSUFFIX - - + DLIBFLAGSUFFIX. - - + DLIBFLAGSUFFIX. - - + DLIBFLAGSUFFIX. DLIBLINKPREFIX - - + DLIBLINKPREFIX. - - + DLIBLINKPREFIX. - - + DLIBLINKPREFIX. DLIBLINKSUFFIX - - + DLIBLINKSUFFIX. - - + DLIBLINKSUFFIX. - - + DLIBLINKSUFFIX. DLINK - - + Name of the linker to use for linking systems including D sources. - - + Name of the linker to use for linking systems including D sources. - - + Name of the linker to use for linking systems including D sources. DLINKCOM - - + The command line to use when linking systems including D sources. - - + The command line to use when linking systems including D sources. - - + The command line to use when linking systems including D sources. DLINKFLAGPREFIX - - + DLINKFLAGPREFIX. - - + DLINKFLAGPREFIX. - - + DLINKFLAGPREFIX. DLINKFLAGS - - + List of linker flags. - - + List of linker flags. - - + List of linker flags. DLINKFLAGSUFFIX - - + DLINKFLAGSUFFIX. - - + DLINKFLAGSUFFIX. - - + DLINKFLAGSUFFIX. DOCBOOK_DEFAULT_XSL_EPUB - - -The default XSLT file for the DocbookEpub builder within the + +The default XSLT file for the DocbookEpub builder within the current environment, if no other XSLT gets specified via keyword. DOCBOOK_DEFAULT_XSL_HTML - - -The default XSLT file for the DocbookHtml builder within the + +The default XSLT file for the DocbookHtml builder within the current environment, if no other XSLT gets specified via keyword. DOCBOOK_DEFAULT_XSL_HTMLCHUNKED - - -The default XSLT file for the DocbookHtmlChunked builder within the + +The default XSLT file for the DocbookHtmlChunked builder within the current environment, if no other XSLT gets specified via keyword. DOCBOOK_DEFAULT_XSL_HTMLHELP - - -The default XSLT file for the DocbookHtmlhelp builder within the + +The default XSLT file for the DocbookHtmlhelp builder within the current environment, if no other XSLT gets specified via keyword. DOCBOOK_DEFAULT_XSL_MAN - - -The default XSLT file for the DocbookMan builder within the + +The default XSLT file for the DocbookMan builder within the current environment, if no other XSLT gets specified via keyword. DOCBOOK_DEFAULT_XSL_PDF - - -The default XSLT file for the DocbookPdf builder within the + +The default XSLT file for the DocbookPdf builder within the current environment, if no other XSLT gets specified via keyword. DOCBOOK_DEFAULT_XSL_SLIDESHTML - - -The default XSLT file for the DocbookSlidesHtml builder within the + +The default XSLT file for the DocbookSlidesHtml builder within the current environment, if no other XSLT gets specified via keyword. DOCBOOK_DEFAULT_XSL_SLIDESPDF - - -The default XSLT file for the DocbookSlidesPdf builder within the + +The default XSLT file for the DocbookSlidesPdf builder within the current environment, if no other XSLT gets specified via keyword. DOCBOOK_FOP - - + The path to the PDF renderer fop or xep, if one of them is installed (fop gets checked first). @@ -1299,8 +1195,7 @@ if one of them is installed (fop gets checked first). DOCBOOK_FOPCOM - - + The full command-line for the PDF renderer fop or xep. @@ -1308,8 +1203,7 @@ PDF renderer fop or xep. DOCBOOK_FOPCOMSTR - - + The string displayed when a renderer like fop or xep is used to create PDF output from an XML file. @@ -1317,8 +1211,7 @@ The string displayed when a renderer like fop or DOCBOOK_FOPFLAGS - - + Additonal command-line flags for the PDF renderer fop or xep. @@ -1326,8 +1219,7 @@ PDF renderer fop or xep. DOCBOOK_XMLLINT - - + The path to the external executable xmllint, if it's installed. Note, that this is only used as last fallback for resolving XIncludes, if no libxml2 or lxml Python binding can be imported @@ -1337,8 +1229,7 @@ in the current system. DOCBOOK_XMLLINTCOM - - + The full command-line for the external executable xmllint. @@ -1346,8 +1237,7 @@ The full command-line for the external executable DOCBOOK_XMLLINTCOMSTR - - + The string displayed when xmllint is used to resolve XIncludes for a given XML file. @@ -1355,8 +1245,7 @@ XIncludes for a given XML file. DOCBOOK_XMLLINTFLAGS - - + Additonal command-line flags for the external executable xmllint. @@ -1364,8 +1253,7 @@ Additonal command-line flags for the external executable DOCBOOK_XSLTPROC - - + The path to the external executable xsltproc (or saxon, xalan), if one of them is installed. @@ -1376,8 +1264,7 @@ no libxml2 or lxml Python binding can be imported in the current system. DOCBOOK_XSLTPROCCOM - - + The full command-line for the external executable xsltproc (or saxon, xalan). @@ -1386,8 +1273,7 @@ The full command-line for the external executable DOCBOOK_XSLTPROCCOMSTR - - + The string displayed when xsltproc is used to transform an XML file via a given XSLT stylesheet. @@ -1395,8 +1281,7 @@ an XML file via a given XSLT stylesheet. DOCBOOK_XSLTPROCFLAGS - - + Additonal command-line flags for the external executable xsltproc (or saxon, xalan). @@ -1405,8 +1290,7 @@ Additonal command-line flags for the external executable DOCBOOK_XSLTPROCPARAMS - - + Additonal parameters that are not intended for the XSLT processor executable, but the XSL processing itself. By default, they get appended at the end of the command line for saxon and saxon-xslt, respectively. @@ -1415,181 +1299,158 @@ for saxon and saxon-xslt, respectively. DPATH - - + List of paths to search for import modules. - - + List of paths to search for import modules. - - + List of paths to search for import modules. DRPATHPREFIX - - + DRPATHPREFIX. DRPATHSUFFIX - - + DRPATHSUFFIX. DShLibSonameGenerator - - + DShLibSonameGenerator. DSUFFIXES - - + The list of suffixes of files that will be scanned for imported D package files. The default list is: - + ['.d'] DVERPREFIX - - + DVERPREFIX. - - + DVERPREFIX. - - + DVERPREFIX. DVERSIONS - - + List of version tags to enable when compiling. - - + List of version tags to enable when compiling. - - + List of version tags to enable when compiling. DVERSUFFIX - - + DVERSUFFIX. - - + DVERSUFFIX. - - + DVERSUFFIX. DVIPDF - - + The TeX DVI file to PDF file converter. DVIPDFCOM - - + The command line used to convert TeX DVI files into a PDF file. DVIPDFCOMSTR - - + The string displayed when a TeX DVI file is converted into a PDF file. -If this is not set, then $DVIPDFCOM (the command line) is displayed. +If this is not set, then $DVIPDFCOM (the command line) is displayed. DVIPDFFLAGS - - + General options passed to the TeX DVI file to PDF file converter. DVIPS - - + The TeX DVI file to PostScript converter. DVIPSFLAGS - - + General options passed to the TeX DVI file to PostScript converter. ENV - - + A dictionary of environment variables to use when invoking commands. When -$ENV is used in a command all list +$ENV is used in a command all list values will be joined using the path separator and any other non-string values will simply be coerced to a string. Note that, by default, -scons +scons does not propagate the environment in force when you execute -scons +scons to the commands used to build target files. This is so that builds will be guaranteed repeatable regardless of the environment variables set at the time -scons +scons is invoked. - + If you want to propagate your environment variables to the commands executed @@ -1597,12 +1458,12 @@ to build target files, you must do so explicitly: - + import os env = Environment(ENV = os.environ) - + Note that you can choose only to propagate certain environment variables. A common example is @@ -1610,12 +1471,12 @@ the system PATH environment variable, so that -scons +scons uses the same utilities as the invoking shell (or other process): - + import os env = Environment(ENV = {'PATH' : os.environ['PATH']}) @@ -1623,8 +1484,7 @@ env = Environment(ENV = {'PATH' : os.environ['PATH']}) ESCAPE - - + A function that will be called to escape shell special characters in command lines. The function should take one argument: the command line string to escape; and should return the escaped command line. @@ -1633,25 +1493,23 @@ string to escape; and should return the escaped command line. F03 - - + The Fortran 03 compiler. -You should normally set the $FORTRAN variable, +You should normally set the $FORTRAN variable, which specifies the default Fortran compiler for all Fortran versions. -You only need to set $F03 if you need to use a specific compiler +You only need to set $F03 if you need to use a specific compiler or compiler version for Fortran 03 files. F03COM - - + The command line used to compile a Fortran 03 source file to an object file. -You only need to set $F03COM if you need to use a specific +You only need to set $F03COM if you need to use a specific command line for Fortran 03 files. -You should normally set the $FORTRANCOM variable, +You should normally set the $FORTRANCOM variable, which specifies the default command line for all Fortran versions. @@ -1659,19 +1517,17 @@ for all Fortran versions. F03COMSTR - - + The string displayed when a Fortran 03 source file is compiled to an object file. -If this is not set, then $F03COM or $FORTRANCOM +If this is not set, then $F03COM or $FORTRANCOM (the command line) is displayed. F03FILESUFFIXES - - + The list of file extensions for which the F03 dialect will be used. By default, this is ['.f03'] @@ -1679,22 +1535,21 @@ default, this is ['.f03'] F03FLAGS - - + General user-specified options that are passed to the Fortran 03 compiler. Note that this variable does not contain (or similar) include search path options -that scons generates automatically from $F03PATH. +that scons generates automatically from $F03PATH. See -$_F03INCFLAGS +$_F03INCFLAGS below, for the variable that expands to those options. -You only need to set $F03FLAGS if you need to define specific +You only need to set $F03FLAGS if you need to define specific user options for Fortran 03 files. -You should normally set the $FORTRANFLAGS variable, +You should normally set the $FORTRANFLAGS variable, which specifies the user-specified options passed to the default Fortran compiler for all Fortran versions. @@ -1703,86 +1558,83 @@ for all Fortran versions. _F03INCFLAGS - - + An automatically-generated construction variable containing the Fortran 03 compiler command-line options for specifying directories to be searched for include files. -The value of $_F03INCFLAGS is created -by appending $INCPREFIX and $INCSUFFIX +The value of $_F03INCFLAGS is created +by appending $INCPREFIX and $INCSUFFIX to the beginning and end -of each directory in $F03PATH. +of each directory in $F03PATH. F03PATH - - + The list of directories that the Fortran 03 compiler will search for include directories. The implicit dependency scanner will search these directories for include files. Don't explicitly put include directory -arguments in $F03FLAGS because the result will be non-portable +arguments in $F03FLAGS because the result will be non-portable and the directories will not be searched by the dependency scanner. Note: -directory names in $F03PATH will be looked-up relative to the SConscript +directory names in $F03PATH will be looked-up relative to the SConscript directory when they are used in a command. To force -scons +scons to look-up a directory relative to the root of the source tree use #: -You only need to set $F03PATH if you need to define a specific +You only need to set $F03PATH if you need to define a specific include path for Fortran 03 files. -You should normally set the $FORTRANPATH variable, +You should normally set the $FORTRANPATH variable, which specifies the include path for the default Fortran compiler for all Fortran versions. - + env = Environment(F03PATH='#/include') - + The directory look-up can also be forced using the -Dir() +Dir() function: - + include = Dir('include') env = Environment(F03PATH=include) - + The directory list will be added to command lines through the automatically-generated -$_F03INCFLAGS +$_F03INCFLAGS construction variable, which is constructed by appending the values of the -$INCPREFIX and $INCSUFFIX +$INCPREFIX and $INCSUFFIX construction variables to the beginning and end -of each directory in $F03PATH. +of each directory in $F03PATH. Any command lines you define that need the F03PATH directory list should -include $_F03INCFLAGS: +include $_F03INCFLAGS: - + env = Environment(F03COM="my_compiler $_F03INCFLAGS -c -o $TARGET $SOURCE") F03PPCOM - - + The command line used to compile a Fortran 03 source file to an object file after first running the file through the C preprocessor. -Any options specified in the $F03FLAGS and $CPPFLAGS construction variables +Any options specified in the $F03FLAGS and $CPPFLAGS construction variables are included on this command line. -You only need to set $F03PPCOM if you need to use a specific +You only need to set $F03PPCOM if you need to use a specific C-preprocessor command line for Fortran 03 files. -You should normally set the $FORTRANPPCOM variable, +You should normally set the $FORTRANPPCOM variable, which specifies the default C-preprocessor command line for all Fortran versions. @@ -1790,20 +1642,18 @@ for all Fortran versions. F03PPCOMSTR - - + The string displayed when a Fortran 03 source file is compiled to an object file after first running the file through the C preprocessor. -If this is not set, then $F03PPCOM or $FORTRANPPCOM +If this is not set, then $F03PPCOM or $FORTRANPPCOM (the command line) is displayed. F03PPFILESUFFIXES - - + The list of file extensions for which the compilation + preprocessor pass for F03 dialect will be used. By default, this is empty @@ -1811,25 +1661,23 @@ F03 dialect will be used. By default, this is empty F08 - - + The Fortran 08 compiler. -You should normally set the $FORTRAN variable, +You should normally set the $FORTRAN variable, which specifies the default Fortran compiler for all Fortran versions. -You only need to set $F08 if you need to use a specific compiler +You only need to set $F08 if you need to use a specific compiler or compiler version for Fortran 08 files. F08COM - - + The command line used to compile a Fortran 08 source file to an object file. -You only need to set $F08COM if you need to use a specific +You only need to set $F08COM if you need to use a specific command line for Fortran 08 files. -You should normally set the $FORTRANCOM variable, +You should normally set the $FORTRANCOM variable, which specifies the default command line for all Fortran versions. @@ -1837,19 +1685,17 @@ for all Fortran versions. F08COMSTR - - + The string displayed when a Fortran 08 source file is compiled to an object file. -If this is not set, then $F08COM or $FORTRANCOM +If this is not set, then $F08COM or $FORTRANCOM (the command line) is displayed. F08FILESUFFIXES - - + The list of file extensions for which the F08 dialect will be used. By default, this is ['.f08'] @@ -1857,22 +1703,21 @@ default, this is ['.f08'] F08FLAGS - - + General user-specified options that are passed to the Fortran 08 compiler. Note that this variable does not contain (or similar) include search path options -that scons generates automatically from $F08PATH. +that scons generates automatically from $F08PATH. See -$_F08INCFLAGS +$_F08INCFLAGS below, for the variable that expands to those options. -You only need to set $F08FLAGS if you need to define specific +You only need to set $F08FLAGS if you need to define specific user options for Fortran 08 files. -You should normally set the $FORTRANFLAGS variable, +You should normally set the $FORTRANFLAGS variable, which specifies the user-specified options passed to the default Fortran compiler for all Fortran versions. @@ -1881,86 +1726,83 @@ for all Fortran versions. _F08INCFLAGS - - + An automatically-generated construction variable containing the Fortran 08 compiler command-line options for specifying directories to be searched for include files. -The value of $_F08INCFLAGS is created -by appending $INCPREFIX and $INCSUFFIX +The value of $_F08INCFLAGS is created +by appending $INCPREFIX and $INCSUFFIX to the beginning and end -of each directory in $F08PATH. +of each directory in $F08PATH. F08PATH - - + The list of directories that the Fortran 08 compiler will search for include directories. The implicit dependency scanner will search these directories for include files. Don't explicitly put include directory -arguments in $F08FLAGS because the result will be non-portable +arguments in $F08FLAGS because the result will be non-portable and the directories will not be searched by the dependency scanner. Note: -directory names in $F08PATH will be looked-up relative to the SConscript +directory names in $F08PATH will be looked-up relative to the SConscript directory when they are used in a command. To force -scons +scons to look-up a directory relative to the root of the source tree use #: -You only need to set $F08PATH if you need to define a specific +You only need to set $F08PATH if you need to define a specific include path for Fortran 08 files. -You should normally set the $FORTRANPATH variable, +You should normally set the $FORTRANPATH variable, which specifies the include path for the default Fortran compiler for all Fortran versions. - + env = Environment(F08PATH='#/include') - + The directory look-up can also be forced using the -Dir() +Dir() function: - + include = Dir('include') env = Environment(F08PATH=include) - + The directory list will be added to command lines through the automatically-generated -$_F08INCFLAGS +$_F08INCFLAGS construction variable, which is constructed by appending the values of the -$INCPREFIX and $INCSUFFIX +$INCPREFIX and $INCSUFFIX construction variables to the beginning and end -of each directory in $F08PATH. +of each directory in $F08PATH. Any command lines you define that need the F08PATH directory list should -include $_F08INCFLAGS: +include $_F08INCFLAGS: - + env = Environment(F08COM="my_compiler $_F08INCFLAGS -c -o $TARGET $SOURCE") F08PPCOM - - + The command line used to compile a Fortran 08 source file to an object file after first running the file through the C preprocessor. -Any options specified in the $F08FLAGS and $CPPFLAGS construction variables +Any options specified in the $F08FLAGS and $CPPFLAGS construction variables are included on this command line. -You only need to set $F08PPCOM if you need to use a specific +You only need to set $F08PPCOM if you need to use a specific C-preprocessor command line for Fortran 08 files. -You should normally set the $FORTRANPPCOM variable, +You should normally set the $FORTRANPPCOM variable, which specifies the default C-preprocessor command line for all Fortran versions. @@ -1968,20 +1810,18 @@ for all Fortran versions. F08PPCOMSTR - - + The string displayed when a Fortran 08 source file is compiled to an object file after first running the file through the C preprocessor. -If this is not set, then $F08PPCOM or $FORTRANPPCOM +If this is not set, then $F08PPCOM or $FORTRANPPCOM (the command line) is displayed. F08PPFILESUFFIXES - - + The list of file extensions for which the compilation + preprocessor pass for F08 dialect will be used. By default, this is empty @@ -1989,25 +1829,23 @@ F08 dialect will be used. By default, this is empty F77 - - + The Fortran 77 compiler. -You should normally set the $FORTRAN variable, +You should normally set the $FORTRAN variable, which specifies the default Fortran compiler for all Fortran versions. -You only need to set $F77 if you need to use a specific compiler +You only need to set $F77 if you need to use a specific compiler or compiler version for Fortran 77 files. F77COM - - + The command line used to compile a Fortran 77 source file to an object file. -You only need to set $F77COM if you need to use a specific +You only need to set $F77COM if you need to use a specific command line for Fortran 77 files. -You should normally set the $FORTRANCOM variable, +You should normally set the $FORTRANCOM variable, which specifies the default command line for all Fortran versions. @@ -2015,19 +1853,17 @@ for all Fortran versions. F77COMSTR - - + The string displayed when a Fortran 77 source file is compiled to an object file. -If this is not set, then $F77COM or $FORTRANCOM +If this is not set, then $F77COM or $FORTRANCOM (the command line) is displayed. F77FILESUFFIXES - - + The list of file extensions for which the F77 dialect will be used. By default, this is ['.f77'] @@ -2035,22 +1871,21 @@ default, this is ['.f77'] F77FLAGS - - + General user-specified options that are passed to the Fortran 77 compiler. Note that this variable does not contain (or similar) include search path options -that scons generates automatically from $F77PATH. +that scons generates automatically from $F77PATH. See -$_F77INCFLAGS +$_F77INCFLAGS below, for the variable that expands to those options. -You only need to set $F77FLAGS if you need to define specific +You only need to set $F77FLAGS if you need to define specific user options for Fortran 77 files. -You should normally set the $FORTRANFLAGS variable, +You should normally set the $FORTRANFLAGS variable, which specifies the user-specified options passed to the default Fortran compiler for all Fortran versions. @@ -2059,86 +1894,83 @@ for all Fortran versions. _F77INCFLAGS - - + An automatically-generated construction variable containing the Fortran 77 compiler command-line options for specifying directories to be searched for include files. -The value of $_F77INCFLAGS is created -by appending $INCPREFIX and $INCSUFFIX +The value of $_F77INCFLAGS is created +by appending $INCPREFIX and $INCSUFFIX to the beginning and end -of each directory in $F77PATH. +of each directory in $F77PATH. F77PATH - - + The list of directories that the Fortran 77 compiler will search for include directories. The implicit dependency scanner will search these directories for include files. Don't explicitly put include directory -arguments in $F77FLAGS because the result will be non-portable +arguments in $F77FLAGS because the result will be non-portable and the directories will not be searched by the dependency scanner. Note: -directory names in $F77PATH will be looked-up relative to the SConscript +directory names in $F77PATH will be looked-up relative to the SConscript directory when they are used in a command. To force -scons +scons to look-up a directory relative to the root of the source tree use #: -You only need to set $F77PATH if you need to define a specific +You only need to set $F77PATH if you need to define a specific include path for Fortran 77 files. -You should normally set the $FORTRANPATH variable, +You should normally set the $FORTRANPATH variable, which specifies the include path for the default Fortran compiler for all Fortran versions. - + env = Environment(F77PATH='#/include') - + The directory look-up can also be forced using the -Dir() +Dir() function: - + include = Dir('include') env = Environment(F77PATH=include) - + The directory list will be added to command lines through the automatically-generated -$_F77INCFLAGS +$_F77INCFLAGS construction variable, which is constructed by appending the values of the -$INCPREFIX and $INCSUFFIX +$INCPREFIX and $INCSUFFIX construction variables to the beginning and end -of each directory in $F77PATH. +of each directory in $F77PATH. Any command lines you define that need the F77PATH directory list should -include $_F77INCFLAGS: +include $_F77INCFLAGS: - + env = Environment(F77COM="my_compiler $_F77INCFLAGS -c -o $TARGET $SOURCE") F77PPCOM - - + The command line used to compile a Fortran 77 source file to an object file after first running the file through the C preprocessor. -Any options specified in the $F77FLAGS and $CPPFLAGS construction variables +Any options specified in the $F77FLAGS and $CPPFLAGS construction variables are included on this command line. -You only need to set $F77PPCOM if you need to use a specific +You only need to set $F77PPCOM if you need to use a specific C-preprocessor command line for Fortran 77 files. -You should normally set the $FORTRANPPCOM variable, +You should normally set the $FORTRANPPCOM variable, which specifies the default C-preprocessor command line for all Fortran versions. @@ -2146,20 +1978,18 @@ for all Fortran versions. F77PPCOMSTR - - + The string displayed when a Fortran 77 source file is compiled to an object file after first running the file through the C preprocessor. -If this is not set, then $F77PPCOM or $FORTRANPPCOM +If this is not set, then $F77PPCOM or $FORTRANPPCOM (the command line) is displayed. F77PPFILESUFFIXES - - + The list of file extensions for which the compilation + preprocessor pass for F77 dialect will be used. By default, this is empty @@ -2167,25 +1997,23 @@ F77 dialect will be used. By default, this is empty F90 - - + The Fortran 90 compiler. -You should normally set the $FORTRAN variable, +You should normally set the $FORTRAN variable, which specifies the default Fortran compiler for all Fortran versions. -You only need to set $F90 if you need to use a specific compiler +You only need to set $F90 if you need to use a specific compiler or compiler version for Fortran 90 files. F90COM - - + The command line used to compile a Fortran 90 source file to an object file. -You only need to set $F90COM if you need to use a specific +You only need to set $F90COM if you need to use a specific command line for Fortran 90 files. -You should normally set the $FORTRANCOM variable, +You should normally set the $FORTRANCOM variable, which specifies the default command line for all Fortran versions. @@ -2193,19 +2021,17 @@ for all Fortran versions. F90COMSTR - - + The string displayed when a Fortran 90 source file is compiled to an object file. -If this is not set, then $F90COM or $FORTRANCOM +If this is not set, then $F90COM or $FORTRANCOM (the command line) is displayed. F90FILESUFFIXES - - + The list of file extensions for which the F90 dialect will be used. By default, this is ['.f90'] @@ -2213,22 +2039,21 @@ default, this is ['.f90'] F90FLAGS - - + General user-specified options that are passed to the Fortran 90 compiler. Note that this variable does not contain (or similar) include search path options -that scons generates automatically from $F90PATH. +that scons generates automatically from $F90PATH. See -$_F90INCFLAGS +$_F90INCFLAGS below, for the variable that expands to those options. -You only need to set $F90FLAGS if you need to define specific +You only need to set $F90FLAGS if you need to define specific user options for Fortran 90 files. -You should normally set the $FORTRANFLAGS variable, +You should normally set the $FORTRANFLAGS variable, which specifies the user-specified options passed to the default Fortran compiler for all Fortran versions. @@ -2237,86 +2062,83 @@ for all Fortran versions. _F90INCFLAGS - - + An automatically-generated construction variable containing the Fortran 90 compiler command-line options for specifying directories to be searched for include files. -The value of $_F90INCFLAGS is created -by appending $INCPREFIX and $INCSUFFIX +The value of $_F90INCFLAGS is created +by appending $INCPREFIX and $INCSUFFIX to the beginning and end -of each directory in $F90PATH. +of each directory in $F90PATH. F90PATH - - + The list of directories that the Fortran 90 compiler will search for include directories. The implicit dependency scanner will search these directories for include files. Don't explicitly put include directory -arguments in $F90FLAGS because the result will be non-portable +arguments in $F90FLAGS because the result will be non-portable and the directories will not be searched by the dependency scanner. Note: -directory names in $F90PATH will be looked-up relative to the SConscript +directory names in $F90PATH will be looked-up relative to the SConscript directory when they are used in a command. To force -scons +scons to look-up a directory relative to the root of the source tree use #: -You only need to set $F90PATH if you need to define a specific +You only need to set $F90PATH if you need to define a specific include path for Fortran 90 files. -You should normally set the $FORTRANPATH variable, +You should normally set the $FORTRANPATH variable, which specifies the include path for the default Fortran compiler for all Fortran versions. - + env = Environment(F90PATH='#/include') - + The directory look-up can also be forced using the -Dir() +Dir() function: - + include = Dir('include') env = Environment(F90PATH=include) - + The directory list will be added to command lines through the automatically-generated -$_F90INCFLAGS +$_F90INCFLAGS construction variable, which is constructed by appending the values of the -$INCPREFIX and $INCSUFFIX +$INCPREFIX and $INCSUFFIX construction variables to the beginning and end -of each directory in $F90PATH. +of each directory in $F90PATH. Any command lines you define that need the F90PATH directory list should -include $_F90INCFLAGS: +include $_F90INCFLAGS: - + env = Environment(F90COM="my_compiler $_F90INCFLAGS -c -o $TARGET $SOURCE") F90PPCOM - - + The command line used to compile a Fortran 90 source file to an object file after first running the file through the C preprocessor. -Any options specified in the $F90FLAGS and $CPPFLAGS construction variables +Any options specified in the $F90FLAGS and $CPPFLAGS construction variables are included on this command line. -You only need to set $F90PPCOM if you need to use a specific +You only need to set $F90PPCOM if you need to use a specific C-preprocessor command line for Fortran 90 files. -You should normally set the $FORTRANPPCOM variable, +You should normally set the $FORTRANPPCOM variable, which specifies the default C-preprocessor command line for all Fortran versions. @@ -2324,19 +2146,17 @@ for all Fortran versions. F90PPCOMSTR - - + The string displayed when a Fortran 90 source file is compiled after first running the file through the C preprocessor. -If this is not set, then $F90PPCOM or $FORTRANPPCOM +If this is not set, then $F90PPCOM or $FORTRANPPCOM (the command line) is displayed. F90PPFILESUFFIXES - - + The list of file extensions for which the compilation + preprocessor pass for F90 dialect will be used. By default, this is empty @@ -2344,25 +2164,23 @@ F90 dialect will be used. By default, this is empty F95 - - + The Fortran 95 compiler. -You should normally set the $FORTRAN variable, +You should normally set the $FORTRAN variable, which specifies the default Fortran compiler for all Fortran versions. -You only need to set $F95 if you need to use a specific compiler +You only need to set $F95 if you need to use a specific compiler or compiler version for Fortran 95 files. F95COM - - + The command line used to compile a Fortran 95 source file to an object file. -You only need to set $F95COM if you need to use a specific +You only need to set $F95COM if you need to use a specific command line for Fortran 95 files. -You should normally set the $FORTRANCOM variable, +You should normally set the $FORTRANCOM variable, which specifies the default command line for all Fortran versions. @@ -2370,19 +2188,17 @@ for all Fortran versions. F95COMSTR - - + The string displayed when a Fortran 95 source file is compiled to an object file. -If this is not set, then $F95COM or $FORTRANCOM +If this is not set, then $F95COM or $FORTRANCOM (the command line) is displayed. F95FILESUFFIXES - - + The list of file extensions for which the F95 dialect will be used. By default, this is ['.f95'] @@ -2390,22 +2206,21 @@ default, this is ['.f95'] F95FLAGS - - + General user-specified options that are passed to the Fortran 95 compiler. Note that this variable does not contain (or similar) include search path options -that scons generates automatically from $F95PATH. +that scons generates automatically from $F95PATH. See -$_F95INCFLAGS +$_F95INCFLAGS below, for the variable that expands to those options. -You only need to set $F95FLAGS if you need to define specific +You only need to set $F95FLAGS if you need to define specific user options for Fortran 95 files. -You should normally set the $FORTRANFLAGS variable, +You should normally set the $FORTRANFLAGS variable, which specifies the user-specified options passed to the default Fortran compiler for all Fortran versions. @@ -2414,86 +2229,83 @@ for all Fortran versions. _F95INCFLAGS - - + An automatically-generated construction variable containing the Fortran 95 compiler command-line options for specifying directories to be searched for include files. -The value of $_F95INCFLAGS is created -by appending $INCPREFIX and $INCSUFFIX +The value of $_F95INCFLAGS is created +by appending $INCPREFIX and $INCSUFFIX to the beginning and end -of each directory in $F95PATH. +of each directory in $F95PATH. F95PATH - - + The list of directories that the Fortran 95 compiler will search for include directories. The implicit dependency scanner will search these directories for include files. Don't explicitly put include directory -arguments in $F95FLAGS because the result will be non-portable +arguments in $F95FLAGS because the result will be non-portable and the directories will not be searched by the dependency scanner. Note: -directory names in $F95PATH will be looked-up relative to the SConscript +directory names in $F95PATH will be looked-up relative to the SConscript directory when they are used in a command. To force -scons +scons to look-up a directory relative to the root of the source tree use #: -You only need to set $F95PATH if you need to define a specific +You only need to set $F95PATH if you need to define a specific include path for Fortran 95 files. -You should normally set the $FORTRANPATH variable, +You should normally set the $FORTRANPATH variable, which specifies the include path for the default Fortran compiler for all Fortran versions. - + env = Environment(F95PATH='#/include') - + The directory look-up can also be forced using the -Dir() +Dir() function: - + include = Dir('include') env = Environment(F95PATH=include) - + The directory list will be added to command lines through the automatically-generated -$_F95INCFLAGS +$_F95INCFLAGS construction variable, which is constructed by appending the values of the -$INCPREFIX and $INCSUFFIX +$INCPREFIX and $INCSUFFIX construction variables to the beginning and end -of each directory in $F95PATH. +of each directory in $F95PATH. Any command lines you define that need the F95PATH directory list should -include $_F95INCFLAGS: +include $_F95INCFLAGS: - + env = Environment(F95COM="my_compiler $_F95INCFLAGS -c -o $TARGET $SOURCE") F95PPCOM - - + The command line used to compile a Fortran 95 source file to an object file after first running the file through the C preprocessor. -Any options specified in the $F95FLAGS and $CPPFLAGS construction variables +Any options specified in the $F95FLAGS and $CPPFLAGS construction variables are included on this command line. -You only need to set $F95PPCOM if you need to use a specific +You only need to set $F95PPCOM if you need to use a specific C-preprocessor command line for Fortran 95 files. -You should normally set the $FORTRANPPCOM variable, +You should normally set the $FORTRANPPCOM variable, which specifies the default C-preprocessor command line for all Fortran versions. @@ -2501,20 +2313,18 @@ for all Fortran versions. F95PPCOMSTR - - + The string displayed when a Fortran 95 source file is compiled to an object file after first running the file through the C preprocessor. -If this is not set, then $F95PPCOM or $FORTRANPPCOM +If this is not set, then $F95PPCOM or $FORTRANPPCOM (the command line) is displayed. F95PPFILESUFFIXES - - + The list of file extensions for which the compilation + preprocessor pass for F95 dialect will be used. By default, this is empty @@ -2522,13 +2332,11 @@ F95 dialect will be used. By default, this is empty File - - + A function that converts a string into a File instance relative to the target being built. - - + A function that converts a string into a File instance relative to the target being built. @@ -2536,8 +2344,7 @@ target being built. FORTRAN - - + The default Fortran compiler for all versions of Fortran. @@ -2545,34 +2352,31 @@ for all versions of Fortran. FORTRANCOM - - + The command line used to compile a Fortran source file to an object file. By default, any options specified -in the $FORTRANFLAGS, -$CPPFLAGS, -$_CPPDEFFLAGS, -$_FORTRANMODFLAG, and -$_FORTRANINCFLAGS construction variables +in the $FORTRANFLAGS, +$CPPFLAGS, +$_CPPDEFFLAGS, +$_FORTRANMODFLAG, and +$_FORTRANINCFLAGS construction variables are included on this command line. FORTRANCOMSTR - - + The string displayed when a Fortran source file is compiled to an object file. -If this is not set, then $FORTRANCOM +If this is not set, then $FORTRANCOM (the command line) is displayed. FORTRANFILESUFFIXES - - + The list of file extensions for which the FORTRAN dialect will be used. By default, this is ['.f', '.for', '.ftn'] @@ -2580,17 +2384,16 @@ default, this is ['.f', '.for', '.ftn'] FORTRANFLAGS - - + General user-specified options that are passed to the Fortran compiler. Note that this variable does not contain (or similar) include or module search path options -that scons generates automatically from $FORTRANPATH. +that scons generates automatically from $FORTRANPATH. See -$_FORTRANINCFLAGS and $_FORTRANMODFLAG, +$_FORTRANINCFLAGS and $_FORTRANMODFLAG, below, for the variables that expand those options. @@ -2598,24 +2401,22 @@ for the variables that expand those options. _FORTRANINCFLAGS - - + An automatically-generated construction variable containing the Fortran compiler command-line options for specifying directories to be searched for include files and module files. -The value of $_FORTRANINCFLAGS is created +The value of $_FORTRANINCFLAGS is created by respectively prepending and appending -$INCPREFIX and $INCSUFFIX +$INCPREFIX and $INCSUFFIX to the beginning and end -of each directory in $FORTRANPATH. +of each directory in $FORTRANPATH. FORTRANMODDIR - - + Directory location where the Fortran compiler should place any module files it generates. This variable is empty, by default. Some Fortran compilers will internally append this directory in the search path @@ -2625,48 +2426,44 @@ for module files, as well. FORTRANMODDIRPREFIX - - + The prefix used to specify a module directory on the Fortran compiler command line. This will be prepended to the beginning of the directory -in the $FORTRANMODDIR construction variables -when the $_FORTRANMODFLAG variables is automatically generated. +in the $FORTRANMODDIR construction variables +when the $_FORTRANMODFLAG variables is automatically generated. FORTRANMODDIRSUFFIX - - + The suffix used to specify a module directory on the Fortran compiler command line. This will be appended to the end of the directory -in the $FORTRANMODDIR construction variables -when the $_FORTRANMODFLAG variables is automatically generated. +in the $FORTRANMODDIR construction variables +when the $_FORTRANMODFLAG variables is automatically generated. _FORTRANMODFLAG - - + An automatically-generated construction variable containing the Fortran compiler command-line option for specifying the directory location where the Fortran compiler should place any module files that happen to get generated during compilation. -The value of $_FORTRANMODFLAG is created +The value of $_FORTRANMODFLAG is created by respectively prepending and appending -$FORTRANMODDIRPREFIX and $FORTRANMODDIRSUFFIX -to the beginning and end of the directory in $FORTRANMODDIR. +$FORTRANMODDIRPREFIX and $FORTRANMODDIRSUFFIX +to the beginning and end of the directory in $FORTRANMODDIR. FORTRANMODPREFIX - - + The module file prefix used by the Fortran compiler. SCons assumes that the Fortran compiler follows the quasi-standard naming convention for module files of @@ -2680,8 +2477,7 @@ module file name as scons attempts to resolve dependencies. FORTRANMODSUFFIX - - + The module file suffix used by the Fortran compiler. SCons assumes that the Fortran compiler follows the quasi-standard naming convention for module files of @@ -2695,8 +2491,7 @@ module file name as scons attempts to resolve dependencies. FORTRANPATH - - + The list of directories that the Fortran compiler will search for include files and (for some compilers) module files. The Fortran implicit dependency scanner will search these directories for include files (but @@ -2706,77 +2501,74 @@ include directory arguments in FORTRANFLAGS because the result will be non-portable and the directories will not be searched by the dependency scanner. Note: directory names in FORTRANPATH will be looked-up relative to the SConscript directory when they are used in a command. To force -scons +scons to look-up a directory relative to the root of the source tree use #: - + env = Environment(FORTRANPATH='#/include') - + The directory look-up can also be forced using the -Dir() +Dir() function: - + include = Dir('include') env = Environment(FORTRANPATH=include) - + The directory list will be added to command lines through the automatically-generated -$_FORTRANINCFLAGS +$_FORTRANINCFLAGS construction variable, which is constructed by respectively prepending and appending the values of the -$INCPREFIX and $INCSUFFIX +$INCPREFIX and $INCSUFFIX construction variables to the beginning and end -of each directory in $FORTRANPATH. +of each directory in $FORTRANPATH. Any command lines you define that need the FORTRANPATH directory list should -include $_FORTRANINCFLAGS: +include $_FORTRANINCFLAGS: - + env = Environment(FORTRANCOM="my_compiler $_FORTRANINCFLAGS -c -o $TARGET $SOURCE") FORTRANPPCOM - - + The command line used to compile a Fortran source file to an object file after first running the file through the C preprocessor. -By default, any options specified in the $FORTRANFLAGS, -$CPPFLAGS, -$_CPPDEFFLAGS, -$_FORTRANMODFLAG, and -$_FORTRANINCFLAGS +By default, any options specified in the $FORTRANFLAGS, +$CPPFLAGS, +$_CPPDEFFLAGS, +$_FORTRANMODFLAG, and +$_FORTRANINCFLAGS construction variables are included on this command line. FORTRANPPCOMSTR - - + The string displayed when a Fortran source file is compiled to an object file after first running the file through the C preprocessor. -If this is not set, then $FORTRANPPCOM +If this is not set, then $FORTRANPPCOM (the command line) is displayed. FORTRANPPFILESUFFIXES - - + The list of file extensions for which the compilation + preprocessor pass for FORTRAN dialect will be used. By default, this is ['.fpp', '.FPP'] @@ -2784,15 +2576,14 @@ FORTRAN dialect will be used. By default, this is ['.fpp', '.FPP'] FORTRANSUFFIXES - - + The list of suffixes of files that will be scanned for Fortran implicit dependencies (INCLUDE lines and USE statements). The default list is: - + [".f", ".F", ".for", ".FOR", ".ftn", ".FTN", ".fpp", ".FPP", ".f77", ".F77", ".f90", ".F90", ".f95", ".F95"] @@ -2800,121 +2591,112 @@ The default list is: FRAMEWORKPATH - - -On Mac OS X with gcc, -a list containing the paths to search for frameworks. -Used by the compiler to find framework-style includes like -#include <Fmwk/Header.h>. -Used by the linker to find user-specified frameworks when linking (see -$FRAMEWORKS). -For example: - + + On Mac OS X with gcc, + a list containing the paths to search for frameworks. + Used by the compiler to find framework-style includes like + #include <Fmwk/Header.h>. + Used by the linker to find user-specified frameworks when linking (see + $FRAMEWORKS). + For example: + - - env.AppendUnique(FRAMEWORKPATH='#myframeworkdir') - + + env.AppendUnique(FRAMEWORKPATH='#myframeworkdir') + - -will add - + + will add + - - ... -Fmyframeworkdir - + + ... -Fmyframeworkdir + - -to the compiler and linker command lines. - - + + to the compiler and linker command lines. + + _FRAMEWORKPATH - - -On Mac OS X with gcc, an automatically-generated construction variable -containing the linker command-line options corresponding to -$FRAMEWORKPATH. - - + + On Mac OS X with gcc, an automatically-generated construction variable + containing the linker command-line options corresponding to + $FRAMEWORKPATH. + + FRAMEWORKPATHPREFIX - - -On Mac OS X with gcc, the prefix to be used for the FRAMEWORKPATH entries. -(see $FRAMEWORKPATH). -The default value is -. - - + + On Mac OS X with gcc, the prefix to be used for the FRAMEWORKPATH entries. + (see $FRAMEWORKPATH). + The default value is + . + + FRAMEWORKPREFIX - - -On Mac OS X with gcc, -the prefix to be used for linking in frameworks -(see $FRAMEWORKS). -The default value is -. - - + + On Mac OS X with gcc, + the prefix to be used for linking in frameworks + (see $FRAMEWORKS). + The default value is + . + + _FRAMEWORKS - - -On Mac OS X with gcc, -an automatically-generated construction variable -containing the linker command-line options -for linking with FRAMEWORKS. - - + + On Mac OS X with gcc, + an automatically-generated construction variable + containing the linker command-line options + for linking with FRAMEWORKS. + + FRAMEWORKS - - -On Mac OS X with gcc, a list of the framework names to be linked into a -program or shared library or bundle. -The default value is the empty list. -For example: - + + On Mac OS X with gcc, a list of the framework names to be linked into a + program or shared library or bundle. + The default value is the empty list. + For example: + - - env.AppendUnique(FRAMEWORKS=Split('System Cocoa SystemConfiguration')) - + + env.AppendUnique(FRAMEWORKS=Split('System Cocoa SystemConfiguration')) + - + FRAMEWORKSFLAGS - - -On Mac OS X with gcc, -general user-supplied frameworks options to be added at -the end of a command -line building a loadable module. -(This has been largely superseded by -the $FRAMEWORKPATH, $FRAMEWORKPATHPREFIX, -$FRAMEWORKPREFIX and $FRAMEWORKS variables -described above.) - - + + On Mac OS X with gcc, + general user-supplied frameworks options to be added at + the end of a command + line building a loadable module. + (This has been largely superseded by + the $FRAMEWORKPATH, $FRAMEWORKPATHPREFIX, + $FRAMEWORKPREFIX and $FRAMEWORKS variables + described above.) + + GS - - + The Ghostscript program used, e.g. to convert PostScript to PDF files. GSCOM - - + The full Ghostscript command line used for the conversion process. Its default value is $GS $GSFLAGS -sOutputFile=$TARGET $SOURCES. @@ -2922,18 +2704,16 @@ value is $GS $GSFLAGS -sOutputFile=$TARGET $SOURCES GSCOMSTR - - + The string displayed when Ghostscript is called for the conversion process. -If this is not set (the default), then $GSCOM (the command line) is displayed. +If this is not set (the default), then $GSCOM (the command line) is displayed. GSFLAGS - - + General options passed to the Ghostscript program, when converting PostScript to PDF files for example. Its default value is -dNOPAUSE -dBATCH -sDEVICE=pdfwrite @@ -2942,8 +2722,15 @@ is -dNOPAUSE -dBATCH -sDEVICE=pdfwrite HOST_ARCH - - + + The name of the host hardware architecture used to create the Environment. + If a platform is specified when creating the Environment, then + that Platform's logic will handle setting this value. + This value is immutable, and should not be changed by the user after + the Environment is initialized. + Currently only set for Win32. + + Sets the host architecture for Visual Studio compiler. If not set, default to the detected host architecture: note that this may depend on the python you are using. @@ -2951,29 +2738,19 @@ This variable must be passed as an argument to the Environment() constructor; setting it later has no effect. - -Valid values are the same as for $TARGET_ARCH. + +Valid values are the same as for $TARGET_ARCH. - + This is currently only used on Windows, but in the future it will be used on other OSes as well. - - - The name of the host hardware architecture used to create the Environment. - If a platform is specified when creating the Environment, then - that Platform's logic will handle setting this value. - This value is immutable, and should not be changed by the user after - the Environment is initialized. - Currently only set for Win32. - - + HOST_OS - - + The name of the host operating system used to create the Environment. If a platform is specified when creating the Environment, then that Platform's logic will handle setting this value. @@ -2985,75 +2762,69 @@ used on other OSes as well. IDLSUFFIXES - - + The list of suffixes of files that will be scanned for IDL implicit dependencies (#include or import lines). The default list is: - + [".idl", ".IDL"] IMPLIBNOVERSIONSYMLINKS - - -Used to override $SHLIBNOVERSIONSYMLINKS/$LDMODULENOVERSIONSYMLINKS when + +Used to override $SHLIBNOVERSIONSYMLINKS/$LDMODULENOVERSIONSYMLINKS when creating versioned import library for a shared library/loadable module. If not defined, -then $SHLIBNOVERSIONSYMLINKS/$LDMODULENOVERSIONSYMLINKS is used to determine +then $SHLIBNOVERSIONSYMLINKS/$LDMODULENOVERSIONSYMLINKS is used to determine whether to disable symlink generation or not. IMPLIBPREFIX - - + The prefix used for import library names. For example, cygwin uses import libraries (libfoo.dll.a) in pair with dynamic libraries -(cygfoo.dll). The cyglink linker sets -$IMPLIBPREFIX to 'lib' and $SHLIBPREFIX +(cygfoo.dll). The cyglink linker sets +$IMPLIBPREFIX to 'lib' and $SHLIBPREFIX to 'cyg'. IMPLIBSUFFIX - - + The suffix used for import library names. For example, cygwin uses import libraries (libfoo.dll.a) in pair with dynamic libraries -(cygfoo.dll). The cyglink linker sets -$IMPLIBSUFFIX to '.dll.a' and $SHLIBSUFFIX +(cygfoo.dll). The cyglink linker sets +$IMPLIBSUFFIX to '.dll.a' and $SHLIBSUFFIX to '.dll'. IMPLIBVERSION - - -Used to override $SHLIBVERSION/$LDMODULEVERSION when + +Used to override $SHLIBVERSION/$LDMODULEVERSION when generating versioned import library for a shared library/loadable module. If -undefined, the $SHLIBVERSION/$LDMODULEVERSION is used to +undefined, the $SHLIBVERSION/$LDMODULEVERSION is used to determine the version of versioned import library. IMPLICIT_COMMAND_DEPENDENCIES - - + Controls whether or not SCons will add implicit dependencies for the commands executed to build targets. - + By default, SCons will add to each target an implicit dependency on the command @@ -3067,9 +2838,9 @@ variable in the environment used to execute the command. - + If the construction variable -$IMPLICIT_COMMAND_DEPENDENCIES +$IMPLICIT_COMMAND_DEPENDENCIES is set to a false value (None, False, @@ -3080,41 +2851,38 @@ not be added to the targets built with that construction environment. - + env = Environment(IMPLICIT_COMMAND_DEPENDENCIES = 0) INCPREFIX - - + The prefix used to specify an include directory on the C compiler command line. This will be prepended to the beginning of each directory -in the $CPPPATH and $FORTRANPATH construction variables -when the $_CPPINCFLAGS and $_FORTRANINCFLAGS +in the $CPPPATH and $FORTRANPATH construction variables +when the $_CPPINCFLAGS and $_FORTRANINCFLAGS variables are automatically generated. INCSUFFIX - - + The suffix used to specify an include directory on the C compiler command line. This will be appended to the end of each directory -in the $CPPPATH and $FORTRANPATH construction variables -when the $_CPPINCFLAGS and $_FORTRANINCFLAGS +in the $CPPPATH and $FORTRANPATH construction variables +when the $_CPPINCFLAGS and $_FORTRANINCFLAGS variables are automatically generated. INSTALL - - + A function to be called to install a file into a destination file name. The default function copies the file into the destination @@ -3123,11 +2891,11 @@ to match the source file's). The function takes the following arguments: - + def install(dest, source, env): - + dest is the path name of the destination file. source @@ -3141,21 +2909,19 @@ in force for this file installation. INSTALLSTR - - + The string displayed when a file is installed into a destination file name. The default is: - + Install file: "$SOURCE" as "$TARGET" INTEL_C_COMPILER_VERSION - - + Set by the "intelc" Tool to the major version number of the Intel C compiler selected for use. @@ -3164,27 +2930,23 @@ selected for use. JAR - - + The Java archive tool. - - + The Java archive tool. JARCHDIR - - + The directory to which the Java archive tool should change (using the option). - - + The directory to which the Java archive tool should change (using the @@ -3194,44 +2956,39 @@ option). JARCOM - - + The command line used to call the Java archive tool. - - + The command line used to call the Java archive tool. JARCOMSTR - - + The string displayed when the Java archive tool is called -If this is not set, then $JARCOM (the command line) is displayed. +If this is not set, then $JARCOM (the command line) is displayed. - + env = Environment(JARCOMSTR = "JARchiving $SOURCES into $TARGET") - - + The string displayed when the Java archive tool is called -If this is not set, then $JARCOM (the command line) is displayed. +If this is not set, then $JARCOM (the command line) is displayed. - + env = Environment(JARCOMSTR = "JARchiving $SOURCES into $TARGET") JARFLAGS - - + General options passed to the Java archive tool. By default this is set to @@ -3239,8 +2996,7 @@ to create the necessary jar file. - - + General options passed to the Java archive tool. By default this is set to @@ -3252,14 +3008,12 @@ file. JARSUFFIX - - + The suffix for Java archives: .jar by default. - - + The suffix for Java archives: .jar by default. @@ -3268,11 +3022,10 @@ by default. JAVABOOTCLASSPATH - - + Specifies the list of directories that will be added to the - javac command line + javac command line via the option. The individual directory names will be separated by the operating system's path separate character @@ -3284,51 +3037,46 @@ by default. JAVAC - - + The Java compiler. JAVACCOM - - + The command line used to compile a directory tree containing Java source files to corresponding Java class files. - Any options specified in the $JAVACFLAGS construction variable + Any options specified in the $JAVACFLAGS construction variable are included on this command line. JAVACCOMSTR - - + The string displayed when compiling a directory tree of Java source files to corresponding Java class files. - If this is not set, then $JAVACCOM (the command line) is displayed. + If this is not set, then $JAVACCOM (the command line) is displayed. - + env = Environment(JAVACCOMSTR = "Compiling class files $TARGETS from $SOURCES") JAVACFLAGS - - + General options that are passed to the Java compiler. JAVACLASSDIR - - + The directory in which Java class files may be found. This is stripped from the beginning of any Java .class file names supplied to the @@ -3339,14 +3087,13 @@ by default. JAVACLASSPATH - - + Specifies the list of directories that will be searched for Java .class file. The directories in this list will be added to the - javac and javah command lines + javac and javah command lines via the option. The individual directory names will be separated by the operating system's path separate character @@ -3355,11 +3102,11 @@ by default. on Windows). - + Note that this currently just adds the specified directory via the option. - SCons does not currently search the - $JAVACLASSPATH directories for dependency + SCons does not currently search the + $JAVACLASSPATH directories for dependency .class files. @@ -3367,8 +3114,7 @@ by default. JAVACLASSSUFFIX - - + The suffix for Java class files; .class by default. @@ -3377,41 +3123,37 @@ by default. JAVAH - - + The Java generator for C header and stub files. JAVAHCOM - - + The command line used to generate C header and stub files from Java classes. -Any options specified in the $JAVAHFLAGS construction variable +Any options specified in the $JAVAHFLAGS construction variable are included on this command line. JAVAHCOMSTR - - + The string displayed when C header and stub files are generated from Java classes. -If this is not set, then $JAVAHCOM (the command line) is displayed. +If this is not set, then $JAVAHCOM (the command line) is displayed. - + env = Environment(JAVAHCOMSTR = "Generating header/stub file(s) $TARGETS from $SOURCES") JAVAHFLAGS - - + General options passed to the C header and stub file generator for Java classes. @@ -3419,22 +3161,20 @@ for Java classes. JAVAINCLUDES - - + Include path for Java header files (such as jni.h) JAVASOURCEPATH - - + Specifies the list of directories that will be searched for input .java file. The directories in this list will be added to the - javac command line + javac command line via the option. The individual directory names will be separated by the operating system's path separate character @@ -3443,11 +3183,11 @@ for Java classes. on Windows). - + Note that this currently just adds the specified directory via the option. - SCons does not currently search the - $JAVASOURCEPATH directories for dependency + SCons does not currently search the + $JAVASOURCEPATH directories for dependency .java files. @@ -3455,8 +3195,7 @@ for Java classes. JAVASUFFIX - - + The suffix for Java files; .java by default. @@ -3465,76 +3204,70 @@ for Java classes. JAVAVERSION - - - Specifies the Java version being used by the Java builder. + + Specifies the Java version being used by the Java builder. This is not currently used to select one version of the Java compiler vs. another. Instead, you should set this to specify the version of Java - supported by your javac compiler. + supported by your javac compiler. The default is 1.4. - + This is sometimes necessary because Java 1.5 changed the file names that are created for nested anonymous inner classes, which can cause a mismatch with the files - that SCons expects will be generated by the javac compiler. - Setting $JAVAVERSION to + that SCons expects will be generated by the javac compiler. + Setting $JAVAVERSION to 1.5 (or 1.6, as appropriate) - can make SCons realize that a Java 1.5 or 1.6 + can make SCons realize that a Java 1.5 or 1.6 build is actually up to date. LATEX - - + The LaTeX structured formatter and typesetter. LATEXCOM - - + The command line used to call the LaTeX structured formatter and typesetter. LATEXCOMSTR - - + The string displayed when calling the LaTeX structured formatter and typesetter. -If this is not set, then $LATEXCOM (the command line) is displayed. +If this is not set, then $LATEXCOM (the command line) is displayed. - + env = Environment(LATEXCOMSTR = "Building $TARGET from LaTeX input $SOURCES") LATEXFLAGS - - + General options passed to the LaTeX structured formatter and typesetter. LATEXRETRIES - - + The maximum number of times that LaTeX will be re-run if the .log -generated by the $LATEXCOM command +generated by the $LATEXCOM command indicates that there are undefined references. The default is to try to resolve undefined references by re-running LaTeX up to three times. @@ -3543,91 +3276,82 @@ by re-running LaTeX up to three times. LATEXSUFFIXES - - + The list of suffixes of files that will be scanned for LaTeX implicit dependencies (\include or \import files). The default list is: - + [".tex", ".ltx", ".latex"] LDMODULE - - + The linker for building loadable modules. -By default, this is the same as $SHLINK. +By default, this is the same as $SHLINK. LDMODULECOM - - + The command line for building loadable modules. -On Mac OS X, this uses the $LDMODULE, -$LDMODULEFLAGS and -$FRAMEWORKSFLAGS variables. -On other systems, this is the same as $SHLINK. +On Mac OS X, this uses the $LDMODULE, +$LDMODULEFLAGS and +$FRAMEWORKSFLAGS variables. +On other systems, this is the same as $SHLINK. LDMODULECOMSTR - - + The string displayed when building loadable modules. -If this is not set, then $LDMODULECOM (the command line) is displayed. +If this is not set, then $LDMODULECOM (the command line) is displayed. LDMODULEFLAGS - - + General user options passed to the linker for building loadable modules. LDMODULENOVERSIONSYMLINKS - - -Instructs the LoadableModule builder to not automatically create symlinks + +Instructs the LoadableModule builder to not automatically create symlinks for versioned modules. Defaults to $SHLIBNOVERSIONSYMLINKS LDMODULEPREFIX - - + The prefix used for loadable module file names. On Mac OS X, this is null; on other systems, this is -the same as $SHLIBPREFIX. +the same as $SHLIBPREFIX. _LDMODULESONAME - - + A macro that automatically generates loadable module's SONAME based on $TARGET, -$LDMODULEVERSION and $LDMODULESUFFIX. Used by LoadableModule builder -when the linker tool supports SONAME (e.g. gnulink). +$LDMODULEVERSION and $LDMODULESUFFIX. Used by LoadableModule builder +when the linker tool supports SONAME (e.g. gnulink). LDMODULESUFFIX - - + The suffix used for loadable module file names. On Mac OS X, this is null; on other systems, this is @@ -3637,35 +3361,32 @@ the same as $SHLIBSUFFIX. LDMODULEVERSION - - + When this construction variable is defined, a versioned loadable module -is created by LoadableModule builder. This activates the -$_LDMODULEVERSIONFLAGS and thus modifies the $LDMODULECOM as +is created by LoadableModule builder. This activates the +$_LDMODULEVERSIONFLAGS and thus modifies the $LDMODULECOM as required, adds the version number to the library name, and creates the symlinks -that are needed. $LDMODULEVERSION versions should exist in the same -format as $SHLIBVERSION. +that are needed. $LDMODULEVERSION versions should exist in the same +format as $SHLIBVERSION. LDMODULEVERSIONFLAGS - - -Extra flags added to $LDMODULECOM when building versioned -LoadableModule. These flags are only used when $LDMODULEVERSION is + +Extra flags added to $LDMODULECOM when building versioned +LoadableModule. These flags are only used when $LDMODULEVERSION is set. _LDMODULEVERSIONFLAGS - - -This macro automatically introduces extra flags to $LDMODULECOM when -building versioned LoadableModule (that is when -$LDMODULEVERSION is set). _LDMODULEVERSIONFLAGS -usually adds $SHLIBVERSIONFLAGS and some extra dynamically generated + +This macro automatically introduces extra flags to $LDMODULECOM when +building versioned LoadableModule (that is when +$LDMODULEVERSION is set). _LDMODULEVERSIONFLAGS +usually adds $SHLIBVERSIONFLAGS and some extra dynamically generated options (such as -Wl,-soname=$_LDMODULESONAME). It is unused by plain (unversioned) loadable modules. @@ -3673,16 +3394,14 @@ by plain (unversioned) loadable modules. LEX - - + The lexical analyzer generator. LEXCOM - - + The command line used to call the lexical analyzer generator to generate a source file. @@ -3690,162 +3409,151 @@ to generate a source file. LEXCOMSTR - - + The string displayed when generating a source file using the lexical analyzer generator. -If this is not set, then $LEXCOM (the command line) is displayed. +If this is not set, then $LEXCOM (the command line) is displayed. - + env = Environment(LEXCOMSTR = "Lex'ing $TARGET from $SOURCES") LEXFLAGS - - + General options passed to the lexical analyzer generator. _LIBDIRFLAGS - - + An automatically-generated construction variable containing the linker command-line options for specifying directories to be searched for library. -The value of $_LIBDIRFLAGS is created -by respectively prepending and appending $LIBDIRPREFIX and $LIBDIRSUFFIX +The value of $_LIBDIRFLAGS is created +by respectively prepending and appending $LIBDIRPREFIX and $LIBDIRSUFFIX to the beginning and end -of each directory in $LIBPATH. +of each directory in $LIBPATH. LIBDIRPREFIX - - + The prefix used to specify a library directory on the linker command line. This will be prepended to the beginning of each directory -in the $LIBPATH construction variable -when the $_LIBDIRFLAGS variable is automatically generated. +in the $LIBPATH construction variable +when the $_LIBDIRFLAGS variable is automatically generated. LIBDIRSUFFIX - - + The suffix used to specify a library directory on the linker command line. This will be appended to the end of each directory -in the $LIBPATH construction variable -when the $_LIBDIRFLAGS variable is automatically generated. +in the $LIBPATH construction variable +when the $_LIBDIRFLAGS variable is automatically generated. LIBEMITTER - - + TODO _LIBFLAGS - - + An automatically-generated construction variable containing the linker command-line options for specifying libraries to be linked with the resulting target. -The value of $_LIBFLAGS is created -by respectively prepending and appending $LIBLINKPREFIX and $LIBLINKSUFFIX +The value of $_LIBFLAGS is created +by respectively prepending and appending $LIBLINKPREFIX and $LIBLINKSUFFIX to the beginning and end -of each filename in $LIBS. +of each filename in $LIBS. LIBLINKPREFIX - - + The prefix used to specify a library to link on the linker command line. This will be prepended to the beginning of each library -in the $LIBS construction variable -when the $_LIBFLAGS variable is automatically generated. +in the $LIBS construction variable +when the $_LIBFLAGS variable is automatically generated. LIBLINKSUFFIX - - + The suffix used to specify a library to link on the linker command line. This will be appended to the end of each library -in the $LIBS construction variable -when the $_LIBFLAGS variable is automatically generated. +in the $LIBS construction variable +when the $_LIBFLAGS variable is automatically generated. LIBPATH - - + The list of directories that will be searched for libraries. The implicit dependency scanner will search these directories for include files. Don't explicitly put include directory -arguments in $LINKFLAGS or $SHLINKFLAGS +arguments in $LINKFLAGS or $SHLINKFLAGS because the result will be non-portable and the directories will not be searched by the dependency scanner. Note: directory names in LIBPATH will be looked-up relative to the SConscript directory when they are used in a command. To force -scons +scons to look-up a directory relative to the root of the source tree use #: - + env = Environment(LIBPATH='#/libs') - + The directory look-up can also be forced using the -Dir() +Dir() function: - + libs = Dir('libs') env = Environment(LIBPATH=libs) - + The directory list will be added to command lines through the automatically-generated -$_LIBDIRFLAGS +$_LIBDIRFLAGS construction variable, which is constructed by respectively prepending and appending the values of the -$LIBDIRPREFIX and $LIBDIRSUFFIX +$LIBDIRPREFIX and $LIBDIRSUFFIX construction variables to the beginning and end -of each directory in $LIBPATH. +of each directory in $LIBPATH. Any command lines you define that need the LIBPATH directory list should -include $_LIBDIRFLAGS: +include $_LIBDIRFLAGS: - + env = Environment(LINKCOM="my_linker $_LIBDIRFLAGS $_LIBFLAGS -o $TARGET $SOURCE") LIBPREFIX - - + The prefix used for (static) library file names. A default value is set for each platform (posix, win32, os2, etc.), @@ -3857,65 +3565,63 @@ to reflect the names of the libraries they create. LIBPREFIXES - - + A list of all legal prefixes for library file names. When searching for library dependencies, SCons will look for files with these prefixes, the base library name, -and suffixes in the $LIBSUFFIXES list. +and suffixes in the $LIBSUFFIXES list. LIBS - - + A list of one or more libraries that will be linked with any executable programs created by this environment. - + The library list will be added to command lines through the automatically-generated -$_LIBFLAGS +$_LIBFLAGS construction variable, which is constructed by respectively prepending and appending the values of the -$LIBLINKPREFIX and $LIBLINKSUFFIX +$LIBLINKPREFIX and $LIBLINKSUFFIX construction variables to the beginning and end -of each filename in $LIBS. +of each filename in $LIBS. Any command lines you define that need the LIBS library list should -include $_LIBFLAGS: +include $_LIBFLAGS: - + env = Environment(LINKCOM="my_linker $_LIBDIRFLAGS $_LIBFLAGS -o $TARGET $SOURCE") - + If you add a File object to the -$LIBS +$LIBS list, the name of that file will be added to -$_LIBFLAGS, +$_LIBFLAGS, and thus the link line, as is, without -$LIBLINKPREFIX +$LIBLINKPREFIX or -$LIBLINKSUFFIX. +$LIBLINKSUFFIX. For example: - + env.Append(LIBS=File('/tmp/mylib.so')) - + In all cases, scons will add dependencies from the executable program to all the libraries in this list. @@ -3923,8 +3629,7 @@ all the libraries in this list. LIBSUFFIX - - + The suffix used for (static) library file names. A default value is set for each platform (posix, win32, os2, etc.), @@ -3936,11 +3641,10 @@ to reflect the names of the libraries they create. LIBSUFFIXES - - + A list of all legal suffixes for library file names. When searching for library dependencies, -SCons will look for files with prefixes, in the $LIBPREFIXES list, +SCons will look for files with prefixes, in the $LIBPREFIXES list, the base library name, and these suffixes. @@ -3948,8 +3652,7 @@ and these suffixes. LICENSE - - + The abbreviated name, preferably the SPDX code, of the license under which this project is released (GPL-3.0, LGPL-2.1, BSD-2-Clause etc.). See http://www.opensource.org/licenses/alphabetical @@ -3959,9 +3662,8 @@ for a list of license names and SPDX codes. LINESEPARATOR - - -The separator used by the Substfile and Textfile builders. + +The separator used by the Substfile and Textfile builders. This value is used between sources when constructing the target. It defaults to the current system line separator. @@ -3969,13 +3671,12 @@ It defaults to the current system line separator. LINGUAS_FILE - - -The $LINGUAS_FILE defines file(s) containing list of additional linguas -to be processed by POInit, POUpdate or MOFiles -builders. It also affects Translate builder. If the variable contains -a string, it defines name of the list file. The $LINGUAS_FILE may be a -list of file names as well. If $LINGUAS_FILE is set to + +The $LINGUAS_FILE defines file(s) containing list of additional linguas +to be processed by POInit, POUpdate or MOFiles +builders. It also affects Translate builder. If the variable contains +a string, it defines name of the list file. The $LINGUAS_FILE may be a +list of file names as well. If $LINGUAS_FILE is set to True (or non-zero numeric value), the list will be read from default file named LINGUAS. @@ -3985,54 +3686,50 @@ default file named LINK - - + The linker. LINKCOM - - + The command line used to link object files into an executable. LINKCOMSTR - - + The string displayed when object files are linked into an executable. -If this is not set, then $LINKCOM (the command line) is displayed. +If this is not set, then $LINKCOM (the command line) is displayed. - + env = Environment(LINKCOMSTR = "Linking $TARGET") LINKFLAGS - - + General user options passed to the linker. Note that this variable should not contain -(or similar) options for linking with the libraries listed in $LIBS, +(or similar) options for linking with the libraries listed in $LIBS, nor (or similar) library search path options -that scons generates automatically from $LIBPATH. +that scons generates automatically from $LIBPATH. See -$_LIBFLAGS +$_LIBFLAGS above, for the variable that expands to library-link options, and -$_LIBDIRFLAGS +$_LIBDIRFLAGS above, for the variable that expands to library search path options. @@ -4040,42 +3737,37 @@ for the variable that expands to library search path options. M4 - - + The M4 macro preprocessor. M4COM - - + The command line used to pass files through the M4 macro preprocessor. M4COMSTR - - + The string displayed when a file is passed through the M4 macro preprocessor. -If this is not set, then $M4COM (the command line) is displayed. +If this is not set, then $M4COM (the command line) is displayed. M4FLAGS - - + General options passed to the M4 macro preprocessor. MAKEINDEX - - + The makeindex generator for the TeX formatter and typesetter and the LaTeX structured formatter and typesetter. @@ -4083,8 +3775,7 @@ LaTeX structured formatter and typesetter. MAKEINDEXCOM - - + The command line used to call the makeindex generator for the TeX formatter and typesetter and the LaTeX structured formatter and typesetter. @@ -4093,19 +3784,17 @@ typesetter. MAKEINDEXCOMSTR - - + The string displayed when calling the makeindex generator for the TeX formatter and typesetter and the LaTeX structured formatter and typesetter. -If this is not set, then $MAKEINDEXCOM (the command line) is displayed. +If this is not set, then $MAKEINDEXCOM (the command line) is displayed. MAKEINDEXFLAGS - - + General options passed to the makeindex generator for the TeX formatter and typesetter and the LaTeX structured formatter and typesetter. @@ -4113,8 +3802,7 @@ and typesetter and the LaTeX structured formatter and typesetter. MAXLINELENGTH - - + The maximum number of characters allowed on an external command line. On Win32 systems, link lines longer than this many characters @@ -4124,178 +3812,159 @@ are linked via a temporary file name. MIDL - - + The Microsoft IDL compiler. MIDLCOM - - + The command line used to pass files to the Microsoft IDL compiler. MIDLCOMSTR - - + The string displayed when the Microsoft IDL copmiler is called. -If this is not set, then $MIDLCOM (the command line) is displayed. +If this is not set, then $MIDLCOM (the command line) is displayed. MIDLFLAGS - - + General options passed to the Microsoft IDL compiler. MOSUFFIX - - + Suffix used for MO files (default: '.mo'). -See msgfmt tool and MOFiles builder. +See msgfmt tool and MOFiles builder. MSGFMT - - + Absolute path to msgfmt(1) binary, found by Detect(). -See msgfmt tool and MOFiles builder. +See msgfmt tool and MOFiles builder. MSGFMTCOM - - + Complete command line to run msgfmt(1) program. -See msgfmt tool and MOFiles builder. +See msgfmt tool and MOFiles builder. MSGFMTCOMSTR - - + String to display when msgfmt(1) is invoked -(default: '', which means ``print $MSGFMTCOM''). -See msgfmt tool and MOFiles builder. +(default: '', which means ``print $MSGFMTCOM''). +See msgfmt tool and MOFiles builder. MSGFMTFLAGS - - + Additional flags to msgfmt(1). -See msgfmt tool and MOFiles builder. +See msgfmt tool and MOFiles builder. MSGINIT - - + Path to msginit(1) program (found via Detect()). -See msginit tool and POInit builder. +See msginit tool and POInit builder. MSGINITCOM - - + Complete command line to run msginit(1) program. -See msginit tool and POInit builder. +See msginit tool and POInit builder. MSGINITCOMSTR - - + String to display when msginit(1) is invoked -(default: '', which means ``print $MSGINITCOM''). -See msginit tool and POInit builder. +(default: '', which means ``print $MSGINITCOM''). +See msginit tool and POInit builder. MSGINITFLAGS - - + List of additional flags to msginit(1) (default: []). -See msginit tool and POInit builder. +See msginit tool and POInit builder. _MSGINITLOCALE - - + Internal ``macro''. Computes locale (language) name based on target filename (default: '${TARGET.filebase}' ). - -See msginit tool and POInit builder. + +See msginit tool and POInit builder. MSGMERGE - - + Absolute path to msgmerge(1) binary as found by Detect(). -See msgmerge tool and POUpdate builder. +See msgmerge tool and POUpdate builder. MSGMERGECOM - - + Complete command line to run msgmerge(1) command. -See msgmerge tool and POUpdate builder. +See msgmerge tool and POUpdate builder. MSGMERGECOMSTR - - + String to be displayed when msgmerge(1) is invoked -(default: '', which means ``print $MSGMERGECOM''). -See msgmerge tool and POUpdate builder. +(default: '', which means ``print $MSGMERGECOM''). +See msgmerge tool and POUpdate builder. MSGMERGEFLAGS - - + Additional flags to msgmerge(1) command. -See msgmerge tool and POUpdate builder. +See msgmerge tool and POUpdate builder. MSSDK_DIR - - + The directory containing the Microsoft SDK (either Platform SDK or Windows SDK) to be used for compilation. @@ -4304,8 +3973,7 @@ to be used for compilation. MSSDK_VERSION - - + The version string of the Microsoft SDK (either Platform SDK or Windows SDK) to be used for compilation. @@ -4321,8 +3989,7 @@ and MSVC_BATCH - - + When set to any true value, specifies that SCons should batch compilation of object files @@ -4333,7 +4000,7 @@ and were configured in SCons using the same construction environment will be built in a single call to the compiler. Only source files that have changed since their object files were built will be passed to each compiler invocation -(via the $CHANGED_SOURCES construction variable). +(via the $CHANGED_SOURCES construction variable). Any compilations where the object (target) file base name (minus the .obj) does not match the source file base name @@ -4343,13 +4010,12 @@ will be compiled separately. MSVC_USE_SCRIPT - - + Use a batch script to set up Microsoft Visual Studio compiler - -$MSVC_USE_SCRIPT overrides $MSVC_VERSION and $TARGET_ARCH. + +$MSVC_USE_SCRIPT overrides $MSVC_VERSION and $TARGET_ARCH. If set to the name of a Visual Studio .bat file (e.g. vcvars.bat), SCons will run that bat file and extract the relevant variables from the result (typically %INCLUDE%, %LIB%, and %PATH%). Setting @@ -4361,13 +4027,12 @@ window and importing the shell's environment variables. MSVC_UWP_APP - - + Build libraries for a Universal Windows Platform (UWP) Application. - -If $MSVC_UWP_APP is set, the Visual Studio environment will be set up to point + +If $MSVC_UWP_APP is set, the Visual Studio environment will be set up to point to the Windows Store compatible libraries and Visual Studio runtimes. In doing so, any libraries that are built will be able to be used in a UWP App and published to the Windows Store. @@ -4376,7 +4041,7 @@ This variable must be passed as an argument to the Environment() constructor; setting it later has no effect. - + Valid values are '1' or '0' @@ -4384,20 +4049,19 @@ Valid values are '1' or '0' MSVC_VERSION - - + Sets the preferred version of Microsoft Visual C/C++ to use. - -If $MSVC_VERSION is not set, SCons will (by default) select the + +If $MSVC_VERSION is not set, SCons will (by default) select the latest version of Visual C/C++ installed on your system. If the specified version isn't installed, tool initialization will fail. This variable must be passed as an argument to the Environment() constructor; setting it later has no effect. - + Valid values for Windows are 14.0, 14.0Exp, @@ -4422,15 +4086,17 @@ Versions ending in Exp refer to "Express" or MSVS - + + When the Microsoft Visual Studio tools are initialized, they set up this -dictionary with the following keys: +dictionary with the following keys: + VERSION the version of MSVS being used (can be set via - $MSVS_VERSION) + $MSVS_VERSION) @@ -4510,28 +4176,30 @@ dictionary with the following keys: If a value isn't set, it wasn't available in the -registry. + + If a value isn't set, it wasn't available in the +registry. + MSVS_ARCH - Sets + Sets the architecture for which the generated project(s) should build. -The default value is x86. amd64 is -also supported by SCons for some Visual Studio versions. Trying to set -$MSVS_ARCH to an architecture that's not supported for a given Visual +The default value is x86. amd64 is +also supported by SCons for some Visual Studio versions. Trying to set +$MSVS_ARCH to an architecture that's not supported for a given Visual Studio version will generate an error. MSVS_PROJECT_GUID - The string placed in a generated + The string placed in a generated Microsoft Visual Studio project file as the value of the ProjectGUID attribute. There is no default value. If not defined, a new GUID is generated. MSVS_SCC_AUX_PATH - The path name placed in a generated + The path name placed in a generated Microsoft Visual Studio project file as the value of the SccAuxPath attribute if the MSVS_SCC_PROVIDER construction variable is also set. There is @@ -4539,7 +4207,7 @@ no default value. MSVS_SCC_CONNECTION_ROOT - The root path of projects in + The root path of projects in your SCC workspace, i.e the path under which all project and solution files will be generated. It is used as a reference path from which the relative paths of the generated Microsoft Visual Studio project and solution files are @@ -4559,7 +4227,7 @@ default value is the current working directory. MSVS_SCC_PROJECT_NAME - The project name placed in + The project name placed in a generated Microsoft Visual Studio project file as the value of the SccProjectName attribute if the MSVS_SCC_PROVIDER construction variable is also set. In this @@ -4570,7 +4238,7 @@ of the Microsoft Visual Studio solution file. There is no default value. MSVS_SCC_PROVIDER - The + The string placed in a generated Microsoft Visual Studio project file as the value of the SccProvider attribute. The string is also placed in the SccProvider0 attribute of the @@ -4579,46 +4247,45 @@ Visual Studio solution file. There is no default value. MSVS_VERSION - Sets the preferred version -of Microsoft Visual Studio to use. If $MSVS_VERSION is not -set, SCons will (by default) select the latest version of Visual Studio + Sets the preferred version +of Microsoft Visual Studio to use. If $MSVS_VERSION is not +set, SCons will (by default) select the latest version of Visual Studio installed on your system. So, if you have version 6 and version 7 (MSVS .NET) installed, it will prefer version 7. You can override this by specifying the MSVS_VERSION variable in the Environment initialization, setting it to the appropriate version ('6.0' or '7.0', for example). If the specified version isn't installed, tool initialization will fail. -This is obsolete: use $MSVC_VERSION instead. If $MSVS_VERSION is -set and $MSVC_VERSION is not, $MSVC_VERSION will be set automatically -to $MSVS_VERSION. If both are set to different values, scons will raise an +This is obsolete: use $MSVC_VERSION instead. If $MSVS_VERSION is +set and $MSVC_VERSION is not, $MSVC_VERSION will be set automatically +to $MSVS_VERSION. If both are set to different values, scons will raise an error. MSVSBUILDCOM - -The build command line placed in a generated Microsoft Visual Studio + The build command line placed in a generated Microsoft Visual Studio project file. The default is to have Visual Studio invoke SCons with any specified build targets. MSVSCLEANCOM - The clean command line placed in a generated Microsoft Visual + The clean command line placed in a generated Microsoft Visual Studio project file. The default is to have Visual Studio invoke SCons with the -c option to remove any specified targets. MSVSENCODING - The encoding string placed in a + The encoding string placed in a generated Microsoft Visual Studio project file. The default is encoding Windows-1252. MSVSPROJECTCOM - The action used to generate Microsoft + The action used to generate Microsoft Visual Studio project files. MSVSPROJECTSUFFIX - The suffix used for Microsoft Visual + The suffix used for Microsoft Visual Studio project (DSP) files. The default value is .vcproj when using Visual Studio version 7.x (.NET) or later version, and .dsp when using earlier versions of Visual Studio. @@ -4626,46 +4293,45 @@ when using Visual Studio version 7.x (.NET) or later version, and MSVSREBUILDCOM - The + The rebuild command line placed in a generated Microsoft Visual Studio project file. The default is to have Visual Studio invoke SCons with any specified rebuild targets. MSVSSCONS - -The SCons used in generated Microsoft Visual Studio project files. The + The SCons used in generated Microsoft Visual Studio project files. The default is the version of SCons being used to generate the project file. MSVSSCONSCOM - The default + The default SCons command used in generated Microsoft Visual Studio project files. MSVSSCONSCRIPT - The sconscript -file (that is, SConstruct or SConscript file) that will be invoked by -Visual Studio project files (through the $MSVSSCONSCOM variable). The -default is the same sconscript file that contains the call to MSVSProject + The sconscript +file (that is, SConstruct or SConscript file) that will be invoked by +Visual Studio project files (through the $MSVSSCONSCOM variable). The +default is the same sconscript file that contains the call to MSVSProject to build the project file. MSVSSCONSFLAGS - The + The SCons flags used in generated Microsoft Visual Studio project files. MSVSSOLUTIONCOM - The action used to generate Microsoft + The action used to generate Microsoft Visual Studio solution files. MSVSSOLUTIONSUFFIX - The suffix used for Microsoft + The suffix used for Microsoft Visual Studio solution (DSW) files. The default value is .sln when using Visual Studio version 7.x (.NET), and .dsw when using earlier versions of Visual Studio. @@ -4673,43 +4339,38 @@ Visual Studio solution (DSW) files. The default value is MT - - + The program used on Windows systems to embed manifests into DLLs and EXEs. -See also $WINDOWS_EMBED_MANIFEST. +See also $WINDOWS_EMBED_MANIFEST. MTEXECOM - - + The Windows command line used to embed manifests into executables. -See also $MTSHLIBCOM. +See also $MTSHLIBCOM. MTFLAGS - - -Flags passed to the $MT manifest embedding program (Windows only). + +Flags passed to the $MT manifest embedding program (Windows only). MTSHLIBCOM - - + The Windows command line used to embed manifests into shared libraries (DLLs). -See also $MTEXECOM. +See also $MTEXECOM. MWCW_VERSION - - + The version number of the MetroWerks CodeWarrior C compiler to be used. @@ -4717,8 +4378,7 @@ to be used. MWCW_VERSIONS - - + A list of installed versions of the MetroWerks CodeWarrior C compiler on this system. @@ -4726,16 +4386,14 @@ on this system. NAME - - + Specfies the name of the project to package. no_import_lib - - + When set to non-zero, suppresses creation of a corresponding Windows static import lib by the SharedLibrary @@ -4749,24 +4407,21 @@ when using Microsoft Visual Studio. OBJPREFIX - - + The prefix used for (static) object file names. OBJSUFFIX - - + The suffix used for (static) object file names. PACKAGEROOT - - + Specifies the directory where all files in resulting archive will be placed if applicable. The default value is "$NAME-$VERSION". @@ -4774,12 +4429,11 @@ placed if applicable. The default value is "$NAME-$VERSION". PACKAGETYPE - - + Selects the package type to build. Currently these are available: - + * msi - Microsoft Installer * rpm - Redhat Package Manger * ipkg - Itsy Package Management System @@ -4791,15 +4445,14 @@ Selects the package type to build. Currently these are available: * src_zip - zip file source - + This may be overridden with the "package_type" command line option. PACKAGEVERSION - - + The version of the package (not the underlying project). This is currently only used by the rpm packager and should reflect changes in the packaging, @@ -4809,8 +4462,7 @@ not the underlying project code itself. PCH - - + The Microsoft Visual C++ precompiled header that will be used when compiling object files. This variable is ignored by tools other than Microsoft Visual C++. When this variable is @@ -4820,44 +4472,40 @@ dependencies for the PCH file. Example: - + env['PCH'] = 'StdAfx.pch' PCHCOM - - + The command line used by the -PCH +PCH builder to generated a precompiled header. PCHCOMSTR - - + The string displayed when generating a precompiled header. -If this is not set, then $PCHCOM (the command line) is displayed. +If this is not set, then $PCHCOM (the command line) is displayed. PCHPDBFLAGS - - + A construction variable that, when expanded, adds the /yD flag to the command line -only if the $PDB construction variable is set. +only if the $PDB construction variable is set. PCHSTOP - - + This variable specifies how much of a source file is precompiled. This variable is ignored by tools other than Microsoft Visual C++, or when the PCH variable is not being used. When this variable is define it @@ -4866,15 +4514,14 @@ is included at the end of the precompiled portion of the source files, or the empty string if the "#pragma hrdstop" construct is being used: - + env['PCHSTOP'] = 'StdAfx.h' PDB - - + The Microsoft Visual C++ PDB file that will store debugging information for object files, shared libraries, and programs. This variable is ignored by tools other than Microsoft Visual C++. @@ -4885,11 +4532,11 @@ dependencies for the PDB file. Example: - + env['PDB'] = 'hello.pdb' - + The Visual C++ compiler switch that SCons uses by default to generate PDB information is . This works correctly with parallel () builds @@ -4901,116 +4548,104 @@ Using the instead may yield improved link-time performance, although parallel builds will no longer work. You can generate PDB files with the -switch by overriding the default $CCPDBFLAGS variable; +switch by overriding the default $CCPDBFLAGS variable; see the entry for that variable for specific examples. PDFCOM - - -A deprecated synonym for $DVIPDFCOM. + +A deprecated synonym for $DVIPDFCOM. PDFLATEX - - -The pdflatex utility. + +The pdflatex utility. PDFLATEXCOM - - -The command line used to call the pdflatex utility. + +The command line used to call the pdflatex utility. PDFLATEXCOMSTR - - -The string displayed when calling the pdflatex utility. -If this is not set, then $PDFLATEXCOM (the command line) is displayed. + +The string displayed when calling the pdflatex utility. +If this is not set, then $PDFLATEXCOM (the command line) is displayed. - + env = Environment(PDFLATEX;COMSTR = "Building $TARGET from LaTeX input $SOURCES") PDFLATEXFLAGS - - -General options passed to the pdflatex utility. + +General options passed to the pdflatex utility. PDFPREFIX - - + The prefix used for PDF file names. PDFSUFFIX - - + The suffix used for PDF file names. PDFTEX - - -The pdftex utility. + +The pdftex utility. PDFTEXCOM - - -The command line used to call the pdftex utility. + +The command line used to call the pdftex utility. PDFTEXCOMSTR - - -The string displayed when calling the pdftex utility. -If this is not set, then $PDFTEXCOM (the command line) is displayed. + +The string displayed when calling the pdftex utility. +If this is not set, then $PDFTEXCOM (the command line) is displayed. - + env = Environment(PDFTEXCOMSTR = "Building $TARGET from TeX input $SOURCES") PDFTEXFLAGS - - -General options passed to the pdftex utility. + +General options passed to the pdftex utility. PKGCHK - - + On Solaris systems, the package-checking program that will -be used (along with $PKGINFO) +be used (along with $PKGINFO) to look for installed versions of the Sun PRO C++ compiler. The default is @@ -5020,11 +4655,10 @@ The default is PKGINFO - - + On Solaris systems, the package information program that will -be used (along with $PKGCHK) +be used (along with $PKGCHK) to look for installed versions of the Sun PRO C++ compiler. The default is @@ -5034,15 +4668,14 @@ The default is PLATFORM - - + The name of the platform used to create the Environment. If no platform is specified when the Environment is created, -scons +scons autodetects the platform. - + env = Environment(tools = []) if env['PLATFORM'] == 'cygwin': Tool('mingw')(env) @@ -5053,45 +4686,41 @@ else: POAUTOINIT - - -The $POAUTOINIT variable, if set to True (on non-zero -numeric value), let the msginit tool to automatically initialize + +The $POAUTOINIT variable, if set to True (on non-zero +numeric value), let the msginit tool to automatically initialize missing PO files with msginit(1). This applies to both, -POInit and POUpdate builders (and others that use any of +POInit and POUpdate builders (and others that use any of them). POCREATE_ALIAS - - -Common alias for all PO files created with POInit + +Common alias for all PO files created with POInit builder (default: 'po-create'). -See msginit tool and POInit builder. +See msginit tool and POInit builder. POSUFFIX - - + Suffix used for PO files (default: '.po') -See msginit tool and POInit builder. +See msginit tool and POInit builder. POTDOMAIN - - -The $POTDOMAIN defines default domain, used to generate -POT filename as $POTDOMAIN.pot when + +The $POTDOMAIN defines default domain, used to generate +POT filename as $POTDOMAIN.pot when no POT file name is provided by the user. This applies to -POTUpdate, POInit and POUpdate builders (and -builders, that use them, e.g. Translate). Normally (if $POTDOMAIN is +POTUpdate, POInit and POUpdate builders (and +builders, that use them, e.g. Translate). Normally (if $POTDOMAIN is not defined), the builders use messages.pot as default POT file name. @@ -5099,37 +4728,33 @@ not defined), the builders use messages.pot as default POTSUFFIX - - + Suffix used for PO Template files (default: '.pot'). -See xgettext tool and POTUpdate builder. +See xgettext tool and POTUpdate builder. POTUPDATE_ALIAS - - + Name of the common phony target for all PO Templates created with -POUpdate (default: 'pot-update'). -See xgettext tool and POTUpdate builder. +POUpdate (default: 'pot-update'). +See xgettext tool and POTUpdate builder. POUPDATE_ALIAS - - + Common alias for all PO files being defined with -POUpdate builder (default: 'po-update'). -See msgmerge tool and POUpdate builder. +POUpdate builder (default: 'po-update'). +See msgmerge tool and POUpdate builder. PRINT_CMD_LINE_FUNC - - + A Python function used to print the command lines as they are executed (assuming command printing is not disabled by the @@ -5147,20 +4772,20 @@ the source(s) used (file node, list, or string name(s)), and the environment being used. - + The function must do the printing itself. The default implementation, used if this variable is not set or is None, is: - + def print_cmd_line(s, target, source, env): sys.stdout.write(s + "\n") - + Here's an example of a more interesting function: - + def print_cmd_line(s, target, source, env): sys.stdout.write("Building %s -> %s...\n" % (' and '.join([str(x) for x in source]), @@ -5169,7 +4794,7 @@ env=Environment(PRINT_CMD_LINE_FUNC=print_cmd_line) env.Program('foo', 'foo.c') - + This just prints "Building targetname from sourcename..." instead of the actual commands. Such a function could also log the actual commands to a log file, @@ -5179,66 +4804,58 @@ for example. PROGEMITTER - - + TODO PROGPREFIX - - + The prefix used for executable file names. PROGSUFFIX - - + The suffix used for executable file names. PSCOM - - + The command line used to convert TeX DVI files into a PostScript file. PSCOMSTR - - + The string displayed when a TeX DVI file is converted into a PostScript file. -If this is not set, then $PSCOM (the command line) is displayed. +If this is not set, then $PSCOM (the command line) is displayed. PSPREFIX - - + The prefix used for PostScript file names. PSSUFFIX - - + The prefix used for PostScript file names. QT_AUTOSCAN - - + Turn off scanning for mocable files. Use the Moc Builder to explicitly specify files to run moc on. @@ -5246,74 +4863,66 @@ specify files to run moc on. QT_BINPATH - - + The path where the qt binaries are installed. -The default value is '$QTDIR/bin'. +The default value is '$QTDIR/bin'. QT_CPPPATH - - + The path where the qt header files are installed. -The default value is '$QTDIR/include'. +The default value is '$QTDIR/include'. Note: If you set this variable to None, -the tool won't change the $CPPPATH +the tool won't change the $CPPPATH construction variable. QT_DEBUG - - + Prints lots of debugging information while scanning for moc files. QT_LIB - - + Default value is 'qt'. You may want to set this to 'qt-mt'. Note: If you set -this variable to None, the tool won't change the $LIBS variable. +this variable to None, the tool won't change the $LIBS variable. QT_LIBPATH - - + The path where the qt libraries are installed. -The default value is '$QTDIR/lib'. +The default value is '$QTDIR/lib'. Note: If you set this variable to None, -the tool won't change the $LIBPATH +the tool won't change the $LIBPATH construction variable. QT_MOC - - -Default value is '$QT_BINPATH/moc'. + +Default value is '$QT_BINPATH/moc'. QT_MOCCXXPREFIX - - + Default value is ''. Prefix for moc output files, when source is a cxx file. QT_MOCCXXSUFFIX - - + Default value is '.moc'. Suffix for moc output files, when source is a cxx file. @@ -5321,25 +4930,22 @@ file. QT_MOCFROMCXXCOM - - + Command to generate a moc file from a cpp file. QT_MOCFROMCXXCOMSTR - - + The string displayed when generating a moc file from a cpp file. -If this is not set, then $QT_MOCFROMCXXCOM (the command line) is displayed. +If this is not set, then $QT_MOCFROMCXXCOM (the command line) is displayed. QT_MOCFROMCXXFLAGS - - + Default value is '-i'. These flags are passed to moc, when moccing a C++ file. @@ -5347,25 +4953,22 @@ C++ file. QT_MOCFROMHCOM - - + Command to generate a moc file from a header. QT_MOCFROMHCOMSTR - - + The string displayed when generating a moc file from a cpp file. -If this is not set, then $QT_MOCFROMHCOM (the command line) is displayed. +If this is not set, then $QT_MOCFROMHCOM (the command line) is displayed. QT_MOCFROMHFLAGS - - + Default value is ''. These flags are passed to moc, when moccing a header file. @@ -5373,50 +4976,44 @@ file. QT_MOCHPREFIX - - + Default value is 'moc_'. Prefix for moc output files, when source is a header. QT_MOCHSUFFIX - - -Default value is '$CXXFILESUFFIX'. Suffix for moc output files, when source is + +Default value is '$CXXFILESUFFIX'. Suffix for moc output files, when source is a header. QT_UIC - - -Default value is '$QT_BINPATH/uic'. + +Default value is '$QT_BINPATH/uic'. QT_UICCOM - - + Command to generate header files from .ui files. QT_UICCOMSTR - - + The string displayed when generating header files from .ui files. -If this is not set, then $QT_UICCOM (the command line) is displayed. +If this is not set, then $QT_UICCOM (the command line) is displayed. QT_UICDECLFLAGS - - + Default value is ''. These flags are passed to uic, when creating a a h file from a .ui file. @@ -5424,24 +5021,21 @@ file from a .ui file. QT_UICDECLPREFIX - - + Default value is ''. Prefix for uic generated header files. QT_UICDECLSUFFIX - - + Default value is '.h'. Suffix for uic generated header files. QT_UICIMPLFLAGS - - + Default value is ''. These flags are passed to uic, when creating a cxx file from a .ui file. @@ -5449,33 +5043,29 @@ file from a .ui file. QT_UICIMPLPREFIX - - + Default value is 'uic_'. Prefix for uic generated implementation files. QT_UICIMPLSUFFIX - - -Default value is '$CXXFILESUFFIX'. Suffix for uic generated implementation + +Default value is '$CXXFILESUFFIX'. Suffix for uic generated implementation files. QT_UISUFFIX - - + Default value is '.ui'. Suffix of designer input files. QTDIR - - + The qt tool tries to take this from os.environ. It also initializes all QT_* construction variables listed below. @@ -5484,24 +5074,24 @@ with python's os.path.join() method, but are listed here with the '/' separator for easier reading.) In addition, the construction environment -variables $CPPPATH, -$LIBPATH and -$LIBS may be modified +variables $CPPPATH, +$LIBPATH and +$LIBS may be modified and the variables -$PROGEMITTER, $SHLIBEMITTER and $LIBEMITTER +$PROGEMITTER, $SHLIBEMITTER and $LIBEMITTER are modified. Because the build-performance is affected when using this tool, you have to explicitly specify it at Environment creation: - + Environment(tools=['default','qt']) - + The qt tool supports the following operations: - + Automatic moc file generation from header files. You do not have to specify moc files explicitly, the tool does it for you. However, there are a few preconditions to do so: Your header file must have @@ -5509,11 +5099,11 @@ the same filebase as your implementation file and must stay in the same directory. It must have one of the suffixes .h, .hpp, .H, .hxx, .hh. You can turn off automatic moc file generation by setting QT_AUTOSCAN to 0. See also the corresponding -Moc() +Moc() builder method. - + Automatic moc file generation from cxx files. As stated in the qt documentation, include the moc file at the end of the cxx file. Note that you have to include the file, which is generated @@ -5522,11 +5112,11 @@ by the transformation ${QT_MOCCXXPREFIX}<basename>${QT_MOCCXXSUFFIX}, by d do not include the correct file. If you are using VariantDir, you may need to specify duplicate=1. You can turn off automatic moc file generation by setting QT_AUTOSCAN to 0. See also the corresponding -Moc +Moc builder method. - + Automatic handling of .ui files. The implementation files generated from .ui files are handled much the same as yacc or lex files. Each .ui file given as a source of Program, Library or @@ -5534,52 +5124,47 @@ SharedLibrary will generate three files, the declaration file, the implementation file and a moc file. Because there are also generated headers, you may need to specify duplicate=1 in calls to VariantDir. See also the corresponding -Uic +Uic builder method. RANLIB - - + The archive indexer. RANLIBCOM - - + The command line used to index a static library archive. RANLIBCOMSTR - - + The string displayed when a static library archive is indexed. -If this is not set, then $RANLIBCOM (the command line) is displayed. +If this is not set, then $RANLIBCOM (the command line) is displayed. - + env = Environment(RANLIBCOMSTR = "Indexing $TARGET") RANLIBFLAGS - - + General options passed to the archive indexer. RC - - + The resource compiler used to build a Microsoft Visual C++ resource file. @@ -5587,8 +5172,7 @@ a Microsoft Visual C++ resource file. RCCOM - - + The command line used to build a Microsoft Visual C++ resource file. @@ -5596,66 +5180,60 @@ a Microsoft Visual C++ resource file. RCCOMSTR - - + The string displayed when invoking the resource compiler to build a Microsoft Visual C++ resource file. -If this is not set, then $RCCOM (the command line) is displayed. +If this is not set, then $RCCOM (the command line) is displayed. RCFLAGS - - + The flags passed to the resource compiler by the RES builder. RCINCFLAGS - - + An automatically-generated construction variable containing the command-line options for specifying directories to be searched by the resource compiler. -The value of $RCINCFLAGS is created +The value of $RCINCFLAGS is created by respectively prepending and appending -$RCINCPREFIX and $RCINCSUFFIX +$RCINCPREFIX and $RCINCSUFFIX to the beginning and end -of each directory in $CPPPATH. +of each directory in $CPPPATH. RCINCPREFIX - - + The prefix (flag) used to specify an include directory on the resource compiler command line. This will be prepended to the beginning of each directory -in the $CPPPATH construction variable -when the $RCINCFLAGS variable is expanded. +in the $CPPPATH construction variable +when the $RCINCFLAGS variable is expanded. RCINCSUFFIX - - + The suffix used to specify an include directory on the resource compiler command line. This will be appended to the end of each directory -in the $CPPPATH construction variable -when the $RCINCFLAGS variable is expanded. +in the $CPPPATH construction variable +when the $RCINCFLAGS variable is expanded. RDirs - - + A function that converts a string into a list of Dir instances by searching the repositories. @@ -5663,39 +5241,35 @@ searching the repositories. REGSVR - - + The program used on Windows systems to register a newly-built DLL library -whenever the SharedLibrary builder +whenever the SharedLibrary builder is passed a keyword argument of register=1. REGSVRCOM - - + The command line used on Windows systems to register a newly-built DLL library -whenever the SharedLibrary builder +whenever the SharedLibrary builder is passed a keyword argument of register=1. REGSVRCOMSTR - - + The string displayed when registering a newly-built DLL file. -If this is not set, then $REGSVRCOM (the command line) is displayed. +If this is not set, then $REGSVRCOM (the command line) is displayed. REGSVRFLAGS - - + Flags passed to the DLL registration program on Windows systems when a newly-built DLL library is registered. By default, @@ -5707,72 +5281,66 @@ and requiring user attention. RMIC - - + The Java RMI stub compiler. RMICCOM - - + The command line used to compile stub and skeleton class files from Java classes that contain RMI implementations. -Any options specified in the $RMICFLAGS construction variable +Any options specified in the $RMICFLAGS construction variable are included on this command line. RMICCOMSTR - - + The string displayed when compiling stub and skeleton class files from Java classes that contain RMI implementations. -If this is not set, then $RMICCOM (the command line) is displayed. +If this is not set, then $RMICCOM (the command line) is displayed. - + env = Environment(RMICCOMSTR = "Generating stub/skeleton class files $TARGETS from $SOURCES") RMICFLAGS - - + General options passed to the Java RMI stub compiler. _RPATH - - + An automatically-generated construction variable containing the rpath flags to be used when linking a program with shared libraries. -The value of $_RPATH is created -by respectively prepending $RPATHPREFIX and appending $RPATHSUFFIX +The value of $_RPATH is created +by respectively prepending $RPATHPREFIX and appending $RPATHSUFFIX to the beginning and end -of each directory in $RPATH. +of each directory in $RPATH. RPATH - - + A list of paths to search for shared libraries when running programs. Currently only used in the GNU (gnulink), IRIX (sgilink) and Sun (sunlink) linkers. Ignored on platforms and toolchains that don't support it. Note that the paths added to RPATH are not transformed by -scons +scons in any way: if you want an absolute path, you must make it absolute yourself. @@ -5780,96 +5348,87 @@ path, you must make it absolute yourself. RPATHPREFIX - - + The prefix used to specify a directory to be searched for shared libraries when running programs. This will be prepended to the beginning of each directory -in the $RPATH construction variable -when the $_RPATH variable is automatically generated. +in the $RPATH construction variable +when the $_RPATH variable is automatically generated. RPATHSUFFIX - - + The suffix used to specify a directory to be searched for shared libraries when running programs. This will be appended to the end of each directory -in the $RPATH construction variable -when the $_RPATH variable is automatically generated. +in the $RPATH construction variable +when the $_RPATH variable is automatically generated. RPCGEN - - + The RPC protocol compiler. RPCGENCLIENTFLAGS - - + Options passed to the RPC protocol compiler when generating client side stubs. These are in addition to any flags specified in the -$RPCGENFLAGS +$RPCGENFLAGS construction variable. RPCGENFLAGS - - + General options passed to the RPC protocol compiler. RPCGENHEADERFLAGS - - + Options passed to the RPC protocol compiler when generating a header file. These are in addition to any flags specified in the -$RPCGENFLAGS +$RPCGENFLAGS construction variable. RPCGENSERVICEFLAGS - - + Options passed to the RPC protocol compiler when generating server side stubs. These are in addition to any flags specified in the -$RPCGENFLAGS +$RPCGENFLAGS construction variable. RPCGENXDRFLAGS - - + Options passed to the RPC protocol compiler when generating XDR routines. These are in addition to any flags specified in the -$RPCGENFLAGS +$RPCGENFLAGS construction variable. SCANNERS - - + A list of the available implicit dependency scanners. New file scanners may be added by appending to this list, @@ -5884,51 +5443,47 @@ below, for more information. SCONS_HOME - The + The (optional) path to the SCons library directory, initialized from the external environment. If set, this is used to construct a shorter and more efficient -search path in the $MSVSSCONS command line executed from Microsoft +search path in the $MSVSSCONS command line executed from Microsoft Visual Studio project files. SHCC - - + The C compiler used for generating shared-library objects. SHCCCOM - - + The command line used to compile a C source file to a shared-library object file. -Any options specified in the $SHCFLAGS, -$SHCCFLAGS and -$CPPFLAGS construction variables +Any options specified in the $SHCFLAGS, +$SHCCFLAGS and +$CPPFLAGS construction variables are included on this command line. SHCCCOMSTR - - + The string displayed when a C source file is compiled to a shared object file. -If this is not set, then $SHCCCOM (the command line) is displayed. +If this is not set, then $SHCCCOM (the command line) is displayed. - + env = Environment(SHCCCOMSTR = "Compiling shared object $TARGET") SHCCFLAGS - - + Options that are passed to the C and C++ compilers to generate shared-library objects. @@ -5936,8 +5491,7 @@ to generate shared-library objects. SHCFLAGS - - + Options that are passed to the C compiler (only; not C++) to generate shared-library objects. @@ -5945,42 +5499,38 @@ to generate shared-library objects. SHCXX - - + The C++ compiler used for generating shared-library objects. SHCXXCOM - - + The command line used to compile a C++ source file to a shared-library object file. -Any options specified in the $SHCXXFLAGS and -$CPPFLAGS construction variables +Any options specified in the $SHCXXFLAGS and +$CPPFLAGS construction variables are included on this command line. SHCXXCOMSTR - - + The string displayed when a C++ source file is compiled to a shared object file. -If this is not set, then $SHCXXCOM (the command line) is displayed. +If this is not set, then $SHCXXCOM (the command line) is displayed. - + env = Environment(SHCXXCOMSTR = "Compiling shared object $TARGET") SHCXXFLAGS - - + Options that are passed to the C++ compiler to generate shared-library objects. @@ -5988,18 +5538,15 @@ to generate shared-library objects. SHDC - - + The name of the compiler to use when compiling D source destined to be in a shared objects. - - + The name of the compiler to use when compiling D source destined to be in a shared objects. - - + The name of the compiler to use when compiling D source destined to be in a shared objects. @@ -6007,50 +5554,42 @@ to generate shared-library objects. SHDCOM - - + The command line to use when compiling code to be part of shared objects. - - + The command line to use when compiling code to be part of shared objects. - - + The command line to use when compiling code to be part of shared objects. SHDLIBVERSION - - + SHDLIBVERSION. SHDLIBVERSIONFLAGS - - + SHDLIBVERSIONFLAGS. SHDLINK - - + The linker to use when creating shared objects for code bases include D sources. - - + The linker to use when creating shared objects for code bases include D sources. - - + The linker to use when creating shared objects for code bases include D sources. @@ -6058,71 +5597,62 @@ to generate shared-library objects. SHDLINKCOM - - + The command line to use when generating shared objects. - - + The command line to use when generating shared objects. - - + The command line to use when generating shared objects. SHDLINKFLAGS - - + The list of flags to use when generating a shared object. - - + The list of flags to use when generating a shared object. - - + The list of flags to use when generating a shared object. SHELL - - + A string naming the shell program that will be passed to the -$SPAWN +$SPAWN function. See the -$SPAWN +$SPAWN construction variable for more information. SHF03 - - + The Fortran 03 compiler used for generating shared-library objects. -You should normally set the $SHFORTRAN variable, +You should normally set the $SHFORTRAN variable, which specifies the default Fortran compiler for all Fortran versions. -You only need to set $SHF03 if you need to use a specific compiler +You only need to set $SHF03 if you need to use a specific compiler or compiler version for Fortran 03 files. SHF03COM - - + The command line used to compile a Fortran 03 source file to a shared-library object file. -You only need to set $SHF03COM if you need to use a specific +You only need to set $SHF03COM if you need to use a specific command line for Fortran 03 files. -You should normally set the $SHFORTRANCOM variable, +You should normally set the $SHFORTRANCOM variable, which specifies the default command line for all Fortran versions. @@ -6130,24 +5660,22 @@ for all Fortran versions. SHF03COMSTR - - + The string displayed when a Fortran 03 source file is compiled to a shared-library object file. -If this is not set, then $SHF03COM or $SHFORTRANCOM +If this is not set, then $SHF03COM or $SHFORTRANCOM (the command line) is displayed. SHF03FLAGS - - + Options that are passed to the Fortran 03 compiler to generated shared-library objects. -You only need to set $SHF03FLAGS if you need to define specific +You only need to set $SHF03FLAGS if you need to define specific user options for Fortran 03 files. -You should normally set the $SHFORTRANFLAGS variable, +You should normally set the $SHFORTRANFLAGS variable, which specifies the user-specified options passed to the default Fortran compiler for all Fortran versions. @@ -6156,16 +5684,15 @@ for all Fortran versions. SHF03PPCOM - - + The command line used to compile a Fortran 03 source file to a shared-library object file after first running the file through the C preprocessor. -Any options specified in the $SHF03FLAGS and $CPPFLAGS construction variables +Any options specified in the $SHF03FLAGS and $CPPFLAGS construction variables are included on this command line. -You only need to set $SHF03PPCOM if you need to use a specific +You only need to set $SHF03PPCOM if you need to use a specific C-preprocessor command line for Fortran 03 files. -You should normally set the $SHFORTRANPPCOM variable, +You should normally set the $SHFORTRANPPCOM variable, which specifies the default C-preprocessor command line for all Fortran versions. @@ -6173,38 +5700,35 @@ for all Fortran versions. SHF03PPCOMSTR - - + The string displayed when a Fortran 03 source file is compiled to a shared-library object file after first running the file through the C preprocessor. -If this is not set, then $SHF03PPCOM or $SHFORTRANPPCOM +If this is not set, then $SHF03PPCOM or $SHFORTRANPPCOM (the command line) is displayed. SHF08 - - + The Fortran 08 compiler used for generating shared-library objects. -You should normally set the $SHFORTRAN variable, +You should normally set the $SHFORTRAN variable, which specifies the default Fortran compiler for all Fortran versions. -You only need to set $SHF08 if you need to use a specific compiler +You only need to set $SHF08 if you need to use a specific compiler or compiler version for Fortran 08 files. SHF08COM - - + The command line used to compile a Fortran 08 source file to a shared-library object file. -You only need to set $SHF08COM if you need to use a specific +You only need to set $SHF08COM if you need to use a specific command line for Fortran 08 files. -You should normally set the $SHFORTRANCOM variable, +You should normally set the $SHFORTRANCOM variable, which specifies the default command line for all Fortran versions. @@ -6212,24 +5736,22 @@ for all Fortran versions. SHF08COMSTR - - + The string displayed when a Fortran 08 source file is compiled to a shared-library object file. -If this is not set, then $SHF08COM or $SHFORTRANCOM +If this is not set, then $SHF08COM or $SHFORTRANCOM (the command line) is displayed. SHF08FLAGS - - + Options that are passed to the Fortran 08 compiler to generated shared-library objects. -You only need to set $SHF08FLAGS if you need to define specific +You only need to set $SHF08FLAGS if you need to define specific user options for Fortran 08 files. -You should normally set the $SHFORTRANFLAGS variable, +You should normally set the $SHFORTRANFLAGS variable, which specifies the user-specified options passed to the default Fortran compiler for all Fortran versions. @@ -6238,16 +5760,15 @@ for all Fortran versions. SHF08PPCOM - - + The command line used to compile a Fortran 08 source file to a shared-library object file after first running the file through the C preprocessor. -Any options specified in the $SHF08FLAGS and $CPPFLAGS construction variables +Any options specified in the $SHF08FLAGS and $CPPFLAGS construction variables are included on this command line. -You only need to set $SHF08PPCOM if you need to use a specific +You only need to set $SHF08PPCOM if you need to use a specific C-preprocessor command line for Fortran 08 files. -You should normally set the $SHFORTRANPPCOM variable, +You should normally set the $SHFORTRANPPCOM variable, which specifies the default C-preprocessor command line for all Fortran versions. @@ -6255,38 +5776,35 @@ for all Fortran versions. SHF08PPCOMSTR - - + The string displayed when a Fortran 08 source file is compiled to a shared-library object file after first running the file through the C preprocessor. -If this is not set, then $SHF08PPCOM or $SHFORTRANPPCOM +If this is not set, then $SHF08PPCOM or $SHFORTRANPPCOM (the command line) is displayed. SHF77 - - + The Fortran 77 compiler used for generating shared-library objects. -You should normally set the $SHFORTRAN variable, +You should normally set the $SHFORTRAN variable, which specifies the default Fortran compiler for all Fortran versions. -You only need to set $SHF77 if you need to use a specific compiler +You only need to set $SHF77 if you need to use a specific compiler or compiler version for Fortran 77 files. SHF77COM - - + The command line used to compile a Fortran 77 source file to a shared-library object file. -You only need to set $SHF77COM if you need to use a specific +You only need to set $SHF77COM if you need to use a specific command line for Fortran 77 files. -You should normally set the $SHFORTRANCOM variable, +You should normally set the $SHFORTRANCOM variable, which specifies the default command line for all Fortran versions. @@ -6294,24 +5812,22 @@ for all Fortran versions. SHF77COMSTR - - + The string displayed when a Fortran 77 source file is compiled to a shared-library object file. -If this is not set, then $SHF77COM or $SHFORTRANCOM +If this is not set, then $SHF77COM or $SHFORTRANCOM (the command line) is displayed. SHF77FLAGS - - + Options that are passed to the Fortran 77 compiler to generated shared-library objects. -You only need to set $SHF77FLAGS if you need to define specific +You only need to set $SHF77FLAGS if you need to define specific user options for Fortran 77 files. -You should normally set the $SHFORTRANFLAGS variable, +You should normally set the $SHFORTRANFLAGS variable, which specifies the user-specified options passed to the default Fortran compiler for all Fortran versions. @@ -6320,16 +5836,15 @@ for all Fortran versions. SHF77PPCOM - - + The command line used to compile a Fortran 77 source file to a shared-library object file after first running the file through the C preprocessor. -Any options specified in the $SHF77FLAGS and $CPPFLAGS construction variables +Any options specified in the $SHF77FLAGS and $CPPFLAGS construction variables are included on this command line. -You only need to set $SHF77PPCOM if you need to use a specific +You only need to set $SHF77PPCOM if you need to use a specific C-preprocessor command line for Fortran 77 files. -You should normally set the $SHFORTRANPPCOM variable, +You should normally set the $SHFORTRANPPCOM variable, which specifies the default C-preprocessor command line for all Fortran versions. @@ -6337,38 +5852,35 @@ for all Fortran versions. SHF77PPCOMSTR - - + The string displayed when a Fortran 77 source file is compiled to a shared-library object file after first running the file through the C preprocessor. -If this is not set, then $SHF77PPCOM or $SHFORTRANPPCOM +If this is not set, then $SHF77PPCOM or $SHFORTRANPPCOM (the command line) is displayed. SHF90 - - + The Fortran 90 compiler used for generating shared-library objects. -You should normally set the $SHFORTRAN variable, +You should normally set the $SHFORTRAN variable, which specifies the default Fortran compiler for all Fortran versions. -You only need to set $SHF90 if you need to use a specific compiler +You only need to set $SHF90 if you need to use a specific compiler or compiler version for Fortran 90 files. SHF90COM - - + The command line used to compile a Fortran 90 source file to a shared-library object file. -You only need to set $SHF90COM if you need to use a specific +You only need to set $SHF90COM if you need to use a specific command line for Fortran 90 files. -You should normally set the $SHFORTRANCOM variable, +You should normally set the $SHFORTRANCOM variable, which specifies the default command line for all Fortran versions. @@ -6376,24 +5888,22 @@ for all Fortran versions. SHF90COMSTR - - + The string displayed when a Fortran 90 source file is compiled to a shared-library object file. -If this is not set, then $SHF90COM or $SHFORTRANCOM +If this is not set, then $SHF90COM or $SHFORTRANCOM (the command line) is displayed. SHF90FLAGS - - + Options that are passed to the Fortran 90 compiler to generated shared-library objects. -You only need to set $SHF90FLAGS if you need to define specific +You only need to set $SHF90FLAGS if you need to define specific user options for Fortran 90 files. -You should normally set the $SHFORTRANFLAGS variable, +You should normally set the $SHFORTRANFLAGS variable, which specifies the user-specified options passed to the default Fortran compiler for all Fortran versions. @@ -6402,16 +5912,15 @@ for all Fortran versions. SHF90PPCOM - - + The command line used to compile a Fortran 90 source file to a shared-library object file after first running the file through the C preprocessor. -Any options specified in the $SHF90FLAGS and $CPPFLAGS construction variables +Any options specified in the $SHF90FLAGS and $CPPFLAGS construction variables are included on this command line. -You only need to set $SHF90PPCOM if you need to use a specific +You only need to set $SHF90PPCOM if you need to use a specific C-preprocessor command line for Fortran 90 files. -You should normally set the $SHFORTRANPPCOM variable, +You should normally set the $SHFORTRANPPCOM variable, which specifies the default C-preprocessor command line for all Fortran versions. @@ -6419,38 +5928,35 @@ for all Fortran versions. SHF90PPCOMSTR - - + The string displayed when a Fortran 90 source file is compiled to a shared-library object file after first running the file through the C preprocessor. -If this is not set, then $SHF90PPCOM or $SHFORTRANPPCOM +If this is not set, then $SHF90PPCOM or $SHFORTRANPPCOM (the command line) is displayed. SHF95 - - + The Fortran 95 compiler used for generating shared-library objects. -You should normally set the $SHFORTRAN variable, +You should normally set the $SHFORTRAN variable, which specifies the default Fortran compiler for all Fortran versions. -You only need to set $SHF95 if you need to use a specific compiler +You only need to set $SHF95 if you need to use a specific compiler or compiler version for Fortran 95 files. SHF95COM - - + The command line used to compile a Fortran 95 source file to a shared-library object file. -You only need to set $SHF95COM if you need to use a specific +You only need to set $SHF95COM if you need to use a specific command line for Fortran 95 files. -You should normally set the $SHFORTRANCOM variable, +You should normally set the $SHFORTRANCOM variable, which specifies the default command line for all Fortran versions. @@ -6458,24 +5964,22 @@ for all Fortran versions. SHF95COMSTR - - + The string displayed when a Fortran 95 source file is compiled to a shared-library object file. -If this is not set, then $SHF95COM or $SHFORTRANCOM +If this is not set, then $SHF95COM or $SHFORTRANCOM (the command line) is displayed. SHF95FLAGS - - + Options that are passed to the Fortran 95 compiler to generated shared-library objects. -You only need to set $SHF95FLAGS if you need to define specific +You only need to set $SHF95FLAGS if you need to define specific user options for Fortran 95 files. -You should normally set the $SHFORTRANFLAGS variable, +You should normally set the $SHFORTRANFLAGS variable, which specifies the user-specified options passed to the default Fortran compiler for all Fortran versions. @@ -6484,16 +5988,15 @@ for all Fortran versions. SHF95PPCOM - - + The command line used to compile a Fortran 95 source file to a shared-library object file after first running the file through the C preprocessor. -Any options specified in the $SHF95FLAGS and $CPPFLAGS construction variables +Any options specified in the $SHF95FLAGS and $CPPFLAGS construction variables are included on this command line. -You only need to set $SHF95PPCOM if you need to use a specific +You only need to set $SHF95PPCOM if you need to use a specific C-preprocessor command line for Fortran 95 files. -You should normally set the $SHFORTRANPPCOM variable, +You should normally set the $SHFORTRANPPCOM variable, which specifies the default C-preprocessor command line for all Fortran versions. @@ -6501,28 +6004,25 @@ for all Fortran versions. SHF95PPCOMSTR - - + The string displayed when a Fortran 95 source file is compiled to a shared-library object file after first running the file through the C preprocessor. -If this is not set, then $SHF95PPCOM or $SHFORTRANPPCOM +If this is not set, then $SHF95PPCOM or $SHFORTRANPPCOM (the command line) is displayed. SHFORTRAN - - + The default Fortran compiler used for generating shared-library objects. SHFORTRANCOM - - + The command line used to compile a Fortran source file to a shared-library object file. @@ -6530,19 +6030,17 @@ to a shared-library object file. SHFORTRANCOMSTR - - + The string displayed when a Fortran source file is compiled to a shared-library object file. -If this is not set, then $SHFORTRANCOM +If this is not set, then $SHFORTRANCOM (the command line) is displayed. SHFORTRANFLAGS - - + Options that are passed to the Fortran compiler to generate shared-library objects. @@ -6550,159 +6048,145 @@ to generate shared-library objects. SHFORTRANPPCOM - - + The command line used to compile a Fortran source file to a shared-library object file after first running the file through the C preprocessor. Any options specified -in the $SHFORTRANFLAGS and -$CPPFLAGS construction variables +in the $SHFORTRANFLAGS and +$CPPFLAGS construction variables are included on this command line. SHFORTRANPPCOMSTR - - + The string displayed when a Fortran source file is compiled to a shared-library object file after first running the file through the C preprocessor. -If this is not set, then $SHFORTRANPPCOM +If this is not set, then $SHFORTRANPPCOM (the command line) is displayed. SHLIBEMITTER - - + TODO SHLIBNOVERSIONSYMLINKS - - -Instructs the SharedLibrary builder to not create symlinks for versioned + +Instructs the SharedLibrary builder to not create symlinks for versioned shared libraries. SHLIBPREFIX - - + The prefix used for shared library file names. _SHLIBSONAME - - + A macro that automatically generates shared library's SONAME based on $TARGET, -$SHLIBVERSION and $SHLIBSUFFIX. Used by SharedLibrary builder when -the linker tool supports SONAME (e.g. gnulink). +$SHLIBVERSION and $SHLIBSUFFIX. Used by SharedLibrary builder when +the linker tool supports SONAME (e.g. gnulink). SHLIBSUFFIX - - + The suffix used for shared library file names. SHLIBVERSION - - + When this construction variable is defined, a versioned shared library -is created by SharedLibrary builder. This activates the -$_SHLIBVERSIONFLAGS and thus modifies the $SHLINKCOM as +is created by SharedLibrary builder. This activates the +$_SHLIBVERSIONFLAGS and thus modifies the $SHLINKCOM as required, adds the version number to the library name, and creates the symlinks -that are needed. $SHLIBVERSION versions should exist as alpha-numeric, +that are needed. $SHLIBVERSION versions should exist as alpha-numeric, decimal-delimited values as defined by the regular expression "\w+[\.\w+]*". -Example $SHLIBVERSION values include '1', '1.2.3', and '1.2.gitaa412c8b'. +Example $SHLIBVERSION values include '1', '1.2.3', and '1.2.gitaa412c8b'. + + + + + SHLIBVERSIONFLAGS + +Extra flags added to $SHLINKCOM when building versioned +SharedLibrary. These flags are only used when $SHLIBVERSION is +set. _SHLIBVERSIONFLAGS - - -This macro automatically introduces extra flags to $SHLINKCOM when -building versioned SharedLibrary (that is when $SHLIBVERSION -is set). _SHLIBVERSIONFLAGS usually adds $SHLIBVERSIONFLAGS + +This macro automatically introduces extra flags to $SHLINKCOM when +building versioned SharedLibrary (that is when $SHLIBVERSION +is set). _SHLIBVERSIONFLAGS usually adds $SHLIBVERSIONFLAGS and some extra dynamically generated options (such as -Wl,-soname=$_SHLIBSONAME. It is unused by "plain" (unversioned) shared libraries. - - - - SHLIBVERSIONFLAGS - - -Extra flags added to $SHLINKCOM when building versioned -SharedLibrary. These flags are only used when $SHLIBVERSION is -set. - SHLINK - - + The linker for programs that use shared libraries. SHLINKCOM - - + The command line used to link programs using shared libraries. SHLINKCOMSTR - - + The string displayed when programs using shared libraries are linked. -If this is not set, then $SHLINKCOM (the command line) is displayed. +If this is not set, then $SHLINKCOM (the command line) is displayed. - + env = Environment(SHLINKCOMSTR = "Linking shared $TARGET") SHLINKFLAGS - - + General user options passed to the linker for programs using shared libraries. Note that this variable should not contain -(or similar) options for linking with the libraries listed in $LIBS, +(or similar) options for linking with the libraries listed in $LIBS, nor (or similar) include search path options -that scons generates automatically from $LIBPATH. +that scons generates automatically from $LIBPATH. See -$_LIBFLAGS +$_LIBFLAGS above, for the variable that expands to library-link options, and -$_LIBDIRFLAGS +$_LIBDIRFLAGS above, for the variable that expands to library search path options. @@ -6710,36 +6194,32 @@ for the variable that expands to library search path options. SHOBJPREFIX - - + The prefix used for shared object file names. SHOBJSUFFIX - - + The suffix used for shared object file names. SONAME - - + Variable used to hard-code SONAME for versioned shared library/loadable module. env.SharedLibrary('test', 'test.c', SHLIBVERSION='0.1.2', SONAME='libtest.so.2') -The variable is used, for example, by gnulink linker tool. +The variable is used, for example, by gnulink linker tool. SOURCE - - + A reserved variable name that may not be set or used in a construction environment. (See "Variable Substitution," below.) @@ -6748,8 +6228,7 @@ that may not be set or used in a construction environment. SOURCE_URL - - + The URL (web address) of the location from which the project was retrieved. @@ -6761,8 +6240,7 @@ field in the controlling information for Ipkg and RPM packages. SOURCES - - + A reserved variable name that may not be set or used in a construction environment. (See "Variable Substitution," below.) @@ -6771,17 +6249,16 @@ that may not be set or used in a construction environment. SPAWN - - + A command interpreter function that will be called to execute command line strings. The function must expect the following arguments: - + def spawn(shell, escape, cmd, args, env): - + sh is a string naming the shell program to use. escape @@ -6799,17 +6276,15 @@ in which the command should be executed. STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME - - + When this variable is true, static objects and shared objects are assumed to be the same; that is, SCons does not check for linking static objects into a shared library. SUBST_DICT - - -The dictionary used by the Substfile or Textfile builders + +The dictionary used by the Substfile or Textfile builders for substitution values. It can be anything acceptable to the dict() constructor, so in addition to a dictionary, @@ -6819,26 +6294,23 @@ lists of tuples are also acceptable. SUBSTFILEPREFIX - - -The prefix used for Substfile file names, + +The prefix used for Substfile file names, the null string by default. SUBSTFILESUFFIX - - -The suffix used for Substfile file names, + +The suffix used for Substfile file names, the null string by default. SUMMARY - - + A short summary of what the project is about. This is used to fill in the Summary: @@ -6851,35 +6323,32 @@ field in MSI packages. SWIG - - + The scripting language wrapper and interface generator. SWIGCFILESUFFIX - - + The suffix that will be used for intermediate C source files generated by the scripting language wrapper and interface generator. The default value is -_wrap$CFILESUFFIX. +_wrap$CFILESUFFIX. By default, this value is used whenever the option is not specified as part of the -$SWIGFLAGS +$SWIGFLAGS construction variable. SWIGCOM - - + The command line used to call the scripting language wrapper and interface generator. @@ -6887,35 +6356,32 @@ the scripting language wrapper and interface generator. SWIGCOMSTR - - + The string displayed when calling the scripting language wrapper and interface generator. -If this is not set, then $SWIGCOM (the command line) is displayed. +If this is not set, then $SWIGCOM (the command line) is displayed. SWIGCXXFILESUFFIX - - + The suffix that will be used for intermediate C++ source files generated by the scripting language wrapper and interface generator. The default value is -_wrap$CFILESUFFIX. +_wrap$CFILESUFFIX. By default, this value is used whenever the -c++ option is specified as part of the -$SWIGFLAGS +$SWIGFLAGS construction variable. SWIGDIRECTORSUFFIX - - + The suffix that will be used for intermediate C++ header files generated by the scripting language wrapper and interface generator. These are only generated for C++ code when the SWIG 'directors' feature is @@ -6927,8 +6393,7 @@ The default value is SWIGFLAGS - - + General options passed to the scripting language wrapper and interface generator. This is where you should set @@ -6939,61 +6404,57 @@ or whatever other options you want to specify to SWIG. If you set the option in this variable, -scons +scons will, by default, generate a C++ intermediate source file with the extension that is specified as the -$CXXFILESUFFIX +$CXXFILESUFFIX variable. _SWIGINCFLAGS - - + An automatically-generated construction variable containing the SWIG command-line options for specifying directories to be searched for included files. -The value of $_SWIGINCFLAGS is created +The value of $_SWIGINCFLAGS is created by respectively prepending and appending -$SWIGINCPREFIX and $SWIGINCSUFFIX +$SWIGINCPREFIX and $SWIGINCSUFFIX to the beginning and end -of each directory in $SWIGPATH. +of each directory in $SWIGPATH. SWIGINCPREFIX - - + The prefix used to specify an include directory on the SWIG command line. This will be prepended to the beginning of each directory -in the $SWIGPATH construction variable -when the $_SWIGINCFLAGS variable is automatically generated. +in the $SWIGPATH construction variable +when the $_SWIGINCFLAGS variable is automatically generated. SWIGINCSUFFIX - - + The suffix used to specify an include directory on the SWIG command line. This will be appended to the end of each directory -in the $SWIGPATH construction variable -when the $_SWIGINCFLAGS variable is automatically generated. +in the $SWIGPATH construction variable +when the $_SWIGINCFLAGS variable is automatically generated. SWIGOUTDIR - - + Specifies the output directory in which the scripting language wrapper and interface generator should place generated language-specific files. This will be used by SCons to identify -the files that will be generated by the swig call, +the files that will be generated by the swig call, and translated into the swig -outdir option on the command line. @@ -7001,15 +6462,14 @@ and translated into the SWIGPATH - - + The list of directories that the scripting language wrapper and interface generate will search for included files. The SWIG implicit dependency scanner will search these directories for include files. The default value is an empty list. - + Don't explicitly put include directory arguments in SWIGFLAGS; the result will be non-portable @@ -7017,96 +6477,90 @@ and the directories will not be searched by the dependency scanner. Note: directory names in SWIGPATH will be looked-up relative to the SConscript directory when they are used in a command. To force -scons +scons to look-up a directory relative to the root of the source tree use #: - + env = Environment(SWIGPATH='#/include') - + The directory look-up can also be forced using the -Dir() +Dir() function: - + include = Dir('include') env = Environment(SWIGPATH=include) - + The directory list will be added to command lines through the automatically-generated -$_SWIGINCFLAGS +$_SWIGINCFLAGS construction variable, which is constructed by respectively prepending and appending the values of the -$SWIGINCPREFIX and $SWIGINCSUFFIX +$SWIGINCPREFIX and $SWIGINCSUFFIX construction variables to the beginning and end -of each directory in $SWIGPATH. +of each directory in $SWIGPATH. Any command lines you define that need the SWIGPATH directory list should -include $_SWIGINCFLAGS: +include $_SWIGINCFLAGS: - + env = Environment(SWIGCOM="my_swig -o $TARGET $_SWIGINCFLAGS $SOURCES") SWIGVERSION - - + The version number of the SWIG tool. TAR - - + The tar archiver. TARCOM - - + The command line used to call the tar archiver. TARCOMSTR - - + The string displayed when archiving files using the tar archiver. -If this is not set, then $TARCOM (the command line) is displayed. +If this is not set, then $TARCOM (the command line) is displayed. - + env = Environment(TARCOMSTR = "Archiving $TARGET") TARFLAGS - - + General options passed to the tar archiver. TARGET - - + A reserved variable name that may not be set or used in a construction environment. (See "Variable Substitution," below.) @@ -7115,11 +6569,16 @@ that may not be set or used in a construction environment. TARGET_ARCH - - + + The name of the target hardware architecture for the compiled objects + created by this Environment. + This defaults to the value of HOST_ARCH, and the user can override it. + Currently only set for Win32. + + Sets the target architecture for Visual Studio compiler (i.e. the arch of the binaries generated by the compiler). If not set, default to -$HOST_ARCH, or, if that is unset, to the architecture of the +$HOST_ARCH, or, if that is unset, to the architecture of the running machine's OS (note that the python build or architecture has no effect). This variable must be passed as an argument to the Environment() @@ -7128,7 +6587,7 @@ This is currently only used on Windows, but in the future it will be used on other OSes as well. - + Valid values for Windows are x86, i386 @@ -7141,19 +6600,11 @@ and ia64 (Itanium). For example, if you want to compile 64-bit binaries, you would set TARGET_ARCH='x86_64' in your SCons environment. - - - The name of the target hardware architecture for the compiled objects - created by this Environment. - This defaults to the value of HOST_ARCH, and the user can override it. - Currently only set for Win32. - - + TARGET_OS - - + The name of the target operating system for the compiled objects created by this Environment. This defaults to the value of HOST_OS, and the user can override it. @@ -7163,8 +6614,7 @@ For example, if you want to compile 64-bit binaries, you would set TARGETS - - + A reserved variable name that may not be set or used in a construction environment. (See "Variable Substitution," below.) @@ -7173,16 +6623,14 @@ that may not be set or used in a construction environment. TARSUFFIX - - + The suffix used for tar file names. TEMPFILEPREFIX - - + The prefix for a temporary file used to execute lines longer than $MAXLINELENGTH. The default is '@'. @@ -7194,46 +6642,41 @@ or '-via' for ARM toolchain. TEX - - + The TeX formatter and typesetter. TEXCOM - - + The command line used to call the TeX formatter and typesetter. TEXCOMSTR - - + The string displayed when calling the TeX formatter and typesetter. -If this is not set, then $TEXCOM (the command line) is displayed. +If this is not set, then $TEXCOM (the command line) is displayed. - + env = Environment(TEXCOMSTR = "Building $TARGET from TeX input $SOURCES") TEXFLAGS - - + General options passed to the TeX formatter and typesetter. TEXINPUTS - - + List of directories that the LaTeX program will search for include directories. The LaTeX implicit dependency scanner will search these @@ -7243,26 +6686,23 @@ directories for \include and \import files. TEXTFILEPREFIX - - -The prefix used for Textfile file names, + +The prefix used for Textfile file names, the null string by default. TEXTFILESUFFIX - - -The suffix used for Textfile file names; + +The suffix used for Textfile file names; .txt by default. TOOLS - - + A list of the names of the Tool specifications that are part of this construction environment. @@ -7270,8 +6710,7 @@ that are part of this construction environment. UNCHANGED_SOURCES - - + A reserved variable name that may not be set or used in a construction environment. (See "Variable Substitution," below.) @@ -7280,8 +6719,7 @@ that may not be set or used in a construction environment. UNCHANGED_TARGETS - - + A reserved variable name that may not be set or used in a construction environment. (See "Variable Substitution," below.) @@ -7290,8 +6728,7 @@ that may not be set or used in a construction environment. VENDOR - - + The person or organization who supply the packaged software. This is used to fill in the Vendor: @@ -7304,68 +6741,60 @@ field in the controlling information for MSI packages. VERSION - - + The version of the project, specified as a string. WIN32_INSERT_DEF - - -A deprecated synonym for $WINDOWS_INSERT_DEF. + +A deprecated synonym for $WINDOWS_INSERT_DEF. WIN32DEFPREFIX - - -A deprecated synonym for $WINDOWSDEFPREFIX. + +A deprecated synonym for $WINDOWSDEFPREFIX. WIN32DEFSUFFIX - - -A deprecated synonym for $WINDOWSDEFSUFFIX. + +A deprecated synonym for $WINDOWSDEFSUFFIX. WIN32EXPPREFIX - - -A deprecated synonym for $WINDOWSEXPSUFFIX. + +A deprecated synonym for $WINDOWSEXPSUFFIX. WIN32EXPSUFFIX - - -A deprecated synonym for $WINDOWSEXPSUFFIX. + +A deprecated synonym for $WINDOWSEXPSUFFIX. WINDOWS_EMBED_MANIFEST - - + Set this variable to True or 1 to embed the compiler-generated manifest (normally ${TARGET}.manifest) into all Windows exes and DLLs built with this environment, as a resource during their link step. -This is done using $MT and $MTEXECOM and $MTSHLIBCOM. +This is done using $MT and $MTEXECOM and $MTSHLIBCOM. WINDOWS_INSERT_DEF - - + When this is set to true, a library build of a Windows shared library (.dll file) @@ -7379,10 +6808,9 @@ The default is 0 (do not build a .def file). WINDOWS_INSERT_MANIFEST - - + When this is set to true, -scons +scons will be aware of the .manifest files generated by Microsoft Visua C/C++ 8. @@ -7391,40 +6819,35 @@ files generated by Microsoft Visua C/C++ 8. WINDOWSDEFPREFIX - - + The prefix used for Windows .def file names. WINDOWSDEFSUFFIX - - + The suffix used for Windows .def file names. WINDOWSEXPPREFIX - - + The prefix used for Windows .exp file names. WINDOWSEXPSUFFIX - - + The suffix used for Windows .exp file names. WINDOWSPROGMANIFESTPREFIX - - + The prefix used for executable program .manifest files generated by Microsoft Visual C/C++. @@ -7432,8 +6855,7 @@ generated by Microsoft Visual C/C++. WINDOWSPROGMANIFESTSUFFIX - - + The suffix used for executable program .manifest files generated by Microsoft Visual C/C++. @@ -7441,8 +6863,7 @@ generated by Microsoft Visual C/C++. WINDOWSSHLIBMANIFESTPREFIX - - + The prefix used for shared library .manifest files generated by Microsoft Visual C/C++. @@ -7450,8 +6871,7 @@ generated by Microsoft Visual C/C++. WINDOWSSHLIBMANIFESTSUFFIX - - + The suffix used for shared library .manifest files generated by Microsoft Visual C/C++. @@ -7459,8 +6879,7 @@ generated by Microsoft Visual C/C++. X_IPK_DEPENDS - - + This is used to fill in the Depends: field in the controlling information for Ipkg packages. @@ -7469,8 +6888,7 @@ field in the controlling information for Ipkg packages. X_IPK_DESCRIPTION - - + This is used to fill in the Description: field in the controlling information for Ipkg packages. @@ -7481,8 +6899,7 @@ The default value is X_IPK_MAINTAINER - - + This is used to fill in the Maintainer: field in the controlling information for Ipkg packages. @@ -7491,8 +6908,7 @@ field in the controlling information for Ipkg packages. X_IPK_PRIORITY - - + This is used to fill in the Priority: field in the controlling information for Ipkg packages. @@ -7501,8 +6917,7 @@ field in the controlling information for Ipkg packages. X_IPK_SECTION - - + This is used to fill in the Section: field in the controlling information for Ipkg packages. @@ -7511,8 +6926,7 @@ field in the controlling information for Ipkg packages. X_MSI_LANGUAGE - - + This is used to fill in the Language: attribute in the controlling information for MSI packages. @@ -7521,8 +6935,7 @@ attribute in the controlling information for MSI packages. X_MSI_LICENSE_TEXT - - + The text of the software license in RTF format. Carriage return characters will be replaced with the RTF equivalent \\par. @@ -7531,16 +6944,14 @@ replaced with the RTF equivalent \\par. X_MSI_UPGRADE_CODE - - + TODO X_RPM_AUTOREQPROV - - + This is used to fill in the AutoReqProv: field in the RPM @@ -7550,16 +6961,14 @@ field in the RPM X_RPM_BUILD - - + internal, but overridable X_RPM_BUILDREQUIRES - - + This is used to fill in the BuildRequires: field in the RPM @@ -7570,24 +6979,21 @@ Note this should only be used on a host managed by rpm as the dependencies will X_RPM_BUILDROOT - - + internal, but overridable X_RPM_CLEAN - - + internal, but overridable X_RPM_CONFLICTS - - + This is used to fill in the Conflicts: field in the RPM @@ -7597,8 +7003,7 @@ field in the RPM X_RPM_DEFATTR - - + This value is used as the default attributes for the files in the RPM package. The default value is @@ -7608,8 +7013,7 @@ The default value is X_RPM_DISTRIBUTION - - + This is used to fill in the Distribution: field in the RPM @@ -7619,8 +7023,7 @@ field in the RPM X_RPM_EPOCH - - + This is used to fill in the Epoch: field in the RPM @@ -7630,8 +7033,7 @@ field in the RPM X_RPM_EXCLUDEARCH - - + This is used to fill in the ExcludeArch: field in the RPM @@ -7641,8 +7043,7 @@ field in the RPM X_RPM_EXLUSIVEARCH - - + This is used to fill in the ExclusiveArch: field in the RPM @@ -7652,8 +7053,7 @@ field in the RPM X_RPM_EXTRADEFS - - + A list used to supply extra defintions or flags to be added to the RPM .spec file. Each item is added as-is with a carriage return appended. @@ -7669,7 +7069,7 @@ list that does not include the default line. Added in version 3.1. - + env.Package( NAME = 'foo', ... @@ -7684,8 +7084,7 @@ env.Package( X_RPM_GROUP - - + This is used to fill in the Group: field in the RPM @@ -7695,8 +7094,7 @@ field in the RPM X_RPM_GROUP_lang - - + This is used to fill in the Group(lang): field in the RPM @@ -7711,8 +7109,7 @@ the appropriate language code. X_RPM_ICON - - + This is used to fill in the Icon: field in the RPM @@ -7722,16 +7119,14 @@ field in the RPM X_RPM_INSTALL - - + internal, but overridable X_RPM_PACKAGER - - + This is used to fill in the Packager: field in the RPM @@ -7741,8 +7136,7 @@ field in the RPM X_RPM_POSTINSTALL - - + This is used to fill in the %post: section in the RPM @@ -7752,8 +7146,7 @@ section in the RPM X_RPM_POSTUNINSTALL - - + This is used to fill in the %postun: section in the RPM @@ -7763,8 +7156,7 @@ section in the RPM X_RPM_PREFIX - - + This is used to fill in the Prefix: field in the RPM @@ -7774,8 +7166,7 @@ field in the RPM X_RPM_PREINSTALL - - + This is used to fill in the %pre: section in the RPM @@ -7785,16 +7176,14 @@ section in the RPM X_RPM_PREP - - + internal, but overridable X_RPM_PREUNINSTALL - - + This is used to fill in the %preun: section in the RPM @@ -7804,8 +7193,7 @@ section in the RPM X_RPM_PROVIDES - - + This is used to fill in the Provides: field in the RPM @@ -7815,8 +7203,7 @@ field in the RPM X_RPM_REQUIRES - - + This is used to fill in the Requires: field in the RPM @@ -7826,8 +7213,7 @@ field in the RPM X_RPM_SERIAL - - + This is used to fill in the Serial: field in the RPM @@ -7837,8 +7223,7 @@ field in the RPM X_RPM_URL - - + This is used to fill in the Url: field in the RPM @@ -7848,37 +7233,33 @@ field in the RPM XGETTEXT - - + Path to xgettext(1) program (found via Detect()). -See xgettext tool and POTUpdate builder. +See xgettext tool and POTUpdate builder. XGETTEXTCOM - - + Complete xgettext command line. -See xgettext tool and POTUpdate builder. +See xgettext tool and POTUpdate builder. XGETTEXTCOMSTR - - + A string that is shown when xgettext(1) command is invoked -(default: '', which means "print $XGETTEXTCOM"). -See xgettext tool and POTUpdate builder. +(default: '', which means "print $XGETTEXTCOM"). +See xgettext tool and POTUpdate builder. _XGETTEXTDOMAIN - - + Internal "macro". Generates xgettext domain name form source and target (default: '${TARGET.filebase}'). @@ -7886,40 +7267,36 @@ form source and target (default: '${TARGET.filebase}'). XGETTEXTFLAGS - - + Additional flags to xgettext(1). -See xgettext tool and POTUpdate builder. +See xgettext tool and POTUpdate builder. XGETTEXTFROM - - + Name of file containing list of xgettext(1)'s source files. Autotools' users know this as POTFILES.in so they will in most cases set XGETTEXTFROM="POTFILES.in" here. -The $XGETTEXTFROM files have same syntax and semantics as the well known +The $XGETTEXTFROM files have same syntax and semantics as the well known GNU POTFILES.in. -See xgettext tool and POTUpdate builder. +See xgettext tool and POTUpdate builder. _XGETTEXTFROMFLAGS - - + Internal "macro". Genrates list of -D<dir> flags -from the $XGETTEXTPATH list. +from the $XGETTEXTPATH list. XGETTEXTFROMPREFIX - - -This flag is used to add single $XGETTEXTFROM file to + +This flag is used to add single $XGETTEXTFROM file to xgettext(1)'s commandline (default: '-f'). @@ -7927,38 +7304,34 @@ This flag is used to add single XGETTEXTFROMSUFFIX - - + (default: '') XGETTEXTPATH - - + List of directories, there xgettext(1) will look for source files (default: []). -This variable works only together with $XGETTEXTFROM +This variable works only together with $XGETTEXTFROM -See also xgettext tool and POTUpdate builder. +See also xgettext tool and POTUpdate builder. _XGETTEXTPATHFLAGS - - + Internal "macro". Generates list of -f<file> flags -from $XGETTEXTFROM. +from $XGETTEXTFROM. XGETTEXTPATHPREFIX - - + This flag is used to add single search path to xgettext(1)'s commandline (default: '-D'). @@ -7967,24 +7340,21 @@ This flag is used to add single search path to XGETTEXTPATHSUFFIX - - + (default: '') YACC - - + The parser generator. YACCCOM - - + The command line used to call the parser generator to generate a source file. @@ -7992,24 +7362,22 @@ to generate a source file. YACCCOMSTR - - + The string displayed when generating a source file using the parser generator. -If this is not set, then $YACCCOM (the command line) is displayed. +If this is not set, then $YACCCOM (the command line) is displayed. - + env = Environment(YACCCOMSTR = "Yacc'ing $TARGET from $SOURCES") YACCFLAGS - - + General options passed to the parser generator. -If $YACCFLAGS contains a option, +If $YACCFLAGS contains a option, SCons assumes that the call will also create a .h file (if the yacc source file ends in a .y suffix) or a .hpp file @@ -8019,8 +7387,7 @@ or a .hpp file YACCHFILESUFFIX - - + The suffix of the C header file generated by the parser generator when the @@ -8038,8 +7405,7 @@ The default value is YACCHXXFILESUFFIX - - + The suffix of the C++ header file generated by the parser generator when the @@ -8055,7 +7421,7 @@ The default value is except on Mac OS X, where the default is ${TARGET.suffix}.h. -because the default bison parser generator just +because the default bison parser generator just appends .h to the name of the generated C++ file. @@ -8063,8 +7429,7 @@ to the name of the generated C++ file. YACCVCGFILESUFFIX - - + The suffix of the file containing the VCG grammar automaton definition when the @@ -8082,16 +7447,14 @@ The default value is ZIP - - + The zip compression and file packaging utility. ZIPCOM - - + The command line used to call the zip utility, or the internal Python function used to create a zip archive. @@ -8100,8 +7463,7 @@ zip archive. ZIPCOMPRESSION - - + The compression flag @@ -8121,42 +7483,39 @@ module is unavailable. ZIPCOMSTR - - + The string displayed when archiving files using the zip utility. -If this is not set, then $ZIPCOM +If this is not set, then $ZIPCOM (the command line or internal Python function) is displayed. - + env = Environment(ZIPCOMSTR = "Zipping $TARGET") ZIPFLAGS - - + General options passed to the zip utility. ZIPROOT - - + An optional zip root directory (default empty). The filenames stored in the zip file will be relative to this directory, if given. Otherwise the filenames are relative to the current directory of the command. For instance: - + env = Environment() env.Zip('foo.zip', 'subdir1/subdir2/file1', ZIPROOT='subdir1') - + will produce a zip file foo.zip containing a file with the name subdir2/file1 rather than @@ -8166,8 +7525,7 @@ containing a file with the name ZIPSUFFIX - - + The suffix used for zip file names. diff --git a/doc/generated/variables.mod b/doc/generated/variables.mod index 9106e94831..7fbd49f05f 100644 --- a/doc/generated/variables.mod +++ b/doc/generated/variables.mod @@ -10,6 +10,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. $__LDMODULEVERSIONFLAGS"> $__SHLIBVERSIONFLAGS"> +$APPLELINK_COMPATIBILITY_VERSION"> +$APPLELINK_CURRENT_VERSION"> $AR"> $ARCHITECTURE"> $ARCOM"> @@ -497,8 +499,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. $_SHLIBSONAME"> $SHLIBSUFFIX"> $SHLIBVERSION"> -$_SHLIBVERSIONFLAGS"> $SHLIBVERSIONFLAGS"> +$_SHLIBVERSIONFLAGS"> $SHLINK"> $SHLINKCOM"> $SHLINKCOMSTR"> @@ -641,6 +643,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. $__LDMODULEVERSIONFLAGS"> $__SHLIBVERSIONFLAGS"> +$APPLELINK_COMPATIBILITY_VERSION"> +$APPLELINK_CURRENT_VERSION"> $AR"> $ARCHITECTURE"> $ARCOM"> @@ -1128,8 +1132,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. $_SHLIBSONAME"> $SHLIBSUFFIX"> $SHLIBVERSION"> -$_SHLIBVERSIONFLAGS"> $SHLIBVERSIONFLAGS"> +$_SHLIBVERSIONFLAGS"> $SHLINK"> $SHLINKCOM"> $SHLINKCOMSTR"> diff --git a/doc/man/scons.xml b/doc/man/scons.xml index 9b48f6976d..4dad2fdc79 100644 --- a/doc/man/scons.xml +++ b/doc/man/scons.xml @@ -54,10 +54,10 @@ Steven Knight and the SCons Development Team - 2004 - 2016 + 2004 - 2018 - 2004 - 2016 + 2004 - 2018 The SCons Foundation diff --git a/doc/user/copyright.xml b/doc/user/copyright.xml index 22deeaad07..588253c08d 100644 --- a/doc/user/copyright.xml +++ b/doc/user/copyright.xml @@ -1,44 +1,43 @@ - %scons; -]> + + %scons; + ]> - + --> -
- +
+ + SCons User's Guide Copyright (c) 2004-2018 Steven Knight + +
- SCons User's Guide Copyright (c) 2004, 2005, 2006, 2007 Steven Knight - -
-
diff --git a/doc/user/main.xml b/doc/user/main.xml index 9bb15268a0..a34405bf9a 100644 --- a/doc/user/main.xml +++ b/doc/user/main.xml @@ -74,10 +74,10 @@ Steven Knight and the SCons Development Team - 2004 - 2017 + 2004 - 2018 - 2004 - 2017 + 2004 - 2018 The SCons Foundation diff --git a/src/CHANGES.txt b/src/CHANGES.txt index 76d319760d..49f18a2622 100644 --- a/src/CHANGES.txt +++ b/src/CHANGES.txt @@ -55,6 +55,15 @@ RELEASE 3.1.0.alpha.yyyymmdd - NEW DATE WILL BE INSERTED HERE yielded trying to combine strings and bytes which threw exception. - Fix GH Issue #3225 SCons.Util.Flatten() doesn't handle MappingView's produced by dictionary as return values from dict().{items(), keys(), values()}. + - Fix GH Issue #3241 - Properly support versioned shared libraries for MacOS. We've also introduced two + new env variables APPLELINK_CURRENT_VERSION and APPLELINK_COMPATIBILITY_VERSION which will specify + what is passed to the linkers -current_version and -compatibility_version flags. If not specified + they will be derived from SHLIBVERSION as such: + - APPLELINK_CURRENT_VERSION = SHLIBVERSION + - APPLELINK_COMPATIBILITY_VERSION = all but the last digit in SHLIBVERSION with .0 appended. + Note that the values of the above will be validated. Valid format for either APPLELINK variable is + X[.Y[.Z]] where 0 <= X <= 65535, 0 <= Y <= 255, 0 <= Z <= 255. + The new variables have been added to the documents and should show up in user guide and manpage. - Fix GH Issue #3136 no longer wrap io.{BufferedReader,BufferedWriter,BufferedRWPair,BufferedRandom,TextIOWrapper with logic to set HANDLE_FLAG_INHERIT flag on the file handle. Python 3.4+ automatically sets this according to Python docs: https://docs.python.org/3/library/os.html#fd-inheritance diff --git a/src/engine/SCons/Defaults.py b/src/engine/SCons/Defaults.py index 87e831d186..6b077506df 100644 --- a/src/engine/SCons/Defaults.py +++ b/src/engine/SCons/Defaults.py @@ -568,7 +568,6 @@ def __libversionflags(env, version_var, flags_var): 'DSUFFIXES' : SCons.Tool.DSuffixes, 'ENV' : {}, 'IDLSUFFIXES' : SCons.Tool.IDLSuffixes, -# 'LATEXSUFFIXES' : SCons.Tool.LaTeXSuffixes, # moved to the TeX tools generate functions '_concat' : _concat, '_defines' : _defines, '_stripixes' : _stripixes, diff --git a/src/engine/SCons/Tool/__init__.py b/src/engine/SCons/Tool/__init__.py index d5fe445e08..f3f06304c3 100644 --- a/src/engine/SCons/Tool/__init__.py +++ b/src/engine/SCons/Tool/__init__.py @@ -44,7 +44,6 @@ import os import shutil - import SCons.Builder import SCons.Errors import SCons.Node.FS @@ -56,7 +55,7 @@ import SCons.Scanner.SWIG import collections -DefaultToolpath=[] +DefaultToolpath = [] CScanner = SCons.Scanner.C.CScanner() DScanner = SCons.Scanner.D.DScanner() @@ -97,20 +96,20 @@ SourceFileScanner.add_scanner(suffix, LaTeXScanner) SourceFileScanner.add_scanner(suffix, PDFLaTeXScanner) - # Tool aliases are needed for those tools whos module names also # occur in the python standard library. This causes module shadowing and # can break using python library functions under python3 TOOL_ALIASES = { - 'gettext':'gettext_tool', + 'gettext': 'gettext_tool', 'clang++': 'clangxx', } + class Tool(object): def __init__(self, name, toolpath=[], **kw): # Rename if there's a TOOL_ALIAS for this tool - self.name = TOOL_ALIASES.get(name,name) + self.name = TOOL_ALIASES.get(name, name) self.toolpath = toolpath + DefaultToolpath # remember these so we can merge them into the call self.init_kw = kw @@ -136,7 +135,7 @@ def _tool_module(self): sys.path = self.toolpath + sys.path # sys.stderr.write("Tool:%s\nPATH:%s\n"%(self.name,sys.path)) - if sys.version_info[0] < 3 or (sys.version_info[0] == 3 and sys.version_info[1] in (0,1,2,3,4)): + if sys.version_info[0] < 3 or (sys.version_info[0] == 3 and sys.version_info[1] in (0, 1, 2, 3, 4)): # Py 2 code try: try: @@ -149,7 +148,7 @@ def _tool_module(self): file.close() except ImportError as e: splitname = self.name.split('.') - if str(e)!="No module named %s"%splitname[0]: + if str(e) != "No module named %s" % splitname[0]: raise SCons.Errors.EnvironmentError(e) try: import zipimport @@ -184,44 +183,44 @@ def _tool_module(self): add_to_scons_tools_namespace = False for path in self.toolpath: sepname = self.name.replace('.', os.path.sep) - file_path = os.path.join(path, "%s.py"%sepname) + file_path = os.path.join(path, "%s.py" % sepname) file_package = os.path.join(path, sepname) - if debug: sys.stderr.write("Trying:%s %s\n"%(file_path, file_package)) + if debug: sys.stderr.write("Trying:%s %s\n" % (file_path, file_package)) if os.path.isfile(file_path): spec = importlib.util.spec_from_file_location(self.name, file_path) - if debug: print("file_Path:%s FOUND"%file_path) + if debug: print("file_Path:%s FOUND" % file_path) break elif os.path.isdir(file_package): file_package = os.path.join(file_package, '__init__.py') spec = importlib.util.spec_from_file_location(self.name, file_package) - if debug: print("PACKAGE:%s Found"%file_package) + if debug: print("PACKAGE:%s Found" % file_package) break else: continue if spec is None: - if debug: sys.stderr.write("NO SPEC :%s\n"%self.name) - spec = importlib.util.find_spec("."+self.name, package='SCons.Tool') + if debug: sys.stderr.write("NO SPEC :%s\n" % self.name) + spec = importlib.util.find_spec("." + self.name, package='SCons.Tool') if spec: - found_name = 'SCons.Tool.'+self.name + found_name = 'SCons.Tool.' + self.name add_to_scons_tools_namespace = True - if debug: sys.stderr.write("Spec Found? .%s :%s\n"%(self.name, spec)) + if debug: sys.stderr.write("Spec Found? .%s :%s\n" % (self.name, spec)) if spec is None: - error_string = "No module named %s"%self.name + error_string = "No module named %s" % self.name raise SCons.Errors.EnvironmentError(error_string) module = importlib.util.module_from_spec(spec) if module is None: - if debug: print("MODULE IS NONE:%s"%self.name) - error_string = "No module named %s"%self.name + if debug: print("MODULE IS NONE:%s" % self.name) + error_string = "No module named %s" % self.name raise SCons.Errors.EnvironmentError(error_string) # Don't reload a tool we already loaded. - sys_modules_value = sys.modules.get(found_name,False) + sys_modules_value = sys.modules.get(found_name, False) found_module = None if sys_modules_value and sys_modules_value.__file__ == spec.origin: @@ -243,7 +242,6 @@ def _tool_module(self): sys.path = oldpythonpath return found_module - sys.path = oldpythonpath full_name = 'SCons.Tool.' + self.name @@ -259,11 +257,11 @@ def _tool_module(self): file.close() return module except ImportError as e: - if str(e)!="No module named %s"%self.name: + if str(e) != "No module named %s" % self.name: raise SCons.Errors.EnvironmentError(e) try: import zipimport - importer = zipimport.zipimporter( sys.modules['SCons.Tool'].__path__[0] ) + importer = zipimport.zipimporter(sys.modules['SCons.Tool'].__path__[0]) module = importer.load_module(full_name) setattr(SCons.Tool, self.name, module) return module @@ -284,13 +282,13 @@ def __call__(self, env, *args, **kw): kw.update(call_kw) else: kw = self.init_kw - env.Append(TOOLS = [ self.name ]) + env.Append(TOOLS=[self.name]) if hasattr(self, 'options'): import SCons.Variables if 'options' not in env: from SCons.Script import ARGUMENTS - env['options']=SCons.Variables.Variables(args=ARGUMENTS) - opts=env['options'] + env['options'] = SCons.Variables.Variables(args=ARGUMENTS) + opts = env['options'] self.options(opts) opts.Update(env) @@ -300,6 +298,7 @@ def __call__(self, env, *args, **kw): def __str__(self): return self.name + ########################################################################## # Create common executable program / library / object builders @@ -314,13 +313,13 @@ def createProgBuilder(env): program = env['BUILDERS']['Program'] except KeyError: import SCons.Defaults - program = SCons.Builder.Builder(action = SCons.Defaults.LinkAction, - emitter = '$PROGEMITTER', - prefix = '$PROGPREFIX', - suffix = '$PROGSUFFIX', - src_suffix = '$OBJSUFFIX', - src_builder = 'Object', - target_scanner = ProgramScanner) + program = SCons.Builder.Builder(action=SCons.Defaults.LinkAction, + emitter='$PROGEMITTER', + prefix='$PROGPREFIX', + suffix='$PROGSUFFIX', + src_suffix='$OBJSUFFIX', + src_builder='Object', + target_scanner=ProgramScanner) env['BUILDERS']['Program'] = program return program @@ -336,23 +335,24 @@ def createStaticLibBuilder(env): try: static_lib = env['BUILDERS']['StaticLibrary'] except KeyError: - action_list = [ SCons.Action.Action("$ARCOM", "$ARCOMSTR") ] - if env.get('RANLIB',False) or env.Detect('ranlib'): + action_list = [SCons.Action.Action("$ARCOM", "$ARCOMSTR")] + if env.get('RANLIB', False) or env.Detect('ranlib'): ranlib_action = SCons.Action.Action("$RANLIBCOM", "$RANLIBCOMSTR") action_list.append(ranlib_action) - static_lib = SCons.Builder.Builder(action = action_list, - emitter = '$LIBEMITTER', - prefix = '$LIBPREFIX', - suffix = '$LIBSUFFIX', - src_suffix = '$OBJSUFFIX', - src_builder = 'StaticObject') + static_lib = SCons.Builder.Builder(action=action_list, + emitter='$LIBEMITTER', + prefix='$LIBPREFIX', + suffix='$LIBSUFFIX', + src_suffix='$OBJSUFFIX', + src_builder='StaticObject') env['BUILDERS']['StaticLibrary'] = static_lib env['BUILDERS']['Library'] = static_lib return static_lib -def _call_linker_cb(env, callback, args, result = None): + +def _call_linker_cb(env, callback, args, result=None): """Returns the result of env['LINKCALLBACKS'][callback](*args) if env['LINKCALLBACKS'] is a dictionary and env['LINKCALLBACKS'][callback] is callable. If these conditions are not met, return the value provided as @@ -376,84 +376,109 @@ def _call_linker_cb(env, callback, args, result = None): if Verbose: print('_call_linker_cb: env["LINKCALLBACKS"][%r] found' % callback) print('_call_linker_cb: env["LINKCALLBACKS"][%r]=%r' % (callback, cbfun)) - if(isinstance(cbfun, collections.Callable)): + if isinstance(cbfun, collections.Callable): if Verbose: print('_call_linker_cb: env["LINKCALLBACKS"][%r] is callable' % callback) result = cbfun(env, *args) return result + def _call_env_subst(env, string, *args, **kw): kw2 = {} for k in ('raw', 'target', 'source', 'conv', 'executor'): - try: kw2[k] = kw[k] - except KeyError: pass + try: + kw2[k] = kw[k] + except KeyError: + pass return env.subst(string, *args, **kw2) + class _ShLibInfoSupport(object): def get_libtype(self): return 'ShLib' + def get_lib_prefix(self, env, *args, **kw): - return _call_env_subst(env,'$SHLIBPREFIX', *args, **kw) + return _call_env_subst(env, '$SHLIBPREFIX', *args, **kw) + def get_lib_suffix(self, env, *args, **kw): - return _call_env_subst(env,'$SHLIBSUFFIX', *args, **kw) + return _call_env_subst(env, '$SHLIBSUFFIX', *args, **kw) + def get_lib_version(self, env, *args, **kw): - return _call_env_subst(env,'$SHLIBVERSION', *args, **kw) + return _call_env_subst(env, '$SHLIBVERSION', *args, **kw) + def get_lib_noversionsymlinks(self, env, *args, **kw): - return _call_env_subst(env,'$SHLIBNOVERSIONSYMLINKS', *args, **kw) + return _call_env_subst(env, '$SHLIBNOVERSIONSYMLINKS', *args, **kw) + class _LdModInfoSupport(object): def get_libtype(self): return 'LdMod' + def get_lib_prefix(self, env, *args, **kw): - return _call_env_subst(env,'$LDMODULEPREFIX', *args, **kw) + return _call_env_subst(env, '$LDMODULEPREFIX', *args, **kw) + def get_lib_suffix(self, env, *args, **kw): - return _call_env_subst(env,'$LDMODULESUFFIX', *args, **kw) + return _call_env_subst(env, '$LDMODULESUFFIX', *args, **kw) + def get_lib_version(self, env, *args, **kw): - return _call_env_subst(env,'$LDMODULEVERSION', *args, **kw) + return _call_env_subst(env, '$LDMODULEVERSION', *args, **kw) + def get_lib_noversionsymlinks(self, env, *args, **kw): - return _call_env_subst(env,'$LDMODULENOVERSIONSYMLINKS', *args, **kw) + return _call_env_subst(env, '$LDMODULENOVERSIONSYMLINKS', *args, **kw) + class _ImpLibInfoSupport(object): def get_libtype(self): return 'ImpLib' + def get_lib_prefix(self, env, *args, **kw): - return _call_env_subst(env,'$IMPLIBPREFIX', *args, **kw) + return _call_env_subst(env, '$IMPLIBPREFIX', *args, **kw) + def get_lib_suffix(self, env, *args, **kw): - return _call_env_subst(env,'$IMPLIBSUFFIX', *args, **kw) + return _call_env_subst(env, '$IMPLIBSUFFIX', *args, **kw) + def get_lib_version(self, env, *args, **kw): - version = _call_env_subst(env,'$IMPLIBVERSION', *args, **kw) + version = _call_env_subst(env, '$IMPLIBVERSION', *args, **kw) if not version: - try: lt = kw['implib_libtype'] - except KeyError: pass + try: + lt = kw['implib_libtype'] + except KeyError: + pass else: if lt == 'ShLib': - version = _call_env_subst(env,'$SHLIBVERSION', *args, **kw) + version = _call_env_subst(env, '$SHLIBVERSION', *args, **kw) elif lt == 'LdMod': - version = _call_env_subst(env,'$LDMODULEVERSION', *args, **kw) + version = _call_env_subst(env, '$LDMODULEVERSION', *args, **kw) return version + def get_lib_noversionsymlinks(self, env, *args, **kw): disable = None - try: env['IMPLIBNOVERSIONSYMLINKS'] + try: + env['IMPLIBNOVERSIONSYMLINKS'] except KeyError: - try: lt = kw['implib_libtype'] - except KeyError: pass + try: + lt = kw['implib_libtype'] + except KeyError: + pass else: if lt == 'ShLib': - disable = _call_env_subst(env,'$SHLIBNOVERSIONSYMLINKS', *args, **kw) + disable = _call_env_subst(env, '$SHLIBNOVERSIONSYMLINKS', *args, **kw) elif lt == 'LdMod': - disable = _call_env_subst(env,'$LDMODULENOVERSIONSYMLINKS', *args, **kw) + disable = _call_env_subst(env, '$LDMODULENOVERSIONSYMLINKS', *args, **kw) else: - disable = _call_env_subst(env,'$IMPLIBNOVERSIONSYMLINKS', *args, **kw) + disable = _call_env_subst(env, '$IMPLIBNOVERSIONSYMLINKS', *args, **kw) return disable + class _LibInfoGeneratorBase(object): """Generator base class for library-related info such as suffixes for versioned libraries, symlink maps, sonames etc. It handles commonities of SharedLibrary and LoadableModule """ - _support_classes = { 'ShLib' : _ShLibInfoSupport, - 'LdMod' : _LdModInfoSupport, - 'ImpLib' : _ImpLibInfoSupport } + _support_classes = {'ShLib': _ShLibInfoSupport, + 'LdMod': _LdModInfoSupport, + 'ImpLib': _ImpLibInfoSupport} + def __init__(self, libtype, infoname): self.set_libtype(libtype) self.set_infoname(infoname) @@ -475,37 +500,41 @@ def get_infoname(self): return self.infoname def get_lib_prefix(self, env, *args, **kw): - return self._support.get_lib_prefix(env,*args,**kw) + return self._support.get_lib_prefix(env, *args, **kw) def get_lib_suffix(self, env, *args, **kw): - return self._support.get_lib_suffix(env,*args,**kw) + return self._support.get_lib_suffix(env, *args, **kw) def get_lib_version(self, env, *args, **kw): - return self._support.get_lib_version(env,*args,**kw) + return self._support.get_lib_version(env, *args, **kw) def get_lib_noversionsymlinks(self, env, *args, **kw): - return self._support.get_lib_noversionsymlinks(env,*args,**kw) + return self._support.get_lib_noversionsymlinks(env, *args, **kw) # Returns name of generator linker callback that shall be used to generate # our info for a versioned library. For example, if our libtype is 'ShLib' # and infoname is 'Prefix', it would return 'VersionedShLibPrefix'. def get_versioned_lib_info_generator(self, **kw): - try: libtype = kw['generator_libtype'] - except KeyError: libtype = self.get_libtype() + try: + libtype = kw['generator_libtype'] + except KeyError: + libtype = self.get_libtype() infoname = self.get_infoname() return 'Versioned%s%s' % (libtype, infoname) - def generate_versioned_lib_info(self, env, args, result = None, **kw): + def generate_versioned_lib_info(self, env, args, result=None, **kw): callback = self.get_versioned_lib_info_generator(**kw) return _call_linker_cb(env, callback, args, result) + class _LibPrefixGenerator(_LibInfoGeneratorBase): """Library prefix generator, used as target_prefix in SharedLibrary and LoadableModule builders""" + def __init__(self, libtype): super(_LibPrefixGenerator, self).__init__(libtype, 'Prefix') - def __call__(self, env, sources = None, **kw): + def __call__(self, env, sources=None, **kw): Verbose = False if sources and 'source' not in kw: @@ -514,7 +543,7 @@ def __call__(self, env, sources = None, **kw): else: kw2 = kw - prefix = self.get_lib_prefix(env,**kw2) + prefix = self.get_lib_prefix(env, **kw2) if Verbose: print("_LibPrefixGenerator: input prefix=%r" % prefix) @@ -529,17 +558,20 @@ def __call__(self, env, sources = None, **kw): print("_LibPrefixGenerator: return prefix=%r" % prefix) return prefix -ShLibPrefixGenerator = _LibPrefixGenerator('ShLib') -LdModPrefixGenerator = _LibPrefixGenerator('LdMod') + +ShLibPrefixGenerator = _LibPrefixGenerator('ShLib') +LdModPrefixGenerator = _LibPrefixGenerator('LdMod') ImpLibPrefixGenerator = _LibPrefixGenerator('ImpLib') + class _LibSuffixGenerator(_LibInfoGeneratorBase): """Library suffix generator, used as target_suffix in SharedLibrary and LoadableModule builders""" + def __init__(self, libtype): super(_LibSuffixGenerator, self).__init__(libtype, 'Suffix') - def __call__(self, env, sources = None, **kw): + def __call__(self, env, sources=None, **kw): Verbose = False if sources and 'source' not in kw: @@ -563,13 +595,16 @@ def __call__(self, env, sources = None, **kw): print("_LibSuffixGenerator: return suffix=%r" % suffix) return suffix -ShLibSuffixGenerator = _LibSuffixGenerator('ShLib') -LdModSuffixGenerator = _LibSuffixGenerator('LdMod') + +ShLibSuffixGenerator = _LibSuffixGenerator('ShLib') +LdModSuffixGenerator = _LibSuffixGenerator('LdMod') ImpLibSuffixGenerator = _LibSuffixGenerator('ImpLib') + class _LibSymlinkGenerator(_LibInfoGeneratorBase): """Library symlink map generator. It generates a list of symlinks that should be created by SharedLibrary or LoadableModule builders""" + def __init__(self, libtype): super(_LibSymlinkGenerator, self).__init__(libtype, 'Symlinks') @@ -594,18 +629,20 @@ def __call__(self, env, libnode, **kw): print('_LibSymlinkGenerator: disable=%r' % disable) if version and not disable: - prefix = self.get_lib_prefix(env,**kw2) - suffix = self.get_lib_suffix(env,**kw2) + prefix = self.get_lib_prefix(env, **kw2) + suffix = self.get_lib_suffix(env, **kw2) symlinks = self.generate_versioned_lib_info(env, [libnode, version, prefix, suffix], **kw2) if Verbose: print('_LibSymlinkGenerator: return symlinks=%r' % StringizeLibSymlinks(symlinks)) return symlinks -ShLibSymlinkGenerator = _LibSymlinkGenerator('ShLib') -LdModSymlinkGenerator = _LibSymlinkGenerator('LdMod') + +ShLibSymlinkGenerator = _LibSymlinkGenerator('ShLib') +LdModSymlinkGenerator = _LibSymlinkGenerator('LdMod') ImpLibSymlinkGenerator = _LibSymlinkGenerator('ImpLib') + class _LibNameGenerator(_LibInfoGeneratorBase): """Generates "unmangled" library name from a library file node. @@ -620,6 +657,7 @@ class _LibNameGenerator(_LibInfoGeneratorBase): the _LibNameGenerator shall return "libfoo.so". Other link tools may implement it's own way of library name unmangling. """ + def __init__(self, libtype): super(_LibNameGenerator, self).__init__(libtype, 'Name') @@ -642,8 +680,8 @@ def __call__(self, env, libnode, **kw): name = None if version: - prefix = self.get_lib_prefix(env,**kw2) - suffix = self.get_lib_suffix(env,**kw2) + prefix = self.get_lib_prefix(env, **kw2) + suffix = self.get_lib_suffix(env, **kw2) name = self.generate_versioned_lib_info(env, [libnode, version, prefix, suffix], **kw2) if not name: @@ -654,13 +692,16 @@ def __call__(self, env, libnode, **kw): return name -ShLibNameGenerator = _LibNameGenerator('ShLib') -LdModNameGenerator = _LibNameGenerator('LdMod') + +ShLibNameGenerator = _LibNameGenerator('ShLib') +LdModNameGenerator = _LibNameGenerator('LdMod') ImpLibNameGenerator = _LibNameGenerator('ImpLib') + class _LibSonameGenerator(_LibInfoGeneratorBase): """Library soname generator. Returns library soname (e.g. libfoo.so.0) for a given node (e.g. /foo/bar/libfoo.so.0.1.2)""" + def __init__(self, libtype): super(_LibSonameGenerator, self).__init__(libtype, 'Soname') @@ -679,12 +720,12 @@ def __call__(self, env, libnode, **kw): soname = _call_env_subst(env, '$SONAME', **kw2) if not soname: - version = self.get_lib_version(env,**kw2) + version = self.get_lib_version(env, **kw2) if Verbose: print("_LibSonameGenerator: version=%r" % version) if version: - prefix = self.get_lib_prefix(env,**kw2) - suffix = self.get_lib_suffix(env,**kw2) + prefix = self.get_lib_prefix(env, **kw2) + suffix = self.get_lib_suffix(env, **kw2) soname = self.generate_versioned_lib_info(env, [libnode, version, prefix, suffix], **kw2) if not soname: @@ -698,40 +739,44 @@ def __call__(self, env, libnode, **kw): return soname -ShLibSonameGenerator = _LibSonameGenerator('ShLib') -LdModSonameGenerator = _LibSonameGenerator('LdMod') + +ShLibSonameGenerator = _LibSonameGenerator('ShLib') +LdModSonameGenerator = _LibSonameGenerator('LdMod') + def StringizeLibSymlinks(symlinks): """Converts list with pairs of nodes to list with pairs of node paths (strings). Used mainly for debugging.""" if SCons.Util.is_List(symlinks): try: - return [ (k.get_path(), v.get_path()) for k,v in symlinks ] + return [(k.get_path(), v.get_path()) for k, v in symlinks] except (TypeError, ValueError): return symlinks else: return symlinks + def EmitLibSymlinks(env, symlinks, libnode, **kw): """Used by emitters to handle (shared/versioned) library symlinks""" Verbose = False # nodes involved in process... all symlinks + library - nodes = list(set([ x for x,y in symlinks ] + [libnode])) + nodes = list(set([x for x, y in symlinks] + [libnode])) clean_targets = kw.get('clean_targets', []) if not SCons.Util.is_List(clean_targets): - clean_targets = [ clean_targets ] + clean_targets = [clean_targets] for link, linktgt in symlinks: env.SideEffect(link, linktgt) - if(Verbose): + if (Verbose): print("EmitLibSymlinks: SideEffect(%r,%r)" % (link.get_path(), linktgt.get_path())) clean_list = [x for x in nodes if x != linktgt] env.Clean(list(set([linktgt] + clean_targets)), clean_list) - if(Verbose): + if (Verbose): print("EmitLibSymlinks: Clean(%r,%r)" % (linktgt.get_path(), [x.get_path() for x in clean_list])) + def CreateLibSymlinks(env, symlinks): """Physically creates symlinks. The symlinks argument must be a list in form [ (link, linktarget), ... ], where link and linktarget are SCons @@ -742,38 +787,40 @@ def CreateLibSymlinks(env, symlinks): for link, linktgt in symlinks: linktgt = link.get_dir().rel_path(linktgt) link = link.get_path() - if(Verbose): + if (Verbose): print("CreateLibSymlinks: preparing to add symlink %r -> %r" % (link, linktgt)) # Delete the (previously created) symlink if exists. Let only symlinks # to be deleted to prevent accidental deletion of source files... if env.fs.islink(link): env.fs.unlink(link) - if(Verbose): + if (Verbose): print("CreateLibSymlinks: removed old symlink %r" % link) # If a file or directory exists with the same name as link, an OSError # will be thrown, which should be enough, I think. env.fs.symlink(linktgt, link) - if(Verbose): + if (Verbose): print("CreateLibSymlinks: add symlink %r -> %r" % (link, linktgt)) return 0 + def LibSymlinksActionFunction(target, source, env): for tgt in target: - symlinks = getattr(getattr(tgt,'attributes', None), 'shliblinks', None) + symlinks = getattr(getattr(tgt, 'attributes', None), 'shliblinks', None) if symlinks: CreateLibSymlinks(env, symlinks) return 0 + def LibSymlinksStrFun(target, source, env, *args): cmd = None for tgt in target: - symlinks = getattr(getattr(tgt,'attributes', None), 'shliblinks', None) + symlinks = getattr(getattr(tgt, 'attributes', None), 'shliblinks', None) if symlinks: if cmd is None: cmd = "" if cmd: cmd += "\n" cmd += "Create symlinks for: %r" % tgt.get_path() try: - linkstr = ', '.join([ "%r->%r" %(k,v) for k,v in StringizeLibSymlinks(symlinks)]) + linkstr = ', '.join(["%r->%r" % (k, v) for k, v in StringizeLibSymlinks(symlinks)]) except (KeyError, ValueError): pass else: @@ -795,20 +842,21 @@ def createSharedLibBuilder(env): shared_lib = env['BUILDERS']['SharedLibrary'] except KeyError: import SCons.Defaults - action_list = [ SCons.Defaults.SharedCheck, - SCons.Defaults.ShLinkAction, - LibSymlinksAction ] - shared_lib = SCons.Builder.Builder(action = action_list, - emitter = "$SHLIBEMITTER", - prefix = ShLibPrefixGenerator, - suffix = ShLibSuffixGenerator, - target_scanner = ProgramScanner, - src_suffix = '$SHOBJSUFFIX', - src_builder = 'SharedObject') + action_list = [SCons.Defaults.SharedCheck, + SCons.Defaults.ShLinkAction, + LibSymlinksAction] + shared_lib = SCons.Builder.Builder(action=action_list, + emitter="$SHLIBEMITTER", + prefix=ShLibPrefixGenerator, + suffix=ShLibSuffixGenerator, + target_scanner=ProgramScanner, + src_suffix='$SHOBJSUFFIX', + src_builder='SharedObject') env['BUILDERS']['SharedLibrary'] = shared_lib return shared_lib + def createLoadableModuleBuilder(env): """This is a utility function that creates the LoadableModule Builder in an Environment if it is not there already. @@ -820,20 +868,21 @@ def createLoadableModuleBuilder(env): ld_module = env['BUILDERS']['LoadableModule'] except KeyError: import SCons.Defaults - action_list = [ SCons.Defaults.SharedCheck, - SCons.Defaults.LdModuleLinkAction, - LibSymlinksAction ] - ld_module = SCons.Builder.Builder(action = action_list, - emitter = "$LDMODULEEMITTER", - prefix = LdModPrefixGenerator, - suffix = LdModSuffixGenerator, - target_scanner = ProgramScanner, - src_suffix = '$SHOBJSUFFIX', - src_builder = 'SharedObject') + action_list = [SCons.Defaults.SharedCheck, + SCons.Defaults.LdModuleLinkAction, + LibSymlinksAction] + ld_module = SCons.Builder.Builder(action=action_list, + emitter="$LDMODULEEMITTER", + prefix=LdModPrefixGenerator, + suffix=LdModSuffixGenerator, + target_scanner=ProgramScanner, + src_suffix='$SHOBJSUFFIX', + src_builder='SharedObject') env['BUILDERS']['LoadableModule'] = ld_module return ld_module + def createObjBuilders(env): """This is a utility function that creates the StaticObject and SharedObject Builders in an Environment if they @@ -847,34 +896,34 @@ def createObjBuilders(env): The return is a 2-tuple of (StaticObject, SharedObject) """ - try: static_obj = env['BUILDERS']['StaticObject'] except KeyError: - static_obj = SCons.Builder.Builder(action = {}, - emitter = {}, - prefix = '$OBJPREFIX', - suffix = '$OBJSUFFIX', - src_builder = ['CFile', 'CXXFile'], - source_scanner = SourceFileScanner, - single_source = 1) + static_obj = SCons.Builder.Builder(action={}, + emitter={}, + prefix='$OBJPREFIX', + suffix='$OBJSUFFIX', + src_builder=['CFile', 'CXXFile'], + source_scanner=SourceFileScanner, + single_source=1) env['BUILDERS']['StaticObject'] = static_obj env['BUILDERS']['Object'] = static_obj try: shared_obj = env['BUILDERS']['SharedObject'] except KeyError: - shared_obj = SCons.Builder.Builder(action = {}, - emitter = {}, - prefix = '$SHOBJPREFIX', - suffix = '$SHOBJSUFFIX', - src_builder = ['CFile', 'CXXFile'], - source_scanner = SourceFileScanner, - single_source = 1) + shared_obj = SCons.Builder.Builder(action={}, + emitter={}, + prefix='$SHOBJPREFIX', + suffix='$SHOBJSUFFIX', + src_builder=['CFile', 'CXXFile'], + source_scanner=SourceFileScanner, + single_source=1) env['BUILDERS']['SharedObject'] = shared_obj return (static_obj, shared_obj) + def createCFileBuilders(env): """This is a utility function that creates the CFile/CXXFile Builders in an Environment if they @@ -891,24 +940,25 @@ def createCFileBuilders(env): try: c_file = env['BUILDERS']['CFile'] except KeyError: - c_file = SCons.Builder.Builder(action = {}, - emitter = {}, - suffix = {None:'$CFILESUFFIX'}) + c_file = SCons.Builder.Builder(action={}, + emitter={}, + suffix={None: '$CFILESUFFIX'}) env['BUILDERS']['CFile'] = c_file - env.SetDefault(CFILESUFFIX = '.c') + env.SetDefault(CFILESUFFIX='.c') try: cxx_file = env['BUILDERS']['CXXFile'] except KeyError: - cxx_file = SCons.Builder.Builder(action = {}, - emitter = {}, - suffix = {None:'$CXXFILESUFFIX'}) + cxx_file = SCons.Builder.Builder(action={}, + emitter={}, + suffix={None: '$CXXFILESUFFIX'}) env['BUILDERS']['CXXFile'] = cxx_file - env.SetDefault(CXXFILESUFFIX = '.cc') + env.SetDefault(CXXFILESUFFIX='.cc') return (c_file, cxx_file) + ########################################################################## # Create common Java builders @@ -926,68 +976,73 @@ def CreateJarBuilder(env): except KeyError: fs = SCons.Node.FS.get_default_fs() jar_com = SCons.Action.Action('$JARCOM', '$JARCOMSTR') - java_jar = SCons.Builder.Builder(action = jar_com, - suffix = '$JARSUFFIX', - src_suffix = '$JAVACLASSSUFFIX', - src_builder = 'JavaClassFile', - source_factory = fs.Entry) + java_jar = SCons.Builder.Builder(action=jar_com, + suffix='$JARSUFFIX', + src_suffix='$JAVACLASSSUFFIX', + src_builder='JavaClassFile', + source_factory=fs.Entry) env['BUILDERS']['JarFile'] = java_jar return java_jar + def CreateJavaHBuilder(env): try: java_javah = env['BUILDERS']['JavaH'] except KeyError: fs = SCons.Node.FS.get_default_fs() java_javah_com = SCons.Action.Action('$JAVAHCOM', '$JAVAHCOMSTR') - java_javah = SCons.Builder.Builder(action = java_javah_com, - src_suffix = '$JAVACLASSSUFFIX', - target_factory = fs.Entry, - source_factory = fs.File, - src_builder = 'JavaClassFile') + java_javah = SCons.Builder.Builder(action=java_javah_com, + src_suffix='$JAVACLASSSUFFIX', + target_factory=fs.Entry, + source_factory=fs.File, + src_builder='JavaClassFile') env['BUILDERS']['JavaH'] = java_javah return java_javah + def CreateJavaClassFileBuilder(env): try: java_class_file = env['BUILDERS']['JavaClassFile'] except KeyError: fs = SCons.Node.FS.get_default_fs() javac_com = SCons.Action.Action('$JAVACCOM', '$JAVACCOMSTR') - java_class_file = SCons.Builder.Builder(action = javac_com, - emitter = {}, - #suffix = '$JAVACLASSSUFFIX', - src_suffix = '$JAVASUFFIX', - src_builder = ['JavaFile'], - target_factory = fs.Entry, - source_factory = fs.File) + java_class_file = SCons.Builder.Builder(action=javac_com, + emitter={}, + # suffix = '$JAVACLASSSUFFIX', + src_suffix='$JAVASUFFIX', + src_builder=['JavaFile'], + target_factory=fs.Entry, + source_factory=fs.File) env['BUILDERS']['JavaClassFile'] = java_class_file return java_class_file + def CreateJavaClassDirBuilder(env): try: java_class_dir = env['BUILDERS']['JavaClassDir'] except KeyError: fs = SCons.Node.FS.get_default_fs() javac_com = SCons.Action.Action('$JAVACCOM', '$JAVACCOMSTR') - java_class_dir = SCons.Builder.Builder(action = javac_com, - emitter = {}, - target_factory = fs.Dir, - source_factory = fs.Dir) + java_class_dir = SCons.Builder.Builder(action=javac_com, + emitter={}, + target_factory=fs.Dir, + source_factory=fs.Dir) env['BUILDERS']['JavaClassDir'] = java_class_dir return java_class_dir + def CreateJavaFileBuilder(env): try: java_file = env['BUILDERS']['JavaFile'] except KeyError: - java_file = SCons.Builder.Builder(action = {}, - emitter = {}, - suffix = {None:'$JAVASUFFIX'}) + java_file = SCons.Builder.Builder(action={}, + emitter={}, + suffix={None: '$JAVASUFFIX'}) env['BUILDERS']['JavaFile'] = java_file env['JAVASUFFIX'] = '.java' return java_file + class ToolInitializerMethod(object): """ This is added to a construction environment in place of a @@ -998,6 +1053,7 @@ class ToolInitializerMethod(object): whatever builder was (presumably) added to the construction environment in place of this particular instance. """ + def __init__(self, name, initializer): """ Note: we store the tool name as __name__ so it can be used by @@ -1036,6 +1092,7 @@ def __call__(self, env, *args, **kw): return [], [] return builder(*args, **kw) + class ToolInitializer(object): """ A class for delayed initialization of Tools modules. @@ -1047,6 +1104,7 @@ class ToolInitializer(object): ToolInitializerMethod objects for the various Builder methods that we want to use to delay Tool searches until necessary. """ + def __init__(self, env, tools, names): if not SCons.Util.is_List(tools): tools = [tools] @@ -1087,18 +1145,24 @@ def apply_tools(self, env): # this as we cut over more pre-defined Builder+Tools to use # the ToolInitializer class. + def Initializers(env): ToolInitializer(env, ['install'], ['_InternalInstall', '_InternalInstallAs', '_InternalInstallVersionedLib']) + def Install(self, *args, **kw): return self._InternalInstall(*args, **kw) + def InstallAs(self, *args, **kw): return self._InternalInstallAs(*args, **kw) + def InstallVersionedLib(self, *args, **kw): return self._InternalInstallVersionedLib(*args, **kw) + env.AddMethod(Install) env.AddMethod(InstallAs) env.AddMethod(InstallVersionedLib) + def FindTool(tools, env): for tool in tools: t = Tool(tool) @@ -1106,14 +1170,16 @@ def FindTool(tools, env): return tool return None + def FindAllTools(tools, env): def ToolExists(tool, env=env): return Tool(tool).exists(env) - return list(filter (ToolExists, tools)) -def tool_list(platform, env): + return list(filter(ToolExists, tools)) + - other_plat_tools=[] +def tool_list(platform, env): + other_plat_tools = [] # XXX this logic about what tool to prefer on which platform # should be moved into either the platform files or # the tool files themselves. @@ -1121,21 +1187,21 @@ def tool_list(platform, env): # change these search orders, update the man page as well. if str(platform) == 'win32': "prefer Microsoft tools on Windows" - linkers = ['mslink', 'gnulink', 'ilink', 'linkloc', 'ilink32' ] - c_compilers = ['msvc', 'mingw', 'gcc', 'intelc', 'icl', 'icc', 'cc', 'bcc32' ] - cxx_compilers = ['msvc', 'intelc', 'icc', 'g++', 'cxx', 'bcc32' ] - assemblers = ['masm', 'nasm', 'gas', '386asm' ] + linkers = ['mslink', 'gnulink', 'ilink', 'linkloc', 'ilink32'] + c_compilers = ['msvc', 'mingw', 'gcc', 'intelc', 'icl', 'icc', 'cc', 'bcc32'] + cxx_compilers = ['msvc', 'intelc', 'icc', 'g++', 'cxx', 'bcc32'] + assemblers = ['masm', 'nasm', 'gas', '386asm'] fortran_compilers = ['gfortran', 'g77', 'ifl', 'cvf', 'f95', 'f90', 'fortran'] ars = ['mslib', 'ar', 'tlib'] other_plat_tools = ['msvs', 'midl'] elif str(platform) == 'os2': "prefer IBM tools on OS/2" - linkers = ['ilink', 'gnulink', ]#'mslink'] - c_compilers = ['icc', 'gcc',]# 'msvc', 'cc'] - cxx_compilers = ['icc', 'g++',]# 'msvc', 'cxx'] - assemblers = ['nasm',]# 'masm', 'gas'] + linkers = ['ilink', 'gnulink', ] # 'mslink'] + c_compilers = ['icc', 'gcc', ] # 'msvc', 'cc'] + cxx_compilers = ['icc', 'g++', ] # 'msvc', 'cxx'] + assemblers = ['nasm', ] # 'masm', 'gas'] fortran_compilers = ['ifl', 'g77'] - ars = ['ar',]# 'mslib'] + ars = ['ar', ] # 'mslib'] elif str(platform) == 'irix': "prefer MIPSPro on IRIX" linkers = ['sgilink', 'gnulink'] @@ -1188,11 +1254,11 @@ def tool_list(platform, env): else: "prefer GNU tools on all other platforms" linkers = ['gnulink', 'ilink'] - c_compilers = ['gcc', 'intelc', 'icc', 'cc'] + c_compilers = ['gcc', 'intelc', 'icc', 'cc'] cxx_compilers = ['g++', 'intelc', 'icc', 'cxx'] assemblers = ['gas', 'nasm', 'masm'] fortran_compilers = ['gfortran', 'g77', 'ifort', 'ifl', 'f95', 'f90', 'f77'] - ars = ['ar',] + ars = ['ar', ] if not str(platform) == 'win32': other_plat_tools += ['m4', 'rpm'] @@ -1224,24 +1290,22 @@ def tool_list(platform, env): d_compiler = FindTool(d_compilers, env) or d_compilers[0] other_tools = FindAllTools(other_plat_tools + [ - #TODO: merge 'install' into 'filesystem' and - # make 'filesystem' the default - 'filesystem', - 'wix', #'midl', 'msvs', - # Parser generators - 'lex', 'yacc', - # Foreign function interface - 'rpcgen', 'swig', - # Java - 'jar', 'javac', 'javah', 'rmic', - # TeX - 'dvipdf', 'dvips', 'gs', - 'tex', 'latex', 'pdflatex', 'pdftex', - # Archivers - 'tar', 'zip', - # Text tools - 'textfile', - ], env) + # TODO: merge 'install' into 'filesystem' and + # make 'filesystem' the default + 'filesystem', + 'wix', # 'midl', 'msvs', + # Parser generators + 'lex', 'yacc', + # Foreign function interface + 'rpcgen', 'swig', + # Java + 'jar', 'javac', 'javah', 'rmic', + # TeX + 'dvipdf', 'dvips', 'gs', + 'tex', 'latex', 'pdflatex', 'pdftex', + # Archivers + 'tar', 'zip', + ], env) tools = ([linker, c_compiler, cxx_compiler, fortran_compiler, assembler, ar, d_compiler] @@ -1259,25 +1323,23 @@ def find_program_path(env, key_program, default_paths=[]): :param key_program: Program we're using to locate the directory to add to PATH. """ # First search in the SCons path - path=env.WhereIs(key_program) + path = env.WhereIs(key_program) if (path): return path # then the OS path: - path=SCons.Util.WhereIs(key_program) + path = SCons.Util.WhereIs(key_program) if (path): return path # If that doesn't work try default location for mingw save_path = env['ENV']['PATH'] for p in default_paths: - env.AppendENVPath('PATH',p) + env.AppendENVPath('PATH', p) path = env.WhereIs(key_program) if not path: - env['ENV']['PATH']=save_path + env['ENV']['PATH'] = save_path return path - - # Local Variables: # tab-width:4 # indent-tabs-mode:nil diff --git a/src/engine/SCons/Tool/applelink.py b/src/engine/SCons/Tool/applelink.py index 5a06f9c1ab..af854b7dd3 100644 --- a/src/engine/SCons/Tool/applelink.py +++ b/src/engine/SCons/Tool/applelink.py @@ -1,6 +1,6 @@ """SCons.Tool.applelink -Tool-specific initialization for the Apple gnu-like linker. +Tool-specific initialization for Apple's gnu-like linker. There normally shouldn't be any need to import this module directly. It will usually be imported through the generic SCons.Tool.Tool() @@ -40,6 +40,114 @@ from . import link +class AppleLinkInvalidCurrentVersionException(Exception): + pass + +class AppleLinkInvalidCompatibilityVersionException(Exception): + pass + + +def _applelib_versioned_lib_suffix(env, suffix, version): + """For suffix='.dylib' and version='0.1.2' it returns '.0.1.2.dylib'""" + Verbose = False + if Verbose: + print("_applelib_versioned_lib_suffix: suffix={!r}".format(suffix)) + print("_applelib_versioned_lib_suffix: version={!r}".format(version)) + if version not in suffix: + suffix = "." + version + suffix + if Verbose: + print("_applelib_versioned_lib_suffix: return suffix={!r}".format(suffix)) + return suffix + + +def _applelib_versioned_lib_soname(env, libnode, version, prefix, suffix, name_func): + """For libnode='/optional/dir/libfoo.X.Y.Z.dylib' it returns 'libfoo.X.dylib'""" + Verbose = False + if Verbose: + print("_applelib_versioned_lib_soname: version={!r}".format(version)) + name = name_func(env, libnode, version, prefix, suffix) + if Verbose: + print("_applelib_versioned_lib_soname: name={!r}".format(name)) + major = version.split('.')[0] + (libname,_suffix) = name.split('.') + soname = '.'.join([libname, major, _suffix]) + if Verbose: + print("_applelib_versioned_lib_soname: soname={!r}".format(soname)) + return soname + +def _applelib_versioned_shlib_soname(env, libnode, version, prefix, suffix): + return _applelib_versioned_lib_soname(env, libnode, version, prefix, suffix, link._versioned_shlib_name) + + +# User programmatically describes how SHLIBVERSION maps to values for compat/current. +_applelib_max_version_values = (65535, 255, 255) +def _applelib_check_valid_version(version_string): + """ + Check that the version # is valid. + X[.Y[.Z]] + where X 0-65535 + where Y either not specified or 0-255 + where Z either not specified or 0-255 + :param version_string: + :return: + """ + parts = version_string.split('.') + if len(parts) > 3: + return False, "Version string has too many periods [%s]"%version_string + if len(parts) <= 0: + return False, "Version string unspecified [%s]"%version_string + + for (i, p) in enumerate(parts): + try: + p_i = int(p) + except ValueError: + return False, "Version component %s (from %s) is not a number"%(p, version_string) + if p_i < 0 or p_i > _applelib_max_version_values[i]: + return False, "Version component %s (from %s) is not valid value should be between 0 and %d"%(p, version_string, _applelib_max_version_values[i]) + + return True, "" + + +def _applelib_currentVersionFromSoVersion(source, target, env, for_signature): + """ + -Wl,current_version=2.3 + """ + + if env.get('APPLELINK_CURRENT_VERSION', False): + version_string = env['APPLELINK_CURRENT_VERSION'] + elif env.get('SHLIBVERSION', False): + version_string = env['SHLIBVERSION'] + else: + return "" + + version_string = ".".join(version_string.split('.')[:3]) + + valid, reason = _applelib_check_valid_version(version_string) + if not valid: + raise AppleLinkInvalidCurrentVersionException(reason) + + return "-Wl,-current_version,%s" % version_string + + +def _applelib_compatVersionFromSoVersion(source, target, env, for_signature): + """ + -Wl,compat_version=2.0 + """ + + if env.get('APPLELINK_COMPATIBILITY_VERSION', False): + version_string = env['APPLELINK_COMPATIBILITY_VERSION'] + elif env.get('SHLIBVERSION', False): + version_string = ".".join(env['SHLIBVERSION'].split('.')[:2] + ['0']) + else: + return "" + + valid, reason = _applelib_check_valid_version(version_string) + if not valid: + raise AppleLinkInvalidCompatibilityVersionException(reason) + + return "-Wl,-compatibility_version,%s" % version_string + + def generate(env): """Add Builders and construction variables for applelink to an Environment.""" @@ -54,12 +162,16 @@ def generate(env): env['SHLINKCOM'] = env['SHLINKCOM'] + ' $_FRAMEWORKPATH $_FRAMEWORKS $FRAMEWORKSFLAGS' - # TODO: Work needed to generate versioned shared libraries - # Leaving this commented out, and also going to disable versioned library checking for now # see: http://docstore.mik.ua/orelly/unix3/mac/ch05_04.htm for proper naming - #link._setup_versioned_lib_variables(env, tool = 'applelink')#, use_soname = use_soname) - #env['LINKCALLBACKS'] = link._versioned_lib_callbacks() + link._setup_versioned_lib_variables(env, tool = 'applelink')#, use_soname = use_soname) + env['LINKCALLBACKS'] = link._versioned_lib_callbacks() + env['LINKCALLBACKS']['VersionedShLibSuffix'] = _applelib_versioned_lib_suffix + env['LINKCALLBACKS']['VersionedShLibSoname'] = _applelib_versioned_shlib_soname + env['_APPLELINK_CURRENT_VERSION'] = _applelib_currentVersionFromSoVersion + env['_APPLELINK_COMPATIBILITY_VERSION'] = _applelib_compatVersionFromSoVersion + env['_SHLIBVERSIONFLAGS'] = '$_APPLELINK_CURRENT_VERSION $_APPLELINK_COMPATIBILITY_VERSION ' + env['_LDMODULEVERSIONFLAGS'] = '$_APPLELINK_CURRENT_VERSION $_APPLELINK_COMPATIBILITY_VERSION ' # override the default for loadable modules, which are different # on OS X than dynamic shared libs. echoing what XCode does for @@ -69,6 +181,11 @@ def generate(env): env['LDMODULEFLAGS'] = SCons.Util.CLVar('$LINKFLAGS -bundle') env['LDMODULECOM'] = '$LDMODULE -o ${TARGET} $LDMODULEFLAGS $SOURCES $_LIBDIRFLAGS $_LIBFLAGS $_FRAMEWORKPATH $_FRAMEWORKS $FRAMEWORKSFLAGS' + # + env['__SHLIBVERSIONFLAGS'] = '${__libversionflags(__env__,"SHLIBVERSION","_SHLIBVERSIONFLAGS")}' + + + def exists(env): return env['PLATFORM'] == 'darwin' diff --git a/src/engine/SCons/Tool/applelink.xml b/src/engine/SCons/Tool/applelink.xml index 5e5571f652..c3346db747 100644 --- a/src/engine/SCons/Tool/applelink.xml +++ b/src/engine/SCons/Tool/applelink.xml @@ -7,149 +7,186 @@ See its __doc__ string for a discussion of the format. --> -%scons; - -%builders-mod; - -%functions-mod; - -%tools-mod; - -%variables-mod; -]> + + %scons; + + %builders-mod; + + %functions-mod; + + %tools-mod; + + %variables-mod; + ]> - - - -Sets construction variables for the Apple linker -(similar to the GNU linker). - - - -FRAMEWORKPATHPREFIX -_FRAMEWORKPATH -_FRAMEWORKS -LINKCOM -SHLINKFLAGS -SHLINKCOM -LDMODULEPREFIX -LDMODULESUFFIX -LDMODULEFLAGS -LDMODULECOM - - -FRAMEWORKSFLAGS - - - -"> - - -On Mac OS X with gcc, -general user-supplied frameworks options to be added at -the end of a command -line building a loadable module. -(This has been largely superseded by -the &cv-link-FRAMEWORKPATH;, &cv-link-FRAMEWORKPATHPREFIX;, -&cv-link-FRAMEWORKPREFIX; and &cv-link-FRAMEWORKS; variables -described above.) - - - - - - - -On Mac OS X with gcc, a list of the framework names to be linked into a -program or shared library or bundle. -The default value is the empty list. -For example: - - - - env.AppendUnique(FRAMEWORKS=Split('System Cocoa SystemConfiguration')) - - - - - - - - -On Mac OS X with gcc, -the prefix to be used for linking in frameworks -(see &cv-link-FRAMEWORKS;). -The default value is -. - - - - - - - -On Mac OS X with gcc, -an automatically-generated construction variable -containing the linker command-line options -for linking with FRAMEWORKS. - - - - - - - -On Mac OS X with gcc, -a list containing the paths to search for frameworks. -Used by the compiler to find framework-style includes like -#include <Fmwk/Header.h>. -Used by the linker to find user-specified frameworks when linking (see -&cv-link-FRAMEWORKS;). -For example: - - - - env.AppendUnique(FRAMEWORKPATH='#myframeworkdir') - - - -will add - - - - ... -Fmyframeworkdir - - - -to the compiler and linker command lines. - - - - - - - -On Mac OS X with gcc, the prefix to be used for the FRAMEWORKPATH entries. -(see &cv-link-FRAMEWORKPATH;). -The default value is -. - - - - - - - -On Mac OS X with gcc, an automatically-generated construction variable -containing the linker command-line options corresponding to -&cv-link-FRAMEWORKPATH;. - - - + + + + Sets construction variables for the Apple linker + (similar to the GNU linker). + + + + FRAMEWORKPATHPREFIX + _FRAMEWORKPATH + _FRAMEWORKS + LINKCOM + SHLINKFLAGS + SHLINKCOM + LDMODULEPREFIX + LDMODULESUFFIX + LDMODULEFLAGS + LDMODULECOM + APPLELINK_CURRENT_VERSION + APPLELINK_COMPATIBILITY_VERSION + + + FRAMEWORKSFLAGS + + + + + + + + On Mac OS X this is used to set the linker flag: + + -compatibility_version + + + The value is specified as X[.Y[.Z]] where X is between 1 and 65535, Y can be omitted or between 1 and + 255, Z can be omitted or between 1 and 255. This value will be derived from &cv-link-SHLIBVERSION; if not + specified. The lowest digit will be dropped and replaced by a 0. + + See MacOS's ld manpage for more details + + + + + + + + On Mac OS X this is used to set the linker flag: + + -current_version + + + The value is specified as X[.Y[.Z]] where X is between 1 and 65535, Y can be omitted or between 1 and + 255, Z can be omitted or between 1 and 255. This value will be set to &cv-link-SHLIBVERSION; if not + specified. + + See MacOS's ld manpage for more details + + + + + "> + + + On Mac OS X with gcc, + general user-supplied frameworks options to be added at + the end of a command + line building a loadable module. + (This has been largely superseded by + the &cv-link-FRAMEWORKPATH;, &cv-link-FRAMEWORKPATHPREFIX;, + &cv-link-FRAMEWORKPREFIX; and &cv-link-FRAMEWORKS; variables + described above.) + + + + + + + + On Mac OS X with gcc, a list of the framework names to be linked into a + program or shared library or bundle. + The default value is the empty list. + For example: + + + + env.AppendUnique(FRAMEWORKS=Split('System Cocoa SystemConfiguration')) + + + + + + + + + On Mac OS X with gcc, + the prefix to be used for linking in frameworks + (see &cv-link-FRAMEWORKS;). + The default value is + . + + + + + + + + On Mac OS X with gcc, + an automatically-generated construction variable + containing the linker command-line options + for linking with FRAMEWORKS. + + + + + + + + On Mac OS X with gcc, + a list containing the paths to search for frameworks. + Used by the compiler to find framework-style includes like + #include <Fmwk/Header.h>. + Used by the linker to find user-specified frameworks when linking (see + &cv-link-FRAMEWORKS;). + For example: + + + + env.AppendUnique(FRAMEWORKPATH='#myframeworkdir') + + + + will add + + + + ... -Fmyframeworkdir + + + + to the compiler and linker command lines. + + + + + + + + On Mac OS X with gcc, the prefix to be used for the FRAMEWORKPATH entries. + (see &cv-link-FRAMEWORKPATH;). + The default value is + . + + + + + + + + On Mac OS X with gcc, an automatically-generated construction variable + containing the linker command-line options corresponding to + &cv-link-FRAMEWORKPATH;. + + + diff --git a/src/engine/SCons/Tool/gcc.py b/src/engine/SCons/Tool/gcc.py index 998e35b274..fabcc9697f 100644 --- a/src/engine/SCons/Tool/gcc.py +++ b/src/engine/SCons/Tool/gcc.py @@ -42,6 +42,7 @@ compilers = ['gcc', 'cc'] + def generate(env): """Add Builders and construction variables for gcc to an Environment.""" @@ -59,26 +60,28 @@ def generate(env): if version: env['CCVERSION'] = version + def exists(env): # is executable, and is a GNU compiler (or accepts '--version' at least) return detect_version(env, env.Detect(env.get('CC', compilers))) + def detect_version(env, cc): """Return the version of the GNU compiler, or None if it is not a GNU compiler.""" cc = env.subst(cc) if not cc: return None version = None - #pipe = SCons.Action._subproc(env, SCons.Util.CLVar(cc) + ['-dumpversion'], + # pipe = SCons.Action._subproc(env, SCons.Util.CLVar(cc) + ['-dumpversion'], pipe = SCons.Action._subproc(env, SCons.Util.CLVar(cc) + ['--version'], - stdin = 'devnull', - stderr = 'devnull', - stdout = subprocess.PIPE) + stdin='devnull', + stderr='devnull', + stdout=subprocess.PIPE) # -dumpversion was added in GCC 3.0. As long as we're supporting # GCC versions older than that, we should use --version and a # regular expression. - #line = pipe.stdout.read().strip() - #if line: + # line = pipe.stdout.read().strip() + # if line: # version = line line = SCons.Util.to_str(pipe.stdout.readline()) match = re.search(r'[0-9]+(\.[0-9]+)+', line) diff --git a/src/engine/SCons/Tool/gxx.py b/src/engine/SCons/Tool/gxx.py index 574fd8eb9e..4b86327eaf 100644 --- a/src/engine/SCons/Tool/gxx.py +++ b/src/engine/SCons/Tool/gxx.py @@ -45,12 +45,13 @@ compilers = ['g++'] + def generate(env): """Add Builders and construction variables for g++ to an Environment.""" static_obj, shared_obj = SCons.Tool.createObjBuilders(env) if 'CXX' not in env: - env['CXX'] = env.Detect(compilers) or compilers[0] + env['CXX'] = env.Detect(compilers) or compilers[0] cxx.generate(env) @@ -68,6 +69,7 @@ def generate(env): if version: env['CXXVERSION'] = version + def exists(env): # is executable, and is a GNU compiler (or accepts '--version' at least) return gcc.detect_version(env, env.Detect(env.get('CXX', compilers))) diff --git a/src/engine/SCons/Tool/link.py b/src/engine/SCons/Tool/link.py index 07e92507f2..5adc6ca2c5 100644 --- a/src/engine/SCons/Tool/link.py +++ b/src/engine/SCons/Tool/link.py @@ -1,4 +1,3 @@ - """SCons.Tool.link Tool-specific initialization for the generic Posix linker. @@ -47,22 +46,21 @@ from SCons.Tool.DCommon import isD -import SCons.Tool.cxx -cplusplus = SCons.Tool.cxx -# cplusplus = __import__(__package__+'.cxx', globals(), locals(), ['*']) +from SCons.Tool.cxx import iscplusplus issued_mixed_link_warning = False + def smart_link(source, target, env, for_signature): - has_cplusplus = cplusplus.iscplusplus(source) + has_cplusplus = iscplusplus(source) has_fortran = isfortran(env, source) has_d = isD(env, source) if has_cplusplus and has_fortran and not has_d: global issued_mixed_link_warning if not issued_mixed_link_warning: msg = "Using $CXX to link Fortran and C++ code together.\n\t" + \ - "This may generate a buggy executable if the '%s'\n\t" + \ - "compiler does not know how to deal with Fortran runtimes." + "This may generate a buggy executable if the '%s'\n\t" + \ + "compiler does not know how to deal with Fortran runtimes." SCons.Warnings.warn(SCons.Warnings.FortranCxxMixWarning, msg % env.subst('$CXX')) issued_mixed_link_warning = True @@ -77,10 +75,11 @@ def smart_link(source, target, env, for_signature): return '$CXX' return '$CC' + def _lib_emitter(target, source, env, **kw): Verbose = False if Verbose: - print("_lib_emitter: target[0]={:r}".format(target[0].get_path())) + print("_lib_emitter: target[0]={!r}".format(target[0].get_path())) for tgt in target: tgt.attributes.shared = 1 @@ -90,21 +89,24 @@ def _lib_emitter(target, source, env, **kw): pass else: if Verbose: - print("_lib_emitter: symlink_generator={:r}".format(symlink_generator)) + print("_lib_emitter: symlink_generator={!r}".format(symlink_generator)) symlinks = symlink_generator(env, target[0]) if Verbose: - print("_lib_emitter: symlinks={:r}".format(symlinks)) + print("_lib_emitter: symlinks={!r}".format(symlinks)) if symlinks: SCons.Tool.EmitLibSymlinks(env, symlinks, target[0]) target[0].attributes.shliblinks = symlinks return (target, source) + def shlib_emitter(target, source, env): - return _lib_emitter(target, source, env, symlink_generator = SCons.Tool.ShLibSymlinkGenerator) + return _lib_emitter(target, source, env, symlink_generator=SCons.Tool.ShLibSymlinkGenerator) + def ldmod_emitter(target, source, env): - return _lib_emitter(target, source, env, symlink_generator = SCons.Tool.LdModSymlinkGenerator) + return _lib_emitter(target, source, env, symlink_generator=SCons.Tool.LdModSymlinkGenerator) + # This is generic enough to be included here... def _versioned_lib_name(env, libnode, version, prefix, suffix, prefix_generator, suffix_generator, **kw): @@ -112,98 +114,107 @@ def _versioned_lib_name(env, libnode, version, prefix, suffix, prefix_generator, Verbose = False if Verbose: - print("_versioned_lib_name: libnode={:r}".format(libnode.get_path())) - print("_versioned_lib_name: version={:r}".format(version)) - print("_versioned_lib_name: prefix={:r}".format(prefix)) - print("_versioned_lib_name: suffix={:r}".format(suffix)) - print("_versioned_lib_name: suffix_generator={:r}".format(suffix_generator)) + print("_versioned_lib_name: libnode={!r}".format(libnode.get_path())) + print("_versioned_lib_name: version={!r}".format(version)) + print("_versioned_lib_name: prefix={!r}".format(prefix)) + print("_versioned_lib_name: suffix={!r}".format(suffix)) + print("_versioned_lib_name: suffix_generator={!r}".format(suffix_generator)) versioned_name = os.path.basename(libnode.get_path()) if Verbose: - print("_versioned_lib_name: versioned_name={:r}".format(versioned_name)) + print("_versioned_lib_name: versioned_name={!r}".format(versioned_name)) versioned_prefix = prefix_generator(env, **kw) versioned_suffix = suffix_generator(env, **kw) if Verbose: - print("_versioned_lib_name: versioned_prefix={:r}".format(versioned_prefix)) - print("_versioned_lib_name: versioned_suffix={:r}".format(versioned_suffix)) + print("_versioned_lib_name: versioned_prefix={!r}".format(versioned_prefix)) + print("_versioned_lib_name: versioned_suffix={!r}".format(versioned_suffix)) versioned_prefix_re = '^' + re.escape(versioned_prefix) versioned_suffix_re = re.escape(versioned_suffix) + '$' name = re.sub(versioned_prefix_re, prefix, versioned_name) name = re.sub(versioned_suffix_re, suffix, name) if Verbose: - print("_versioned_lib_name: name={:r}".format(name)) + print("_versioned_lib_name: name={!r}".format(name)) return name + def _versioned_shlib_name(env, libnode, version, prefix, suffix, **kw): - pg = SCons.Tool.ShLibPrefixGenerator - sg = SCons.Tool.ShLibSuffixGenerator - return _versioned_lib_name(env, libnode, version, prefix, suffix, pg, sg, **kw) + prefix_generator = SCons.Tool.ShLibPrefixGenerator + suffix_generator = SCons.Tool.ShLibSuffixGenerator + return _versioned_lib_name(env, libnode, version, prefix, suffix, prefix_generator, suffix_generator, **kw) + def _versioned_ldmod_name(env, libnode, version, prefix, suffix, **kw): - pg = SCons.Tool.LdModPrefixGenerator - sg = SCons.Tool.LdModSuffixGenerator - return _versioned_lib_name(env, libnode, version, prefix, suffix, pg, sg, **kw) + prefix_generator = SCons.Tool.LdModPrefixGenerator + suffix_generator = SCons.Tool.LdModSuffixGenerator + return _versioned_lib_name(env, libnode, version, prefix, suffix, prefix_generator, suffix_generator, **kw) + def _versioned_lib_suffix(env, suffix, version): """For suffix='.so' and version='0.1.2' it returns '.so.0.1.2'""" Verbose = False if Verbose: - print("_versioned_lib_suffix: suffix={:r}".format(suffix)) - print("_versioned_lib_suffix: version={:r}".format(version)) + print("_versioned_lib_suffix: suffix={!r}".format(suffix)) + print("_versioned_lib_suffix: version={!r}".format(version)) if not suffix.endswith(version): suffix = suffix + '.' + version if Verbose: - print("_versioned_lib_suffix: return suffix={:r}".format(suffix)) + print("_versioned_lib_suffix: return suffix={!r}".format(suffix)) return suffix + def _versioned_lib_soname(env, libnode, version, prefix, suffix, name_func): """For libnode='/optional/dir/libfoo.so.X.Y.Z' it returns 'libfoo.so.X'""" Verbose = False if Verbose: - print("_versioned_lib_soname: version={:r}".format(version)) + print("_versioned_lib_soname: version={!r}".format(version)) name = name_func(env, libnode, version, prefix, suffix) if Verbose: - print("_versioned_lib_soname: name={:r}".format(name)) + print("_versioned_lib_soname: name={!r}".format(name)) major = version.split('.')[0] soname = name + '.' + major if Verbose: - print("_versioned_lib_soname: soname={:r}".format(soname)) + print("_versioned_lib_soname: soname={!r}".format(soname)) return soname + def _versioned_shlib_soname(env, libnode, version, prefix, suffix): return _versioned_lib_soname(env, libnode, version, prefix, suffix, _versioned_shlib_name) + def _versioned_ldmod_soname(env, libnode, version, prefix, suffix): return _versioned_lib_soname(env, libnode, version, prefix, suffix, _versioned_ldmod_name) + def _versioned_lib_symlinks(env, libnode, version, prefix, suffix, name_func, soname_func): - """Generate link names that should be created for a versioned shared lirbrary. + """Generate link names that should be created for a versioned shared library. Returns a dictionary in the form { linkname : linktarget } """ Verbose = False if Verbose: - print("_versioned_lib_symlinks: libnode={:r}".format(libnode.get_path())) - print("_versioned_lib_symlinks: version={:r}".format(version)) + print("_versioned_lib_symlinks: libnode={!r}".format(libnode.get_path())) + print("_versioned_lib_symlinks: version={!r}".format(version)) if sys.platform.startswith('openbsd'): # OpenBSD uses x.y shared library versioning numbering convention # and doesn't use symlinks to backwards-compatible libraries if Verbose: - print("_versioned_lib_symlinks: return symlinks={:r}".format(None)) + print("_versioned_lib_symlinks: return symlinks={!r}".format(None)) return None linkdir = libnode.get_dir() if Verbose: - print("_versioned_lib_symlinks: linkdir={:r}".format(linkdir.get_path())) + print("_versioned_lib_symlinks: linkdir={!r}".format(linkdir.get_path())) name = name_func(env, libnode, version, prefix, suffix) if Verbose: - print("_versioned_lib_symlinks: name={:r}".format(name)) + print("_versioned_lib_symlinks: name={!r}".format(name)) soname = soname_func(env, libnode, version, prefix, suffix) + if Verbose: + print("_versioned_lib_symlinks: soname={!r}".format(soname)) link0 = env.fs.File(soname, linkdir) link1 = env.fs.File(name, linkdir) @@ -211,50 +222,63 @@ def _versioned_lib_symlinks(env, libnode, version, prefix, suffix, name_func, so # We create direct symlinks, not daisy-chained. if link0 == libnode: # This enables SHLIBVERSION without periods (e.g. SHLIBVERSION=1) - symlinks = [ (link1, libnode) ] + symlinks = [(link1, libnode)] else: # This handles usual SHLIBVERSION, i.e. '1.2', '1.2.3', etc. - symlinks = [ (link0, libnode), (link1, libnode) ] + symlinks = [(link0, libnode), (link1, libnode)] if Verbose: - print("_versioned_lib_symlinks: return symlinks={:r}".format(SCons.Tool.StringizeLibSymlinks(symlinks))) + print("_versioned_lib_symlinks: return symlinks={!r}".format(SCons.Tool.StringizeLibSymlinks(symlinks))) return symlinks + def _versioned_shlib_symlinks(env, libnode, version, prefix, suffix): - nf = _versioned_shlib_name - sf = _versioned_shlib_soname - return _versioned_lib_symlinks(env, libnode, version, prefix, suffix, nf, sf) + name_func = env['LINKCALLBACKS']['VersionedShLibName'] + soname_func = env['LINKCALLBACKS']['VersionedShLibSoname'] + + return _versioned_lib_symlinks(env, libnode, version, prefix, suffix, name_func, soname_func) + def _versioned_ldmod_symlinks(env, libnode, version, prefix, suffix): - nf = _versioned_ldmod_name - sf = _versioned_ldmod_soname - return _versioned_lib_symlinks(env, libnode, version, prefix, suffix, nf, sf) + name_func = _versioned_ldmod_name + soname_func = _versioned_ldmod_soname + + name_func = env['LINKCALLBACKS']['VersionedLdModName'] + soname_func = env['LINKCALLBACKS']['VersionedLdModSoname'] + + return _versioned_lib_symlinks(env, libnode, version, prefix, suffix, name_func, soname_func) + def _versioned_lib_callbacks(): return { - 'VersionedShLibSuffix' : _versioned_lib_suffix, - 'VersionedLdModSuffix' : _versioned_lib_suffix, - 'VersionedShLibSymlinks' : _versioned_shlib_symlinks, - 'VersionedLdModSymlinks' : _versioned_ldmod_symlinks, - 'VersionedShLibName' : _versioned_shlib_name, - 'VersionedLdModName' : _versioned_ldmod_name, - 'VersionedShLibSoname' : _versioned_shlib_soname, - 'VersionedLdModSoname' : _versioned_ldmod_soname, + 'VersionedShLibSuffix': _versioned_lib_suffix, + 'VersionedLdModSuffix': _versioned_lib_suffix, + 'VersionedShLibSymlinks': _versioned_shlib_symlinks, + 'VersionedLdModSymlinks': _versioned_ldmod_symlinks, + 'VersionedShLibName': _versioned_shlib_name, + 'VersionedLdModName': _versioned_ldmod_name, + 'VersionedShLibSoname': _versioned_shlib_soname, + 'VersionedLdModSoname': _versioned_ldmod_soname, }.copy() + def _setup_versioned_lib_variables(env, **kw): """ Setup all variables required by the versioning machinery """ tool = None - try: tool = kw['tool'] - except KeyError: pass + try: + tool = kw['tool'] + except KeyError: + pass use_soname = False - try: use_soname = kw['use_soname'] - except KeyError: pass + try: + use_soname = kw['use_soname'] + except KeyError: + pass # The $_SHLIBVERSIONFLAGS define extra commandline flags used when # building VERSIONED shared libraries. It's always set, but used only @@ -284,22 +308,25 @@ def generate(env): SCons.Tool.createSharedLibBuilder(env) SCons.Tool.createProgBuilder(env) - env['SHLINK'] = '$LINK' + env['SHLINK'] = '$LINK' env['SHLINKFLAGS'] = SCons.Util.CLVar('$LINKFLAGS -shared') - env['SHLINKCOM'] = '$SHLINK -o $TARGET $SHLINKFLAGS $__SHLIBVERSIONFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS' - # don't set up the emitter, cause AppendUnique will generate a list + env['SHLINKCOM'] = '$SHLINK -o $TARGET $SHLINKFLAGS $__SHLIBVERSIONFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS' + + # don't set up the emitter, because AppendUnique will generate a list # starting with None :-( - env.Append(SHLIBEMITTER = [shlib_emitter]) - env['SMARTLINK'] = smart_link - env['LINK'] = "$SMARTLINK" - env['LINKFLAGS'] = SCons.Util.CLVar('') + env.Append(SHLIBEMITTER=[shlib_emitter]) + + env['SMARTLINK'] = smart_link + env['LINK'] = "$SMARTLINK" + env['LINKFLAGS'] = SCons.Util.CLVar('') + # __RPATH is only set to something ($_RPATH typically) on platforms that support it. - env['LINKCOM'] = '$LINK -o $TARGET $LINKFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS' - env['LIBDIRPREFIX']='-L' - env['LIBDIRSUFFIX']='' - env['_LIBFLAGS']='${_stripixes(LIBLINKPREFIX, LIBS, LIBLINKSUFFIX, LIBPREFIXES, LIBSUFFIXES, __env__)}' - env['LIBLINKPREFIX']='-l' - env['LIBLINKSUFFIX']='' + env['LINKCOM'] = '$LINK -o $TARGET $LINKFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS' + env['LIBDIRPREFIX'] = '-L' + env['LIBDIRSUFFIX'] = '' + env['_LIBFLAGS'] = '${_stripixes(LIBLINKPREFIX, LIBS, LIBLINKSUFFIX, LIBPREFIXES, LIBSUFFIXES, __env__)}' + env['LIBLINKPREFIX'] = '-l' + env['LIBLINKSUFFIX'] = '' if env['PLATFORM'] == 'hpux': env['SHLIBSUFFIX'] = '.sl' @@ -311,14 +338,16 @@ def generate(env): # setting them the same means that LoadableModule works everywhere. SCons.Tool.createLoadableModuleBuilder(env) env['LDMODULE'] = '$SHLINK' - env.Append(LDMODULEEMITTER = [ldmod_emitter]) + env.Append(LDMODULEEMITTER=[ldmod_emitter]) env['LDMODULEPREFIX'] = '$SHLIBPREFIX' env['LDMODULESUFFIX'] = '$SHLIBSUFFIX' env['LDMODULEFLAGS'] = '$SHLINKFLAGS' - env['LDMODULECOM'] = '$LDMODULE -o $TARGET $LDMODULEFLAGS $__LDMODULEVERSIONFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS' + env[ + 'LDMODULECOM'] = '$LDMODULE -o $TARGET $LDMODULEFLAGS $__LDMODULEVERSIONFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS' env['LDMODULEVERSION'] = '$SHLIBVERSION' env['LDMODULENOVERSIONSYMLINKS'] = '$SHLIBNOVERSIONSYMLINKS' + def exists(env): # This module isn't really a Tool on its own, it's common logic for # other linkers. diff --git a/test/LINK/SHLIBVERSIONFLAGS.py b/test/LINK/SHLIBVERSIONFLAGS.py index aae8843b38..9d91868d39 100644 --- a/test/LINK/SHLIBVERSIONFLAGS.py +++ b/test/LINK/SHLIBVERSIONFLAGS.py @@ -42,6 +42,8 @@ versionflags = r".+ -Wl,-Bsymbolic -Wl,-soname=libfoo.so.1( .+)+" elif 'sunlink' in tool_list: versionflags = r".+ -h libfoo.so.1( .+)+" +elif 'applelink' in tool_list: + versionflags = r".+ -dynamiclib -Wl,-current_version,1.2.3 -Wl,-compatibility_version,1.2.0( .+)+" else: test.skip_test('No testable linkers found, skipping the test\n') diff --git a/test/LINK/VersionedLib-VariantDir.py b/test/LINK/VersionedLib-VariantDir.py index 340fee0c4d..4a5ac40180 100644 --- a/test/LINK/VersionedLib-VariantDir.py +++ b/test/LINK/VersionedLib-VariantDir.py @@ -37,12 +37,6 @@ test = TestSCons.TestSCons() -import sys -if sys.platform == 'darwin': - # Skipping until logic is fixed for macosx - test.skip_test("Not working on darwin yet\n") - - env = SCons.Defaults.DefaultEnvironment() platform = SCons.Platform.platform_default() tool_list = SCons.Platform.DefaultToolList(platform, env) diff --git a/test/LINK/VersionedLib-j2.py b/test/LINK/VersionedLib-j2.py index ed3b7ff307..0cde91c56d 100644 --- a/test/LINK/VersionedLib-j2.py +++ b/test/LINK/VersionedLib-j2.py @@ -39,11 +39,6 @@ test = TestSCons.TestSCons() -if sys.platform == 'darwin': - # Skipping until logic is fixed for macosx - test.skip_test("Not working on darwin yet\n") - - test.write('foo.c', """ #if _WIN32 __declspec(dllexport) diff --git a/test/LINK/VersionedLib-subdir.py b/test/LINK/VersionedLib-subdir.py index 2271a54682..66fef63adb 100644 --- a/test/LINK/VersionedLib-subdir.py +++ b/test/LINK/VersionedLib-subdir.py @@ -41,11 +41,6 @@ test = TestSCons.TestSCons() -if sys.platform == 'darwin': - # Skipping until logic is fixed for macosx - test.skip_test("Not working on darwin yet\n") - - test.write('foo.c', """ #if _WIN32 __declspec(dllexport) diff --git a/test/LINK/VersionedLib.py b/test/LINK/VersionedLib.py index c05c159133..468e3e5729 100644 --- a/test/LINK/VersionedLib.py +++ b/test/LINK/VersionedLib.py @@ -33,12 +33,6 @@ import SCons.Platform import SCons.Defaults -import sys -if sys.platform == 'darwin': - # Skipping until logic is fixed for macosx - test = TestSCons.TestSCons() - test.skip_test("Not working on darwin yet\n") - env = SCons.Defaults.DefaultEnvironment() platform = SCons.Platform.platform_default() tool_list = SCons.Platform.DefaultToolList(platform, env) diff --git a/test/LINK/applelink.py b/test/LINK/applelink.py index 3419fc1398..f48a4988d3 100644 --- a/test/LINK/applelink.py +++ b/test/LINK/applelink.py @@ -24,41 +24,69 @@ __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" -import os +import sys import TestSCons _python_ = TestSCons._python_ -_exe = TestSCons._exe +_exe = TestSCons._exe test = TestSCons.TestSCons() - -test.write('foo.c', r""" -#include -#include -int -main(int argc, char *argv[]) -{ - argv[argc++] = "--"; - printf("foo.c\n"); - exit (0); -} -""") +# test.verbose_set(1) # Test issue # 2580 -test.write('SConstruct', """ -DefaultEnvironment(tools=[]) -env = Environment(PLATFORM='darwin') -env.Object( - target = '#foo.o', - source = ['foo.c'], - FRAMEWORKS = ['Ogre'], - FRAMEWORKPATH = ['#frameworks'] -) -""" % locals()) - -test.run(arguments='-Q -n', stdout='gcc -o foo.o -c -Fframeworks foo.c\n') +test.dir_fixture('applelink_image') +test.run(arguments='-f SConstruct_gh2580 -Q -n', stdout='gcc -o foo.o -c -Fframeworks foo.c\n') + +# Now test combinations of SHLIBVERSION, APPLELINK_CURRENT_VERSION, APPLELINK_COMPATIBILITY_VERSION + +if sys.platform == 'darwin': + extra_flags = '' +else: + extra_flags = ' -n ' + +for SHLIBVERSION, APPLELINK_CURRENT_VERSION, APPLELINK_COMPATIBILITY_VERSION, should_error in [ + ('1.2.3', '', '', False), + ('1.2.3', '9.9.9', '9.9.0', False), + ('99999.2.3', '', '', 'AppleLinkInvalidCurrentVersionException'), + ('1.2.3', '9.9.999', '9.9.0', 'AppleLinkInvalidCurrentVersionException'), + ('1.2.3', '9.9.9', '9.999.0', 'AppleLinkInvalidCompatibilityVersionException'), + ('1.2.3', '9.9.9', '99999.99.0', 'AppleLinkInvalidCompatibilityVersionException'), +]: + if not APPLELINK_CURRENT_VERSION: + APPLELINK_CURRENT_VERSION = SHLIBVERSION + if not APPLELINK_COMPATIBILITY_VERSION: + APPLELINK_COMPATIBILITY_VERSION = '.'.join(APPLELINK_CURRENT_VERSION.split('.', 2)[:2] + ['0']) + + if not should_error: + expected_stdout = r"^.+ -dynamiclib -Wl,-current_version,{APPLELINK_CURRENT_VERSION} -Wl,-compatibility_version,{APPLELINK_COMPATIBILITY_VERSION}.+".format( + **locals()) + expected_stderr = None + expected_status = 0 + else: + expected_stdout = None + expected_stderr = r"^.+{should_error}.+".format(**locals()) + expected_status = 2 + + test.run( + arguments='{extra_flags} -f SConstruct_CurVers_CompatVers SHLIBVERSION={SHLIBVERSION} APPLELINK_CURRENT_VERSION={APPLELINK_CURRENT_VERSION} APPLELINK_COMPATIBILITY_VERSION={APPLELINK_COMPATIBILITY_VERSION}'.format( + **locals()), + stdout=expected_stdout, + stderr=expected_stderr, + match=TestSCons.match_re_dotall, + status=expected_status) + + if not (should_error or extra_flags): + # Now run otool -L to get the compat and current version info and verify it's correct in the library. + # We expect output such as this + # libfoo.1.2.3.dylib: + # > libfoo.1.2.3.dylib (compatibility version 1.1.99, current version 9.9.9) + # > /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4) + otool_output = "libfoo.{SHLIBVERSION}.dylib:\n\tlibfoo.{SHLIBVERSION}.dylib (compatibility version {APPLELINK_COMPATIBILITY_VERSION}, current version {APPLELINK_CURRENT_VERSION})\n\t/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)\n".format( + **locals()) + + test.run(program='/usr/bin/otool', arguments='-L libfoo.%s.dylib' % SHLIBVERSION, stdout=otool_output) test.pass_test() diff --git a/test/LINK/applelink_image/SConstruct_CurVers_CompatVers b/test/LINK/applelink_image/SConstruct_CurVers_CompatVers new file mode 100644 index 0000000000..b699ad82d4 --- /dev/null +++ b/test/LINK/applelink_image/SConstruct_CurVers_CompatVers @@ -0,0 +1,23 @@ + + +vars = Variables(None, ARGUMENTS) +vars.Add('SHLIBVERSION', 'Set the SHLIBVERSION', 0) +vars.Add('APPLELINK_CURRENT_VERSION', 'Set APPLELINK_CURRENT_VERSION', 0) +vars.Add('APPLELINK_COMPATIBILITY_VERSION', 'Set APPLELINK_COMPATIBILITY_VERSION', 0) + +env = Environment(variables = vars, tools=['gcc', 'applelink']) + +obj = env.SharedObject('foo.c') + +# sl = env.SharedLibrary('foo', obj) + +sl = env.SharedLibrary('foo', obj) +lm = env.LoadableModule('fool', obj) + +env.InstallVersionedLib(target='#/install', + source=sl) + +env.InstallVersionedLib(target='#/install', + source=lm) + +print("SHLIBVERSION=%s"%env['SHLIBVERSION']) diff --git a/test/LINK/applelink_image/SConstruct_gh2580 b/test/LINK/applelink_image/SConstruct_gh2580 new file mode 100644 index 0000000000..79fd9d5a5d --- /dev/null +++ b/test/LINK/applelink_image/SConstruct_gh2580 @@ -0,0 +1,8 @@ +DefaultEnvironment(tools=[]) +env = Environment(PLATFORM='darwin') +env.Object( + target = '#foo.o', + source = ['foo.c'], + FRAMEWORKS = ['Ogre'], + FRAMEWORKPATH = ['#frameworks'] +) diff --git a/test/LINK/applelink_image/foo.c b/test/LINK/applelink_image/foo.c new file mode 100644 index 0000000000..a4419535b6 --- /dev/null +++ b/test/LINK/applelink_image/foo.c @@ -0,0 +1,9 @@ +#include +#include +int +main(int argc, char *argv[]) +{ + argv[argc++] = "--"; + printf("foo.c\n"); + exit (0); +} \ No newline at end of file diff --git a/test/LINK/applelink_image/sconstest.skip b/test/LINK/applelink_image/sconstest.skip new file mode 100644 index 0000000000..e69de29bb2 diff --git a/testing/framework/TestCmd.py b/testing/framework/TestCmd.py index cccbccbb8f..35e361320a 100644 --- a/testing/framework/TestCmd.py +++ b/testing/framework/TestCmd.py @@ -1093,7 +1093,13 @@ def diff(self, a, b, name=None, diff_function=None, *args, **kw): diff_function = self.simple_diff if name is not None: print(self.banner(name)) - args = (a.splitlines(), b.splitlines()) + args + + if not is_List(a): + a=a.splitlines() + if not is_List(b): + b=b.splitlines() + + args = (a, b) + args for line in diff_function(*args, **kw): print(line)