diff options
Diffstat (limited to 'doc')
155 files changed, 1972 insertions, 1444 deletions
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 @@ <!-- - 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/bground.xml b/doc/design/bground.xml index d3864ad..edcc9d7 100644 --- a/doc/design/bground.xml +++ b/doc/design/bground.xml @@ -12,7 +12,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/chtml.xsl b/doc/design/chtml.xsl index 6db92c7..e3af46e 100644 --- a/doc/design/chtml.xsl +++ b/doc/design/chtml.xsl @@ -1,7 +1,7 @@ <?xml version='1.0'?>
<!--
- 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/copyright.xml b/doc/design/copyright.xml index 262f894..20aaf7a 100644 --- a/doc/design/copyright.xml +++ b/doc/design/copyright.xml @@ -10,7 +10,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/engine.xml b/doc/design/engine.xml index 594625e..57c91f6 100644 --- a/doc/design/engine.xml +++ b/doc/design/engine.xml @@ -12,7 +12,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/goals.xml b/doc/design/goals.xml index dec4bad..5887a95 100644 --- a/doc/design/goals.xml +++ b/doc/design/goals.xml @@ -12,7 +12,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/html.xsl b/doc/design/html.xsl index 3f0760b..b4f10f5 100644 --- a/doc/design/html.xsl +++ b/doc/design/html.xsl @@ -1,7 +1,7 @@ <?xml version='1.0'?>
<!--
- 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/install.xml b/doc/design/install.xml index c45ea2b..6678afe 100644 --- a/doc/design/install.xml +++ b/doc/design/install.xml @@ -12,7 +12,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/intro.xml b/doc/design/intro.xml index 38b94ae..a6d90a0 100644 --- a/doc/design/intro.xml +++ b/doc/design/intro.xml @@ -12,7 +12,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/issues.xml b/doc/design/issues.xml index 48673de..86a1164 100644 --- a/doc/design/issues.xml +++ b/doc/design/issues.xml @@ -12,7 +12,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/main.xml b/doc/design/main.xml index 3c7b30d..ab513cb 100644 --- a/doc/design/main.xml +++ b/doc/design/main.xml @@ -2,7 +2,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/native.xml b/doc/design/native.xml index 787f4dd..ff8960d 100644 --- a/doc/design/native.xml +++ b/doc/design/native.xml @@ -12,7 +12,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 @@ -64,8 +64,9 @@ <para> By default, the &SCons; utility searches for a file named - &SConstruct;, &Sconstruct; or &sconstruct; (in that order) in the - current directory, and reads its configuration from the first file + &SConstruct;, &Sconstruct;, &sconstruct;, &SConstruct.py;, &Sconstruct.py; + or &sconstruct.py; (in that order) in the current directory, + and reads its configuration from the first file found. A <option>-f</option> command-line option exists to read a different file name. diff --git a/doc/design/overview.xml b/doc/design/overview.xml index 793a0a4..e6c28cd 100644 --- a/doc/design/overview.xml +++ b/doc/design/overview.xml @@ -12,7 +12,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/pdf.xsl b/doc/design/pdf.xsl index a6d0054..230554a 100644 --- a/doc/design/pdf.xsl +++ b/doc/design/pdf.xsl @@ -1,7 +1,7 @@ <?xml version='1.0'?>
<!--
- 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/scons_title.xsl b/doc/design/scons_title.xsl index 130c6a5..21c56da 100644 --- a/doc/design/scons_title.xsl +++ b/doc/design/scons_title.xsl @@ -1,7 +1,7 @@ <?xml version="1.0"?> <!-- - 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/summary.xml b/doc/design/summary.xml index 5dfa585..2318fea 100644 --- a/doc/design/summary.xml +++ b/doc/design/summary.xml @@ -12,7 +12,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/developer/SConstruct b/doc/developer/SConstruct index b40bc6b..fd8996c 100644 --- a/doc/developer/SConstruct +++ b/doc/developer/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/developer/architecture.xml b/doc/developer/architecture.xml index 0f18cea..01af129 100644 --- a/doc/developer/architecture.xml +++ b/doc/developer/architecture.xml @@ -12,7 +12,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/developer/branches.xml b/doc/developer/branches.xml index 91ab768..56db812 100644 --- a/doc/developer/branches.xml +++ b/doc/developer/branches.xml @@ -12,7 +12,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/developer/copyright.xml b/doc/developer/copyright.xml index 50e0a42..5404d98 100644 --- a/doc/developer/copyright.xml +++ b/doc/developer/copyright.xml @@ -10,7 +10,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/developer/cycle.xml b/doc/developer/cycle.xml index 3406f76..820a6d5 100644 --- a/doc/developer/cycle.xml +++ b/doc/developer/cycle.xml @@ -12,7 +12,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/developer/main.xml b/doc/developer/main.xml index 1920794..b113513 100644 --- a/doc/developer/main.xml +++ b/doc/developer/main.xml @@ -2,7 +2,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/developer/packaging.xml b/doc/developer/packaging.xml index 4222299..b922d3d 100644 --- a/doc/developer/packaging.xml +++ b/doc/developer/packaging.xml @@ -12,7 +12,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/developer/preface.xml b/doc/developer/preface.xml index bd3962d..8b74db4 100644 --- a/doc/developer/preface.xml +++ b/doc/developer/preface.xml @@ -12,7 +12,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/developer/sourcetree.xml b/doc/developer/sourcetree.xml index c9657d1..01985ee 100644 --- a/doc/developer/sourcetree.xml +++ b/doc/developer/sourcetree.xml @@ -12,7 +12,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/developer/testing.xml b/doc/developer/testing.xml index 779eb7d..de0c8bc 100644 --- a/doc/developer/testing.xml +++ b/doc/developer/testing.xml @@ -12,7 +12,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/generated/builders.gen b/doc/generated/builders.gen index d851c93..7c62558 100644 --- a/doc/generated/builders.gen +++ b/doc/generated/builders.gen @@ -572,75 +572,77 @@ env.Jar(target = 'bar.jar', <function>env.Java()</function> </term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Builds one or more Java class files. -The sources may be any combination of explicit -<filename>.java</filename> files, -or directory trees which will be scanned -for <filename>.java</filename> files. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -SCons will parse each source <filename>.java</filename> file -to find the classes -(including inner classes) -defined within that file, -and from that figure out the -target <filename>.class</filename> files that will be created. -The class files will be placed underneath -the specified target directory. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -SCons will also search each Java file -for the Java package name, -which it assumes can be found on a line -beginning with the string -<literal>package</literal> -in the first column; -the resulting <filename>.class</filename> files -will be placed in a directory reflecting -the specified package name. -For example, -the file -<filename>Foo.java</filename> -defining a single public -<classname>Foo</classname> -class and -containing a package name of -<classname>sub.dir</classname> -will generate a corresponding -<filename>sub/dir/Foo.class</filename> -class file. -</para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Examples: -</para> - -<example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> -env.Java(target = 'classes', source = 'src') -env.Java(target = 'classes', source = ['src1', 'src2']) -env.Java(target = 'classes', source = ['File1.java', 'File2.java']) -</example_commands> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Java source files can use the native encoding for the underlying OS. -Since SCons compiles in simple ASCII mode by default, -the compiler will generate warnings about unmappable characters, -which may lead to errors as the file is processed further. -In this case, the user must specify the <literal>LANG</literal> -environment variable to tell the compiler what encoding is used. -For portibility, it's best if the encoding is hard-coded -so that the compile will work if it is done on a system -with a different encoding. -</para> - -<example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> -env = Environment() -env['ENV']['LANG'] = 'en_GB.UTF-8' -</example_commands> -</listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + Builds one or more Java class files. + The sources may be any combination of explicit + <filename>.java</filename> + files, + or directory trees which will be scanned + for <filename>.java</filename> files. + </para> + + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + SCons will parse each source <filename>.java</filename> file + to find the classes + (including inner classes) + defined within that file, + and from that figure out the + target <filename>.class</filename> files that will be created. + The class files will be placed underneath + the specified target directory. + </para> + + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + SCons will also search each Java file + for the Java package name, + which it assumes can be found on a line + beginning with the string + <literal>package</literal> + in the first column; + the resulting <filename>.class</filename> files + will be placed in a directory reflecting + the specified package name. + For example, + the file + <filename>Foo.java</filename> + defining a single public + <classname>Foo</classname> + class and + containing a package name of + <classname>sub.dir</classname> + will generate a corresponding + <filename>sub/dir/Foo.class</filename> + class file. + </para> + + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + Examples: + </para> + + <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> + env.Java(target = 'classes', source = 'src') + env.Java(target = 'classes', source = ['src1', 'src2']) + env.Java(target = 'classes', source = ['File1.java', 'File2.java']) + </example_commands> + + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + Java source files can use the native encoding for the underlying OS. + Since SCons compiles in simple ASCII mode by default, + the compiler will generate warnings about unmappable characters, + which may lead to errors as the file is processed further. + In this case, the user must specify the + <literal>LANG</literal> + environment variable to tell the compiler what encoding is used. + For portibility, it's best if the encoding is hard-coded + so that the compile will work if it is done on a system + with a different encoding. + </para> + + <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> + env = Environment() + env['ENV']['LANG'] = 'en_GB.UTF-8' + </example_commands> + </listitem> </varlistentry> <varlistentry id="b-JavaH"> <term> @@ -836,148 +838,224 @@ Compile files for languages defined in <filename>LINGUAS</filename> file <term> <function>env.MSVSProject()</function> </term> - <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> Builds a Microsoft Visual Studio project -file, and by default builds a solution file as well. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> This -builds a Visual Studio project file, based on the version of Visual Studio -that is configured (either the latest installed version, or the version -specified by <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVS_VERSION"><envar>$MSVS_VERSION</envar></link> in the Environment constructor). For -Visual Studio 6, it will generate a <filename>.dsp</filename> file. For Visual -Studio 7 (.NET) and later versions, it will generate a -<filename>.vcproj</filename> file. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> By default, this also -generates a solution file for the specified project, a -<filename>.dsw</filename> file for Visual Studio 6 or a -<filename>.sln</filename> file for Visual Studio 7 (.NET). This behavior may -be disabled by specifying <literal>auto_build_solution=0</literal> when you -call <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function>, in which case you presumably want to build the solution -file(s) by calling the <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSSolution</function> Builder (see below). </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> -The <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function> builder takes several lists of filenames to be placed into -the project file. These are currently limited to <literal>srcs</literal>, -<literal>incs</literal>, <literal>localincs</literal>, -<literal>resources</literal>, and <literal>misc</literal>. These are pretty -self-explanatory, but it should be noted that these lists are added to the -<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SOURCES"><envar>$SOURCES</envar></link> construction variable as strings, NOT as SCons File Nodes. -This is because they represent file names to be added to the project file, not -the source files used to build the project file. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> The above -filename lists are all optional, although at least one must be specified for -the resulting project file to be non-empty. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> In addition to the -above lists of values, the following values may be specified: -</para><variablelist xmlns="http://www.scons.org/dbxsd/v1.0"> - <varlistentry> - <term>target</term> - - <listitem> - <para>The name of the target <filename>.dsp</filename> or - <filename>.vcproj</filename> file. The correct suffix for the version - of Visual Studio must be used, but the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVSPROJECTSUFFIX"><envar>$MSVSPROJECTSUFFIX</envar></link> - construction variable will be defined to the correct value (see - example below).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>variant</term> - - <listitem> - <para>The name of this particular variant. For Visual Studio 7 - projects, this can also be a list of variant names. These are - typically things like "Debug" or "Release", but really can be anything - you want. For Visual Studio 7 projects, they may also specify a target - platform separated from the variant name by a <literal>|</literal> - (vertical pipe) character: <literal>Debug|Xbox</literal>. The default - target platform is Win32. Multiple calls to <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function> with - different variants are allowed; all variants will be added to the - project file with their appropriate build targets and - sources.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>cmdargs</term> - - <listitem> - <para>Additional command line arguments for the different - variants. The number of <literal>cmdargs</literal> entries must match - the number of <literal>variant</literal> entries, or be empty (not - specified). If you give only one, it will automatically be propagated - to all variants.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>buildtarget</term> - - <listitem> - <para>An optional string, node, or list of strings or nodes (one - per build variant), to tell the Visual Studio debugger what output - target to use in what build variant. The number of - <literal>buildtarget</literal> entries must match the number of - <literal>variant</literal> entries.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>runfile</term> - - <listitem> - <para>The name of the file that Visual Studio 7 and later will - run and debug. This appears as the value of the - <literal>Output</literal> field in the resulting Visual Studio project - file. If this is not specified, the default is the same as the - specified <literal>buildtarget</literal> value.</para> - </listitem> - </varlistentry> - </variablelist><para xmlns="http://www.scons.org/dbxsd/v1.0"> Note that because <application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> always executes its build -commands from the directory in which the <filename xmlns="http://www.scons.org/dbxsd/v1.0">SConstruct</filename> file is located, if you -generate a project file in a different directory than the <filename xmlns="http://www.scons.org/dbxsd/v1.0">SConstruct</filename> -directory, users will not be able to double-click on the file name in -compilation error messages displayed in the Visual Studio console output -window. This can be remedied by adding the Visual C/C++ <literal>/FC</literal> -compiler option to the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CCFLAGS"><envar>$CCFLAGS</envar></link> variable so that the compiler will -print the full path name of any files that cause compilation errors. </para> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> Example usage: </para> - <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + Builds a Microsoft Visual Studio project file, and by default + builds a solution file as well. + </para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + This builds a Visual Studio project file, based on the + version of Visual Studio that is configured (either the + latest installed version, or the version specified by + <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVS_VERSION"><envar>$MSVS_VERSION</envar></link> in the Environment constructor). For + Visual Studio 6, it will generate a <filename>.dsp</filename> + file. For Visual Studio 7, 8, and 9, it will + generate a <filename>.vcproj</filename> file. For Visual + Studio 10 and later, it will generate a + <filename>.vcxproj</filename> file. + </para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + By default, this also generates a solution file for the + specified project, a <filename>.dsw</filename> file for + Visual Studio 6 or a <filename>.sln</filename> file for + Visual Studio 7 and later. This behavior may be disabled by + specifying <literal>auto_build_solution=0</literal> when you + call <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function>, in which case you presumably want to + build the solution file(s) by calling the <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSSolution</function> + Builder (see below). + </para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + The <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function> builder takes several lists of filenames + to be placed into the project file. These are currently + limited to <literal>srcs</literal>, <literal>incs</literal>, + <literal>localincs</literal>, <literal>resources</literal>, and + <literal>misc</literal>. These are pretty self-explanatory, + but it should be noted that these lists are added to the + <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SOURCES"><envar>$SOURCES</envar></link> construction variable as strings, NOT as + SCons File Nodes. This is because they represent file names + to be added to the project file, not the source files used + to build the project file. + </para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + The above filename lists are all optional, although at least + one must be specified for the resulting project file to + be non-empty. + </para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + In addition to the above lists of values, the following values + may be specified: + </para> + <variablelist xmlns="http://www.scons.org/dbxsd/v1.0"> + <varlistentry> + <term>target</term> + <listitem> + <para> + The name of the target <filename>.dsp</filename> + or <filename>.vcproj</filename> file. + The correct suffix for the version of Visual Studio + must be used, but the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVSPROJECTSUFFIX"><envar>$MSVSPROJECTSUFFIX</envar></link> + construction variable will be defined to the correct + value (see example below). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>variant</term> + <listitem> + <para> + The name of this particular variant. For Visual Studio 7 + projects, this can also be a list of variant names. These + are typically things like "Debug" or "Release", but + really can be anything you want. For Visual Studio + 7 projects, they may also specify a target platform + separated from the variant name by a <literal>|</literal> + (vertical pipe) character: <literal>Debug|Xbox</literal>. + The default target platform is Win32. Multiple calls + to <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function> with different variants are allowed; + all variants will be added to the project file with + their appropriate build targets and sources. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>cmdargs</term> + <listitem> + <para> + Additional command line arguments + for the different variants. The number of + <literal>cmdargs</literal> entries must match the number + of <literal>variant</literal> entries, or be empty (not + specified). If you give only one, it will automatically + be propagated to all variants. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>cppdefines</term> + <listitem> + <para> + Preprocessor definitions for the different variants. + The number of <literal>cppdefines</literal> entries + must match the number of <literal>variant</literal> + entries, or be empty (not specified). If you give + only one, it will automatically be propagated to all + variants. If you don't give this parameter, SCons + will use the invoking environment's + <literal>CPPDEFINES</literal> entry for all variants. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>cpppaths</term> + <listitem> + <para> + Compiler include paths for the different variants. + The number of <literal>cpppaths</literal> entries + must match the number of <literal>variant</literal> + entries, or be empty (not specified). If you give + only one, it will automatically be propagated to all + variants. If you don't give this parameter, SCons + will use the invoking environment's + <literal>CPPPATH</literal> entry for all variants. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>buildtarget</term> + <listitem> + <para> + An optional string, node, or list of strings + or nodes (one per build variant), to tell + the Visual Studio debugger what output target + to use in what build variant. The number of + <literal>buildtarget</literal> entries must match the + number of <literal>variant</literal> entries. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>runfile</term> + <listitem> + <para> + The name of the file that Visual Studio 7 and + later will run and debug. This appears as the + value of the <literal>Output</literal> field in the + resulting Visual Studio project file. If this is not + specified, the default is the same as the specified + <literal>buildtarget</literal> value. + </para> + </listitem> + </varlistentry> + </variablelist> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + Note that because <application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> always executes its build commands + from the directory in which the <filename xmlns="http://www.scons.org/dbxsd/v1.0">SConstruct</filename> file is located, + if you generate a project file in a different directory + than the <filename xmlns="http://www.scons.org/dbxsd/v1.0">SConstruct</filename> directory, users will not be able to + double-click on the file name in compilation error messages + displayed in the Visual Studio console output window. This can + be remedied by adding the Visual C/C++ <literal>/FC</literal> + compiler option to the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-CCFLAGS"><envar>$CCFLAGS</envar></link> variable so that + the compiler will print the full path name of any files that + cause compilation errors. + </para> + <para xmlns="http://www.scons.org/dbxsd/v1.0">Example usage:</para> + <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> barsrcs = ['bar.cpp'] barincs = ['bar.h'] barlocalincs = ['StdAfx.h'] barresources = ['bar.rc','resource.h'] barmisc = ['bar_readme.txt'] -dll = env.SharedLibrary(target = 'bar.dll', - source = barsrcs) +dll = env.SharedLibrary(target='bar.dll', + source=barsrcs) buildtarget = [s for s in dll if str(s).endswith('dll')] -env.MSVSProject(target = 'Bar' + env['MSVSPROJECTSUFFIX'], - srcs = barsrcs, - incs = barincs, - localincs = barlocalincs, - resources = barresources, - misc = barmisc, - buildtarget = buildtarget, - variant = 'Release') -</example_commands> -<para xmlns="http://www.scons.org/dbxsd/v1.0">Starting with version 2.4 of -SCons it's also possible to specify the optional argument -<parameter>DebugSettings</parameter>, which creates files for debugging under -Visual Studio:</para><variablelist xmlns="http://www.scons.org/dbxsd/v1.0"> - <varlistentry> - <term>DebugSettings</term> - - <listitem> - <para>A dictionary of debug settings that get written to the - <filename>.vcproj.user</filename> or the - <filename>.vcxproj.user</filename> file, depending on the version - installed. As it is done for cmdargs (see above), you can specify a - <parameter>DebugSettings</parameter> dictionary per variant. If you - give only one, it will be propagated to all variants.</para> - </listitem> - </varlistentry> - </variablelist><para xmlns="http://www.scons.org/dbxsd/v1.0">Currently, only Visual Studio v9.0 and Visual Studio -version v11 are implemented, for other versions no file is generated. To -generate the user file, you just need to add a -<parameter>DebugSettings</parameter> dictionary to the environment with the -right parameters for your MSVS version. If the dictionary is empty, or does -not contain any good value, no file will be generated.</para><para xmlns="http://www.scons.org/dbxsd/v1.0">Following -is a more contrived example, involving the setup of a project for variants and -DebugSettings:</para><example_commands xmlns="http://www.scons.org/dbxsd/v1.0"># Assuming you store your defaults in a file +env.MSVSProject(target='Bar' + env['MSVSPROJECTSUFFIX'], + srcs=barsrcs, + incs=barincs, + localincs=barlocalincs, + resources=barresources, + misc=barmisc, + buildtarget=buildtarget, + variant='Release') + </example_commands> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + Starting with version 2.4 of SCons it is + also possible to specify the optional argument + <parameter>DebugSettings</parameter>, which creates files + for debugging under Visual Studio: + </para> + <variablelist xmlns="http://www.scons.org/dbxsd/v1.0"> + <varlistentry> + <term>DebugSettings</term> + <listitem> + <para> + A dictionary of debug settings that get written + to the <filename>.vcproj.user</filename> or the + <filename>.vcxproj.user</filename> file, depending on the + version installed. As it is done for cmdargs (see above), + you can specify a <parameter>DebugSettings</parameter> + dictionary per variant. If you give only one, it will + be propagated to all variants. + </para> + </listitem> + </varlistentry> + </variablelist> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + Currently, only Visual Studio v9.0 and Visual Studio + version v11 are implemented, for other versions no file + is generated. To generate the user file, you just need to + add a <parameter>DebugSettings</parameter> dictionary to the + environment with the right parameters for your MSVS version. If + the dictionary is empty, or does not contain any good value, + no file will be generated. + </para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + Following is a more contrived example, involving the setup + of a project for variants and DebugSettings: + </para> + <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> +# Assuming you store your defaults in a file vars = Variables('variables.py') msvcver = vars.args.get('vc', '9') @@ -986,7 +1064,7 @@ if msvcver == '9' or msvcver == '11': env = Environment(MSVC_VERSION=msvcver+'.0', MSVC_BATCH=False) else: env = Environment() - + AddOption('--userfile', action='store_true', dest='userfile', default=False, help="Create Visual Studio Project user file") @@ -1021,10 +1099,10 @@ V9DebugSettings = { } # -# 2. Because there are a lot of different options depending on the Microsoft -# Visual Studio version, if you use more than one version you have to -# define a dictionary per version, for instance if you want to create a user -# file to launch a specific application for testing your dll with Microsoft +# 2. Because there are a lot of different options depending on the Microsoft +# Visual Studio version, if you use more than one version you have to +# define a dictionary per version, for instance if you want to create a user +# file to launch a specific application for testing your dll with Microsoft # Visual Studio 2012 (v11): # V10DebugSettings = { @@ -1056,7 +1134,7 @@ V10DebugSettings = { } # -# 3. Select the dictionary you want depending on the version of visual Studio +# 3. Select the dictionary you want depending on the version of visual Studio # Files you want to generate. # if not env.GetOption('userfile'): @@ -1065,7 +1143,7 @@ elif env.get('MSVC_VERSION', None) == '9.0': dbgSettings = V9DebugSettings elif env.get('MSVC_VERSION', None) == '11.0': dbgSettings = V10DebugSettings -else: +else: dbgSettings = None # @@ -1077,20 +1155,21 @@ barlocalincs = ['StdAfx.h'] barresources = ['bar.rc','resource.h'] barmisc = ['ReadMe.txt'] -dll = env.SharedLibrary(target = 'bar.dll', - source = barsrcs) - -env.MSVSProject(target = 'Bar' + env['MSVSPROJECTSUFFIX'], - srcs = barsrcs, - incs = barincs, - localincs = barlocalincs, - resources = barresources, - misc = barmisc, - buildtarget = [dll[0]] * 2, - variant = ('Debug|Win32', 'Release|Win32'), - cmdargs = 'vc=%s' % msvcver, - DebugSettings = (dbgSettings, {})) -</example_commands> </listitem> +dll = env.SharedLibrary(target='bar.dll', + source=barsrcs) + +env.MSVSProject(target='Bar' + env['MSVSPROJECTSUFFIX'], + srcs=barsrcs, + incs=barincs, + localincs=barlocalincs, + resources=barresources, + misc=barmisc, + buildtarget=[dll[0]] * 2, + variant=('Debug|Win32', 'Release|Win32'), + cmdargs='vc=%s' % msvcver, + DebugSettings=(dbgSettings, {})) + </example_commands> + </listitem> </varlistentry> <varlistentry id="b-MSVSSolution"> <term> @@ -1099,54 +1178,60 @@ env.MSVSProject(target = 'Bar' + env['MSVSPROJECTSUFFIX'], <term> <function>env.MSVSSolution()</function> </term> - <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">Builds a Microsoft Visual Studio solution -file. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0">This builds a Visual Studio solution file, based on the -version of Visual Studio that is configured (either the latest installed -version, or the version specified by <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVS_VERSION"><envar>$MSVS_VERSION</envar></link> in the -construction environment). For Visual Studio 6, it will generate a -<filename>.dsw</filename> file. For Visual Studio 7 (.NET), it will generate a -<filename>.sln</filename> file. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> The following values must be -specified: </para><variablelist xmlns="http://www.scons.org/dbxsd/v1.0"> - <varlistentry> - <term>target</term> - - <listitem> - <para>The name of the target .dsw or .sln file. The correct - suffix for the version of Visual Studio must be used, but the value - <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVSSOLUTIONSUFFIX"><envar>$MSVSSOLUTIONSUFFIX</envar></link> will be defined to the correct value (see - example below).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>variant</term> - - <listitem> - <para>The name of this particular variant, or a list of variant - names (the latter is only supported for MSVS 7 solutions). These are - typically things like "Debug" or "Release", but really can be anything - you want. For MSVS 7 they may also specify target platform, like this - "Debug|Xbox". Default platform is Win32.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>projects</term> - - <listitem> - <para>A list of project file names, or Project nodes returned by - calls to the <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function> Builder, to be placed into the solution - file. It should be noted that these file names are NOT added to the - $SOURCES environment variable in form of files, but rather as strings. - This is because they represent file names to be added to the solution - file, not the source files used to build the solution - file.</para> - </listitem> - </varlistentry> - </variablelist> <para xmlns="http://www.scons.org/dbxsd/v1.0"> Example Usage: </para> <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> -env.MSVSSolution(target = 'Bar' + env['MSVSSOLUTIONSUFFIX'], projects = ['bar' -+ env['MSVSPROJECTSUFFIX']], variant = 'Release') -</example_commands></listitem> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0">Builds a Microsoft Visual Studio solution file.</para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + This builds a Visual Studio solution file, based on the + version of Visual Studio that is configured (either the + latest installed version, or the version specified by + <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVS_VERSION"><envar>$MSVS_VERSION</envar></link> in the construction environment). For + Visual Studio 6, it will generate a <filename>.dsw</filename> + file. For Visual Studio 7 (.NET), it will generate a + <filename>.sln</filename> file. + </para> + <para xmlns="http://www.scons.org/dbxsd/v1.0">The following values must be specified:</para> + <variablelist xmlns="http://www.scons.org/dbxsd/v1.0"> + <varlistentry> + <term>target</term> + <listitem> + <para> + The name of the target .dsw or .sln file. The correct + suffix for the version of Visual Studio must be used, + but the value <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVSSOLUTIONSUFFIX"><envar>$MSVSSOLUTIONSUFFIX</envar></link> will be + defined to the correct value (see example below). + </para> + </listitem> + </varlistentry> <varlistentry> + <term>variant</term> <listitem> + <para> + The name of this particular variant, or a list of + variant names (the latter is only supported for MSVS + 7 solutions). These are typically things like "Debug" + or "Release", but really can be anything you want. For + MSVS 7 they may also specify target platform, like this + "Debug|Xbox". Default platform is Win32. + </para> + </listitem> + </varlistentry> <varlistentry> + <term>projects</term> <listitem> + <para> + A list of project file names, or Project nodes returned + by calls to the <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function> Builder, to be placed + into the solution file. It should be noted that these + file names are NOT added to the $SOURCES environment + variable in form of files, but rather as strings. + This is because they represent file names to be added + to the solution file, not the source files used to + build the solution file. + </para> + </listitem> + </varlistentry> + </variablelist> + <para xmlns="http://www.scons.org/dbxsd/v1.0">Example Usage:</para> + <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> +env.MSVSSolution(target='Bar' + env['MSVSSOLUTIONSUFFIX'], projects=['bar' + env['MSVSPROJECTSUFFIX']], variant='Release') + </example_commands> + </listitem> </varlistentry> <varlistentry id="b-Object"> <term> @@ -1206,13 +1291,15 @@ the following packagers available: <para xmlns="http://www.scons.org/dbxsd/v1.0"> * msi - Microsoft Installer - * rpm - Redhat Package Manger + * rpm - RPM Package Manger * ipkg - Itsy Package Management System - * tarbz2 - compressed tar - * targz - compressed tar + * tarbz2 - bzip2 compressed tar + * targz - gzip compressed tar + * tarxz - xz compressed tar * zip - zip file - * src_tarbz2 - compressed tar source - * src_targz - compressed tar source + * src_tarbz2 - bzip2 compressed tar source + * src_targz - gzip compressed tar source + * src_tarxz - xz compressed tar source * src_zip - zip file source </para> @@ -2322,7 +2409,7 @@ and the result replaces the key. </para> <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> -env = Environment(tools = ['default', 'textfile']) +env = Environment(tools=['default']) env['prefix'] = '/usr/bin' script_dict = {'@prefix@': '/bin', '@exec_prefix@': '$prefix'} @@ -2349,7 +2436,7 @@ env.Substfile('bar.in', SUBST_DICT = good_bar) # the SUBST_DICT may be in common (and not an override) substutions = {} -subst = Environment(tools = ['textfile'], SUBST_DICT = substitutions) +subst = Environment(tools=['textfile'], SUBST_DICT=substitutions) substitutions['@foo@'] = 'foo' subst['SUBST_DICT']['@bar@'] = 'bar' subst.Substfile('pgm1.c', [Value('#include "@foo@.h"'), diff --git a/doc/generated/examples/addmethod_ex2_2.xml b/doc/generated/examples/addmethod_ex2_2.xml index 15ae6e0..734da63 100644 --- a/doc/generated/examples/addmethod_ex2_2.xml +++ b/doc/generated/examples/addmethod_ex2_2.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <screen xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">C:\><userinput>scons -Q</userinput> -rc /fores.res res.rc +rc /nologo /fores.res res.rc cl /Fotest_stuff.obj /c test_stuff.c /nologo link /nologo /OUT:tests\test_stuff.exe test_stuff.obj res.res embedManifestExeCheck(target, source, env) diff --git a/doc/generated/examples/builderswriting_MY_EMITTER_1.xml b/doc/generated/examples/builderswriting_MY_EMITTER_1.xml index 440b105..0c17d0e 100644 --- a/doc/generated/examples/builderswriting_MY_EMITTER_1.xml +++ b/doc/generated/examples/builderswriting_MY_EMITTER_1.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <screen xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">% <userinput>scons -Q</userinput> -my_command file1.input modify1.in > file1.foo -my_command file2.input modify2.in > file2.foo +./my_command file1.input modify1.in > file1.foo +./my_command file2.input modify2.in > file2.foo </screen> diff --git a/doc/generated/examples/caching_ex-random_1.xml b/doc/generated/examples/caching_ex-random_1.xml index 6f64f8f..58ff6ae 100644 --- a/doc/generated/examples/caching_ex-random_1.xml +++ b/doc/generated/examples/caching_ex-random_1.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <screen xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">% <userinput>scons -Q</userinput> -cc -o f2.o -c f2.c -cc -o f4.o -c f4.c cc -o f3.o -c f3.c +cc -o f2.o -c f2.c cc -o f5.o -c f5.c cc -o f1.o -c f1.c +cc -o f4.o -c f4.c cc -o prog f1.o f2.o f3.o f4.o f5.o </screen> diff --git a/doc/generated/examples/environments_ex3_1.xml b/doc/generated/examples/environments_ex3_1.xml index 5071c6e..3262302 100644 --- a/doc/generated/examples/environments_ex3_1.xml +++ b/doc/generated/examples/environments_ex3_1.xml @@ -1,22 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <screen xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">% <userinput>scons -Q</userinput> -UnicodeDecodeError: 'utf8' codec can't decode byte 0xc2 in position 547: invalid continuation byte: - File "/home/my/project/SConstruct", line 6: - dbg.Program('foo', 'foo.c') - File "bootstrap/src/engine/SCons/Environment.py", line 260: - return MethodWrapper.__call__(self, target, source, *args, **kw) - File "bootstrap/src/engine/SCons/Environment.py", line 224: - return self.method(*nargs, **kwargs) - File "bootstrap/src/engine/SCons/Builder.py", line 635: - return self._execute(env, target, source, OverrideWarner(kw), ekw) - File "bootstrap/src/engine/SCons/Builder.py", line 541: - source = self.src_builder_sources(env, source, overwarn) - File "bootstrap/src/engine/SCons/Builder.py", line 748: - tlist = bld._execute(env, None, [s], overwarn) - File "bootstrap/src/engine/SCons/Builder.py", line 557: - _node_errors(self, env, tlist, slist) - File "bootstrap/src/engine/SCons/Builder.py", line 303: - msg = "Two environments with different actions were specified for the same target: %s\n(action 1: %s)\n(action 2: %s)" % (t,t_contents.decode('utf-8'),contents.decode('utf-8')) - File "/usr/lib/python2.7/encodings/utf_8.py", line 16: - return codecs.utf_8_decode(input, errors, True) + +scons: *** Two environments with different actions were specified for the same target: foo.o +File "/home/my/project/SConstruct", line 6, in <module> </screen> diff --git a/doc/generated/examples/java_jar1_1.xml b/doc/generated/examples/java_jar1_1.xml index daa3d1a..de93227 100644 --- a/doc/generated/examples/java_jar1_1.xml +++ b/doc/generated/examples/java_jar1_1.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <screen xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">% <userinput>scons -Q</userinput> javac -d classes -sourcepath src src/Example1.java src/Example2.java src/Example3.java -scons: *** [test.jar] Source `classes.class' not found, needed by target `test.jar'. +jar cf test.jar classes </screen> diff --git a/doc/generated/examples/mergeflags_MergeFlags1_1.xml b/doc/generated/examples/mergeflags_MergeFlags1_1.xml index 8a0c336..8f18fd8 100644 --- a/doc/generated/examples/mergeflags_MergeFlags1_1.xml +++ b/doc/generated/examples/mergeflags_MergeFlags1_1.xml @@ -1,10 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <screen xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">% <userinput>scons -Q</userinput> - File "/home/my/project/SConstruct", line 5 - - print env['CCFLAGS'] - - ^ - -SyntaxError: invalid syntax +['-option', '-O1', '-whatever', '-O3'] +scons: `.' is up to date. </screen> diff --git a/doc/generated/examples/mergeflags_MergeFlags2_1.xml b/doc/generated/examples/mergeflags_MergeFlags2_1.xml index 1312c47..8cae827 100644 --- a/doc/generated/examples/mergeflags_MergeFlags2_1.xml +++ b/doc/generated/examples/mergeflags_MergeFlags2_1.xml @@ -1,10 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <screen xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">% <userinput>scons -Q</userinput> - File "/home/my/project/SConstruct", line 5 - - print env['CPPPATH'] - - ^ - -SyntaxError: invalid syntax +['/include', '/usr/local/include', '/usr/include', '/usr/opt/include'] +scons: `.' is up to date. </screen> diff --git a/doc/generated/examples/mergeflags_MergeFlags3_1.xml b/doc/generated/examples/mergeflags_MergeFlags3_1.xml index 8a0c336..d4f23d4 100644 --- a/doc/generated/examples/mergeflags_MergeFlags3_1.xml +++ b/doc/generated/examples/mergeflags_MergeFlags3_1.xml @@ -1,10 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <screen xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">% <userinput>scons -Q</userinput> - File "/home/my/project/SConstruct", line 5 - - print env['CCFLAGS'] - - ^ - -SyntaxError: invalid syntax +['-option', '-O1', '-whatever', '-O3'] +['/include', '/usr/local/include', '/usr/include', '/usr/opt/include'] +scons: `.' is up to date. </screen> diff --git a/doc/generated/examples/misc_FindFile1b_1.xml b/doc/generated/examples/misc_FindFile1b_1.xml index 894b483..4b194ce 100644 --- a/doc/generated/examples/misc_FindFile1b_1.xml +++ b/doc/generated/examples/misc_FindFile1b_1.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <screen xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">% <userinput>scons -Q</userinput> -nonesuch.h: None -config.h: config.h -private.h: src/include/private.h -dist.h: include/dist.h +nonesuch.h : None +config.h : config.h +private.h : src/include/private.h +dist.h : include/dist.h scons: `.' is up to date. </screen> diff --git a/doc/generated/examples/parseflags_ex1_1.xml b/doc/generated/examples/parseflags_ex1_1.xml index 79cdad6..d6e4d96 100644 --- a/doc/generated/examples/parseflags_ex1_1.xml +++ b/doc/generated/examples/parseflags_ex1_1.xml @@ -1,10 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <screen xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">% <userinput>scons -Q</userinput> - File "/home/my/project/SConstruct", line 5 - - print k, v - - ^ - -SyntaxError: invalid syntax +CPPPATH ['/opt/include'] +LIBPATH ['/opt/lib'] +LIBS ['foo'] +cc -o f1.o -c -I/opt/include f1.c +cc -o f1 f1.o -L/opt/lib -lfoo </screen> diff --git a/doc/generated/examples/parseflags_ex1_2.xml b/doc/generated/examples/parseflags_ex1_2.xml index b9c9cd2..4c115d0 100644 --- a/doc/generated/examples/parseflags_ex1_2.xml +++ b/doc/generated/examples/parseflags_ex1_2.xml @@ -1,10 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <screen xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">C:\><userinput>scons -Q</userinput> - File "/home/my/project/SConstruct", line 5 - - print k, v - - ^ - -SyntaxError: invalid syntax +CPPPATH ['/opt/include'] +LIBPATH ['/opt/lib'] +LIBS ['foo'] +cl /Fof1.obj /c f1.c /nologo /I\opt\include +link /nologo /OUT:f1.exe /LIBPATH:\opt\lib foo.lib f1.obj +embedManifestExeCheck(target, source, env) </screen> diff --git a/doc/generated/examples/parseflags_ex2_1.xml b/doc/generated/examples/parseflags_ex2_1.xml index 79cdad6..da84ee3 100644 --- a/doc/generated/examples/parseflags_ex2_1.xml +++ b/doc/generated/examples/parseflags_ex2_1.xml @@ -1,10 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <screen xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">% <userinput>scons -Q</userinput> - File "/home/my/project/SConstruct", line 5 - - print k, v - - ^ - -SyntaxError: invalid syntax +CCFLAGS -whatever +cc -o f1.o -c -whatever f1.c +cc -o f1 f1.o </screen> diff --git a/doc/generated/examples/parseflags_ex3_1.xml b/doc/generated/examples/parseflags_ex3_1.xml index 79cdad6..d6e4d96 100644 --- a/doc/generated/examples/parseflags_ex3_1.xml +++ b/doc/generated/examples/parseflags_ex3_1.xml @@ -1,10 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <screen xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">% <userinput>scons -Q</userinput> - File "/home/my/project/SConstruct", line 5 - - print k, v - - ^ - -SyntaxError: invalid syntax +CPPPATH ['/opt/include'] +LIBPATH ['/opt/lib'] +LIBS ['foo'] +cc -o f1.o -c -I/opt/include f1.c +cc -o f1 f1.o -L/opt/lib -lfoo </screen> diff --git a/doc/generated/examples/parseflags_ex4_1.xml b/doc/generated/examples/parseflags_ex4_1.xml index 79cdad6..d6e4d96 100644 --- a/doc/generated/examples/parseflags_ex4_1.xml +++ b/doc/generated/examples/parseflags_ex4_1.xml @@ -1,10 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <screen xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">% <userinput>scons -Q</userinput> - File "/home/my/project/SConstruct", line 5 - - print k, v - - ^ - -SyntaxError: invalid syntax +CPPPATH ['/opt/include'] +LIBPATH ['/opt/lib'] +LIBS ['foo'] +cc -o f1.o -c -I/opt/include f1.c +cc -o f1 f1.o -L/opt/lib -lfoo </screen> diff --git a/doc/generated/examples/troubleshoot_Dump_1.xml b/doc/generated/examples/troubleshoot_Dump_1.xml index 281fed7..99d1399 100644 --- a/doc/generated/examples/troubleshoot_Dump_1.xml +++ b/doc/generated/examples/troubleshoot_Dump_1.xml @@ -1,11 +1,79 @@ <?xml version="1.0" encoding="UTF-8"?> <screen xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">% <userinput>scons</userinput> scons: Reading SConscript files ... - File "/home/my/project/SConstruct", line 2 - - print env.Dump() - - ^ - -SyntaxError: invalid syntax +{ 'BUILDERS': {'_InternalInstall': <function InstallBuilderWrapper at 0x700000&gt;, '_InternalInstallVersionedLib': <function InstallVersionedBuilderWrapper at 0x700000&gt;, '_InternalInstallAs': <function InstallAsBuilderWrapper at 0x700000&gt;}, + 'CONFIGUREDIR': '#/.sconf_temp', + 'CONFIGURELOG': '#/config.log', + 'CPPSUFFIXES': [ '.c', + '.C', + '.cxx', + '.cpp', + '.c++', + '.cc', + '.h', + '.H', + '.hxx', + '.hpp', + '.hh', + '.F', + '.fpp', + '.FPP', + '.m', + '.mm', + '.S', + '.spp', + '.SPP', + '.sx'], + 'DSUFFIXES': ['.d'], + 'Dir': <SCons.Defaults.Variable_Method_Caller object at 0x700000&gt;, + 'Dirs': <SCons.Defaults.Variable_Method_Caller object at 0x700000&gt;, + 'ENV': { 'PATH': '/usr/local/bin:/opt/bin:/bin:/usr/bin'}, + 'ESCAPE': <function escape at 0x700000&gt;, + 'File': <SCons.Defaults.Variable_Method_Caller object at 0x700000&gt;, + 'HOST_ARCH': None, + 'HOST_OS': None, + 'IDLSUFFIXES': ['.idl', '.IDL'], + 'INSTALL': <function copyFunc at 0x700000&gt;, + 'INSTALLVERSIONEDLIB': <function copyFuncVersionedLib at 0x700000&gt;, + 'LIBPREFIX': 'lib', + 'LIBPREFIXES': ['$LIBPREFIX'], + 'LIBSUFFIX': '.a', + 'LIBSUFFIXES': ['$LIBSUFFIX', '$SHLIBSUFFIX'], + 'MAXLINELENGTH': 128072, + 'OBJPREFIX': '', + 'OBJSUFFIX': '.o', + 'PLATFORM': 'posix', + 'PROGPREFIX': '', + 'PROGSUFFIX': '', + 'PSPAWN': <function piped_env_spawn at 0x700000&gt;, + 'RDirs': <SCons.Defaults.Variable_Method_Caller object at 0x700000&gt;, + 'SCANNERS': [<SCons.Scanner.Base object at 0x700000&gt;], + 'SHELL': 'sh', + 'SHLIBPREFIX': '$LIBPREFIX', + 'SHLIBSUFFIX': '.so', + 'SHOBJPREFIX': '$OBJPREFIX', + 'SHOBJSUFFIX': '$OBJSUFFIX', + 'SPAWN': <function subprocess_spawn at 0x700000&gt;, + 'TARGET_ARCH': None, + 'TARGET_OS': None, + 'TEMPFILE': <class 'SCons.Platform.TempFileMunge'>, + 'TEMPFILEPREFIX': '@', + 'TOOLS': ['install', 'install'], + '_CPPDEFFLAGS': '${_defines(CPPDEFPREFIX, CPPDEFINES, CPPDEFSUFFIX, __env__)}', + '_CPPINCFLAGS': '$( ${_concat(INCPREFIX, CPPPATH, INCSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)', + '_LIBDIRFLAGS': '$( ${_concat(LIBDIRPREFIX, LIBPATH, LIBDIRSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)', + '_LIBFLAGS': '${_concat(LIBLINKPREFIX, LIBS, LIBLINKSUFFIX, __env__)}', + '__DRPATH': '$_DRPATH', + '__DSHLIBVERSIONFLAGS': '${__libversionflags(__env__,"DSHLIBVERSION","_DSHLIBVERSIONFLAGS")}', + '__LDMODULEVERSIONFLAGS': '${__libversionflags(__env__,"LDMODULEVERSION","_LDMODULEVERSIONFLAGS")}', + '__RPATH': '$_RPATH', + '__SHLIBVERSIONFLAGS': '${__libversionflags(__env__,"SHLIBVERSION","_SHLIBVERSIONFLAGS")}', + '__libversionflags': <function __libversionflags at 0x700000&gt;, + '_concat': <function _concat at 0x700000&gt;, + '_defines': <function _defines at 0x700000&gt;, + '_stripixes': <function _stripixes at 0x700000&gt;} +scons: done reading SConscript files. +scons: Building targets ... +scons: `.' is up to date. +scons: done building targets. </screen> diff --git a/doc/generated/examples/troubleshoot_Dump_2.xml b/doc/generated/examples/troubleshoot_Dump_2.xml index 78cd84b..e8e0960 100644 --- a/doc/generated/examples/troubleshoot_Dump_2.xml +++ b/doc/generated/examples/troubleshoot_Dump_2.xml @@ -1,11 +1,112 @@ <?xml version="1.0" encoding="UTF-8"?> <screen xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">C:\><userinput>scons</userinput> scons: Reading SConscript files ... - File "/home/my/project/SConstruct", line 2 - - print env.Dump() - - ^ - -SyntaxError: invalid syntax +{ 'BUILDERS': {'_InternalInstallVersionedLib': <function InstallVersionedBuilderWrapper at 0x700000&gt;, '_InternalInstall': <function InstallBuilderWrapper at 0x700000&gt;, 'Object': <SCons.Builder.CompositeBuilder object at 0x700000&gt;, 'PCH': <SCons.Builder.BuilderBase object at 0x700000&gt;, 'RES': <SCons.Builder.BuilderBase object at 0x700000&gt;, 'SharedObject': <SCons.Builder.CompositeBuilder object at 0x700000&gt;, 'StaticObject': <SCons.Builder.CompositeBuilder object at 0x700000&gt;, '_InternalInstallAs': <function InstallAsBuilderWrapper at 0x700000&gt;}, + 'CC': 'cl', + 'CCCOM': <SCons.Action.FunctionAction object at 0x700000&gt;, + 'CCFLAGS': ['/nologo'], + 'CCPCHFLAGS': ['${(PCH and "/Yu%s \\"/Fp%s\\""%(PCHSTOP or "",File(PCH))) or ""}'], + 'CCPDBFLAGS': ['${(PDB and "/Z7") or ""}'], + 'CFILESUFFIX': '.c', + 'CFLAGS': [], + 'CONFIGUREDIR': '#/.sconf_temp', + 'CONFIGURELOG': '#/config.log', + 'CPPDEFPREFIX': '/D', + 'CPPDEFSUFFIX': '', + 'CPPSUFFIXES': [ '.c', + '.C', + '.cxx', + '.cpp', + '.c++', + '.cc', + '.h', + '.H', + '.hxx', + '.hpp', + '.hh', + '.F', + '.fpp', + '.FPP', + '.m', + '.mm', + '.S', + '.spp', + '.SPP', + '.sx'], + 'CXX': '$CC', + 'CXXCOM': '${TEMPFILE("$CXX $_MSVC_OUTPUT_FLAG /c $CHANGED_SOURCES $CXXFLAGS $CCFLAGS $_CCCOMCOM","$CXXCOMSTR")}', + 'CXXFILESUFFIX': '.cc', + 'CXXFLAGS': ['$(', '/TP', '$)'], + 'DSUFFIXES': ['.d'], + 'Dir': <SCons.Defaults.Variable_Method_Caller object at 0x700000&gt;, + 'Dirs': <SCons.Defaults.Variable_Method_Caller object at 0x700000&gt;, + 'ENV': { 'PATH': 'C:\\WINDOWS\\System32', + 'PATHEXT': '.COM;.EXE;.BAT;.CMD', + 'SystemRoot': 'C:\\WINDOWS'}, + 'ESCAPE': <function escape at 0x700000&gt;, + 'File': <SCons.Defaults.Variable_Method_Caller object at 0x700000&gt;, + 'HOST_ARCH': '', + 'HOST_OS': 'win32', + 'IDLSUFFIXES': ['.idl', '.IDL'], + 'INCPREFIX': '/I', + 'INCSUFFIX': '', + 'INSTALL': <function copyFunc at 0x700000&gt;, + 'INSTALLVERSIONEDLIB': <function copyFuncVersionedLib at 0x700000&gt;, + 'LEXUNISTD': ['--nounistd'], + 'LIBPREFIX': '', + 'LIBPREFIXES': ['$LIBPREFIX'], + 'LIBSUFFIX': '.lib', + 'LIBSUFFIXES': ['$LIBSUFFIX'], + 'MAXLINELENGTH': 2048, + 'MSVC_SETUP_RUN': True, + 'OBJPREFIX': '', + 'OBJSUFFIX': '.obj', + 'PCHCOM': '$CXX /Fo${TARGETS[1]} $CXXFLAGS $CCFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS /c $SOURCES /Yc$PCHSTOP /Fp${TARGETS[0]} $CCPDBFLAGS $PCHPDBFLAGS', + 'PCHPDBFLAGS': ['${(PDB and "/Yd") or ""}'], + 'PLATFORM': 'win32', + 'PROGPREFIX': '', + 'PROGSUFFIX': '.exe', + 'PSPAWN': <function piped_spawn at 0x700000&gt;, + 'RC': 'rc', + 'RCCOM': <SCons.Action.FunctionAction object at 0x700000&gt;, + 'RCFLAGS': ['/nologo'], + 'RCSUFFIXES': ['.rc', '.rc2'], + 'RDirs': <SCons.Defaults.Variable_Method_Caller object at 0x700000&gt;, + 'SCANNERS': [<SCons.Scanner.Base object at 0x700000&gt;], + 'SHCC': '$CC', + 'SHCCCOM': <SCons.Action.FunctionAction object at 0x700000&gt;, + 'SHCCFLAGS': ['$CCFLAGS'], + 'SHCFLAGS': ['$CFLAGS'], + 'SHCXX': '$CXX', + 'SHCXXCOM': '${TEMPFILE("$SHCXX $_MSVC_OUTPUT_FLAG /c $CHANGED_SOURCES $SHCXXFLAGS $SHCCFLAGS $_CCCOMCOM","$SHCXXCOMSTR")}', + 'SHCXXFLAGS': ['$CXXFLAGS'], + 'SHELL': None, + 'SHLIBPREFIX': '', + 'SHLIBSUFFIX': '.dll', + 'SHOBJPREFIX': '$OBJPREFIX', + 'SHOBJSUFFIX': '$OBJSUFFIX', + 'SPAWN': <function spawn at 0x700000&gt;, + 'STATIC_AND_SHARED_OBJECTS_ARE_THE_SAME': 1, + 'TARGET_ARCH': None, + 'TARGET_OS': None, + 'TEMPFILE': <class 'SCons.Platform.TempFileMunge'>, + 'TEMPFILEPREFIX': '@', + 'TOOLS': ['msvc', 'install', 'install'], + '_CCCOMCOM': '$CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS $CCPCHFLAGS $CCPDBFLAGS', + '_CPPDEFFLAGS': '${_defines(CPPDEFPREFIX, CPPDEFINES, CPPDEFSUFFIX, __env__)}', + '_CPPINCFLAGS': '$( ${_concat(INCPREFIX, CPPPATH, INCSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)', + '_LIBDIRFLAGS': '$( ${_concat(LIBDIRPREFIX, LIBPATH, LIBDIRSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)', + '_LIBFLAGS': '${_concat(LIBLINKPREFIX, LIBS, LIBLINKSUFFIX, __env__)}', + '_MSVC_OUTPUT_FLAG': <function msvc_output_flag at 0x700000&gt;, + '__DSHLIBVERSIONFLAGS': '${__libversionflags(__env__,"DSHLIBVERSION","_DSHLIBVERSIONFLAGS")}', + '__LDMODULEVERSIONFLAGS': '${__libversionflags(__env__,"LDMODULEVERSION","_LDMODULEVERSIONFLAGS")}', + '__SHLIBVERSIONFLAGS': '${__libversionflags(__env__,"SHLIBVERSION","_SHLIBVERSIONFLAGS")}', + '__libversionflags': <function __libversionflags at 0x700000&gt;, + '_concat': <function _concat at 0x700000&gt;, + '_defines': <function _defines at 0x700000&gt;, + '_stripixes': <function _stripixes at 0x700000&gt;} +scons: done reading SConscript files. +scons: Building targets ... +scons: `.' is up to date. +scons: done building targets. </screen> diff --git a/doc/generated/examples/troubleshoot_Dump_ENV_1.xml b/doc/generated/examples/troubleshoot_Dump_ENV_1.xml index bd674a6..786491f 100644 --- a/doc/generated/examples/troubleshoot_Dump_ENV_1.xml +++ b/doc/generated/examples/troubleshoot_Dump_ENV_1.xml @@ -1,11 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <screen xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">% <userinput>scons</userinput> scons: Reading SConscript files ... - File "/home/my/project/SConstruct", line 2 - - print env.Dump('ENV') - - ^ - -SyntaxError: invalid syntax +{ 'PATH': '/usr/local/bin:/opt/bin:/bin:/usr/bin'} +scons: done reading SConscript files. +scons: Building targets ... +scons: `.' is up to date. +scons: done building targets. </screen> diff --git a/doc/generated/examples/troubleshoot_Dump_ENV_2.xml b/doc/generated/examples/troubleshoot_Dump_ENV_2.xml index c9f9258..b91c31c 100644 --- a/doc/generated/examples/troubleshoot_Dump_ENV_2.xml +++ b/doc/generated/examples/troubleshoot_Dump_ENV_2.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <screen xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd">C:\><userinput>scons</userinput> scons: Reading SConscript files ... - File "/home/my/project/SConstruct", line 2 - - print env.Dump('ENV') - - ^ - -SyntaxError: invalid syntax +{ 'PATH': 'C:\\WINDOWS\\System32:/usr/bin', + 'PATHEXT': '.COM;.EXE;.BAT;.CMD', + 'SystemRoot': 'C:\\WINDOWS'} +scons: done reading SConscript files. +scons: Building targets ... +scons: `.' is up to date. +scons: done building targets. </screen> diff --git a/doc/generated/examples/troubleshoot_explain1_3.xml b/doc/generated/examples/troubleshoot_explain1_3.xml index 0ee52a9..04b09fd 100644 --- a/doc/generated/examples/troubleshoot_explain1_3.xml +++ b/doc/generated/examples/troubleshoot_explain1_3.xml @@ -3,5 +3,5 @@ cp file.in file.oout scons: warning: Cannot find target file.out after building -File "/home/bdbaddog/devel/scons/as_scons/src/script/scons.py", line 201, in <module> +File "/home/bdeegan/devel/scons/git/as_scons/bootstrap/src/script/scons.py", line 204, in <module> </screen> diff --git a/doc/generated/examples/troubleshoot_stacktrace_2.xml b/doc/generated/examples/troubleshoot_stacktrace_2.xml index 4b55f0d..76cfc1a 100644 --- a/doc/generated/examples/troubleshoot_stacktrace_2.xml +++ b/doc/generated/examples/troubleshoot_stacktrace_2.xml @@ -4,7 +4,7 @@ scons: *** [prog.o] Source `prog.c' not found, needed by target `prog.o'. scons: internal stack trace: File "bootstrap/src/engine/SCons/Job.py", line 199, in start task.prepare() - File "bootstrap/src/engine/SCons/Script/Main.py", line 175, in prepare + File "bootstrap/src/engine/SCons/Script/Main.py", line 177, in prepare return SCons.Taskmaster.OutOfDateTask.prepare(self) File "bootstrap/src/engine/SCons/Taskmaster.py", line 198, in prepare executor.prepare() diff --git a/doc/generated/functions.gen b/doc/generated/functions.gen index 79a83c6..5e8bebb 100644 --- a/doc/generated/functions.gen +++ b/doc/generated/functions.gen @@ -480,7 +480,7 @@ string, in which case a list will be returned instead of a string. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> -If +If <varname>delete_existing</varname> is 0, then adding a path that already exists will not move it to the end; it will stay where it is in the list. @@ -518,7 +518,7 @@ then any value(s) that already exist in the construction variable will <emphasis>not</emphasis> be added again to the list. -However, if delete_existing is 1, +However, if delete_existing is 1, existing matching values are removed first, so existing values in the arg list move to the end of the list. </para> @@ -820,12 +820,14 @@ env4 = env.Clone(tools = ['msvc', MyTool]) <para xmlns="http://www.scons.org/dbxsd/v1.0"> The <varname>parse_flags</varname> -keyword argument is also recognized: +keyword argument is also recognized to allow merging command-line +style arguments into the appropriate construction +variables (see <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="f-MergeFlags"><function>env.MergeFlags</function></link>). </para> <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> # create an environment for compiling programs that use wxWidgets -wx_env = env.Clone(parse_flags = '!wx-config --cflags --cxxflags') +wx_env = env.Clone(parse_flags='!wx-config --cflags --cxxflags') </example_commands> </listitem> </varlistentry> @@ -1137,6 +1139,17 @@ size, or content signature. </para> </listitem> </varlistentry> + <varlistentry> +<term><parameter>repo_node</parameter></term> +<listitem> +<para> +Use this node instead of the one specified by +<varname>dependency</varname> + to determine if the dependency has changed. +</para> +</listitem> +</varlistentry> + </variablelist> </para> @@ -1173,7 +1186,7 @@ Example: </para> <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> -def my_decider(dependency, target, prev_ni): +def my_decider(dependency, target, prev_ni, repo_node=None): return not os.path.exists(str(target)) env.Decider(my_decider) @@ -1197,6 +1210,10 @@ Multiple calls to <function xmlns="http://www.scons.org/dbxsd/v1.0">Default</function> are legal, and add to the list of default targets. +As noted above, both forms of this call affect the +same global list of default targets; the +construction environment method applies +construction variable expansion to the targets. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> @@ -2527,9 +2544,9 @@ as the dependency. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> -Note that this will only remove the dependencies listed from -the files built by default. It will still be built if that -dependency is needed by another object being built. +Note that this will only remove the dependencies listed from +the files built by default. It will still be built if that +dependency is needed by another object being built. See the third and forth examples below. </para> @@ -2937,6 +2954,9 @@ and added to the following construction variables: -frameworkdir= FRAMEWORKPATH -include CCFLAGS -isysroot CCFLAGS, LINKFLAGS +-isystem CCFLAGS +-iquote CCFLAGS +-idirafter CCFLAGS -I CPPPATH -l LIBS -L LIBPATH @@ -3147,7 +3167,7 @@ then any value(s) that already exist in the construction variable will <emphasis>not</emphasis> be added again to the list. -However, if delete_existing is 1, +However, if delete_existing is 1, existing matching values are removed first, so existing values in the arg list move to the front of the list. </para> @@ -3523,16 +3543,16 @@ below, for a complete explanation of the arguments and behavior. </varlistentry> <varlistentry id="f-SConscript"> <term> - <literal>SConscript(scripts, [exports, variant_dir, duplicate])</literal> + <literal>SConscript(scripts, [exports, variant_dir, duplicate, must_exist])</literal> </term> <term> - <literal>env.SConscript(scripts, [exports, variant_dir, duplicate])</literal> + <literal>env.SConscript(scripts, [exports, variant_dir, duplicate, must_exist])</literal> </term> <term> - <literal>SConscript(dirs=subdirs, [name=script, exports, variant_dir, duplicate])</literal> + <literal>SConscript(dirs=subdirs, [name=script, exports, variant_dir, duplicate, must_exist])</literal> </term> <term> - <literal>env.SConscript(dirs=subdirs, [name=script, exports, variant_dir, duplicate])</literal> + <literal>env.SConscript(dirs=subdirs, [name=script, exports, variant_dir, duplicate, must_exist])</literal> </term> <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> @@ -3734,6 +3754,17 @@ TODO??? SConscript('build/SConscript', src_dir='src') </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> +The optional +<varname>must_exist</varname> +argument, if true, causes an exception to be raised if a requested +<filename xmlns="http://www.scons.org/dbxsd/v1.0">SConscript</filename> 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 +<literal>must_exist=False</literal> to the call. +</para> + +<para xmlns="http://www.scons.org/dbxsd/v1.0"> Here are some composite examples: </para> 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. <varlistentry id="t-applelink"> <term>applelink</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Sets construction variables for the Apple linker -(similar to the GNU linker). -</para> -<para>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;.</para><para>Uses: &cv-link-FRAMEWORKSFLAGS;.</para></listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + Sets construction variables for the Apple linker + (similar to the GNU linker). + </para> + <para>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;.</para><para>Uses: &cv-link-FRAMEWORKSFLAGS;.</para></listitem> </varlistentry> <varlistentry id="t-ar"> <term>ar</term> @@ -586,10 +586,10 @@ Sets construction variables for the <application xmlns="http://www.scons.org/dbx <varlistentry id="t-javac"> <term>javac</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Sets construction variables for the <application xmlns="http://www.scons.org/dbxsd/v1.0">javac</application> compiler. -</para> -<para>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;.</para><para>Uses: &cv-link-JAVACCOMSTR;.</para></listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + Sets construction variables for the <application xmlns="http://www.scons.org/dbxsd/v1.0">javac</application> compiler. + </para> + <para>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;.</para><para>Uses: &cv-link-JAVACCOMSTR;.</para></listitem> </varlistentry> <varlistentry id="t-javah"> <term>javah</term> @@ -621,7 +621,7 @@ Sets construction variables for the D language compiler LDC2. <para xmlns="http://www.scons.org/dbxsd/v1.0"> Sets construction variables for the <application xmlns="http://www.scons.org/dbxsd/v1.0">lex</application> lexical analyser. </para> -<para>Sets: &cv-link-LEX;, &cv-link-LEXCOM;, &cv-link-LEXFLAGS;.</para><para>Uses: &cv-link-LEXCOMSTR;.</para></listitem> +<para>Sets: &cv-link-LEX;, &cv-link-LEXCOM;, &cv-link-LEXFLAGS;, &cv-link-LEXUNISTD;.</para><para>Uses: &cv-link-LEXCOMSTR;.</para></listitem> </varlistentry> <varlistentry id="t-link"> <term>link</term> @@ -750,8 +750,9 @@ Sets construction variables for the Microsoft Visual C/C++ compiler. </varlistentry> <varlistentry id="t-msvs"> <term>msvs</term> - <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> -Sets construction variables for Microsoft Visual Studio. </para> <para>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;.</para></listitem> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0">Sets construction variables for Microsoft Visual Studio.</para> + <para>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;.</para></listitem> </varlistentry> <varlistentry id="t-mwcc"> <term>mwcc</term> @@ -778,19 +779,19 @@ Sets construction variables for the </para> <para>Sets: &cv-link-AS;, &cv-link-ASCOM;, &cv-link-ASFLAGS;, &cv-link-ASPPCOM;, &cv-link-ASPPFLAGS;.</para><para>Uses: &cv-link-ASCOMSTR;, &cv-link-ASPPCOMSTR;.</para></listitem> </varlistentry> - <varlistentry id="t-Packaging"> - <term>Packaging</term> + <varlistentry id="t-packaging"> + <term>packaging</term> <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> -Sets construction variables for the <function xmlns="http://www.scons.org/dbxsd/v1.0">Package</function> Builder. +A framework for building binary and source packages. </para> </listitem> </varlistentry> - <varlistentry id="t-packaging"> - <term>packaging</term> + <varlistentry id="t-Packaging"> + <term>Packaging</term> <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> -A framework for building binary and source packages. +Sets construction variables for the <function xmlns="http://www.scons.org/dbxsd/v1.0">Package</function> Builder. </para> </listitem> </varlistentry> 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. <!ENTITY t-mwcc "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>mwcc</literal>"> <!ENTITY t-mwld "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>mwld</literal>"> <!ENTITY t-nasm "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>nasm</literal>"> -<!ENTITY t-Packaging "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>Packaging</literal>"> <!ENTITY t-packaging "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>packaging</literal>"> +<!ENTITY t-Packaging "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>Packaging</literal>"> <!ENTITY t-pdf "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>pdf</literal>"> <!ENTITY t-pdflatex "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>pdflatex</literal>"> <!ENTITY t-pdftex "<literal xmlns='http://www.scons.org/dbxsd/v1.0'>pdftex</literal>"> @@ -186,8 +186,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY t-link-mwcc "<link linkend='t-mwcc' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>mwcc</literal></link>"> <!ENTITY t-link-mwld "<link linkend='t-mwld' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>mwld</literal></link>"> <!ENTITY t-link-nasm "<link linkend='t-nasm' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>nasm</literal></link>"> -<!ENTITY t-link-Packaging "<link linkend='t-Packaging' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>Packaging</literal></link>"> <!ENTITY t-link-packaging "<link linkend='t-packaging' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>packaging</literal></link>"> +<!ENTITY t-link-Packaging "<link linkend='t-Packaging' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>Packaging</literal></link>"> <!ENTITY t-link-pdf "<link linkend='t-pdf' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>pdf</literal></link>"> <!ENTITY t-link-pdflatex "<link linkend='t-pdflatex' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>pdflatex</literal></link>"> <!ENTITY t-link-pdftex "<link linkend='t-pdftex' xmlns='http://www.scons.org/dbxsd/v1.0'><literal>pdftex</literal></link>"> diff --git a/doc/generated/variables.gen b/doc/generated/variables.gen index 8a8dc99..28dfc59 100644 --- a/doc/generated/variables.gen +++ b/doc/generated/variables.gen @@ -31,6 +31,94 @@ if <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"><enva </para> </listitem> </varlistentry> + <varlistentry id="cv-_APPLELINK_COMPATIBILITY_VERSION"> + <term>_APPLELINK_COMPATIBILITY_VERSION</term> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + 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 <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-APPLELINK_COMPATIBILITY_VERSION"><envar>$APPLELINK_COMPATIBILITY_VERSION</envar></link> + and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-APPLELINK_NO_COMPATIBILITY_VERSION"><envar>$APPLELINK_NO_COMPATIBILITY_VERSION</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"><envar>$SHLIBVERSION</envar></link> + to determine the correct flag. + </para> + </listitem> + </varlistentry> + <varlistentry id="cv-APPLELINK_COMPATIBILITY_VERSION"> + <term>APPLELINK_COMPATIBILITY_VERSION</term> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + On Mac OS X this is used to set the linker flag: + + -compatibility_version + </para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + 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 <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"><envar>$SHLIBVERSION</envar></link> if + not + specified. The lowest digit will be dropped and replaced by a 0. + </para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + If the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-APPLELINK_NO_COMPATIBILITY_VERSION"><envar>$APPLELINK_NO_COMPATIBILITY_VERSION</envar></link> is set then no -compatibility_version will be + output. + </para> + <para xmlns="http://www.scons.org/dbxsd/v1.0">See MacOS's ld manpage for more details</para> + </listitem> + </varlistentry> + <varlistentry id="cv-_APPLELINK_CURRENT_VERSION"> + <term>_APPLELINK_CURRENT_VERSION</term> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + 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 <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-APPLELINK_CURRENT_VERSION"><envar>$APPLELINK_CURRENT_VERSION</envar></link> and + <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-APPLELINK_NO_CURRENT_VERSION"><envar>$APPLELINK_NO_CURRENT_VERSION</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"><envar>$SHLIBVERSION</envar></link> to determine the correct flag. + </para> + </listitem> + </varlistentry> + <varlistentry id="cv-APPLELINK_CURRENT_VERSION"> + <term>APPLELINK_CURRENT_VERSION</term> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + On Mac OS X this is used to set the linker flag: + + -current_version + </para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + 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 <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"><envar>$SHLIBVERSION</envar></link> if not + specified. + </para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + If the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-APPLELINK_NO_CURRENT_VERSION"><envar>$APPLELINK_NO_CURRENT_VERSION</envar></link> is set then no -current_version will be + output. + </para> + <para xmlns="http://www.scons.org/dbxsd/v1.0">See MacOS's ld manpage for more details</para> + + </listitem> + </varlistentry> + <varlistentry id="cv-APPLELINK_NO_COMPATIBILITY_VERSION"> + <term>APPLELINK_NO_COMPATIBILITY_VERSION</term> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + Set this to any True (1|True|non-empty string) value to disable adding -compatibility_version flag when + generating versioned shared libraries. + </para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + This overrides <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-APPLELINK_COMPATIBILITY_VERSION"><envar>$APPLELINK_COMPATIBILITY_VERSION</envar></link>. + </para> + </listitem> + </varlistentry> + <varlistentry id="cv-APPLELINK_NO_CURRENT_VERSION"> + <term>APPLELINK_NO_CURRENT_VERSION</term> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + Set this to any True (1|True|non-empty string) value to disable adding -current_version flag when + generating versioned shared libraries. + </para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + This overrides <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-APPLELINK_CURRENT_VERSION"><envar>$APPLELINK_CURRENT_VERSION</envar></link>. + </para> + </listitem> + </varlistentry> <varlistentry id="cv-AR"> <term>AR</term> <listitem> @@ -51,7 +139,9 @@ This is used to fill in the <literal>Architecture:</literal> field in an Ipkg <filename>control</filename> file, -and as part of the name of a generated RPM file. +and the <literal>BuildArch:</literal> field +in the RPM <filename>.spec</filename> file, +as well as forming part of the name of a generated RPM package file. </para> </listitem> </varlistentry> @@ -240,7 +330,7 @@ or this: <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> env = Environment() -env['BUILDERS]['NewBuilder'] = foo +env['BUILDERS']['NewBuilder'] = foo </example_commands> </listitem> </varlistentry> @@ -389,7 +479,6 @@ the <filename>control</filename> for Ipkg, the <filename>.wxs</filename> for MSI). If set, the function will be called after the SCons template for the file has been written. -XXX </para> </listitem> </varlistentry> @@ -480,7 +569,8 @@ An automatically-generated construction variable containing the C preprocessor command-line options to define values. The value of <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_CPPDEFFLAGS</envar> is created -by appending <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFSUFFIX</envar> +by respectively prepending and appending +<envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFSUFFIX</envar> to the beginning and end of each definition in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFINES</envar>. </para> @@ -503,7 +593,8 @@ If <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFINES</envar> is a strin the values of the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFSUFFIX</envar> 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 <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFINES</envar>. </para> <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> @@ -517,7 +608,7 @@ If <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFINES</envar> is a list, the values of the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFSUFFIX</envar> 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 <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFINES</envar> is a dicti the values of the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFSUFFIX</envar> 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}) <para xmlns="http://www.scons.org/dbxsd/v1.0"> 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 <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPDEFINES</envar> construction variable when the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_CPPDEFFLAGS</envar> variable is automatically generated. </para> @@ -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 <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_CPPINCFLAGS</envar> is created -by appending <envar xmlns="http://www.scons.org/dbxsd/v1.0">$INCPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$INCSUFFIX</envar> +by respectively prepending and appending <envar xmlns="http://www.scons.org/dbxsd/v1.0">$INCPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$INCSUFFIX</envar> to the beginning and end of each directory in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPPATH</envar>. </para> @@ -661,7 +752,7 @@ through the automatically-generated <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_CPPINCFLAGS</envar> construction variable, which is constructed by -appending the values of the +respectively prepending and appending the value of the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$INCPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$INCSUFFIX</envar> 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 <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_FORTRANINCFLAGS"><envar>$_FORTRANINCFLAGS</envar></link> is created -by prepending/appending <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCPREFIX"><envar>$INCPREFIX</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCSUFFIX"><envar>$INCSUFFIX</envar></link> +by respectively prepending and appending +<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCPREFIX"><envar>$INCPREFIX</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCSUFFIX"><envar>$INCSUFFIX</envar></link> to the beginning and end of each directory in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANPATH"><envar>$FORTRANPATH</envar></link>. </para> @@ -2625,7 +2717,7 @@ for module files, as well. <para xmlns="http://www.scons.org/dbxsd/v1.0"> 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 <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANMODDIR"><envar>$FORTRANMODDIR</envar></link> construction variables when the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_FORTRANMODFLAG"><envar>$_FORTRANMODFLAG</envar></link> variables is automatically generated. </para> @@ -2637,7 +2729,7 @@ when the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_FORTRANMODFL <para xmlns="http://www.scons.org/dbxsd/v1.0"> 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 <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANMODDIR"><envar>$FORTRANMODDIR</envar></link> construction variables when the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_FORTRANMODFLAG"><envar>$_FORTRANMODFLAG</envar></link> variables is automatically generated. </para> @@ -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 <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_FORTRANMODFLAG"><envar>$_FORTRANMODFLAG</envar></link> is created -by prepending/appending <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANMODDIRPREFIX"><envar>$FORTRANMODDIRPREFIX</envar></link> and -<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANMODDIRSUFFIX"><envar>$FORTRANMODDIRSUFFIX</envar></link> +by respectively prepending and appending +<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANMODDIRPREFIX"><envar>$FORTRANMODDIRPREFIX</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANMODDIRSUFFIX"><envar>$FORTRANMODDIRSUFFIX</envar></link> to the beginning and end of the directory in <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FORTRANMODDIR"><envar>$FORTRANMODDIR</envar></link>. </para> </listitem> @@ -2727,7 +2819,7 @@ through the automatically-generated <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-_FORTRANINCFLAGS"><envar>$_FORTRANINCFLAGS</envar></link> construction variable, which is constructed by -appending the values of the +respectively prepending and appending the values of the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCPREFIX"><envar>$INCPREFIX</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-INCSUFFIX"><envar>$INCSUFFIX</envar></link> construction variables to the beginning and end @@ -2797,107 +2889,107 @@ The default list is: <varlistentry id="cv-FRAMEWORKPATH"> <term>FRAMEWORKPATH</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -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 -<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKS"><envar>$FRAMEWORKS</envar></link>). -For example: -</para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + 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 + <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKS"><envar>$FRAMEWORKS</envar></link>). + For example: + </para> -<example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> - env.AppendUnique(FRAMEWORKPATH='#myframeworkdir') -</example_commands> + <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> + env.AppendUnique(FRAMEWORKPATH='#myframeworkdir') + </example_commands> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -will add -</para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + will add + </para> -<example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> - ... -Fmyframeworkdir -</example_commands> + <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> + ... -Fmyframeworkdir + </example_commands> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -to the compiler and linker command lines. -</para> -</listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + to the compiler and linker command lines. + </para> + </listitem> </varlistentry> <varlistentry id="cv-_FRAMEWORKPATH"> <term>_FRAMEWORKPATH</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -On Mac OS X with gcc, an automatically-generated construction variable -containing the linker command-line options corresponding to -<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKPATH"><envar>$FRAMEWORKPATH</envar></link>. -</para> -</listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + On Mac OS X with gcc, an automatically-generated construction variable + containing the linker command-line options corresponding to + <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKPATH"><envar>$FRAMEWORKPATH</envar></link>. + </para> + </listitem> </varlistentry> <varlistentry id="cv-FRAMEWORKPATHPREFIX"> <term>FRAMEWORKPATHPREFIX</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -On Mac OS X with gcc, the prefix to be used for the FRAMEWORKPATH entries. -(see <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKPATH"><envar>$FRAMEWORKPATH</envar></link>). -The default value is -<option>-F</option>. -</para> -</listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + On Mac OS X with gcc, the prefix to be used for the FRAMEWORKPATH entries. + (see <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKPATH"><envar>$FRAMEWORKPATH</envar></link>). + The default value is + <option>-F</option>. + </para> + </listitem> </varlistentry> <varlistentry id="cv-FRAMEWORKPREFIX"> <term>FRAMEWORKPREFIX</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -On Mac OS X with gcc, -the prefix to be used for linking in frameworks -(see <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKS"><envar>$FRAMEWORKS</envar></link>). -The default value is -<option>-framework</option>. -</para> -</listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + On Mac OS X with gcc, + the prefix to be used for linking in frameworks + (see <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKS"><envar>$FRAMEWORKS</envar></link>). + The default value is + <option>-framework</option>. + </para> + </listitem> </varlistentry> <varlistentry id="cv-_FRAMEWORKS"> <term>_FRAMEWORKS</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -On Mac OS X with gcc, -an automatically-generated construction variable -containing the linker command-line options -for linking with FRAMEWORKS. -</para> -</listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + On Mac OS X with gcc, + an automatically-generated construction variable + containing the linker command-line options + for linking with FRAMEWORKS. + </para> + </listitem> </varlistentry> <varlistentry id="cv-FRAMEWORKS"> <term>FRAMEWORKS</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -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: -</para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + 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: + </para> -<example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> - env.AppendUnique(FRAMEWORKS=Split('System Cocoa SystemConfiguration')) -</example_commands> + <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> + env.AppendUnique(FRAMEWORKS=Split('System Cocoa SystemConfiguration')) + </example_commands> -</listitem> + </listitem> </varlistentry> <varlistentry id="cv-FRAMEWORKSFLAGS"> <term>FRAMEWORKSFLAGS</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -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 <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKPATH"><envar>$FRAMEWORKPATH</envar></link>, <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKPATHPREFIX"><envar>$FRAMEWORKPATHPREFIX</envar></link>, -<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKPREFIX"><envar>$FRAMEWORKPREFIX</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKS"><envar>$FRAMEWORKS</envar></link> variables -described above.) -</para> -</listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + 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 <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKPATH"><envar>$FRAMEWORKPATH</envar></link>, <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKPATHPREFIX"><envar>$FRAMEWORKPATHPREFIX</envar></link>, + <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKPREFIX"><envar>$FRAMEWORKPREFIX</envar></link> and <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-FRAMEWORKS"><envar>$FRAMEWORKS</envar></link> variables + described above.) + </para> + </listitem> </varlistentry> <varlistentry id="cv-GS"> <term>GS</term> @@ -2940,6 +3032,15 @@ is <quote><literal>-dNOPAUSE -dBATCH -sDEVICE=pdfwrite</literal></quote> <term>HOST_ARCH</term> <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> + 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. +</para> + +<para xmlns="http://www.scons.org/dbxsd/v1.0"> Sets the host architecture for Visual Studio compiler. If not set, default to the detected host architecture: note that this may depend on the python you are using. @@ -2955,16 +3056,7 @@ Valid values are the same as for <envar xmlns="http://www.scons.org/dbxsd/v1.0"> This is currently only used on Windows, but in the future it will be used on other OSes as well. </para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> - 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. -</para> - </listitem> +</listitem> </varlistentry> <varlistentry id="cv-HOST_OS"> <term>HOST_OS</term> @@ -3087,7 +3179,7 @@ env = Environment(IMPLICIT_COMMAND_DEPENDENCIES = 0) <para xmlns="http://www.scons.org/dbxsd/v1.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 <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPPATH</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$FORTRANPATH</envar> construction variables when the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_CPPINCFLAGS</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_FORTRANINCFLAGS</envar> variables are automatically generated. @@ -3206,7 +3298,7 @@ The command line used to call the Java archive tool. <para xmlns="http://www.scons.org/dbxsd/v1.0"> The string displayed when the Java archive tool is called -If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-JARCOM"><envar>$JARCOM</envar></link> (the command line) is displayed. +If this is not set, then <envar xmlns="http://www.scons.org/dbxsd/v1.0">$JARCOM</envar> (the command line) is displayed. </para> <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> @@ -3216,7 +3308,7 @@ env = Environment(JARCOMSTR = "JARchiving $SOURCES into $TARGET") <para xmlns="http://www.scons.org/dbxsd/v1.0"> The string displayed when the Java archive tool is called -If this is not set, then <envar xmlns="http://www.scons.org/dbxsd/v1.0">$JARCOM</envar> (the command line) is displayed. +If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-JARCOM"><envar>$JARCOM</envar></link> (the command line) is displayed. </para> <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> @@ -3265,107 +3357,111 @@ by default. <varlistentry id="cv-JAVABOOTCLASSPATH"> <term>JAVABOOTCLASSPATH</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Specifies the list of directories that -will be added to the -<application xmlns="http://www.scons.org/dbxsd/v1.0">javac</application> command line -via the <option>-bootclasspath</option> option. -The individual directory names will be -separated by the operating system's path separate character -(<filename>:</filename> on UNIX/Linux/POSIX, -<filename>;</filename> on Windows). -</para> -</listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + Specifies the list of directories that + will be added to the + <application xmlns="http://www.scons.org/dbxsd/v1.0">javac</application> command line + via the <option>-bootclasspath</option> option. + The individual directory names will be + separated by the operating system's path separate character + (<filename>:</filename> on UNIX/Linux/POSIX, + <filename>;</filename> + on Windows). + </para> + </listitem> </varlistentry> <varlistentry id="cv-JAVAC"> <term>JAVAC</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The Java compiler. -</para> -</listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + The Java compiler. + </para> + </listitem> </varlistentry> <varlistentry id="cv-JAVACCOM"> <term>JAVACCOM</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The command line used to compile a directory tree containing -Java source files to -corresponding Java class files. -Any options specified in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-JAVACFLAGS"><envar>$JAVACFLAGS</envar></link> construction variable -are included on this command line. -</para> -</listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + The command line used to compile a directory tree containing + Java source files to + corresponding Java class files. + Any options specified in the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-JAVACFLAGS"><envar>$JAVACFLAGS</envar></link> construction variable + are included on this command line. + </para> + </listitem> </varlistentry> <varlistentry id="cv-JAVACCOMSTR"> <term>JAVACCOMSTR</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The string displayed when compiling -a directory tree of Java source files to -corresponding Java class files. -If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-JAVACCOM"><envar>$JAVACCOM</envar></link> (the command line) is displayed. -</para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + The string displayed when compiling + a directory tree of Java source files to + corresponding Java class files. + If this is not set, then <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-JAVACCOM"><envar>$JAVACCOM</envar></link> (the command line) is displayed. + </para> -<example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> -env = Environment(JAVACCOMSTR = "Compiling class files $TARGETS from $SOURCES") -</example_commands> -</listitem> + <example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> + env = Environment(JAVACCOMSTR = "Compiling class files $TARGETS from $SOURCES") + </example_commands> + </listitem> </varlistentry> <varlistentry id="cv-JAVACFLAGS"> <term>JAVACFLAGS</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -General options that are passed to the Java compiler. -</para> -</listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + General options that are passed to the Java compiler. + </para> + </listitem> </varlistentry> <varlistentry id="cv-JAVACLASSDIR"> <term>JAVACLASSDIR</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -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 -<literal>JavaH</literal> -builder. -</para> -</listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + 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 + <literal>JavaH</literal> + builder. + </para> + </listitem> </varlistentry> <varlistentry id="cv-JAVACLASSPATH"> <term>JAVACLASSPATH</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Specifies the list of directories that -will be searched for Java -<filename>.class</filename> file. -The directories in this list will be added to the -<application xmlns="http://www.scons.org/dbxsd/v1.0">javac</application> and <application xmlns="http://www.scons.org/dbxsd/v1.0">javah</application> command lines -via the <option>-classpath</option> option. -The individual directory names will be -separated by the operating system's path separate character -(<filename>:</filename> on UNIX/Linux/POSIX, -<filename>;</filename> on Windows). -</para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + Specifies the list of directories that + will be searched for Java + <filename>.class</filename> + file. + The directories in this list will be added to the + <application xmlns="http://www.scons.org/dbxsd/v1.0">javac</application> and <application xmlns="http://www.scons.org/dbxsd/v1.0">javah</application> command lines + via the <option>-classpath</option> option. + The individual directory names will be + separated by the operating system's path separate character + (<filename>:</filename> on UNIX/Linux/POSIX, + <filename>;</filename> + on Windows). + </para> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Note that this currently just adds the specified -directory via the <option>-classpath</option> option. -<application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> does not currently search the -<envar xmlns="http://www.scons.org/dbxsd/v1.0">$JAVACLASSPATH</envar> directories for dependency -<filename>.class</filename> files. -</para> -</listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + Note that this currently just adds the specified + directory via the <option>-classpath</option> option. + <application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> does not currently search the + <envar xmlns="http://www.scons.org/dbxsd/v1.0">$JAVACLASSPATH</envar> directories for dependency + <filename>.class</filename> + files. + </para> + </listitem> </varlistentry> <varlistentry id="cv-JAVACLASSSUFFIX"> <term>JAVACLASSSUFFIX</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The suffix for Java class files; -<filename>.class</filename> -by default. -</para> -</listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + The suffix for Java class files; + <filename>.class</filename> + by default. + </para> + </listitem> </varlistentry> <varlistentry id="cv-JAVAH"> <term>JAVAH</term> @@ -3409,65 +3505,77 @@ for Java classes. </para> </listitem> </varlistentry> + <varlistentry id="cv-JAVAINCLUDES"> + <term>JAVAINCLUDES</term> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + Include path for Java header files (such as jni.h) + </para> + </listitem> + </varlistentry> <varlistentry id="cv-JAVASOURCEPATH"> <term>JAVASOURCEPATH</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Specifies the list of directories that -will be searched for input -<filename>.java</filename> file. -The directories in this list will be added to the -<application xmlns="http://www.scons.org/dbxsd/v1.0">javac</application> command line -via the <option>-sourcepath</option> option. -The individual directory names will be -separated by the operating system's path separate character -(<filename>:</filename> on UNIX/Linux/POSIX, -<filename>;</filename> on Windows). -</para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + Specifies the list of directories that + will be searched for input + <filename>.java</filename> + file. + The directories in this list will be added to the + <application xmlns="http://www.scons.org/dbxsd/v1.0">javac</application> command line + via the <option>-sourcepath</option> option. + The individual directory names will be + separated by the operating system's path separate character + (<filename>:</filename> on UNIX/Linux/POSIX, + <filename>;</filename> + on Windows). + </para> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Note that this currently just adds the specified -directory via the <option>-sourcepath</option> option. -<application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> does not currently search the -<envar xmlns="http://www.scons.org/dbxsd/v1.0">$JAVASOURCEPATH</envar> directories for dependency -<filename>.java</filename> files. -</para> -</listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + Note that this currently just adds the specified + directory via the <option>-sourcepath</option> option. + <application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> does not currently search the + <envar xmlns="http://www.scons.org/dbxsd/v1.0">$JAVASOURCEPATH</envar> directories for dependency + <filename>.java</filename> + files. + </para> + </listitem> </varlistentry> <varlistentry id="cv-JAVASUFFIX"> <term>JAVASUFFIX</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -The suffix for Java files; -<filename>.java</filename> -by default. -</para> -</listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + The suffix for Java files; + <filename>.java</filename> + by default. + </para> + </listitem> </varlistentry> <varlistentry id="cv-JAVAVERSION"> <term>JAVAVERSION</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Specifies the Java version being used by the <function xmlns="http://www.scons.org/dbxsd/v1.0">Java</function> builder. -This is <emphasis>not</emphasis> 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 <application xmlns="http://www.scons.org/dbxsd/v1.0">javac</application> compiler. -The default is <literal>1.4</literal>. -</para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + Specifies the Java version being used by the <function xmlns="http://www.scons.org/dbxsd/v1.0">Java</function> builder. + This is <emphasis>not</emphasis> 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 <application xmlns="http://www.scons.org/dbxsd/v1.0">javac</application> compiler. + The default is <literal>1.4</literal>. + </para> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -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 <application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> expects will be generated by the <application xmlns="http://www.scons.org/dbxsd/v1.0">javac</application> compiler. -Setting <envar xmlns="http://www.scons.org/dbxsd/v1.0">$JAVAVERSION</envar> to <literal>1.5</literal> -(or <literal>1.6</literal>, as appropriate) -can make <application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> realize that a Java 1.5 or 1.6 -build is actually up to date. -</para> -</listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + 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 <application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> expects will be generated by the <application xmlns="http://www.scons.org/dbxsd/v1.0">javac</application> compiler. + Setting <envar xmlns="http://www.scons.org/dbxsd/v1.0">$JAVAVERSION</envar> to + <literal>1.5</literal> + (or <literal>1.6</literal>, as appropriate) + can make <application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> realize that a Java 1.5 or 1.6 + build is actually up to date. + </para> + </listitem> </varlistentry> <varlistentry id="cv-LATEX"> <term>LATEX</term> @@ -3690,6 +3798,14 @@ General options passed to the lexical analyzer generator. </para> </listitem> </varlistentry> + <varlistentry id="cv-LEXUNISTD"> + <term>LEXUNISTD</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +Used only on windows environments to set a lex flag to prevent 'unistd.h' from being included. The default value is '--nounistd'. +</para> +</listitem> + </varlistentry> <varlistentry id="cv-_LIBDIRFLAGS"> <term>_LIBDIRFLAGS</term> <listitem> @@ -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 <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_LIBDIRFLAGS</envar> is created -by appending <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBDIRPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBDIRSUFFIX</envar> +by respectively prepending and appending <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBDIRPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBDIRSUFFIX</envar> to the beginning and end of each directory in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBPATH</envar>. </para> @@ -3709,7 +3825,7 @@ of each directory in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBPATH</en <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> 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 <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBPATH</envar> construction variable when the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_LIBDIRFLAGS</envar> variable is automatically generated. </para> @@ -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 <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_LIBFLAGS</envar> is created -by appending <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBLINKPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBLINKSUFFIX</envar> +by respectively prepending and appending <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBLINKPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBLINKSUFFIX</envar> to the beginning and end of each filename in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBS</envar>. </para> @@ -3753,7 +3869,7 @@ of each filename in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBS</envar> <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> 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 <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBS</envar> construction variable when the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_LIBFLAGS</envar> variable is automatically generated. </para> @@ -3807,7 +3923,7 @@ through the automatically-generated <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_LIBDIRFLAGS</envar> construction variable, which is constructed by -appending the values of the +respectively prepending and appending the values of the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBDIRPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBDIRSUFFIX</envar> construction variables to the beginning and end @@ -3863,7 +3979,7 @@ through the automatically-generated <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_LIBFLAGS</envar> construction variable, which is constructed by -appending the values of the +respectively prepending and appending the values of the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBLINKPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$LIBLINKSUFFIX</envar> construction variables to the beginning and end @@ -3930,10 +4046,10 @@ and these suffixes. <term>LICENSE</term> <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> -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. </para> </listitem> </varlistentry> @@ -4379,6 +4495,8 @@ constructor; setting it later has no effect. <para xmlns="http://www.scons.org/dbxsd/v1.0"> Valid values for Windows are +<literal>14.2</literal>, +<literal>14.1</literal>, <literal>14.0</literal>, <literal>14.0Exp</literal>, <literal>12.0</literal>, @@ -4402,254 +4520,311 @@ Versions ending in <literal>Exp</literal> refer to "Express" or </varlistentry> <varlistentry id="cv-MSVS"> <term>MSVS</term> - <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> -When the Microsoft Visual Studio tools are initialized, they set up this -dictionary with the following keys: </para><variablelist xmlns="http://www.scons.org/dbxsd/v1.0"> - <varlistentry> - <term>VERSION</term> - - <listitem> - <para>the version of MSVS being used (can be set via - <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVS_VERSION"><envar>$MSVS_VERSION</envar></link>)</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>VERSIONS</term> - - <listitem> - <para>the available versions of MSVS installed</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>VCINSTALLDIR</term> - - <listitem> - <para>installed directory of Visual C++</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>VSINSTALLDIR</term> - - <listitem> - <para>installed directory of Visual Studio</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FRAMEWORKDIR</term> - - <listitem> - <para>installed directory of the .NET framework</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FRAMEWORKVERSIONS</term> - - <listitem> - <para>list of installed versions of the .NET framework, sorted - latest to oldest.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FRAMEWORKVERSION</term> - - <listitem> - <para>latest installed version of the .NET - framework</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>FRAMEWORKSDKDIR</term> - - <listitem> - <para>installed location of the .NET SDK.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>PLATFORMSDKDIR</term> - - <listitem> - <para>installed location of the Platform SDK.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>PLATFORMSDK_MODULES</term> - - <listitem> - <para>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.</para> - </listitem> - </varlistentry> - </variablelist><para xmlns="http://www.scons.org/dbxsd/v1.0">If a value isn't set, it wasn't available in the -registry.</para></listitem> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + When the Microsoft Visual Studio tools are initialized, + they set up this dictionary with the following keys: + </para> + <variablelist xmlns="http://www.scons.org/dbxsd/v1.0"> + <varlistentry> + <term>VERSION</term> <listitem> + <para>the version of MSVS being used (can be set via + <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVS_VERSION"><envar>$MSVS_VERSION</envar></link>)</para> + </listitem> + </varlistentry> <varlistentry> + <term>VERSIONS</term> <listitem> + <para>the available versions of MSVS installed</para> + </listitem> + </varlistentry> <varlistentry> + <term>VCINSTALLDIR</term> <listitem> + <para>installed directory of Visual C++</para> + </listitem> + </varlistentry> <varlistentry> + <term>VSINSTALLDIR</term> <listitem> + <para>installed directory of Visual Studio</para> + </listitem> + </varlistentry> <varlistentry> + <term>FRAMEWORKDIR</term> <listitem> + <para>installed directory of the .NET framework</para> + </listitem> + </varlistentry> <varlistentry> + <term>FRAMEWORKVERSIONS</term> <listitem> + <para> + list of installed versions of the .NET framework, + sorted latest to oldest. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>FRAMEWORKVERSION</term> + <listitem> + <para>latest installed version of the .NET framework</para> + </listitem> + </varlistentry> + <varlistentry> + <term>FRAMEWORKSDKDIR</term> + <listitem> + <para>installed location of the .NET SDK.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>PLATFORMSDKDIR</term> + <listitem> + <para>installed location of the Platform SDK.</para> + </listitem> + </varlistentry> + <varlistentry> + <term>PLATFORMSDK_MODULES</term> + <listitem> + <para> + 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. + </para> + </listitem> + </varlistentry> + </variablelist> + <para xmlns="http://www.scons.org/dbxsd/v1.0">If a value is not set, it was not available in the registry.</para> + </listitem> </varlistentry> <varlistentry id="cv-MSVS_ARCH"> <term>MSVS_ARCH</term> - <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">Sets -the architecture for which the generated project(s) should build. </para> -<para xmlns="http://www.scons.org/dbxsd/v1.0">The default value is <literal>x86</literal>. <literal>amd64</literal> is -also supported by <application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> for some Visual Studio versions. Trying to set -<envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVS_ARCH</envar> to an architecture that's not supported for a given Visual -Studio version will generate an error. </para> </listitem> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0">Sets the architecture for which the generated project(s) should build.</para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + The default value is <literal>x86</literal>. + <literal>amd64</literal> is also supported by <application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> for + most Visual Studio versions. Since Visual Studio 2015 + <literal>arm</literal> is supported, and since Visual Studio + 2017 <literal>arm64</literal> is supported. + Trying to set <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVS_ARCH</envar> + to an architecture that's not supported for a given Visual + Studio version will generate an error. + </para> + </listitem> </varlistentry> <varlistentry id="cv-MSVS_PROJECT_GUID"> <term>MSVS_PROJECT_GUID</term> - <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The string placed in a generated + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + The string placed in a generated Microsoft Visual Studio project file as the value of the -<literal>ProjectGUID</literal> attribute. There is no default value. If not -defined, a new GUID is generated. </para> </listitem> + <literal>ProjectGUID</literal> attribute. There is no default + value. If not +defined, a new GUID is generated. + + </para> + </listitem> </varlistentry> <varlistentry id="cv-MSVS_SCC_AUX_PATH"> <term>MSVS_SCC_AUX_PATH</term> - <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The path name placed in a generated + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + The path name placed in a generated Microsoft Visual Studio project file as the value of the -<literal>SccAuxPath</literal> attribute if the -<envar>MSVS_SCC_PROVIDER</envar> construction variable is also set. There is -no default value. </para> </listitem> + <literal>SccAuxPath</literal> attribute if the + <envar>MSVS_SCC_PROVIDER</envar> construction variable is + also set. There is +no default value. + + </para> + </listitem> </varlistentry> <varlistentry id="cv-MSVS_SCC_CONNECTION_ROOT"> <term>MSVS_SCC_CONNECTION_ROOT</term> - <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">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 -<literal>SccLocalPath</literal> attribute of the project file and as the -values of the -<literal>SccProjectFilePathRelativizedFromConnection[i]</literal> (where [i] -ranges from 0 to the number of projects in the solution) attributes of the -<literal>GlobalSection(SourceCodeControl)</literal> section of the Microsoft -Visual Studio solution file. Similarly the relative solution file path is -placed as the values of the <literal>SccLocalPath[i]</literal> (where [i] -ranges from 0 to the number of projects in the solution) attributes of the -<literal>GlobalSection(SourceCodeControl)</literal> section of the Microsoft -Visual Studio solution file. This is used only if the -<envar>MSVS_SCC_PROVIDER</envar> construction variable is also set. The -default value is the current working directory. </para> </listitem> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + 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 <literal>SccLocalPath</literal> + attribute of the project file and as the values of the + <literal>SccProjectFilePathRelativizedFromConnection[i]</literal> + (where [i] ranges from 0 to the number of projects in the solution) + attributes of the <literal>GlobalSection(SourceCodeControl)</literal> + section of the Microsoft Visual Studio solution file. Similarly + the relative solution file path is placed as the values of the + <literal>SccLocalPath[i]</literal> (where [i] ranges from 0 + to the number of projects in the solution) attributes of the + <literal>GlobalSection(SourceCodeControl)</literal> section of + the Microsoft Visual Studio solution file. This is used only if + the <envar>MSVS_SCC_PROVIDER</envar> construction variable is + also set. The default value is the current working directory. + </para> + </listitem> </varlistentry> <varlistentry id="cv-MSVS_SCC_PROJECT_NAME"> <term>MSVS_SCC_PROJECT_NAME</term> - <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The project name placed in -a generated Microsoft Visual Studio project file as the value of the -<literal>SccProjectName</literal> attribute if the -<envar>MSVS_SCC_PROVIDER</envar> construction variable is also set. In this -case the string is also placed in the <literal>SccProjectName0</literal> -attribute of the <literal>GlobalSection(SourceCodeControl)</literal> section -of the Microsoft Visual Studio solution file. There is no default value. -</para> </listitem> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + The project name placed in a generated Microsoft + Visual Studio project file as the value of the + <literal>SccProjectName</literal> attribute if the + <envar>MSVS_SCC_PROVIDER</envar> construction variable + is also set. In this case the string is also placed in + the <literal>SccProjectName0</literal> attribute of the + <literal>GlobalSection(SourceCodeControl)</literal> section + of the Microsoft Visual Studio solution file. There is no + default value. + </para> + </listitem> </varlistentry> <varlistentry id="cv-MSVS_SCC_PROVIDER"> <term>MSVS_SCC_PROVIDER</term> - <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The -string placed in a generated Microsoft Visual Studio project file as the value -of the <literal>SccProvider</literal> attribute. The string is also placed in -the <literal>SccProvider0</literal> attribute of the -<literal>GlobalSection(SourceCodeControl)</literal> section of the Microsoft -Visual Studio solution file. There is no default value. </para> </listitem> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + The string placed in a generated Microsoft + Visual Studio project file as the value of the + <literal>SccProvider</literal> attribute. The string is + also placed in the <literal>SccProvider0</literal> attribute + of the <literal>GlobalSection(SourceCodeControl)</literal> + section of the Microsoft Visual Studio solution file. There + is no default value. + </para> + </listitem> </varlistentry> <varlistentry id="cv-MSVS_VERSION"> <term>MSVS_VERSION</term> - <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">Sets the preferred version -of Microsoft Visual Studio to use. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0">If <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVS_VERSION</envar> is not -set, <application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> 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 -<envar>MSVS_VERSION</envar> 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. </para> -<para xmlns="http://www.scons.org/dbxsd/v1.0">This is obsolete: use <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVC_VERSION</envar> instead. If <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVS_VERSION</envar> is -set and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVC_VERSION</envar> is not, <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVC_VERSION</envar> will be set automatically -to <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVS_VERSION</envar>. If both are set to different values, scons will raise an -error. </para> </listitem> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0">Sets the preferred version of Microsoft Visual Studio to use.</para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + If <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVS_VERSION</envar> is not set, <application xmlns="http://www.scons.org/dbxsd/v1.0">SCons</application> 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 <envar>MSVS_VERSION</envar> 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. + </para> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + This is obsolete: use <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVC_VERSION</envar> instead. If + <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVS_VERSION</envar> is set and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVC_VERSION</envar> is + not, <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVC_VERSION</envar> will be set automatically to + <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MSVS_VERSION</envar>. If both are set to different values, + scons will raise an error. + </para> + </listitem> </varlistentry> <varlistentry id="cv-MSVSBUILDCOM"> <term>MSVSBUILDCOM</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0">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. </para> </listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + 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. + </para> + </listitem> </varlistentry> <varlistentry id="cv-MSVSCLEANCOM"> <term>MSVSCLEANCOM</term> - <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">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. </para> </listitem> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + 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. + </para> + </listitem> </varlistentry> <varlistentry id="cv-MSVSENCODING"> <term>MSVSENCODING</term> - <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The encoding string placed in a -generated Microsoft Visual Studio project file. The default is encoding -<literal>Windows-1252</literal>. </para> </listitem> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + The encoding string placed in a generated Microsoft + Visual Studio project file. The default is encoding + <literal>Windows-1252</literal>. + </para> + </listitem> </varlistentry> <varlistentry id="cv-MSVSPROJECTCOM"> <term>MSVSPROJECTCOM</term> - <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The action used to generate Microsoft -Visual Studio project files. </para> </listitem> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0">The action used to generate Microsoft Visual Studio project files.</para> + </listitem> </varlistentry> <varlistentry id="cv-MSVSPROJECTSUFFIX"> <term>MSVSPROJECTSUFFIX</term> - <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The suffix used for Microsoft Visual -Studio project (DSP) files. The default value is <filename>.vcproj</filename> -when using Visual Studio version 7.x (.NET) or later version, and -<filename>.dsp</filename> when using earlier versions of Visual Studio. -</para> </listitem> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + The suffix used for Microsoft Visual Studio project (DSP) + files. The default value is <filename>.vcproj</filename> + when using Visual Studio version 7.x (.NET) or later version, + and <filename>.dsp</filename> when using earlier versions of + Visual Studio. + </para> + </listitem> </varlistentry> <varlistentry id="cv-MSVSREBUILDCOM"> <term>MSVSREBUILDCOM</term> - <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">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. </para> </listitem> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + 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. + + </para> + </listitem> </varlistentry> <varlistentry id="cv-MSVSSCONS"> <term>MSVSSCONS</term> <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0">The SCons used in generated Microsoft Visual Studio project files. The -default is the version of SCons being used to generate the project file. -</para> </listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + The SCons used in generated Microsoft Visual Studio project + files. The default is the version of SCons being used to + generate the project file. + </para> + </listitem> </varlistentry> <varlistentry id="cv-MSVSSCONSCOM"> <term>MSVSSCONSCOM</term> - <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The default -SCons command used in generated Microsoft Visual Studio project files. </para> -</listitem> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + The default SCons command used in generated Microsoft Visual + Studio project files. + </para> + </listitem> </varlistentry> <varlistentry id="cv-MSVSSCONSCRIPT"> <term>MSVSSCONSCRIPT</term> - <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The sconscript -file (that is, <filename xmlns="http://www.scons.org/dbxsd/v1.0">SConstruct</filename> or <filename xmlns="http://www.scons.org/dbxsd/v1.0">SConscript</filename> file) that will be invoked by -Visual Studio project files (through the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVSSCONSCOM"><envar>$MSVSSCONSCOM</envar></link> variable). The -default is the same sconscript file that contains the call to <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function> -to build the project file. </para> </listitem> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + The sconscript file (that is, <filename xmlns="http://www.scons.org/dbxsd/v1.0">SConstruct</filename> or <filename xmlns="http://www.scons.org/dbxsd/v1.0">SConscript</filename> + file) that will be invoked by Visual Studio project files + (through the <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVSSCONSCOM"><envar>$MSVSSCONSCOM</envar></link> variable). The default + is the same sconscript file that contains the call to + <function xmlns="http://www.scons.org/dbxsd/v1.0">MSVSProject</function> to build the project file. + </para> + </listitem> </varlistentry> <varlistentry id="cv-MSVSSCONSFLAGS"> <term>MSVSSCONSFLAGS</term> - <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The -SCons flags used in generated Microsoft Visual Studio project files. </para> -</listitem> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + The SCons flags used in generated Microsoft Visual Studio project files. + </para> + </listitem> </varlistentry> <varlistentry id="cv-MSVSSOLUTIONCOM"> <term>MSVSSOLUTIONCOM</term> - <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The action used to generate Microsoft -Visual Studio solution files. </para> </listitem> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0">The action used to generate Microsoft Visual Studio solution files.</para> + </listitem> </varlistentry> <varlistentry id="cv-MSVSSOLUTIONSUFFIX"> <term>MSVSSOLUTIONSUFFIX</term> - <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">The suffix used for Microsoft -Visual Studio solution (DSW) files. The default value is -<filename>.sln</filename> when using Visual Studio version 7.x (.NET), and -<filename>.dsw</filename> when using earlier versions of Visual Studio. -</para> </listitem> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + The suffix used for Microsoft Visual Studio solution (DSW) + files. The default value is <filename>.sln</filename> + when using Visual Studio version 7.x (.NET), and + <filename>.dsw</filename> when using earlier versions of + Visual Studio. + </para> + </listitem> </varlistentry> <varlistentry id="cv-MT"> <term>MT</term> @@ -5601,7 +5776,8 @@ containing the command-line options for specifying directories to be searched by the resource compiler. The value of <envar xmlns="http://www.scons.org/dbxsd/v1.0">$RCINCFLAGS</envar> is created -by appending <envar xmlns="http://www.scons.org/dbxsd/v1.0">$RCINCPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$RCINCSUFFIX</envar> +by respectively prepending and appending +<envar xmlns="http://www.scons.org/dbxsd/v1.0">$RCINCPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$RCINCSUFFIX</envar> to the beginning and end of each directory in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPPATH</envar>. </para> @@ -5613,7 +5789,7 @@ of each directory in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPPATH</en <para xmlns="http://www.scons.org/dbxsd/v1.0"> 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 <envar xmlns="http://www.scons.org/dbxsd/v1.0">$CPPPATH</envar> construction variable when the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$RCINCFLAGS</envar> variable is expanded. </para> @@ -5735,7 +5911,7 @@ An automatically-generated construction variable containing the rpath flags to be used when linking a program with shared libraries. The value of <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_RPATH</envar> is created -by appending <envar xmlns="http://www.scons.org/dbxsd/v1.0">$RPATHPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$RPATHSUFFIX</envar> +by respectively prepending <envar xmlns="http://www.scons.org/dbxsd/v1.0">$RPATHPREFIX</envar> and appending <envar xmlns="http://www.scons.org/dbxsd/v1.0">$RPATHSUFFIX</envar> to the beginning and end of each directory in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$RPATH</envar>. </para> @@ -5763,7 +5939,7 @@ path, you must make it absolute yourself. <para xmlns="http://www.scons.org/dbxsd/v1.0"> 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 <envar xmlns="http://www.scons.org/dbxsd/v1.0">$RPATH</envar> construction variable when the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_RPATH</envar> variable is automatically generated. </para> @@ -5863,11 +6039,15 @@ below, for more information. </varlistentry> <varlistentry id="cv-SCONS_HOME"> <term>SCONS_HOME</term> - <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0">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 <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVSSCONS"><envar>$MSVSSCONS</envar></link> command line executed from Microsoft -Visual Studio project files. </para> </listitem> + <listitem> + <para xmlns="http://www.scons.org/dbxsd/v1.0"> + 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 <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-MSVSSCONS"><envar>$MSVSSCONS</envar></link> command line executed from Microsoft + Visual Studio project files. + </para> + </listitem> </varlistentry> <varlistentry id="cv-SHCC"> <term>SHCC</term> @@ -6610,16 +6790,6 @@ Example <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"> </para> </listitem> </varlistentry> - <varlistentry id="cv-SHLIBVERSIONFLAGS"> - <term>SHLIBVERSIONFLAGS</term> - <listitem> -<para xmlns="http://www.scons.org/dbxsd/v1.0"> -Extra flags added to <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLINKCOM"><envar>$SHLINKCOM</envar></link> when building versioned -<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-SharedLibrary"><function>SharedLibrary</function></link>. These flags are only used when <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"><envar>$SHLIBVERSION</envar></link> is -set. -</para> -</listitem> - </varlistentry> <varlistentry id="cv-_SHLIBVERSIONFLAGS"> <term>_SHLIBVERSIONFLAGS</term> <listitem> @@ -6633,6 +6803,16 @@ and some extra dynamically generated options (such as </para> </listitem> </varlistentry> + <varlistentry id="cv-SHLIBVERSIONFLAGS"> + <term>SHLIBVERSIONFLAGS</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +Extra flags added to <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLINKCOM"><envar>$SHLINKCOM</envar></link> when building versioned +<link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="b-SharedLibrary"><function>SharedLibrary</function></link>. These flags are only used when <link xmlns="http://www.scons.org/dbxsd/v1.0" linkend="cv-SHLIBVERSION"><envar>$SHLIBVERSION</envar></link> is +set. +</para> +</listitem> + </varlistentry> <varlistentry id="cv-SHLINK"> <term>SHLINK</term> <listitem> @@ -6935,7 +7115,8 @@ An automatically-generated construction variable containing the SWIG command-line options for specifying directories to be searched for included files. The value of <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_SWIGINCFLAGS</envar> is created -by appending <envar xmlns="http://www.scons.org/dbxsd/v1.0">$SWIGINCPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$SWIGINCSUFFIX</envar> +by respectively prepending and appending +<envar xmlns="http://www.scons.org/dbxsd/v1.0">$SWIGINCPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$SWIGINCSUFFIX</envar> to the beginning and end of each directory in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$SWIGPATH</envar>. </para> @@ -6946,7 +7127,7 @@ of each directory in <envar xmlns="http://www.scons.org/dbxsd/v1.0">$SWIGPATH</e <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> 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 <envar xmlns="http://www.scons.org/dbxsd/v1.0">$SWIGPATH</envar> construction variable when the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_SWIGINCFLAGS</envar> variable is automatically generated. </para> @@ -7020,7 +7201,7 @@ through the automatically-generated <envar xmlns="http://www.scons.org/dbxsd/v1.0">$_SWIGINCFLAGS</envar> construction variable, which is constructed by -appending the values of the +respectively prepending and appending the values of the <envar xmlns="http://www.scons.org/dbxsd/v1.0">$SWIGINCPREFIX</envar> and <envar xmlns="http://www.scons.org/dbxsd/v1.0">$SWIGINCSUFFIX</envar> construction variables to the beginning and end @@ -7095,6 +7276,13 @@ that may not be set or used in a construction environment. <term>TARGET_ARCH</term> <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> + 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. +</para> + +<para xmlns="http://www.scons.org/dbxsd/v1.0"> Sets the target architecture for Visual Studio compiler (i.e. the arch of the binaries generated by the compiler). If not set, default to <envar xmlns="http://www.scons.org/dbxsd/v1.0">$HOST_ARCH</envar>, or, if that is unset, to the architecture of the @@ -7104,29 +7292,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. </para> <para xmlns="http://www.scons.org/dbxsd/v1.0"> Valid values for Windows are <literal>x86</literal>, +<literal>arm</literal>, <literal>i386</literal> (for 32 bits); <literal>amd64</literal>, +<literal>arm64</literal>, <literal>emt64</literal>, <literal>x86_64</literal> (for 64 bits); and <literal>ia64</literal> (Itanium). + For example, if you want to compile 64-bit binaries, you would set <literal>TARGET_ARCH='x86_64'</literal> in your SCons environment. </para> - -<para xmlns="http://www.scons.org/dbxsd/v1.0"> - 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. -</para> - </listitem> +</listitem> </varlistentry> <varlistentry id="cv-TARGET_OS"> <term>TARGET_OS</term> @@ -7157,19 +7344,45 @@ The suffix used for tar file names. </para> </listitem> </varlistentry> + <varlistentry id="cv-TEMPFILEARGJOIN"> + <term>TEMPFILEARGJOIN</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +The string (or character) to be used to join the arguments passed to TEMPFILE when command line exceeds the limit set by <envar xmlns="http://www.scons.org/dbxsd/v1.0">$MAXLINELENGTH</envar>. +The default value is a space. However for MSVC, MSLINK the default is a line seperator characters as defined by os.linesep. +Note this value is used literally and not expanded by the subst logic. +</para> +</listitem> + </varlistentry> <varlistentry id="cv-TEMPFILEPREFIX"> <term>TEMPFILEPREFIX</term> <listitem> <para xmlns="http://www.scons.org/dbxsd/v1.0"> 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. </para> </listitem> </varlistentry> + <varlistentry id="cv-TEMPFILESUFFIX"> + <term>TEMPFILESUFFIX</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +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'. +</para> +</listitem> + </varlistentry> <varlistentry id="cv-TEX"> <term>TEX</term> <listitem> @@ -7542,6 +7755,7 @@ This is used to fill in the <literal>BuildRequires:</literal> field in the RPM <filename>.spec</filename> file. +Note this should only be used on a host managed by rpm as the dependencies will not be resolvable at build time otherwise. </para> </listitem> </varlistentry> @@ -7600,7 +7814,8 @@ field in the RPM <para xmlns="http://www.scons.org/dbxsd/v1.0"> This is used to fill in the <literal>Epoch:</literal> -field in the controlling information for RPM packages. +field in the RPM +<filename>.spec</filename> file. </para> </listitem> </varlistentry> @@ -7626,6 +7841,38 @@ field in the RPM </para> </listitem> </varlistentry> + <varlistentry id="cv-X_RPM_EXTRADEFS"> + <term>X_RPM_EXTRADEFS</term> + <listitem> +<para xmlns="http://www.scons.org/dbxsd/v1.0"> +A list used to supply extra defintions or flags +to be added to the RPM <filename>.spec</filename> 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 +<literal>'%global debug_package %{nil}'</literal> +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. +</para> + +<example_commands xmlns="http://www.scons.org/dbxsd/v1.0"> +env.Package( + NAME = 'foo', +... + X_RPM_EXTRADEFS = [ + '%define _unpackaged_files_terminate_build 0' + '%define _missing_doc_files_terminate_build 0' + ], +... ) +</example_commands> + +</listitem> + </varlistentry> <varlistentry id="cv-X_RPM_GROUP"> <term>X_RPM_GROUP</term> <listitem> diff --git a/doc/generated/variables.mod b/doc/generated/variables.mod index 6ecf6c9..47576f4 100644 --- a/doc/generated/variables.mod +++ b/doc/generated/variables.mod @@ -10,6 +10,12 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-__LDMODULEVERSIONFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$__LDMODULEVERSIONFLAGS</envar>"> <!ENTITY cv-__SHLIBVERSIONFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$__SHLIBVERSIONFLAGS</envar>"> +<!ENTITY cv-_APPLELINK_COMPATIBILITY_VERSION "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$_APPLELINK_COMPATIBILITY_VERSION</envar>"> +<!ENTITY cv-APPLELINK_COMPATIBILITY_VERSION "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$APPLELINK_COMPATIBILITY_VERSION</envar>"> +<!ENTITY cv-_APPLELINK_CURRENT_VERSION "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$_APPLELINK_CURRENT_VERSION</envar>"> +<!ENTITY cv-APPLELINK_CURRENT_VERSION "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$APPLELINK_CURRENT_VERSION</envar>"> +<!ENTITY cv-APPLELINK_NO_COMPATIBILITY_VERSION "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$APPLELINK_NO_COMPATIBILITY_VERSION</envar>"> +<!ENTITY cv-APPLELINK_NO_CURRENT_VERSION "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$APPLELINK_NO_CURRENT_VERSION</envar>"> <!ENTITY cv-AR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$AR</envar>"> <!ENTITY cv-ARCHITECTURE "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$ARCHITECTURE</envar>"> <!ENTITY cv-ARCOM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$ARCOM</envar>"> @@ -232,6 +238,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-JAVAHCOM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$JAVAHCOM</envar>"> <!ENTITY cv-JAVAHCOMSTR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$JAVAHCOMSTR</envar>"> <!ENTITY cv-JAVAHFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$JAVAHFLAGS</envar>"> +<!ENTITY cv-JAVAINCLUDES "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$JAVAINCLUDES</envar>"> <!ENTITY cv-JAVASOURCEPATH "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$JAVASOURCEPATH</envar>"> <!ENTITY cv-JAVASUFFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$JAVASUFFIX</envar>"> <!ENTITY cv-JAVAVERSION "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$JAVAVERSION</envar>"> @@ -256,6 +263,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-LEXCOM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$LEXCOM</envar>"> <!ENTITY cv-LEXCOMSTR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$LEXCOMSTR</envar>"> <!ENTITY cv-LEXFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$LEXFLAGS</envar>"> +<!ENTITY cv-LEXUNISTD "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$LEXUNISTD</envar>"> <!ENTITY cv-_LIBDIRFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$_LIBDIRFLAGS</envar>"> <!ENTITY cv-LIBDIRPREFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$LIBDIRPREFIX</envar>"> <!ENTITY cv-LIBDIRSUFFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$LIBDIRSUFFIX</envar>"> @@ -496,8 +504,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-_SHLIBSONAME "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$_SHLIBSONAME</envar>"> <!ENTITY cv-SHLIBSUFFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHLIBSUFFIX</envar>"> <!ENTITY cv-SHLIBVERSION "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHLIBVERSION</envar>"> -<!ENTITY cv-SHLIBVERSIONFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHLIBVERSIONFLAGS</envar>"> <!ENTITY cv-_SHLIBVERSIONFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$_SHLIBVERSIONFLAGS</envar>"> +<!ENTITY cv-SHLIBVERSIONFLAGS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHLIBVERSIONFLAGS</envar>"> <!ENTITY cv-SHLINK "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHLINK</envar>"> <!ENTITY cv-SHLINKCOM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHLINKCOM</envar>"> <!ENTITY cv-SHLINKCOMSTR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$SHLINKCOMSTR</envar>"> @@ -536,7 +544,9 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-TARGET_OS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$TARGET_OS</envar>"> <!ENTITY cv-TARGETS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$TARGETS</envar>"> <!ENTITY cv-TARSUFFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$TARSUFFIX</envar>"> +<!ENTITY cv-TEMPFILEARGJOIN "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$TEMPFILEARGJOIN</envar>"> <!ENTITY cv-TEMPFILEPREFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$TEMPFILEPREFIX</envar>"> +<!ENTITY cv-TEMPFILESUFFIX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$TEMPFILESUFFIX</envar>"> <!ENTITY cv-TEX "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$TEX</envar>"> <!ENTITY cv-TEXCOM "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$TEXCOM</envar>"> <!ENTITY cv-TEXCOMSTR "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$TEXCOMSTR</envar>"> @@ -584,6 +594,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-X_RPM_EPOCH "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$X_RPM_EPOCH</envar>"> <!ENTITY cv-X_RPM_EXCLUDEARCH "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$X_RPM_EXCLUDEARCH</envar>"> <!ENTITY cv-X_RPM_EXLUSIVEARCH "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$X_RPM_EXLUSIVEARCH</envar>"> +<!ENTITY cv-X_RPM_EXTRADEFS "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$X_RPM_EXTRADEFS</envar>"> <!ENTITY cv-X_RPM_GROUP "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$X_RPM_GROUP</envar>"> <!ENTITY cv-X_RPM_GROUP_lang "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$X_RPM_GROUP_lang</envar>"> <!ENTITY cv-X_RPM_ICON "<envar xmlns='http://www.scons.org/dbxsd/v1.0'>$X_RPM_ICON</envar>"> @@ -639,6 +650,12 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-link-__LDMODULEVERSIONFLAGS "<link linkend='cv-__LDMODULEVERSIONFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$__LDMODULEVERSIONFLAGS</envar></link>"> <!ENTITY cv-link-__SHLIBVERSIONFLAGS "<link linkend='cv-__SHLIBVERSIONFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$__SHLIBVERSIONFLAGS</envar></link>"> +<!ENTITY cv-link-_APPLELINK_COMPATIBILITY_VERSION "<link linkend='cv-_APPLELINK_COMPATIBILITY_VERSION' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$_APPLELINK_COMPATIBILITY_VERSION</envar></link>"> +<!ENTITY cv-link-APPLELINK_COMPATIBILITY_VERSION "<link linkend='cv-APPLELINK_COMPATIBILITY_VERSION' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$APPLELINK_COMPATIBILITY_VERSION</envar></link>"> +<!ENTITY cv-link-_APPLELINK_CURRENT_VERSION "<link linkend='cv-_APPLELINK_CURRENT_VERSION' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$_APPLELINK_CURRENT_VERSION</envar></link>"> +<!ENTITY cv-link-APPLELINK_CURRENT_VERSION "<link linkend='cv-APPLELINK_CURRENT_VERSION' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$APPLELINK_CURRENT_VERSION</envar></link>"> +<!ENTITY cv-link-APPLELINK_NO_COMPATIBILITY_VERSION "<link linkend='cv-APPLELINK_NO_COMPATIBILITY_VERSION' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$APPLELINK_NO_COMPATIBILITY_VERSION</envar></link>"> +<!ENTITY cv-link-APPLELINK_NO_CURRENT_VERSION "<link linkend='cv-APPLELINK_NO_CURRENT_VERSION' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$APPLELINK_NO_CURRENT_VERSION</envar></link>"> <!ENTITY cv-link-AR "<link linkend='cv-AR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$AR</envar></link>"> <!ENTITY cv-link-ARCHITECTURE "<link linkend='cv-ARCHITECTURE' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$ARCHITECTURE</envar></link>"> <!ENTITY cv-link-ARCOM "<link linkend='cv-ARCOM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$ARCOM</envar></link>"> @@ -861,6 +878,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-link-JAVAHCOM "<link linkend='cv-JAVAHCOM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$JAVAHCOM</envar></link>"> <!ENTITY cv-link-JAVAHCOMSTR "<link linkend='cv-JAVAHCOMSTR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$JAVAHCOMSTR</envar></link>"> <!ENTITY cv-link-JAVAHFLAGS "<link linkend='cv-JAVAHFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$JAVAHFLAGS</envar></link>"> +<!ENTITY cv-link-JAVAINCLUDES "<link linkend='cv-JAVAINCLUDES' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$JAVAINCLUDES</envar></link>"> <!ENTITY cv-link-JAVASOURCEPATH "<link linkend='cv-JAVASOURCEPATH' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$JAVASOURCEPATH</envar></link>"> <!ENTITY cv-link-JAVASUFFIX "<link linkend='cv-JAVASUFFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$JAVASUFFIX</envar></link>"> <!ENTITY cv-link-JAVAVERSION "<link linkend='cv-JAVAVERSION' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$JAVAVERSION</envar></link>"> @@ -885,6 +903,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-link-LEXCOM "<link linkend='cv-LEXCOM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$LEXCOM</envar></link>"> <!ENTITY cv-link-LEXCOMSTR "<link linkend='cv-LEXCOMSTR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$LEXCOMSTR</envar></link>"> <!ENTITY cv-link-LEXFLAGS "<link linkend='cv-LEXFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$LEXFLAGS</envar></link>"> +<!ENTITY cv-link-LEXUNISTD "<link linkend='cv-LEXUNISTD' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$LEXUNISTD</envar></link>"> <!ENTITY cv-link-_LIBDIRFLAGS "<link linkend='cv-_LIBDIRFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$_LIBDIRFLAGS</envar></link>"> <!ENTITY cv-link-LIBDIRPREFIX "<link linkend='cv-LIBDIRPREFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$LIBDIRPREFIX</envar></link>"> <!ENTITY cv-link-LIBDIRSUFFIX "<link linkend='cv-LIBDIRSUFFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$LIBDIRSUFFIX</envar></link>"> @@ -1125,8 +1144,8 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-link-_SHLIBSONAME "<link linkend='cv-_SHLIBSONAME' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$_SHLIBSONAME</envar></link>"> <!ENTITY cv-link-SHLIBSUFFIX "<link linkend='cv-SHLIBSUFFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHLIBSUFFIX</envar></link>"> <!ENTITY cv-link-SHLIBVERSION "<link linkend='cv-SHLIBVERSION' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHLIBVERSION</envar></link>"> -<!ENTITY cv-link-SHLIBVERSIONFLAGS "<link linkend='cv-SHLIBVERSIONFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHLIBVERSIONFLAGS</envar></link>"> <!ENTITY cv-link-_SHLIBVERSIONFLAGS "<link linkend='cv-_SHLIBVERSIONFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$_SHLIBVERSIONFLAGS</envar></link>"> +<!ENTITY cv-link-SHLIBVERSIONFLAGS "<link linkend='cv-SHLIBVERSIONFLAGS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHLIBVERSIONFLAGS</envar></link>"> <!ENTITY cv-link-SHLINK "<link linkend='cv-SHLINK' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHLINK</envar></link>"> <!ENTITY cv-link-SHLINKCOM "<link linkend='cv-SHLINKCOM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHLINKCOM</envar></link>"> <!ENTITY cv-link-SHLINKCOMSTR "<link linkend='cv-SHLINKCOMSTR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$SHLINKCOMSTR</envar></link>"> @@ -1165,7 +1184,9 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-link-TARGET_OS "<link linkend='cv-TARGET_OS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$TARGET_OS</envar></link>"> <!ENTITY cv-link-TARGETS "<link linkend='cv-TARGETS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$TARGETS</envar></link>"> <!ENTITY cv-link-TARSUFFIX "<link linkend='cv-TARSUFFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$TARSUFFIX</envar></link>"> +<!ENTITY cv-link-TEMPFILEARGJOIN "<link linkend='cv-TEMPFILEARGJOIN' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$TEMPFILEARGJOIN</envar></link>"> <!ENTITY cv-link-TEMPFILEPREFIX "<link linkend='cv-TEMPFILEPREFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$TEMPFILEPREFIX</envar></link>"> +<!ENTITY cv-link-TEMPFILESUFFIX "<link linkend='cv-TEMPFILESUFFIX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$TEMPFILESUFFIX</envar></link>"> <!ENTITY cv-link-TEX "<link linkend='cv-TEX' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$TEX</envar></link>"> <!ENTITY cv-link-TEXCOM "<link linkend='cv-TEXCOM' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$TEXCOM</envar></link>"> <!ENTITY cv-link-TEXCOMSTR "<link linkend='cv-TEXCOMSTR' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$TEXCOMSTR</envar></link>"> @@ -1213,6 +1234,7 @@ THIS IS AN AUTOMATICALLY-GENERATED FILE. DO NOT EDIT. <!ENTITY cv-link-X_RPM_EPOCH "<link linkend='cv-X_RPM_EPOCH' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$X_RPM_EPOCH</envar></link>"> <!ENTITY cv-link-X_RPM_EXCLUDEARCH "<link linkend='cv-X_RPM_EXCLUDEARCH' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$X_RPM_EXCLUDEARCH</envar></link>"> <!ENTITY cv-link-X_RPM_EXLUSIVEARCH "<link linkend='cv-X_RPM_EXLUSIVEARCH' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$X_RPM_EXLUSIVEARCH</envar></link>"> +<!ENTITY cv-link-X_RPM_EXTRADEFS "<link linkend='cv-X_RPM_EXTRADEFS' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$X_RPM_EXTRADEFS</envar></link>"> <!ENTITY cv-link-X_RPM_GROUP "<link linkend='cv-X_RPM_GROUP' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$X_RPM_GROUP</envar></link>"> <!ENTITY cv-link-X_RPM_GROUP_lang "<link linkend='cv-X_RPM_GROUP_lang' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$X_RPM_GROUP_lang</envar></link>"> <!ENTITY cv-link-X_RPM_ICON "<link linkend='cv-X_RPM_ICON' xmlns='http://www.scons.org/dbxsd/v1.0'><envar>$X_RPM_ICON</envar></link>"> 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 @@ <?xml version='1.0'?>
<!--
- 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/html.xsl b/doc/man/html.xsl index ac92faf..9594da8 100644 --- a/doc/man/html.xsl +++ b/doc/man/html.xsl @@ -1,7 +1,7 @@ <?xml version='1.0'?>
<!--
- 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/pdf.xsl b/doc/man/pdf.xsl index b066e34..a3def70 100644 --- a/doc/man/pdf.xsl +++ b/doc/man/pdf.xsl @@ -1,7 +1,7 @@ <?xml version='1.0'?>
<!--
- 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/scons-time.xml b/doc/man/scons-time.xml index 9dd4e73..7251c9f 100644 --- a/doc/man/scons-time.xml +++ b/doc/man/scons-time.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- - 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 @@ -32,8 +32,8 @@ <refmeta> <refentrytitle>SCONS-TIME</refentrytitle> <manvolnum>1</manvolnum> -<refmiscinfo class='source'>SCons 3.0.0</refmiscinfo> -<refmiscinfo class='manual'>SCons 3.0.0</refmiscinfo> +<refmiscinfo class='source'>SCons 3.1.0</refmiscinfo> +<refmiscinfo class='manual'>SCons 3.1.0</refmiscinfo> </refmeta> <refnamediv id='name'> <refname>scons-time</refname> diff --git a/doc/man/scons.xml b/doc/man/scons.xml index aabd957..dd9fbdd 100644 --- a/doc/man/scons.xml +++ b/doc/man/scons.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- - 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 @@ -54,10 +54,10 @@ <corpauthor>Steven Knight and the SCons Development Team</corpauthor> - <pubdate>2004 - 2016</pubdate> + <pubdate>2004 - 2019</pubdate> <copyright> - <year>2004 - 2016</year> + <year>2004 - 2019</year> <holder>The SCons Foundation</holder> </copyright> @@ -75,8 +75,8 @@ <refmeta> <refentrytitle>SCONS</refentrytitle> <manvolnum>1</manvolnum> -<refmiscinfo class='source'>SCons 3.0.0</refmiscinfo> -<refmiscinfo class='manual'>SCons 3.0.0</refmiscinfo> +<refmiscinfo class='source'>SCons 3.1.0</refmiscinfo> +<refmiscinfo class='manual'>SCons 3.1.0</refmiscinfo> </refmeta> <refnamediv id='name'> <refname>scons</refname> @@ -105,8 +105,11 @@ rebuild them.</para> searches for a file named <emphasis>SConstruct</emphasis>, <emphasis>Sconstruct</emphasis>, +<emphasis>sconstruct</emphasis>, +<emphasis>SConstruct.py</emphasis> +<emphasis>Sconstruct.py</emphasis> or -<emphasis>sconstruct</emphasis> +<emphasis>sconstruct.py</emphasis> (in that order) in the current directory and reads its configuration from the first file found. An alternate file name may be @@ -271,7 +274,7 @@ scons <para>will build all target files in or below the current directory. Explicit default targets (to be built when no targets are specified on the command line) -may be defined the SConscript file(s) +may be defined in the SConscript file(s) using the <emphasis role="bold">Default()</emphasis> function, described below.</para> @@ -426,7 +429,7 @@ try to access a list member that does not exist.</para> <para><command>scons</command> -requires Python version 2.7 or later. +requires either Python 2.7 or Python 3.5 or higher. There should be no other dependencies or requirements to run <emphasis role="bold">scons.</emphasis></para> @@ -635,8 +638,11 @@ yet have any results in the cache.</para> before searching for the <emphasis>SConstruct</emphasis>, <emphasis>Sconstruct</emphasis>, +<emphasis>sconstruct</emphasis>, +<emphasis>SConstruct.py</emphasis> +<emphasis>Sconstruct.py</emphasis> or -<emphasis>sconstruct</emphasis> +<emphasis>sconstruct.py</emphasis> file, or doing anything else. Multiple <option>-C</option> @@ -649,8 +655,11 @@ equivalent to except that it will search for <emphasis>SConstruct</emphasis>, <emphasis>Sconstruct</emphasis>, +<emphasis>sconstruct</emphasis>, +<emphasis>SConstruct.py</emphasis> +<emphasis>Sconstruct.py</emphasis> or -<emphasis>sconstruct</emphasis> +<emphasis>sconstruct.py</emphasis> in the specified directory.)</para> <!-- .TP --> @@ -853,14 +862,31 @@ and ultimately removed.</para> <varlistentry> <term>--debug=time</term> <listitem> -<para>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. +<para>Prints various time profiling information:</para> + <itemizedlist> + <listitem> +<para>The time spent executing each individual build command</para> + </listitem> + <listitem> +<para>The total build time (time SCons ran from beginning to end)</para> + </listitem> + <listitem> +<para>The total time spent reading and executing SConscript files</para> + </listitem> + <listitem> +<para>The total time spent SCons itself spend running +(that is, not counting reading and executing SConscript files)</para> + </listitem> + <listitem> +<para>The total time spent executing all build commands</para></listitem> +<listitem> +<para>The elapsed wall-clock time spent executing those build commands</para> + </listitem> + <listitem> +<para>The time spent processing each file passed to the <emphasis>SConscript()</emphasis> function</para> + </listitem> + </itemizedlist> +<para> (When <command>scons</command> 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.)</para> +should take place in parallel.) +</para> </listitem> </varlistentry> @@ -970,6 +997,12 @@ the mechanisms in the specified order.</para> </listitem> </varlistentry> <varlistentry> + <term>--enable-virtualenv</term> + <listitem> +<para>Import virtualenv-related variables to SCons.</para> + </listitem> + </varlistentry> + <varlistentry> <term>-f<emphasis> file</emphasis>, --file=<emphasis>file</emphasis>, --makefile=<emphasis>file</emphasis>, --sconstruct=<emphasis>file</emphasis></term> <listitem> <para>Use @@ -1024,6 +1057,12 @@ are used, the directories are searched in the order specified.</para> </listitem> </varlistentry> + <varlistentry> + <term>--ignore-virtualenv</term> + <listitem> +<para>Suppress importing virtualenv-related variables to SCons.</para> + </listitem> + </varlistentry> <varlistentry> <term>--implicit-cache</term> <listitem> @@ -1640,9 +1679,12 @@ scons --tree=all,prune,status target <listitem> <para>Walks up the directory structure until an <emphasis>SConstruct ,</emphasis> -<emphasis>Sconstruct</emphasis> +<emphasis>Sconstruct ,</emphasis> +<emphasis>sconstruct ,</emphasis> +<emphasis>SConstruct.py</emphasis> +<emphasis>Sconstruct.py</emphasis> or -<emphasis>sconstruct</emphasis> +<emphasis>sconstruct.py</emphasis> file is found, and uses that as the top of the directory tree. If no targets are specified on the command line, @@ -1866,26 +1908,6 @@ These warnings are enabled by default.</para> </listitem> </varlistentry> <varlistentry> - <term>--warn=no-md5-module, --warn=no-no-md5-module</term> - <listitem> -<para>Enables or disables warnings about the version of Python -not having an MD5 checksum module available. -These warnings are enabled by default.</para> - - </listitem> - </varlistentry> - <varlistentry> - <term>--warn=no-metaclass-support, --warn=no-no-metaclass-support</term> - <listitem> -<para>Enables or disables warnings about the version of Python -not supporting metaclasses when the -<option>--debug=memoizer</option> -option is used. -These warnings are enabled by default.</para> - - </listitem> - </varlistentry> - <varlistentry> <term>--warn=no-object-count, --warn=no-no-object-count</term> <listitem> <para>Enables or disables warnings about the @@ -2021,7 +2043,7 @@ env['BAR'] = 'bar' construction variables may also be set or modified by the <emphasis>parse_flags</emphasis> keyword argument, which applies the -<emphasis role="bold">ParseFlags</emphasis> +&f-link-env-MergeFlags; method (described below) to the argument value after all other processing is completed. This is useful either if the exact content of the flags is unknown @@ -2029,7 +2051,7 @@ This is useful either if the exact content of the flags is unknown or if the flags are distributed to a number of construction variables.</para> <literallayout class="monospaced"> -env = Environment(parse_flags = '-Iinclude -DEBUG -lm') +env = Environment(parse_flags='-Iinclude -DEBUG -lm') </literallayout> <para>This example adds 'include' to @@ -2299,12 +2321,12 @@ that are not absolute path names <emphasis role="bold">/</emphasis> on POSIX systems or -<emphasis role="bold">\fR +<emphasis role="bold">\</emphasis> on Windows systems, with or without an optional drive letter) are interpreted relative to the directory containing the -SConscript</emphasis> +<emphasis role="bold">SConscript</emphasis> file being read. An initial <emphasis role="bold">#</emphasis> @@ -2417,10 +2439,14 @@ see the descriptions of these variables, below, for more information.)</para> <para>It is also possible to use the <emphasis>parse_flags</emphasis> -keyword argument in an override:</para> +keyword argument in an override, +to merge command-line style arguments +into the appropriate construction variables +(see &f-link-env-MergeFlags;). +</para> <literallayout class="monospaced"> -env = Program('hello', 'hello.c', parse_flags = '-Iinclude -DEBUG -lm') +env = Program('hello', 'hello.c', parse_flags='-Iinclude -DEBUG -lm') </literallayout> <para>This example adds 'include' to @@ -2992,7 +3018,7 @@ function to get at the path name for each Node.</para> <literallayout class="monospaced"> 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!") </literallayout> </listitem> @@ -3006,13 +3032,13 @@ list change on on each successive call to the function:</para> <literallayout class="monospaced"> -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 [] </literallayout> <para>Consequently, be sure to use @@ -4056,7 +4082,9 @@ and return -1, 0 or 1 (like the standard Python <emphasis>cmp</emphasis> -function).</para> +function). + +Optionally a Boolean value of True for <emphasis>sort</emphasis> will cause a standard alphabetical sort to be performed</para> <literallayout class="monospaced"> Help(vars.GenerateHelpText(env)) @@ -5255,11 +5283,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:</para> +via the built-in Python <function>str</function> function:</para> <literallayout class="monospaced"> target_file_name = str(target) -source_file_names = map(lambda x: str(x), source) +source_file_names = [str(x) for x in source] </literallayout> <para>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 @@ <?xml version="1.0"?> <!-- - 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/sconsign.xml b/doc/man/sconsign.xml index baa15e1..f70bb62 100644 --- a/doc/man/sconsign.xml +++ b/doc/man/sconsign.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- - 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 @@ -25,59 +25,66 @@ --> <!-- lifted from troff+man by doclifter --> -<refentry id='sconsign1' +<refentry id='sconsign1' xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd"> <refmeta> <refentrytitle>SCONSIGN</refentrytitle> <manvolnum>1</manvolnum> -<refmiscinfo class='source'>SCons 3.0.0</refmiscinfo> -<refmiscinfo class='manual'>SCons 3.0.0</refmiscinfo> +<refmiscinfo class='source'>SCons 3.1.0</refmiscinfo> +<refmiscinfo class='manual'>SCons 3.1.0</refmiscinfo> </refmeta> <refnamediv id='name'> <refname>sconsign</refname> -<refpurpose>print SCons .sconsign file information</refpurpose> +<refpurpose>print SCons signature file information</refpurpose> </refnamediv> <!-- body begins here --> <refsynopsisdiv id='synopsis'> <cmdsynopsis> - <command>sconsign</command> + <command>sconsign</command> <arg choice='opt' rep='repeat'><replaceable>options</replaceable></arg> - <arg choice='plain'><replaceable>file</replaceable></arg> - <arg choice='opt'><replaceable>...</replaceable></arg> + <arg choice='opt' rep='repeat'><replaceable>file</replaceable></arg> </cmdsynopsis> </refsynopsisdiv> <refsect1 id='description'><title>DESCRIPTION</title> -<para>The +<para>The <command>sconsign</command> command -displays the contents of one or more -<markup>.sconsign</markup> +displays the contents of one or more signature +("<markup>sconsign</markup>") files specified by the user.</para> <para>By default, <command>sconsign</command> dumps the entire contents of the specified file(s). -Each entry is printed in the following format:</para> +Without the verbose option, +each entry is printed in the following format:</para> -<para> file: signature timestamp length - implicit_dependency_1: signature timestamp length - implicit_dependency_2: signature timestamp length - action_signature [action string]</para> +<literallayout class="monospaced"> +file: signature timestamp length + implicit_dependency_1: signature timestamp length + implicit_dependency_2: signature timestamp length + ... + action_signature [action string] +</literallayout> <para><emphasis role="bold">None</emphasis> is printed -in place of any missing timestamp, bsig, or csig +in place of any missing timestamp, build signature ("bsig"), +or content signature ("csig") values for any entry or any of its dependencies. If the entry has no implicit dependencies, or no build action, -the lines are simply omitted.</para> +the lines are simply omitted. +The verbose option expands the display into a more human +readable format. +</para> <para>By default, <command>sconsign</command> @@ -90,22 +97,34 @@ signature entries for more than one directory (that is, was specified by the -<emphasis role="bold">SConsignFile ()</emphasis> +<emphasis role="bold">SConsignFile</emphasis> function). Any <emphasis>file</emphasis> -argument that does not end in -<markup>.dbm</markup> +argument that ends in +<markup>.dblite</markup> is assumed to be a traditional <markup>.sconsign</markup> file containing the signature entries for a single directory. -An explicit format +If neither of those is true, +<command>sconsign</command> +attempts to guess the format. +If that does not work, +an explicit format may be specified using the <option>-f</option> or -<option>--file=</option> -options.</para> +<option>--format=</option> +options. +</para> +<para> +If there are no +<emphasis>file</emphasis> +arguments, the name +<filename>.sconsign.dblite</filename> +is assumed. +</para> </refsect1> @@ -171,7 +190,7 @@ Legal values are <emphasis role="bold">dbm</emphasis> (the DBM format used when the -<emphasis role="bold">SConsignFile</emphasis>() +<emphasis role="bold">SConsignFile</emphasis> function is used) or <command>sconsign</command> @@ -193,7 +212,7 @@ file in each directory).</para> <term>-i, --implicit</term> <listitem> <para>Prints the list of cached implicit dependencies -for all entries or the the specified entries.</para> +for all entries or for the specified entries.</para> </listitem> </varlistentry> @@ -202,8 +221,8 @@ for all entries or the the specified entries.</para> <listitem> <para>Prints a pretty-printed representation of the raw Python dictionary that holds -build information about individual entry -(both the entry itself or its implicit dependencies). +build information about individual entries +(both the entry itself and its implicit dependencies). An entry's build action is still printed in its usual format.</para> </listitem> @@ -240,7 +259,8 @@ for all entries or the specified entries.</para> <term>SCONS_LIB_DIR</term> <listitem> <para>Specifies the directory that contains the SCons Python module directory -(e.g. /home/aroach/scons-src-0.01/src/engine). +(e.g. +<filename class='directory'>/home/aroach/scons-src-0.01/src/engine</filename>). on the command line.</para> </listitem> 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 @@ <!-- - 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/acks.xml b/doc/python10/acks.xml index d2e7796..9f7fae5 100644 --- a/doc/python10/acks.xml +++ b/doc/python10/acks.xml @@ -12,7 +12,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/copyright.xml b/doc/python10/copyright.xml index bedd89f..0a99e22 100644 --- a/doc/python10/copyright.xml +++ b/doc/python10/copyright.xml @@ -10,7 +10,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/design.xml b/doc/python10/design.xml index 7c48cf0..4930ad4 100644 --- a/doc/python10/design.xml +++ b/doc/python10/design.xml @@ -12,7 +12,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/future.xml b/doc/python10/future.xml index 35926e1..d3da486 100644 --- a/doc/python10/future.xml +++ b/doc/python10/future.xml @@ -12,7 +12,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/install.xml b/doc/python10/install.xml index d1db496..ad3c166 100644 --- a/doc/python10/install.xml +++ b/doc/python10/install.xml @@ -12,7 +12,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/intro.xml b/doc/python10/intro.xml index 016ce78..7d5a099 100644 --- a/doc/python10/intro.xml +++ b/doc/python10/intro.xml @@ -12,7 +12,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/main.xml b/doc/python10/main.xml index e03d815..aae092d 100644 --- a/doc/python10/main.xml +++ b/doc/python10/main.xml @@ -13,7 +13,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/process.xml b/doc/python10/process.xml index 78c88d9..84fe87e 100644 --- a/doc/python10/process.xml +++ b/doc/python10/process.xml @@ -12,7 +12,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/summary.xml b/doc/python10/summary.xml index 8437591..70186a7 100644 --- a/doc/python10/summary.xml +++ b/doc/python10/summary.xml @@ -12,7 +12,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/reference/Alias.xml b/doc/reference/Alias.xml index 9656c95..b0681fb 100644 --- a/doc/reference/Alias.xml +++ b/doc/reference/Alias.xml @@ -12,7 +12,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/reference/CFile.xml b/doc/reference/CFile.xml index 533ac16..0f50e77 100644 --- a/doc/reference/CFile.xml +++ b/doc/reference/CFile.xml @@ -12,7 +12,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/reference/CXXFile.xml b/doc/reference/CXXFile.xml index b428494..33a1d2b 100644 --- a/doc/reference/CXXFile.xml +++ b/doc/reference/CXXFile.xml @@ -12,7 +12,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/reference/Command.xml b/doc/reference/Command.xml index 513ab5d..c8a056e 100644 --- a/doc/reference/Command.xml +++ b/doc/reference/Command.xml @@ -12,7 +12,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/reference/Install.xml b/doc/reference/Install.xml index 63d3bd0..195afc1 100644 --- a/doc/reference/Install.xml +++ b/doc/reference/Install.xml @@ -12,7 +12,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/reference/InstallAs.xml b/doc/reference/InstallAs.xml index 30e4e76..418bdd9 100644 --- a/doc/reference/InstallAs.xml +++ b/doc/reference/InstallAs.xml @@ -12,7 +12,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/reference/Library.xml b/doc/reference/Library.xml index dd55a9f..54f4055 100644 --- a/doc/reference/Library.xml +++ b/doc/reference/Library.xml @@ -12,7 +12,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/reference/Object.xml b/doc/reference/Object.xml index ff5a8c2..981e70e 100644 --- a/doc/reference/Object.xml +++ b/doc/reference/Object.xml @@ -12,7 +12,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/reference/PCH.xml b/doc/reference/PCH.xml index 42e27dc..604d171 100644 --- a/doc/reference/PCH.xml +++ b/doc/reference/PCH.xml @@ -12,7 +12,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/reference/PDF.xml b/doc/reference/PDF.xml index 0d63f0a..25239ef 100644 --- a/doc/reference/PDF.xml +++ b/doc/reference/PDF.xml @@ -12,7 +12,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/reference/PostScript.xml b/doc/reference/PostScript.xml index a1d351c..559cecb 100644 --- a/doc/reference/PostScript.xml +++ b/doc/reference/PostScript.xml @@ -12,7 +12,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/reference/Program.xml b/doc/reference/Program.xml index 2160317..d4d38de 100644 --- a/doc/reference/Program.xml +++ b/doc/reference/Program.xml @@ -12,7 +12,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/reference/RES.xml b/doc/reference/RES.xml index a720bfe..86fb188 100644 --- a/doc/reference/RES.xml +++ b/doc/reference/RES.xml @@ -12,7 +12,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/reference/SConstruct b/doc/reference/SConstruct index 1134516..95bdf31 100644 --- a/doc/reference/SConstruct +++ b/doc/reference/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/reference/SharedLibrary.xml b/doc/reference/SharedLibrary.xml index 57bd55f..663e8aa 100644 --- a/doc/reference/SharedLibrary.xml +++ b/doc/reference/SharedLibrary.xml @@ -12,7 +12,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/reference/SharedObject.xml b/doc/reference/SharedObject.xml index c109fea..6943de2 100644 --- a/doc/reference/SharedObject.xml +++ b/doc/reference/SharedObject.xml @@ -12,7 +12,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/reference/StaticLibrary.xml b/doc/reference/StaticLibrary.xml index b188664..ba49ee7 100644 --- a/doc/reference/StaticLibrary.xml +++ b/doc/reference/StaticLibrary.xml @@ -12,7 +12,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/reference/StaticObject.xml b/doc/reference/StaticObject.xml index 0486960..af994a0 100644 --- a/doc/reference/StaticObject.xml +++ b/doc/reference/StaticObject.xml @@ -12,7 +12,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/reference/chtml.xsl b/doc/reference/chtml.xsl index 707f4d2..b0a7c9e 100644 --- a/doc/reference/chtml.xsl +++ b/doc/reference/chtml.xsl @@ -1,7 +1,7 @@ <?xml version='1.0'?>
<!--
- 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/reference/copyright.xml b/doc/reference/copyright.xml index e27a1ff..c2687c9 100644 --- a/doc/reference/copyright.xml +++ b/doc/reference/copyright.xml @@ -10,7 +10,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/reference/errors.xml b/doc/reference/errors.xml index 97dbd2b..c941075 100644 --- a/doc/reference/errors.xml +++ b/doc/reference/errors.xml @@ -12,7 +12,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/reference/html.xsl b/doc/reference/html.xsl index 3f0760b..b4f10f5 100644 --- a/doc/reference/html.xsl +++ b/doc/reference/html.xsl @@ -1,7 +1,7 @@ <?xml version='1.0'?>
<!--
- 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/reference/main.xml b/doc/reference/main.xml index 788c967..6b58f58 100644 --- a/doc/reference/main.xml +++ b/doc/reference/main.xml @@ -16,7 +16,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/reference/pdf.xsl b/doc/reference/pdf.xsl index a6d0054..230554a 100644 --- a/doc/reference/pdf.xsl +++ b/doc/reference/pdf.xsl @@ -1,7 +1,7 @@ <?xml version='1.0'?>
<!--
- 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/reference/preface.xml b/doc/reference/preface.xml index 05d5ca4..5ed81db 100644 --- a/doc/reference/preface.xml +++ b/doc/reference/preface.xml @@ -12,7 +12,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/reference/scons_title.xsl b/doc/reference/scons_title.xsl index 130c6a5..21c56da 100644 --- a/doc/reference/scons_title.xsl +++ b/doc/reference/scons_title.xsl @@ -1,7 +1,7 @@ <?xml version="1.0"?> <!-- - 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/scons.mod b/doc/scons.mod index eb45a30..cf46e3b 100644 --- a/doc/scons.mod +++ b/doc/scons.mod @@ -1,6 +1,6 @@ <!-- - Copyright (c) 2001 - 2017 The SCons Foundation + Copyright (c) 2001 - 2019 The SCons Foundation An SCons-specific DTD module, for use with SCons DocBook documentation, that contains names, phrases, acronyms, etc. used @@ -67,6 +67,7 @@ <!ENTITY Action "<classname xmlns='http://www.scons.org/dbxsd/v1.0'>Action</classname>"> <!ENTITY ActionBase "<classname xmlns='http://www.scons.org/dbxsd/v1.0'>ActionBase</classname>"> +<!ENTITY BuildInfo "<classname xmlns='http://www.scons.org/dbxsd/v1.0'>BuildInfo</classname>"> <!ENTITY CommandAction "<classname xmlns='http://www.scons.org/dbxsd/v1.0'>CommandAction</classname>"> <!ENTITY FunctionAction "<classname xmlns='http://www.scons.org/dbxsd/v1.0'>FunctionAction</classname>"> <!ENTITY ListAction "<classname xmlns='http://www.scons.org/dbxsd/v1.0'>ListAction</classname>"> @@ -137,6 +138,9 @@ <!ENTITY SConstruct "<filename xmlns='http://www.scons.org/dbxsd/v1.0'>SConstruct</filename>"> <!ENTITY Sconstruct "<filename xmlns='http://www.scons.org/dbxsd/v1.0'>Sconstruct</filename>"> <!ENTITY sconstruct "<filename xmlns='http://www.scons.org/dbxsd/v1.0'>sconstruct</filename>"> +<!ENTITY SConstruct.py "<filename xmlns='http://www.scons.org/dbxsd/v1.0'>SConstruct.py</filename>"> +<!ENTITY Sconstruct.py "<filename xmlns='http://www.scons.org/dbxsd/v1.0'>Sconstruct.py</filename>"> +<!ENTITY sconstruct.py "<filename xmlns='http://www.scons.org/dbxsd/v1.0'>sconstruct.py</filename>"> <!ENTITY sconsign "<filename xmlns='http://www.scons.org/dbxsd/v1.0'>.sconsign</filename>"> <!ENTITY src "<filename xmlns='http://www.scons.org/dbxsd/v1.0'>src</filename>"> diff --git a/doc/user/README b/doc/user/README index 1718f0e..5433ea2 100644 --- a/doc/user/README +++ b/doc/user/README @@ -1,4 +1,4 @@ -# Copyright (c) 2001 - 2017 The SCons Foundation +# Copyright (c) 2001 - 2019 The SCons Foundation When adding a new file, add it to main.xml and MANIFEST. diff --git a/doc/user/SConstruct b/doc/user/SConstruct index 96d6677..67a3fd5 100644 --- a/doc/user/SConstruct +++ b/doc/user/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/user/actions.xml b/doc/user/actions.xml index 3e60a9f..24ac8cf 100644 --- a/doc/user/actions.xml +++ b/doc/user/actions.xml @@ -22,7 +22,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/user/add-method.xml b/doc/user/add-method.xml index 0d30a48..0b1187c 100644 --- a/doc/user/add-method.xml +++ b/doc/user/add-method.xml @@ -22,7 +22,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/user/alias.xml b/doc/user/alias.xml index fee9dd1..17a1b8f 100644 --- a/doc/user/alias.xml +++ b/doc/user/alias.xml @@ -22,7 +22,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/user/ant.xml b/doc/user/ant.xml index bd35671..ed1aac6 100644 --- a/doc/user/ant.xml +++ b/doc/user/ant.xml @@ -22,7 +22,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/user/build-install.xml b/doc/user/build-install.xml index 845b9e6..07d5397 100644 --- a/doc/user/build-install.xml +++ b/doc/user/build-install.xml @@ -26,7 +26,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 @@ -90,9 +90,8 @@ <title>Installing Python</title> <para> - Because &SCons; is written in Python, - you must obviously have Python installed on your system + you need to have Python installed on your system to use &SCons;. Before you try to install Python, you should check to see if Python is already @@ -102,27 +101,25 @@ or <userinput>python --version</userinput> at your system's command-line prompt. - + For Linux/Unix/MacOS/BSD type systems this looks like: </para> <screen> $ <userinput>python -V</userinput> -Python 2.5.1 +Python 3.7.1 </screen> <para> - - And on a Windows system with Python installed: - + In a cmd shell or PowerShell on a Windows system + (note PoweShell needs it spelled "python.exe" rather than "python"): </para> <screen> C:\><userinput>python -V</userinput> -Python 2.5.1 +Python 3.7.1 </screen> <para> - If Python is not installed on your system, you will see an error message stating something like "command not found" @@ -132,254 +129,70 @@ Python 2.5.1 (on Windows). In that case, you need to install Python before you can install &SCons;. - </para> <para> - The standard location for information about downloading and installing Python is <ulink url="http://www.python.org/download/">http://www.python.org/download/</ulink>. - See that page for information about - how to download and install Python on your system. - + See that page and associated links to get started. </para> <para> + For Linux systems, Python is + almost certainly available as a supported package, possibly + installed by default; this is often preferred to installing + by other means, and is easier than installing from source code. + Many such systems have separate packages for + Python 2 and Python 3. Building from source may still be a + useful option if you need a version that is not offered by + the distribution you are using. + </para> - &SCons; will work with any 2.x version of Python from 2.7 on; - 3.0 and later are not yet supported. + <para> + &SCons; will work with Python 2.7.x or with Python 3.5 or later. If you need to install Python and have a choice, - we recommend using the most recent 2.x Python version available. + we recommend using the most recent Python version available. Newer Pythons have significant improvements that help speed up the performance of &SCons;. - </para> </section> <section> - <title>Installing &SCons; From Pre-Built Packages</title> + <title>Installing &SCons;</title> <para> - - &SCons; comes pre-packaged for installation on a number of systems, - including Linux and Windows systems. - You do not need to read this entire section, - you should need to read only the section - appropriate to the type of system you're running on. - + The canonical way to install &SCons; is from the Python Package + Index (PyPi): </para> - <section> - <title>Installing &SCons; on Red Hat (and Other RPM-based) Linux Systems</title> - - <para> - - &SCons; comes in RPM (Red Hat Package Manager) format, - pre-built and ready to install on Red Hat Linux, - Fedora, - or any other Linux distribution that uses RPM. - Your distribution may - already have an &SCons; RPM built specifically for it; - many do, including SUSE, Mandrake and Fedora. - You can check for the availability of an &SCons; RPM - on your distribution's download servers, - or by consulting an RPM search site like - <ulink url="http://www.rpmfind.net/">http://www.rpmfind.net/</ulink> or - <ulink url="http://rpm.pbone.net/">http://rpm.pbone.net/</ulink>. - - </para> - - <para> - - If your distribution supports installation via - <application>yum</application>, - you should be able to install &SCons; by running: - - </para> - - <screen> -# <userinput>yum install scons</userinput> - </screen> - - <para> - - If your Linux distribution does not already have - a specific &SCons; RPM file, - you can download and install from the - generic RPM provided by the &SCons; project. - This will install the - SCons script(s) in <filename>/usr/bin</filename>, - and the SCons library modules in - <filename>/usr/lib/scons</filename>. - - </para> - - <para> - - To install from the command line, simply download the - appropriate <filename>.rpm</filename> file, - and then run: - - </para> - - <screen> -# <userinput>rpm -Uvh scons-&buildversion;-1.noarch.rpm</userinput> - </screen> - - <para> - - Or, you can use a graphical RPM package manager. - See your package manager application's documentation - for specific instructions about - how to use it to install a downloaded RPM. - - </para> - - </section> - - <section> - <title>Installing &SCons; on Debian Linux Systems</title> - - <para> - - Debian Linux systems use a different package management - format that also makes it very easy to install &SCons;. - - </para> - - <para> - - If your system is connected to the Internet, - you can install the latest official Debian package - by running: - - </para> - - <screen> -# <userinput>apt-get install scons</userinput> - </screen> - - <!-- - - <para> - - Alternatively, - you can download the Debian package built - by the &SCons; project - and install it manually by running: - - </para> - - <screen> -# <userinput>db-XXX scons-*.deb</userinput> - </screen> - - --> - - </section> - - <section> - <title>Installing &SCons; on Windows Systems</title> - - <para> - - &SCons; provides a Windows installer - that makes installation extremely easy. - Download the <filename>scons-&buildversion;.win32.exe</filename> - file from the &SCons; download page at - <ulink url="http://scons.org/pages/download.html">http://scons.org/pages/download.html</ulink>. - 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. - - <!-- - Things are a little more complicated - if you are using the Cygwin version of Python. - This is because Cygwin - tries to make a Windows system look more - POSIX-like (or UNIX-like or Linux-like, if you prefer) - by having the Cygwin utilities, - including Cygwin Python, - interpret file name arguments on the command line - using the forward-slash (<filename>/</filename>) - as the directory separator, - instead of the normal Windows behavior of the - backslash (<filename>\</filename>) as the directory separator. - --> - - </para> - - <!-- - - <section> - <title>Installing &SCons; on Windows Systems Without Cygwin Python</title> - - <para> - - XXX - - </para> - - </section> - - <section> - <title>Installing &SCons; on Windows Systems With Cygwin Python</title> - - <para> - - XXX - - </para> - - </section> - - --> - - <!-- - - XXX - don't have the kinks worked out on how to - get these to display properly in all formats, - so comment them out for now. - - <screenshot> - <mediaobject> - <imageobject> - <imagedata fileref="SCons-win32-install-1.jpg" format="jpg" align="center"> - </imageobject> - </mediaobject> - </screenshot> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata fileref="SCons-win32-install-2.jpg" format="jpg" align="center"> - </imageobject> - </mediaobject> - </screenshot> - - <screenshot> - <mediaobject> - <imageobject> - <imagedata fileref="SCons-win32-install-3.jpg" format="jpg" align="center"> - </imageobject> - </mediaobject> - </screenshot> + <screen> +% <userinput>python -m pip install scons</userinput> + </screen> - <screenshot> - <mediaobject> - <imageobject> - <imagedata fileref="SCons-win32-install-4.jpg" format="jpg" align="center"> - </imageobject> - </mediaobject> - </screenshot> + <para> + If you prefer not to install to the Python system location, + or do not have privileges to do so, you can add a flag to + install to a location specific to your own account: + </para> - --> + <screen> +% <userinput>python -m pip install --user scons</userinput> + </screen> - </section> + <para> + &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, + <filename>pip</filename> has a version option or you can follow + the instructions in the next section. + </para> </section> @@ -387,25 +200,21 @@ Python 2.5.1 <title>Building and Installing &SCons; on Any System</title> <para> - If a pre-built &SCons; package is not available for your system, + and installing using <filename>pip</filename> is not suitable, then you can still easily build and install &SCons; using the native Python <filename>distutils</filename> package. - </para> <para> - The first step is to download either the <filename>scons-&buildversion;.tar.gz</filename> or <filename>scons-&buildversion;.zip</filename>, which are available from the SCons download page at <ulink url="http://www.scons.org/download.html">http://www.scons.org/download.html</ulink>. - </para> <para> - Unpack the archive you downloaded, using a utility like <application>tar</application> 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: - </para> <screen> @@ -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 (<filename>/usr/local/bin</filename> or - <filename>C:\Python25\Scripts</filename>), + <filename>C:\Python27\Scripts</filename>), and will install the &SCons; build engine in the corresponding library directory for the python used (<filename>/usr/local/lib/scons</filename> or - <filename>C:\Python25\scons</filename>). + <filename>C:\Python27\scons</filename>). 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 <filename>/usr/lib/scons-&buildversion;</filename> or - <filename>C:\Python25\scons-&buildversion;</filename> + <filename>C:\Python27\scons-&buildversion;</filename> directory, for example. </para> 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 @@ <!-- - 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/user/builders-commands.xml b/doc/user/builders-commands.xml index 8fa26f6..ccffaf0 100644 --- a/doc/user/builders-commands.xml +++ b/doc/user/builders-commands.xml @@ -22,7 +22,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/user/builders-writing.xml b/doc/user/builders-writing.xml index d26c4c6..c36d468 100644 --- a/doc/user/builders-writing.xml +++ b/doc/user/builders-writing.xml @@ -22,7 +22,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 @@ -812,7 +812,7 @@ env.Foo('file') <scons_example name="builderswriting_MY_EMITTER"> <file name="SConstruct" printme="1"> -bld = Builder(action = 'my_command $SOURCES > $TARGET', +bld = Builder(action = './my_command $SOURCES > $TARGET', suffix = '.foo', src_suffix = '.input', emitter = '$MY_EMITTER') @@ -826,9 +826,6 @@ env2 = Environment(BUILDERS = {'Foo' : bld}, MY_EMITTER = modify2) env1.Foo('file1') env2.Foo('file2') -import os -env1['ENV']['PATH'] = env2['ENV']['PATH'] + os.pathsep + os.getcwd() -env2['ENV']['PATH'] = env2['ENV']['PATH'] + os.pathsep + os.getcwd() </file> <file name="file1.input"> file1.input @@ -848,23 +845,6 @@ cat </scons_example> - <sconstruct> -bld = Builder(action = 'my_command $SOURCES > $TARGET', - suffix = '.foo', - src_suffix = '.input', - emitter = '$MY_EMITTER') -def modify1(target, source, env): - return target, source + ['modify1.in'] -def modify2(target, source, env): - return target, source + ['modify2.in'] -env1 = Environment(BUILDERS = {'Foo' : bld}, - MY_EMITTER = modify1) -env2 = Environment(BUILDERS = {'Foo' : bld}, - MY_EMITTER = modify2) -env1.Foo('file1') -env2.Foo('file2') - </sconstruct> - <para> In this example, the <filename>modify1.in</filename> diff --git a/doc/user/builders.xml b/doc/user/builders.xml index c1af202..873d677 100644 --- a/doc/user/builders.xml +++ b/doc/user/builders.xml @@ -21,7 +21,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/user/caching.xml b/doc/user/caching.xml index db2a469..bf070f9 100644 --- a/doc/user/caching.xml +++ b/doc/user/caching.xml @@ -22,7 +22,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/user/chtml.xsl b/doc/user/chtml.xsl index dafc044..a7b968c 100644 --- a/doc/user/chtml.xsl +++ b/doc/user/chtml.xsl @@ -1,7 +1,7 @@ <?xml version='1.0'?>
<!--
- 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/user/command-line.xml b/doc/user/command-line.xml index 21c17c1..bb1d32b 100644 --- a/doc/user/command-line.xml +++ b/doc/user/command-line.xml @@ -22,7 +22,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 @@ -317,7 +317,7 @@ if not GetOption('help'): import os num_cpu = int(os.environ.get('NUM_CPU', 2)) SetOption('num_jobs', num_cpu) -print("running with -j", GetOption('num_jobs')) +print("running with -j %s"%GetOption('num_jobs')) </file> <file name="foo.in"> foo.in @@ -1863,7 +1863,7 @@ env = Environment(variables = vars, CPPDEFINES={'RELEASE_BUILD' : '${RELEASE}'}) unknown = vars.UnknownVariables() if unknown: - print("Unknown variables:", unknown.keys()) + print("Unknown variables: %s"%unknown.keys()) Exit(1) env.Program('foo.c') </file> @@ -1987,17 +1987,16 @@ foo.c <para> - One of the most basic things you can control - is which targets &SCons; will build by default--that is, + You can control + which targets &SCons; will build by default - that is, when there are no targets specified on the command line. As mentioned previously, &SCons; will normally build every target - in or below the current directory - by default--that is, when you don't + in or below the current directory unless you explicitly specify one or more targets on the command line. Sometimes, however, you may want - to specify explicitly that only + to specify that only certain programs, or programs in certain directories, should be built by default. You do this with the &Default; function: @@ -2193,16 +2192,16 @@ prog2.c <para> &SCons; supports a &DEFAULT_TARGETS; variable - that lets you get at the current list of default targets. + that lets you get at the current list of default targets + specified by calls to the &Default; function or method. The &DEFAULT_TARGETS; variable has two important differences from the &COMMAND_LINE_TARGETS; variable. First, the &DEFAULT_TARGETS; variable is a list of internal &SCons; nodes, so you need to convert the list elements to strings if you want to print them or look for a specific target name. - Fortunately, you can do this easily - by using the Python <function>map</function> function - to run the list through <function>str</function>: + You can do this easily by calling the <function>str</function> + on the elements in a list comprehension: </para> @@ -2210,7 +2209,7 @@ prog2.c <file name="SConstruct" printme="1"> prog1 = Program('prog1.c') Default(prog1) -print("DEFAULT_TARGETS is", map(str, DEFAULT_TARGETS)) +print("DEFAULT_TARGETS is %s" % [str(t) for t in DEFAULT_TARGETS]) </file> <file name="prog1.c"> prog1.c @@ -2234,7 +2233,7 @@ prog1.c <para> Second, - the contents of the &DEFAULT_TARGETS; list change + the contents of the &DEFAULT_TARGETS; list changes in response to calls to the &Default; function, as you can see from the following &SConstruct; file: @@ -2244,10 +2243,10 @@ prog1.c <file name="SConstruct" printme="1"> prog1 = Program('prog1.c') Default(prog1) -print("DEFAULT_TARGETS is now", map(str, DEFAULT_TARGETS)) +print("DEFAULT_TARGETS is now %s" % [str(t) for t in DEFAULT_TARGETS]) prog2 = Program('prog2.c') Default(prog2) -print("DEFAULT_TARGETS is now", map(str, DEFAULT_TARGETS)) +print("DEFAULT_TARGETS is now %s" % [str(t) for t in DEFAULT_TARGETS]) </file> <file name="prog1.c"> prog1.c @@ -2338,7 +2337,7 @@ else: prog1 = Program('prog1.c') Program('prog2.c') Default(prog1) -print("BUILD_TARGETS is", map(str, BUILD_TARGETS)) +print ("BUILD_TARGETS is %s" % [str(t) for t in BUILD_TARGETS]) </file> <file name="prog1.c"> prog1.c @@ -2352,7 +2351,9 @@ prog2.c Notice how the value of &BUILD_TARGETS; changes depending on whether a target is - specified on the command line: + specified on the command line - &BUILD_TARGETS; + takes from &DEFAULT_TARGETS; + only if there are no &COMMAND_LINE_TARGETS;: </para> diff --git a/doc/user/copyright.xml b/doc/user/copyright.xml index 6971581..cc9acac 100644 --- a/doc/user/copyright.xml +++ b/doc/user/copyright.xml @@ -1,44 +1,43 @@ <?xml version='1.0'?> <!DOCTYPE sconsdoc [ - <!ENTITY % scons SYSTEM "../scons.mod"> - %scons; -]> + <!ENTITY % scons SYSTEM "../scons.mod"> + %scons; + ]> <legalnotice xmlns="http://www.scons.org/dbxsd/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0 http://www.scons.org/dbxsd/v1.0/scons.xsd"> -<!-- + <!-- - 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 - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY - KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE - WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY + KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ---> + --> -<blockquote> - <para> + <blockquote> + <para> + SCons User's Guide Copyright (c) 2004-2019 Steven Knight + </para> + </blockquote> - SCons User's Guide Copyright (c) 2004, 2005, 2006, 2007 Steven Knight - - </para> -</blockquote> </legalnotice> diff --git a/doc/user/depends.xml b/doc/user/depends.xml index 29a79a5..bb0a142 100644 --- a/doc/user/depends.xml +++ b/doc/user/depends.xml @@ -22,7 +22,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 @@ -517,8 +517,8 @@ cc -o hello hello.o <scons_example name="depends_function"> <file name="SConstruct" printme="1"> Program('hello.c') -def decide_if_changed(dependency, target, prev_ni): - if self.get_timestamp() != prev_ni.timestamp: +def decide_if_changed(dependency, target, prev_ni, repo_node=None): + if dependency.get_timestamp() != prev_ni.timestamp: dep = str(dependency) tgt = str(target) if specific_part_of_file_has_changed(dep, tgt): @@ -561,6 +561,13 @@ int main() { printf("Hello, world!\n"); } </para> + <para> + The fourth argument <varname>repo_node</varname>, + is the &Node; to use if it is not None when comparing &BuildInfo;. + This is typically only set when the target node only exists in a + &Repository; + </para> + <variablelist> <varlistentry> @@ -571,7 +578,7 @@ int main() { printf("Hello, world!\n"); } The <emphasis>content signature</emphasis>, or MD5 checksum, of the contents of the <varname>dependency</varname> - file the list time the ⌖ was built. + file the last time the ⌖ was built. </para> </listitem> @@ -583,7 +590,7 @@ int main() { printf("Hello, world!\n"); } <listitem> <para> The size in bytes of the <varname>dependency</varname> - file the list time the target was built. + file the last time the target was built. </para> </listitem> @@ -595,7 +602,7 @@ int main() { printf("Hello, world!\n"); } <listitem> <para> The modification time of the <varname>dependency</varname> - file the list time the ⌖ was built. + file the last time the ⌖ was built. </para> </listitem> @@ -637,7 +644,7 @@ int main() { printf("Hello, world!\n"); } <sconstruct> env = Environment() -def config_file_decider(dependency, target, prev_ni): +def config_file_decider(dependency, target, prev_ni, repo_node=None): import os.path # We always have to init the .csig value... diff --git a/doc/user/environments.xml b/doc/user/environments.xml index ea5d472..ede9bc3 100644 --- a/doc/user/environments.xml +++ b/doc/user/environments.xml @@ -22,7 +22,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 @@ -385,9 +385,9 @@ environment, of directory names, suffixes, etc. <para> A &consenv; - is a distinct object creating within + is a distinct object created within a &SConscript; file and - and which contains values that + which contains values that affect how &SCons; decides what action to use to build a target, and even to define which targets @@ -627,7 +627,7 @@ int main() { } <scons_example name="environments_ex6"> <file name="SConstruct" printme="1"> env = Environment() -print("CC is:", env['CC']) +print("CC is: %s"%env['CC']) </file> </scons_example> @@ -721,7 +721,7 @@ for item in sorted(env.Dictionary().items()): <sconstruct> env = Environment() -print("CC is:", env.subst('$CC')) +print("CC is: %s"%env.subst('$CC')) </sconstruct> <para> @@ -738,7 +738,7 @@ print("CC is:", env.subst('$CC')) <sconstruct> env = Environment(CCFLAGS = '-DFOO') -print("CCCOM is:", env['CCCOM']) +print("CCCOM is: %s"%env['CCCOM']) </sconstruct> <para> @@ -764,7 +764,7 @@ scons: `.' is up to date. <sconstruct> env = Environment(CCFLAGS = '-DFOO') -print("CCCOM is:", env.subst('$CCCOM')) +print("CCCOM is: %s"%env.subst('$CCCOM')) </sconstruct> <para> @@ -806,7 +806,7 @@ scons: `.' is up to date. <scons_example name="environments_missing1"> <file name="SConstruct" printme="1"> env = Environment() -print("value is:", env.subst( '->$MISSING<-' )) +print("value is: %s"%env.subst( '->$MISSING<-' )) </file> </scons_example> @@ -834,7 +834,7 @@ print("value is:", env.subst( '->$MISSING<-' )) <file name="SConstruct" printme="1"> AllowSubstExceptions() env = Environment() -print("value is:", env.subst( '->$MISSING<-' )) +print("value is: %s"%env.subst( '->$MISSING<-' )) </file> </scons_example> @@ -854,7 +854,7 @@ print("value is:", env.subst( '->$MISSING<-' )) <file name="SConstruct" printme="1"> AllowSubstExceptions(IndexError, NameError, ZeroDivisionError) env = Environment() -print("value is:", env.subst( '->${1 / 0}<-' )) +print("value is: %s"%env.subst( '->${1 / 0}<-' )) </file> </scons_example> @@ -1216,7 +1216,7 @@ int main() { } <file name="SConstruct" printme="1"> env = Environment() env.Replace(NEW_VARIABLE = 'xyzzy') -print("NEW_VARIABLE =", env['NEW_VARIABLE']) +print("NEW_VARIABLE = %s"%env['NEW_VARIABLE']) </file> </scons_example> @@ -1251,11 +1251,11 @@ print("NEW_VARIABLE =", env['NEW_VARIABLE']) <scons_example name="environments_Replace2"> <file name="SConstruct" printme="1"> env = Environment(CCFLAGS = '-DDEFINE1') -print("CCFLAGS =", env['CCFLAGS']) +print("CCFLAGS = %s"%env['CCFLAGS']) env.Program('foo.c') env.Replace(CCFLAGS = '-DDEFINE2') -print("CCFLAGS =", env['CCFLAGS']) +print("CCFLAGS = %s"%env['CCFLAGS']) env.Program('bar.c') </file> <file name="foo.c"> @@ -1375,7 +1375,7 @@ int main() { } <file name="SConstruct" printme="1"> env = Environment() env.Append(NEW_VARIABLE = 'added') -print("NEW_VARIABLE =", env['NEW_VARIABLE']) +print("NEW_VARIABLE = %s"%env['NEW_VARIABLE']) </file> </scons_example> @@ -1475,7 +1475,7 @@ int main() { } <file name="SConstruct" printme="1"> env = Environment() env.Prepend(NEW_VARIABLE = 'added') -print("NEW_VARIABLE =", env['NEW_VARIABLE']) +print("NEW_VARIABLE = %s"%env['NEW_VARIABLE']) </file> </scons_example> @@ -1630,7 +1630,7 @@ env['ENV']['PATH'] = '/usr/local/bin:/bin:/usr/bin' But doing so makes your &SConscript; file less portable, (although in this case that may not be a huge concern - since the directories you list are likley system-specific, anyway). + since the directories you list are likely system-specific, anyway). </para> diff --git a/doc/user/epub.xsl b/doc/user/epub.xsl index fc95c60..818a874 100644 --- a/doc/user/epub.xsl +++ b/doc/user/epub.xsl @@ -1,7 +1,7 @@ <?xml version='1.0'?>
<!--
- 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/user/errors.xml b/doc/user/errors.xml index 78b4f39..e7e611e 100644 --- a/doc/user/errors.xml +++ b/doc/user/errors.xml @@ -22,7 +22,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/user/example.xml b/doc/user/example.xml index b1453ab..4787595 100644 --- a/doc/user/example.xml +++ b/doc/user/example.xml @@ -22,7 +22,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/user/factories.xml b/doc/user/factories.xml index 916c269..43e417b 100644 --- a/doc/user/factories.xml +++ b/doc/user/factories.xml @@ -22,7 +22,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/user/file-removal.xml b/doc/user/file-removal.xml index bc2d89b..fe38cf7 100644 --- a/doc/user/file-removal.xml +++ b/doc/user/file-removal.xml @@ -22,7 +22,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/user/functions.xml b/doc/user/functions.xml index 6093395..bebc7bf 100644 --- a/doc/user/functions.xml +++ b/doc/user/functions.xml @@ -21,7 +21,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/user/gettext.xml b/doc/user/gettext.xml index 8daf5f9..36f0419 100644 --- a/doc/user/gettext.xml +++ b/doc/user/gettext.xml @@ -22,7 +22,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/user/hierarchy.xml b/doc/user/hierarchy.xml index f65a128..dc07e87 100644 --- a/doc/user/hierarchy.xml +++ b/doc/user/hierarchy.xml @@ -22,7 +22,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/user/html.xsl b/doc/user/html.xsl index 2df2fee..5ff8e53 100644 --- a/doc/user/html.xsl +++ b/doc/user/html.xsl @@ -1,7 +1,7 @@ <?xml version='1.0'?>
<!--
- 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/user/install.xml b/doc/user/install.xml index 7024320..b3cb9dd 100644 --- a/doc/user/install.xml +++ b/doc/user/install.xml @@ -22,7 +22,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/user/java.xml b/doc/user/java.xml index 73afbc7..19b51e8 100644 --- a/doc/user/java.xml +++ b/doc/user/java.xml @@ -21,7 +21,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/user/less-simple.xml b/doc/user/less-simple.xml index c17bdae..e8ff44a 100644 --- a/doc/user/less-simple.xml +++ b/doc/user/less-simple.xml @@ -2,7 +2,7 @@ <!DOCTYPE sconsdoc [ <!ENTITY % scons SYSTEM "../scons.mod"> %scons; - + <!ENTITY % builders-mod SYSTEM "../generated/builders.mod"> %builders-mod; <!ENTITY % functions-mod SYSTEM "../generated/functions.mod"> @@ -21,7 +21,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 @@ -257,7 +257,7 @@ Program('program', Glob('*.c')) (see <xref linkend="chap-variants"></xref>, below) and repositories (see <xref linkend="chap-repositories"></xref>, below), - excluding some files + excluding some files and returning strings rather than Nodes. </para> @@ -311,7 +311,7 @@ Program('hello', ['hello.c']) </para> <important> - + <para> Although &SCons; functions @@ -359,7 +359,7 @@ Program('program2', common_sources + ['program2.c']) <para> One drawback to the use of a Python list - for source files is that + for source files is that each file name must be enclosed in quotes (either single quotes or double quotes). This can get cumbersome and difficult to read @@ -644,4 +644,63 @@ Program('bar', bar_files) </section> + <section> + <title>Overriding construction variables when calling a Builder</title> + + <para> + + It is possible to override or add construction variables + when calling a builder method by passing additional keyword arguments. + These overridden or added variables will only be in effect when + building the target, so they will not affect other parts of the build. + For example, if you want to add additional libraries for just one program: + + </para> + + <programlisting> +env.Program('hello', 'hello.c', LIBS=['gl', 'glut']) + </programlisting> + + <para> + + or generate a shared library with a non-standard suffix: + + </para> + + <programlisting> +env.SharedLibrary('word', 'word.cpp', + SHLIBSUFFIX='.ocx', + LIBSUFFIXES=['.ocx']) + </programlisting> + + <para> + + It is also possible to use the <literal>parse_flags</literal> + keyword argument in an override to merge command-line + style arguments into the appropriate construction + variables (see &f-link-env-MergeFlags;). + + </para> + + <para> + + This example adds 'include' to &cv-link-CPPPATH;, + 'EBUG' to &cv-link-CPPDEFINES;, and 'm' to &cv-link-LIBS;. + + </para> + + <programlisting> +env = Program('hello', 'hello.c', parse_flags='-Iinclude -DEBUG -lm') + </programlisting> + + <para> + + Within the call to the builder action the environment is not cloned, + instead an OverrideEnvironment() is created which is more + light weight than a whole Environment() + + </para> + + </section> + </chapter> diff --git a/doc/user/libraries.xml b/doc/user/libraries.xml index b905923..c6b8069 100644 --- a/doc/user/libraries.xml +++ b/doc/user/libraries.xml @@ -21,7 +21,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/user/main.xml b/doc/user/main.xml index ad2ffe8..01470cc 100644 --- a/doc/user/main.xml +++ b/doc/user/main.xml @@ -1,7 +1,7 @@ <?xml version="1.0"?> <!-- - 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 @@ -74,10 +74,10 @@ <corpauthor>Steven Knight and the SCons Development Team</corpauthor> - <pubdate>2004 - 2017</pubdate> + <pubdate>2004 - 2019</pubdate> <copyright> - <year>2004 - 2017</year> + <year>2004 - 2019</year> <holder>The SCons Foundation</holder> </copyright> diff --git a/doc/user/make.xml b/doc/user/make.xml index 4f1199d..ac6db2b 100644 --- a/doc/user/make.xml +++ b/doc/user/make.xml @@ -21,7 +21,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/user/mergeflags.xml b/doc/user/mergeflags.xml index 36bb061..d802125 100644 --- a/doc/user/mergeflags.xml +++ b/doc/user/mergeflags.xml @@ -21,7 +21,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/user/misc.xml b/doc/user/misc.xml index ed96625..5ade6d3 100644 --- a/doc/user/misc.xml +++ b/doc/user/misc.xml @@ -21,7 +21,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 @@ -268,9 +268,9 @@ hello.c <scons_example name="misc_FindFile1a"> <file name="SConstruct" printme="1"> # one directory -print(FindFile('missing', '.')) +print("%s"%FindFile('missing', '.')) t = FindFile('exists', '.') -print(t.__class__, t) +print("%s %s"%(t.__class__, t)) </file> <file name="exists"> exists @@ -287,7 +287,7 @@ print(t.__class__, t) includes = [ '.', 'include', 'src/include'] headers = [ 'nonesuch.h', 'config.h', 'private.h', 'dist.h'] for hdr in headers: - print('%-12s' % ('%s:' % hdr), FindFile(hdr, includes)) + print('%-12s: %s'%(hdr, FindFile(hdr, includes))) </file> <file name="config.h"> exists @@ -625,4 +625,53 @@ env.Command('directory_build_info', </section> + <section> + <title>Virtual environments (virtualenvs)</title> + + <para> + + Virtualenv is a tool to create isolated Python environments. + A python application (such as SCons) may be executed within + an activated virtualenv. The activation of virtualenv modifies + current environment by defining some virtualenv-specific variables + and modifying search PATH, such that executables installed within + virtualenv's home directory are preferred over the ones installed + outside of it. + + </para> + + <para> + + Normally, SCons uses hard-coded PATH when searching for external + executables, so it always picks-up executables from these pre-defined + locations. This applies also to python interpreter, which is invoked + by some custom SCons tools or test suites. This means, when running + SCons in a virtualenv, an eventual invocation of python interpreter from + SCons script will most probably jump out of virtualenv and execute + python executable found in hard-coded SCons PATH, not the one which is + executing SCons. Some users may consider this as an inconsistency. + + </para> + + <para> + This issue may be overcome by using <literal>--enable-virtualenv</literal> + option. The option automatically imports virtualenv-related environment + variables to all created construction environment <literal>env['ENV']</literal>, + and modifies SCons PATH appropriately to prefer virtualenv's executables. + Setting environment variable <literal>SCONS_ENABLE_VIRTUALENV=1</literal> + will have same effect. If virtualenv support is enabled system-vide + by the environment variable, it may be suppressed with + <literal>--ignore-virtualenv</literal> option. + </para> + + <para> + Inside of SConscript, a global function <literal>Virtualenv</literal> is + available. It returns a path to virtualenv's home directory, or + <literal>None</literal> if SCons is not running from virtualenv. Note, + that this function returns a path even if SCons is run from an + unactivated virtualenv. + </para> + + </section> + </chapter> diff --git a/doc/user/nodes.xml b/doc/user/nodes.xml index e627bba..da1d158 100644 --- a/doc/user/nodes.xml +++ b/doc/user/nodes.xml @@ -21,7 +21,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 @@ -265,8 +265,8 @@ xyzzy = Entry('xyzzy') <file name="SConstruct" printme="1"> object_list = Object('hello.c') program_list = Program(object_list) -print("The object file is:", object_list[0]) -print("The program file is:", program_list[0]) +print("The object file is: %s"%object_list[0]) +print("The program file is: %s"%program_list[0]) </file> <file name="hello.c"> int main() { printf("Hello, world!\n"); } @@ -334,7 +334,7 @@ import os.path program_list = Program('hello.c') program_name = str(program_list[0]) if not os.path.exists(program_name): - print(program_name, "does not exist!") + print("%s does not exist!"%program_name) </file> <file name="hello.c"> int main() { printf("Hello, world!\n"); } diff --git a/doc/user/output.xml b/doc/user/output.xml index cf5776d..db16393 100644 --- a/doc/user/output.xml +++ b/doc/user/output.xml @@ -21,7 +21,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/user/parseconfig.xml b/doc/user/parseconfig.xml index 2367857..096d236 100644 --- a/doc/user/parseconfig.xml +++ b/doc/user/parseconfig.xml @@ -21,7 +21,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/user/parseflags.xml b/doc/user/parseflags.xml index 52cbdd7..26313ce 100644 --- a/doc/user/parseflags.xml +++ b/doc/user/parseflags.xml @@ -21,7 +21,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 @@ -57,7 +57,7 @@ &SCons; construction environments have a &ParseFlags; method that takes a set of typical command-line options - and distrbutes them into the appropriate construction variables. + and distributes them into the appropriate construction variables. Historically, it was created to support the &ParseConfig; method, so it focuses on options used by the GNU Compiler Collection (GCC) for the C and C++ toolchains. diff --git a/doc/user/pdf.xsl b/doc/user/pdf.xsl index 4a81d56..0f797d3 100644 --- a/doc/user/pdf.xsl +++ b/doc/user/pdf.xsl @@ -1,7 +1,7 @@ <?xml version='1.0'?>
<!--
- 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/user/preface.xml b/doc/user/preface.xml index 443bf38..62cd47b 100644 --- a/doc/user/preface.xml +++ b/doc/user/preface.xml @@ -21,7 +21,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/user/python.xml b/doc/user/python.xml index 82443f9..177cb5c 100644 --- a/doc/user/python.xml +++ b/doc/user/python.xml @@ -22,7 +22,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/user/repositories.xml b/doc/user/repositories.xml index 6aae2e3..189a8cd 100644 --- a/doc/user/repositories.xml +++ b/doc/user/repositories.xml @@ -21,7 +21,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/user/run.xml b/doc/user/run.xml index af28868..c9c5c6a 100644 --- a/doc/user/run.xml +++ b/doc/user/run.xml @@ -21,7 +21,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/user/scanners.xml b/doc/user/scanners.xml index 9e3ce99..e1b2249 100644 --- a/doc/user/scanners.xml +++ b/doc/user/scanners.xml @@ -21,7 +21,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 @@ -410,6 +410,59 @@ kscan = Scanner(function = kfile_scan, This is important since many files get scanned in a typical build. </para> - </section> + </section> + + <section> + <title>Using scanners with Builders</title> + + <para> + + One approach for the use of scanners is with builders. + There are two optional parameters we can use with a builder + <literal>source_scanner</literal> and <literal>target_scanner</literal>. + + </para> + + <scons_example name="scanners_builders"> + <file name="SConstruct" printme="1"> + +def kfile_scan(node, env, path, arg): + contents = node.get_text_contents() + return env.File(include_re.findall(contents)) + +kscan = Scanner(function = kfile_scan, + skeys = ['.k'], + path_function = FindPathDirs('KPATH')) + +def build_function(target, source, env): + # Code to build "target" from "source" + return None + +bld = Builder(action = build_function, + suffix = '.foo', + source_scanner = kscan + src_suffix = '.input') +env = Environment(BUILDERS = {'Foo' : bld}) +env.Foo('file') + + </file> + </scons_example> + + <para> + + An emitter function can modify the list of sources or targets + passed to the action function when the builder is triggered. + + </para> + + <para> + + A scanner function will not affect the list of sources or targets + seen by the builder during the build action. The scanner function + will however affect if the builder should be rebuilt (if any of + the files sourced by the scanner have changed for example). + + </para> + </section> </chapter> diff --git a/doc/user/sconf.xml b/doc/user/sconf.xml index d0537cb..b8a903d 100644 --- a/doc/user/sconf.xml +++ b/doc/user/sconf.xml @@ -21,7 +21,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/user/scons_title.xsl b/doc/user/scons_title.xsl index 130c6a5..21c56da 100644 --- a/doc/user/scons_title.xsl +++ b/doc/user/scons_title.xsl @@ -1,7 +1,7 @@ <?xml version="1.0"?> <!-- - 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/user/separate.xml b/doc/user/separate.xml index bac7e4d..26500d6 100644 --- a/doc/user/separate.xml +++ b/doc/user/separate.xml @@ -21,7 +21,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/user/sideeffect.xml b/doc/user/sideeffect.xml index 16dbd08..e630e4f 100644 --- a/doc/user/sideeffect.xml +++ b/doc/user/sideeffect.xml @@ -21,7 +21,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/user/simple.xml b/doc/user/simple.xml index af7868b..43121c0 100644 --- a/doc/user/simple.xml +++ b/doc/user/simple.xml @@ -21,7 +21,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/user/sourcecode.xml b/doc/user/sourcecode.xml index b3c51e4..f7cd492 100644 --- a/doc/user/sourcecode.xml +++ b/doc/user/sourcecode.xml @@ -21,7 +21,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/user/tasks.xml b/doc/user/tasks.xml index 248dcd3..32e575a 100644 --- a/doc/user/tasks.xml +++ b/doc/user/tasks.xml @@ -21,7 +21,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/user/tools.xml b/doc/user/tools.xml index 0c56603..bc9f6b9 100644 --- a/doc/user/tools.xml +++ b/doc/user/tools.xml @@ -21,7 +21,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/user/troubleshoot.xml b/doc/user/troubleshoot.xml index aecac57..606c727 100644 --- a/doc/user/troubleshoot.xml +++ b/doc/user/troubleshoot.xml @@ -21,7 +21,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/user/variables.xml b/doc/user/variables.xml index e0d1d32..b7b8d4e 100644 --- a/doc/user/variables.xml +++ b/doc/user/variables.xml @@ -21,7 +21,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/user/variants.xml b/doc/user/variants.xml index 1944201..8b78c2b 100644 --- a/doc/user/variants.xml +++ b/doc/user/variants.xml @@ -21,7 +21,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 |