From 190853a12d8c2128f29abe849a6a162f0ed9f049 Mon Sep 17 00:00:00 2001 From: William Deegan Date: Mon, 10 Aug 2026 20:29:20 -0700 Subject: [PATCH 1/2] Regenerated docs for 4.11.0 release. Updated NEXT_RELEASE and PREV_RELEASE in files --- CHANGES.txt | 2 +- README-SF.rst | 2 +- README-local | 2 +- README-package.rst | 2 +- README.rst | 2 +- RELEASE.txt | 6 +- ReleaseConfig | 2 +- SCons/Environment.py | 2 +- SCons/Environment.xml | 2 +- SCons/Script/Main.xml | 2 +- SCons/Taskmaster/Job.py | 2 +- SCons/Tool/__init__.py | 2 +- SConstruct | 2 +- doc/generated/builders.gen | 63 +- doc/generated/builders.mod | 8 - .../examples/builderswriting_ex2_1.xml | 2 +- .../examples/caching_ex-random_1.xml | 6 +- .../examples/troubleshoot_stacktrace_2.xml | 4 +- .../troubleshoot_taskmastertrace_1.xml | 50 +- doc/generated/functions.gen | 603 +++++++-------- doc/generated/tools.gen | 120 +-- doc/generated/tools.mod | 4 - doc/generated/variables.gen | 725 +++++------------- doc/generated/variables.mod | 58 +- doc/man/scons.xml | 12 +- doc/man/sconsign.xml | 2 +- doc/user/command-line.xml | 2 +- doc/user/main.xml | 4 +- template/RELEASE.txt | 6 +- 29 files changed, 578 insertions(+), 1121 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index d6a9aaf4c5..3d74a69785 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -8,7 +8,7 @@ NOTE: The 4.0.0 release of SCons dropped Python 2.7 support. Use 3.1.2 if Python 2.7 support is required (but note old SCons releases are unsupported). NOTE: Since SCons 4.3.0, Python 3.6.0 or above is required. NOTE: Since SCons 4.9.0, Python 3.7.0 or above is required. -NOTE: The last release to support Python 3.7 or Python 3.8 is NEXT_RELEASE. +NOTE: The last release to support Python 3.7 or Python 3.8 is 4.11.0. RELEASE VERSION/DATE TO BE FILLED IN LATER diff --git a/README-SF.rst b/README-SF.rst index ffc052b739..5e4e1066b9 100755 --- a/README-SF.rst +++ b/README-SF.rst @@ -50,7 +50,7 @@ Execution Requirements Running SCons requires Python 3.7 or higher. There should be no other dependencies or requirements to run standard SCons. -The last release to support Python 3.7 or Python 3.8 is NEXT_RELEASE. +The last release to support Python 3.7 or Python 3.8 is 4.11.0. The last release to support Python 3.6 was 4.8.1. The last release to support Python 3.5 was 4.2.0. diff --git a/README-local b/README-local index a22e4f4579..ba615bb500 100644 --- a/README-local +++ b/README-local @@ -46,7 +46,7 @@ EXECUTION REQUIREMENTS Running SCons requires Python 3.7 or higher. There should be no other dependencies or requirements to run standard SCons. -The last release to support Python 3.7 or Python 3.8 is NEXT_RELEASE. +The last release to support Python 3.7 or Python 3.8 is 4.11.0. The last release to support Python 3.6 was 4.8.1. The last release to support Python 3.5 was 4.2.0. diff --git a/README-package.rst b/README-package.rst index daf781cd09..b8b2d6d81b 100755 --- a/README-package.rst +++ b/README-package.rst @@ -83,7 +83,7 @@ Execution Requirements Running SCons requires Python 3.7 or higher. There should be no other dependencies or requirements to run standard SCons. -The last release to support Python 3.7 or Python 3.8 is NEXT_RELEASE. +The last release to support Python 3.7 or Python 3.8 is 4.11.0. The last release to support Python 3.6 was 4.8.1. The last release to support Python 3.5 was 4.2.0. diff --git a/README.rst b/README.rst index fc4932f803..cc5cfd89c2 100755 --- a/README.rst +++ b/README.rst @@ -86,7 +86,7 @@ Execution Requirements Running SCons requires Python 3.7 or higher. There should be no other dependencies or requirements to run standard SCons. -The last release to support Python 3.7 or Python 3.8 is NEXT_RELEASE. +The last release to support Python 3.7 or Python 3.8 is 4.11.0. The last release to support Python 3.6 was 4.8.1. The last release to support Python 3.5 was 4.2.0. diff --git a/RELEASE.txt b/RELEASE.txt index e4203be498..9f1e848931 100644 --- a/RELEASE.txt +++ b/RELEASE.txt @@ -6,12 +6,12 @@ Past official release announcements appear at: ================================================================== -A new SCons release, NEXT_RELEASE, is now available on the SCons download page: +A new SCons release, 4.11.0, is now available on the SCons download page: https://scons.org/pages/download.html -Here is a summary of the changes since PREVIOUS_RELEASE: +Here is a summary of the changes since 4.10.1: NEW FUNCTIONALITY ----------------- @@ -196,4 +196,4 @@ Thanks to the following contributors listed below for their contributions to thi ========================================================================================== .. code-block:: text - git shortlog --no-merges -ns PREVIOUS_RELEASE..HEAD + git shortlog --no-merges -ns 4.10.1..HEAD diff --git a/ReleaseConfig b/ReleaseConfig index bf799da7bb..71b09c65c7 100755 --- a/ReleaseConfig +++ b/ReleaseConfig @@ -31,7 +31,7 @@ # If the release type is not 'final', the patchlevel is set to the # release date. This value is mandatory and must be present in this file. #version_tuple = (2, 2, 0, 'final', 0) -version_tuple = (4, 10, 2, 'a', 0) +version_tuple = (4, 11,0 ) # Python versions prior to unsupported_python_version cause a fatal error # when that version is used. Python versions prior to deprecate_python_version diff --git a/SCons/Environment.py b/SCons/Environment.py index 024c643dbd..c878ce1942 100644 --- a/SCons/Environment.py +++ b/SCons/Environment.py @@ -2878,7 +2878,7 @@ def SConsignFile( stored as one file per directory, rather than in a single project-wide database. - .. deprecated:: NEXT_RELEASE + .. deprecated:: 4.11.0 The signature-file-per-directory mode is deprecated. """ if name is not None: diff --git a/SCons/Environment.xml b/SCons/Environment.xml index 25eaafdf68..fda9c3d385 100644 --- a/SCons/Environment.xml +++ b/SCons/Environment.xml @@ -3213,7 +3213,7 @@ not be used in new projects. -Deprecated since version NEXT_RELEASE: +Deprecated since version 4.11.0: the signature-file-per-directory mode is deprecated and will be removed in a future release. diff --git a/SCons/Script/Main.xml b/SCons/Script/Main.xml index 427f620462..36b0ac5d92 100644 --- a/SCons/Script/Main.xml +++ b/SCons/Script/Main.xml @@ -172,7 +172,7 @@ see the &f-Help; documentation for details. -Prior to version NEXT_RELEASE, +Prior to version 4.11.0, the behavior when options added by &AddOption; are specified with whitespace was undefined and discouraged. Such usage covers both the use of a space as the separator diff --git a/SCons/Taskmaster/Job.py b/SCons/Taskmaster/Job.py index b538b27490..776e30441a 100644 --- a/SCons/Taskmaster/Job.py +++ b/SCons/Taskmaster/Job.py @@ -78,7 +78,7 @@ def __init__(self, num, taskmaster) -> None: requested and the scheduler selected - the old scheduler is available through CLI ``--experimental=legacy_sched_deprecated``. - .. versionchanged: NEXT_RELEASE + .. versionchanged: 4.11.0 Legacy scheduler deprecated, flag renamed to ``legacy_sched_deprecated`` """ # Importing GetOption here instead of at top of file to avoid diff --git a/SCons/Tool/__init__.py b/SCons/Tool/__init__.py index ccd4534247..833c4f571f 100644 --- a/SCons/Tool/__init__.py +++ b/SCons/Tool/__init__.py @@ -132,7 +132,7 @@ class Tool: is actually an existing instance, if so, just return ourselves without further setup. - .. versionchanged:: NEXT_RELEASE + .. versionchanged:: 4.11.0 Accept an existing instance at creation time and don't duplicate it. """ diff --git a/SConstruct b/SConstruct index ce2a5d4048..66d563c813 100644 --- a/SConstruct +++ b/SConstruct @@ -36,7 +36,7 @@ copyright_years = strftime('2001 - %Y') # This gets inserted into the man pages to reflect the month of release. month_year = strftime('%B %Y') project = 'scons' -default_version = '4.10.2' +default_version = '4.11.0' copyright = f"Copyright (c) {copyright_years} The SCons Foundation" # We let the presence or absence of various utilities determine whether diff --git a/doc/generated/builders.gen b/doc/generated/builders.gen index e55e911fdb..d30088689e 100644 --- a/doc/generated/builders.gen +++ b/doc/generated/builders.gen @@ -471,7 +471,8 @@ in this case. -If the command line +If the + option is given, the target directory will be prefixed by the directory path specified. This is useful to test installation behavior without installing to @@ -764,23 +765,6 @@ Example: env.M4(target = 'foo.c', source = 'foo.c.m4') - - - - Moc() - env.Moc() - -Builds an output file from a moc input file. -moc input files are either header files or C++ files. -This builder is only available after using the -tool &t-link-qt3;. See the &cv-link-QT3DIR; variable for more information. -Example: - - - -env.Moc('foo.h') # generates moc_foo.cc -env.Moc('foo.cpp') # generates foo.moc - @@ -857,7 +841,7 @@ env.MOFiles() Note &SCons; does not know how to construct project files for other languages (e.g. .csproj for C#, .vbproj for Visual Basic or - .pyproject for Python). + .pyproject for &Python;). For the .vcxproj file, the underlying @@ -1511,7 +1495,9 @@ env = Environment(tools=['default', 'packaging']) &SCons; can build packages in a number of well known packaging formats. The target package type may be selected with the &cv-link-PACKAGETYPE; construction variable -or the command line option. +or the + +command line option. The package type may be a list, in which case &SCons; will attempt to build packages for each type in the list. Example: @@ -2130,7 +2116,8 @@ env.Program(target='foo', source=['foo.o', 'bar.c', 'baz.f']) D sources can be compiled file-by-file as C and C++ source are, and - D is integrated into the &scons; Object and Program builders for + D is integrated into the &scons; + &b-link-Object; and &b-link-Program; builders for this model of build. D codes can though do whole source meta-programming (some of the testing frameworks do this). For this it is imperative that all sources are compiled and linked in a single @@ -2603,7 +2590,7 @@ are automatically added to the target if they are not already present. If a construction variable named &cv-link-SUBST_DICT; is present, -it may be either a Python dictionary or a sequence of +it may be either a &Python; dictionary or a sequence of (key, value) tuples. If it is a dictionary it is converted into a list of tuples with unspecified order, @@ -2615,7 +2602,7 @@ it is unpredictable whether the expansion will occur. Any occurrences of a key in the source are replaced by the corresponding value, -which may be a Python callable function or a string. +which may be a &Python; callable function or a string. If the value is a callable, it is called with no arguments to get a string. Strings are subst-expanded and the result replaces the key. @@ -2719,8 +2706,8 @@ value of the the line separator is not emitted after the last string. Nested lists of source strings are flattened. -Source strings need not literally be Python strings: -they can be Nodes or Python objects that convert cleanly +Source strings need not literally be &Python; strings: +they can be Nodes or &Python; objects that convert cleanly to &f-link-Value; nodes. @@ -2941,32 +2928,6 @@ and foo_data.c files. - - - - Uic() - env.Uic() - -Builds a header file, an implementation file and a moc file from an ui file. -and returns the corresponding nodes in the that order. -This builder is only available after using the tool &t-link-qt3;. -Note: you can specify .ui files directly as source -files to the &b-link-Program;, -&b-link-Library; and &b-link-SharedLibrary; builders -without using this builder. Using this builder lets you override the standard -naming conventions (be careful: prefixes are always prepended to names of -built files; if you don't want prefixes, you may set them to ``). -See the &cv-link-QT3DIR; 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'] - diff --git a/doc/generated/builders.mod b/doc/generated/builders.mod index 3542b99110..515b475be5 100644 --- a/doc/generated/builders.mod +++ b/doc/generated/builders.mod @@ -33,7 +33,6 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. Library"> LoadableModule"> M4"> -Moc"> MOFiles"> MSVSProject"> MSVSSolution"> @@ -63,7 +62,6 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. Textfile"> Translate"> TypeLibrary"> -Uic"> Zip"> env.CFile"> @@ -91,7 +89,6 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. env.Library"> env.LoadableModule"> env.M4"> -env.Moc"> env.MOFiles"> env.MSVSProject"> env.MSVSSolution"> @@ -121,7 +118,6 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. env.Textfile"> env.Translate"> env.TypeLibrary"> -env.Uic"> env.Zip"> @@ -4465,6 +4455,7 @@ The settable variables with their associated command-line options are: + Boolean @@ -4475,7 +4466,7 @@ The settable variables with their associated command-line options are: - Also sets implicit_cache. + Boolean. Also sets implicit_cache. Settable since 4.2 @@ -4488,7 +4479,7 @@ The settable variables with their associated command-line options are: - Also sets implicit_cache. + Boolean. Also sets implicit_cache. Settable since 4.2 @@ -4500,6 +4491,7 @@ The settable variables with their associated command-line options are: + Integer @@ -4508,7 +4500,7 @@ The settable variables with their associated command-line options are: - Synonym for . + Integer. Superseded by . Deprecated since 4.2 @@ -4524,6 +4516,7 @@ The settable variables with their associated command-line options are: + Boolean @@ -4531,7 +4524,7 @@ The settable variables with their associated command-line options are: - See + Boolean. See If no_progress is set via &f-SetOption; in an SConscript file @@ -4550,11 +4543,13 @@ The settable variables with their associated command-line options are: , + Integer random + Boolean @@ -4566,6 +4561,7 @@ The settable variables with their associated command-line options are: + Boolean @@ -4573,11 +4569,13 @@ The settable variables with their associated command-line options are: + Integer warn + List @@ -4952,13 +4950,13 @@ gltool(env) # adds 'opengl' to the TOOLS variable -$ scons --compilers=mingw # the correct flag is --compiler +$ scons --complier=mingw # the correct flag is --compiler - Here &SCons; could go off and run a bunch of configure steps with - the default value of --compiler, since the - incorrect command line did not actually supply a value to it, + Here &SCons; could go off and run a bunch of configure steps using + the default value of , since the + misspelled option causes it not to be supplied the intended value, costing developer time to track down why the configure logic made the "wrong" choices. This example shows catching this: @@ -5076,12 +5074,12 @@ env.UpdateValue(target=Value(output), source=Value(input)) VariantDir(variant_dir, src_dir, [duplicate]) env.VariantDir(variant_dir, src_dir, [duplicate]) -Sets up a mapping to define a variant build directory in +Set up a mapping to define a variant build directory in variant_dir. src_dir must not be underneath variant_dir. -A &f-VariantDir; mapping is global, even if called using the -&f-env-VariantDir; form. +A &f-VariantDir; mapping is global, even when called as +&f-env-VariantDir;. &f-VariantDir; can be called multiple times with the same src_dir @@ -5089,100 +5087,105 @@ to set up multiple variant builds with different options. -Note if variant_dir -is not under the project top directory, -target selection rules will not pick targets in the +Note that while variant_dir +can be any convenient location, +if it is not under the project top directory, +normal target selection rules will not pick targets in the variant directory unless they are explicitly specified. -When files in variant_dir are referenced, -&SCons; backfills as needed with files from src_dir -to create a complete build directory. +When files under variant_dir are referenced, +&SCons; backfills missing files from src_dir +as needed to create a complete build tree. By default, &SCons; -physically duplicates the source files, SConscript files, -and directory structure as needed into the variant directory. -Thus, a build performed in the variant directory is guaranteed to be identical -to a build performed in the source directory even if -intermediate source files are generated during the build, -or if preprocessors or other scanners search for included files -using paths relative to the source file, -or if individual compilers or other invoked tools are hard-coded -to put derived files in the same directory as source files. -Only the files &SCons; calculates are needed for the build are +physically duplicates source files, subsidiary &SConscript; files, +and any needed directory structure into the variant directory. +This makes a build in the variant directory equivalent to a build in the +source tree, even when intermediate source files are generated, +scanners search for included files using source-relative paths, +or tools are hard-coded to emit derived files beside their sources. +Only the files &SCons; determines are needed for the build are duplicated into variant_dir. -If possible on the platform, -the duplication is performed by linking rather than copying. -This behavior is affected by the - -command-line option. +Where possible, duplication is performed by linking rather than copying. +The duplication strategy can be adjusted using the + +command-line option or &f-link-SetOption;. -Duplicating the source files may be disabled by setting the -duplicate -argument to -False. -This will cause -&SCons; -to invoke Builders using the path names of source files in -src_dir -and the path names of derived files within -variant_dir. -This is more efficient than duplicating, -and is safe for most builds; -revert to duplicate=True -if it causes problems. +If the duplicate argument is set to +False, +&SCons; does not duplicate source files. +Instead, it automatically invokes builders using the original source paths +from src_dir +and derived file paths in variant_dir. +This is more efficient than duplicating and is safe for most builds; +if it causes problems, use duplicate=True (the default). + -&f-VariantDir; -works most naturally when used with a subsidiary SConscript file. -The subsidiary SConscript file must be called as if it were in -variant_dir, -regardless of the value of -duplicate. -When calling an SConscript file, you can use the -exports keyword argument -to pass parameters (individually or as an appropriately set up environment) -so the SConscript can pick up the right settings for that variant build. -The SConscript must &f-link-Import; these to use them. Example: +When switching an existing variant directory +from duplicating to non-duplicating, +previously duplicated source files are not automatically removed. +&SCons; will continue to prefer these stale copies over the original sources, +possibly preventing detection of changes to the originals. +To avoid this issue, clean the build tree before switching. +After the switch, +&SCons; no longer tracks duplicated files in the variant directory +and will not remove them during cleaning. - - -env1 = Environment(...settings for variant1...) -env2 = Environment(...settings for variant2...) - -# run src/SConscript in two variant directories -VariantDir('build/variant1', 'src') -SConscript('build/variant1/SConscript', exports={"env": env1}) -VariantDir('build/variant2', 'src') -SConscript('build/variant2/SConscript', exports={"env": env2}) - + -See also the +Variant directories can also be established using the &f-link-SConscript; function -for another way to specify a variant directory -in conjunction with calling a subsidiary SConscript file. +in conjunction with calling a subsidiary &SConscript; file. -More examples: +Examples: # use names in the build directory, not the source directory -VariantDir('build', 'src', duplicate=0) +VariantDir('build', 'src', duplicate=False) 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']) +VariantDir('build', '.', duplicate=False) +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) +SConscript(dirs='src', variant_dir='build/src', duplicate=False) +SConscript(dirs='doc', variant_dir='build/doc', duplicate=False) + + + +&f-VariantDir; +works most naturally when used with a subsidiary &SConscript; file. +The subsidiary &SConscript; must be called as if it were in +variant_dir, +regardless of the value of +duplicate. +Use the exports keyword argument to pass +parameters or an appropriately configured environment object +so the subsidiary &SConscript; can pick up the right settings +for that variant build. +The &SConscript; must &f-link-Import; +these exported values before using them. + + + +env1 = Environment(...settings for variant1...) +env2 = Environment(...settings for variant2...) + +# run src/SConscript by using the variant dir paths +VariantDir('build/variant1', 'src') +SConscript('build/variant1/SConscript', exports={"env": env1}) +VariantDir('build/variant2', 'src') +SConscript('build/variant2/SConscript', exports={"env": env2}) diff --git a/doc/generated/tools.gen b/doc/generated/tools.gen index 60fdf4bf07..56379c945e 100644 --- a/doc/generated/tools.gen +++ b/doc/generated/tools.gen @@ -219,6 +219,18 @@ It also selects all found from the list rpm. + +On the BSD systems whose base compiler is LLVM/clang +(FreeBSD and OpenBSD), the default tools list matches +the Linux one except that the C compiler is selected +(first-found) from +&t-link-clang;, &t-link-gcc;, &t-link-intelc;, &t-link-icc;, +&t-link-cc; +and the C++ compiler from +&t-link-clangxx;, &t-link-gXX;, &t-link-intelc;, &t-link-icc;, +&t-link-cXX;. + + Default lists for other platforms can be found by examining the &scons; @@ -834,8 +846,9 @@ Sets construction variables for the packaging Sets construction variables for the &b-link-Package; Builder. -If this tool is enabled, the -command-line option is also enabled. +If this tool is enabled, the + +command-line option is made available. @@ -863,112 +876,13 @@ Sets construction variables for the &pdftex; utility. python -Loads the Python source scanner into the invoking environment. +Loads the &Python; source scanner into the invoking environment. When loaded, the scanner will attempt to find implicit -dependencies for any Python source files in the list of sources +dependencies for any &Python; source files in the list of sources provided to an Action that uses this environment. Available since &scons; 4.0.. - - - qt - -Placeholder tool to alert anyone still using qt tools to switch to qt3 or newer tool. - - - - - qt3 - -Sets &consvars; for building Qt3 applications. - - - -This tool is only suitable for building targeted to Qt3, -which is obsolete -(the tool is deprecated since 4.3, -and was renamed to qt3 in 4.5.0. -). -There are contributed tools for Qt4 and Qt5, see - -https://github.com/SCons/scons-contrib. -Qt4 has also passed end of life for standard support (in Dec 2015). - - - -Note paths for these &consvars; are assembled -using the os.path.join method -so they will have the appropriate separator at runtime, -but are listed here in the various -entries only with the '/' separator -for simplicity. - - - -In addition, the &consvars; -&cv-link-CPPPATH;, -&cv-link-LIBPATH; and -&cv-link-LIBS; may be modified -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','qt3']) - - - -The &t-qt3; 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 -the same basename as your implementation file and must stay in the same -directory. It must have one of the suffixes -.h, -.hpp, -.H, -.hxx, -.hh. -You can turn off automatic moc file generation by setting -&cv-link-QT3_AUTOSCAN; to False. -See also the corresponding -&b-link-Moc; Builder. - - - -Automatic moc file generation from C++ files. -As described in the Qt documentation, include the moc file at the end of -the C++ file. Note that you have to include the file, which is generated -by the transformation -${QT3_MOCCXXPREFIX}<basename>${QT3_MOCCXXSUFFIX}, by default -<basename>.mo. A warning is generated after building the moc file if you -do not include the correct file. If you are using &f-link-VariantDir;, you may -need to specify duplicate=True. -You can turn off automatic moc file generation by setting &cv-QT3_AUTOSCAN; to -False. See also the corresponding -&b-link-Moc; Builder. - - - -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 &b-link-Program;, -&b-link-Library; or &b-link-SharedLibrary; -will generate three files: the declaration file, the -implementation file and a moc file. Because there are also generated headers, -you may need to specify duplicate=True in calls to -&f-link-VariantDir;. -See also the corresponding -&b-link-Uic; Builder. - -Sets: &cv-link-QT3DIR;, &cv-link-QT3_AUTOSCAN;, &cv-link-QT3_BINPATH;, &cv-link-QT3_CPPPATH;, &cv-link-QT3_LIB;, &cv-link-QT3_LIBPATH;, &cv-link-QT3_MOC;, &cv-link-QT3_MOCCXXPREFIX;, &cv-link-QT3_MOCCXXSUFFIX;, &cv-link-QT3_MOCFROMCXXCOM;, &cv-link-QT3_MOCFROMCXXFLAGS;, &cv-link-QT3_MOCFROMHCOM;, &cv-link-QT3_MOCFROMHFLAGS;, &cv-link-QT3_MOCHPREFIX;, &cv-link-QT3_MOCHSUFFIX;, &cv-link-QT3_UIC;, &cv-link-QT3_UICCOM;, &cv-link-QT3_UICDECLFLAGS;, &cv-link-QT3_UICDECLPREFIX;, &cv-link-QT3_UICDECLSUFFIX;, &cv-link-QT3_UICIMPLFLAGS;, &cv-link-QT3_UICIMPLPREFIX;, &cv-link-QT3_UICIMPLSUFFIX;, &cv-link-QT3_UISUFFIX;.Uses: &cv-link-QT3DIR;. rmic diff --git a/doc/generated/tools.mod b/doc/generated/tools.mod index cb92b4fb29..49122ffa76 100644 --- a/doc/generated/tools.mod +++ b/doc/generated/tools.mod @@ -85,8 +85,6 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. pdflatex"> pdftex"> python"> -qt"> -qt3"> rmic"> rpcgen"> sgiar"> @@ -192,8 +190,6 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. pdflatex"> pdftex"> python"> -qt"> -qt3"> rmic"> rpcgen"> sgiar"> diff --git a/doc/generated/variables.gen b/doc/generated/variables.gen index c412b2cb0f..fa9529117c 100644 --- a/doc/generated/variables.gen +++ b/doc/generated/variables.gen @@ -917,8 +917,8 @@ 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.pathsep. +or a single string, not a pathname list joined by the +&Python; os.pathsep character. @@ -1082,6 +1082,12 @@ depending on the specific C++ compiler being used. The D compiler to use. +&SCons; provides tool modules for three D compilation systems: +DMD (&t-link-dmd;), the reference compiler; +LDC (&t-link-ldc;), the LLVM-based D compiler; +and GDC (&t-link-gdc;), from the GNU Compiler Collection, +searched in that order. +Use a tool specifier if you need to prefer a specific compiler. See also &cv-link-SHDC; for compiling to shared objects. @@ -1093,8 +1099,11 @@ See also &cv-link-SHDC; for compiling to shared objects. The command line used to compile a D file to an object file. Any options specified in the &cv-link-DFLAGS; construction variable -is included on this command line. +are included on this command line. See also &cv-link-SHDCOM; for compiling to shared objects. +See also the &b-link-ProgramAllAtOnce; builder +for how to compile directly to an executable without +making intermediate object files. @@ -1104,7 +1113,7 @@ See also &cv-link-SHDCOM; for compiling to shared objects. If set, the string displayed when a D source file -is compiled to a (static) object file. +is compiled to an object file. If not set, then &cv-link-DCOM; (the command line) is displayed. See also &cv-link-SHDCOMSTR; for compiling to shared objects. @@ -1115,7 +1124,7 @@ See also &cv-link-SHDCOMSTR; for compiling to shared objects. DDEBUG -List of debug tags to enable when compiling. +Debug tags to enable when compiling. @@ -1124,7 +1133,8 @@ List of debug tags to enable when compiling. DDEBUGPREFIX -DDEBUGPREFIX. +Prefix used for debug tags from &cv-link-DDEBUG;. +Defaults vary by D compiler. @@ -1133,7 +1143,7 @@ DDEBUGPREFIX. DDEBUGSUFFIX -DDEBUGSUFFIX. +Suffix used for debug tags from &cv-link-DDEBUG;. @@ -1169,7 +1179,8 @@ section of an RPM DFILESUFFIX -DFILESUFFIX. +File suffix for D source files. +The default is .d. @@ -1178,7 +1189,7 @@ DFILESUFFIX. DFLAGPREFIX -DFLAGPREFIX. +Prefix added to each element of &cv-link-DFLAGS;. @@ -1196,7 +1207,7 @@ General options that are passed to the D compiler. DFLAGSUFFIX -DFLAGSUFFIX. +Suffix added to each element of &cv-link-DFLAGS;. @@ -1205,7 +1216,8 @@ DFLAGSUFFIX. DI_FILE_DIR -Path where .di files will be generated +Path to search for D interface files, +which are translations of C header files. @@ -1214,7 +1226,8 @@ Path where .di files will be generated DI_FILE_DIR_PREFIX -Prefix to send the di path argument to compiler +Prefix added to the name of the D interface file +directory from &cv-link-DI_FILE_DIR;. @@ -1223,7 +1236,8 @@ Prefix to send the di path argument to compiler DI_FILE_DIR_SUFFFIX -Suffix to send the di path argument to compiler +Suffix added to the name of the D interface file +directory from &cv-link-DI_FILE_DIR;. @@ -1232,7 +1246,9 @@ Suffix to send the di path argument to compiler DI_FILE_SUFFIX -Suffix of d include files default is .di +Suffix for D interface files, +which are translations of C header files. +The default is .di. @@ -1241,7 +1257,7 @@ Suffix of d include files default is .di DINCPREFIX -DINCPREFIX. +Prefix added to each path in &cv-link-DPATH;. @@ -1250,7 +1266,7 @@ DINCPREFIX. DINCSUFFIX -DLIBFLAGSUFFIX. +Suffix added to each path in &cv-link-DPATH;. @@ -1279,7 +1295,7 @@ into a list of Dir instances relative to the target being built. DLIB -Name of the lib tool to use for D codes. +Name of the static library tool for D code. @@ -1288,7 +1304,7 @@ Name of the lib tool to use for D codes. DLIBCOM -The command line to use when creating libraries. +The command line to use when linking a static library. @@ -1297,7 +1313,8 @@ The command line to use when creating libraries. DLIBDIRPREFIX -DLIBLINKPREFIX. +The command-line prefix for library search directories +from &cv-link-LIBPATH; when linking D code. @@ -1306,7 +1323,8 @@ DLIBLINKPREFIX. DLIBDIRSUFFIX -DLIBLINKSUFFIX. +The command-line suffix for library search directories +from &cv-link-LIBPATH; when linking D code. @@ -1315,7 +1333,16 @@ DLIBLINKSUFFIX. DLIBFLAGPREFIX -DLIBFLAGPREFIX. +Prefix added to each element of &cv-link-DLIBFLAGS;. + + + + + + DLIBFLAGS + + +The flags to pass to the library tool. @@ -1324,7 +1351,7 @@ DLIBFLAGPREFIX. DLIBFLAGSUFFIX -DLIBFLAGSUFFIX. +Suffix added to each element of &cv-link-DLIBFLAGS;. @@ -1333,7 +1360,7 @@ DLIBFLAGSUFFIX. DLIBLINKPREFIX -DLIBLINKPREFIX. +Prefix added to each library name from &cv-link-LIBS;. @@ -1342,7 +1369,7 @@ DLIBLINKPREFIX. DLIBLINKSUFFIX -DLIBLINKSUFFIX. +Suffix added to each library name from &cv-link-LIBS;. @@ -1371,7 +1398,7 @@ See also &cv-link-SHDLINKCOM; for linking shared objects. DLINKFLAGPREFIX -DLINKFLAGPREFIX. +Prefix added to each element of &cv-link-DLINKFLAGS;. @@ -1380,7 +1407,7 @@ DLINKFLAGPREFIX. DLINKFLAGS -List of linker flags. +Linker flags. See also &cv-link-SHDLINKFLAGS; for linking shared objects. @@ -1390,7 +1417,7 @@ See also &cv-link-SHDLINKFLAGS; for linking shared objects. DLINKFLAGSUFFIX -DLINKFLAGSUFFIX. +Suffix added to each element of &cv-link-DLINKFLAGS;. @@ -1626,7 +1653,7 @@ for saxon and saxon-xslt, respectively. DRPATHPREFIX -DRPATHPREFIX. +Prefix added to rpath entries when generating shared objects. @@ -1635,7 +1662,7 @@ DRPATHPREFIX. DRPATHSUFFIX -DRPATHSUFFIX. +Suffix added to rpath entries when generating shared objects. @@ -1655,7 +1682,7 @@ The default list is ['.d']. DVERPREFIX -DVERPREFIX. +Prefix added to each element of &cv-link-DVERSIONS;. @@ -1673,7 +1700,7 @@ List of version tags to enable when compiling. DVERSUFFIX -DVERSUFFIX. +Suffix added to each element of &cv-link-DVERSIONS;. @@ -3333,97 +3360,54 @@ determine the version of versioned import library. IMPLICIT_COMMAND_DEPENDENCIES -Controls whether or not &SCons; will -add implicit dependencies for the commands -executed to build targets. - - - -By default, &SCons; will add to each target -an implicit dependency on the command -represented by the first argument of any -command line it executes (which is typically -the command itself). By setting such -a dependency, &SCons; can determine that -a target should be rebuilt if the command changes, -such as when a compiler is upgraded to a new version. -The specific file for the dependency is -found by searching the -PATH -variable in the -ENV dictionary -in the &consenv; used to execute the command. -The default is the same as -setting the &consvar; +Controls how &SCons; adds implicit dependencies from action strings +(the commands executed to build targets). +These implicit dependencies allow &SCons; to trigger target rebuilds +when the compilers, tools, or scripts that affect build outcomes change +(for example, when a new version of a compiler is installed). +By default, &SCons; adds an implicit dependency on the executable +represented by the first argument of the command line. +This executable is first checked as a path; +if not found, it is searched for in the execution environment's search path +(env['ENV']['PATH']). + + + +If &cv-IMPLICIT_COMMAND_DEPENDENCIES; is set to a falsy value +("none", "false", +"no", "off", +"0" or integer 0), +no implicit dependencies from action strings are added. +If set to an integer value greater than 1, +or to "all", +additional command-line arguments are checked. +A numeric value N +checks the first N arguments, +while "all" checks every argument. +A checked argument beyond the first is added as a dependency +if it is an absolute path or it refers to +an existing file in the filesystem; +unlike the first argument, these additional arguments are not searched +using the execution environment's search path. +All other values of &cv-IMPLICIT_COMMAND_DEPENDENCIES; +are treated the same as the default. +The value of &cv-IMPLICIT_COMMAND_DEPENDENCIES; -to a True-like value (true, -yes, -or 1 - but not a number -greater than one, as that has a different meaning). - - - -Action strings can be segmented by the -use of an AND operator, &&. -In a segmented string, each segment is a separate -command line, these are run -sequentially until one fails, or the entire -sequence has been executed. If an -action string is segmented, then the selected -behavior of &cv-IMPLICIT_COMMAND_DEPENDENCIES; -is applied to each segment. - - - -If &cv-IMPLICIT_COMMAND_DEPENDENCIES; -is set to a False-like value -(none, -false, -no, -0, -etc.), -then the implicit dependency will -not be added to the targets -built with that &consenv;. - - - -If &cv-IMPLICIT_COMMAND_DEPENDENCIES; -is set to 2 or higher, -then that number of arguments in the command line -will be scanned for relative or absolute paths. -If any are present, they will be added as -implicit dependencies to the targets built -with that &consenv;. -The first argument in the command line will be -searched for using the PATH -variable in the ENV dictionary -in the &consenv; used to execute the command. -The other arguments will only be found if they -are absolute paths or valid paths relative -to the working directory. - - - -If &cv-IMPLICIT_COMMAND_DEPENDENCIES; -is set to all, -then all arguments in the command line will be -scanned for relative or absolute paths. -If any are present, they will be added as -implicit dependencies to the targets built -with that &consenv;. -The first argument in the command line will be -searched for using the PATH -variable in the ENV dictionary -in the &consenv; used to execute the command. -The other arguments will only be found if they -are absolute paths or valid paths relative -to the working directory. +is subject to substitution before it is used, +so it can contain a &consvar; reference. - -env = Environment(IMPLICIT_COMMAND_DEPENDENCIES=False) - + +Action strings may be segmented with a logical AND operator +(&&), +indicating each segment is executed sequentially, +but only if the previous segment succeeded. +If &cv-IMPLICIT_COMMAND_DEPENDENCIES; is set to +"all" or an integer greater than 1, +each segment is treated as a separate command line +for computing dependencies; +otherwise, only the first segment is checked. + @@ -4030,8 +4014,9 @@ General user options passed to the linker for building loadable modules. LDMODULENOVERSIONSYMLINKS -Instructs the &b-link-LoadableModule; builder to not automatically create symlinks -for versioned modules. Defaults to $SHLIBNOVERSIONSYMLINKS +Instructs the &b-link-LoadableModule; builder +not to automatically create symlinks for versioned modules. +Defaults to &cv-link-SHLIBNOVERSIONSYMLINKS;. @@ -4052,8 +4037,10 @@ the same as &cv-link-SHLIBPREFIX;. _LDMODULESONAME -A macro that automatically generates loadable module's SONAME based on $TARGET, -$LDMODULEVERSION and $LDMODULESUFFIX. Used by &b-link-LoadableModule; builder +A macro that automatically generates a loadable module's &cv-link-SONAME; +based on $TARGET, +&cv-link-LDMODULEVERSION; and &cv-link-LDMODULESUFFIX;. +Used by the &b-link-LoadableModule; builder when the linker tool supports SONAME (e.g. &t-link-gnulink;). @@ -4076,11 +4063,11 @@ the same as $SHLIBSUFFIX. When this &consvar; is defined, a versioned loadable module -is created by &b-link-LoadableModule; builder. This activates the +is created by the &b-link-LoadableModule; builder. This activates the &cv-link-_LDMODULEVERSIONFLAGS; and thus modifies the &cv-link-LDMODULECOM; as required, adds the version number to the library name, and creates the symlinks -that are needed. &cv-link-LDMODULEVERSION; versions should exist in the same -format as &cv-link-SHLIBVERSION;. +that are needed. &cv-link-LDMODULEVERSION; versions should be +specified in the same format as &cv-link-SHLIBVERSION;. @@ -4090,11 +4077,12 @@ format as &cv-link-SHLIBVERSION;. This macro automatically introduces extra flags to &cv-link-LDMODULECOM; when -building versioned &b-link-LoadableModule; (that is when -&cv-link-LDMODULEVERSION; is set). _LDMODULEVERSIONFLAGS +building a versioned &b-link-LoadableModule; +(that is, when &cv-link-LDMODULEVERSION; is set). +&cv-_LDMODULEVERSIONFLAGS; usually adds &cv-link-SHLIBVERSIONFLAGS; and some extra dynamically generated -options (such as -Wl,-soname=$_LDMODULESONAME). It is unused -by plain (unversioned) loadable modules. +options (such as -Wl,-soname=$_LDMODULESONAME). +It is unused by plain (unversioned) loadable modules. @@ -4104,8 +4092,8 @@ by plain (unversioned) loadable modules. Extra flags added to &cv-link-LDMODULECOM; when building versioned -&b-link-LoadableModule;. These flags are only used when &cv-link-LDMODULEVERSION; is -set. +&b-link-LoadableModule;. +These flags are only used when &cv-link-LDMODULEVERSION; is set. @@ -4196,7 +4184,9 @@ by &SCons; in all situations. Consider using LEXUNISTD -Used only in Windows environments to set a lex flag to prevent 'unistd.h' from being included. The default value is '--nounistd'. +Used only in Windows environments to set a lex flag to prevent +unistd.h from being included. +The default value is . @@ -4341,7 +4331,7 @@ 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.pathsep. +the &Python; os.pathsep character.