summaryrefslogtreecommitdiff
path: root/doc/user
diff options
context:
space:
mode:
Diffstat (limited to 'doc/user')
-rw-r--r--doc/user/README2
-rw-r--r--doc/user/SConstruct2
-rw-r--r--doc/user/actions.xml2
-rw-r--r--doc/user/add-method.xml2
-rw-r--r--doc/user/alias.xml2
-rw-r--r--doc/user/ant.xml2
-rw-r--r--doc/user/build-install.xml4
-rw-r--r--doc/user/builders-built-in.xml2
-rw-r--r--doc/user/builders-commands.xml2
-rw-r--r--doc/user/builders-writing.xml6
-rw-r--r--doc/user/builders.xml2
-rw-r--r--doc/user/caching.xml2
-rw-r--r--doc/user/chtml.xsl2
-rw-r--r--doc/user/command-line.xml16
-rw-r--r--doc/user/copyright.xml2
-rw-r--r--doc/user/depends.xml2
-rw-r--r--doc/user/environments.xml201
-rw-r--r--doc/user/epub.xsl2
-rw-r--r--doc/user/errors.xml2
-rw-r--r--doc/user/example.xml2
-rw-r--r--doc/user/factories.xml2
-rw-r--r--doc/user/file-removal.xml2
-rw-r--r--doc/user/functions.xml2
-rw-r--r--doc/user/gettext.xml2
-rw-r--r--doc/user/hierarchy.xml2
-rw-r--r--doc/user/html.xsl2
-rw-r--r--doc/user/install.xml2
-rw-r--r--doc/user/java.xml2
-rw-r--r--doc/user/less-simple.xml2
-rw-r--r--doc/user/libraries.xml2
-rw-r--r--doc/user/main.xml6
-rw-r--r--doc/user/make.xml2
-rw-r--r--doc/user/mergeflags.xml2
-rw-r--r--doc/user/misc.xml32
-rw-r--r--doc/user/nodes.xml14
-rw-r--r--doc/user/output.xml10
-rw-r--r--doc/user/parseconfig.xml2
-rw-r--r--doc/user/parseflags.xml2
-rw-r--r--doc/user/pdf.xsl2
-rw-r--r--doc/user/preface.xml2
-rw-r--r--doc/user/python.xml2
-rw-r--r--doc/user/repositories.xml2
-rw-r--r--doc/user/run.xml2
-rw-r--r--doc/user/scanners.xml2
-rw-r--r--doc/user/sconf.xml12
-rw-r--r--doc/user/scons_title.xsl2
-rw-r--r--doc/user/separate.xml2
-rw-r--r--doc/user/sideeffect.xml2
-rw-r--r--doc/user/simple.xml8
-rw-r--r--doc/user/sourcecode.xml2
-rw-r--r--doc/user/tasks.xml2
-rw-r--r--doc/user/tools.xml2
-rw-r--r--doc/user/troubleshoot.xml2
-rw-r--r--doc/user/variables.xml2
-rw-r--r--doc/user/variants.xml2
55 files changed, 284 insertions, 115 deletions
diff --git a/doc/user/README b/doc/user/README
index 71b73f9..1718f0e 100644
--- a/doc/user/README
+++ b/doc/user/README
@@ -1,4 +1,4 @@
-# Copyright (c) 2001 - 2016 The SCons Foundation
+# Copyright (c) 2001 - 2017 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 f84e487..96d6677 100644
--- a/doc/user/SConstruct
+++ b/doc/user/SConstruct
@@ -3,7 +3,7 @@
#
#
-# Copyright (c) 2001 - 2016 The SCons Foundation
+# Copyright (c) 2001 - 2017 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 884b1bf..3e60a9f 100644
--- a/doc/user/actions.xml
+++ b/doc/user/actions.xml
@@ -22,7 +22,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 35c412b..0d30a48 100644
--- a/doc/user/add-method.xml
+++ b/doc/user/add-method.xml
@@ -22,7 +22,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 d19ba45..fee9dd1 100644
--- a/doc/user/alias.xml
+++ b/doc/user/alias.xml
@@ -22,7 +22,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 1bf5658..bd35671 100644
--- a/doc/user/ant.xml
+++ b/doc/user/ant.xml
@@ -22,7 +22,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 a69dedf..845b9e6 100644
--- a/doc/user/build-install.xml
+++ b/doc/user/build-install.xml
@@ -26,7 +26,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -289,7 +289,7 @@ Python 2.5.1
that makes installation extremely easy.
Download the <filename>scons-&buildversion;.win32.exe</filename>
file from the &SCons; download page at
- <ulink url="http://www.scons.org/download.php">http://www.scons.org/download.php</ulink>.
+ <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
diff --git a/doc/user/builders-built-in.xml b/doc/user/builders-built-in.xml
index 19a4a93..d64b63d 100644
--- a/doc/user/builders-built-in.xml
+++ b/doc/user/builders-built-in.xml
@@ -22,7 +22,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 1d18db7..8fa26f6 100644
--- a/doc/user/builders-commands.xml
+++ b/doc/user/builders-commands.xml
@@ -22,7 +22,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 a11bc6d..d26c4c6 100644
--- a/doc/user/builders-writing.xml
+++ b/doc/user/builders-writing.xml
@@ -22,7 +22,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -1047,7 +1047,7 @@ def MakeWorkDir(workdir):
<file name="SConscript">
import my_utils
MakeWorkDir('/tmp/work')
-print "build_id=" + my_utils.build_id()
+print("build_id=" + my_utils.build_id())
</file>
</scons_example>
@@ -1060,7 +1060,7 @@ print "build_id=" + my_utils.build_id()
<sconstruct>
import my_utils
-print "build_id=" + my_utils.build_id()
+print("build_id=" + my_utils.build_id())
my_utils.MakeWorkDir('/tmp/work')
</sconstruct>
diff --git a/doc/user/builders.xml b/doc/user/builders.xml
index 3045548..c1af202 100644
--- a/doc/user/builders.xml
+++ b/doc/user/builders.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 cc68fb4..db2a469 100644
--- a/doc/user/caching.xml
+++ b/doc/user/caching.xml
@@ -22,7 +22,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 73b524e..dafc044 100644
--- a/doc/user/chtml.xsl
+++ b/doc/user/chtml.xsl
@@ -1,7 +1,7 @@
<?xml version='1.0'?>
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 b3f8e3e..21c17c1 100644
--- a/doc/user/command-line.xml
+++ b/doc/user/command-line.xml
@@ -22,7 +22,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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", 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:", unknown.keys())
Exit(1)
env.Program('foo.c')
</file>
@@ -1945,7 +1945,7 @@ foo.c
<scons_example name="commandline_COMMAND_LINE_TARGETS">
<file name="SConstruct" printme="1">
if 'bar' in COMMAND_LINE_TARGETS:
- print "Don't forget to copy `bar' to the archive!"
+ print("Don't forget to copy `bar' to the archive!")
Default(Program('foo.c'))
Program('bar.c')
</file>
@@ -2210,7 +2210,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", map(str, DEFAULT_TARGETS))
</file>
<file name="prog1.c">
prog1.c
@@ -2244,10 +2244,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", map(str, DEFAULT_TARGETS))
prog2 = Program('prog2.c')
Default(prog2)
-print "DEFAULT_TARGETS is now", map(str, DEFAULT_TARGETS)
+print("DEFAULT_TARGETS is now", map(str, DEFAULT_TARGETS))
</file>
<file name="prog1.c">
prog1.c
@@ -2338,7 +2338,7 @@ else:
prog1 = Program('prog1.c')
Program('prog2.c')
Default(prog1)
-print "BUILD_TARGETS is", map(str, BUILD_TARGETS)
+print("BUILD_TARGETS is", map(str, BUILD_TARGETS))
</file>
<file name="prog1.c">
prog1.c
diff --git a/doc/user/copyright.xml b/doc/user/copyright.xml
index 604c5df..6971581 100644
--- a/doc/user/copyright.xml
+++ b/doc/user/copyright.xml
@@ -10,7 +10,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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/depends.xml b/doc/user/depends.xml
index 1b48156..29a79a5 100644
--- a/doc/user/depends.xml
+++ b/doc/user/depends.xml
@@ -22,7 +22,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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/environments.xml b/doc/user/environments.xml
index bbe8b07..ea5d472 100644
--- a/doc/user/environments.xml
+++ b/doc/user/environments.xml
@@ -22,7 +22,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -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:", env['CC'])
</file>
</scons_example>
@@ -658,7 +658,7 @@ print "CC is:", env['CC']
env = Environment(FOO = 'foo', BAR = 'bar')
dict = env.Dictionary()
for key in ['OBJSUFFIX', 'LIBSUFFIX', 'PROGSUFFIX']:
- print "key = %s, value = %s" % (key, dict[key])
+ print("key = %s, value = %s" % (key, dict[key]))
</file>
</scons_example>
@@ -695,7 +695,7 @@ for key in ['OBJSUFFIX', 'LIBSUFFIX', 'PROGSUFFIX']:
<sconstruct>
env = Environment()
for item in sorted(env.Dictionary().items()):
- print "construction variable = '%s', value = '%s'" % item
+ print("construction variable = '%s', value = '%s'" % item)
</sconstruct>
</section>
@@ -721,7 +721,7 @@ for item in sorted(env.Dictionary().items()):
<sconstruct>
env = Environment()
-print "CC is:", env.subst('$CC')
+print("CC is:", 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:", 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:", 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&lt;-' )
+print("value is:", env.subst( '->$MISSING&lt;-' ))
</file>
</scons_example>
@@ -834,7 +834,7 @@ print "value is:", env.subst( '->$MISSING&lt;-' )
<file name="SConstruct" printme="1">
AllowSubstExceptions()
env = Environment()
-print "value is:", env.subst( '->$MISSING&lt;-' )
+print("value is:", env.subst( '->$MISSING&lt;-' ))
</file>
</scons_example>
@@ -854,7 +854,7 @@ print "value is:", env.subst( '->$MISSING&lt;-' )
<file name="SConstruct" printme="1">
AllowSubstExceptions(IndexError, NameError, ZeroDivisionError)
env = Environment()
-print "value is:", env.subst( '->${1 / 0}&lt;-' )
+print("value is:", env.subst( '->${1 / 0}&lt;-' ))
</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 =", 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 =", env['CCFLAGS'])
env.Program('foo.c')
env.Replace(CCFLAGS = '-DDEFINE2')
-print "CCFLAGS =", env['CCFLAGS']
+print("CCFLAGS =", 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 =", 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 =", env['NEW_VARIABLE'])
</file>
</scons_example>
@@ -1650,7 +1650,7 @@ if len(sys.argv) &gt; 1:
else:
keys = sorted(os.environ.keys())
for key in keys:
- print " " + key + "=" + os.environ[key]
+ print(" " + key + "=" + os.environ[key])
</file>
</scons_example>
@@ -1765,4 +1765,173 @@ env.AppendENVPath('LIB', '/usr/local/lib')
</section>
+
+ <section id="sect-environment-toolpath">
+ <title>Using the toolpath for external Tools</title>
+
+ <section>
+ <title>The default tool search path</title>
+
+ <para>
+ Normally when using a tool from the construction environment,
+ several different search locations are checked by default.
+ This includes the <literal>Scons/Tools/</literal> directory
+ inbuilt to scons and the directory <literal>site_scons/site_tools</literal>
+ relative to the root SConstruct file.
+ </para>
+
+ <sconstruct>
+# Builtin tool or tool located within site_tools
+env = Environment(tools = ['SomeTool'])
+env.SomeTool(targets, sources)
+
+# The search locations would include by default
+SCons/Tool/SomeTool.py
+SCons/Tool/SomeTool/__init__.py
+./site_scons/site_tools/SomeTool.py
+./site_scons/site_tools/SomeTool/__init__.py
+ </sconstruct>
+
+ </section>
+
+ <section>
+ <title>Providing an external directory to toolpath</title>
+
+ <para>
+ In some cases you may want to specify a different location to search for tools.
+ The Environment constructor contains an option for this called toolpath
+ This can be used to add additional search directories.
+ </para>
+
+ <sconstruct>
+# Tool located within the toolpath directory option
+env = Environment(tools = ['SomeTool'], toolpath = ['/opt/SomeToolPath', '/opt/SomeToolPath2'])
+env.SomeTool(targets, sources)
+
+# The search locations in this example would include:
+/opt/SomeToolPath/SomeTool.py
+/opt/SomeToolPath/SomeTool/__init__.py
+/opt/SomeToolPath2/SomeTool.py
+/opt/SomeToolPath2/SomeTool/__init__.py
+SCons/Tool/SomeTool.py
+SCons/Tool/SomeTool/__init__.py
+./site_scons/site_tools/SomeTool.py
+./site_scons/site_tools/SomeTool/__init__.py
+ </sconstruct>
+
+ </section>
+
+ <section>
+ <title>Nested Tools within a toolpath</title>
+
+ <para>
+ &SCons; 3.0 now supports the ability for a Builder to be located
+ within a sub-directory / sub-package of the toolpath.
+ This is similar to namespacing within python.
+ With nested or namespaced tools we can use the dot notation
+ to specify a sub-directory that the tool is located under.
+ </para>
+
+ <sconstruct>
+# namespaced target
+env = Environment(tools = ['SubDir1.SubDir2.SomeTool'], toolpath = ['/opt/SomeToolPath'])
+env.SomeTool(targets, sources)
+
+# With this example the search locations would include
+/opt/SomeToolPath/SubDir1/SubDir2/SomeTool.py
+/opt/SomeToolPath/SubDir1/SubDir2/SomeTool/__init__.py
+SCons/Tool/SubDir1/SubDir2/SomeTool.py
+SCons/Tool/SubDir1/SubDir2/SomeTool/__init__.py
+./site_scons/site_tools/SubDir1/SubDir2/SomeTool.py
+./site_scons/site_tools/SubDir1/SubDir2/SomeTool/__init__.py
+ </sconstruct>
+
+ <para>
+ For python2 It's important to note when creating tools within sub-directories,
+ there needs to be a __init__.py file within each directory.
+ This file can just be empty.
+ This is the same constraint used by python when loading modules
+ from within sub-directories (packages).
+ For python3 this appears to be no longer a requirement.
+ </para>
+ </section>
+
+ <section>
+ <title>Using sys.path within the toolpath</title>
+
+ <para>
+ If we want to access tools externally to scons on the sys.path
+ (one example would be tools installed via the pip package manager)
+ One way to do this is to use sys.path with the toolpath.
+
+ One thing to watch out for with this approach is that sys.path
+ can sometimes contains paths to .egg files instead of directories.
+ So we need to filter those out with this approach.
+ </para>
+
+ <sconstruct>
+# namespaced target using sys.path within toolpath
+
+searchpaths = []
+for item in sys.path:
+ if os.path.isdir(item): searchpaths.append(item)
+
+env = Environment(tools = ['someinstalledpackage.SomeTool'], toolpath = searchpaths)
+env.SomeTool(targets, sources)
+ </sconstruct>
+
+ <para>
+ By using sys.path with the toolpath argument
+ and by using the nested syntax we can have scons search
+ packages installed via pip for Tools.
+ </para>
+
+<sconstruct>
+# For Windows based on the python version and install directory, this may be something like
+C:\Python35\Lib\site-packages\someinstalledpackage\SomeTool.py
+C:\Python35\Lib\site-packages\someinstalledpackage\SomeTool\__init__.py
+
+# For Linux this could be something like:
+/usr/lib/python3/dist-packages/someinstalledpackage/SomeTool.py
+/usr/lib/python3/dist-packages/someinstalledpackage/SomeTool/__init__.py
+</sconstruct>
+
+ </section>
+
+ <section>
+ <title>Using the &PyPackageDir; function to add to the toolpath</title>
+
+ <para>
+ In some cases you may want to use a tool
+ located within a installed external pip package.
+ This is possible by the use of sys.path with the toolpath.
+ However in that situation you need to provide a prefix to the toolname
+ to indicate where it is located within sys.path
+ </para>
+
+ <sconstruct>
+searchpaths = []
+for item in sys.path:
+ if os.path.isdir(item): searchpaths.append(item)
+env = Environment(tools = ['tools_example.subdir1.subdir2.SomeTool'], toolpath = searchpaths)
+env.SomeTool(targets, sources)
+ </sconstruct>
+
+ <para>
+ To avoid the use of a prefix within the name of the tool or filtering sys.path for directories,
+ we can use the <function>PyPackageDir(modulename)</function> function to locate the directory of the python package.
+ <function>PyPackageDir</function> returns a Dir object which represents the path of the directory
+ for the python package / module specified as a parameter.
+ </para>
+
+ <sconstruct>
+# namespaced target using sys.path
+env = Environment(tools = ['SomeTool'], toolpath = [PyPackageDir('tools_example.subdir1.subdir2')])
+env.SomeTool(targets, sources)
+ </sconstruct>
+
+ </section>
+
+ </section>
+
</chapter>
diff --git a/doc/user/epub.xsl b/doc/user/epub.xsl
index 9b352de..fc95c60 100644
--- a/doc/user/epub.xsl
+++ b/doc/user/epub.xsl
@@ -1,7 +1,7 @@
<?xml version='1.0'?>
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 8028664..78b4f39 100644
--- a/doc/user/errors.xml
+++ b/doc/user/errors.xml
@@ -22,7 +22,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 451f8fc..b1453ab 100644
--- a/doc/user/example.xml
+++ b/doc/user/example.xml
@@ -22,7 +22,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 e3c47b5..916c269 100644
--- a/doc/user/factories.xml
+++ b/doc/user/factories.xml
@@ -22,7 +22,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 19af914..bc2d89b 100644
--- a/doc/user/file-removal.xml
+++ b/doc/user/file-removal.xml
@@ -22,7 +22,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 83a6614..6093395 100644
--- a/doc/user/functions.xml
+++ b/doc/user/functions.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 f8143cc..8daf5f9 100644
--- a/doc/user/gettext.xml
+++ b/doc/user/gettext.xml
@@ -22,7 +22,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 007b4ec..f65a128 100644
--- a/doc/user/hierarchy.xml
+++ b/doc/user/hierarchy.xml
@@ -22,7 +22,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 a0bc9fc..2df2fee 100644
--- a/doc/user/html.xsl
+++ b/doc/user/html.xsl
@@ -1,7 +1,7 @@
<?xml version='1.0'?>
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 c5b9967..7024320 100644
--- a/doc/user/install.xml
+++ b/doc/user/install.xml
@@ -22,7 +22,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 e0beafe..73afbc7 100644
--- a/doc/user/java.xml
+++ b/doc/user/java.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 80d9104..c17bdae 100644
--- a/doc/user/less-simple.xml
+++ b/doc/user/less-simple.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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/libraries.xml b/doc/user/libraries.xml
index b5f9cba..b905923 100644
--- a/doc/user/libraries.xml
+++ b/doc/user/libraries.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 a0eff36..ad2ffe8 100644
--- a/doc/user/main.xml
+++ b/doc/user/main.xml
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 - 2016</pubdate>
+ <pubdate>2004 - 2017</pubdate>
<copyright>
- <year>2004 - 2016</year>
+ <year>2004 - 2017</year>
<holder>The SCons Foundation</holder>
</copyright>
diff --git a/doc/user/make.xml b/doc/user/make.xml
index 74fe9e8..4f1199d 100644
--- a/doc/user/make.xml
+++ b/doc/user/make.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 3fc215b..36bb061 100644
--- a/doc/user/mergeflags.xml
+++ b/doc/user/mergeflags.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 886536f..ed96625 100644
--- a/doc/user/misc.xml
+++ b/doc/user/misc.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -212,7 +212,7 @@ SCons 1.0 or greater required, but you have SCons 0.98.5
<scons_example name="misc_Exit">
<file name="SConstruct" printme="1">
if ARGUMENTS.get('FUTURE'):
- print "The FUTURE option is not supported yet!"
+ print("The FUTURE option is not supported yet!")
Exit(2)
env = Environment()
env.Program('hello.c')
@@ -268,9 +268,9 @@ hello.c
<scons_example name="misc_FindFile1a">
<file name="SConstruct" printme="1">
# one directory
-print FindFile('missing', '.')
+print(FindFile('missing', '.'))
t = FindFile('exists', '.')
-print t.__class__, t
+print(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
@@ -320,7 +320,7 @@ exists
# several directories
includes = [ '.', 'include', 'src/include']
headers = [ 'nonesuch.h', 'config.h', 'private.h', 'dist.h']
-print FindFile(headers, includes)
+print(FindFile(headers, includes))
</file>
<file name="config.h">
exists
@@ -350,9 +350,9 @@ exists
<scons_example name="misc_FindFile1d">
<file name="SConstruct" printme="1">
-print FindFile('multiple', ['sub1', 'sub2', 'sub3'])
-print FindFile('multiple', ['sub2', 'sub3', 'sub1'])
-print FindFile('multiple', ['sub3', 'sub1', 'sub2'])
+print(FindFile('multiple', ['sub1', 'sub2', 'sub3']))
+print(FindFile('multiple', ['sub2', 'sub3', 'sub1']))
+print(FindFile('multiple', ['sub3', 'sub1', 'sub2']))
</file>
<directory name="sub1"></directory>
<file name="sub1/multiple">
@@ -386,8 +386,8 @@ exists
<file name="SConstruct" printme="1">
# Neither file exists, so build will fail
Command('derived', 'leaf', 'cat >$TARGET $SOURCE')
-print FindFile('leaf', '.')
-print FindFile('derived', '.')
+print(FindFile('leaf', '.'))
+print(FindFile('derived', '.'))
</file>
</scons_example>
@@ -399,8 +399,8 @@ print FindFile('derived', '.')
<file name="SConstruct" printme="1">
# Only 'leaf' exists
Command('derived', 'leaf', 'cat >$TARGET $SOURCE')
-print FindFile('leaf', '.')
-print FindFile('derived', '.')
+print(FindFile('leaf', '.'))
+print(FindFile('derived', '.'))
</file>
<file name="leaf">
leaf
@@ -422,7 +422,7 @@ leaf
<file name="SConstruct" printme="1">
# Only 'src/leaf' exists
VariantDir('build', 'src')
-print FindFile('leaf', 'build')
+print(FindFile('leaf', 'build'))
</file>
<directory name="src"></directory>
<file name="src/leaf">
@@ -507,7 +507,7 @@ objects = [
Program(objects)
for object_file in objects:
- print object_file.abspath
+ print(object_file.abspath)
</file>
<file name="prog1.c">
prog1.c
@@ -548,7 +548,7 @@ objects = [
Program(objects)
for object_file in Flatten(objects):
- print object_file.abspath
+ print(object_file.abspath)
</file>
<file name="prog1.c">
prog1.c
diff --git a/doc/user/nodes.xml b/doc/user/nodes.xml
index 20e8eec..e627bba 100644
--- a/doc/user/nodes.xml
+++ b/doc/user/nodes.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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:", object_list[0])
+print("The program file is:", 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(program_name, "does not exist!")
</file>
<file name="hello.c">
int main() { printf("Hello, world!\n"); }
@@ -374,7 +374,7 @@ int main() { printf("Hello, world!\n"); }
<file name="SConstruct" printme="1">
env=Environment(VAR="value")
n=File("foo.c")
-print env.GetBuildPath([n, "sub/dir/$VAR"])
+print(env.GetBuildPath([n, "sub/dir/$VAR"]))
</file>
</scons_example>
@@ -414,8 +414,8 @@ print env.GetBuildPath([n, "sub/dir/$VAR"])
<file name="SConstruct" printme="1">
hello_c = File('hello.c')
contents = hello_c.read()
-print "contents are:"
-print contents
+print("contents are:")
+print(contents)
</file>
<file name="hello.c">
int main() { printf("Hello, world!\n"); }
diff --git a/doc/user/output.xml b/doc/user/output.xml
index 2e7df55..cf5776d 100644
--- a/doc/user/output.xml
+++ b/doc/user/output.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -622,7 +622,7 @@ import atexit
def print_build_failures():
from SCons.Script import GetBuildFailures
for bf in GetBuildFailures():
- print "%s failed: %s" % (bf.node, bf.errstr)
+ print("%s failed: %s" % (bf.node, bf.errstr))
atexit.register(print_build_failures)
</file>
</scons_example>
@@ -701,10 +701,10 @@ def display_build_status():
Here you could do all kinds of complicated things."""
status, failures_message = build_status()
if status == 'failed':
- print "FAILED!!!!" # could display alert, ring bell, etc.
+ print("FAILED!!!!") # could display alert, ring bell, etc.
elif status == 'ok':
- print "Build succeeded."
- print failures_message
+ print("Build succeeded.")
+ print(failures_message)
atexit.register(display_build_status)
</file>
diff --git a/doc/user/parseconfig.xml b/doc/user/parseconfig.xml
index f7fb5cb..2367857 100644
--- a/doc/user/parseconfig.xml
+++ b/doc/user/parseconfig.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 e766b3a..52cbdd7 100644
--- a/doc/user/parseflags.xml
+++ b/doc/user/parseflags.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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/pdf.xsl b/doc/user/pdf.xsl
index d5e1849..4a81d56 100644
--- a/doc/user/pdf.xsl
+++ b/doc/user/pdf.xsl
@@ -1,7 +1,7 @@
<?xml version='1.0'?>
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 50a9e3f..443bf38 100644
--- a/doc/user/preface.xml
+++ b/doc/user/preface.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 9adbf02..82443f9 100644
--- a/doc/user/python.xml
+++ b/doc/user/python.xml
@@ -22,7 +22,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 53a7ca5..6aae2e3 100644
--- a/doc/user/repositories.xml
+++ b/doc/user/repositories.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 3d2f528..af28868 100644
--- a/doc/user/run.xml
+++ b/doc/user/run.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 4bffdba..9e3ce99 100644
--- a/doc/user/scanners.xml
+++ b/doc/user/scanners.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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/sconf.xml b/doc/user/sconf.xml
index ebcbca9..d0537cb 100644
--- a/doc/user/sconf.xml
+++ b/doc/user/sconf.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 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -287,7 +287,7 @@ env = conf.Finish()
<para>
Check the size of a datatype by using the &CheckTypeSize; method:
</para>
-
+
<sconstruct>
env = Environment()
conf = Configure(env)
@@ -295,7 +295,7 @@ int_size = conf.CheckTypeSize('unsigned int')
print 'sizeof unsigned int is', int_size
env = conf.Finish()
</sconstruct>
-
+
<screen>
% <userinput>scons -Q</userinput>
sizeof unsigned int is 4
@@ -456,7 +456,7 @@ env = conf.Finish()
<screen>
% <userinput>scons</userinput>
scons: Reading SConscript file ...
-Checking for MyLibrary... failed
+Checking for MyLibrary... no
MyLibrary is not installed!
</screen>
@@ -470,7 +470,7 @@ MyLibrary is not installed!
<screen>
% <userinput>scons</userinput>
scons: Reading SConscript file ...
-Checking for MyLibrary... failed
+Checking for MyLibrary... yes
scons: done reading SConscript
scons: Building targets ...
.
diff --git a/doc/user/scons_title.xsl b/doc/user/scons_title.xsl
index 2ff38af..130c6a5 100644
--- a/doc/user/scons_title.xsl
+++ b/doc/user/scons_title.xsl
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 10a426b..bac7e4d 100644
--- a/doc/user/separate.xml
+++ b/doc/user/separate.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 e83c086..16dbd08 100644
--- a/doc/user/sideeffect.xml
+++ b/doc/user/sideeffect.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 216bfb2..af7868b 100644
--- a/doc/user/simple.xml
+++ b/doc/user/simple.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -442,11 +442,11 @@ Program('hello.c') # "hello.c" is the source file.
<scons_example name="simple_declarative">
<file name="SConstruct" printme="1">
-print "Calling Program('hello.c')"
+print("Calling Program('hello.c')")
Program('hello.c')
-print "Calling Program('goodbye.c')"
+print("Calling Program('goodbye.c')")
Program('goodbye.c')
-print "Finished calling Program()"
+print("Finished calling Program()")
</file>
<file name="hello.c">
int main() { printf("Hello, world!\n"); }
diff --git a/doc/user/sourcecode.xml b/doc/user/sourcecode.xml
index b9cbde5..b3c51e4 100644
--- a/doc/user/sourcecode.xml
+++ b/doc/user/sourcecode.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 ac1a7ba..248dcd3 100644
--- a/doc/user/tasks.xml
+++ b/doc/user/tasks.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 5206f2e..0c56603 100644
--- a/doc/user/tools.xml
+++ b/doc/user/tools.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 16a9725..aecac57 100644
--- a/doc/user/troubleshoot.xml
+++ b/doc/user/troubleshoot.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 85b9c1d..e0d1d32 100644
--- a/doc/user/variables.xml
+++ b/doc/user/variables.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 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 67bc54b..1944201 100644
--- a/doc/user/variants.xml
+++ b/doc/user/variants.xml
@@ -21,7 +21,7 @@
<!--
- Copyright (c) 2001 - 2016 The SCons Foundation
+ Copyright (c) 2001 - 2017 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the