From 697e33ed224b539a42ff68121f7497f5bbf941b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 14 Jul 2019 08:35:24 +0200 Subject: New upstream version 3.0.5 --- doc/SConscript | 27 +- doc/design/SConstruct | 2 +- doc/design/acks.xml | 2 +- doc/design/bground.xml | 2 +- doc/design/chtml.xsl | 2 +- doc/design/copyright.xml | 2 +- doc/design/engine.xml | 2 +- doc/design/goals.xml | 2 +- doc/design/html.xsl | 2 +- doc/design/install.xml | 2 +- doc/design/intro.xml | 2 +- doc/design/issues.xml | 2 +- doc/design/main.xml | 2 +- doc/design/native.xml | 7 +- doc/design/overview.xml | 2 +- doc/design/pdf.xsl | 2 +- doc/design/scons_title.xsl | 2 +- doc/design/summary.xml | 2 +- doc/developer/SConstruct | 2 +- doc/developer/architecture.xml | 2 +- doc/developer/branches.xml | 2 +- doc/developer/copyright.xml | 2 +- doc/developer/cycle.xml | 2 +- doc/developer/main.xml | 2 +- doc/developer/packaging.xml | 2 +- doc/developer/preface.xml | 2 +- doc/developer/sourcetree.xml | 2 +- doc/developer/testing.xml | 2 +- doc/generated/builders.gen | 615 ++++++----- doc/generated/examples/addmethod_ex2_2.xml | 2 +- .../examples/builderswriting_MY_EMITTER_1.xml | 4 +- doc/generated/examples/caching_ex-random_1.xml | 6 +- doc/generated/examples/environments_ex3_1.xml | 22 +- doc/generated/examples/java_jar1_1.xml | 2 +- .../examples/mergeflags_MergeFlags1_1.xml | 9 +- .../examples/mergeflags_MergeFlags2_1.xml | 9 +- .../examples/mergeflags_MergeFlags3_1.xml | 10 +- doc/generated/examples/misc_FindFile1b_1.xml | 8 +- doc/generated/examples/parseflags_ex1_1.xml | 12 +- doc/generated/examples/parseflags_ex1_2.xml | 13 +- doc/generated/examples/parseflags_ex2_1.xml | 10 +- doc/generated/examples/parseflags_ex3_1.xml | 12 +- doc/generated/examples/parseflags_ex4_1.xml | 12 +- doc/generated/examples/troubleshoot_Dump_1.xml | 82 +- doc/generated/examples/troubleshoot_Dump_2.xml | 115 +- doc/generated/examples/troubleshoot_Dump_ENV_1.xml | 12 +- doc/generated/examples/troubleshoot_Dump_ENV_2.xml | 14 +- doc/generated/examples/troubleshoot_explain1_3.xml | 2 +- .../examples/troubleshoot_stacktrace_2.xml | 2 +- doc/generated/functions.gen | 23 +- doc/generated/tools.gen | 37 +- doc/generated/tools.mod | 4 +- doc/generated/variables.gen | 1132 ++++++++++++-------- doc/generated/variables.mod | 24 +- doc/man/SConstruct | 2 +- doc/man/epub.xsl | 2 +- doc/man/html.xsl | 2 +- doc/man/pdf.xsl | 2 +- doc/man/scons-time.xml | 6 +- doc/man/scons.xml | 126 ++- doc/man/scons_title.xsl | 2 +- doc/man/sconsign.xml | 24 +- doc/python10/SConstruct | 2 +- doc/python10/abstract.xml | 2 +- doc/python10/acks.xml | 2 +- doc/python10/copyright.xml | 2 +- doc/python10/design.xml | 2 +- doc/python10/future.xml | 2 +- doc/python10/install.xml | 2 +- doc/python10/intro.xml | 2 +- doc/python10/main.xml | 2 +- doc/python10/process.xml | 2 +- doc/python10/summary.xml | 2 +- doc/reference/Alias.xml | 2 +- doc/reference/CFile.xml | 2 +- doc/reference/CXXFile.xml | 2 +- doc/reference/Command.xml | 2 +- doc/reference/Install.xml | 2 +- doc/reference/InstallAs.xml | 2 +- doc/reference/Library.xml | 2 +- doc/reference/Object.xml | 2 +- doc/reference/PCH.xml | 2 +- doc/reference/PDF.xml | 2 +- doc/reference/PostScript.xml | 2 +- doc/reference/Program.xml | 2 +- doc/reference/RES.xml | 2 +- doc/reference/SConstruct | 2 +- doc/reference/SharedLibrary.xml | 2 +- doc/reference/SharedObject.xml | 2 +- doc/reference/StaticLibrary.xml | 2 +- doc/reference/StaticObject.xml | 2 +- doc/reference/chtml.xsl | 2 +- doc/reference/copyright.xml | 2 +- doc/reference/errors.xml | 2 +- doc/reference/html.xsl | 2 +- doc/reference/main.xml | 2 +- doc/reference/pdf.xsl | 2 +- doc/reference/preface.xml | 2 +- doc/reference/scons_title.xsl | 2 +- doc/scons.mod | 5 +- doc/user/README | 2 +- doc/user/SConstruct | 2 +- doc/user/actions.xml | 2 +- doc/user/add-method.xml | 2 +- doc/user/alias.xml | 2 +- doc/user/ant.xml | 2 +- doc/user/build-install.xml | 292 +---- doc/user/builders-built-in.xml | 2 +- doc/user/builders-commands.xml | 2 +- doc/user/builders-writing.xml | 24 +- doc/user/builders.xml | 2 +- doc/user/caching.xml | 2 +- doc/user/chtml.xsl | 2 +- doc/user/command-line.xml | 37 +- doc/user/copyright.xml | 55 +- doc/user/depends.xml | 10 +- doc/user/environments.xml | 32 +- doc/user/epub.xsl | 2 +- doc/user/errors.xml | 2 +- doc/user/example.xml | 2 +- doc/user/factories.xml | 2 +- doc/user/file-removal.xml | 2 +- doc/user/functions.xml | 2 +- doc/user/gettext.xml | 2 +- doc/user/hierarchy.xml | 2 +- doc/user/html.xsl | 2 +- doc/user/install.xml | 2 +- doc/user/java.xml | 2 +- doc/user/less-simple.xml | 61 +- doc/user/libraries.xml | 2 +- doc/user/main.xml | 6 +- doc/user/make.xml | 2 +- doc/user/mergeflags.xml | 2 +- doc/user/misc.xml | 57 +- doc/user/nodes.xml | 8 +- doc/user/output.xml | 2 +- doc/user/parseconfig.xml | 2 +- doc/user/parseflags.xml | 4 +- doc/user/pdf.xsl | 2 +- doc/user/preface.xml | 2 +- doc/user/python.xml | 2 +- doc/user/repositories.xml | 2 +- doc/user/run.xml | 2 +- doc/user/scanners.xml | 57 +- doc/user/sconf.xml | 2 +- doc/user/scons_title.xsl | 2 +- doc/user/separate.xml | 2 +- doc/user/sideeffect.xml | 2 +- doc/user/simple.xml | 2 +- doc/user/sourcecode.xml | 2 +- doc/user/tasks.xml | 2 +- doc/user/tools.xml | 2 +- doc/user/troubleshoot.xml | 2 +- doc/user/variables.xml | 2 +- doc/user/variants.xml | 2 +- 155 files changed, 1845 insertions(+), 1408 deletions(-) (limited to 'doc') diff --git a/doc/SConscript b/doc/SConscript index 46d4533..fd518f9 100644 --- a/doc/SConscript +++ b/doc/SConscript @@ -3,7 +3,7 @@ # # -# Copyright (c) 2001 - 2017 The SCons Foundation +# Copyright (c) 2001 - 2019 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -63,6 +63,7 @@ env = env.Clone() build = os.path.join(build_dir, 'doc') + epydoc_cli = whereis('epydoc') gs = whereis('gs') lynx = whereis('lynx') @@ -130,8 +131,9 @@ if skip_doc: if not os.path.isdir(scdir): os.makedirs(scdir) - import datetime - today = datetime.date.today().strftime("%m/%d/%Y") + import time + today = time.strftime("%Y-%m-%d", + time.gmtime(int(os.environ.get('SOURCE_DATE_EPOCH', time.time())))) version = env.subst('$VERSION') for m in man_page_list: man, _ = os.path.splitext(m) @@ -324,7 +326,7 @@ else: # get included by the document XML files in the subdirectories. # manifest = File('MANIFEST').rstr() - src_files = bootstrap.parseManifestLines('.', open(manifest).readlines()) + src_files = bootstrap.parseManifestLines('.', manifest) for s in src_files: if not s: continue @@ -349,7 +351,7 @@ else: if not os.path.exists(os.path.join(build, doc, 'titlepage')): env.Execute(Mkdir(os.path.join(build, doc, 'titlepage'))) manifest = File(os.path.join(doc, 'MANIFEST')).rstr() - src_files = bootstrap.parseManifestLines(doc, open(manifest).readlines()) + src_files = bootstrap.parseManifestLines(doc, manifest) for s in src_files: if not s: continue @@ -569,12 +571,15 @@ if not epydoc_cli and not epydoc: else: # XXX Should be in common with reading the same thing in # the SConstruct file. - e = os.path.join('#src', 'engine') - manifest_in = File(os.path.join(e, 'MANIFEST.in')).rstr() - sources = bootstrap.parseManifestLines(e, open(manifest_in).readlines()) - sources = [x for x in sources if x.find('Platform') == -1] + # bootstrap.py runs outside of SCons, so need to process the path + e = Dir(os.path.join('#src', 'engine')).rstr() + sources = bootstrap.parseManifestLines(e, os.path.join(e, 'MANIFEST.in')) + + # Omit some files: + # + # Don't omit Platform as we need Platform.virtualenv for the examples to be run + # sources = [x for x in sources if x.find('Platform') == -1] sources = [x for x in sources if x.find('Tool') == -1] - # XXX sources = [x for x in sources if x.find('Options') == -1] e = os.path.join(build, '..', 'scons', 'engine') @@ -586,7 +591,7 @@ else: tar_deps.append(htmldir) tar_list.append(htmldir) - if not epydoc_cli: + if sys.platform == 'darwin' or not epydoc_cli: print("doc: command line epydoc is not found, skipping PDF/PS/Tex output") else: # PDF and PostScript and TeX are built from the diff --git a/doc/design/SConstruct b/doc/design/SConstruct index 2bec66f..1fc1741 100644 --- a/doc/design/SConstruct +++ b/doc/design/SConstruct @@ -3,7 +3,7 @@ # # -# Copyright (c) 2001 - 2017 The SCons Foundation +# Copyright (c) 2001 - 2019 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the diff --git a/doc/design/acks.xml b/doc/design/acks.xml index f9969f4..1ed5eb1 100644 --- a/doc/design/acks.xml +++ b/doc/design/acks.xml @@ -12,7 +12,7 @@ + +The optional +must_exist +argument, if true, causes an exception to be raised if a requested +SConscript file is not found. The current default is false, +causing only a warning to be omitted, but this behavior is deprecated. +For scripts which truly intend to be optional, transition to +explicty supplying +must_exist=False to the call. + + Here are some composite examples: diff --git a/doc/generated/tools.gen b/doc/generated/tools.gen index f858aa4..be717e3 100644 --- a/doc/generated/tools.gen +++ b/doc/generated/tools.gen @@ -57,11 +57,11 @@ Sets construction variables for the IBM Visual Age linker. applelink - -Sets construction variables for the Apple linker -(similar to the GNU linker). - -Sets: &cv-link-FRAMEWORKPATHPREFIX;, &cv-link-LDMODULECOM;, &cv-link-LDMODULEFLAGS;, &cv-link-LDMODULEPREFIX;, &cv-link-LDMODULESUFFIX;, &cv-link-LINKCOM;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;, &cv-link-_FRAMEWORKPATH;, &cv-link-_FRAMEWORKS;.Uses: &cv-link-FRAMEWORKSFLAGS;. + + Sets construction variables for the Apple linker + (similar to the GNU linker). + + Sets: &cv-link-APPLELINK_COMPATIBILITY_VERSION;, &cv-link-APPLELINK_CURRENT_VERSION;, &cv-link-APPLELINK_NO_COMPATIBILITY_VERSION;, &cv-link-APPLELINK_NO_CURRENT_VERSION;, &cv-link-FRAMEWORKPATHPREFIX;, &cv-link-LDMODULECOM;, &cv-link-LDMODULEFLAGS;, &cv-link-LDMODULEPREFIX;, &cv-link-LDMODULESUFFIX;, &cv-link-LINKCOM;, &cv-link-SHLINKCOM;, &cv-link-SHLINKFLAGS;, &cv-link-_APPLELINK_COMPATIBILITY_VERSION;, &cv-link-_APPLELINK_CURRENT_VERSION;, &cv-link-_FRAMEWORKPATH;, &cv-link-_FRAMEWORKS;.Uses: &cv-link-FRAMEWORKSFLAGS;. ar @@ -586,10 +586,10 @@ Sets construction variables for the javac - -Sets construction variables for the javac compiler. - -Sets: &cv-link-JAVABOOTCLASSPATH;, &cv-link-JAVAC;, &cv-link-JAVACCOM;, &cv-link-JAVACFLAGS;, &cv-link-JAVACLASSPATH;, &cv-link-JAVACLASSSUFFIX;, &cv-link-JAVASOURCEPATH;, &cv-link-JAVASUFFIX;.Uses: &cv-link-JAVACCOMSTR;. + + Sets construction variables for the javac compiler. + + Sets: &cv-link-JAVABOOTCLASSPATH;, &cv-link-JAVAC;, &cv-link-JAVACCOM;, &cv-link-JAVACFLAGS;, &cv-link-JAVACLASSPATH;, &cv-link-JAVACLASSSUFFIX;, &cv-link-JAVAINCLUDES;, &cv-link-JAVASOURCEPATH;, &cv-link-JAVASUFFIX;.Uses: &cv-link-JAVACCOMSTR;. javah @@ -621,7 +621,7 @@ Sets construction variables for the D language compiler LDC2. Sets construction variables for the lex lexical analyser. -Sets: &cv-link-LEX;, &cv-link-LEXCOM;, &cv-link-LEXFLAGS;.Uses: &cv-link-LEXCOMSTR;. +Sets: &cv-link-LEX;, &cv-link-LEXCOM;, &cv-link-LEXFLAGS;, &cv-link-LEXUNISTD;.Uses: &cv-link-LEXCOMSTR;. link @@ -750,8 +750,9 @@ Sets construction variables for the Microsoft Visual C/C++ compiler. msvs - -Sets construction variables for Microsoft Visual Studio. Sets: &cv-link-MSVSBUILDCOM;, &cv-link-MSVSCLEANCOM;, &cv-link-MSVSENCODING;, &cv-link-MSVSPROJECTCOM;, &cv-link-MSVSREBUILDCOM;, &cv-link-MSVSSCONS;, &cv-link-MSVSSCONSCOM;, &cv-link-MSVSSCONSCRIPT;, &cv-link-MSVSSCONSFLAGS;, &cv-link-MSVSSOLUTIONCOM;. + + Sets construction variables for Microsoft Visual Studio. + Sets: &cv-link-MSVSBUILDCOM;, &cv-link-MSVSCLEANCOM;, &cv-link-MSVSENCODING;, &cv-link-MSVSPROJECTCOM;, &cv-link-MSVSREBUILDCOM;, &cv-link-MSVSSCONS;, &cv-link-MSVSSCONSCOM;, &cv-link-MSVSSCONSCRIPT;, &cv-link-MSVSSCONSFLAGS;, &cv-link-MSVSSOLUTIONCOM;. mwcc @@ -778,19 +779,19 @@ Sets construction variables for the Sets: &cv-link-AS;, &cv-link-ASCOM;, &cv-link-ASFLAGS;, &cv-link-ASPPCOM;, &cv-link-ASPPFLAGS;.Uses: &cv-link-ASCOMSTR;, &cv-link-ASPPCOMSTR;. - - Packaging + + packaging -Sets construction variables for the Package Builder. +A framework for building binary and source packages. - - packaging + + Packaging -A framework for building binary and source packages. +Sets construction variables for the Package Builder. diff --git a/doc/generated/tools.mod b/doc/generated/tools.mod index 1209d74..f9bc1d7 100644 --- a/doc/generated/tools.mod +++ b/doc/generated/tools.mod @@ -78,8 +78,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. mwcc"> mwld"> nasm"> -Packaging"> packaging"> +Packaging"> pdf"> pdflatex"> pdftex"> @@ -186,8 +186,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. mwcc"> mwld"> nasm"> -Packaging"> packaging"> +Packaging"> pdf"> pdflatex"> pdftex"> diff --git a/doc/generated/variables.gen b/doc/generated/variables.gen index 8a8dc99..c7048b4 100644 --- a/doc/generated/variables.gen +++ b/doc/generated/variables.gen @@ -31,6 +31,94 @@ if + + _APPLELINK_COMPATIBILITY_VERSION + + + A macro (by default a generator function) used to create the linker flags to specify + apple's linker's -compatibility_version flag. + The default generator uses $APPLELINK_COMPATIBILITY_VERSION + and $APPLELINK_NO_COMPATIBILITY_VERSION and $SHLIBVERSION + to determine the correct flag. + + + + + APPLELINK_COMPATIBILITY_VERSION + + + On Mac OS X this is used to set the linker flag: + + -compatibility_version + + + The value is specified as X[.Y[.Z]] where X is between 1 and 65535, Y can be omitted or between 1 and + 255, Z can be omitted or between 1 and 255. This value will be derived from $SHLIBVERSION if + not + specified. The lowest digit will be dropped and replaced by a 0. + + + If the $APPLELINK_NO_COMPATIBILITY_VERSION is set then no -compatibility_version will be + output. + + See MacOS's ld manpage for more details + + + + _APPLELINK_CURRENT_VERSION + + + A macro (by default a generator function) used to create the linker flags to specify apple's linker's + -current_version flag. The default generator uses $APPLELINK_CURRENT_VERSION and + $APPLELINK_NO_CURRENT_VERSION and $SHLIBVERSION to determine the correct flag. + + + + + APPLELINK_CURRENT_VERSION + + + On Mac OS X this is used to set the linker flag: + + -current_version + + + The value is specified as X[.Y[.Z]] where X is between 1 and 65535, Y can be omitted or between 1 and + 255, Z can be omitted or between 1 and 255. This value will be set to $SHLIBVERSION if not + specified. + + + If the $APPLELINK_NO_CURRENT_VERSION is set then no -current_version will be + output. + + See MacOS's ld manpage for more details + + + + + APPLELINK_NO_COMPATIBILITY_VERSION + + + Set this to any True (1|True|non-empty string) value to disable adding -compatibility_version flag when + generating versioned shared libraries. + + + This overrides $APPLELINK_COMPATIBILITY_VERSION. + + + + + APPLELINK_NO_CURRENT_VERSION + + + Set this to any True (1|True|non-empty string) value to disable adding -current_version flag when + generating versioned shared libraries. + + + This overrides $APPLELINK_CURRENT_VERSION. + + + AR @@ -51,7 +139,9 @@ This is used to fill in the Architecture: field in an Ipkg control file, -and as part of the name of a generated RPM file. +and the BuildArch: field +in the RPM .spec file, +as well as forming part of the name of a generated RPM package file. @@ -240,7 +330,7 @@ or this: env = Environment() -env['BUILDERS]['NewBuilder'] = foo +env['BUILDERS']['NewBuilder'] = foo @@ -389,7 +479,6 @@ the control for Ipkg, the .wxs for MSI). If set, the function will be called after the SCons template for the file has been written. -XXX @@ -480,7 +569,8 @@ An automatically-generated construction variable containing the C preprocessor command-line options to define values. The value of $_CPPDEFFLAGS is created -by appending $CPPDEFPREFIX and $CPPDEFSUFFIX +by respectively prepending and appending +$CPPDEFPREFIX and $CPPDEFSUFFIX to the beginning and end of each definition in $CPPDEFINES. @@ -503,7 +593,8 @@ If $CPPDEFINES is a strin the values of the $CPPDEFPREFIX and $CPPDEFSUFFIX construction variables -will be added to the beginning and end. +will be respectively prepended and appended to the beginning and end +of each definition in $CPPDEFINES. @@ -517,7 +608,7 @@ If $CPPDEFINES is a list, the values of the $CPPDEFPREFIX and $CPPDEFSUFFIX construction variables -will be appended to the beginning and end +will be respectively prepended and appended to the beginning and end of each element in the list. If any element is a list or tuple, then the first item is the name being @@ -535,7 +626,7 @@ If $CPPDEFINES is a dicti the values of the $CPPDEFPREFIX and $CPPDEFSUFFIX construction variables -will be appended to the beginning and end +will be respectively prepended and appended to the beginning and end of each item from the dictionary. The key of each dictionary item is a name being defined @@ -563,7 +654,7 @@ 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 +This will be prepended to the beginning of each definition in the $CPPDEFINES construction variable when the $_CPPDEFFLAGS variable is automatically generated. @@ -619,7 +710,7 @@ An automatically-generated construction variable containing the C preprocessor command-line options for specifying directories to be searched for include files. The value of $_CPPINCFLAGS is created -by appending $INCPREFIX and $INCSUFFIX +by respectively prepending and appending $INCPREFIX and $INCSUFFIX to the beginning and end of each directory in $CPPPATH. @@ -661,7 +752,7 @@ through the automatically-generated $_CPPINCFLAGS construction variable, which is constructed by -appending the values of the +respectively prepending and appending the value of the $INCPREFIX and $INCSUFFIX construction variables to the beginning and end @@ -2602,7 +2693,8 @@ containing the Fortran compiler command-line options for specifying directories to be searched for include files and module files. The value of $_FORTRANINCFLAGS is created -by prepending/appending $INCPREFIX and $INCSUFFIX +by respectively prepending and appending +$INCPREFIX and $INCSUFFIX to the beginning and end of each directory in $FORTRANPATH. @@ -2625,7 +2717,7 @@ 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 +This will be prepended to the beginning of the directory in the $FORTRANMODDIR construction variables when the $_FORTRANMODFLAG variables is automatically generated. @@ -2637,7 +2729,7 @@ when the The suffix used to specify a module directory on the Fortran compiler command line. -This will be appended to the beginning of the directory +This will be appended to the end of the directory in the $FORTRANMODDIR construction variables when the $_FORTRANMODFLAG variables is automatically generated. @@ -2653,8 +2745,8 @@ for specifying the directory location where the Fortran compiler should place any module files that happen to get generated during compilation. The value of $_FORTRANMODFLAG is created -by prepending/appending $FORTRANMODDIRPREFIX and -$FORTRANMODDIRSUFFIX +by respectively prepending and appending +$FORTRANMODDIRPREFIX and $FORTRANMODDIRSUFFIX to the beginning and end of the directory in $FORTRANMODDIR. @@ -2727,7 +2819,7 @@ through the automatically-generated $_FORTRANINCFLAGS construction variable, which is constructed by -appending the values of the +respectively prepending and appending the values of the $INCPREFIX and $INCSUFFIX construction variables to the beginning and end @@ -2797,107 +2889,107 @@ The default list is: FRAMEWORKPATH - -On Mac OS X with gcc, -a list containing the paths to search for frameworks. -Used by the compiler to find framework-style includes like -#include <Fmwk/Header.h>. -Used by the linker to find user-specified frameworks when linking (see -$FRAMEWORKS). -For example: - + + On Mac OS X with gcc, + a list containing the paths to search for frameworks. + Used by the compiler to find framework-style includes like + #include <Fmwk/Header.h>. + Used by the linker to find user-specified frameworks when linking (see + $FRAMEWORKS). + For example: + - - env.AppendUnique(FRAMEWORKPATH='#myframeworkdir') - + + env.AppendUnique(FRAMEWORKPATH='#myframeworkdir') + - -will add - + + will add + - - ... -Fmyframeworkdir - + + ... -Fmyframeworkdir + - -to the compiler and linker command lines. - - + + to the compiler and linker command lines. + + _FRAMEWORKPATH - -On Mac OS X with gcc, an automatically-generated construction variable -containing the linker command-line options corresponding to -$FRAMEWORKPATH. - - + + On Mac OS X with gcc, an automatically-generated construction variable + containing the linker command-line options corresponding to + $FRAMEWORKPATH. + + FRAMEWORKPATHPREFIX - -On Mac OS X with gcc, the prefix to be used for the FRAMEWORKPATH entries. -(see $FRAMEWORKPATH). -The default value is -. - - + + On Mac OS X with gcc, the prefix to be used for the FRAMEWORKPATH entries. + (see $FRAMEWORKPATH). + The default value is + . + + FRAMEWORKPREFIX - -On Mac OS X with gcc, -the prefix to be used for linking in frameworks -(see $FRAMEWORKS). -The default value is -. - - + + On Mac OS X with gcc, + the prefix to be used for linking in frameworks + (see $FRAMEWORKS). + The default value is + . + + _FRAMEWORKS - -On Mac OS X with gcc, -an automatically-generated construction variable -containing the linker command-line options -for linking with FRAMEWORKS. - - + + On Mac OS X with gcc, + an automatically-generated construction variable + containing the linker command-line options + for linking with FRAMEWORKS. + + FRAMEWORKS - -On Mac OS X with gcc, a list of the framework names to be linked into a -program or shared library or bundle. -The default value is the empty list. -For example: - + + On Mac OS X with gcc, a list of the framework names to be linked into a + program or shared library or bundle. + The default value is the empty list. + For example: + - - env.AppendUnique(FRAMEWORKS=Split('System Cocoa SystemConfiguration')) - + + env.AppendUnique(FRAMEWORKS=Split('System Cocoa SystemConfiguration')) + - + FRAMEWORKSFLAGS - -On Mac OS X with gcc, -general user-supplied frameworks options to be added at -the end of a command -line building a loadable module. -(This has been largely superseded by -the $FRAMEWORKPATH, $FRAMEWORKPATHPREFIX, -$FRAMEWORKPREFIX and $FRAMEWORKS variables -described above.) - - + + On Mac OS X with gcc, + general user-supplied frameworks options to be added at + the end of a command + line building a loadable module. + (This has been largely superseded by + the $FRAMEWORKPATH, $FRAMEWORKPATHPREFIX, + $FRAMEWORKPREFIX and $FRAMEWORKS variables + described above.) + + GS @@ -2939,6 +3031,15 @@ is -dNOPAUSE -dBATCH -sDEVICE=pdfwrite HOST_ARCH + + The name of the host hardware architecture used to create the Environment. + If a platform is specified when creating the Environment, then + that Platform's logic will handle setting this value. + This value is immutable, and should not be changed by the user after + the Environment is initialized. + Currently only set for Win32. + + Sets the host architecture for Visual Studio compiler. If not set, default to the detected host architecture: note that this may depend @@ -2955,16 +3056,7 @@ Valid values are the same as for This is currently only used on Windows, but in the future it will be used on other OSes as well. - - - The name of the host hardware architecture used to create the Environment. - If a platform is specified when creating the Environment, then - that Platform's logic will handle setting this value. - This value is immutable, and should not be changed by the user after - the Environment is initialized. - Currently only set for Win32. - - + HOST_OS @@ -3087,7 +3179,7 @@ env = Environment(IMPLICIT_COMMAND_DEPENDENCIES = 0) The prefix used to specify an include directory on the C compiler command line. -This will be appended to the beginning of each directory +This will be prepended to the beginning of each directory in the $CPPPATH and $FORTRANPATH construction variables when the $_CPPINCFLAGS and $_FORTRANINCFLAGS variables are automatically generated. @@ -3206,7 +3298,7 @@ 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 $JARCOM (the command line) is displayed. +If this is not set, then $JARCOM (the command line) is displayed. @@ -3216,7 +3308,7 @@ env = Environment(JARCOMSTR = "JARchiving $SOURCES into $TARGET") The string displayed when the Java archive tool is called -If this is not set, then $JARCOM (the command line) is displayed. +If this is not set, then $JARCOM (the command line) is displayed. @@ -3265,107 +3357,111 @@ by default. JAVABOOTCLASSPATH - -Specifies the list of directories that -will be added to the -javac command line -via the option. -The individual directory names will be -separated by the operating system's path separate character -(: on UNIX/Linux/POSIX, -; on Windows). - - + + Specifies the list of directories that + will be added to the + javac command line + via the option. + The individual directory names will be + separated by the operating system's path separate character + (: on UNIX/Linux/POSIX, + ; + on Windows). + + JAVAC - -The Java compiler. - - + + The Java compiler. + + JAVACCOM - -The command line used to compile a directory tree containing -Java source files to -corresponding Java class files. -Any options specified in the $JAVACFLAGS construction variable -are included on this command line. - - + + The command line used to compile a directory tree containing + Java source files to + corresponding Java class files. + Any options specified in the $JAVACFLAGS construction variable + are included on this command line. + + JAVACCOMSTR - -The string displayed when compiling -a directory tree of Java source files to -corresponding Java class files. -If this is not set, then $JAVACCOM (the command line) is displayed. - + + The string displayed when compiling + a directory tree of Java source files to + corresponding Java class files. + If this is not set, then $JAVACCOM (the command line) is displayed. + - -env = Environment(JAVACCOMSTR = "Compiling class files $TARGETS from $SOURCES") - - + + env = Environment(JAVACCOMSTR = "Compiling class files $TARGETS from $SOURCES") + + JAVACFLAGS - -General options that are passed to the Java compiler. - - + + General options that are passed to the Java compiler. + + JAVACLASSDIR - -The directory in which Java class files may be found. -This is stripped from the beginning of any Java .class -file names supplied to the -JavaH -builder. - - + + 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. + + JAVACLASSPATH - -Specifies the list of directories that -will be searched for Java -.class file. -The directories in this list will be added to the -javac and javah command lines -via the option. -The individual directory names will be -separated by the operating system's path separate character -(: on UNIX/Linux/POSIX, -; on Windows). - + + Specifies the list of directories that + will be searched for Java + .class + file. + The directories in this list will be added to the + javac and javah command lines + via the option. + 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 -$JAVACLASSPATH directories for dependency -.class files. - - + + Note that this currently just adds the specified + directory via the option. + SCons does not currently search the + $JAVACLASSPATH directories for dependency + .class + files. + + JAVACLASSSUFFIX - -The suffix for Java class files; -.class -by default. - - + + The suffix for Java class files; + .class + by default. + + JAVAH @@ -3409,65 +3505,77 @@ for Java classes. + + JAVAINCLUDES + + + Include path for Java header files (such as jni.h) + + + JAVASOURCEPATH - -Specifies the list of directories that -will be searched for input -.java file. -The directories in this list will be added to the -javac command line -via the option. -The individual directory names will be -separated by the operating system's path separate character -(: on UNIX/Linux/POSIX, -; on Windows). - + + Specifies the list of directories that + will be searched for input + .java + file. + The directories in this list will be added to the + javac command line + via the option. + 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 -$JAVASOURCEPATH directories for dependency -.java files. - - + + Note that this currently just adds the specified + directory via the option. + SCons does not currently search the + $JAVASOURCEPATH directories for dependency + .java + files. + + JAVASUFFIX - -The suffix for Java files; -.java -by default. - - + + The suffix for Java files; + .java + by default. + + JAVAVERSION - -Specifies the Java version being used by the Java builder. -This is not currently used to select one -version of the Java compiler vs. another. -Instead, you should set this to specify the version of Java -supported by your javac compiler. -The default is 1.4. - + + Specifies the Java version being used by the Java builder. + This is not currently used to select one + version of the Java compiler vs. another. + Instead, you should set this to specify the version of Java + supported by your javac compiler. + The default is 1.4. + - -This is sometimes necessary because -Java 1.5 changed the file names that are created -for nested anonymous inner classes, -which can cause a mismatch with the files -that SCons expects will be generated by the javac compiler. -Setting $JAVAVERSION to 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. - - + + This is sometimes necessary because + Java 1.5 changed the file names that are created + for nested anonymous inner classes, + which can cause a mismatch with the files + that SCons expects will be generated by the javac compiler. + Setting $JAVAVERSION to + 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. + + LATEX @@ -3688,6 +3796,14 @@ env = Environment(LEXCOMSTR = "Lex'ing $TARGET from $SOURCES") General options passed to the lexical analyzer generator. + + + + LEXUNISTD + + +Used only on windows environments to set a lex flag to prevent 'unistd.h' from being included. The default value is '--nounistd'. + @@ -3698,7 +3814,7 @@ An automatically-generated construction variable containing the linker command-line options for specifying directories to be searched for library. The value of $_LIBDIRFLAGS is created -by appending $LIBDIRPREFIX and $LIBDIRSUFFIX +by respectively prepending and appending $LIBDIRPREFIX and $LIBDIRSUFFIX to the beginning and end of each directory in $LIBPATH. @@ -3709,7 +3825,7 @@ of each directory in $LIBPATH The prefix used to specify a library directory on the linker command line. -This will be appended to the beginning of each directory +This will be prepended to the beginning of each directory in the $LIBPATH construction variable when the $_LIBDIRFLAGS variable is automatically generated. @@ -3742,7 +3858,7 @@ An automatically-generated construction variable containing the linker command-line options for specifying libraries to be linked with the resulting target. The value of $_LIBFLAGS is created -by appending $LIBLINKPREFIX and $LIBLINKSUFFIX +by respectively prepending and appending $LIBLINKPREFIX and $LIBLINKSUFFIX to the beginning and end of each filename in $LIBS. @@ -3753,7 +3869,7 @@ of each filename in $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 +This will be prepended to the beginning of each library in the $LIBS construction variable when the $_LIBFLAGS variable is automatically generated. @@ -3807,7 +3923,7 @@ through the automatically-generated $_LIBDIRFLAGS construction variable, which is constructed by -appending the values of the +respectively prepending and appending the values of the $LIBDIRPREFIX and $LIBDIRSUFFIX construction variables to the beginning and end @@ -3863,7 +3979,7 @@ through the automatically-generated $_LIBFLAGS construction variable, which is constructed by -appending the values of the +respectively prepending and appending the values of the $LIBLINKPREFIX and $LIBLINKSUFFIX construction variables to the beginning and end @@ -3930,10 +4046,10 @@ and these suffixes. LICENSE -The abbreviated name of the license under which -this project is released (gpl, lpgl, bsd etc.). +The abbreviated name, preferably the SPDX code, of the license under which +this project is released (GPL-3.0, LGPL-2.1, BSD-2-Clause etc.). See http://www.opensource.org/licenses/alphabetical -for a list of license names. +for a list of license names and SPDX codes. @@ -4379,6 +4495,7 @@ constructor; setting it later has no effect. Valid values for Windows are +14.1, 14.0, 14.0Exp, 12.0, @@ -4402,254 +4519,311 @@ Versions ending in Exp refer to "Express" or MSVS - -When the Microsoft Visual Studio tools are initialized, they set up this -dictionary with the following keys: - - VERSION - - - the version of MSVS being used (can be set via - $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. + + + 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 + $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 is not set, it was not available in the registry. + MSVS_ARCH - Sets -the architecture for which the generated project(s) should build. -The default value is x86. amd64 is -also supported by SCons for some Visual Studio versions. Trying to set -$MSVS_ARCH to an architecture that's not supported for a given Visual -Studio version will generate an error. + + Sets the architecture for which the generated project(s) should build. + + The default value is x86. + amd64 is also supported by SCons for + most Visual Studio versions. Since Visual Studio 2015 + arm is supported, and since Visual Studio + 2017 arm64 is supported. + Trying to set $MSVS_ARCH + to an architecture that's not supported for a given Visual + Studio version will generate an error. + + MSVS_PROJECT_GUID - The string placed in a generated + + + The string placed in a generated Microsoft Visual Studio project file as the value of the -ProjectGUID attribute. There is no default value. If not -defined, a new GUID is generated. + ProjectGUID attribute. There is no default + value. If not +defined, a new GUID is generated. + + + MSVS_SCC_AUX_PATH - The path name placed in a generated + + + The path name placed in a generated Microsoft Visual Studio project file as the value of the -SccAuxPath attribute if the -MSVS_SCC_PROVIDER construction variable is also set. There is -no default value. + SccAuxPath attribute if the + MSVS_SCC_PROVIDER construction variable is + also set. There is +no default value. + + + MSVS_SCC_CONNECTION_ROOT - The root path of projects in -your SCC workspace, i.e the path under which all project and solution files -will be generated. It is used as a reference path from which the relative -paths of the generated Microsoft Visual Studio project and solution files are -computed. The relative project file path is placed as the value of the -SccLocalPath attribute of the project file and as the -values of the -SccProjectFilePathRelativizedFromConnection[i] (where [i] -ranges from 0 to the number of projects in the solution) attributes of the -GlobalSection(SourceCodeControl) section of the Microsoft -Visual Studio solution file. Similarly the relative solution file path is -placed as the values of the SccLocalPath[i] (where [i] -ranges from 0 to the number of projects in the solution) attributes of the -GlobalSection(SourceCodeControl) section of the Microsoft -Visual Studio solution file. This is used only if the -MSVS_SCC_PROVIDER construction variable is also set. The -default value is the current working directory. + + + The root path of projects in your SCC workspace, i.e the + path under which all project and solution files will be + generated. It is used as a reference path from which the + relative paths of the generated Microsoft Visual Studio project + and solution files are computed. The relative project file path + is placed as the value of the SccLocalPath + attribute of the project file and as the values of the + SccProjectFilePathRelativizedFromConnection[i] + (where [i] ranges from 0 to the number of projects in the solution) + attributes of the GlobalSection(SourceCodeControl) + section of the Microsoft Visual Studio solution file. Similarly + the relative solution file path is placed as the values of the + SccLocalPath[i] (where [i] ranges from 0 + to the number of projects in the solution) attributes of the + GlobalSection(SourceCodeControl) section of + the Microsoft Visual Studio solution file. This is used only if + the MSVS_SCC_PROVIDER construction variable is + also set. The default value is the current working directory. + + MSVS_SCC_PROJECT_NAME - The project name placed in -a generated Microsoft Visual Studio project file as the value of the -SccProjectName attribute if the -MSVS_SCC_PROVIDER construction variable is also set. In this -case the string is also placed in the SccProjectName0 -attribute of the GlobalSection(SourceCodeControl) section -of the Microsoft Visual Studio solution file. There is no default value. - + + + The project name placed in a generated Microsoft + Visual Studio project file as the value of the + SccProjectName attribute if the + MSVS_SCC_PROVIDER construction variable + is also set. In this case the string is also placed in + the SccProjectName0 attribute of the + GlobalSection(SourceCodeControl) section + of the Microsoft Visual Studio solution file. There is no + default value. + + MSVS_SCC_PROVIDER - The -string placed in a generated Microsoft Visual Studio project file as the value -of the SccProvider attribute. The string is also placed in -the SccProvider0 attribute of the -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 + SccProvider attribute. The string is + also placed in the SccProvider0 attribute + of the GlobalSection(SourceCodeControl) + section of the Microsoft Visual Studio solution file. There + is no default value. + + MSVS_VERSION - Sets the preferred version -of Microsoft Visual Studio to use. If $MSVS_VERSION is not -set, SCons will (by default) select the latest version of Visual Studio -installed on your system. So, if you have version 6 and version 7 (MSVS .NET) -installed, it will prefer version 7. You can override this by specifying the -MSVS_VERSION variable in the Environment initialization, -setting it to the appropriate version ('6.0' or '7.0', for example). If the -specified version isn't installed, tool initialization will fail. -This is obsolete: use $MSVC_VERSION instead. If $MSVS_VERSION is -set and $MSVC_VERSION is not, $MSVC_VERSION will be set automatically -to $MSVS_VERSION. If both are set to different values, scons will raise an -error. + + Sets the preferred version of Microsoft Visual Studio to use. + + If $MSVS_VERSION is not set, SCons will (by default) + select the latest version of Visual Studio installed on your + system. So, if you have version 6 and version 7 (MSVS .NET) + installed, it will prefer version 7. You can override this by + specifying the MSVS_VERSION variable in the + Environment initialization, setting it to the appropriate + version ('6.0' or '7.0', for example). If the specified + version isn't installed, tool initialization will fail. + + + This is obsolete: use $MSVC_VERSION instead. If + $MSVS_VERSION is set and $MSVC_VERSION is + not, $MSVC_VERSION will be set automatically to + $MSVS_VERSION. If both are set to different values, + scons will raise an error. + + MSVSBUILDCOM -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 build command line placed in a generated Microsoft Visual + Studio project file. The default is to have Visual Studio + invoke SCons with any specified build targets. + + MSVSCLEANCOM - The clean command line placed in a generated Microsoft Visual -Studio project file. The default is to have Visual Studio invoke SCons with -the -c option to remove any specified 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. + + MSVSENCODING - The encoding string placed in a -generated Microsoft Visual Studio project file. The default is encoding -Windows-1252. + + + The encoding string placed in a generated Microsoft + Visual Studio project file. The default is encoding + Windows-1252. + + MSVSPROJECTCOM - The action used to generate Microsoft -Visual Studio project files. + + The action used to generate Microsoft Visual Studio project files. + MSVSPROJECTSUFFIX - The suffix used for Microsoft Visual -Studio project (DSP) files. The default value is .vcproj -when using Visual Studio version 7.x (.NET) or later version, and -.dsp when using earlier versions of Visual Studio. - + + + The suffix used for Microsoft Visual Studio project (DSP) + files. The default value is .vcproj + when using Visual Studio version 7.x (.NET) or later version, + and .dsp when using earlier versions of + Visual Studio. + + MSVSREBUILDCOM - 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 rebuild command line placed in a generated Microsoft + Visual Studio project file. The default is to have Visual + Studio invoke SCons with any specified rebuild targets. + + + MSVSSCONS -The SCons used in generated Microsoft Visual Studio project files. The -default is the version of SCons being used to generate the project file. - + + The SCons used in generated Microsoft Visual Studio project + files. The default is the version of SCons being used to + generate the project file. + + MSVSSCONSCOM - The default -SCons command used in generated Microsoft Visual Studio project files. - + + + The default SCons command used in generated Microsoft Visual + Studio project files. + + MSVSSCONSCRIPT - The sconscript -file (that is, SConstruct or SConscript file) that will be invoked by -Visual Studio project files (through the $MSVSSCONSCOM variable). The -default is the same sconscript file that contains the call to MSVSProject -to build the project file. + + + The sconscript file (that is, SConstruct or SConscript + file) that will be invoked by Visual Studio project files + (through the $MSVSSCONSCOM variable). The default + is the same sconscript file that contains the call to + MSVSProject to build the project file. + + MSVSSCONSFLAGS - The -SCons flags used in generated Microsoft Visual Studio project files. - + + + The SCons flags used in generated Microsoft Visual Studio project files. + + MSVSSOLUTIONCOM - The action used to generate Microsoft -Visual Studio solution files. + + The action used to generate Microsoft Visual Studio solution files. + MSVSSOLUTIONSUFFIX - The suffix used for Microsoft -Visual Studio solution (DSW) files. The default value is -.sln when using Visual Studio version 7.x (.NET), and -.dsw when using earlier versions of Visual Studio. - + + + The suffix used for Microsoft Visual Studio solution (DSW) + files. The default value is .sln + when using Visual Studio version 7.x (.NET), and + .dsw when using earlier versions of + Visual Studio. + + MT @@ -5601,7 +5775,8 @@ containing the command-line options for specifying directories to be searched by the resource compiler. The value of $RCINCFLAGS is created -by appending $RCINCPREFIX and $RCINCSUFFIX +by respectively prepending and appending +$RCINCPREFIX and $RCINCSUFFIX to the beginning and end of each directory in $CPPPATH. @@ -5613,7 +5788,7 @@ of each directory in $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 +This will be prepended to the beginning of each directory in the $CPPPATH construction variable when the $RCINCFLAGS variable is expanded. @@ -5735,7 +5910,7 @@ An automatically-generated construction variable containing the rpath flags to be used when linking a program with shared libraries. The value of $_RPATH is created -by appending $RPATHPREFIX and $RPATHSUFFIX +by respectively prepending $RPATHPREFIX and appending $RPATHSUFFIX to the beginning and end of each directory in $RPATH. @@ -5763,7 +5938,7 @@ path, you must make it absolute yourself. 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 +This will be prepended to the beginning of each directory in the $RPATH construction variable when the $_RPATH variable is automatically generated. @@ -5863,11 +6038,15 @@ below, for more information. SCONS_HOME - The -(optional) path to the SCons library directory, initialized from the external -environment. If set, this is used to construct a shorter and more efficient -search path in the $MSVSSCONS command line executed from Microsoft -Visual Studio project files. + + + The (optional) path to the SCons library directory, + initialized from the external environment. If set, this is + used to construct a shorter and more efficient search path in + the $MSVSSCONS command line executed from Microsoft + Visual Studio project files. + + SHCC @@ -6608,16 +6787,6 @@ that are needed. $SHLIBVERSION values include '1', '1.2.3', and '1.2.gitaa412c8b'. - - - - SHLIBVERSIONFLAGS - - -Extra flags added to $SHLINKCOM when building versioned -SharedLibrary. These flags are only used when $SHLIBVERSION is -set. - @@ -6631,6 +6800,16 @@ and some extra dynamically generated options (such as -Wl,-soname=$_SHLIBSONAME. It is unused by "plain" (unversioned) shared libraries. + + + + SHLIBVERSIONFLAGS + + +Extra flags added to $SHLINKCOM when building versioned +SharedLibrary. These flags are only used when $SHLIBVERSION is +set. + @@ -6935,7 +7114,8 @@ An automatically-generated construction variable containing the SWIG command-line options for specifying directories to be searched for included files. The value of $_SWIGINCFLAGS is created -by appending $SWIGINCPREFIX and $SWIGINCSUFFIX +by respectively prepending and appending +$SWIGINCPREFIX and $SWIGINCSUFFIX to the beginning and end of each directory in $SWIGPATH. @@ -6946,7 +7126,7 @@ of each directory in $SWIGPATH The prefix used to specify an include directory on the SWIG command line. -This will be appended to the beginning of each directory +This will be prepended to the beginning of each directory in the $SWIGPATH construction variable when the $_SWIGINCFLAGS variable is automatically generated. @@ -7020,7 +7200,7 @@ through the automatically-generated $_SWIGINCFLAGS construction variable, which is constructed by -appending the values of the +respectively prepending and appending the values of the $SWIGINCPREFIX and $SWIGINCSUFFIX construction variables to the beginning and end @@ -7094,6 +7274,13 @@ that may not be set or used in a construction environment. TARGET_ARCH + + The name of the target hardware architecture for the compiled objects + created by this Environment. + This defaults to the value of HOST_ARCH, and the user can override it. + Currently only set for Win32. + + Sets the target architecture for Visual Studio compiler (i.e. the arch of the binaries generated by the compiler). If not set, default to @@ -7104,29 +7291,28 @@ 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. +If this is set and MSVC_VERSION is not set, this will search for +all installed MSVC's that support the TARGET_ARCH, selecting the +latest version for use. Valid values for Windows are x86, +arm, i386 (for 32 bits); amd64, +arm64, emt64, x86_64 (for 64 bits); and ia64 (Itanium). + For example, if you want to compile 64-bit binaries, you would set TARGET_ARCH='x86_64' in your SCons environment. - - - The name of the target hardware architecture for the compiled objects - created by this Environment. - This defaults to the value of HOST_ARCH, and the user can override it. - Currently only set for Win32. - - + TARGET_OS @@ -7162,12 +7348,28 @@ The suffix used for tar 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 +to store lines lines longer than $MAXLINELENGTH +as operations which call out to a shell will fail +if the line is too long, which particularly +impacts linking. +The default is '@', which works for the Microsoft +and GNU toolchains on Windows. +Set this appropriately for other toolchains, +for example '-@' for the diab compiler or '-via' for ARM toolchain. + + + + TEMPFILESUFFIX + + +The suffix used for the temporary file name +used for long command lines. The name should +include the dot ('.') if one is wanted as +it will not be added automatically. +The default is '.lnk'. + @@ -7542,6 +7744,7 @@ This is used to fill in the BuildRequires: field in the RPM .spec file. +Note this should only be used on a host managed by rpm as the dependencies will not be resolvable at build time otherwise. @@ -7600,7 +7803,8 @@ field in the RPM This is used to fill in the Epoch: -field in the controlling information for RPM packages. +field in the RPM +.spec file. @@ -7624,6 +7828,38 @@ This is used to fill in the field in the RPM .spec file. + + + + X_RPM_EXTRADEFS + + +A list used to supply extra defintions or flags +to be added to the RPM .spec file. +Each item is added as-is with a carriage return appended. +This is useful if some specific RPM feature not otherwise +anticipated by SCons needs to be turned on or off. +Note if this variable is omitted, SCons will by +default supply the value +'%global debug_package %{nil}' +to disable debug package generation. +To enable debug package generation, include this +variable set either to None, or to a custom +list that does not include the default line. +Added in version 3.1. + + + +env.Package( + NAME = 'foo', +... + X_RPM_EXTRADEFS = [ + '%define _unpackaged_files_terminate_build 0' + '%define _missing_doc_files_terminate_build 0' + ], +... ) + + diff --git a/doc/generated/variables.mod b/doc/generated/variables.mod index 6ecf6c9..28c08dc 100644 --- a/doc/generated/variables.mod +++ b/doc/generated/variables.mod @@ -10,6 +10,12 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. $__LDMODULEVERSIONFLAGS"> $__SHLIBVERSIONFLAGS"> +$_APPLELINK_COMPATIBILITY_VERSION"> +$APPLELINK_COMPATIBILITY_VERSION"> +$_APPLELINK_CURRENT_VERSION"> +$APPLELINK_CURRENT_VERSION"> +$APPLELINK_NO_COMPATIBILITY_VERSION"> +$APPLELINK_NO_CURRENT_VERSION"> $AR"> $ARCHITECTURE"> $ARCOM"> @@ -232,6 +238,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. $JAVAHCOM"> $JAVAHCOMSTR"> $JAVAHFLAGS"> +$JAVAINCLUDES"> $JAVASOURCEPATH"> $JAVASUFFIX"> $JAVAVERSION"> @@ -256,6 +263,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. $LEXCOM"> $LEXCOMSTR"> $LEXFLAGS"> +$LEXUNISTD"> $_LIBDIRFLAGS"> $LIBDIRPREFIX"> $LIBDIRSUFFIX"> @@ -496,8 +504,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. $_SHLIBSONAME"> $SHLIBSUFFIX"> $SHLIBVERSION"> -$SHLIBVERSIONFLAGS"> $_SHLIBVERSIONFLAGS"> +$SHLIBVERSIONFLAGS"> $SHLINK"> $SHLINKCOM"> $SHLINKCOMSTR"> @@ -537,6 +545,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. $TARGETS"> $TARSUFFIX"> $TEMPFILEPREFIX"> +$TEMPFILESUFFIX"> $TEX"> $TEXCOM"> $TEXCOMSTR"> @@ -584,6 +593,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. $X_RPM_EPOCH"> $X_RPM_EXCLUDEARCH"> $X_RPM_EXLUSIVEARCH"> +$X_RPM_EXTRADEFS"> $X_RPM_GROUP"> $X_RPM_GROUP_lang"> $X_RPM_ICON"> @@ -639,6 +649,12 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. $__LDMODULEVERSIONFLAGS"> $__SHLIBVERSIONFLAGS"> +$_APPLELINK_COMPATIBILITY_VERSION"> +$APPLELINK_COMPATIBILITY_VERSION"> +$_APPLELINK_CURRENT_VERSION"> +$APPLELINK_CURRENT_VERSION"> +$APPLELINK_NO_COMPATIBILITY_VERSION"> +$APPLELINK_NO_CURRENT_VERSION"> $AR"> $ARCHITECTURE"> $ARCOM"> @@ -861,6 +877,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. $JAVAHCOM"> $JAVAHCOMSTR"> $JAVAHFLAGS"> +$JAVAINCLUDES"> $JAVASOURCEPATH"> $JAVASUFFIX"> $JAVAVERSION"> @@ -885,6 +902,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. $LEXCOM"> $LEXCOMSTR"> $LEXFLAGS"> +$LEXUNISTD"> $_LIBDIRFLAGS"> $LIBDIRPREFIX"> $LIBDIRSUFFIX"> @@ -1125,8 +1143,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. $_SHLIBSONAME"> $SHLIBSUFFIX"> $SHLIBVERSION"> -$SHLIBVERSIONFLAGS"> $_SHLIBVERSIONFLAGS"> +$SHLIBVERSIONFLAGS"> $SHLINK"> $SHLINKCOM"> $SHLINKCOMSTR"> @@ -1166,6 +1184,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. $TARGETS"> $TARSUFFIX"> $TEMPFILEPREFIX"> +$TEMPFILESUFFIX"> $TEX"> $TEXCOM"> $TEXCOMSTR"> @@ -1213,6 +1232,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. $X_RPM_EPOCH"> $X_RPM_EXCLUDEARCH"> $X_RPM_EXLUSIVEARCH"> +$X_RPM_EXTRADEFS"> $X_RPM_GROUP"> $X_RPM_GROUP_lang"> $X_RPM_ICON"> diff --git a/doc/man/SConstruct b/doc/man/SConstruct index dedf83e..f17ffd4 100644 --- a/doc/man/SConstruct +++ b/doc/man/SConstruct @@ -3,7 +3,7 @@ # # -# Copyright (c) 2001 - 2017 The SCons Foundation +# Copyright (c) 2001 - 2019 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the diff --git a/doc/man/epub.xsl b/doc/man/epub.xsl index d8d7f13..450f7de 100644 --- a/doc/man/epub.xsl +++ b/doc/man/epub.xsl @@ -1,7 +1,7 @@ @@ -853,14 +862,31 @@ and ultimately removed. --debug=time -Prints various time profiling information: -the time spent executing each individual build command; -the total build time (time SCons ran from beginning to end); -the total time spent reading and executing SConscript files; -the total time spent SCons itself spend running -(that is, not counting reading and executing SConscript files); -and both the total time spent executing all build commands -and the elapsed wall-clock time spent executing those build commands. +Prints various time profiling information: + + +The time spent executing each individual build command + + +The total build time (time SCons ran from beginning to end) + + +The total time spent reading and executing SConscript files + + +The total time spent SCons itself spend running +(that is, not counting reading and executing SConscript files) + + +The total time spent executing all build commands + +The elapsed wall-clock time spent executing those build commands + + +The time spent processing each file passed to the SConscript() function + + + (When scons is executed without the @@ -884,7 +910,8 @@ be significantly smaller than the total time spent executing all the build commands, since multiple build commands and intervening SCons processing -should take place in parallel.) +should take place in parallel.) + @@ -967,6 +994,12 @@ the mechanisms in the specified order. + + + + --enable-virtualenv + +Import virtualenv-related variables to SCons. @@ -1024,6 +1057,12 @@ are used, the directories are searched in the order specified. + + --ignore-virtualenv + +Suppress importing virtualenv-related variables to SCons. + + --implicit-cache @@ -1640,9 +1679,12 @@ scons --tree=all,prune,status target Walks up the directory structure until an SConstruct , -Sconstruct +Sconstruct , +sconstruct , +SConstruct.py +Sconstruct.py or -sconstruct +sconstruct.py file is found, and uses that as the top of the directory tree. If no targets are specified on the command line, @@ -1861,26 +1903,6 @@ These warnings are enabled by default. --warn=missing-sconscript, --warn=no-missing-sconscript Enables or disables warnings about missing SConscript files. -These warnings are enabled by default. - - - - - --warn=no-md5-module, --warn=no-no-md5-module - -Enables or disables warnings about the version of Python -not having an MD5 checksum module available. -These warnings are enabled by default. - - - - - --warn=no-metaclass-support, --warn=no-no-metaclass-support - -Enables or disables warnings about the version of Python -not supporting metaclasses when the - -option is used. These warnings are enabled by default. @@ -2299,12 +2321,12 @@ that are not absolute path names / on POSIX systems or -\fR +\ on Windows systems, with or without an optional drive letter) are interpreted relative to the directory containing the -SConscript +SConscript file being read. An initial # @@ -2992,7 +3014,7 @@ function to get at the path name for each Node. print(str(DEFAULT_TARGETS[0])) -if 'foo' in map(str, DEFAULT_TARGETS): +if 'foo' in [str(t) for t in DEFAULT_TARGETS]: print("Don't forget to test the `foo' program!") @@ -3006,13 +3028,13 @@ list change on on each successive call to the function: -print(map(str, DEFAULT_TARGETS)) # originally [] +print([str(t) for t in DEFAULT_TARGETS]) # originally [] Default('foo') -print(map(str, DEFAULT_TARGETS)) # now a node ['foo'] +print([str(t) for t in DEFAULT_TARGETS]) # now a node ['foo'] Default('bar') -print(map(str, DEFAULT_TARGETS)) # now a node ['foo', 'bar'] +print([str(t) for t in DEFAULT_TARGETS]) # now a node ['foo', 'bar'] Default(None) -print(map(str, DEFAULT_TARGETS)) # back to [] +print([str(t) for t in DEFAULT_TARGETS]) # back to [] Consequently, be sure to use @@ -4056,7 +4078,9 @@ and return -1, 0 or 1 (like the standard Python cmp -function). +function). + +Optionally a Boolean value of True for sort will cause a standard alphabetical sort to be performed Help(vars.GenerateHelpText(env)) @@ -5255,11 +5279,11 @@ arguments may be lists of Node objects if there is more than one target file or source file. The actual target and source file name(s) may be retrieved from their Node objects -via the built-in Python str() function: +via the built-in Python str function: target_file_name = str(target) -source_file_names = map(lambda x: str(x), source) +source_file_names = [str(x) for x in source] The function should return diff --git a/doc/man/scons_title.xsl b/doc/man/scons_title.xsl index cc5ae5e..0c50c96 100644 --- a/doc/man/scons_title.xsl +++ b/doc/man/scons_title.xsl @@ -1,7 +1,7 @@ - SCONSIGN 1 -SCons 3.0.0 -SCons 3.0.0 +SCons 3.0.5 +SCons 3.0.5 sconsign @@ -42,7 +42,7 @@ - sconsign + sconsign options file ... @@ -51,7 +51,7 @@ DESCRIPTION -The +The sconsign command displays the contents of one or more @@ -94,17 +94,21 @@ was specified by the function). Any file -argument that does not end in -.dbm +argument that ends in +.dblite is assumed to be a traditional .sconsign file containing the signature entries for a single directory. -An explicit format +If neither of those is true, +sconsign +attempts to guess the format. +If that does not work, +an explicit format may be specified using the or - + options. diff --git a/doc/python10/SConstruct b/doc/python10/SConstruct index 3603298..5b6eb6f 100644 --- a/doc/python10/SConstruct +++ b/doc/python10/SConstruct @@ -3,7 +3,7 @@ # # -# Copyright (c) 2001 - 2017 The SCons Foundation +# Copyright (c) 2001 - 2019 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the diff --git a/doc/python10/abstract.xml b/doc/python10/abstract.xml index c1715e8..55cb734 100644 --- a/doc/python10/abstract.xml +++ b/doc/python10/abstract.xml @@ -10,7 +10,7 @@ - - - -
- Installing &SCons; on Windows Systems - - - - &SCons; provides a Windows installer - that makes installation extremely easy. - Download the scons-&buildversion;.win32.exe - file from the &SCons; download page at - http://scons.org/pages/download.html. - Then all you need to do is execute the file - (usually by clicking on its icon in Windows Explorer). - These will take you through a small - sequence of windows that will install - &SCons; on your system. - - - - - - - - + +% python -m pip install --user scons + -
+ + &SCons; comes pre-packaged for installation on many Linux systems + Check your package installation system + to see if there is an &SCons; package available. + Many people prefer to install distribution-native packages if available, + as they provide a central point for management and updating. + Some distributions have two &SCons; packages available, one which + uses Python 2 and one which uses Python 3. If you need a specific + version of &SCons; that is different from the package available, + pip has a version option or you can follow + the instructions in the next section. + @@ -387,25 +200,21 @@ Python 2.5.1 Building and Installing &SCons; on Any System - If a pre-built &SCons; package is not available for your system, + and installing using pip is not suitable, then you can still easily build and install &SCons; using the native Python distutils package. - - The first step is to download either the scons-&buildversion;.tar.gz or scons-&buildversion;.zip, which are available from the SCons download page at http://www.scons.org/download.html. - - Unpack the archive you downloaded, using a utility like tar on Linux or UNIX, @@ -415,7 +224,6 @@ Python 2.5.1 usually in your local directory. Then change your working directory to that directory and install &SCons; by executing the following commands: - @@ -429,11 +237,11 @@ Python 2.5.1 install the &scons; script in the python which is used to run the setup.py's scripts directory (/usr/local/bin or - C:\Python25\Scripts), + C:\Python27\Scripts), and will install the &SCons; build engine in the corresponding library directory for the python used (/usr/local/lib/scons or - C:\Python25\scons). + C:\Python27\scons). Because these are system directories, you may need root (on Linux or UNIX) or Administrator (on Windows) privileges to install &SCons; like this. @@ -489,7 +297,7 @@ Python 2.5.1 in the /usr/lib/scons-&buildversion; or - C:\Python25\scons-&buildversion; + C:\Python27\scons-&buildversion; directory, for example.
diff --git a/doc/user/builders-built-in.xml b/doc/user/builders-built-in.xml index d64b63d..f059bca 100644 --- a/doc/user/builders-built-in.xml +++ b/doc/user/builders-built-in.xml @@ -22,7 +22,7 @@ + --> -
- +
+ + SCons User's Guide Copyright (c) 2004-2019 Steven Knight + +
- SCons User's Guide Copyright (c) 2004, 2005, 2006, 2007 Steven Knight - -
-
diff --git a/doc/user/depends.xml b/doc/user/depends.xml index 29a79a5..35372e7 100644 --- a/doc/user/depends.xml +++ b/doc/user/depends.xml @@ -22,7 +22,7 @@