From 4b84b4db45741fa0a0aff1753b08216e9434fcbe Mon Sep 17 00:00:00 2001 From: Dirk Baechle Date: Sat, 4 May 2013 00:05:51 +0200 Subject: - rewrote all tool/builder docs to new SCons XSD --- src/engine/SCons/Action.xml | 55 +- src/engine/SCons/Defaults.xml | 169 +++++-- src/engine/SCons/Environment.xml | 721 ++++++++++++++++++++++----- src/engine/SCons/Platform/__init__.xml | 65 ++- src/engine/SCons/Platform/posix.xml | 29 ++ src/engine/SCons/Platform/sunos.xml | 25 + src/engine/SCons/Platform/win32.xml | 23 + src/engine/SCons/Scanner/__init__.xml | 31 +- src/engine/SCons/Script/Main.xml | 113 ++++- src/engine/SCons/Script/SConscript.xml | 163 ++++-- src/engine/SCons/Subst.xml | 31 +- src/engine/SCons/Tool/386asm.xml | 41 +- src/engine/SCons/Tool/BitKeeper.xml | 53 +- src/engine/SCons/Tool/CVS.xml | 57 ++- src/engine/SCons/Tool/Perforce.xml | 51 +- src/engine/SCons/Tool/RCS.xml | 55 +- src/engine/SCons/Tool/SCCS.xml | 53 +- src/engine/SCons/Tool/Subversion.xml | 49 +- src/engine/SCons/Tool/__init__.xml | 115 ++++- src/engine/SCons/Tool/aixc++.xml | 31 +- src/engine/SCons/Tool/aixcc.xml | 29 +- src/engine/SCons/Tool/aixf77.xml | 27 +- src/engine/SCons/Tool/aixlink.xml | 31 +- src/engine/SCons/Tool/applelink.xml | 75 ++- src/engine/SCons/Tool/ar.xml | 63 ++- src/engine/SCons/Tool/as.xml | 63 ++- src/engine/SCons/Tool/bcc32.xml | 57 ++- src/engine/SCons/Tool/c++.xml | 77 ++- src/engine/SCons/Tool/cc.xml | 97 +++- src/engine/SCons/Tool/cvf.xml | 53 +- src/engine/SCons/Tool/default.xml | 23 + src/engine/SCons/Tool/dmd.xml | 97 ++-- src/engine/SCons/Tool/dvi.xml | 31 +- src/engine/SCons/Tool/dvipdf.xml | 41 +- src/engine/SCons/Tool/dvips.xml | 53 +- src/engine/SCons/Tool/f03.xml | 97 +++- src/engine/SCons/Tool/f77.xml | 123 +++-- src/engine/SCons/Tool/f90.xml | 97 +++- src/engine/SCons/Tool/f95.xml | 97 +++- src/engine/SCons/Tool/fortran.xml | 111 ++++- src/engine/SCons/Tool/g++.xml | 33 +- src/engine/SCons/Tool/g77.xml | 23 + src/engine/SCons/Tool/gas.xml | 25 +- src/engine/SCons/Tool/gcc.xml | 29 +- src/engine/SCons/Tool/gettext.xml | 95 +++- src/engine/SCons/Tool/gfortran.xml | 47 +- src/engine/SCons/Tool/gnulink.xml | 29 +- src/engine/SCons/Tool/gs.xml | 39 +- src/engine/SCons/Tool/hpc++.xml | 23 + src/engine/SCons/Tool/hpcc.xml | 29 +- src/engine/SCons/Tool/hplink.xml | 29 +- src/engine/SCons/Tool/icc.xml | 51 +- src/engine/SCons/Tool/icl.xml | 23 + src/engine/SCons/Tool/ifl.xml | 41 +- src/engine/SCons/Tool/ifort.xml | 47 +- src/engine/SCons/Tool/ilink.xml | 37 +- src/engine/SCons/Tool/ilink32.xml | 37 +- src/engine/SCons/Tool/install.xml | 41 +- src/engine/SCons/Tool/intelc.xml | 37 +- src/engine/SCons/Tool/jar.xml | 59 ++- src/engine/SCons/Tool/javac.xml | 91 +++- src/engine/SCons/Tool/javah.xml | 57 ++- src/engine/SCons/Tool/latex.xml | 47 +- src/engine/SCons/Tool/lex.xml | 43 +- src/engine/SCons/Tool/link.xml | 97 +++- src/engine/SCons/Tool/linkloc.xml | 51 +- src/engine/SCons/Tool/m4.xml | 45 +- src/engine/SCons/Tool/masm.xml | 45 +- src/engine/SCons/Tool/midl.xml | 47 +- src/engine/SCons/Tool/mingw.xml | 69 ++- src/engine/SCons/Tool/msgfmt.xml | 73 ++- src/engine/SCons/Tool/msginit.xml | 107 +++- src/engine/SCons/Tool/msgmerge.xml | 105 +++- src/engine/SCons/Tool/mslib.xml | 35 +- src/engine/SCons/Tool/mslink.xml | 153 ++++-- src/engine/SCons/Tool/mssdk.xml | 33 +- src/engine/SCons/Tool/msvc.xml | 187 +++++-- src/engine/SCons/Tool/msvs.xml | 159 +++++- src/engine/SCons/Tool/mwcc.xml | 75 ++- src/engine/SCons/Tool/mwld.xml | 47 +- src/engine/SCons/Tool/nasm.xml | 37 +- src/engine/SCons/Tool/packaging.xml | 45 +- src/engine/SCons/Tool/packaging/__init__.xml | 187 ++++++- src/engine/SCons/Tool/pdf.xml | 37 +- src/engine/SCons/Tool/pdflatex.xml | 45 +- src/engine/SCons/Tool/pdftex.xml | 53 +- src/engine/SCons/Tool/qt.xml | 151 ++++-- src/engine/SCons/Tool/rmic.xml | 53 +- src/engine/SCons/Tool/rpcgen.xml | 71 ++- src/engine/SCons/Tool/sgiar.xml | 41 +- src/engine/SCons/Tool/sgic++.xml | 33 +- src/engine/SCons/Tool/sgicc.xml | 29 +- src/engine/SCons/Tool/sgilink.xml | 31 +- src/engine/SCons/Tool/sunar.xml | 43 +- src/engine/SCons/Tool/sunc++.xml | 35 +- src/engine/SCons/Tool/suncc.xml | 31 +- src/engine/SCons/Tool/sunf77.xml | 35 +- src/engine/SCons/Tool/sunf90.xml | 35 +- src/engine/SCons/Tool/sunf95.xml | 35 +- src/engine/SCons/Tool/sunlink.xml | 29 +- src/engine/SCons/Tool/swig.xml | 91 +++- src/engine/SCons/Tool/tar.xml | 53 +- src/engine/SCons/Tool/tex.xml | 87 +++- src/engine/SCons/Tool/textfile.xml | 71 ++- src/engine/SCons/Tool/tlib.xml | 35 +- src/engine/SCons/Tool/xgettext.xml | 163 ++++-- src/engine/SCons/Tool/yacc.xml | 55 +- src/engine/SCons/Tool/zip.xml | 56 ++- 108 files changed, 5961 insertions(+), 1318 deletions(-) diff --git a/src/engine/SCons/Action.xml b/src/engine/SCons/Action.xml index a82b038..72248e2 100644 --- a/src/engine/SCons/Action.xml +++ b/src/engine/SCons/Action.xml @@ -1,15 +1,37 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + 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 @@ -21,7 +43,9 @@ found by searching the variable in the ENV environment used to execute the command. + + If the construction variable &cv-IMPLICIT_COMMAND_DEPENDENCIES; is set to a false value @@ -32,15 +56,17 @@ etc.), then the implicit dependency will not be added to the targets built with that construction environment. + - + env = Environment(IMPLICIT_COMMAND_DEPENDENCIES = 0) - + + A Python function used to print the command lines as they are executed (assuming command printing is not disabled by the @@ -56,41 +82,51 @@ the target being built (file node, list, or string name(s)), the source(s) used (file node, list, or string name(s)), and env, 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]), ' and '.join([str(x) for x in target]))) 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, for example. + + 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 @@ -103,5 +139,8 @@ is the arguments to the command. env is a dictionary of the environment variables in which the command should be executed. + + + \ No newline at end of file diff --git a/src/engine/SCons/Defaults.xml b/src/engine/SCons/Defaults.xml index 2ef820a..6d7b247 100644 --- a/src/engine/SCons/Defaults.xml +++ b/src/engine/SCons/Defaults.xml @@ -1,26 +1,48 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + A function used to produce variables like &cv-_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 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)} $)', - + + The name of the directory in which Configure context test files are written. The default is @@ -29,11 +51,13 @@ in the top-level directory containing the SConstruct file. + + The name of the Configure context log file. The default is config.log @@ -41,11 +65,13 @@ in the top-level directory containing the SConstruct file. + + An automatically-generated construction variable containing the C preprocessor command-line options to define values. @@ -53,30 +79,36 @@ The value of &cv-_CPPDEFFLAGS; is created by appending &cv-CPPDEFPREFIX; and &cv-CPPDEFSUFFIX; to the beginning and end of each definition in &cv-CPPDEFINES;. + + A platform independent specification of C preprocessor definitions. The definitions will be added to command lines through the automatically-generated &cv-_CPPDEFFLAGS; construction variable (see above), which is constructed according to the type of value of &cv-CPPDEFINES;: + + If &cv-CPPDEFINES; is a string, the values of the &cv-CPPDEFPREFIX; and &cv-CPPDEFSUFFIX; construction variables will be added to the beginning and end. + - + # Will add -Dxyz to POSIX compiler command lines, # and /Dxyz to Microsoft Visual C++ command lines. env = Environment(CPPDEFINES='xyz') - + + If &cv-CPPDEFINES; is a list, the values of the &cv-CPPDEFPREFIX; and &cv-CPPDEFSUFFIX; @@ -86,13 +118,15 @@ of each element in the list. If any element is a list or tuple, 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 &cv-CPPDEFINES; is a dictionary, the values of the &cv-CPPDEFPREFIX; and &cv-CPPDEFSUFFIX; @@ -110,37 +144,43 @@ to ensure that the order of the options on the command line is consistent each time &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}) - + + The prefix used to specify preprocessor definitions on the C compiler command line. This will be appended to the beginning of each definition in the &cv-CPPDEFINES; construction variable when the &cv-_CPPDEFFLAGS; variable is automatically generated. + + 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 &cv-CPPDEFINES; construction variable when the &cv-_CPPDEFFLAGS; variable is automatically generated. + + An automatically-generated construction variable containing the C preprocessor command-line options for specifying directories to be searched for include files. @@ -148,11 +188,13 @@ The value of &cv-_CPPINCFLAGS; is created by appending &cv-INCPREFIX; and &cv-INCSUFFIX; to the beginning and end of each directory in &cv-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 @@ -162,20 +204,24 @@ directory names in CPPPATH will be looked-up relative to the SConscript directory when they are used in a command. To force &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;() function: + - + include = Dir('include') env = Environment(CPPPATH=include) - + + The directory list will be added to command lines through the automatically-generated &cv-_CPPINCFLAGS; @@ -189,94 +235,112 @@ of each directory in &cv-CPPPATH;. Any command lines you define that need the CPPPATH directory list should include &cv-_CPPINCFLAGS;: + - + env = Environment(CCCOM="my_compiler $_CPPINCFLAGS -c -o $TARGET $SOURCE") - + + A function that converts a string into a Dir instance relative to the target being built. + + A function that converts a list of strings into a list of Dir instances relative to the target being built. + + The list of suffixes of files that will be scanned for imported D package files. The default list is: + - + ['.d'] - + + A function that converts a string into a File instance relative to the target being built. + + The list of suffixes of files that will be scanned for IDL implicit dependencies (#include or import lines). The default list is: + - + [".idl", ".IDL"] - + + The prefix used to specify an include directory on the C compiler command line. This will be appended to the beginning of each directory in the &cv-CPPPATH; and &cv-FORTRANPATH; construction variables when the &cv-_CPPINCFLAGS; and &cv-_FORTRANINCFLAGS; variables are automatically generated. + + 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 &cv-CPPPATH; and &cv-FORTRANPATH; construction variables when the &cv-_CPPINCFLAGS; and &cv-_FORTRANINCFLAGS; variables are automatically generated. + + A function to be called to install a file into a destination file name. The default function copies the file into the destination (and sets the destination file's mode and permission bits 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 @@ -285,35 +349,41 @@ is the path name of the source file. is the construction environment (a dictionary of construction values) in force for this file installation. + + The string displayed when a file is installed into a destination file name. The default is: - + + Install file: "$SOURCE" as "$TARGET" - + + 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"] - + + An automatically-generated construction variable containing the linker command-line options for specifying directories to be searched for library. @@ -321,29 +391,35 @@ The value of &cv-_LIBDIRFLAGS; is created by appending &cv-LIBDIRPREFIX; and &cv-LIBDIRSUFFIX; to the beginning and end of each directory in &cv-LIBPATH;. + + The prefix used to specify a library directory on the linker command line. This will be appended to the beginning of each directory in the &cv-LIBPATH; construction variable when the &cv-_LIBDIRFLAGS; variable is automatically generated. + + 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 &cv-LIBPATH; construction variable when the &cv-_LIBDIRFLAGS; variable is automatically generated. + + An automatically-generated construction variable containing the linker command-line options for specifying libraries to be linked with the resulting target. @@ -351,29 +427,35 @@ The value of &cv-_LIBFLAGS; is created by appending &cv-LIBLINKPREFIX; and &cv-LIBLINKSUFFIX; to the beginning and end of each filename in &cv-LIBS;. + + The prefix used to specify a library to link on the linker command line. This will be appended to the beginning of each library in the &cv-LIBS; construction variable when the &cv-_LIBFLAGS; variable is automatically generated. + + 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 &cv-LIBS; construction variable when the &cv-_LIBFLAGS; variable is automatically generated. + + 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 @@ -384,20 +466,24 @@ directory names in LIBPATH will be looked-up relative to the SConscript directory when they are used in a command. To force &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;() function: + - + libs = Dir('libs') env = Environment(LIBPATH=libs) - + + The directory list will be added to command lines through the automatically-generated &cv-_LIBDIRFLAGS; @@ -411,20 +497,24 @@ of each directory in &cv-LIBPATH;. Any command lines you define that need the LIBPATH directory list should include &cv-_LIBDIRFLAGS;: + - + env = Environment(LINKCOM="my_linker $_LIBDIRFLAGS $_LIBFLAGS -o $TARGET $SOURCE") - + + 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 &cv-_LIBFLAGS; @@ -438,11 +528,13 @@ of each filename in &cv-LIBS;. Any command lines you define that need the LIBS library list should include &cv-_LIBFLAGS;: + - + env = Environment(LINKCOM="my_linker $_LIBDIRFLAGS $_LIBFLAGS -o $TARGET $SOURCE") - + + If you add a File object to the @@ -454,20 +546,25 @@ and thus the link line, as is, without or &cv-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. + + A function that converts a string into a list of Dir instances by searching the repositories. + @@ -476,10 +573,14 @@ searching the repositories. ([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, and to fetch source files transparently from source code management systems. + + + \ No newline at end of file diff --git a/src/engine/SCons/Environment.xml b/src/engine/SCons/Environment.xml index 601cc56..bd3ad13 100644 --- a/src/engine/SCons/Environment.xml +++ b/src/engine/SCons/Environment.xml @@ -1,3 +1,4 @@ + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + + A dictionary mapping the names of the builders available through this environment to underlying Builder objects. @@ -17,38 +37,46 @@ Alias, CFile, CXXFile, DVI, Library, Object, PDF, PostScript, and Program are available by default. 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 - + + A function that converts a string into a Dir instance relative to the target being built. + + A dictionary of environment variables to use when invoking commands. When &cv-ENV; is used in a command all list @@ -67,18 +95,22 @@ repeatable regardless of the environment variables set at the time &scons; is invoked. + + If you want to propagate your environment variables to the commands executed 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 @@ -89,23 +121,27 @@ so that &scons; uses the same utilities as the invoking shell (or other process): + - + import os env = Environment(ENV = {'PATH' : os.environ['PATH']}) - + + A function that converts a string into a File instance relative to the target being built. + + A list of the available implicit dependency scanners. New file scanners may be added by appending to this list, @@ -115,77 +151,96 @@ with a specific Builder. See the sections "Builder Objects" and "Scanner Objects," below, for more information. + + A reserved variable name that may not be set or used in a construction environment. (See "Variable Substitution," below.) + + A reserved variable name that may not be set or used in a construction environment. (See "Variable Substitution," below.) + + A reserved variable name that may not be set or used in a construction environment. (See "Variable Substitution," below.) + + A reserved variable name that may not be set or used in a construction environment. (See "Variable Substitution," below.) + + A reserved variable name that may not be set or used in a construction environment. (See "Variable Substitution," below.) + + A reserved variable name that may not be set or used in a construction environment. (See "Variable Substitution," below.) + + A reserved variable name that may not be set or used in a construction environment. (See "Variable Substitution," below.) + + A reserved variable name that may not be set or used in a construction environment. (See "Variable Substitution," below.) + + A list of the names of the Tool specifications that are part of this construction environment. + @@ -196,12 +251,15 @@ that are part of this construction environment. (action, [cmd/str/fun, [var, ...]] [option=value, ...]) + Creates an Action object for the specified action. 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 @@ -218,6 +276,7 @@ The Action() form delays all variable expansion until the Action object is actually used. + @@ -229,6 +288,7 @@ until the Action object is actually used. (function, [name]) + When called with the AddMethod() form, @@ -255,10 +315,13 @@ the name of the specified function 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 @@ -277,7 +340,7 @@ env.my_method('arg') env = Environment() env.AddMethod(my_method, 'other_method_name') env.other_method_name('another arg') - + @@ -286,6 +349,7 @@ env.other_method_name('another arg') (target, action) + Arranges for the specified action to be performed @@ -296,11 +360,14 @@ The specified action(s) may be an Action object, or anything that 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 one or more targets in the list. + @@ -309,6 +376,7 @@ one or more targets in the list. (target, action) + Arranges for the specified action to be performed @@ -319,12 +387,16 @@ The specified action(s) may be an Action object, or anything that 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 @@ -333,12 +405,14 @@ For example, when building an executable program from a specified source .c file via an intermediate object file: + - + foo = Program('foo.c') AddPreAction(foo, 'pre_action') - + + The specified pre_action would be executed before @@ -349,6 +423,7 @@ generates the executable program binary not before compiling the foo.c file into an object file. + @@ -357,6 +432,7 @@ file into an object file. (alias, [targets, [action]]) + Creates one or more phony targets that expand to one or more other targets. An optional @@ -374,10 +450,13 @@ including another 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') @@ -386,7 +465,7 @@ env.Alias('install', ['/usr/local/bin', '/usr/local/lib']) env.Alias('install', ['/usr/local/man']) env.Alias('update', ['file1', 'file2'], "update_database $SOURCES") - + @@ -395,6 +474,7 @@ env.Alias('update', ['file1', 'file2'], "update_database $SOURCES") (target, ...) + Marks each given target so that it is always assumed to be out of date, @@ -410,6 +490,7 @@ they will be built if so specified. Multiple targets can be passed in to a single call to &f-AlwaysBuild;. + @@ -418,6 +499,7 @@ Multiple targets can be passed in to a single call to (key=val, [...]) + Appends the specified keyword arguments to the end of construction variables in the environment. If the Environment does not have @@ -431,12 +513,15 @@ and the value of the keyword argument are both coerced to lists, and the lists are added together. (See also the Prepend method, below.) + + Example: + - + env.Append(CCFLAGS = ' -g', FOO = ['foo.yyy']) - + @@ -445,6 +530,7 @@ env.Append(CCFLAGS = ' -g', FOO = ['foo.yyy']) (name, newpath, [envname, sep, delete_existing]) + This appends new path elements to the given path in the specified external environment (ENV @@ -460,15 +546,20 @@ and This can also handle the 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) @@ -477,7 +568,7 @@ print 'after:',env['ENV']['INCLUDE'] yields: before: /foo:/biz after: /biz:/foo/bar:/foo - + @@ -486,6 +577,7 @@ after: /biz:/foo/bar:/foo (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 @@ -499,12 +591,15 @@ be added again to the list. However, if delete_existing is 1, 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']) - + @@ -513,6 +608,7 @@ env.AppendUnique(CCFLAGS = '-g', FOO = ['foo.yyy']) (build_dir, src_dir, [duplicate]) + Deprecated synonyms for &f-VariantDir; and @@ -525,6 +621,7 @@ argument of &f-VariantDir; or env.VariantDir(). + @@ -533,12 +630,15 @@ or (action, [arguments]) + Creates a Builder object for the specified action. 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 @@ -556,6 +656,7 @@ The &f-Builder; form delays all variable expansion until after the Builder object is actually called. + @@ -564,6 +665,7 @@ until after the Builder object is actually called. (cache_dir) + Specifies that &scons; will maintain a cache of derived files in @@ -577,7 +679,9 @@ Specifying a of None disables derived file caching. + + Calling env.CacheDir() will only affect targets built @@ -592,7 +696,9 @@ that do have an env.CacheDir() specified. + + When a CacheDir() is being used and @@ -613,14 +719,18 @@ then place a copy of the built file in the cache so that it may be retrieved by other builds that need to build the same derived file from identical inputs. + + Use of a specified &f-CacheDir; may be disabled for any invocation by using the option. + + If the option is used, @@ -637,7 +747,9 @@ is added to a build, or after using the option. + + When using &f-CacheDir;, &scons; @@ -659,12 +771,15 @@ This is useful to generate build logs that are equivalent regardless of whether a given derived file has been built in-place or retrieved from the cache. + + The &f-link-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. + @@ -673,6 +788,7 @@ predict or prohibitively large. (targets, files_or_dirs) + This specifies a list of files or directories which should be removed whenever the targets are specified with the @@ -684,7 +800,9 @@ Multiple calls to 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 &f-Clean; @@ -693,7 +811,9 @@ method, or as a list. will also accept the return value of any of the construction environment Builder methods. Examples: + + The related &f-link-NoClean; function overrides calling @@ -704,22 +824,27 @@ and any targets passed to both functions will 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)) - + @@ -728,46 +853,56 @@ Clean(docdir, os.path.join(docdir, projectname)) ([key=val, ...]) + Returns a separate copy of a construction environment. If there are any keyword arguments specified, they are added to the returned copy, 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') - + + The &b-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 &f-link-Command; function description for the calling syntax and details. + @@ -776,13 +911,16 @@ for the calling syntax and details. (target, source, action, [key=val, ...]) + Executes a specific action (or list of actions) to build a target file or files. This is more convenient than defining a separate Builder object for a single special-case build. + + As a special case, the source_scanner keyword argument can @@ -796,10 +934,14 @@ if any of the sources will be directories that must be scanned on-disk for 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; @@ -814,10 +956,13 @@ or by a - (hyphen) to ignore the exit status of the external command. + + Examples: + - + env.Command('foo.out', 'foo.in', "$FOO_BUILD < $SOURCES > $TARGET") @@ -833,8 +978,9 @@ def rename(env, target, source): env.Command('baz.out', 'baz.in', ["$BAZ_BUILD < $SOURCES > .tmp", rename ]) - + + Note that the &f-Command; function will usually assume, by default, @@ -849,19 +995,24 @@ by using the 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.) + @@ -873,10 +1024,12 @@ so you normally don't need to create directories by hand.) ([custom_tests, conf_dir, log_file, config_h]) + Creates a Configure object for integrated functionality similar to GNU autoconf. See the section "Configure Contexts," below, for a complete explanation of the arguments and behavior. + @@ -885,8 +1038,10 @@ below, for a complete explanation of the arguments and behavior. ([key=val, ...]) + A now-deprecated synonym for env.Clone(). + @@ -895,6 +1050,7 @@ A now-deprecated synonym for (function) + Specifies that all up-to-date decisions for targets built through this construction environment will be handled by the specified @@ -904,7 +1060,9 @@ The can be one of the following strings that specify the type of decision function to be performed: + + timestamp-newer @@ -985,24 +1143,30 @@ all within a single second. + + Examples: + - + # Use exact timestamp matches by default. Decider('timestamp-match') # Use MD5 content signatures for any targets built # with the attached construction environment. env.Decider('content') - + + In addition to the above already-available functions, the function argument may be an actual Python function that takes the following three arguments: + + dependency @@ -1048,7 +1212,9 @@ size, or content signature. + + The function should return a @@ -1074,15 +1240,18 @@ Note that the decision can be made using whatever criteria are appopriate. 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)) env.Decider(my_decider) - + @@ -1091,6 +1260,7 @@ env.Decider(my_decider) (target, dependency) + Specifies an explicit dependency; the target @@ -1111,10 +1281,13 @@ This should only be necessary for cases where the dependency is not caught by a Scanner for the file. + + Example: + - + env.Depends('foo', 'other-input-file-for-foo') mylib = env.Library('mylib.c') @@ -1128,7 +1301,7 @@ bar = env.Program('bar.c') # and $LIBPATH variables, not using an env.Depends() call.) env.Depends(bar, installed_lib) - + @@ -1137,19 +1310,23 @@ env.Depends(bar, installed_lib) ([vars]) + Returns a dictionary object containing copies of all of the construction variables in the environment. If there are any variable names specified, only the specified construction variables are returned in the dictionary. + + Example: + - + dict = env.Dictionary() cc_dict = env.Dictionary('CC', 'CCFLAGS', 'CCCOM') - + @@ -1158,6 +1335,7 @@ cc_dict = env.Dictionary('CC', 'CCFLAGS', 'CCCOM') (name, [directory]) + This returns a Directory Node, an object that represents the specified directory name. @@ -1168,19 +1346,24 @@ is an optional directory that will be used as the parent directory. If no directory is specified, the current script's directory is used as the parent. + + If name is a list, SCons returns a list of Dir nodes. 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. Directory Nodes have attributes and methods that are useful in many situations; see "File and Directory Nodes," below. + @@ -1189,34 +1372,44 @@ see "File and Directory Nodes," below. ([key]) + Returns a pretty printable representation of the environment. key, if not None, 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'], @@ -1224,7 +1417,7 @@ will print: 'ASCOM': '$AS $ASFLAGS -o $TARGET $SOURCES', 'ASFLAGS': [], ... - + @@ -1233,10 +1426,12 @@ will print: ([key=value, ...]) + Return a new construction environment initialized with the specified key=value pairs. + @@ -1245,6 +1440,7 @@ pairs. (action, [strfunction, varlist]) + Executes an Action object. The specified action @@ -1260,7 +1456,9 @@ and then executed. The exit value of the command or return value of the Python function will be returned. + + Note that &scons; will print an error message if the executed @@ -1279,14 +1477,15 @@ If you want the build to stop in response to a failed &f-Execute; call, you must explicitly check for a non-zero return value: + - + Execute(Copy('file.out', 'file.in')) if Execute("mkdir sub/dir/ectory"): # The mkdir failed, don't try to build. Exit(1) - + @@ -1295,6 +1494,7 @@ if Execute("mkdir sub/dir/ectory"): (name, [directory]) + This returns a File Node, an object that represents the specified file @@ -1303,19 +1503,24 @@ an object that represents the specified file can be a relative or absolute path. directory is an optional directory that will be used as the parent directory. + + If name is a list, SCons returns a list of File nodes. 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. File Nodes have attributes and methods that are useful in many situations; see "File and Directory Nodes," below. + @@ -1324,6 +1529,7 @@ see "File and Directory Nodes," below. (file, dirs) + Search for file in the path specified by @@ -1333,12 +1539,15 @@ may be a list of directory names or a single directory name. In addition to searching for files that exist in the filesystem, this function also searches for derived files that have not yet been built. + + Example: + - + foo = env.FindFile('foo', ['dir1', 'dir2']) - + @@ -1347,18 +1556,24 @@ foo = env.FindFile('foo', ['dir1', 'dir2']) () + Returns the list of targets set up by the &b-link-Install; or &b-link-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 @@ -1370,7 +1585,7 @@ Install( '/lib', [ 'some_library' ] ) # will return the file node list # [ '/bin/executable_a', '/bin/executable_b', '/lib/some_library' ] FindInstalledFiles() - + @@ -1379,6 +1594,7 @@ FindInstalledFiles() (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 @@ -1386,13 +1602,18 @@ argument which defaults to the '"."'-node. It will then return all leaves of node. 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' ) @@ -1402,10 +1623,12 @@ FindSourceFiles() # returns ['src/main_b.c', 'src/main_a.c' ] FindSourceFiles( 'src' ) - + + As you can see build support files (SConstruct in the above example) will also be returned by this function. + @@ -1414,6 +1637,7 @@ will also be returned by this function. (sequence) + Takes a sequence (that is, a Python list or tuple) that may contain nested sequences and returns a flattened list containing @@ -1424,10 +1648,13 @@ other Builders will automatically flatten lists specified as input, but direct Python manipulation of these lists does not. + + Examples: + - + foo = Object('foo.c') bar = Object('bar.c') @@ -1443,7 +1670,7 @@ Program(source = objects) # call Flatten() yourself, or otherwise handle nested lists: for object in Flatten(objects): print str(object) - + @@ -1452,6 +1679,7 @@ for object in Flatten(objects): (file, [...]) + Returns the &scons; path name (or names) for the specified @@ -1463,6 +1691,7 @@ or files may be &scons; Nodes or strings representing path names. + @@ -1471,6 +1700,7 @@ Nodes or strings representing path names. (pattern, [ondisk, source, strings]) + Returns Nodes (or strings) that match the specified pattern, relative to the directory of the current @@ -1482,24 +1712,30 @@ form performs string substition on pattern 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 not span directory separators. + + The &f-Glob; knows about @@ -1517,7 +1753,9 @@ in the local (SConscript) directory if matching Node is found anywhere in a corresponding repository or source directory. + + The ondisk argument may be set to @@ -1529,7 +1767,9 @@ already-configured File or Dir Nodes. The default behavior is to return corresponding Nodes for any on-disk matches found. + + The source argument may be set to @@ -1541,7 +1781,9 @@ when the local directory is a the returned Nodes should be from the corresponding source directory, not the local directory. + + The strings argument may be set to @@ -1566,13 +1808,16 @@ directory, not the original &SConscript; directory.) + + Examples: + - + Program('foo', Glob('*.c')) Zip('/tmp/everything', Glob('.??*') + Glob('*')) - + @@ -1582,6 +1827,7 @@ Zip('/tmp/everything', Glob('.??*') + Glob('*')) (flag) + When flag is non-zero, @@ -1597,6 +1843,7 @@ the names of the default builders are removed from the global name space so that an explicit construction environment is required to call all builders. + --> @@ -1606,30 +1853,38 @@ to call all builders. (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 &f-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') env.Ignore('bar','bar/foobar.obj') - + @@ -1638,10 +1893,12 @@ env.Ignore('bar','bar/foobar.obj') (string) + The specified string will be preserved as-is and not have construction variables expanded. + @@ -1650,12 +1907,14 @@ and not have construction variables expanded. (targets) + The specified targets will have copies made in the local tree, even if an already up-to-date copy exists in a repository. Returns a list of the target Node or Nodes. + @@ -1665,6 +1924,7 @@ Returns a list of the target Node or Nodes. ( arg ", [" prepend ]) + Merges the elements of the specified arg, which must be a dictionary, to the construction @@ -1679,7 +1939,9 @@ so multiple strings must be passed in as a list, not as separate arguments to &f-MergeShellPaths;. + + New values are prepended to the environment variable by default, unless prepend=0 is specified. Duplicate values are always eliminated, @@ -1690,15 +1952,18 @@ or depending on the prepend argument. See those functions for more details. + + Examples: + - + # Prepend a path to the shell PATH. env.MergeShellPaths({'PATH':'/usr/local/bin'} ) # Append two dirs to the shell INCLUDE. env.MergeShellPaths({'INCLUDE':['c:/inc1', 'c:/inc2']}, prepend=0 ) - + --> @@ -1708,6 +1973,7 @@ env.MergeShellPaths({'INCLUDE':['c:/inc1', 'c:/inc2']}, prepend=0 ) (arg, [unique]) + Merges the specified arg values to the construction environment's construction variables. @@ -1725,7 +1991,9 @@ so multiple strings must be passed in as a list, not as separate arguments to &f-env-MergeFlags;. + + By default, duplicate values are eliminated; you can, however, specify @@ -1739,10 +2007,13 @@ the string keep the left-most unique value. All other construction variables keep the right-most unique value. + + Examples: + - + # Add an optimization flag to $CCFLAGS. env.MergeFlags('-O3') @@ -1755,7 +2026,7 @@ env.MergeFlags(['!pkg-config gtk+-2.0 --cflags', '-O3']) env.MergeFlags(['-O3', '!pkg-config gtk+-2.0 --cflags --libs', '!pkg-config libpng12 --cflags --libs']) - + @@ -1764,6 +2035,7 @@ env.MergeFlags(['-O3', (target, ...) + Specifies a list of files which should not be cached whenever the @@ -1771,7 +2043,9 @@ be cached whenever the 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 &f-NoCache; @@ -1779,18 +2053,23 @@ method, or as a list. &f-NoCache; will also accept the return value of any of the construction environment Builder methods. + + Calling &f-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')) - + @@ -1799,6 +2078,7 @@ NoCache(env.Program('hello', 'hello.c')) (target, ...) + Specifies a list of files or directories which should not be removed whenever the targets (or their dependencies) @@ -1814,7 +2094,9 @@ and prevent each specified target from being removed by calls to the option. + + Multiple files or directories should be specified either as separate arguments to the &f-NoClean; @@ -1822,7 +2104,9 @@ method, or as a list. &f-NoClean; will also accept the return value of any of the construction environment Builder methods. + + Calling &f-NoClean; for a target overrides calling @@ -1833,13 +2117,16 @@ and any targets passed to both functions will be removed by the option. + + Examples: + - + NoClean('foo.elf') NoClean(env.Program('hello', 'hello.c')) - + @@ -1848,6 +2135,7 @@ NoClean(env.Program('hello', 'hello.c')) (command, [function, unique]) + Calls the specified function to modify the environment as specified by the output of @@ -1870,7 +2158,9 @@ you can specify unique=0 to allow duplicate values to be added. + + Interpreted options and the construction variables they affect are as specified for the @@ -1878,6 +2168,7 @@ are as specified for the method (which this method calls). See that method's description, below, for a table of options and construction variables. + @@ -1886,6 +2177,7 @@ for a table of options and construction variables. (filename, [must_exist, only_one]) + Parses the contents of the specified filename as a list of dependencies in the style of @@ -1893,7 +2185,9 @@ as a list of dependencies in the style of or mkdep, and explicitly establishes all of the listed dependencies. + + By default, it is not an error if the specified @@ -1907,7 +2201,9 @@ scons throw an exception and 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 @@ -1927,7 +2223,9 @@ write dependency information for one output file into a corresponding .d file. + + The filename and all of the files listed therein @@ -1937,6 +2235,7 @@ the directory of the file which calls the &f-ParseDepends; function. + @@ -1945,6 +2244,7 @@ function. (flags, ...) + Parses one or more strings containing typical command-line flags for GCC tool chains and returns a dictionary with the flag values @@ -1960,18 +2260,23 @@ will call this method if its argument is not a dictionary, so it is usually not necessary to call &f-link-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, and the output from the command is 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 @@ -1993,22 +2298,26 @@ and added to the following construction variables: -Wp, CPPFLAGS - CCFLAGS + CCFLAGS, LINKFLAGS - + + Any other strings not associated with options are assumed to be the names of libraries and added to the &cv-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']) dict = env.ParseFlags('-O2', '!echo -Dfoo -Dbar=1') - + @@ -2017,6 +2326,7 @@ dict = env.ParseFlags('-O2', '!echo -Dfoo -Dbar=1') (string) + The &f-Platform; form returns a callable object @@ -2025,23 +2335,29 @@ a construction environment using the platform keyword of the &f-Environment; function. + + Example: + - + env = Environment(platform = Platform('win32')) - + + The &f-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 @@ -2058,6 +2374,7 @@ that use sockets to connect with other systems external CVS repository specifications like :pserver:anonymous@cvs.sourceforge.net:/cvsroot/scons) will work on Windows systems. + @@ -2066,6 +2383,7 @@ will work on Windows systems. (key=val, [...]) + Appends the specified keyword arguments to the beginning of construction variables in the environment. If the Environment does not have @@ -2079,12 +2397,15 @@ and the value of the keyword argument are both coerced to lists, and the lists are added together. (See also the Append method, above.) + + Example: + - + env.Prepend(CCFLAGS = '-g ', FOO = ['foo.yyy']) - + @@ -2093,6 +2414,7 @@ env.Prepend(CCFLAGS = '-g ', FOO = ['foo.yyy']) (name, newpath, [envname, sep, delete_existing]) + This appends new path elements to the given path in the specified external environment (&cv-ENV; @@ -2108,28 +2430,35 @@ and This can also handle the 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 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 - + @@ -2138,6 +2467,7 @@ after: /foo/bar:/foo:/biz (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 @@ -2151,12 +2481,15 @@ be added again to the list. However, if delete_existing is 1, 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']) - + @@ -2165,14 +2498,18 @@ env.PrependUnique(CCFLAGS = '-g', FOO = ['foo.yyy']) (key=val, [...]) + Replaces construction variables in the Environment with the specified keyword arguments. + + Example: + - + env.Replace(CCFLAGS = '-g', FOO = 'foo.xxx') - + @@ -2181,6 +2518,7 @@ env.Replace(CCFLAGS = '-g', FOO = 'foo.xxx') (directory) + Specifies that directory is a repository to be searched for files. @@ -2189,7 +2527,9 @@ Multiple calls to are legal, and each one adds to the list of repositories that will be searched. + + To &scons;, a repository is a copy of the source tree, @@ -2209,7 +2549,9 @@ signature information to allow 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; @@ -2221,6 +2563,7 @@ will be made, use the &f-link-Local; method. + @@ -2229,6 +2572,7 @@ method. (target, prerequisite) + Specifies an order-only relationship between the specified target file(s) and the specified prerequisite file(s). @@ -2240,12 +2584,15 @@ but the target file(s) do not actually depend on the prerequisites and will not be rebuilt simply because the prerequisite file(s) change. + + Example: + - + env.Requires('foo', 'file-that-must-be-built-before-foo') - + @@ -2254,11 +2601,13 @@ env.Requires('foo', 'file-that-must-be-built-before-foo') (function, [argument, keys, path_function, node_class, node_factory, scan_check, recursive]) + Creates a Scanner object for the specified function. See the section "Scanner Objects," below, for a complete explanation of the arguments and behavior. + @@ -2267,6 +2616,7 @@ below, for a complete explanation of the arguments and behavior. (value) + By default, &scons; changes its working directory @@ -2274,12 +2624,14 @@ to the directory in which each subsidiary SConscript file lives. This behavior may be disabled by specifying either: + - + SConscriptChdir(0) env.SConscriptChdir(0) - + + in which case &scons; will stay in the top-level directory @@ -2291,16 +2643,19 @@ You may enable and disable this ability by calling SConscriptChdir() multiple times. + + Example: + - + env = Environment() SConscriptChdir(0) SConscript('foo/SConscript') # will not chdir to foo env.SConscriptChdir(1) SConscript('bar/SConscript') # will chdir to bar - + @@ -2309,6 +2664,7 @@ SConscript('bar/SConscript') # will chdir to bar ([file, dbm_module]) + This tells &scons; to store all file signatures @@ -2329,7 +2685,9 @@ is not an absolute path name, the file is placed in the same directory as the top-level &SConstruct; file. + + If file is @@ -2343,7 +2701,9 @@ file in each directory, not in one global database file. (This was the default behavior prior to SCons 0.96.91 and 0.97.) + + The optional dbm_module argument can be used to specify @@ -2353,10 +2713,13 @@ The default is to use a custom module that uses pickled 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). @@ -2372,7 +2735,7 @@ SConsignFile("/home/me/SCons/signatures") # Stores signatures in a separate .sconsign file # in each directory. SConsignFile(None) - + @@ -2381,15 +2744,17 @@ SConsignFile(None) (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' - + @@ -2398,6 +2763,7 @@ if 'FOO' not in env: env['FOO'] = 'foo' (side_effect, target) + Declares side_effect as a side effect of building @@ -2421,7 +2787,9 @@ is executed at a time. Consequently, you only need to use this method 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 @@ -2449,6 +2817,7 @@ with the or &f-env-Clean; function. + @@ -2457,13 +2826,16 @@ function. (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;. + + Arrange for non-existent source files to be fetched from a source code management system using the specified @@ -2474,7 +2846,9 @@ may be a Node, string or list of both, and may represent either individual source files or directories in which source files can be found. + + For any non-existent source files, &scons; will search up the directory tree @@ -2494,7 +2868,9 @@ even if a &f-SourceCode; builder has been specified for a directory higher up the tree. + + &scons; will, by default, fetch files from SCCS or RCS subdirectories @@ -2505,33 +2881,40 @@ source code management files on disk. You can avoid these extra searches 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, it must have an associated construction environment to use when fetching a source file. + + &scons; provides a set of canned factory functions that return appropriate Builders for various popular 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) - + + + @@ -2540,13 +2923,16 @@ env.SourceCode('no_source.c', None) (type) + Note: Although it is not yet officially deprecated, use of this function is discouraged. See the &f-link-Decider; function for a more flexible and straightforward way to configure SCons' decision-making. + + The &f-SourceSignatures; function tells @@ -2559,7 +2945,9 @@ Legal values are MD5 or timestamp. + + If the environment method is used, the specified type of source signature is only used when deciding whether targets @@ -2568,14 +2956,18 @@ If the global function is used, the specified type of source signature becomes the default used for all decisions about whether targets are up-to-date. + + MD5 means &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; @@ -2586,12 +2978,16 @@ the last time it was used to rebuild a particular target file. by default it will also rebuild if the dependency is older than the last time it was used to rebuild the target file.) + + There is no different between the two behaviors for Python &f-Value; node objects. + + MD5 signatures take longer to compute, but are more accurate than @@ -2599,7 +2995,9 @@ but are more accurate than signatures. The default value is MD5. + + Note that the default &f-link-TargetSignatures; setting (see below) @@ -2615,6 +3013,7 @@ affect the up-to-date decision for all files in the build when &f-env-SourceSignatures; is used). + @@ -2623,6 +3022,7 @@ is used). (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 @@ -2633,10 +3033,13 @@ the list will be returned untouched. If arg is any other type of object, 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(""" @@ -2644,7 +3047,7 @@ files = Split(""" f8.c f9.c """) - + @@ -2653,10 +3056,13 @@ files = Split(""" (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. @@ -2686,13 +3092,17 @@ and $) pairs (as is done for signature calculation). + + If the input is a sequence (list or tuple), the individual elements of the sequence will be expanded, and the results will be returned as a list. + + The optional target and @@ -2712,7 +3122,9 @@ calling &f-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 @@ -2728,10 +3140,13 @@ you can use the Python λ 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): @@ -2741,7 +3156,7 @@ def compile(target, source, env): source_nodes = env.subst('$EXPAND_TO_NODELIST', conv=lambda x: x) - + @@ -2750,13 +3165,16 @@ source_nodes = env.subst('$EXPAND_TO_NODELIST', (type) + Note: Although it is not yet officially deprecated, use of this function is discouraged. See the &f-link-Decider; function for a more flexible and straightforward way to configure SCons' decision-making. + + The &f-TargetSignatures; function tells @@ -2775,7 +3193,9 @@ Legal values are "timestamp"; or "source". + + If the environment method is used, the specified type of target signature is only used for targets built with that environment. @@ -2784,7 +3204,9 @@ the specified type of signature becomes the default used for all target files that don't have an explicit target signature type specified for their environments. + + "content" (or its synonym "MD5") @@ -2801,7 +3223,9 @@ of target files after they're built, and may decide that it does not need to rebuild "downstream" target files if a file was rebuilt with exactly the same contents as the last time. + + "timestamp" means &scons; @@ -2812,7 +3236,9 @@ the last time it was used to rebuild some other target file. by default it will also rebuild if the dependency is older than the last time it was used to rebuild the target file.) + + "source" means &scons; @@ -2828,7 +3254,9 @@ This means that 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; @@ -2843,7 +3271,9 @@ so that other "downstream" target files will always be rebuilt, even if the contents or the timestamp have not changed. + + "build" signatures are fastest because "content" @@ -2863,7 +3293,9 @@ when other target files may be rebuilt from both source and target input files. The default value is "source". + + Because the default setting is "source", using @@ -2877,6 +3309,7 @@ Use of &f-TargetSignatures; provides specific control for how built target files affect their "downstream" dependencies. + @@ -2885,6 +3318,7 @@ affect their "downstream" dependencies. (string, [toolpath, **kw]) + The &f-Tool; form of the function @@ -2900,14 +3334,19 @@ to the construction environment and the name of the tool will be added to the &cv-link-TOOLS; construction variable. + + Additional keyword arguments are passed to the tool's generate() method. + + Examples: + - + env = Environment(tools = [ Tool('msvc') ]) env = Environment() @@ -2915,23 +3354,27 @@ t = Tool('msvc') t(env) # adds 'msvc' to the TOOLS variable u = Tool('opengl', toolpath = ['tools']) u(env) # adds 'opengl' to the TOOLS variable - + + The &f-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']) - + @@ -2940,6 +3383,7 @@ env.Tool('opengl', toolpath = ['build/tools']) (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 @@ -2951,7 +3395,9 @@ will be rebuilt. files are up-to-date.) 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 @@ -2965,10 +3411,13 @@ to indicate the Node should already be considered There is a corresponding read() method that will return the built value of the Node. + + Examples: + - + env = Environment() def create(target, source, env): @@ -3000,7 +3449,7 @@ input = env.Value('after') # action to the construction environment. env['BUILDERS']['UpdateValue'] = Builder(action = build_value) env.UpdateValue(target = Value(output), source = Value(input)) - + @@ -3009,6 +3458,7 @@ env.UpdateValue(target = Value(output), source = Value(input)) (variant_dir, src_dir, [duplicate]) + Use the &f-VariantDir; function to create a copy of your sources in another location: @@ -3021,7 +3471,9 @@ the file or directory is copied to Target files can be built in a different directory than the original sources by simply refering to the sources (and targets) within the variant tree. + + &f-VariantDir; can be called multiple times with the same src_dir @@ -3038,7 +3490,9 @@ TODO: Can the above restrictions be clarified or relaxed? TODO: The latter restriction is clearly not completely right; TODO: src_dir = '.' works fine with a build dir under it. --> + + The default behavior is for &scons; to physically duplicate the source files in the variant tree. @@ -3049,7 +3503,9 @@ or preprocessors or other scanners search for included files relative to the source file, 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 @@ -3058,7 +3514,9 @@ command-line option. Moreover, only the files needed for the build are duplicated; 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 @@ -3074,7 +3532,9 @@ This is always more efficient than duplicate=1, and is usually safe for most builds (but see above for cases that may cause problems). + + Note that &f-VariantDir; works most naturally with a subsidiary SConscript file. @@ -3086,40 +3546,45 @@ regardless of the value of This is how you tell &scons; which variant of a source tree to build: + - + # run src/SConscript in two variant directories VariantDir('build/variant1', 'src') SConscript('build/variant1/SConscript') VariantDir('build/variant2', 'src') SConscript('build/variant2/SConscript') - + + See also the &f-link-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) - + @@ -3128,6 +3593,7 @@ SConscript(dirs='doc', variant_dir='build/doc', duplicate=0) (program, [path, pathext, reject]) + Searches for the specified executable program, returning the full path name to the program @@ -3154,5 +3620,8 @@ path name or names in the specified reject list, if any. + + + \ No newline at end of file diff --git a/src/engine/SCons/Platform/__init__.xml b/src/engine/SCons/Platform/__init__.xml index 99f3322..88678d1 100644 --- a/src/engine/SCons/Platform/__init__.xml +++ b/src/engine/SCons/Platform/__init__.xml @@ -1,183 +1,244 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + 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. + + The prefix used for (static) library file names. A default value is set for each platform (posix, win32, os2, etc.), but the value is overridden by individual tools (ar, mslib, sgiar, sunar, tlib, etc.) to reflect the names of the libraries they create. + + 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 &cv-LIBSUFFIXES; list. + + The suffix used for (static) library file names. A default value is set for each platform (posix, win32, os2, etc.), but the value is overridden by individual tools (ar, mslib, sgiar, sunar, tlib, etc.) to reflect the names of the libraries they create. + + A list of all legal suffixes for library file names. When searching for library dependencies, SCons will look for files with prefixes, in the &cv-LIBPREFIXES; list, the base library name, and these suffixes. + + The prefix used for (static) object file names. + + The suffix used for (static) object file names. + + The name of the platform used to create the Environment. If no platform is specified when the Environment is created, &scons; autodetects the platform. + - + env = Environment(tools = []) if env['PLATFORM'] == 'cygwin': Tool('mingw')(env) else: Tool('msvc')(env) - + + 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. This value is immutable, and should not be changed by the user after the Environment is initialized. Currently only set for Win32. + + 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. + + 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. Currently only set for Win32. + + 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. + + The prefix used for executable file names. + + The suffix used for executable file names. + + A string naming the shell program that will be passed to the &cv-SPAWN; function. See the &cv-SPAWN; construction variable for more information. + + The prefix used for shared library file names. + + The suffix used for shared library file names. + + The prefix used for shared object file names. + + The suffix used for shared object file names. + + The prefix for a temporary file used to execute lines longer than $MAXLINELENGTH. The default is '@'. This may be set for toolchains that use other values, such as '-@' for the diab compiler or '-via' for ARM toolchain. + + + \ No newline at end of file diff --git a/src/engine/SCons/Platform/posix.xml b/src/engine/SCons/Platform/posix.xml index a1bb7fd..3411ada 100644 --- a/src/engine/SCons/Platform/posix.xml +++ b/src/engine/SCons/Platform/posix.xml @@ -1,11 +1,31 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + 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. @@ -15,11 +35,13 @@ are not transformed by &scons; in any way: if you want an absolute path, you must make it absolute yourself. + + An automatically-generated construction variable containing the rpath flags to be used when linking a program with shared libraries. @@ -27,25 +49,32 @@ The value of &cv-_RPATH; is created by appending &cv-RPATHPREFIX; and &cv-RPATHSUFFIX; to the beginning and end of each directory in &cv-RPATH;. + + The prefix used to specify a directory to be searched for shared libraries when running programs. This will be appended to the beginning of each directory in the &cv-RPATH; construction variable when the &cv-_RPATH; variable is automatically generated. + + 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 &cv-RPATH; construction variable when the &cv-_RPATH; variable is automatically generated. + + + \ No newline at end of file diff --git a/src/engine/SCons/Platform/sunos.xml b/src/engine/SCons/Platform/sunos.xml index d380d48..7221f58 100644 --- a/src/engine/SCons/Platform/sunos.xml +++ b/src/engine/SCons/Platform/sunos.xml @@ -1,3 +1,4 @@ + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + + On Solaris systems, the package-checking program that will be used (along with &cv-PKGINFO;) @@ -14,11 +34,13 @@ to look for installed versions of the Sun PRO C++ compiler. The default is /usr/sbin/pgkchk. + + On Solaris systems, the package information program that will be used (along with &cv-PKGCHK;) @@ -26,5 +48,8 @@ to look for installed versions of the Sun PRO C++ compiler. The default is pkginfo. + + + \ No newline at end of file diff --git a/src/engine/SCons/Platform/win32.xml b/src/engine/SCons/Platform/win32.xml index f284a40..bab54a6 100644 --- a/src/engine/SCons/Platform/win32.xml +++ b/src/engine/SCons/Platform/win32.xml @@ -1,14 +1,37 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + The maximum number of characters allowed on an external command line. On Win32 systems, link lines longer than this many characters are linked via a temporary file name. + + + \ No newline at end of file diff --git a/src/engine/SCons/Scanner/__init__.xml b/src/engine/SCons/Scanner/__init__.xml index f5f7c7b..7e44434 100644 --- a/src/engine/SCons/Scanner/__init__.xml +++ b/src/engine/SCons/Scanner/__init__.xml @@ -1,3 +1,4 @@ + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + (variable) + Returns a function (actually a callable Python object) intended to be used as the @@ -24,7 +44,9 @@ directory paths that should be searched &cv-link-CPPPATH;, &cv-link-LIBPATH;, etc.). + + Note that use of &f-FindPathDirs; is generally preferable to @@ -48,10 +70,13 @@ that evaluate to the same list of directories as, in fact, the same list, 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 @@ -59,6 +84,8 @@ def my_scan(node, env, path, arg): scanner = Scanner(name = 'myscanner', function = my_scan, path_function = FindPathDirs('MYPATH')) - + + + \ No newline at end of file diff --git a/src/engine/SCons/Script/Main.xml b/src/engine/SCons/Script/Main.xml index d4931f1..b95d4ab 100644 --- a/src/engine/SCons/Script/Main.xml +++ b/src/engine/SCons/Script/Main.xml @@ -1,3 +1,4 @@ + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + (arguments) + This function adds a new command-line option to be recognized. The specified arguments @@ -19,7 +39,9 @@ method (with a few additional capabilities noted below); see the documentation for optparse for a thorough discussion of its option-processing capabities. + + In addition to the arguments and values supported by the optparse.add_option() method, @@ -44,14 +66,18 @@ may be used to supply the "default" value that should be used when the option is specified on the command line without an explicit argument. + + If no default= keyword argument is supplied when calling &f-AddOption;, the option will have a default value of None. + + Once a new command-line option has been added with &f-AddOption;, the option value may be accessed using @@ -69,7 +95,9 @@ Note, however, that a value specified on the command line will always override a value set by any SConscript file. + + Any specified help= strings for the new option(s) @@ -90,10 +118,13 @@ The options will appear in the help text in the order in which the &f-AddOption; calls occur. + + Example: + - + AddOption('--prefix', dest='prefix', nargs=1, type='string', @@ -101,7 +132,7 @@ AddOption('--prefix', metavar='DIR', help='installation prefix') env = Environment(PREFIX = GetOption('prefix')) - + @@ -110,6 +141,7 @@ env = Environment(PREFIX = GetOption('prefix')) () + Returns a list of exceptions for the actions that failed while attempting to build targets. @@ -119,17 +151,23 @@ object with the following attributes 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 that failed when trying to build the specified Node. + + .errstr The SCons error string describing the build failure. @@ -137,7 +175,9 @@ describing the build failure. message like "Error 2" 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. @@ -158,7 +198,9 @@ but the .filename attribute will be sub/dir. + + .executor The SCons Executor object for the target Node @@ -166,21 +208,27 @@ being built. This can be used to retrieve the construction environment used for the failed action. + + .action The actual SCons Action object that failed. This will be one specific action out of the possible list of actions that would have been executed to build the target. + + .command The actual expanded command that was executed and failed, after expansion of &cv-link-TARGET;, &cv-link-SOURCE;, and other construction variables. + + Note that the &f-GetBuildFailures; function @@ -200,8 +248,9 @@ standard Python atexit.register() function. Example: + - + import atexit def print_build_failures(): @@ -210,7 +259,7 @@ def print_build_failures(): print "%s failed: %s" % (bf.node, bf.errstr) atexit.register(print_build_failures) - + @@ -219,13 +268,16 @@ atexit.register(print_build_failures) (name) + This function provides a way to query the value of SCons options set on scons command line (or set using the &f-link-SetOption; function). The options supported are: + + cache_debug @@ -468,10 +520,13 @@ which corresponds to --warn and --warning. + + See the documentation for the corresponding command line object for information about each specific option. + @@ -486,10 +541,13 @@ option. (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__() @@ -509,17 +567,21 @@ as arguments to your function or method. This will prevent the code from breaking 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. @@ -528,8 +590,9 @@ Note the use of (a carriage return) at the end so that the string will overwrite itself on a display: + - + import sys class ProgressCounter(object): count = 0 @@ -537,8 +600,9 @@ class ProgressCounter(object): self.count += 100 sys.stderr.write('Evaluated %s nodes\r' % self.count) Progress(ProgressCounter(), interval=100) - + + If the first argument &f-link-Progress; is a string, @@ -554,12 +618,14 @@ argument. The following will print a series of dots 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 &cv-TARGET;, it will be replaced with the Node. @@ -577,12 +643,14 @@ and the overwrite= 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 &f-Progress; is a list of strings, @@ -592,10 +660,11 @@ in rotating fashion every evaluated Nodes. This can be used to implement a "spinner" on the user's screen as follows: + - + Progress(['-\r', '\\\r', '|\r', '/\r'], interval=5) - + @@ -604,6 +673,7 @@ Progress(['-\r', '\\\r', '|\r', '/\r'], interval=5) (target, ...) + Marks each given target as precious so it is not deleted before it is rebuilt. Normally @@ -611,6 +681,7 @@ as precious so it is not deleted before it is rebuilt. Normally deletes a target before building it. Multiple targets can be passed in to a single call to &f-Precious;. + @@ -619,9 +690,12 @@ Multiple targets can be passed in to a single call to (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 @@ -696,15 +770,22 @@ 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) - + + + \ No newline at end of file diff --git a/src/engine/SCons/Script/SConscript.xml b/src/engine/SCons/Script/SConscript.xml index d29a5ca..0f52818 100644 --- a/src/engine/SCons/Script/SConscript.xml +++ b/src/engine/SCons/Script/SConscript.xml @@ -1,3 +1,4 @@ + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + (targets) + This specifies a list of default targets, which will be built by &scons; @@ -18,7 +38,9 @@ Multiple calls to &f-Default; are legal, and add to the list of default targets. + + Multiple targets should be specified as separate arguments to the &f-Default; @@ -27,16 +49,20 @@ method, or as a list. 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 &f-Default; of @@ -46,13 +72,16 @@ Later calls to &f-Default; will add to the (now empty) default-target list like normal. + + The current list of targets added using the &f-Default; function or method is available in the DEFAULT_TARGETS list; see below. + @@ -61,17 +90,21 @@ see below. (major, minor) + Ensure that the Python version is at least major.minor. This function will 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) - + @@ -80,6 +113,7 @@ EnsurePythonVersion(2,2) (major, minor, [revision]) + Ensure that the SCons version is at least major.minor, or @@ -90,14 +124,17 @@ is specified. This function will 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) - + @@ -106,6 +143,7 @@ EnsureSConsVersion(0,96,90) ([value]) + This tells &scons; to exit immediately @@ -115,6 +153,7 @@ A default exit value of 0 (zero) is used if no value is specified. + @@ -123,6 +162,7 @@ is used if no value is specified. (vars) + This tells &scons; to export a list of variables from the current @@ -137,10 +177,13 @@ 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") @@ -157,8 +200,9 @@ Export(debug = env) # Make env available using the name debug: Export({"debug":env}) - + + Note that the &f-SConscript; function supports an @@ -168,6 +212,7 @@ set of variables to a single SConscript file. See the description of the &f-SConscript; function, below. + @@ -176,6 +221,7 @@ function, below. () + Returns the absolute path name of the directory from which &scons; was initially invoked. @@ -188,6 +234,7 @@ options, which internally change to the directory in which the &SConstruct; file is found. + @@ -196,6 +243,7 @@ file is found. (text) + This specifies help text to be printed if the argument is given to @@ -206,6 +254,7 @@ is called multiple times, the text is appended together in the order that &f-Help; is called. + @@ -214,6 +263,7 @@ is called. (vars) + This tells &scons; to import a list of variables into the current SConscript file. This @@ -230,15 +280,18 @@ Multiple variable names can be passed to &f-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"]) Import("*") - + @@ -247,6 +300,7 @@ Import("*") ([vars..., stop=]) + By default, this stops processing the current SConscript file and returns to the calling SConscript file @@ -256,7 +310,9 @@ string arguments. Multiple strings contaning variable names may be passed to &f-Return;. Any strings that contain white space + + The optional stop= keyword argument may be set to a false value @@ -271,10 +327,13 @@ are still the values of the variables in the named at the point &f-Return; is called. + + Examples: + - + # Returns without returning a value. Return() @@ -286,7 +345,7 @@ Return("foo", "bar") # Returns the values of Python variables 'val1' and 'val2'. Return('val1 val2') - + @@ -300,6 +359,7 @@ Return('val1 val2') + This tells &scons; to execute @@ -311,7 +371,9 @@ will be returned by the call to There are two ways to call the &f-SConscript; function. + + The first way you can call &f-SConscript; is to explicitly specify one or more @@ -323,13 +385,15 @@ multiple scripts must be specified as a list a function like &f-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 &f-SConscript; is to specify a list of (sub)directory names @@ -349,13 +413,15 @@ by supplying an optional 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 @@ -373,13 +439,15 @@ must use the &f-link-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 @@ -405,7 +473,9 @@ file. See the description of the &f-VariantDir; function below for additional details and restrictions. + + If variant_dir is present, @@ -421,32 +491,40 @@ file resides and the 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;: + - + SConscript('SConscript', variant_dir = 'build') - + + is equivalent to + - + VariantDir('build', '.') SConscript('build/SConscript') - + + + + 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' } SConscript('SConscript', variant_dir='debug', duplicate=0, exports=opts) 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) SConscript('src/SConscript', variant_dir='build/ppc', duplicate=0) - + + + \ No newline at end of file diff --git a/src/engine/SCons/Subst.xml b/src/engine/SCons/Subst.xml index 861e53a..7764c29 100644 --- a/src/engine/SCons/Subst.xml +++ b/src/engine/SCons/Subst.xml @@ -1,3 +1,4 @@ + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + ([exception, ...]) + Specifies the exceptions that will be allowed when expanding construction variables. By default, @@ -23,16 +43,21 @@ exception will expand to a All exceptions not in the specified list will generate an error message and terminate processing. + + If &f-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.) @@ -41,6 +66,8 @@ AllowSubstExceptions() # Also allow a string containing a zero-division expansion # like '${1 / 0}' to evalute to ''. AllowSubstExceptions(IndexError, NameError, ZeroDivisionError) - + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/386asm.xml b/src/engine/SCons/Tool/386asm.xml index 824e060..17c6c89 100644 --- a/src/engine/SCons/Tool/386asm.xml +++ b/src/engine/SCons/Tool/386asm.xml @@ -1,25 +1,48 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the 386ASM assembler for the Phar Lap ETS embedded operating system. + -AS -ASFLAGS -ASPPFLAGS -ASCOM -ASPPCOM +AS +ASFLAGS +ASPPFLAGS +ASCOM +ASPPCOM -CC -CPPFLAGS -_CPPDEFFLAGS -_CPPINCFLAGS +CC +CPPFLAGS +_CPPDEFFLAGS +_CPPINCFLAGS + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/BitKeeper.xml b/src/engine/SCons/Tool/BitKeeper.xml index ec20901..e332ff7 100644 --- a/src/engine/SCons/Tool/BitKeeper.xml +++ b/src/engine/SCons/Tool/BitKeeper.xml @@ -1,59 +1,90 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the BitKeeper source code control system. + -BITKEEPER -BITKEEPERGET -BITKEEPERGETFLAGS -BITKEEPERCOM +BITKEEPER +BITKEEPERGET +BITKEEPERGETFLAGS +BITKEEPERCOM -BITKEEPERCOMSTR +BITKEEPERCOMSTR + The BitKeeper executable. + + The command line for fetching source files using BitKeeper. + + The string displayed when fetching a source file using BitKeeper. If this is not set, then &cv-link-BITKEEPERCOM; (the command line) is displayed. + + The command (&cv-link-BITKEEPER;) and subcommand for fetching source files using BitKeeper. + + Options that are passed to the BitKeeper get subcommand. + @@ -62,6 +93,7 @@ subcommand. () + A factory function that returns a Builder object to be used to fetch source files @@ -70,15 +102,22 @@ The returned Builder is intended to be passed to the &f-SourceCode; function. + + This function is deprecated. For details, see the entry for the &f-SourceCode; function. + + Example: + - + env.SourceCode('.', env.BitKeeper()) - + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/CVS.xml b/src/engine/SCons/Tool/CVS.xml index ccaba84..6976405 100644 --- a/src/engine/SCons/Tool/CVS.xml +++ b/src/engine/SCons/Tool/CVS.xml @@ -1,67 +1,100 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the CVS source code management system. + -CVS -CVSCOM -CVSFLAGS -CVSCOFLAGS +CVS +CVSCOM +CVSFLAGS +CVSCOFLAGS -CVSCOMSTR +CVSCOMSTR + The CVS executable. + + Options that are passed to the CVS checkout subcommand. + + The command line used to fetch source files from a CVS repository. + + The string displayed when fetching a source file from a CVS repository. If this is not set, then &cv-link-CVSCOM; (the command line) is displayed. + + General options that are passed to CVS. By default, this is set to -d $CVSREPOSITORY to specify from where the files must be fetched. + + The path to the CVS repository. This is referenced in the default &cv-link-CVSFLAGS; value. + @@ -70,6 +103,7 @@ This is referenced in the default (repository, module) + A factory function that returns a Builder object to be used to fetch source files @@ -80,11 +114,15 @@ The returned Builder is intended to be passed to the &f-link-SourceCode; function. + + This function is deprecated. For details, see the entry for the &f-SourceCode; function. + + The optional specified module will be added to the beginning @@ -96,10 +134,13 @@ so that you only have to replicate part of the repository directory hierarchy in your local build directory. + + Examples: + - + # Will fetch foo/bar/src.c # from /usr/local/CVSROOT/foo/bar/src.c. env.SourceCode('.', env.CVS('/usr/local/CVSROOT')) @@ -111,6 +152,8 @@ env.SourceCode('.', env.CVS('/usr/local/CVSROOT', 'foo')) # Will fetch src.c # from /usr/local/CVSROOT/foo/bar/src.c. env.SourceCode('.', env.CVS('/usr/local/CVSROOT', 'foo/bar')) - + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/Perforce.xml b/src/engine/SCons/Tool/Perforce.xml index cb34ede..780f69b 100644 --- a/src/engine/SCons/Tool/Perforce.xml +++ b/src/engine/SCons/Tool/Perforce.xml @@ -1,48 +1,77 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for interacting with the Perforce source code management system. + -P4 -P4FLAGS -P4COM +P4 +P4FLAGS +P4COM -P4COMSTR +P4COMSTR + The Perforce executable. + + The command line used to fetch source files from Perforce. + + The string displayed when fetching a source file from Perforce. If this is not set, then &cv-link-P4COM; (the command line) is displayed. + + General options that are passed to Perforce. + @@ -51,6 +80,7 @@ General options that are passed to Perforce. () + A factory function that returns a Builder object to be used to fetch source files @@ -59,17 +89,23 @@ The returned Builder is intended to be passed to the &f-SourceCode; function. + + This function is deprecated. For details, see the entry for the &f-SourceCode; function. + + Example: + - + env.SourceCode('.', env.Perforce()) - + + Perforce uses a number of external environment variables for its operation. Consequently, this function adds the @@ -86,5 +122,8 @@ SystemRoot, USER, and USERNAME. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/RCS.xml b/src/engine/SCons/Tool/RCS.xml index 515fc12..2a04a60 100644 --- a/src/engine/SCons/Tool/RCS.xml +++ b/src/engine/SCons/Tool/RCS.xml @@ -1,62 +1,93 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the interaction with the Revision Control System. + -RCS -RCS_CO -RCS_COFLAGS -RCS_COCOM +RCS +RCS_CO +RCS_COFLAGS +RCS_COCOM -RCS_COCOMSTR +RCS_COCOMSTR + The RCS executable. Note that this variable is not actually used for the command to fetch source files from RCS; see the &cv-link-RCS_CO; construction variable, below. + + The RCS "checkout" executable, used to fetch source files from RCS. + + The command line used to fetch (checkout) source files from RCS. + + The string displayed when fetching a source file from RCS. If this is not set, then &cv-link-RCS_COCOM; (the command line) is displayed. + + Options that are passed to the &cv-link-RCS_CO; command. + @@ -65,6 +96,7 @@ Options that are passed to the &cv-link-RCS_CO; command. () + A factory function that returns a Builder object to be used to fetch source files @@ -73,17 +105,23 @@ The returned Builder is intended to be passed to the &f-SourceCode; function: + + This function is deprecated. For details, see the entry for the &f-SourceCode; function. + + Examples: + - + env.SourceCode('.', env.RCS()) - + + Note that &scons; will fetch source files @@ -97,5 +135,8 @@ files in the same directory as the source files, or if you need to explicitly specify RCS for a specific subdirectory. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/SCCS.xml b/src/engine/SCons/Tool/SCCS.xml index a111738..2b5ff3c 100644 --- a/src/engine/SCons/Tool/SCCS.xml +++ b/src/engine/SCons/Tool/SCCS.xml @@ -1,59 +1,90 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for interacting with the Source Code Control System. + -SCCS -SCCSFLAGS -SCCSGETFLAGS -SCCSCOM +SCCS +SCCSFLAGS +SCCSGETFLAGS +SCCSCOM -SCCSCOMSTR +SCCSCOMSTR + The SCCS executable. + + The command line used to fetch source files from SCCS. + + The string displayed when fetching a source file from a CVS repository. If this is not set, then &cv-link-SCCSCOM; (the command line) is displayed. + + General options that are passed to SCCS. + + Options that are passed specifically to the SCCS "get" subcommand. This can be set, for example, to to check out editable files from SCCS. + @@ -62,6 +93,7 @@ to check out editable files from SCCS. () + A factory function that returns a Builder object to be used to fetch source files @@ -70,13 +102,17 @@ The returned Builder is intended to be passed to the &f-link-SourceCode; function. + + Example: + - + env.SourceCode('.', env.SCCS()) - + + Note that &scons; will fetch source files @@ -90,5 +126,8 @@ files in the same directory as the source files, or if you need to explicitly specify SCCS for a specific subdirectory. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/Subversion.xml b/src/engine/SCons/Tool/Subversion.xml index ac1a9ad..55ec1a1 100644 --- a/src/engine/SCons/Tool/Subversion.xml +++ b/src/engine/SCons/Tool/Subversion.xml @@ -1,21 +1,42 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + @@ -23,8 +44,10 @@ SVNCOMSTR @@ -32,8 +55,10 @@ The Subversion executable (usually named @@ -41,7 +66,9 @@ fetch source files from a Subversion repository. @@ -52,6 +79,7 @@ General options that are passed to Subversion. (repository, module) + A factory function that returns a Builder object to be used to fetch source files @@ -61,7 +89,9 @@ The returned Builder is intended to be passed to the &f-link-SourceCode; function. + + The optional specified module will be added to the beginning @@ -73,14 +103,19 @@ so that you only have to replicate part of the repository directory hierarchy in your local build directory. + + This function is deprecated, see the entry for the &f-SourceCode; function. + + Example: + - + # Will fetch foo/bar/src.c # from /usr/local/Subversion/foo/bar/src.c. env.SourceCode('.', env.Subversion('file:///usr/local/Subversion')) @@ -92,7 +127,9 @@ env.SourceCode('.', env.Subversion('file:///usr/local/Subversion', 'foo')) # Will fetch src.c # from /usr/local/Subversion/foo/bar/src.c. env.SourceCode('.', env.Subversion('file:///usr/local/Subversion', 'foo/bar')) - + --> + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/__init__.xml b/src/engine/SCons/Tool/__init__.xml index 532c850..1cb4b77 100644 --- a/src/engine/SCons/Tool/__init__.xml +++ b/src/engine/SCons/Tool/__init__.xml @@ -1,11 +1,31 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Builds a C source file given a lex (.l) or yacc (.y) input file. The suffix specified by the &cv-link-CFILESUFFIX; construction variable @@ -13,18 +33,20 @@ The suffix specified by the &cv-link-CFILESUFFIX; construction variable 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 env.CFile(target = 'bar', source = 'bar.y') - + + Builds a C++ source file given a lex (.ll) or yacc (.yy) input file. @@ -33,44 +55,52 @@ The suffix specified by the &cv-link-CXXFILESUFFIX; construction variable 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 env.CXXFile(target = 'bar', source = 'bar.yy') - + + A synonym for the &b-StaticLibrary; builder method. + + On most systems, this is the same as &b-SharedLibrary;. On Mac OS X (Darwin) platforms, this creates a loadable module bundle. + + A synonym for the &b-StaticObject; builder method. + + 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, @@ -89,15 +119,17 @@ 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']) - + + Builds a shared library (.so on a POSIX system, .dll on Windows) @@ -118,11 +150,13 @@ 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 &b-SharedLibrary; builder method will always build an import @@ -131,7 +165,9 @@ in addition to the shared (.dll) library, adding a .lib library with the same basename if there is not already a .lib file explicitly listed in the targets. + + Any object files listed in the source must have been built for a shared library @@ -140,25 +176,33 @@ must have been built for a shared library builder method). &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 &b-LoadableModule; builder for the latter. + + When the &cv-link-SHLIBVERSION; construction variable is defined a versioned shared library is created. This modifies the &cv-link-SHLINKFLAGS; as required, adds the version number to the library name, and creates the symlinks that are needed. &cv-link-SHLIBVERSION; needs to be of the form X.Y.Z, where X and Y are numbers, and Z is a number but can also contain letters to designate alpha, beta, or release candidate patch levels. + + This builder may create multiple links to the library. On a POSIX system, for the shared library libbar.so.2.3.1, the links created would be libbar.so, libbar.so.2, and libbar.so.2.3; 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 @@ -171,20 +215,24 @@ to prevent dialogs from popping up and requiring user attention when it is run. If you change &cv-link-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. + + Builds an object file for inclusion in a shared library. Source files must have one of the same set of extensions @@ -210,24 +258,28 @@ and suffix (specified by the &cv-link-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 object. See the section "Scanner Objects," below, for more information. + + Builds a static library given one or more object files or C, C++, D or Fortran source files. If any source files are given, @@ -245,11 +297,13 @@ 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 @@ -258,16 +312,19 @@ must have been built for a static library builder method). &scons; will raise an error if there is any mismatch. + + 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 @@ -296,8 +353,9 @@ Source files must have one of the following extensions: POSIX: assembly language file + C pre-processor .spp assembly language file + C pre-processor .SPP assembly language file + C pre-processor - + + The target object file prefix (specified by the &cv-link-OBJPREFIX; construction variable; nothing by default) and suffix @@ -306,32 +364,38 @@ and suffix .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 object. See the section "Scanner Objects," below, for more information. + + The version number of the C compiler. This may or may not be set, depending on the specific C compiler being used. + + 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. @@ -343,19 +407,23 @@ SCons also treats .C (upper case) files as C files. + + The version number of the C++ compiler. This may or may not be set, depending on the specific C++ compiler being used. + + 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. @@ -376,34 +444,45 @@ SCons also treats .C (upper case) files as C++ files. + + TODO + + TODO + + TODO + + When this construction variable is defined, a versioned shared library is created. This modifies the &cv-link-SHLINKFLAGS; as required, adds the version number to the library name, and creates the symlinks that are needed. &cv-link-SHLIBVERSION; needs to be of the form X.Y.Z, where X and Y are numbers, and Z is a number but can also contain letters to designate alpha, beta, or release candidate patch levels. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/aixc++.xml b/src/engine/SCons/Tool/aixc++.xml index 05b4dd6..25e3771 100644 --- a/src/engine/SCons/Tool/aixc++.xml +++ b/src/engine/SCons/Tool/aixc++.xml @@ -1,19 +1,42 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the IMB xlc / Visual Age C++ compiler. + -CXX -SHCXX -CXXVERSION -SHOBJSUFFIX +CXX +SHCXX +CXXVERSION +SHOBJSUFFIX + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/aixcc.xml b/src/engine/SCons/Tool/aixcc.xml index 8ec301b..8742d90 100644 --- a/src/engine/SCons/Tool/aixcc.xml +++ b/src/engine/SCons/Tool/aixcc.xml @@ -1,18 +1,41 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the IBM xlc / Visual Age C compiler. + -CC -SHCC -CCVERSION +CC +SHCC +CCVERSION + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/aixf77.xml b/src/engine/SCons/Tool/aixf77.xml index 14274f3..a058dd6 100644 --- a/src/engine/SCons/Tool/aixf77.xml +++ b/src/engine/SCons/Tool/aixf77.xml @@ -1,17 +1,40 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the IBM Visual Age f77 Fortran compiler. + -F77 -SHF77 +F77 +SHF77 + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/aixlink.xml b/src/engine/SCons/Tool/aixlink.xml index 567882b..31c4b5b 100644 --- a/src/engine/SCons/Tool/aixlink.xml +++ b/src/engine/SCons/Tool/aixlink.xml @@ -1,19 +1,42 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the IBM Visual Age linker. + - -LINKFLAGS -SHLINKFLAGS -SHLIBSUFFIX + +LINKFLAGS +SHLINKFLAGS +SHLIBSUFFIX + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/applelink.xml b/src/engine/SCons/Tool/applelink.xml index a36536b..7f8f22e 100644 --- a/src/engine/SCons/Tool/applelink.xml +++ b/src/engine/SCons/Tool/applelink.xml @@ -1,33 +1,55 @@ + + + +%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 +FRAMEWORKPATHPREFIX +_FRAMEWORKPATH +_FRAMEWORKS +LINKCOM +SHLINKFLAGS +SHLINKCOM +LDMODULEPREFIX +LDMODULESUFFIX +LDMODULEFLAGS +LDMODULECOM -FRAMEWORKSFLAGS +FRAMEWORKSFLAGS "> + On Mac OS X with gcc, general user-supplied frameworks options to be added at the end of a command @@ -36,44 +58,52 @@ line building a loadable module. 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 @@ -81,34 +111,45 @@ Used by the compiler to find framework-style includes like 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;. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/ar.xml b/src/engine/SCons/Tool/ar.xml index 1fe9a57..defc6e5 100644 --- a/src/engine/SCons/Tool/ar.xml +++ b/src/engine/SCons/Tool/ar.xml @@ -1,22 +1,43 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the &ar; library archiver. + -AR -ARFLAGS -ARCOM -LIBPREFIX -LIBSUFFIX -RANLIB -RANLIBFLAGS -RANLIBCOM +AR +ARFLAGS +ARCOM +LIBPREFIX +LIBSUFFIX +RANLIB +RANLIBFLAGS +RANLIBCOM @@ -24,59 +45,77 @@ RANLIBCOM + The static library archiver. + + The command line used to generate a static library from object files. + + The string displayed when an object file is generated from an assembly-language source file. If this is not set, then &cv-link-ARCOM; (the command line) is displayed. + - + env = Environment(ARCOMSTR = "Archiving $TARGET") - + + General options passed to the static library archiver. + + The archive indexer. + + The command line used to index a static library archive. + + The string displayed when a static library archive is indexed. If this is not set, then &cv-link-RANLIBCOM; (the command line) is displayed. + - + env = Environment(RANLIBCOMSTR = "Indexing $TARGET") - + + General options passed to the archive indexer. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/as.xml b/src/engine/SCons/Tool/as.xml index b771d0e..1f2508b 100644 --- a/src/engine/SCons/Tool/as.xml +++ b/src/engine/SCons/Tool/as.xml @@ -1,88 +1,125 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the &as; assembler. + -AS -ASFLAGS -ASCOM -ASPPFLAGS -ASPPCOM +AS +ASFLAGS +ASCOM +ASPPFLAGS +ASPPCOM -CC -CPPFLAGS -_CPPDEFFLAGS -_CPPINCFLAGS +CC +CPPFLAGS +_CPPDEFFLAGS +_CPPINCFLAGS + The assembler. + + The command line used to generate an object file from an assembly-language source file. + + The string displayed when an object file is generated from an assembly-language source file. If this is not set, then &cv-link-ASCOM; (the command line) is displayed. + - + env = Environment(ASCOMSTR = "Assembling $TARGET") - + + General options passed to the assembler. + + 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 &cv-link-ASFLAGS; and &cv-link-CPPFLAGS; construction variables are included on this command line. + + 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 &cv-link-ASPPCOM; (the command line) is displayed. + - + env = Environment(ASPPCOMSTR = "Assembling $TARGET") - + + 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 &cv-link-ASFLAGS;. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/bcc32.xml b/src/engine/SCons/Tool/bcc32.xml index 38ded35..fb192de 100644 --- a/src/engine/SCons/Tool/bcc32.xml +++ b/src/engine/SCons/Tool/bcc32.xml @@ -1,32 +1,55 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the bcc32 compiler. + -CC -CCFLAGS -CFLAGS -CCCOM -SHCC -SHCCFLAGS -SHCFLAGS -SHCCCOM -CPPDEFPREFIX -CPPDEFSUFFIX -INCPREFIX -INCSUFFIX -SHOBJSUFFIX - -CFILESUFFIX +CC +CCFLAGS +CFLAGS +CCCOM +SHCC +SHCCFLAGS +SHCFLAGS +SHCCCOM +CPPDEFPREFIX +CPPDEFSUFFIX +INCPREFIX +INCSUFFIX +SHOBJSUFFIX + +CFILESUFFIX -_CPPDEFFLAGS -_CPPINCFLAGS +_CPPDEFFLAGS +_CPPINCFLAGS + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/c++.xml b/src/engine/SCons/Tool/c++.xml index 02530da..691c137 100644 --- a/src/engine/SCons/Tool/c++.xml +++ b/src/engine/SCons/Tool/c++.xml @@ -1,102 +1,141 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for generic POSIX C++ compilers. + -CXX -CXXFLAGS -CXXCOM -SHCXX -SHCXXFLAGS -SHCXXCOM -CPPDEFPREFIX -CPPDEFSUFFIX -INCPREFIX -INCSUFFIX -SHOBJSUFFIX -OBJSUFFIX - -CXXFILESUFFIX +CXX +CXXFLAGS +CXXCOM +SHCXX +SHCXXFLAGS +SHCXXCOM +CPPDEFPREFIX +CPPDEFSUFFIX +INCPREFIX +INCSUFFIX +SHOBJSUFFIX +OBJSUFFIX + +CXXFILESUFFIX -CXXCOMSTR +CXXCOMSTR + The C++ compiler. + + The command line used to compile a C++ source file to an object file. Any options specified in the &cv-link-CXXFLAGS; and &cv-link-CPPFLAGS; construction variables are included on this command line. + + The string displayed when a C++ source file is compiled to a (static) object file. If this is not set, then &cv-link-CXXCOM; (the command line) is displayed. + - + env = Environment(CXXCOMSTR = "Compiling static object $TARGET") - + + General options that are passed to the C++ compiler. By default, this includes the value of &cv-link-CCFLAGS;, so that setting &cv-CCFLAGS; affects both C and C++ compilation. If you want to add C++-specific flags, you must set or override the value of &cv-link-CXXFLAGS;. + + The C++ compiler used for generating shared-library objects. + + The command line used to compile a C++ source file to a shared-library object file. Any options specified in the &cv-link-SHCXXFLAGS; and &cv-link-CPPFLAGS; construction variables are included on this command line. + + The string displayed when a C++ source file is compiled to a shared object file. If this is not set, then &cv-link-SHCXXCOM; (the command line) is displayed. + - + env = Environment(SHCXXCOMSTR = "Compiling shared object $TARGET") - + + Options that are passed to the C++ compiler to generate shared-library objects. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/cc.xml b/src/engine/SCons/Tool/cc.xml index a89182a..791519f 100644 --- a/src/engine/SCons/Tool/cc.xml +++ b/src/engine/SCons/Tool/cc.xml @@ -1,79 +1,111 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for generic POSIX C copmilers. + - -FRAMEWORKS -FRAMEWORKPATH -CC -CFLAGS -CCFLAGS -CCCOM -SHCC -SHCFLAGS -SHCCFLAGS -SHCCCOM -CPPDEFPREFIX -CPPDEFSUFFIX -INCPREFIX -INCSUFFIX -SHOBJSUFFIX - -CFILESUFFIX + +FRAMEWORKS +FRAMEWORKPATH +CC +CFLAGS +CCFLAGS +CCCOM +SHCC +SHCFLAGS +SHCCFLAGS +SHCCCOM +CPPDEFPREFIX +CPPDEFSUFFIX +INCPREFIX +INCSUFFIX +SHOBJSUFFIX + +CFILESUFFIX -PLATFORM +PLATFORM + The C compiler. + + The command line used to compile a C source file to a (static) object file. Any options specified in the &cv-link-CFLAGS;, &cv-link-CCFLAGS; and &cv-link-CPPFLAGS; construction variables are included on this command line. + + The string displayed when a C source file is compiled to a (static) object file. If this is not set, then &cv-link-CCCOM; (the command line) is displayed. + - + env = Environment(CCCOMSTR = "Compiling static object $TARGET") - + + General options that are passed to the C and C++ compilers. + + General options that are passed to the C compiler (C only; not C++). + + 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 @@ -97,65 +129,80 @@ contain that scons generates automatically from &cv-link-CPPPATH;. See &cv-link-_CPPINCFLAGS;, below, for the variable that expands to those options. + + 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", ".m", ".mm", ".S", ".spp", ".SPP"] - + + The C compiler used for generating shared-library objects. + + The command line used to compile a C source file to a shared-library object file. Any options specified in the &cv-link-SHCFLAGS;, &cv-link-SHCCFLAGS; and &cv-link-CPPFLAGS; construction variables are included on this command line. + + The string displayed when a C source file is compiled to a shared object file. If this is not set, then &cv-link-SHCCCOM; (the command line) is displayed. + - + env = Environment(SHCCCOMSTR = "Compiling shared object $TARGET") - + + Options that are passed to the C and C++ compilers to generate shared-library objects. + + Options that are passed to the C compiler (only; not C++) to generate shared-library objects. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/cvf.xml b/src/engine/SCons/Tool/cvf.xml index a8011e1..e64e157 100644 --- a/src/engine/SCons/Tool/cvf.xml +++ b/src/engine/SCons/Tool/cvf.xml @@ -1,30 +1,53 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the Compaq Visual Fortran compiler. + -FORTRAN -FORTRANCOM -FORTRANPPCOM -SHFORTRANCOM -SHFORTRANPPCOM -OBJSUFFIX -FORTRANMODDIR -FORTRANMODDIRPREFIX -FORTRANMODDIRSUFFIX +FORTRAN +FORTRANCOM +FORTRANPPCOM +SHFORTRANCOM +SHFORTRANPPCOM +OBJSUFFIX +FORTRANMODDIR +FORTRANMODDIRPREFIX +FORTRANMODDIRSUFFIX -FORTRANFLAGS -SHFORTRANFLAGS -_FORTRANMODFLAG -_FORTRANINCFLAGS -CPPFLAGS -_CPPDEFFLAGS +FORTRANFLAGS +SHFORTRANFLAGS +_FORTRANMODFLAG +_FORTRANINCFLAGS +CPPFLAGS +_CPPDEFFLAGS + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/default.xml b/src/engine/SCons/Tool/default.xml index e14f9f7..1d80f21 100644 --- a/src/engine/SCons/Tool/default.xml +++ b/src/engine/SCons/Tool/default.xml @@ -1,12 +1,35 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets variables by calling a default list of Tool modules for the platform on which SCons is running. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/dmd.xml b/src/engine/SCons/Tool/dmd.xml index 835a4eb..0a6b654 100644 --- a/src/engine/SCons/Tool/dmd.xml +++ b/src/engine/SCons/Tool/dmd.xml @@ -1,53 +1,76 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for D language compilers (the Digital Mars D compiler, or GDC). + - + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/dvi.xml b/src/engine/SCons/Tool/dvi.xml index 8285a54..0e772cc 100644 --- a/src/engine/SCons/Tool/dvi.xml +++ b/src/engine/SCons/Tool/dvi.xml @@ -1,13 +1,34 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Attaches the &b-DVI; builder to the construction environment. + @@ -17,6 +38,7 @@ construction environment. + Builds a .dvi file from a .tex, .ltx or .latex input file. @@ -47,21 +69,26 @@ and will examine the contents .log file and re-run the &cv-link-LATEXCOM; command if the log file says it is necessary. + + The suffix .dvi (hard-coded within TeX itself) is automatically added to the target if it is not already present. Examples: + - + # builds from aaa.tex env.DVI(target = 'aaa.dvi', source = 'aaa.tex') # builds bbb.dvi env.DVI(target = 'bbb', source = 'bbb.ltx') # builds from ccc.latex env.DVI(target = 'ccc.dvi', source = 'ccc.latex') - + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/dvipdf.xml b/src/engine/SCons/Tool/dvipdf.xml index 7f5b160..9e8c76f 100644 --- a/src/engine/SCons/Tool/dvipdf.xml +++ b/src/engine/SCons/Tool/dvipdf.xml @@ -1,51 +1,84 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the dvipdf utility. + -DVIPDF -DVIPDFFLAGS -DVIPDFCOM +DVIPDF +DVIPDFFLAGS +DVIPDFCOM -DVIPDFCOMSTR +DVIPDFCOMSTR + The TeX DVI file to PDF file converter. + + General options passed to the TeX DVI file to PDF file converter. + + The command line used to convert TeX DVI files into a PDF file. + + The string displayed when a TeX DVI file is converted into a PDF file. If this is not set, then &cv-link-DVIPDFCOM; (the command line) is displayed. + + A deprecated synonym for &cv-link-DVIPDFCOM;. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/dvips.xml b/src/engine/SCons/Tool/dvips.xml index 328bb46..ec6baa6 100644 --- a/src/engine/SCons/Tool/dvips.xml +++ b/src/engine/SCons/Tool/dvips.xml @@ -1,27 +1,49 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the dvips utility. + -DVIPS -DVIPSFLAGS -PSCOM -PSPREFIX -PSSUFFIX +DVIPS +DVIPSFLAGS +PSCOM +PSPREFIX +PSSUFFIX -PSCOMSTR +PSCOMSTR + Builds a .ps file from a .dvi input file (or, by extension, a .tex, @@ -32,50 +54,65 @@ The suffix specified by the &cv-link-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 env.PostScript(target = 'bbb', source = 'bbb.dvi') - + + The TeX DVI file to PostScript converter. + + General options passed to the TeX DVI file to PostScript converter. + + The command line used to convert TeX DVI files into a PostScript file. + + The string displayed when a TeX DVI file is converted into a PostScript file. If this is not set, then &cv-link-PSCOM; (the command line) is displayed. + + The prefix used for PostScript file names. + + The prefix used for PostScript file names. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/f03.xml b/src/engine/SCons/Tool/f03.xml index ef737de..5f9c4fd 100644 --- a/src/engine/SCons/Tool/f03.xml +++ b/src/engine/SCons/Tool/f03.xml @@ -1,79 +1,111 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Set construction variables for generic POSIX Fortran 03 compilers. + -F03 -F03FLAGS -F03COM -F03PPCOM -SHF03 -SHF03FLAGS -SHF03COM -SHF03PPCOM -_F03INCFLAGS +F03 +F03FLAGS +F03COM +F03PPCOM +SHF03 +SHF03FLAGS +SHF03COM +SHF03PPCOM +_F03INCFLAGS -F03COMSTR -F03PPCOMSTR -SHF03COMSTR -SHF03PPCOMSTR +F03COMSTR +F03PPCOMSTR +SHF03COMSTR +SHF03PPCOMSTR + The Fortran 03 compiler. You should normally set the &cv-link-FORTRAN; variable, which specifies the default Fortran compiler for all Fortran versions. You only need to set &cv-link-F03; if you need to use a specific compiler or compiler version for Fortran 03 files. + + The command line used to compile a Fortran 03 source file to an object file. You only need to set &cv-link-F03COM; if you need to use a specific command line for Fortran 03 files. You should normally set the &cv-link-FORTRANCOM; variable, which specifies the default command line for all Fortran versions. + + The string displayed when a Fortran 03 source file is compiled to an object file. If this is not set, then &cv-link-F03COM; or &cv-link-FORTRANCOM; (the command line) is displayed. + + The list of file extensions for which the F03 dialect will be used. By default, this is ['.f03'] + + The list of file extensions for which the compilation + preprocessor pass for F03 dialect will be used. By default, this is empty + + General user-specified options that are passed to the Fortran 03 compiler. Note that this variable does not @@ -91,11 +123,13 @@ You should normally set the &cv-link-FORTRANFLAGS; variable, which specifies the user-specified options passed to the default Fortran compiler for all Fortran versions. + + An automatically-generated construction variable containing the Fortran 03 compiler command-line options for specifying directories to be searched for include files. @@ -103,11 +137,13 @@ The value of &cv-link-_F03INCFLAGS; is created by appending &cv-link-INCPREFIX; and &cv-link-INCSUFFIX; to the beginning and end of each directory in &cv-link-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 @@ -123,20 +159,24 @@ You should normally set the &cv-link-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;() function: + - + include = Dir('include') env = Environment(F03PATH=include) - + + The directory list will be added to command lines through the automatically-generated &cv-link-_F03INCFLAGS; @@ -150,15 +190,17 @@ of each directory in &cv-link-F03PATH;. Any command lines you define that need the F03PATH directory list should include &cv-link-_F03INCFLAGS;: + - + env = Environment(F03COM="my_compiler $_F03INCFLAGS -c -o $TARGET $SOURCE") - + + 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 &cv-link-F03FLAGS; and &cv-link-CPPFLAGS; construction variables @@ -168,32 +210,38 @@ C-preprocessor command line for Fortran 03 files. You should normally set the &cv-link-FORTRANPPCOM; variable, which specifies the default C-preprocessor command line for all Fortran versions. + + 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 &cv-link-F03PPCOM; or &cv-link-FORTRANPPCOM; (the command line) is displayed. + + The Fortran 03 compiler used for generating shared-library objects. You should normally set the &cv-link-SHFORTRAN; variable, which specifies the default Fortran compiler for all Fortran versions. You only need to set &cv-link-SHF03; if you need to use a specific compiler or compiler version for Fortran 03 files. + + The command line used to compile a Fortran 03 source file to a shared-library object file. You only need to set &cv-link-SHF03COM; if you need to use a specific @@ -201,20 +249,24 @@ command line for Fortran 03 files. You should normally set the &cv-link-SHFORTRANCOM; variable, which specifies the default command line for all Fortran versions. + + The string displayed when a Fortran 03 source file is compiled to a shared-library object file. If this is not set, then &cv-link-SHF03COM; or &cv-link-SHFORTRANCOM; (the command line) is displayed. + + Options that are passed to the Fortran 03 compiler to generated shared-library objects. You only need to set &cv-link-SHF03FLAGS; if you need to define specific @@ -223,11 +275,13 @@ You should normally set the &cv-link-SHFORTRANFLAGS; variable, which specifies the user-specified options passed to the default Fortran compiler for all Fortran versions. + + 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. @@ -238,15 +292,20 @@ C-preprocessor command line for Fortran 03 files. You should normally set the &cv-link-SHFORTRANPPCOM; variable, which specifies the default C-preprocessor command line for all Fortran versions. + + 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 &cv-link-SHF03PPCOM; or &cv-link-SHFORTRANPPCOM; (the command line) is displayed. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/f77.xml b/src/engine/SCons/Tool/f77.xml index 8e60d71..b55c17f 100644 --- a/src/engine/SCons/Tool/f77.xml +++ b/src/engine/SCons/Tool/f77.xml @@ -1,92 +1,124 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Set construction variables for generic POSIX Fortran 77 compilers. + -F77 -F77FLAGS -F77COM -F77PPCOM -F77FILESUFFIXES -F77PPFILESUFFIXES -FORTRAN -FORTRANFLAGS -FORTRANCOM -SHF77 -SHF77FLAGS -SHF77COM -SHF77PPCOM -SHFORTRAN -SHFORTRANFLAGS -SHFORTRANCOM -SHFORTRANPPCOM -_F77INCFLAGS +F77 +F77FLAGS +F77COM +F77PPCOM +F77FILESUFFIXES +F77PPFILESUFFIXES +FORTRAN +FORTRANFLAGS +FORTRANCOM +SHF77 +SHF77FLAGS +SHF77COM +SHF77PPCOM +SHFORTRAN +SHFORTRANFLAGS +SHFORTRANCOM +SHFORTRANPPCOM +_F77INCFLAGS -F77COMSTR -F77PPCOMSTR -FORTRANCOMSTR -FORTRANPPCOMSTR -SHF77COMSTR -SHF77PPCOMSTR -SHFORTRANCOMSTR -SHFORTRANPPCOMSTR +F77COMSTR +F77PPCOMSTR +FORTRANCOMSTR +FORTRANPPCOMSTR +SHF77COMSTR +SHF77PPCOMSTR +SHFORTRANCOMSTR +SHFORTRANPPCOMSTR + The Fortran 77 compiler. You should normally set the &cv-link-FORTRAN; variable, which specifies the default Fortran compiler for all Fortran versions. You only need to set &cv-link-F77; if you need to use a specific compiler or compiler version for Fortran 77 files. + + The command line used to compile a Fortran 77 source file to an object file. You only need to set &cv-link-F77COM; if you need to use a specific command line for Fortran 77 files. You should normally set the &cv-link-FORTRANCOM; variable, which specifies the default command line for all Fortran versions. + + The list of file extensions for which the F77 dialect will be used. By default, this is ['.f77'] + + The list of file extensions for which the compilation + preprocessor pass for F77 dialect will be used. By default, this is empty + + The string displayed when a Fortran 77 source file is compiled to an object file. If this is not set, then &cv-link-F77COM; or &cv-link-FORTRANCOM; (the command line) is displayed. + + General user-specified options that are passed to the Fortran 77 compiler. Note that this variable does not @@ -104,11 +136,13 @@ You should normally set the &cv-link-FORTRANFLAGS; variable, which specifies the user-specified options passed to the default Fortran compiler for all Fortran versions. + + An automatically-generated construction variable containing the Fortran 77 compiler command-line options for specifying directories to be searched for include files. @@ -116,11 +150,13 @@ The value of &cv-link-_F77INCFLAGS; is created by appending &cv-link-INCPREFIX; and &cv-link-INCSUFFIX; to the beginning and end of each directory in &cv-link-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 @@ -136,20 +172,24 @@ You should normally set the &cv-link-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;() function: + - + include = Dir('include') env = Environment(F77PATH=include) - + + The directory list will be added to command lines through the automatically-generated &cv-link-_F77INCFLAGS; @@ -163,15 +203,17 @@ of each directory in &cv-link-F77PATH;. Any command lines you define that need the F77PATH directory list should include &cv-link-_F77INCFLAGS;: + - + env = Environment(F77COM="my_compiler $_F77INCFLAGS -c -o $TARGET $SOURCE") - + + 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 &cv-link-F77FLAGS; and &cv-link-CPPFLAGS; construction variables @@ -181,32 +223,38 @@ C-preprocessor command line for Fortran 77 files. You should normally set the &cv-link-FORTRANPPCOM; variable, which specifies the default C-preprocessor command line for all Fortran versions. + + 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 &cv-link-F77PPCOM; or &cv-link-FORTRANPPCOM; (the command line) is displayed. + + The Fortran 77 compiler used for generating shared-library objects. You should normally set the &cv-link-SHFORTRAN; variable, which specifies the default Fortran compiler for all Fortran versions. You only need to set &cv-link-SHF77; if you need to use a specific compiler or compiler version for Fortran 77 files. + + The command line used to compile a Fortran 77 source file to a shared-library object file. You only need to set &cv-link-SHF77COM; if you need to use a specific @@ -214,20 +262,24 @@ command line for Fortran 77 files. You should normally set the &cv-link-SHFORTRANCOM; variable, which specifies the default command line for all Fortran versions. + + The string displayed when a Fortran 77 source file is compiled to a shared-library object file. If this is not set, then &cv-link-SHF77COM; or &cv-link-SHFORTRANCOM; (the command line) is displayed. + + Options that are passed to the Fortran 77 compiler to generated shared-library objects. You only need to set &cv-link-SHF77FLAGS; if you need to define specific @@ -236,11 +288,13 @@ You should normally set the &cv-link-SHFORTRANFLAGS; variable, which specifies the user-specified options passed to the default Fortran compiler for all Fortran versions. + + 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. @@ -251,15 +305,20 @@ C-preprocessor command line for Fortran 77 files. You should normally set the &cv-link-SHFORTRANPPCOM; variable, which specifies the default C-preprocessor command line for all Fortran versions. + + 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 &cv-link-SHF77PPCOM; or &cv-link-SHFORTRANPPCOM; (the command line) is displayed. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/f90.xml b/src/engine/SCons/Tool/f90.xml index 4a2884e..3deb99d 100644 --- a/src/engine/SCons/Tool/f90.xml +++ b/src/engine/SCons/Tool/f90.xml @@ -1,79 +1,111 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Set construction variables for generic POSIX Fortran 90 compilers. + -F90 -F90FLAGS -F90COM -F90PPCOM -SHF90 -SHF90FLAGS -SHF90COM -SHF90PPCOM -_F90INCFLAGS +F90 +F90FLAGS +F90COM +F90PPCOM +SHF90 +SHF90FLAGS +SHF90COM +SHF90PPCOM +_F90INCFLAGS -F90COMSTR -F90PPCOMSTR -SHF90COMSTR -SHF90PPCOMSTR +F90COMSTR +F90PPCOMSTR +SHF90COMSTR +SHF90PPCOMSTR + The Fortran 90 compiler. You should normally set the &cv-link-FORTRAN; variable, which specifies the default Fortran compiler for all Fortran versions. You only need to set &cv-link-F90; if you need to use a specific compiler or compiler version for Fortran 90 files. + + The command line used to compile a Fortran 90 source file to an object file. You only need to set &cv-link-F90COM; if you need to use a specific command line for Fortran 90 files. You should normally set the &cv-link-FORTRANCOM; variable, which specifies the default command line for all Fortran versions. + + The string displayed when a Fortran 90 source file is compiled to an object file. If this is not set, then &cv-link-F90COM; or &cv-link-FORTRANCOM; (the command line) is displayed. + + The list of file extensions for which the F90 dialect will be used. By default, this is ['.f90'] + + The list of file extensions for which the compilation + preprocessor pass for F90 dialect will be used. By default, this is empty + + General user-specified options that are passed to the Fortran 90 compiler. Note that this variable does not @@ -91,11 +123,13 @@ You should normally set the &cv-link-FORTRANFLAGS; variable, which specifies the user-specified options passed to the default Fortran compiler for all Fortran versions. + + An automatically-generated construction variable containing the Fortran 90 compiler command-line options for specifying directories to be searched for include files. @@ -103,11 +137,13 @@ The value of &cv-link-_F90INCFLAGS; is created by appending &cv-link-INCPREFIX; and &cv-link-INCSUFFIX; to the beginning and end of each directory in &cv-link-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 @@ -123,20 +159,24 @@ You should normally set the &cv-link-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;() function: + - + include = Dir('include') env = Environment(F90PATH=include) - + + The directory list will be added to command lines through the automatically-generated &cv-link-_F90INCFLAGS; @@ -150,15 +190,17 @@ of each directory in &cv-link-F90PATH;. Any command lines you define that need the F90PATH directory list should include &cv-link-_F90INCFLAGS;: + - + env = Environment(F90COM="my_compiler $_F90INCFLAGS -c -o $TARGET $SOURCE") - + + 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 &cv-link-F90FLAGS; and &cv-link-CPPFLAGS; construction variables @@ -168,31 +210,37 @@ C-preprocessor command line for Fortran 90 files. You should normally set the &cv-link-FORTRANPPCOM; variable, which specifies the default C-preprocessor command line for all Fortran versions. + + 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 &cv-link-F90PPCOM; or &cv-link-FORTRANPPCOM; (the command line) is displayed. + + The Fortran 90 compiler used for generating shared-library objects. You should normally set the &cv-link-SHFORTRAN; variable, which specifies the default Fortran compiler for all Fortran versions. You only need to set &cv-link-SHF90; if you need to use a specific compiler or compiler version for Fortran 90 files. + + The command line used to compile a Fortran 90 source file to a shared-library object file. You only need to set &cv-link-SHF90COM; if you need to use a specific @@ -200,20 +248,24 @@ command line for Fortran 90 files. You should normally set the &cv-link-SHFORTRANCOM; variable, which specifies the default command line for all Fortran versions. + + The string displayed when a Fortran 90 source file is compiled to a shared-library object file. If this is not set, then &cv-link-SHF90COM; or &cv-link-SHFORTRANCOM; (the command line) is displayed. + + Options that are passed to the Fortran 90 compiler to generated shared-library objects. You only need to set &cv-link-SHF90FLAGS; if you need to define specific @@ -222,11 +274,13 @@ You should normally set the &cv-link-SHFORTRANFLAGS; variable, which specifies the user-specified options passed to the default Fortran compiler for all Fortran versions. + + 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. @@ -237,15 +291,20 @@ C-preprocessor command line for Fortran 90 files. You should normally set the &cv-link-SHFORTRANPPCOM; variable, which specifies the default C-preprocessor command line for all Fortran versions. + + 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 &cv-link-SHF90PPCOM; or &cv-link-SHFORTRANPPCOM; (the command line) is displayed. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/f95.xml b/src/engine/SCons/Tool/f95.xml index 4c2a91a..7c59813 100644 --- a/src/engine/SCons/Tool/f95.xml +++ b/src/engine/SCons/Tool/f95.xml @@ -1,79 +1,111 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Set construction variables for generic POSIX Fortran 95 compilers. + -F95 -F95FLAGS -F95COM -F95PPCOM -SHF95 -SHF95FLAGS -SHF95COM -SHF95PPCOM -_F95INCFLAGS +F95 +F95FLAGS +F95COM +F95PPCOM +SHF95 +SHF95FLAGS +SHF95COM +SHF95PPCOM +_F95INCFLAGS -F95COMSTR -F95PPCOMSTR -SHF95COMSTR -SHF95PPCOMSTR +F95COMSTR +F95PPCOMSTR +SHF95COMSTR +SHF95PPCOMSTR + The Fortran 95 compiler. You should normally set the &cv-link-FORTRAN; variable, which specifies the default Fortran compiler for all Fortran versions. You only need to set &cv-link-F95; if you need to use a specific compiler or compiler version for Fortran 95 files. + + The command line used to compile a Fortran 95 source file to an object file. You only need to set &cv-link-F95COM; if you need to use a specific command line for Fortran 95 files. You should normally set the &cv-link-FORTRANCOM; variable, which specifies the default command line for all Fortran versions. + + The string displayed when a Fortran 95 source file is compiled to an object file. If this is not set, then &cv-link-F95COM; or &cv-link-FORTRANCOM; (the command line) is displayed. + + The list of file extensions for which the F95 dialect will be used. By default, this is ['.f95'] + + The list of file extensions for which the compilation + preprocessor pass for F95 dialect will be used. By default, this is empty + + General user-specified options that are passed to the Fortran 95 compiler. Note that this variable does not @@ -91,11 +123,13 @@ You should normally set the &cv-link-FORTRANFLAGS; variable, which specifies the user-specified options passed to the default Fortran compiler for all Fortran versions. + + An automatically-generated construction variable containing the Fortran 95 compiler command-line options for specifying directories to be searched for include files. @@ -103,11 +137,13 @@ The value of &cv-link-_F95INCFLAGS; is created by appending &cv-link-INCPREFIX; and &cv-link-INCSUFFIX; to the beginning and end of each directory in &cv-link-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 @@ -123,20 +159,24 @@ You should normally set the &cv-link-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;() function: + - + include = Dir('include') env = Environment(F95PATH=include) - + + The directory list will be added to command lines through the automatically-generated &cv-link-_F95INCFLAGS; @@ -150,15 +190,17 @@ of each directory in &cv-link-F95PATH;. Any command lines you define that need the F95PATH directory list should include &cv-link-_F95INCFLAGS;: + - + env = Environment(F95COM="my_compiler $_F95INCFLAGS -c -o $TARGET $SOURCE") - + + 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 &cv-link-F95FLAGS; and &cv-link-CPPFLAGS; construction variables @@ -168,32 +210,38 @@ C-preprocessor command line for Fortran 95 files. You should normally set the &cv-link-FORTRANPPCOM; variable, which specifies the default C-preprocessor command line for all Fortran versions. + + 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 &cv-link-F95PPCOM; or &cv-link-FORTRANPPCOM; (the command line) is displayed. + + The Fortran 95 compiler used for generating shared-library objects. You should normally set the &cv-link-SHFORTRAN; variable, which specifies the default Fortran compiler for all Fortran versions. You only need to set &cv-link-SHF95; if you need to use a specific compiler or compiler version for Fortran 95 files. + + The command line used to compile a Fortran 95 source file to a shared-library object file. You only need to set &cv-link-SHF95COM; if you need to use a specific @@ -201,20 +249,24 @@ command line for Fortran 95 files. You should normally set the &cv-link-SHFORTRANCOM; variable, which specifies the default command line for all Fortran versions. + + The string displayed when a Fortran 95 source file is compiled to a shared-library object file. If this is not set, then &cv-link-SHF95COM; or &cv-link-SHFORTRANCOM; (the command line) is displayed. + + Options that are passed to the Fortran 95 compiler to generated shared-library objects. You only need to set &cv-link-SHF95FLAGS; if you need to define specific @@ -223,11 +275,13 @@ You should normally set the &cv-link-SHFORTRANFLAGS; variable, which specifies the user-specified options passed to the default Fortran compiler for all Fortran versions. + + 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. @@ -238,15 +292,20 @@ C-preprocessor command line for Fortran 95 files. You should normally set the &cv-link-SHFORTRANPPCOM; variable, which specifies the default C-preprocessor command line for all Fortran versions. + + 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 &cv-link-SHF95PPCOM; or &cv-link-SHFORTRANPPCOM; (the command line) is displayed. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/fortran.xml b/src/engine/SCons/Tool/fortran.xml index 8d7e700..d2d8426 100644 --- a/src/engine/SCons/Tool/fortran.xml +++ b/src/engine/SCons/Tool/fortran.xml @@ -1,39 +1,63 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Set construction variables for generic POSIX Fortran compilers. + -FORTRAN -FORTRANFLAGS -FORTRANCOM -SHFORTRAN -SHFORTRANFLAGS -SHFORTRANCOM -SHFORTRANPPCOM +FORTRAN +FORTRANFLAGS +FORTRANCOM +SHFORTRAN +SHFORTRANFLAGS +SHFORTRANCOM +SHFORTRANPPCOM -FORTRANCOMSTR -FORTRANPPCOMSTR -SHFORTRANCOMSTR -SHFORTRANPPCOMSTR +FORTRANCOMSTR +FORTRANPPCOMSTR +SHFORTRANCOMSTR +SHFORTRANPPCOMSTR + The default Fortran compiler for all versions of Fortran. + + The command line used to compile a Fortran source file to an object file. By default, any options specified in the &cv-link-FORTRANFLAGS;, @@ -42,34 +66,42 @@ in the &cv-link-FORTRANFLAGS;, &cv-link-_FORTRANMODFLAG;, and &cv-link-_FORTRANINCFLAGS; construction variables are included on this command line. + + The string displayed when a Fortran source file is compiled to an object file. If this is not set, then &cv-link-FORTRANCOM; (the command line) is displayed. + + The list of file extensions for which the FORTRAN dialect will be used. By default, this is ['.f', '.for', '.ftn'] + + The list of file extensions for which the compilation + preprocessor pass for FORTRAN dialect will be used. By default, this is ['.fpp', '.FPP'] + + General user-specified options that are passed to the Fortran compiler. Note that this variable does not @@ -81,11 +113,13 @@ See &cv-link-_FORTRANINCFLAGS; and &cv-link-_FORTRANMODFLAG;, below, for the variables that expand those options. + + An automatically-generated construction variable containing the Fortran compiler command-line options for specifying directories to be searched for include @@ -94,40 +128,48 @@ The value of &cv-link-_FORTRANINCFLAGS; is created by prepending/appending &cv-link-INCPREFIX; and &cv-link-INCSUFFIX; to the beginning and end of each directory in &cv-link-FORTRANPATH;. + + 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 for module files, as well. + + The prefix used to specify a module directory on the Fortran compiler command line. This will be appended to the beginning of the directory in the &cv-link-FORTRANMODDIR; construction variables when the &cv-link-_FORTRANMODFLAG; variables is automatically generated. + + The suffix used to specify a module directory on the Fortran compiler command line. This will be appended to the beginning of the directory in the &cv-link-FORTRANMODDIR; construction variables when the &cv-link-_FORTRANMODFLAG; variables is automatically generated. + + An automatically-generated construction variable containing the Fortran compiler command-line option for specifying the directory location where the Fortran @@ -137,11 +179,13 @@ The value of &cv-link-_FORTRANMODFLAG; is created by prepending/appending &cv-link-FORTRANMODDIRPREFIX; and &cv-link-FORTRANMODDIRSUFFIX; to the beginning and end of the directory in &cv-link-FORTRANMODDIR;. + + 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 @@ -150,11 +194,13 @@ As a result, this variable is left empty, by default. For situations in which the compiler does not necessarily follow the normal convention, the user may use this variable. Its value will be appended to every module file name as scons attempts to resolve dependencies. + + 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 @@ -163,11 +209,13 @@ As a result, this variable is set to ".mod", by default. For situations in which the compiler does not necessarily follow the normal convention, the user may use this variable. Its value will be appended to every module file name as scons attempts to resolve dependencies. + + 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 @@ -179,20 +227,24 @@ 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; 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;() function: + - + include = Dir('include') env = Environment(FORTRANPATH=include) - + + The directory list will be added to command lines through the automatically-generated &cv-link-_FORTRANINCFLAGS; @@ -206,15 +258,17 @@ of each directory in &cv-link-FORTRANPATH;. Any command lines you define that need the FORTRANPATH directory list should include &cv-link-_FORTRANINCFLAGS;: + - + env = Environment(FORTRANCOM="my_compiler $_FORTRANINCFLAGS -c -o $TARGET $SOURCE") - + + 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 &cv-link-FORTRANFLAGS;, @@ -223,64 +277,78 @@ By default, any options specified in the &cv-link-FORTRANFLAGS;, &cv-link-_FORTRANMODFLAG;, and &cv-link-_FORTRANINCFLAGS; construction variables are included on this command line. + + 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 &cv-link-FORTRANPPCOM; (the command line) is displayed. + + 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"] - + + The default Fortran compiler used for generating shared-library objects. + + The command line used to compile a Fortran source file to a shared-library object file. + + The string displayed when a Fortran source file is compiled to a shared-library object file. If this is not set, then &cv-link-SHFORTRANCOM; (the command line) is displayed. + + Options that are passed to the Fortran compiler to generate shared-library objects. + + 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. @@ -288,15 +356,20 @@ Any options specified in the &cv-link-SHFORTRANFLAGS; and &cv-link-CPPFLAGS; construction variables are included on this command line. + + 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 &cv-link-SHFORTRANPPCOM; (the command line) is displayed. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/g++.xml b/src/engine/SCons/Tool/g++.xml index 79444b9..dd524b2 100644 --- a/src/engine/SCons/Tool/g++.xml +++ b/src/engine/SCons/Tool/g++.xml @@ -1,18 +1,41 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Set construction variables for the &gXX; C++ compiler. + -CXX -SHCXXFLAGS - -SHOBJSUFFIX -CXXVERSION +CXX +SHCXXFLAGS + +SHOBJSUFFIX +CXXVERSION + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/g77.xml b/src/engine/SCons/Tool/g77.xml index 96d6f87..271c99d 100644 --- a/src/engine/SCons/Tool/g77.xml +++ b/src/engine/SCons/Tool/g77.xml @@ -1,13 +1,36 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Set construction variables for the &g77; Fortran compiler. Calls the &t-f77; Tool module to set variables. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/gas.xml b/src/engine/SCons/Tool/gas.xml index 62bad7b..a5dc74c 100644 --- a/src/engine/SCons/Tool/gas.xml +++ b/src/engine/SCons/Tool/gas.xml @@ -1,15 +1,38 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the &gas; assembler. Calls the &t-as; module. + -AS +AS + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/gcc.xml b/src/engine/SCons/Tool/gcc.xml index f36a5eb..4dedcf6 100644 --- a/src/engine/SCons/Tool/gcc.xml +++ b/src/engine/SCons/Tool/gcc.xml @@ -1,16 +1,39 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Set construction variables for the &gcc; C compiler. + -CC -SHCCFLAGS -CCVERSION +CC +SHCCFLAGS +CCVERSION + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/gettext.xml b/src/engine/SCons/Tool/gettext.xml index 3a9a78d..4f51b1e 100644 --- a/src/engine/SCons/Tool/gettext.xml +++ b/src/engine/SCons/Tool/gettext.xml @@ -1,15 +1,37 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + This is actually a toolset, which supports internationalization and localization of sofware being constructed with SCons. The toolset loads following tools: + + &t-link-xgettext; - to extract internationalized messages from source code to @@ -27,30 +49,38 @@ following tools: installable MO file. + + When you enable &t-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 &b-Translate; described few paragraphs later. + + To use &t-gettext; tools add 'gettext' tool to your environment: - + + env = Environment( tools = ['default', 'gettext'] ) - + - + + This pseudo-builder belongs to &t-link-gettext; toolset. The builder extracts internationalized messages from source files, updates POT template (if necessary) and then updates PO translations (if @@ -59,42 +89,48 @@ will be automatically created (i.e. without translator person intervention). The variables &cv-link-LINGUAS_FILE; and &cv-link-POTDOMAIN; are taken into acount too. All other construction variables used by &b-link-POTUpdate;, and &b-link-POUpdate; work here too. + + Example 1. The simplest way is to specify input files and output languages inline in a SCons script when invoking &b-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 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 @@ -109,10 +145,13 @@ directory (and not in variant directories). Additionaly, the file listing of po/ directory contains LINGUAS file, 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/ @@ -122,29 +161,36 @@ Let's prepare a development tree as below + SConscript.i18n + 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) env['POAUTOINIT'] = 1 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 @@ -152,18 +198,22 @@ under source tree in src/po/ and binary PO files are separated from other output files, which must 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 po-update and then MO files can be compiled by running scons '.'. + + The &cv-POTDOMAIN; defines default domain, used to generate POT filename as &cv-POTDOMAIN;.pot when no POT file name is provided by the user. This applies to @@ -171,22 +221,26 @@ no POT file name is provided by the user. This applies to builders, that use them, e.g. &b-Translate;). Normally (if &cv-POTDOMAIN; is not defined), the builders use messages.pot as default POT file name. + + The &cv-POAUTOINIT; variable, if set to True (on non-zero numeric value), let the &t-link-msginit; tool to automatically initialize missing PO files with msginit(1). This applies to both, &b-link-POInit; and &b-link-POUpdate; builders (and others that use any of them). + + The &cv-LINGUAS_FILE; defines file(s) containing list of additional linguas to be processed by &b-link-POInit;, &b-link-POUpdate; or &b-link-MOFiles; builders. It also affects &b-link-Translate; builder. If the variable contains @@ -195,6 +249,9 @@ list of file names as well. If &cv-LINGUAS_FILE; is set to True (or non-zero numeric value), the list will be read from default file named LINGUAS. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/gfortran.xml b/src/engine/SCons/Tool/gfortran.xml index 21666ea..7c7315a 100644 --- a/src/engine/SCons/Tool/gfortran.xml +++ b/src/engine/SCons/Tool/gfortran.xml @@ -1,25 +1,48 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the GNU F95/F2003 GNU compiler. + -FORTRAN -F77 -F90 -F95 -SHFORTRAN -SHF77 -SHF90 -SHF95 -SHFORTRANFLAGS -SHF77FLAGS -SHF90FLAGS -SHF95FLAGS +FORTRAN +F77 +F90 +F95 +SHFORTRAN +SHF77 +SHF90 +SHF95 +SHFORTRANFLAGS +SHF77FLAGS +SHF90FLAGS +SHF95FLAGS + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/gnulink.xml b/src/engine/SCons/Tool/gnulink.xml index d822081..ff7f335 100644 --- a/src/engine/SCons/Tool/gnulink.xml +++ b/src/engine/SCons/Tool/gnulink.xml @@ -1,16 +1,39 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Set construction variables for GNU linker/loader. + -SHLINKFLAGS -RPATHPREFIX -RPATHSUFFIX +SHLINKFLAGS +RPATHPREFIX +RPATHSUFFIX + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/gs.xml b/src/engine/SCons/Tool/gs.xml index 2376735..ff815f6 100644 --- a/src/engine/SCons/Tool/gs.xml +++ b/src/engine/SCons/Tool/gs.xml @@ -1,47 +1,78 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Set construction variables for Ghostscript. + -GS -GSFLAGS -GSCOM +GS +GSFLAGS +GSCOM -GSCOMSTR +GSCOMSTR + The Ghostscript program used to convert PostScript to PDF files. + + The Ghostscript command line used to convert PostScript to PDF files. + + The string displayed when Ghostscript is used to convert a PostScript file to a PDF file. If this is not set, then &cv-link-GSCOM; (the command line) is displayed. + + General options passed to the Ghostscript program when converting PostScript to PDF files. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/hpc++.xml b/src/engine/SCons/Tool/hpc++.xml index 893907a..07b3ba3 100644 --- a/src/engine/SCons/Tool/hpc++.xml +++ b/src/engine/SCons/Tool/hpc++.xml @@ -1,11 +1,34 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Set construction variables for the compilers aCC on HP/UX systems. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/hpcc.xml b/src/engine/SCons/Tool/hpcc.xml index 62a1ca4..1b0db05 100644 --- a/src/engine/SCons/Tool/hpcc.xml +++ b/src/engine/SCons/Tool/hpcc.xml @@ -1,18 +1,41 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Set construction variables for the aCC on HP/UX systems. Calls the &t-cXX; tool for additional variables. + -CXX -SHCXXFLAGS -CXXVERSION +CXX +SHCXXFLAGS +CXXVERSION + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/hplink.xml b/src/engine/SCons/Tool/hplink.xml index 6a45017..2072844 100644 --- a/src/engine/SCons/Tool/hplink.xml +++ b/src/engine/SCons/Tool/hplink.xml @@ -1,16 +1,39 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the linker on HP/UX systems. + -LINKFLAGS -SHLINKFLAGS -SHLIBSUFFIX +LINKFLAGS +SHLINKFLAGS +SHLIBSUFFIX + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/icc.xml b/src/engine/SCons/Tool/icc.xml index a585f3f..ccd8749 100644 --- a/src/engine/SCons/Tool/icc.xml +++ b/src/engine/SCons/Tool/icc.xml @@ -1,30 +1,53 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the icc compiler on OS/2 systems. + -CC -CCCOM -CXXCOM -CPPDEFPREFIX -CPPDEFSUFFIX -INCPREFIX -INCSUFFIX -CFILESUFFIX -CXXFILESUFFIX +CC +CCCOM +CXXCOM +CPPDEFPREFIX +CPPDEFSUFFIX +INCPREFIX +INCSUFFIX +CFILESUFFIX +CXXFILESUFFIX -CFLAGS -CCFLAGS -CPPFLAGS -_CPPDEFFLAGS -_CPPINCFLAGS +CFLAGS +CCFLAGS +CPPFLAGS +_CPPDEFFLAGS +_CPPINCFLAGS + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/icl.xml b/src/engine/SCons/Tool/icl.xml index 13b6392..a75fb5a 100644 --- a/src/engine/SCons/Tool/icl.xml +++ b/src/engine/SCons/Tool/icl.xml @@ -1,12 +1,35 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the Intel C/C++ compiler. Calls the &t-intelc; Tool module to set its variables. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/ifl.xml b/src/engine/SCons/Tool/ifl.xml index 06f2427..c03bdff 100644 --- a/src/engine/SCons/Tool/ifl.xml +++ b/src/engine/SCons/Tool/ifl.xml @@ -1,24 +1,47 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the Intel Fortran compiler. + -FORTRAN -FORTRANCOM -FORTRANPPCOM -SHFORTRANCOM -SHFORTRANPPCOM +FORTRAN +FORTRANCOM +FORTRANPPCOM +SHFORTRANCOM +SHFORTRANPPCOM -FORTRANFLAGS -_FORTRANINCFLAGS -CPPFLAGS -_CPPDEFFLAGS +FORTRANFLAGS +_FORTRANINCFLAGS +CPPFLAGS +_CPPDEFFLAGS + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/ifort.xml b/src/engine/SCons/Tool/ifort.xml index 834708f..c9b14cd 100644 --- a/src/engine/SCons/Tool/ifort.xml +++ b/src/engine/SCons/Tool/ifort.xml @@ -1,26 +1,49 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for newer versions of the Intel Fortran compiler for Linux. + -FORTRAN -F77 -F90 -F95 -SHFORTRAN -SHF77 -SHF90 -SHF95 -SHFORTRANFLAGS -SHF77FLAGS -SHF90FLAGS -SHF95FLAGS +FORTRAN +F77 +F90 +F95 +SHFORTRAN +SHF77 +SHF90 +SHF95 +SHFORTRANFLAGS +SHF77FLAGS +SHF90FLAGS +SHF95FLAGS + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/ilink.xml b/src/engine/SCons/Tool/ilink.xml index 2b29b30..e0abc53 100644 --- a/src/engine/SCons/Tool/ilink.xml +++ b/src/engine/SCons/Tool/ilink.xml @@ -1,23 +1,46 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the ilink linker on OS/2 systems. + -LINK -LINKFLAGS -LINKCOM -LIBDIRPREFIX -LIBDIRSUFFIX -LIBLINKPREFIX -LIBLINKSUFFIX +LINK +LINKFLAGS +LINKCOM +LIBDIRPREFIX +LIBDIRSUFFIX +LIBLINKPREFIX +LIBLINKSUFFIX + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/ilink32.xml b/src/engine/SCons/Tool/ilink32.xml index 49e868b..e3595f7 100644 --- a/src/engine/SCons/Tool/ilink32.xml +++ b/src/engine/SCons/Tool/ilink32.xml @@ -1,23 +1,46 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the Borland ilink32 linker. + -LINK -LINKFLAGS -LINKCOM -LIBDIRPREFIX -LIBDIRSUFFIX -LIBLINKPREFIX -LIBLINKSUFFIX +LINK +LINKFLAGS +LINKCOM +LIBDIRPREFIX +LIBDIRSUFFIX +LIBLINKPREFIX +LIBLINKSUFFIX + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/install.xml b/src/engine/SCons/Tool/install.xml index bec592b..d5596be 100644 --- a/src/engine/SCons/Tool/install.xml +++ b/src/engine/SCons/Tool/install.xml @@ -1,3 +1,4 @@ + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + + Sets construction variables for file and directory installation. + -INSTALL -INSTALLSTR +INSTALL +INSTALLSTR + Installs one or more source files or directories in the specified target, which must be a directory. @@ -25,15 +47,17 @@ The names of the specified source files or directories remain the same within the destination directory. The sources may be given as a string or as a node returned by a builder. + - + env.Install('/usr/local/bin', source = ['foo', 'bar']) - + + Installs one or more source files or directories to specific names, allowing changing a file or directory name @@ -43,21 +67,26 @@ target and source arguments list different numbers of files or directories. + + Installs a versioned shared library. The &cv-link-SHLIBVERSION; construction variable should be defined in the environment to confirm the version number in the library name. The symlinks appropriate to the architecture will be generated. + - + env.InstallAs(target = '/usr/local/bin/foo', source = 'foo_debug') env.InstallAs(target = ['../lib/libfoo.a', '../lib/libbar.a'], source = ['libFOO.a', 'libBAR.a']) - + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/intelc.xml b/src/engine/SCons/Tool/intelc.xml index 0abc2a7..d974bce 100644 --- a/src/engine/SCons/Tool/intelc.xml +++ b/src/engine/SCons/Tool/intelc.xml @@ -1,24 +1,45 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the Intel C/C++ compiler (Linux and Windows, version 7 and later). Calls the &t-gcc; or &t-msvc; (on Linux and Windows, respectively) to set underlying variables. + -CC -CXX -LINK -AR - -INTEL_C_COMPILER_VERSION +CC +CXX +LINK +AR + +INTEL_C_COMPILER_VERSION @@ -26,8 +47,12 @@ INTEL_C_COMPILER_VERSION + Set by the "intelc" Tool to the major version number of the Intel C compiler selected for use. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/jar.xml b/src/engine/SCons/Tool/jar.xml index 9e8fefa..5bd694c 100644 --- a/src/engine/SCons/Tool/jar.xml +++ b/src/engine/SCons/Tool/jar.xml @@ -1,26 +1,48 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the &jar; utility. + -JAR -JARFLAGS -JARCOM -JARSUFFIX +JAR +JARFLAGS +JARCOM +JARSUFFIX -JARCOMSTR +JARCOMSTR + Builds a Java archive (.jar) file from the specified list of sources. Any directories in the source list @@ -28,7 +50,9 @@ will be searched for .class files). Any .java files in the source list will be compiled to .class files by calling the &b-link-Java; Builder. + + If the &cv-link-JARCHDIR; value is set, the &jar; command will change to the specified directory using the @@ -38,7 +62,9 @@ If &cv-JARCHDIR; is not set explicitly, &SCons; will use the top of any subdirectory tree in which Java .class were built by the &b-link-Java; Builder. + + If the contents any of the source files begin with the string Manifest-Version, the file is assumed to be a manifest @@ -47,64 +73,79 @@ and is passed to the command with the option set. + - + env.Jar(target = 'foo.jar', source = 'classes') env.Jar(target = 'bar.jar', source = ['bar1.java', 'bar2.java']) - + + The Java archive tool. + + The directory to which the Java archive tool should change (using the option). + + The command line used to call the Java archive tool. + + The string displayed when the Java archive tool is called If this is not set, then &cv-link-JARCOM; (the command line) is displayed. + - + env = Environment(JARCOMSTR = "JARchiving $SOURCES into $TARGET") - + + General options passed to the Java archive tool. By default this is set to to create the necessary jar file. + + The suffix for Java archives: .jar by default. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/javac.xml b/src/engine/SCons/Tool/javac.xml index f106952..824ad57 100644 --- a/src/engine/SCons/Tool/javac.xml +++ b/src/engine/SCons/Tool/javac.xml @@ -1,36 +1,60 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the &javac; compiler. + -JAVAC -JAVACFLAGS -JAVACCOM -JAVACLASSSUFFIX -JAVASUFFIX -JAVABOOTCLASSPATH -JAVACLASSPATH -JAVASOURCEPATH +JAVAC +JAVACFLAGS +JAVACCOM +JAVACLASSSUFFIX +JAVASUFFIX +JAVABOOTCLASSPATH +JAVACLASSPATH +JAVASOURCEPATH -JAVACCOMSTR +JAVACCOMSTR + Builds one or more Java class files. The sources may be any combination of explicit .java files, or directory trees which will be scanned for .java files. + + SCons will parse each source .java file to find the classes (including inner classes) @@ -39,7 +63,9 @@ and from that figure out the target .class files that will be created. The class files will be placed underneath 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 @@ -60,15 +86,19 @@ containing a package name of will generate a corresponding sub/dir/Foo.class 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, @@ -78,16 +108,18 @@ environment variable to tell the compiler what encoding is used. For portibility, it's best if the encoding is hard-coded so that the compile will work if it is done on a system with a different encoding. + - + env = Environment() env['ENV']['LANG'] = 'en_GB.UTF-8' - + + Specifies the list of directories that will be added to the &javac; command line @@ -96,56 +128,68 @@ The individual directory names will be separated by the operating system's path separate character (: on UNIX/Linux/POSIX, ; on Windows). + + The Java compiler. + + The command line used to compile a directory tree containing Java source files to corresponding Java class files. Any options specified in the &cv-link-JAVACFLAGS; construction variable are included on this command line. + + The string displayed when compiling a directory tree of Java source files to corresponding Java class files. If this is not set, then &cv-link-JAVACCOM; (the command line) is displayed. + - + env = Environment(JAVACCOMSTR = "Compiling class files $TARGETS from $SOURCES") - + + General options that are passed to the Java compiler. + + 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 JavaH builder. + + Specifies the list of directories that will be searched for Java .class file. @@ -156,25 +200,31 @@ The individual directory names will be separated by the operating system's path separate character (: on UNIX/Linux/POSIX, ; on Windows). + + Note that this currently just adds the specified directory via the option. &SCons; does not currently search the &cv-JAVACLASSPATH; directories for dependency .class files. + + The suffix for Java class files; .class by default. + + Specifies the list of directories that will be searched for input .java file. @@ -185,32 +235,40 @@ The individual directory names will be separated by the operating system's path separate character (: on UNIX/Linux/POSIX, ; on Windows). + + Note that this currently just adds the specified directory via the option. &SCons; does not currently search the &cv-JAVASOURCEPATH; directories for dependency .java files. + + The suffix for Java files; .java by default. + + Specifies the Java version being used by the &b-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. 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, @@ -220,5 +278,8 @@ Setting &cv-JAVAVERSION; to 1.5 (or 1.6, as appropriate) can make &SCons; realize that a Java 1.5 or 1.6 build is actually up to date. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/javah.xml b/src/engine/SCons/Tool/javah.xml index 20fe3ee..cee8476 100644 --- a/src/engine/SCons/Tool/javah.xml +++ b/src/engine/SCons/Tool/javah.xml @@ -1,27 +1,49 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the &javah; tool. + -JAVAH -JAVAHFLAGS -JAVAHCOM -JAVACLASSSUFFIX +JAVAH +JAVAHFLAGS +JAVAHCOM +JAVACLASSSUFFIX -JAVAHCOMSTR -JAVACLASSPATH +JAVAHCOMSTR +JAVACLASSPATH + Builds C header and source files for implementing Java native methods. The target can be either a directory @@ -35,7 +57,9 @@ by calling the &b-link-Java; builder method, or the objects returned from the &b-Java; builder method. + + If the construction variable &cv-link-JAVACLASSDIR; is set, either in the environment @@ -45,10 +69,13 @@ 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) @@ -61,40 +88,50 @@ env.JavaH(target = 'include', env.JavaH(target = 'export', source = ['classes/foo.class', 'classes/bar.class'], JAVACLASSDIR = 'classes') - + + The Java generator for C header and stub files. + + The command line used to generate C header and stub files from Java classes. Any options specified in the &cv-link-JAVAHFLAGS; construction variable are included on this command line. + + The string displayed when C header and stub files are generated from Java classes. If this is not set, then &cv-link-JAVAHCOM; (the command line) is displayed. + - + env = Environment(JAVAHCOMSTR = "Generating header/stub file(s) $TARGETS from $SOURCES") - + + General options passed to the C header and stub file generator for Java classes. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/latex.xml b/src/engine/SCons/Tool/latex.xml index 56d7db5..06ce12e 100644 --- a/src/engine/SCons/Tool/latex.xml +++ b/src/engine/SCons/Tool/latex.xml @@ -1,55 +1,85 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the &latex; utility. + -LATEX -LATEXFLAGS -LATEXCOM +LATEX +LATEXFLAGS +LATEXCOM -LATEXCOMSTR +LATEXCOMSTR + The LaTeX structured formatter and typesetter. + + The command line used to call the LaTeX structured formatter and typesetter. + + The string displayed when calling the LaTeX structured formatter and typesetter. If this is not set, then &cv-link-LATEXCOM; (the command line) is displayed. + - + env = Environment(LATEXCOMSTR = "Building $TARGET from LaTeX input $SOURCES") - + + General options passed to the LaTeX structured formatter and typesetter. + + The maximum number of times that LaTeX will be re-run if the .log @@ -57,15 +87,20 @@ generated by the &cv-link-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. + + List of directories that the LaTeX program will search for include directories. The LaTeX implicit dependency scanner will search these directories for \include and \import files. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/lex.xml b/src/engine/SCons/Tool/lex.xml index d7d86d0..19226db 100644 --- a/src/engine/SCons/Tool/lex.xml +++ b/src/engine/SCons/Tool/lex.xml @@ -1,50 +1,81 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the &lex; lexical analyser. + -LEX -LEXFLAGS -LEXCOM +LEX +LEXFLAGS +LEXCOM -LEXCOMSTR +LEXCOMSTR + The lexical analyzer generator. + + The command line used to call the lexical analyzer generator to generate a source file. + + The string displayed when generating a source file using the lexical analyzer generator. If this is not set, then &cv-link-LEXCOM; (the command line) is displayed. + - + env = Environment(LEXCOMSTR = "Lex'ing $TARGET from $SOURCES") - + + General options passed to the lexical analyzer generator. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/link.xml b/src/engine/SCons/Tool/link.xml index e8ca1db..0916302 100644 --- a/src/engine/SCons/Tool/link.xml +++ b/src/engine/SCons/Tool/link.xml @@ -1,112 +1,152 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for generic POSIX linkers. + -SHLINK -SHLINKFLAGS -SHLINKCOM -LINK -LINKFLAGS -LINKCOM -LIBDIRPREFIX -LIBDIRSUFFIX -LIBLINKPREFIX -LIBLINKSUFFIX -SHLIBSUFFIX -LDMODULE -LDMODULEPREFIX -LDMODULESUFFIX -LDMODULEFLAGS -LDMODULECOM +SHLINK +SHLINKFLAGS +SHLINKCOM +LINK +LINKFLAGS +LINKCOM +LIBDIRPREFIX +LIBDIRSUFFIX +LIBLINKPREFIX +LIBLINKSUFFIX +SHLIBSUFFIX +LDMODULE +LDMODULEPREFIX +LDMODULESUFFIX +LDMODULEFLAGS +LDMODULECOM -SHLINKCOMSTR -LINKCOMSTR -LDMODULECOMSTR +SHLINKCOMSTR +LINKCOMSTR +LDMODULECOMSTR + The linker for building loadable modules. By default, this is the same as &cv-link-SHLINK;. + + The command line for building loadable modules. On Mac OS X, this uses the &cv-link-LDMODULE;, &cv-link-LDMODULEFLAGS; and &cv-link-FRAMEWORKSFLAGS; variables. On other systems, this is the same as &cv-link-SHLINK;. + + The string displayed when building loadable modules. If this is not set, then &cv-link-LDMODULECOM; (the command line) is displayed. + + General user options passed to the linker for building loadable modules. + + The prefix used for loadable module file names. On Mac OS X, this is null; on other systems, this is the same as &cv-link-SHLIBPREFIX;. + + The suffix used for loadable module file names. On Mac OS X, this is null; on other systems, this is the same as $SHLIBSUFFIX. + + The linker. + + The command line used to link object files into an executable. + + The string displayed when object files are linked into an executable. If this is not set, then &cv-link-LINKCOM; (the command line) is displayed. + - + env = Environment(LINKCOMSTR = "Linking $TARGET") - + + General user options passed to the linker. Note that this variable should not @@ -125,34 +165,42 @@ and &cv-link-_LIBDIRFLAGS; above, for the variable that expands to library search path options. + + The linker for programs that use shared libraries. + + The command line used to link programs using shared libraries. + + The string displayed when programs using shared libraries are linked. If this is not set, then &cv-link-SHLINKCOM; (the command line) is displayed. + - + env = Environment(SHLINKCOMSTR = "Linking shared $TARGET") - + + General user options passed to the linker for programs using shared libraries. Note that this variable should not @@ -171,5 +219,8 @@ and &cv-link-_LIBDIRFLAGS; above, for the variable that expands to library search path options. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/linkloc.xml b/src/engine/SCons/Tool/linkloc.xml index e8a54f4..2665526 100644 --- a/src/engine/SCons/Tool/linkloc.xml +++ b/src/engine/SCons/Tool/linkloc.xml @@ -1,31 +1,54 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the LinkLoc linker for the Phar Lap ETS embedded operating system. + - -SHLINK -SHLINKFLAGS -SHLINKCOM - -LINK -LINKFLAGS -LINKCOM -LIBDIRPREFIX -LIBDIRSUFFIX -LIBLINKPREFIX -LIBLINKSUFFIX + +SHLINK +SHLINKFLAGS +SHLINKCOM + +LINK +LINKFLAGS +LINKCOM +LIBDIRPREFIX +LIBDIRSUFFIX +LIBLINKPREFIX +LIBLINKSUFFIX -SHLINKCOMSTR -LINKCOMSTR +SHLINKCOMSTR +LINKCOMSTR + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/m4.xml b/src/engine/SCons/Tool/m4.xml index 63d16be..da17494 100644 --- a/src/engine/SCons/Tool/m4.xml +++ b/src/engine/SCons/Tool/m4.xml @@ -1,25 +1,47 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the &m4; macro processor. + -M4 -M4FLAGS -M4COM +M4 +M4FLAGS +M4COM -M4COMSTR +M4COMSTR + Builds an output file from an M4 input file. This uses a default &cv-link-M4FLAGS; value of , @@ -27,35 +49,46 @@ which considers all warnings to be fatal and stops on the first warning when using the GNU version of m4. Example: + - + env.M4(target = 'foo.c', source = 'foo.c.m4') - + + The M4 macro preprocessor. + + The command line used to pass files through the M4 macro preprocessor. + + The string displayed when a file is passed through the M4 macro preprocessor. If this is not set, then &cv-link-M4COM; (the command line) is displayed. + + General options passed to the M4 macro preprocessor. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/masm.xml b/src/engine/SCons/Tool/masm.xml index 614da1f..1f15d3f 100644 --- a/src/engine/SCons/Tool/masm.xml +++ b/src/engine/SCons/Tool/masm.xml @@ -1,26 +1,49 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the Microsoft assembler. + -AS -ASFLAGS -ASPPFLAGS -ASCOM -ASPPCOM - +AS +ASFLAGS +ASPPFLAGS +ASCOM +ASPPCOM + -ASCOMSTR -ASPPCOMSTR -CPPFLAGS -_CPPDEFFLAGS -_CPPINCFLAGS +ASCOMSTR +ASPPCOMSTR +CPPFLAGS +_CPPDEFFLAGS +_CPPINCFLAGS + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/midl.xml b/src/engine/SCons/Tool/midl.xml index 2698aa6..3dda7a9 100644 --- a/src/engine/SCons/Tool/midl.xml +++ b/src/engine/SCons/Tool/midl.xml @@ -1,36 +1,60 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the Microsoft IDL compiler. + -MIDL -MIDLFLAGS -MIDLCOM +MIDL +MIDLFLAGS +MIDLCOM -MIDLCOMSTR +MIDLCOMSTR + Builds a Windows type library (.tlb) file from an input IDL file (.idl). In addition, it will build the associated inteface stub and proxy source files, 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, @@ -38,31 +62,42 @@ Will create foo.tlb, and foo_data.c files. + + The Microsoft IDL compiler. + + The command line used to pass files to the Microsoft IDL compiler. + + The string displayed when the Microsoft IDL copmiler is called. If this is not set, then &cv-link-MIDLCOM; (the command line) is displayed. + + General options passed to the Microsoft IDL compiler. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/mingw.xml b/src/engine/SCons/Tool/mingw.xml index f3354c1..1253271 100644 --- a/src/engine/SCons/Tool/mingw.xml +++ b/src/engine/SCons/Tool/mingw.xml @@ -1,38 +1,61 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for MinGW (Minimal Gnu on Windows). + -CC -SHCCFLAGS -CXX -SHCXXFLAGS -SHLINKFLAGS -SHLINKCOM -LDMODULECOM -AS -WINDOWSDEFPREFIX -WINDOWSDEFSUFFIX -SHOBJSUFFIX - -RC -RCFLAGS -RCINCFLAGS -RCINCPREFIX -RCINCSUFFIX -RCCOM -OBJSUFFIX -LIBPREFIX -LIBSUFFIX +CC +SHCCFLAGS +CXX +SHCXXFLAGS +SHLINKFLAGS +SHLINKCOM +LDMODULECOM +AS +WINDOWSDEFPREFIX +WINDOWSDEFSUFFIX +SHOBJSUFFIX + +RC +RCFLAGS +RCINCFLAGS +RCINCPREFIX +RCINCSUFFIX +RCCOM +OBJSUFFIX +LIBPREFIX +LIBSUFFIX -SHLINKCOMSTR -RCCOMSTR +SHLINKCOMSTR +RCCOMSTR + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/msgfmt.xml b/src/engine/SCons/Tool/msgfmt.xml index 3c5db8f..94298d1 100644 --- a/src/engine/SCons/Tool/msgfmt.xml +++ b/src/engine/SCons/Tool/msgfmt.xml @@ -1,102 +1,145 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + This scons tool is a part of scons &t-link-gettext; toolset. It provides scons interface to msgfmt(1) command, which generates binary message catalog (MO) from a textual translation description (PO). + -MOSUFFIX -MSGFMT -MSGFMTCOM -MSGFMTCOMSTR -MSGFMTFLAGS -POSUFFIX +MOSUFFIX +MSGFMT +MSGFMTCOM +MSGFMTCOMSTR +MSGFMTFLAGS +POSUFFIX -LINGUAS_FILE +LINGUAS_FILE + This builder belongs to &t-link-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() - + + Suffix used for MO files (default: '.mo'). See &t-link-msgfmt; tool and &b-link-MOFiles; builder. + + Absolute path to msgfmt(1) binary, found by Detect(). See &t-link-msgfmt; tool and &b-link-MOFiles; builder. + + Complete command line to run msgfmt(1) program. See &t-link-msgfmt; tool and &b-link-MOFiles; builder. + + String to display when msgfmt(1) is invoked (default: '', which means ``print &cv-link-MSGFMTCOM;''). See &t-link-msgfmt; tool and &b-link-MOFiles; builder. + + Additional flags to msgfmt(1). See &t-link-msgfmt; tool and &b-link-MOFiles; builder. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/msginit.xml b/src/engine/SCons/Tool/msginit.xml index 612b9d9..c278b9d 100644 --- a/src/engine/SCons/Tool/msginit.xml +++ b/src/engine/SCons/Tool/msginit.xml @@ -1,36 +1,58 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + This scons tool is a part of scons &t-link-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). + -MSGINIT -MSGINITCOM -MSGINITCOMSTR -MSGINITFLAGS -POAUTOINIT -POCREATE_ALIAS -POSUFFIX -POTSUFFIX -_MSGINITLOCALE +MSGINIT +MSGINITCOM +MSGINITCOMSTR +MSGINITFLAGS +POAUTOINIT +POCREATE_ALIAS +POSUFFIX +POTSUFFIX +_MSGINITLOCALE -POTDOMAIN -LINGUAS_FILE -POAUTOINIT +POTDOMAIN +LINGUAS_FILE +POAUTOINIT + This builder belongs to &t-link-msginit; tool. The builder initializes missing PO file(s) if &cv-link-POAUTOINIT; is set. If &cv-link-POAUTOINIT; is not set (default), &b-POInit; prints instruction for @@ -42,127 +64,160 @@ instead. &b-link-POUpdate; chooses intelligently between 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 &b-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 &cv-link-POCREATE_ALIAS; construction variable. All PO files defined through &b-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 &cv-link-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') - + + Common alias for all PO files created with &b-POInit; builder (default: 'po-create'). See &t-link-msginit; tool and &b-link-POInit; builder. + + Suffix used for PO files (default: '.po') See &t-link-msginit; tool and &b-link-POInit; builder. + + Path to msginit(1) program (found via Detect()). See &t-link-msginit; tool and &b-link-POInit; builder. + + Complete command line to run msginit(1) program. See &t-link-msginit; tool and &b-link-POInit; builder. + + String to display when msginit(1) is invoked (default: '', which means ``print &cv-link-MSGINITCOM;''). See &t-link-msginit; tool and &b-link-POInit; builder. + + List of additional flags to msginit(1) (default: []). See &t-link-msginit; tool and &b-link-POInit; builder. + + Internal ``macro''. Computes locale (language) name based on target filename (default: '${TARGET.filebase}' ). + See &t-link-msginit; tool and &b-link-POInit; builder. + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/msgmerge.xml b/src/engine/SCons/Tool/msgmerge.xml index 69c848b..1cbbc06 100644 --- a/src/engine/SCons/Tool/msgmerge.xml +++ b/src/engine/SCons/Tool/msgmerge.xml @@ -1,33 +1,55 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + This scons tool is a part of scons &t-link-gettext; toolset. It provides scons interface to msgmerge(1) command, which merges two Uniform style .po files together. + -MSGMERGE -MSGMERGECOM -MSGMERGECOMSTR -MSGMERGEFLAGS -POSUFFIX -POTSUFFIX -POUPDATE_ALIAS +MSGMERGE +MSGMERGECOM +MSGMERGECOMSTR +MSGMERGEFLAGS +POSUFFIX +POTSUFFIX +POUPDATE_ALIAS -POTDOMAIN -LINGUAS_FILE -POAUTOINIT +POTDOMAIN +LINGUAS_FILE +POAUTOINIT + The builder belongs to &t-link-msgmerge; tool. The builder updates PO files with msgmerge(1), or initializes missing PO files as described in documentation of @@ -35,7 +57,9 @@ missing PO files as described in documentation of &cv-link-POAUTOINIT;). Note, that &b-POUpdate; does not add its targets to po-create alias as &b-link-POInit; does. + + Target nodes defined through &b-POUpdate; are not built by default (they're Ignored from '.' node). Instead, they are added automatically to special Alias @@ -43,77 +67,94 @@ they are added automatically to special Alias through the &cv-link-POUPDATE_ALIAS; construction variable. You can easilly update PO files in your project by scons po-update. + + Example 1. Update en.po and pl.po from messages.pot template (see also &cv-link-POTDOMAIN;), assuming that the later one exists or there is rule to build it (see &b-link-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 &cv-link-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 env['POTDOMAIN'] = 'foo' env.POUpdate() - + @@ -121,38 +162,50 @@ pre-configured via environment. + Common alias for all PO files being defined with &b-link-POUpdate; builder (default: 'po-update'). See &t-link-msgmerge; tool and &b-link-POUpdate; builder. + + Absolute path to msgmerge(1) binary as found by Detect(). See &t-link-msgmerge; tool and &b-link-POUpdate; builder. + + Complete command line to run msgmerge(1) command. See &t-link-msgmerge; tool and &b-link-POUpdate; builder. + + String to be displayed when msgmerge(1) is invoked (default: '', which means ``print &cv-link-MSGMERGECOM;''). See &t-link-msgmerge; tool and &b-link-POUpdate; builder. + + Additional flags to msgmerge(1) command. See &t-link-msgmerge; tool and &b-link-POUpdate; builder. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/mslib.xml b/src/engine/SCons/Tool/mslib.xml index 014ca9b..9efe901 100644 --- a/src/engine/SCons/Tool/mslib.xml +++ b/src/engine/SCons/Tool/mslib.xml @@ -1,23 +1,46 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the Microsoft mslib library archiver. + -AR -ARFLAGS -ARCOM -LIBPREFIX -LIBSUFFIX +AR +ARFLAGS +ARCOM +LIBPREFIX +LIBSUFFIX -ARCOMSTR +ARCOMSTR + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/mslink.xml b/src/engine/SCons/Tool/mslink.xml index 80c5530..e26e93c 100644 --- a/src/engine/SCons/Tool/mslink.xml +++ b/src/engine/SCons/Tool/mslink.xml @@ -1,57 +1,79 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the Microsoft linker. + -SHLINK -SHLINKFLAGS -SHLINKCOM -LINK -LINKFLAGS -LINKCOM -LIBDIRPREFIX -LIBDIRSUFFIX -LIBLINKPREFIX -LIBLINKSUFFIX -WIN32DEFPREFIX -WIN32DEFSUFFIX -WINDOWSDEFPREFIX -WINDOWSDEFSUFFIX -WINDOWS_INSERT_DEF -WIN32EXPPREFIX -WIN32EXPSUFFIX -WINDOWSEXPPREFIX -WINDOWSEXPSUFFIX -WINDOWSSHLIBMANIFESTPREFIX -WINDOWSSHLIBMANIFESTSUFFIX -WINDOWSPROGMANIFESTPREFIX -WINDOWSPROGMANIFESTSUFFIX - -REGSVR -REGSVRFLAGS -REGSVRCOM -LDMODULE -LDMODULEPREFIX -LDMODULESUFFIX -LDMODULEFLAGS -LDMODULECOM +SHLINK +SHLINKFLAGS +SHLINKCOM +LINK +LINKFLAGS +LINKCOM +LIBDIRPREFIX +LIBDIRSUFFIX +LIBLINKPREFIX +LIBLINKSUFFIX +WIN32DEFPREFIX +WIN32DEFSUFFIX +WINDOWSDEFPREFIX +WINDOWSDEFSUFFIX +WINDOWS_INSERT_DEF +WIN32EXPPREFIX +WIN32EXPSUFFIX +WINDOWSEXPPREFIX +WINDOWSEXPSUFFIX +WINDOWSSHLIBMANIFESTPREFIX +WINDOWSSHLIBMANIFESTSUFFIX +WINDOWSPROGMANIFESTPREFIX +WINDOWSPROGMANIFESTSUFFIX + +REGSVR +REGSVRFLAGS +REGSVRCOM +LDMODULE +LDMODULEPREFIX +LDMODULESUFFIX +LDMODULEFLAGS +LDMODULECOM -SHLINKCOMSTR -LINKCOMSTR -REGSVRCOMSTR -LDMODULECOMSTR +SHLINKCOMSTR +LINKCOMSTR +REGSVRCOMSTR +LDMODULECOMSTR + When set to non-zero, suppresses creation of a corresponding Windows static import lib by the SharedLibrary @@ -60,11 +82,13 @@ MinGW, Microsoft Visual Studio or Metrowerks. This also suppresses creation of an export (.exp) file when using Microsoft Visual Studio. + + 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++. @@ -73,11 +97,13 @@ defined SCons will add options to the compiler and linker command line to cause them to generate external debugging information, and will also set up the 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 @@ -91,114 +117,144 @@ although parallel builds will no longer work. You can generate PDB files with the switch by overriding the default &cv-link-CCPDBFLAGS; variable; see the entry for that variable for specific examples. + + 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 &cv-link-MT; and &cv-link-MTEXECOM; and &cv-link-MTSHLIBCOM;. + + The program used on Windows systems to embed manifests into DLLs and EXEs. See also &cv-link-WINDOWS_EMBED_MANIFEST;. + + Flags passed to the &cv-link-MT; manifest embedding program (Windows only). + + The Windows command line used to embed manifests into executables. See also &cv-link-MTSHLIBCOM;. + + The Windows command line used to embed manifests into shared libraries (DLLs). See also &cv-link-MTEXECOM;. + + The program used on Windows systems to register a newly-built DLL library whenever the &b-SharedLibrary; builder is passed a keyword argument of register=1. + + The command line used on Windows systems to register a newly-built DLL library whenever the &b-SharedLibrary; builder is passed a keyword argument of register=1. + + The string displayed when registering a newly-built DLL file. If this is not set, then &cv-link-REGSVRCOM; (the command line) is displayed. + + Flags passed to the DLL registration program on Windows systems when a newly-built DLL library is registered. By default, this includes the that prevents dialog boxes from popping up and requiring user attention. + + A deprecated synonym for &cv-link-WINDOWS_INSERT_DEF;. + + A deprecated synonym for &cv-link-WINDOWSDEFPREFIX;. + + A deprecated synonym for &cv-link-WINDOWSDEFSUFFIX;. + + A deprecated synonym for &cv-link-WINDOWSEXPSUFFIX;. + + A deprecated synonym for &cv-link-WINDOWSEXPSUFFIX;. + + When this is set to true, a library build of a Windows shared library (.dll file) @@ -207,67 +263,88 @@ at the same time, if a .def file is not already listed as a build target. The default is 0 (do not build a .def file). + + When this is set to true, &scons; will be aware of the .manifest files generated by Microsoft Visua C/C++ 8. + + The prefix used for Windows .def file names. + + The suffix used for Windows .def file names. + + The prefix used for Windows .exp file names. + + The suffix used for Windows .exp file names. + + The prefix used for executable program .manifest files generated by Microsoft Visual C/C++. + + The suffix used for executable program .manifest files generated by Microsoft Visual C/C++. + + The prefix used for shared library .manifest files generated by Microsoft Visual C/C++. + + The suffix used for shared library .manifest files generated by Microsoft Visual C/C++. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/mssdk.xml b/src/engine/SCons/Tool/mssdk.xml index bdfd394..27d37ab 100644 --- a/src/engine/SCons/Tool/mssdk.xml +++ b/src/engine/SCons/Tool/mssdk.xml @@ -1,11 +1,31 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets variables for Microsoft Platform SDK and/or Windows SDK. Note that unlike most other Tool modules, mssdk does not set construction variables, @@ -16,26 +36,30 @@ the Microsoft toolchain: %LIB%, %LIBPATH% and %PATH%. + -MSSDK_DIR -MSSDK_VERSION -MSVS_VERSION +MSSDK_DIR +MSSDK_VERSION +MSVS_VERSION + The directory containing the Microsoft SDK (either Platform SDK or Windows SDK) to be used for compilation. + + The version string of the Microsoft SDK (either Platform SDK or Windows SDK) to be used for compilation. @@ -46,5 +70,8 @@ Supported versions include 2003R2 and 2003R1. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/msvc.xml b/src/engine/SCons/Tool/msvc.xml index c2fed86..22ed9f1 100644 --- a/src/engine/SCons/Tool/msvc.xml +++ b/src/engine/SCons/Tool/msvc.xml @@ -1,62 +1,84 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the Microsoft Visual C/C++ compiler. + -CCPDBFLAGS -CCPCHFLAGS - -CC -CCFLAGS -CFLAGS -CCCOM -SHCC -SHCCFLAGS -SHCFLAGS -SHCCCOM -CXX -CXXFLAGS -CXXCOM -SHCXX -SHCXXFLAGS -SHCXXCOM -CPPDEFPREFIX -CPPDEFSUFFIX -INCPREFIX -INCSUFFIX - -RC -RCFLAGS -RCCOM -BUILDERS -OBJPREFIX -OBJSUFFIX -SHOBJPREFIX -SHOBJSUFFIX -CFILESUFFIX -CXXFILESUFFIX -PCHPDBFLAGS -PCHCOM +CCPDBFLAGS +CCPCHFLAGS + +CC +CCFLAGS +CFLAGS +CCCOM +SHCC +SHCCFLAGS +SHCFLAGS +SHCCCOM +CXX +CXXFLAGS +CXXCOM +SHCXX +SHCXXFLAGS +SHCXXCOM +CPPDEFPREFIX +CPPDEFSUFFIX +INCPREFIX +INCSUFFIX + +RC +RCFLAGS +RCCOM +BUILDERS +OBJPREFIX +OBJSUFFIX +SHOBJPREFIX +SHOBJSUFFIX +CFILESUFFIX +CXXFILESUFFIX +PCHPDBFLAGS +PCHCOM -CCCOMSTR -SHCCCOMSTR -CXXCOMSTR -SHCXXCOMSTR -PCH -PCHSTOP -PDB +CCCOMSTR +SHCCCOMSTR +CXXCOMSTR +SHCXXCOMSTR +PCH +PCHSTOP +PDB + 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 @@ -66,15 +88,17 @@ provided when Microsoft Visual C++ is being used as the compiler. The PCH builder method is generally used in conjuction with the PCH construction variable to force object files to use the precompiled header: + - + env['PCH'] = env.PCH('StdAfx.cpp')[0] - + + 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 @@ -85,32 +109,38 @@ for MinGW) suffix is added to the target name if no other suffix is given. The source file is scanned for implicit dependencies as though it were a C file. Example: + - + env.RES('resource.rc') - + + 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 &cv-link-PCH; construction variable is set. + + 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 &cv-link-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 @@ -121,27 +151,33 @@ embedded into a static library. 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 &cv-link-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 &cv-link-CCPDBFLAGS; variable as follows: + - + env['CCPDBFLAGS'] = '/Zi /Fd${TARGET}.pdb' - + + When set to any true value, specifies that SCons should batch compilation of object files @@ -157,11 +193,13 @@ Any compilations where the object (target) file base name (minus the .obj) does not match the source file base name will be compiled separately. + + 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 @@ -169,81 +207,99 @@ defined SCons will add options to the compiler command line to cause it to use the precompiled header, and will also set up the dependencies for the PCH file. Example: + - + env['PCH'] = 'StdAfx.pch' - + + The command line used by the &b-PCH; builder to generated a precompiled header. + + The string displayed when generating a precompiled header. If this is not set, then &cv-link-PCHCOM; (the command line) is displayed. + + A construction variable that, when expanded, adds the /yD flag to the command line only if the &cv-PDB; construction variable is set. + + 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 must be a string that is the name of the header that 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' - + + The resource compiler used to build a Microsoft Visual C++ resource file. + + The command line used to build a Microsoft Visual C++ resource file. + + The string displayed when invoking the resource compiler to build a Microsoft Visual C++ resource file. If this is not set, then &cv-link-RCCOM; (the command line) is displayed. + + The flags passed to the resource compiler by the RES builder. + + An automatically-generated construction variable containing the command-line options for specifying directories to be searched @@ -252,46 +308,58 @@ The value of &cv-RCINCFLAGS; is created by appending &cv-RCINCPREFIX; and &cv-RCINCSUFFIX; to the beginning and end of each directory in &cv-CPPPATH;. + + The prefix (flag) used to specify an include directory on the resource compiler command line. This will be appended to the beginning of each directory in the &cv-CPPPATH; construction variable when the &cv-RCINCFLAGS; variable is expanded. + + 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 &cv-CPPPATH; construction variable when the &cv-RCINCFLAGS; variable is expanded. + + Sets the preferred version of Microsoft Visual C/C++ to use. + + If &cv-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. Set it to an unexpected value (e.g. "XXX") to see the valid values on your system. + + Use a batch script to set up Microsoft Visual Studio compiler + + &cv-MSVC_USE_SCRIPT; overrides &cv-MSVC_VERSION; and &cv-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 @@ -299,25 +367,33 @@ the result (typically %INCLUDE%, %LIB%, and %PATH%). Setting MSVC_USE_SCRIPT to None bypasses the Visual Studio autodetection entirely; use this if you are running SCons in a Visual Studio cmd window and importing the shell's environment variables. + + 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. 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 &cv-TARGET_ARCH;. + + This is currently only used on Windows, but in the future it will be used on other OSes as well. + + Sets the target architecture for Visual Studio compiler (i.e. the arch of the binaries generated by the compiler). If not set, default to &cv-HOST_ARCH;, or, if that is unset, to the architecture of the @@ -327,7 +403,9 @@ This variable must be passed as an argument to the Environment() constructor; setting it later has no effect. 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 @@ -339,5 +417,8 @@ Valid values for Windows are and ia64 (Itanium). For example, if you want to compile 64-bit binaries, you would set TARGET_ARCH='x86_64' in your SCons environment. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/msvs.xml b/src/engine/SCons/Tool/msvs.xml index 57269e4..93c6f6e 100644 --- a/src/engine/SCons/Tool/msvs.xml +++ b/src/engine/SCons/Tool/msvs.xml @@ -1,24 +1,45 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for Microsoft Visual Studio. + -MSVSPROJECTCOM -MSVSSOLUTIONCOM -MSVSSCONSCRIPT -MSVSSCONS -MSVSSCONSFLAGS -MSVSSCONSCOM -MSVSBUILDCOM -MSVSREBUILDCOM -MSVSCLEANCOM -MSVSENCODING +MSVSPROJECTCOM +MSVSSOLUTIONCOM +MSVSSCONSCRIPT +MSVSSCONS +MSVSSCONSFLAGS +MSVSSCONSCOM +MSVSBUILDCOM +MSVSREBUILDCOM +MSVSCLEANCOM +MSVSENCODING @@ -26,9 +47,12 @@ MSVSENCODING + 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 @@ -40,7 +64,9 @@ file. For Visual Studio 7 (.NET) and later versions, it will generate a .vcproj file. + + By default, this also generates a solution file for the specified project, @@ -59,7 +85,9 @@ build the solution file(s) by calling the &b-MSVSSolution; Builder (see below). + + The &b-MSVSProject; builder takes several lists of filenames to be placed into the project file. @@ -75,14 +103,20 @@ lists are added to the &cv-link-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 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 above lists of values, the following values may be specified: + + target: The name of the target .dsp @@ -95,7 +129,9 @@ but the &cv-link-MSVSPROJECTSUFFIX; construction variable will be defined to the correct value (see example below). + + variant: The name of this particular variant. For Visual Studio 7 projects, @@ -115,7 +151,9 @@ Multiple calls to with different variants are allowed; all variants will be added to the project file with their appropriate build targets and sources. + + buildtarget: An optional string, node, or list of strings or nodes (one per build variant), to tell the Visual Studio debugger @@ -125,7 +163,9 @@ The number of entries must match the number of variant entries. + + runfile: The name of the file that Visual Studio 7 and later will run and debug. @@ -136,7 +176,9 @@ If this is not specified, the default is the same as the 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 @@ -151,10 +193,13 @@ compiler option to the &cv-link-CCFLAGS; variable so that the compiler will print the full path name of any files that cause compilation errors. + + Example usage: + - + barsrcs = ['bar.cpp'], barincs = ['bar.h'], barlocalincs = ['StdAfx.h'] @@ -172,14 +217,17 @@ env.MSVSProject(target = 'Bar' + env['MSVSPROJECTSUFFIX'], misc = barmisc, buildtarget = dll, variant = 'Release') - + + 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, @@ -193,22 +241,30 @@ For Visual Studio 7 (.NET), it will generate a .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 &cv-link-MSVSSOLUTIONSUFFIX; will be defined to the correct value (see example below). + + variant: The name of this particular variant, or a list of variant names (the latter is only supported for MSVS 7 solutions). These are typically things like "Debug" or "Release", but really can be anything you want. For MSVS 7 they may also specify target platform, like this "Debug|Xbox". Default platform is Win32. + + projects: A list of project file names, or Project nodes returned by calls to the &b-MSVSProject; @@ -218,86 +274,120 @@ 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 file, not the source files used to build the solution file. + + Example Usage: + - + env.MSVSSolution(target = 'Bar' + env['MSVSSOLUTIONSUFFIX'], projects = ['bar' + env['MSVSPROJECTSUFFIX']], variant = 'Release') - + + When the Microsoft Visual Studio tools are initialized, they set up this dictionary with the following keys: + + VERSION: the version of MSVS being used (can be set via &cv-link-MSVS_VERSION;) + + VERSIONS: the available versions of MSVS installed + + VCINSTALLDIR: installed directory of Visual C++ + + VSINSTALLDIR: installed directory of Visual Studio + + FRAMEWORKDIR: installed directory of the .NET framework + + FRAMEWORKVERSIONS: list of installed versions of the .NET framework, sorted latest to oldest. + + FRAMEWORKVERSION: latest installed version of the .NET framework + + FRAMEWORKSDKDIR: installed location of the .NET SDK. + + PLATFORMSDKDIR: installed location of the Platform SDK. + + PLATFORMSDK_MODULES: dictionary of installed Platform SDK modules, where the dictionary keys are keywords for the various modules, and the values are 2-tuples where the first is the release date, and the second is the version number. + + If a value isn't set, it wasn't available in the registry. + + 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 &cv-MSVS_ARCH; to an architecture that's not supported for a given Visual Studio version will generate an error. + + 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. + + The path name placed in a generated Microsoft Visual Studio project file as the value of the @@ -307,11 +397,13 @@ if the MSVS_SCC_PROVIDER construction variable is also set. There is no default value. + + 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 @@ -337,11 +429,13 @@ if the MSVS_SCC_PROVIDER construction variable is also set. The default value is the current working directory. + + The project name placed in a generated Microsoft Visual Studio project file as the value of the @@ -356,11 +450,13 @@ attribute of the GlobalSection(SourceCodeControl) section of the Microsoft Visual Studio solution file. There is no default value. + + The string placed in a generated Microsoft Visual Studio project file as the value of the @@ -372,13 +468,17 @@ attribute of the GlobalSection(SourceCodeControl) section of the Microsoft Visual Studio solution file. There is no default value. + + Sets the preferred version of Microsoft Visual Studio to use. + + If &cv-MSVS_VERSION; is not set, &SCons; will (by default) select the latest version of Visual Studio installed on your system. @@ -391,48 +491,60 @@ 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 &cv-MSVC_VERSION; instead. If &cv-MSVS_VERSION; is set and &cv-MSVC_VERSION; is not, &cv-MSVC_VERSION; will be set automatically to &cv-MSVS_VERSION;. If both are set to different values, scons will raise an error. + + 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. + + 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. + + The encoding string placed in a generated Microsoft Visual Studio project file. The default is encoding Windows-1252. + + The action used to generate Microsoft Visual Studio project files. + + The suffix used for Microsoft Visual Studio project (DSP) files. The default value is .vcproj @@ -441,42 +553,52 @@ or later version, and .dsp when using earlier versions of Visual Studio. + + 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. + + The SCons used in generated Microsoft Visual Studio project files. The default is the version of SCons being used to generate the project file. + + The SCons flags used in generated Microsoft Visual Studio project files. + + The default SCons command used in generated Microsoft Visual Studio project files. + + The sconscript file (that is, &SConstruct; @@ -492,17 +614,21 @@ The default is the same sconscript file that contains the call to &b-MSVSProject; to build the project file. + + The action used to generate Microsoft Visual Studio solution files. + + The suffix used for Microsoft Visual Studio solution (DSW) files. The default value is .sln @@ -510,11 +636,13 @@ when using Visual Studio version 7.x (.NET), and .dsw when using earlier versions of Visual Studio. + + The (optional) path to the SCons library directory, initialized from the external environment. If set, this is used to construct a shorter and more @@ -522,5 +650,8 @@ efficient search path in the &cv-link-MSVSSCONS; command line executed from Microsoft Visual Studio project files. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/mwcc.xml b/src/engine/SCons/Tool/mwcc.xml index 5ea07ee..2ebd31b 100644 --- a/src/engine/SCons/Tool/mwcc.xml +++ b/src/engine/SCons/Tool/mwcc.xml @@ -1,53 +1,80 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the Metrowerks CodeWarrior compiler. + -MWCW_VERSIONS -MWCW_VERSION - -CC -CCCOM -CXX -CXXCOM -SHCC -SHCCFLAGS -SHCFLAGS -SHCCCOM -SHCXX -SHCXXFLAGS -SHCXXCOM -CFILESUFFIX -CXXFILESUFFIX -CPPDEFPREFIX -CPPDEFSUFFIX -INCPREFIX -INCSUFFIX +MWCW_VERSIONS +MWCW_VERSION + +CC +CCCOM +CXX +CXXCOM +SHCC +SHCCFLAGS +SHCFLAGS +SHCCCOM +SHCXX +SHCXXFLAGS +SHCXXCOM +CFILESUFFIX +CXXFILESUFFIX +CPPDEFPREFIX +CPPDEFSUFFIX +INCPREFIX +INCSUFFIX -CCCOMSTR -CXXCOMSTR -SHCCCOMSTR -SHCXXCOMSTR +CCCOMSTR +CXXCOMSTR +SHCCCOMSTR +SHCXXCOMSTR + The version number of the MetroWerks CodeWarrior C compiler to be used. + + A list of installed versions of the MetroWerks CodeWarrior C compiler on this system. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/mwld.xml b/src/engine/SCons/Tool/mwld.xml index c2b0d63..7fbb5dd 100644 --- a/src/engine/SCons/Tool/mwld.xml +++ b/src/engine/SCons/Tool/mwld.xml @@ -1,27 +1,50 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the Metrowerks CodeWarrior linker. + -AR -ARCOM -LIBDIRPREFIX -LIBDIRSUFFIX -LIBLINKPREFIX -LIBLINKSUFFIX -LINK -LINKCOM -SHLINK -SHLINKFLAGS -SHLINKCOM - +AR +ARCOM +LIBDIRPREFIX +LIBDIRSUFFIX +LIBLINKPREFIX +LIBLINKSUFFIX +LINK +LINKCOM +SHLINK +SHLINKFLAGS +SHLINKCOM + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/nasm.xml b/src/engine/SCons/Tool/nasm.xml index d2cb5c2..3d00209 100644 --- a/src/engine/SCons/Tool/nasm.xml +++ b/src/engine/SCons/Tool/nasm.xml @@ -1,23 +1,46 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the nasm Netwide Assembler. + -AS -ASFLAGS -ASPPFLAGS -ASCOM -ASPPCOM +AS +ASFLAGS +ASPPFLAGS +ASCOM +ASPPCOM -ASCOMSTR -ASPPCOMSTR +ASCOMSTR +ASPPCOMSTR + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/packaging.xml b/src/engine/SCons/Tool/packaging.xml index e2d0fb4..38efdce 100644 --- a/src/engine/SCons/Tool/packaging.xml +++ b/src/engine/SCons/Tool/packaging.xml @@ -1,73 +1,110 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + A framework for building binary and source packages. + + Builds a Binary Package of the given source files. + - + env.Package(source = FindInstalledFiles()) - + + The Java archive tool. + + The directory to which the Java archive tool should change (using the option). + + The command line used to call the Java archive tool. + + The string displayed when the Java archive tool is called If this is not set, then &cv-JARCOM; (the command line) is displayed. + - + env = Environment(JARCOMSTR = "JARchiving $SOURCES into $TARGET") - + + General options passed to the Java archive tool. By default this is set to to create the necessary jar file. + + The suffix for Java archives: .jar by default. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/packaging/__init__.xml b/src/engine/SCons/Tool/packaging/__init__.xml index 246b9ec..a9795e5 100644 --- a/src/engine/SCons/Tool/packaging/__init__.xml +++ b/src/engine/SCons/Tool/packaging/__init__.xml @@ -1,12 +1,33 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the &b-Package; Builder. + @@ -16,6 +37,7 @@ Sets construction variables for the &b-Package; Builder. + 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, @@ -23,18 +45,24 @@ in which case the &FindInstalledFiles; function will collect all files that have an &b-Install; or &b-InstallAs; Builder attached. If the ⌖ 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. 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 &cv-PACKAGETYPE; construction variable. Currently the following packagers available: + + * msi - Microsoft Installer * rpm - Redhat Package Manger * ipkg - Itsy Package Management System @@ -44,10 +72,13 @@ the following packagers available: * src_tarbz2 - compressed tar source * src_targz - compressed tar source * 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', @@ -60,12 +91,13 @@ env.Package( NAME = 'foo', X_RPM_GROUP = 'Application/fu', SOURCE_URL = 'http://foo.org/foo-1.2.3.tar.gz' ) - + + Specifies the system architecture for which the package is being built. The default is the system architecture @@ -75,11 +107,13 @@ This is used to fill in the field in an Ipkg control file, and as part of the name of a generated RPM file. + + A hook for modifying the file that controls the packaging build (the .spec for RPM, the control for Ipkg, @@ -87,65 +121,81 @@ the .wxs for MSI). If set, the function will be called after the SCons template for the file has been written. XXX + + The name of a file containing the change log text to be included in the package. This is included as the %changelog section of the RPM .spec file. + + A long description of the project being packaged. This is included in the relevant section of the file that controls the packaging build. + + A language-specific long description for the specified lang. This is used to populate a %description -l section of an RPM .spec file. + + The abbreviated name of the license under which this project is released (gpl, lpgl, bsd etc.). See http://www.opensource.org/licenses/alphabetical for a list of license names. + + Specfies the name of the project to package. + + Specifies the directory where all files in resulting archive will be placed if applicable. The default value is "$NAME-$VERSION". + + Selects the package type to build. Currently these are available: + + * msi - Microsoft Installer * rpm - Redhat Package Manger * ipkg - Itsy Package Management System @@ -155,33 +205,41 @@ Selects the package type to build. Currently these are available: * src_tarbz2 - compressed tar source * src_targz - compressed tar source * src_zip - zip file source + + This may be overridden with the "package_type" command line option. + + 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, not the underlying project code itself. + + The URL (web address) of the location from which the project was retrieved. This is used to fill in the Source: field in the controlling information for Ipkg and RPM packages. + + A short summary of what the project is about. This is used to fill in the Summary: @@ -189,11 +247,13 @@ field in the controlling information for Ipkg and RPM packages, and as the Description: field in MSI packages. + + The person or organization who supply the packaged software. This is used to fill in the Vendor: @@ -201,55 +261,68 @@ field in the controlling information for RPM packages, and the Manufacturer: field in the controlling information for MSI packages. + + The version of the project, specified as a string. + + This is used to fill in the Depends: field in the controlling information for Ipkg packages. + + This is used to fill in the Description: field in the controlling information for Ipkg packages. The default value is $SUMMARY\n$DESCRIPTION + + This is used to fill in the Maintainer: field in the controlling information for Ipkg packages. + + This is used to fill in the Priority: field in the controlling information for Ipkg packages. + + This is used to fill in the Section: field in the controlling information for Ipkg packages. + @@ -257,127 +330,158 @@ field in the controlling information for Ipkg packages. + This is used to fill in the Language: attribute in the controlling information for MSI packages. + + The text of the software license in RTF format. Carriage return characters will be replaced with the RTF equivalent \\par. + + TODO + + This is used to fill in the AutoReqProv: field in the RPM .spec file. + + internal, but overridable + + This is used to fill in the BuildRequires: field in the RPM .spec file. + + internal, but overridable + + internal, but overridable + + This is used to fill in the Conflicts: field in the RPM .spec file. + + This value is used as the default attributes for the files in the RPM package. The default value is (-,root,root). + + This is used to fill in the Distribution: field in the RPM .spec file. + + This is used to fill in the Epoch: field in the controlling information for RPM packages. + + This is used to fill in the ExcludeArch: field in the RPM .spec file. + + This is used to fill in the ExclusiveArch: field in the RPM .spec file. + + This is used to fill in the Group: field in the RPM .spec file. + + This is used to fill in the Group(lang): field in the RPM @@ -387,117 +491,144 @@ Note that is not literal and should be replaced by the appropriate language code. + + This is used to fill in the Icon: field in the RPM .spec file. + + internal, but overridable + + This is used to fill in the Packager: field in the RPM .spec file. + + This is used to fill in the Provides: field in the RPM .spec file. + + This is used to fill in the %post: section in the RPM .spec file. + + This is used to fill in the %pre: section in the RPM .spec file. + + This is used to fill in the Prefix: field in the RPM .spec file. + + internal, but overridable + + This is used to fill in the %postun: section in the RPM .spec file. + + This is used to fill in the %preun: section in the RPM .spec file. + + This is used to fill in the Requires: field in the RPM .spec file. + + This is used to fill in the Serial: field in the RPM .spec file. + + This is used to fill in the Url: field in the RPM .spec file. + @@ -511,115 +642,153 @@ NOT SURE YET WHAT TO DO ABOUT THESE. + TODO + + TODO + + TODO + + internal, but overridable, TODO + + TODO + + TODO + + TODO + + TODO + + TODO + + TODO + + TODO + + TODO + + TODO + + TODO + + TODO + + TODO + + TODO + + TODO + + TODO + @@ -631,22 +800,26 @@ TODO (node, tags) + Annotates file or directory Nodes with information about how the &b-link-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" ) # marks file2.txt to be a documentation file Tag( 'file2.txt', DOC ) - + @@ -654,13 +827,19 @@ Tag( 'file2.txt', DOC ) + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/pdf.xml b/src/engine/SCons/Tool/pdf.xml index c3a4eed..eacf7a4 100644 --- a/src/engine/SCons/Tool/pdf.xml +++ b/src/engine/SCons/Tool/pdf.xml @@ -1,21 +1,43 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the Portable Document Format builder. + -PDFPREFIX -PDFSUFFIX +PDFPREFIX +PDFSUFFIX + Builds a .pdf file from a .dvi input file (or, by extension, a .tex, @@ -26,24 +48,31 @@ The suffix specified by the &cv-link-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 env.PDF(target = 'bbb', source = 'bbb.dvi') - + + The prefix used for PDF file names. + + The suffix used for PDF file names. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/pdflatex.xml b/src/engine/SCons/Tool/pdflatex.xml index 71f6256..2db309a 100644 --- a/src/engine/SCons/Tool/pdflatex.xml +++ b/src/engine/SCons/Tool/pdflatex.xml @@ -1,49 +1,80 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the &pdflatex; utility. + -PDFLATEX -PDFLATEXFLAGS -PDFLATEXCOM -LATEXRETRIES +PDFLATEX +PDFLATEXFLAGS +PDFLATEXCOM +LATEXRETRIES -PDFLATEXCOMSTR +PDFLATEXCOMSTR + The &pdflatex; utility. + + The command line used to call the &pdflatex; utility. + + The string displayed when calling the &pdflatex; utility. If this is not set, then &cv-link-PDFLATEXCOM; (the command line) is displayed. + - + env = Environment(PDFLATEX;COMSTR = "Building $TARGET from LaTeX input $SOURCES") - + + General options passed to the &pdflatex; utility. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/pdftex.xml b/src/engine/SCons/Tool/pdftex.xml index a895d6f..511675e 100644 --- a/src/engine/SCons/Tool/pdftex.xml +++ b/src/engine/SCons/Tool/pdftex.xml @@ -1,53 +1,84 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the &pdftex; utility. + -PDFTEX -PDFTEXFLAGS -PDFTEXCOM -PDFLATEX -PDFLATEXFLAGS -PDFLATEXCOM -LATEXRETRIES +PDFTEX +PDFTEXFLAGS +PDFTEXCOM +PDFLATEX +PDFLATEXFLAGS +PDFLATEXCOM +LATEXRETRIES -PDFTEXCOMSTR -PDFLATEXCOMSTR +PDFTEXCOMSTR +PDFLATEXCOMSTR + The &pdftex; utility. + + The command line used to call the &pdftex; utility. + + The string displayed when calling the &pdftex; utility. If this is not set, then &cv-link-PDFTEXCOM; (the command line) is displayed. + - + env = Environment(PDFTEXCOMSTR = "Building $TARGET from TeX input $SOURCES") - + + General options passed to the &pdftex; utility. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/qt.xml b/src/engine/SCons/Tool/qt.xml index 0522f20..ef4443e 100644 --- a/src/engine/SCons/Tool/qt.xml +++ b/src/engine/SCons/Tool/qt.xml @@ -1,38 +1,59 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for building Qt applications. + -QTDIR -QT_BINPATH -QT_CPPPATH -QT_LIBPATH -QT_MOC -QT_UIC -QT_LIB -QT_AUTOSCAN -QT_UICIMPLFLAGS -QT_UICDECLFLAGS -QT_MOCFROMHFLAGS -QT_MOCFROMCXXFLAGS -QT_UICDECLPREFIX -QT_UICDECLSUFFIX -QT_UICIMPLPREFIX -QT_UICIMPLSUFFIX -QT_MOCHPREFIX -QT_MOCHSUFFIX -QT_MOCCXXPREFIX -QT_MOCCXXSUFFIX -QT_UISUFFIX -QT_UICCOM -QT_MOCFROMHCOM -QT_MOCFROMCXXCOM +QTDIR +QT_BINPATH +QT_CPPPATH +QT_LIBPATH +QT_MOC +QT_UIC +QT_LIB +QT_AUTOSCAN +QT_UICIMPLFLAGS +QT_UICDECLFLAGS +QT_MOCFROMHFLAGS +QT_MOCFROMCXXFLAGS +QT_UICDECLPREFIX +QT_UICDECLSUFFIX +QT_UICIMPLPREFIX +QT_UICIMPLSUFFIX +QT_MOCHPREFIX +QT_MOCHSUFFIX +QT_MOCCXXPREFIX +QT_MOCCXXSUFFIX +QT_UISUFFIX +QT_UICCOM +QT_MOCFROMHCOM +QT_MOCFROMCXXCOM @@ -40,20 +61,23 @@ QT_MOCFROMCXXCOM + 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 &cv-link-QTDIR; variable for more information. Example: + - + env.Moc('foo.h') # generates moc_foo.cc env.Moc('foo.cpp') # generates foo.moc - + + 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 @@ -65,17 +89,19 @@ 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 &cv-link-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'] - + + The qt tool tries to take this from os.environ. It also initializes all QT_* construction variables listed below. @@ -91,13 +117,17 @@ and the variables &cv-link-PROGEMITTER;, &cv-link-SHLIBEMITTER; and &cv-link-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 @@ -107,7 +137,9 @@ can turn off automatic moc file generation by setting QT_AUTOSCAN to 0. See also the corresponding &b-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 @@ -118,7 +150,9 @@ need to specify duplicate=1. You can turn off automatic moc file generation by setting QT_AUTOSCAN to 0. See also the corresponding &b-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 @@ -128,188 +162,245 @@ you may need to specify duplicate=1 in calls to VariantDir. See also the corresponding &b-Uic; builder method. + + Turn off scanning for mocable files. Use the Moc Builder to explicitly specify files to run moc on. + + The path where the qt binaries are installed. The default value is '&cv-link-QTDIR;/bin'. + + The path where the qt header files are installed. The default value is '&cv-link-QTDIR;/include'. Note: If you set this variable to None, the tool won't change the &cv-link-CPPPATH; construction variable. + + Prints lots of debugging information while scanning for moc files. + + 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 &cv-link-LIBS; variable. + + The path where the qt libraries are installed. The default value is '&cv-link-QTDIR;/lib'. Note: If you set this variable to None, the tool won't change the &cv-link-LIBPATH; construction variable. + + Default value is '&cv-link-QT_BINPATH;/moc'. + + Default value is ''. Prefix for moc output files, when source is a cxx file. + + Default value is '.moc'. Suffix for moc output files, when source is a cxx file. + + Default value is '-i'. These flags are passed to moc, when moccing a C++ file. + + Command to generate a moc file from a cpp file. + + The string displayed when generating a moc file from a cpp file. If this is not set, then &cv-link-QT_MOCFROMCXXCOM; (the command line) is displayed. + + Command to generate a moc file from a header. + + The string displayed when generating a moc file from a cpp file. If this is not set, then &cv-link-QT_MOCFROMHCOM; (the command line) is displayed. + + Default value is ''. These flags are passed to moc, when moccing a header file. + + Default value is 'moc_'. Prefix for moc output files, when source is a header. + + Default value is '&cv-link-CXXFILESUFFIX;'. Suffix for moc output files, when source is a header. + + Default value is '&cv-link-QT_BINPATH;/uic'. + + Command to generate header files from .ui files. + + The string displayed when generating header files from .ui files. If this is not set, then &cv-link-QT_UICCOM; (the command line) is displayed. + + Default value is ''. These flags are passed to uic, when creating a a h file from a .ui file. + + Default value is ''. Prefix for uic generated header files. + + Default value is '.h'. Suffix for uic generated header files. + + Default value is ''. These flags are passed to uic, when creating a cxx file from a .ui file. + + Default value is 'uic_'. Prefix for uic generated implementation files. + + Default value is '&cv-link-CXXFILESUFFIX;'. Suffix for uic generated implementation files. + + Default value is '.ui'. Suffix of designer input files. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/rmic.xml b/src/engine/SCons/Tool/rmic.xml index ff13f48..3c0d0c7 100644 --- a/src/engine/SCons/Tool/rmic.xml +++ b/src/engine/SCons/Tool/rmic.xml @@ -1,26 +1,48 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the &rmic; utility. + -RMIC -RMICFLAGS -RMICCOM -JAVACLASSSUFFIX +RMIC +RMICFLAGS +RMICCOM +JAVACLASSSUFFIX -RMICCOMSTR +RMICCOMSTR + Builds stub and skeleton class files for remote objects from Java .class files. @@ -31,7 +53,9 @@ The source can be the names of .class files, or the objects return from the &b-Java; builder method. + + If the construction variable &cv-link-JAVACLASSDIR; is set, either in the environment @@ -42,8 +66,9 @@ then the value of the variable will be stripped from the beginning of any .class file names. + - + classes = env.Java(target = 'classdir', source = 'src') env.RMIC(target = 'outdir1', source = classes) @@ -53,41 +78,51 @@ env.RMIC(target = 'outdir2', env.RMIC(target = 'outdir3', source = ['classes/foo.class', 'classes/bar.class'], JAVACLASSDIR = 'classes') - + + The Java RMI stub compiler. + + The command line used to compile stub and skeleton class files from Java classes that contain RMI implementations. Any options specified in the &cv-link-RMICFLAGS; construction variable are included on this command line. + + The string displayed when compiling stub and skeleton class files from Java classes that contain RMI implementations. If this is not set, then &cv-link-RMICCOM; (the command line) is displayed. + - + env = Environment(RMICCOMSTR = "Generating stub/skeleton class files $TARGETS from $SOURCES") - + + General options passed to the Java RMI stub compiler. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/rpcgen.xml b/src/engine/SCons/Tool/rpcgen.xml index dd77416..43b462d 100644 --- a/src/engine/SCons/Tool/rpcgen.xml +++ b/src/engine/SCons/Tool/rpcgen.xml @@ -1,20 +1,41 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for building with RPCGEN. + -RPCGEN -RPCGENFLAGS -RPCGENCLIENTFLAGS -RPCGENHEADERFLAGS -RPCGENSERVICEFLAGS -RPCGENXDRFLAGS +RPCGEN +RPCGENFLAGS +RPCGENCLIENTFLAGS +RPCGENHEADERFLAGS +RPCGENSERVICEFLAGS +RPCGENXDRFLAGS @@ -22,116 +43,138 @@ RPCGENXDRFLAGS + Generates an RPC client stub (_clnt.c) file from a specified RPC (.x) source file. Because rpcgen only builds output files in the local directory, the command will be executed in the source file's directory by default. + - + # Builds src/rpcif_clnt.c env.RPCGenClient('src/rpcif.x') - + + Generates an RPC header (.h) file from a specified RPC (.x) source file. Because rpcgen only builds output files in the local directory, the command will be executed in the source file's directory by default. + - + # Builds src/rpcif.h env.RPCGenHeader('src/rpcif.x') - + + Generates an RPC server-skeleton (_svc.c) file from a specified RPC (.x) source file. Because rpcgen only builds output files in the local directory, the command will be executed in the source file's directory by default. + - + # Builds src/rpcif_svc.c env.RPCGenClient('src/rpcif.x') - + + Generates an RPC XDR routine (_xdr.c) file from a specified RPC (.x) source file. Because rpcgen only builds output files in the local directory, the command will be executed in the source file's directory by default. + - + # Builds src/rpcif_xdr.c env.RPCGenClient('src/rpcif.x') - + + The RPC protocol compiler. + + Options passed to the RPC protocol compiler when generating client side stubs. These are in addition to any flags specified in the &cv-link-RPCGENFLAGS; construction variable. + + General options passed to the RPC protocol compiler. + + Options passed to the RPC protocol compiler when generating a header file. These are in addition to any flags specified in the &cv-link-RPCGENFLAGS; construction variable. + + Options passed to the RPC protocol compiler when generating server side stubs. These are in addition to any flags specified in the &cv-link-RPCGENFLAGS; construction variable. + + Options passed to the RPC protocol compiler when generating XDR routines. These are in addition to any flags specified in the &cv-link-RPCGENFLAGS; construction variable. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/sgiar.xml b/src/engine/SCons/Tool/sgiar.xml index 63debc4..3f49609 100644 --- a/src/engine/SCons/Tool/sgiar.xml +++ b/src/engine/SCons/Tool/sgiar.xml @@ -1,24 +1,47 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the SGI library archiver. + -AR -ARFLAGS -ARCOMSTR -SHLINK -SHLINKFLAGS -LIBPREFIX -LIBSUFFIX +AR +ARFLAGS +ARCOMSTR +SHLINK +SHLINKFLAGS +LIBPREFIX +LIBSUFFIX -ARCOMSTR -SHLINKCOMSTR +ARCOMSTR +SHLINKCOMSTR + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/sgic++.xml b/src/engine/SCons/Tool/sgic++.xml index a933ac2..6387c3f 100644 --- a/src/engine/SCons/Tool/sgic++.xml +++ b/src/engine/SCons/Tool/sgic++.xml @@ -1,18 +1,41 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the SGI C++ compiler. + -CXX -CXXFLAGS -SHCXX -SHOBJSUFFIX - +CXX +CXXFLAGS +SHCXX +SHOBJSUFFIX + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/sgicc.xml b/src/engine/SCons/Tool/sgicc.xml index 152b841..34a14b7 100644 --- a/src/engine/SCons/Tool/sgicc.xml +++ b/src/engine/SCons/Tool/sgicc.xml @@ -1,18 +1,41 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the SGI C compiler. + -CXX -SHOBJSUFFIX - +CXX +SHOBJSUFFIX + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/sgilink.xml b/src/engine/SCons/Tool/sgilink.xml index 2303972..dd7f5ce 100644 --- a/src/engine/SCons/Tool/sgilink.xml +++ b/src/engine/SCons/Tool/sgilink.xml @@ -1,17 +1,40 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the SGI linker. + -LINK -SHLINKFLAGS -RPATHPREFIX -RPATHSUFFIX +LINK +SHLINKFLAGS +RPATHPREFIX +RPATHSUFFIX + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/sunar.xml b/src/engine/SCons/Tool/sunar.xml index 884a864..f0c6090 100644 --- a/src/engine/SCons/Tool/sunar.xml +++ b/src/engine/SCons/Tool/sunar.xml @@ -1,25 +1,48 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the Sun library archiver. + -AR -ARFLAGS -ARCOM -SHLINK -SHLINKFLAGS -SHLINKCOM -LIBPREFIX -LIBSUFFIX +AR +ARFLAGS +ARCOM +SHLINK +SHLINKFLAGS +SHLINKCOM +LIBPREFIX +LIBSUFFIX -ARCOMSTR -SHLINKCOMSTR +ARCOMSTR +SHLINKCOMSTR + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/sunc++.xml b/src/engine/SCons/Tool/sunc++.xml index 6eb2920..6ee9767 100644 --- a/src/engine/SCons/Tool/sunc++.xml +++ b/src/engine/SCons/Tool/sunc++.xml @@ -1,19 +1,42 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the Sun C++ compiler. + -CXX -SHCXX -CXXVERSION -SHCXXFLAGS -SHOBJPREFIX -SHOBJSUFFIX +CXX +SHCXX +CXXVERSION +SHCXXFLAGS +SHOBJPREFIX +SHOBJSUFFIX + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/suncc.xml b/src/engine/SCons/Tool/suncc.xml index da91d12..111c668 100644 --- a/src/engine/SCons/Tool/suncc.xml +++ b/src/engine/SCons/Tool/suncc.xml @@ -1,17 +1,40 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the Sun C compiler. + -CXX -SHCCFLAGS -SHOBJPREFIX -SHOBJSUFFIX +CXX +SHCCFLAGS +SHOBJPREFIX +SHOBJSUFFIX + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/sunf77.xml b/src/engine/SCons/Tool/sunf77.xml index 3f02163..20f24ff 100644 --- a/src/engine/SCons/Tool/sunf77.xml +++ b/src/engine/SCons/Tool/sunf77.xml @@ -1,19 +1,42 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Set construction variables for the Sun &f77; Fortran compiler. + -FORTRAN -F77 -SHFORTRAN -SHF77 -SHFORTRANFLAGS -SHF77FLAGS +FORTRAN +F77 +SHFORTRAN +SHF77 +SHFORTRANFLAGS +SHF77FLAGS + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/sunf90.xml b/src/engine/SCons/Tool/sunf90.xml index 1d51846..4b4c2a0 100644 --- a/src/engine/SCons/Tool/sunf90.xml +++ b/src/engine/SCons/Tool/sunf90.xml @@ -1,19 +1,42 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Set construction variables for the Sun &f90; Fortran compiler. + -FORTRAN -F90 -SHFORTRAN -SHF90 -SHFORTRANFLAGS -SHF90FLAGS +FORTRAN +F90 +SHFORTRAN +SHF90 +SHFORTRANFLAGS +SHF90FLAGS + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/sunf95.xml b/src/engine/SCons/Tool/sunf95.xml index be6cdb7..42bae1e 100644 --- a/src/engine/SCons/Tool/sunf95.xml +++ b/src/engine/SCons/Tool/sunf95.xml @@ -1,19 +1,42 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Set construction variables for the Sun &f95; Fortran compiler. + -FORTRAN -F95 -SHFORTRAN -SHF95 -SHFORTRANFLAGS -SHF95FLAGS +FORTRAN +F95 +SHFORTRAN +SHF95 +SHFORTRANFLAGS +SHF95FLAGS + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/sunlink.xml b/src/engine/SCons/Tool/sunlink.xml index 083d428..b072939 100644 --- a/src/engine/SCons/Tool/sunlink.xml +++ b/src/engine/SCons/Tool/sunlink.xml @@ -1,16 +1,39 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the Sun linker. + -SHLINKFLAGS -RPATHPREFIX -RPATHSUFFIX +SHLINKFLAGS +RPATHPREFIX +RPATHSUFFIX + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/swig.xml b/src/engine/SCons/Tool/swig.xml index 33d3721..bae5f07 100644 --- a/src/engine/SCons/Tool/swig.xml +++ b/src/engine/SCons/Tool/swig.xml @@ -1,39 +1,63 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the SWIG interface generator. + -SWIG -SWIGFLAGS -SWIGDIRECTORSUFFIX -SWIGCFILESUFFIX -SWIGCXXFILESUFFIX -_SWIGINCFLAGS -SWIGINCPREFIX -SWIGINCSUFFIX -SWIGCOM -SWIGPATH -SWIGVERSION +SWIG +SWIGFLAGS +SWIGDIRECTORSUFFIX +SWIGCFILESUFFIX +SWIGCXXFILESUFFIX +_SWIGINCFLAGS +SWIGINCPREFIX +SWIGINCSUFFIX +SWIGCOM +SWIGPATH +SWIGVERSION -SWIGCOMSTR +SWIGCOMSTR + The scripting language wrapper and interface generator. + + The suffix that will be used for intermediate C source files generated by the scripting language wrapper and interface generator. @@ -46,37 +70,45 @@ option is specified as part of the &cv-link-SWIGFLAGS; construction variable. + + 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 turned on. The default value is _wrap.h. + + The command line used to call the scripting language wrapper and interface generator. + + The string displayed when calling the scripting language wrapper and interface generator. If this is not set, then &cv-link-SWIGCOM; (the command line) is displayed. + + The suffix that will be used for intermediate C++ source files generated by the scripting language wrapper and interface generator. @@ -87,11 +119,13 @@ By default, this value is used whenever the option is specified as part of the &cv-link-SWIGFLAGS; construction variable. + + General options passed to the scripting language wrapper and interface generator. This is where you should set @@ -108,11 +142,13 @@ generate a C++ intermediate source file with the extension that is specified as the &cv-link-CXXFILESUFFIX; variable. + + An automatically-generated construction variable containing the SWIG command-line options for specifying directories to be searched for included files. @@ -120,29 +156,35 @@ The value of &cv-_SWIGINCFLAGS; is created by appending &cv-SWIGINCPREFIX; and &cv-SWIGINCSUFFIX; to the beginning and end of each directory in &cv-SWIGPATH;. + + The prefix used to specify an include directory on the SWIG command line. This will be appended to the beginning of each directory in the &cv-SWIGPATH; construction variable when the &cv-_SWIGINCFLAGS; variable is automatically generated. + + 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 &cv-SWIGPATH; construction variable when the &cv-_SWIGINCFLAGS; variable is automatically generated. + + Specifies the output directory in which the scripting language wrapper and interface generator should place generated language-specific files. @@ -150,18 +192,22 @@ This will be used by SCons to identify the files that will be generated by the &swig; call, and translated into the swig -outdir option on the command line. + + 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 is to use the same path specified as &cv-CPPPATH;. + + Don't explicitly put include directory arguments in SWIGFLAGS; the result will be non-portable @@ -171,20 +217,24 @@ directory when they are used in a command. To force &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;() function: + - + include = Dir('include') env = Environment(SWIGPATH=include) - + + The directory list will be added to command lines through the automatically-generated &cv-_SWIGINCFLAGS; @@ -198,15 +248,20 @@ of each directory in &cv-SWIGPATH;. Any command lines you define that need the SWIGPATH directory list should include &cv-_SWIGINCFLAGS;: + - + env = Environment(SWIGCOM="my_swig -o $TARGET $_SWIGINCFLAGS $SORUCES") - + + The version number of the SWIG tool. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/tar.xml b/src/engine/SCons/Tool/tar.xml index 8cf407d..c37f752 100644 --- a/src/engine/SCons/Tool/tar.xml +++ b/src/engine/SCons/Tool/tar.xml @@ -1,26 +1,48 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the &tar; archiver. + -TAR -TARFLAGS -TARCOM -TARSUFFIX +TAR +TARFLAGS +TARCOM +TARSUFFIX -TARCOMSTR +TARCOMSTR + Builds a tar archive of the specified files and/or directories. Unlike most builder methods, @@ -37,8 +59,9 @@ any on-disk files, regardless of whether or not &scons; knows about them from other Builder or function calls. + - + env.Tar('src.tar', 'src') # Create the stuff.tar file. @@ -54,42 +77,54 @@ env.Tar('foo.tar.gz', 'foo') env = Environment(TARFLAGS = '-c -z', TARSUFFIX = '.tgz') env.Tar('foo') - + + The tar archiver. + + The command line used to call the tar archiver. + + The string displayed when archiving files using the tar archiver. If this is not set, then &cv-link-TARCOM; (the command line) is displayed. + - + env = Environment(TARCOMSTR = "Archiving $TARGET") - + + General options passed to the tar archiver. + + The suffix used for tar file names. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/tex.xml b/src/engine/SCons/Tool/tex.xml index 80a84cc..d84aeb4 100644 --- a/src/engine/SCons/Tool/tex.xml +++ b/src/engine/SCons/Tool/tex.xml @@ -1,126 +1,173 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the TeX formatter and typesetter. + -TEX -TEXFLAGS -TEXCOM -LATEX -LATEXFLAGS -LATEXCOM -BIBTEX -BIBTEXFLAGS -BIBTEXCOM -MAKEINDEX -MAKEINDEXFLAGS -MAKEINDEXCOM +TEX +TEXFLAGS +TEXCOM +LATEX +LATEXFLAGS +LATEXCOM +BIBTEX +BIBTEXFLAGS +BIBTEXCOM +MAKEINDEX +MAKEINDEXFLAGS +MAKEINDEXCOM -TEXCOMSTR -LATEXCOMSTR -BIBTEXCOMSTR -MAKEINDEXCOMSTR +TEXCOMSTR +LATEXCOMSTR +BIBTEXCOMSTR +MAKEINDEXCOMSTR + The bibliography generator for the TeX formatter and typesetter and the LaTeX structured formatter and typesetter. + + The command line used to call the bibliography generator for the TeX formatter and typesetter and the LaTeX structured formatter and typesetter. + + The string displayed when generating a bibliography for TeX or LaTeX. If this is not set, then &cv-link-BIBTEXCOM; (the command line) is displayed. + - + env = Environment(BIBTEXCOMSTR = "Generating bibliography $TARGET") - + + General options passed to the bibliography generator for the TeX formatter and typesetter and the LaTeX structured formatter and typesetter. + + The makeindex generator for the TeX formatter and typesetter and the LaTeX structured formatter and typesetter. + + The command line used to call the makeindex generator for the TeX formatter and typesetter and the LaTeX structured formatter and typesetter. + + 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 &cv-link-MAKEINDEXCOM; (the command line) is displayed. + + General options passed to the makeindex generator for the TeX formatter and typesetter and the LaTeX structured formatter and typesetter. + + The TeX formatter and typesetter. + + The command line used to call the TeX formatter and typesetter. + + The string displayed when calling the TeX formatter and typesetter. If this is not set, then &cv-link-TEXCOM; (the command line) is displayed. + - + env = Environment(TEXCOMSTR = "Building $TARGET from TeX input $SOURCES") - + + General options passed to the TeX formatter and typesetter. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/textfile.xml b/src/engine/SCons/Tool/textfile.xml index 3a53b57..c30e665 100644 --- a/src/engine/SCons/Tool/textfile.xml +++ b/src/engine/SCons/Tool/textfile.xml @@ -1,43 +1,70 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Set construction variables for the &b-Textfile; and &b-Substfile; builders. + -LINESEPARATOR -SUBSTFILEPREFIX -SUBSTFILESUFFIX -TEXTFILEPREFIX -TEXTFILESUFFIX +LINESEPARATOR +SUBSTFILEPREFIX +SUBSTFILESUFFIX +TEXTFILEPREFIX +TEXTFILESUFFIX -SUBST_DICT +SUBST_DICT + The &b-Textfile; builder generates a single text file. The source strings constitute the lines; nested lists of sources are flattened. &cv-LINESEPARATOR; is used to separate the strings. + + If present, the &cv-SUBST_DICT; construction variable is used to modify the strings before they are written; see the &b-Substfile; description for details. + + The prefix and suffix specified by the &cv-TEXTFILEPREFIX; and &cv-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']) @@ -76,26 +103,33 @@ blob.txt Schiller tanteratei ....8<---- (no linefeed at the end) - + + The &b-Substfile; builder generates a single text file by concatenating the source files. Nested lists of sources are flattened. &cv-LINESEPARATOR; is used to separate the source files; see the description of &b-Textfile; for details. + + 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 &cv-SUBSTFILEPREFIX; and &cv-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 &cv-SUBST_DICT; is present, it may be either a Python dictionary or a sequence of (key,value) tuples. If the former, @@ -103,7 +137,9 @@ the dictionary is converted into a list of tuples in an arbitrary order, so if one key is a prefix of another key or if one substitution could be further expanded by another subsitition, it is unpredictible whether the expansion will occur. + + Any occurences in the source of a key are replaced by the corresponding value, which may be a Python callable function or a string. @@ -111,8 +147,9 @@ If a value is a function, it is first called (with no arguments) to produce a string. The string is subst-expanded and the result replaces the key. + - + env = Environment(tools = ['default', 'textfile']) env['prefix'] = '/usr/bin' @@ -154,52 +191,66 @@ subst.Substfile('pgm2.c', [Value('#include "@foo@.h"'), "pgm2.in" ]) - + + The separator used by the &b-Substfile; and &b-Textfile; builders. This value is used between sources when constructing the target. It defaults to the current system line separator. + + The dictionary used by the &b-Substfile; or &b-Textfile; builders for substitution values. It can be anything acceptable to the dict() constructor, so in addition to a dictionary, lists of tuples are also acceptable. + + The prefix used for &b-Substfile; file names, the null string by default. + + The suffix used for &b-Substfile; file names, the null string by default. + + The prefix used for &b-Textfile; file names, the null string by default. + + The suffix used for &b-Textfile; file names; .txt by default. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/tlib.xml b/src/engine/SCons/Tool/tlib.xml index 55179d3..6c10d1b 100644 --- a/src/engine/SCons/Tool/tlib.xml +++ b/src/engine/SCons/Tool/tlib.xml @@ -1,22 +1,45 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the Borlan tib library archiver. + -AR -ARFLAGS -ARCOM -LIBPREFIX -LIBSUFFIX +AR +ARFLAGS +ARCOM +LIBPREFIX +LIBSUFFIX -ARCOMSTR +ARCOMSTR + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/xgettext.xml b/src/engine/SCons/Tool/xgettext.xml index 045a574..b29fe7b 100644 --- a/src/engine/SCons/Tool/xgettext.xml +++ b/src/engine/SCons/Tool/xgettext.xml @@ -1,40 +1,62 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + This scons tool is a part of scons &t-link-gettext; toolset. It provides scons interface to xgettext(1) program, which extracts internationalized messages from source code. The tool provides &b-POTUpdate; builder to make PO Template files. + -POTSUFFIX -POTUPDATE_ALIAS -XGETTEXTCOM -XGETTEXTCOMSTR -XGETTEXTFLAGS -XGETTEXTFROM -XGETTEXTFROMPREFIX -XGETTEXTFROMSUFFIX -XGETTEXTPATH -XGETTEXTPATHPREFIX -XGETTEXTPATHSUFFIX -_XGETTEXTDOMAIN -_XGETTEXTFROMFLAGS -_XGETTEXTPATHFLAGS +POTSUFFIX +POTUPDATE_ALIAS +XGETTEXTCOM +XGETTEXTCOMSTR +XGETTEXTFLAGS +XGETTEXTFROM +XGETTEXTFROMPREFIX +XGETTEXTFROMSUFFIX +XGETTEXTPATH +XGETTEXTPATHPREFIX +XGETTEXTPATHSUFFIX +_XGETTEXTDOMAIN +_XGETTEXTFROMFLAGS +_XGETTEXTPATHFLAGS -POTDOMAIN +POTDOMAIN + The builder belongs to &t-link-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 @@ -46,7 +68,9 @@ special alias (pot-update by default, see 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 &t-link-xgettext; tool even if there is no real change in internationalized messages (so the POT file is not being updated). This @@ -54,114 +78,143 @@ happens every time a source file has changed. In such case we invoke xgettext(1) and compare its output with the content of POT file to decide whether the file should be updated or 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 &b-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 overriden by setting &cv-link-POTDOMAIN; construction variable or providing it as an override to &b-POTUpdate; builder: - + + # SConstruct script env = Environment( tools = ['default', 'xgettext'] ) env['POTDOMAIN'] = "foo" env.POTUpdate(source = ["a.cpp", "b.cpp"]) # Creates foo.pot ... env.POTUpdate(POTDOMAIN = "bar", source = ["c.cpp", "d.cpp"]) # and bar.pot - + + 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 &cv-link-XGETTEXTFROM;: - + + # SConstruct file in 'po/' subdirectory env = Environment( tools = ['default', 'xgettext'] ) env.POTUpdate(XGETTEXTFROM = 'POTFILES.in') - + + Example 4. You may use &cv-link-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 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". + @@ -169,120 +222,152 @@ then the messages.pot will contain + Suffix used for PO Template files (default: '.pot'). See &t-link-xgettext; tool and &b-link-POTUpdate; builder. + + Name of the common phony target for all PO Templates created with &b-link-POUpdate; (default: 'pot-update'). See &t-link-xgettext; tool and &b-link-POTUpdate; builder. + + Path to xgettext(1) program (found via Detect()). See &t-link-xgettext; tool and &b-link-POTUpdate; builder. + + Complete xgettext command line. See &t-link-xgettext; tool and &b-link-POTUpdate; builder. + + A string that is shown when xgettext(1) command is invoked (default: '', which means "print &cv-link-XGETTEXTCOM;"). See &t-link-xgettext; tool and &b-link-POTUpdate; builder. + + Additional flags to xgettext(1). See &t-link-xgettext; tool and &b-link-POTUpdate; builder. + + 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 &cv-XGETTEXTFROM; files have same syntax and semantics as the well known GNU POTFILES.in. See &t-link-xgettext; tool and &b-link-POTUpdate; builder. + + List of directories, there xgettext(1) will look for source files (default: []). This variable works only together with &cv-link-XGETTEXTFROM; See also &t-link-xgettext; tool and &b-link-POTUpdate; builder. + + This flag is used to add single search path to xgettext(1)'s commandline (default: '-D'). + + (default: '') + + This flag is used to add single &cv-link-XGETTEXTFROM; file to xgettext(1)'s commandline (default: '-f'). + + (default: '') + + Internal "macro". Generates xgettext domain name form source and target (default: '${TARGET.filebase}'). + + Internal "macro". Genrates list of -D<dir> flags from the &cv-link-XGETTEXTPATH; list. + + Internal "macro". Generates list of -f<file> flags from &cv-link-XGETTEXTFROM;. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/yacc.xml b/src/engine/SCons/Tool/yacc.xml index aa648b1..5ad213c 100644 --- a/src/engine/SCons/Tool/yacc.xml +++ b/src/engine/SCons/Tool/yacc.xml @@ -1,64 +1,94 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the &yacc; parse generator. + -YACC -YACCFLAGS -YACCCOM -YACCHFILESUFFIX -YACCHXXFILESUFFIX -YACCVCGFILESUFFIX +YACC +YACCFLAGS +YACCCOM +YACCHFILESUFFIX +YACCHXXFILESUFFIX +YACCVCGFILESUFFIX -YACCCOMSTR +YACCCOMSTR + The parser generator. + + The command line used to call the parser generator to generate a source file. + + The string displayed when generating a source file using the parser generator. If this is not set, then &cv-link-YACCCOM; (the command line) is displayed. + - + env = Environment(YACCCOMSTR = "Yacc'ing $TARGET from $SOURCES") - + + General options passed to the parser generator. If &cv-link-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 (if the yacc source file ends in a .yy suffix) + + The suffix of the C header file generated by the parser generator when the @@ -71,11 +101,13 @@ it exists to allow you to specify what suffix the parser generator will use of its own accord. The default value is .h. + + The suffix of the C++ header file generated by the parser generator when the @@ -94,11 +126,13 @@ where the default is because the default &bison; parser generator just appends .h to the name of the generated C++ file. + + The suffix of the file containing the VCG grammar automaton definition when the @@ -111,5 +145,8 @@ it exists to allow you to specify what suffix the parser generator will use of its own accord. The default value is .vcg. + + + \ No newline at end of file diff --git a/src/engine/SCons/Tool/zip.xml b/src/engine/SCons/Tool/zip.xml index c2b8026..63f7636 100644 --- a/src/engine/SCons/Tool/zip.xml +++ b/src/engine/SCons/Tool/zip.xml @@ -1,27 +1,49 @@ + + + +%scons; + +%builders-mod; + +%functions-mod; + +%tools-mod; + +%variables-mod; +]> + + + + Sets construction variables for the &zip; archiver. + -ZIP -ZIPFLAGS -ZIPCOM -ZIPCOMPRESSION -ZIPSUFFIX +ZIP +ZIPFLAGS +ZIPCOM +ZIPCOMPRESSION +ZIPSUFFIX -ZIPCOMSTR +ZIPCOMSTR + Builds a zip archive of the specified files and/or directories. Unlike most builder methods, @@ -38,47 +60,55 @@ any on-disk files, regardless of whether or not &scons; knows about them from other Builder or function calls. + - + env.Zip('src.zip', 'src') # Create the stuff.zip file. env.Zip('stuff', ['subdir1', 'subdir2']) # Also add "another" to the stuff.tar file. env.Zip('stuff', 'another') - + + The zip compression and file packaging utility. + + The command line used to call the zip utility, or the internal Python function used to create a zip archive. + + The string displayed when archiving files using the zip utility. If this is not set, then &cv-link-ZIPCOM; (the command line or internal Python function) is displayed. + - + env = Environment(ZIPCOMSTR = "Zipping $TARGET") - + + The compression flag @@ -93,21 +123,27 @@ which creates a compressed zip archive. This value has no effect if the zipfile module is unavailable. + + General options passed to the zip utility. + + The suffix used for zip file names. + + An optional zip root directory (default empty). The filenames stored -- cgit v0.12