%scons; %builders-mod; %functions-mod; %tools-mod; %variables-mod; ]> A function used to produce variables like &cv-link-_CPPINCFLAGS;. It takes four mandatory arguments, and up to 4 additional optional arguments: 1) a prefix to concatenate onto each element, 2) a list of elements, 3) a suffix to concatenate onto each element, 4) an environment for variable interpolation, 5) an optional function that will be called to transform the list before concatenation, 6) an optionally specified target (Can use TARGET), 7) an optionally specified source (Can use SOURCE), 8) optional affect_signature flag which will wrap non-empty returned value with $( and $) to indicate the contents should not affect the signature of the generated command line. env['_CPPINCFLAGS'] = '${_concat(INCPREFIX, CPPPATH, INCSUFFIX, __env__, RDirs, TARGET, SOURCE, affect_signature=False)}' The name of the directory in which Configure context test files are written. The default is .sconf_temp in the top-level directory containing the SConstruct file. The name of the &Configure; context log file. The default is config.log in the top-level directory containing the SConstruct file. An automatically-generated &consvar; containing the C preprocessor command-line options to define values. The value of &cv-link-_CPPDEFFLAGS; is created by respectively prepending and appending &cv-link-CPPDEFPREFIX; and &cv-link-CPPDEFSUFFIX; to each definition in &cv-link-CPPDEFINES;. A platform independent specification of C preprocessor macro definitions. The definitions will be added to command lines through the automatically-generated &cv-link-_CPPDEFFLAGS; &consvar; (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-link-CPPDEFPREFIX; and &cv-link-CPPDEFSUFFIX; &consvars; will be respectively prepended and appended to each definition in &cv-link-CPPDEFINES;. # 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; &consvars; will be respectively prepended and appended to 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; &consvars; will be respectively prepended and appended to each item from the dictionary. The key of each dictionary item is a name being defined to the dictionary item's corresponding value; if the value is None, then the name is defined without an explicit value. Note that the resulting flags are sorted by keyword to ensure that the order of the options on the command line is consistent each time &scons; 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 macro definitions on the C compiler command line. This will be prepended to each definition in the &cv-link-CPPDEFINES; &consvar; when the &cv-link-_CPPDEFFLAGS; variable is automatically generated. The suffix used to specify preprocessor macro definitions on the C compiler command line. This will be appended to each definition in the &cv-link-CPPDEFINES; &consvar; when the &cv-link-_CPPDEFFLAGS; variable is automatically generated. An automatically-generated &consvar; containing the C preprocessor command-line options for specifying directories to be searched for include files. The value of &cv-_CPPINCFLAGS; is created by respectively prepending and appending &cv-link-INCPREFIX; and &cv-link-INCSUFFIX; to each directory in &cv-link-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. In general it's not advised to put include directory directives directly into &cv-link-CCFLAGS; or &cv-link-CXXFLAGS; as the result will be non-portable and the directories will not be searched by the dependency scanner. &cv-CPPPATH; should be a list of path strings, or a single string, not a pathname list joined by Python's os.sep. Note: directory names in &cv-CPPPATH; will be looked-up relative to the directory of the SConscript file when they are used in a command. To force &scons; to look-up a directory relative to the root of the source tree use the # prefix: env = Environment(CPPPATH='#/include') The directory look-up can also be forced using the &f-link-Dir; function: include = Dir('include') env = Environment(CPPPATH=include) The directory list will be added to command lines through the automatically-generated &cv-link-_CPPINCFLAGS; &consvar;, which is constructed by respectively prepending and appending the values of the &cv-link-INCPREFIX; and &cv-link-INCSUFFIX; &consvars; to each directory in &cv-link-CPPPATH;. Any command lines you define that need the &cv-CPPPATH; directory list should include &cv-link-_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 prepended to each directory in the &cv-link-CPPPATH; and &cv-link-FORTRANPATH; &consvars; when the &cv-link-_CPPINCFLAGS; and &cv-link-_FORTRANINCFLAGS; variables are automatically generated. The suffix used to specify an include directory on the C compiler command line. This will be appended to each directory in the &cv-link-CPPPATH; and &cv-link-FORTRANPATH; &consvars; when the &cv-link-_CPPINCFLAGS; and &cv-link-_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 is the path name of the source file. env 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. The value of &cv-_LIBDIRFLAGS; is created by respectively prepending and appending &cv-link-LIBDIRPREFIX; and &cv-link-LIBDIRSUFFIX; to each directory in &cv-link-LIBPATH;. The prefix used to specify a library directory on the linker command line. This will be prepended to each directory in the &cv-link-LIBPATH; construction variable when the &cv-link-_LIBDIRFLAGS; variable is automatically generated. The suffix used to specify a library directory on the linker command line. This will be appended to each directory in the &cv-link-LIBPATH; construction variable when the &cv-link-_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. The value of &cv-link-_LIBFLAGS; is created by respectively prepending and appending &cv-link-LIBLINKPREFIX; and &cv-link-LIBLINKSUFFIX; to each filename in &cv-link-LIBS;. The prefix used to specify a library to link on the linker command line. This will be prepended to each library in the &cv-link-LIBS; construction variable when the &cv-link-_LIBFLAGS; variable is automatically generated. The suffix used to specify a library to link on the linker command line. This will be appended to each library in the &cv-link-LIBS; construction variable when the &cv-link-_LIBFLAGS; variable is automatically generated. The list of directories that will be searched for libraries specified by the &cv-link-LIBS; &consvar;. &cv-LIBPATH; should be a list of path strings, or a single string, not a pathname list joined by Python's os.sep. Do not put library search directives directly into &cv-LINKFLAGS; or &cv-SHLINKFLAGS; as the result will be non-portable. Note: directory names in &cv-LIBPATH; will be looked-up relative to the directory of the SConscript file when they are used in a command. To force &scons; to look-up a directory relative to the root of the source tree use the # prefix: env = Environment(LIBPATH='#/libs') The directory look-up can also be forced using the &f-link-Dir; function: libs = Dir('libs') env = Environment(LIBPATH=libs) The directory list will be added to command lines through the automatically-generated &cv-link-_LIBDIRFLAGS; construction variable, which is constructed by respectively prepending and appending the values of the &cv-link-LIBDIRPREFIX; and &cv-link-LIBDIRSUFFIX; construction variables to each directory in &cv-LIBPATH;. Any command lines you define that need the &cv-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 added to the link line for linking with any executable program, shared library, or loadable module created by the &consenv; or override. String-valued library names should include only the library base names, without prefixes such as lib or suffixes such as .so or .dll. The library list will be added to command lines through the automatically-generated &cv-_LIBFLAGS; &consvar; which is constructed by respectively prepending and appending the values of the &cv-LIBLINKPREFIX; and &cv-LIBLINKSUFFIX; &consvars; to each library name in &cv-LIBS;. Library name strings should not include a path component, instead the compiler will be directed to look for libraries in the paths specified by &cv-link-LIBPATH;. Any command lines you define that need the &cv-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 &cv-LIBS; list, the name of that file will be added to &cv-_LIBFLAGS;, and thus to the link line, as-is, without &cv-LIBLINKPREFIX; 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. ([**kwargs]) Instantiates and returns the default &consenv; object. The &defenv; is used internally by SCons in order to execute many of the global functions in this list (that is, those not called as methods of a specific &consenv;). It is not mandatory to call &f-DefaultEnvironment;: the &defenv; will be instantiated automatically when the build phase begins if the function has not been called, however calling it explicitly gives the opportunity to affect and examine the contents of the &defenv;. The &defenv; is a singleton, so the keyword arguments affect it only on the first call, on subsequent calls the already-constructed object is returned and any keyword arguments are silently ignored. The &defenv; can be modified after instantiation in the same way as any &consenv;. Modifying the &defenv; has no effect on the &consenv; constructed by an &f-link-Environment; or &f-link-Clone; call.