summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/SConscript2
-rw-r--r--doc/design/scons.mod2
-rw-r--r--doc/developer/architecture.xml2
-rw-r--r--doc/developer/branches.xml2
-rw-r--r--doc/developer/copyright.xml2
-rw-r--r--doc/developer/cycle.xml2
-rw-r--r--doc/developer/main.xml2
-rw-r--r--doc/developer/packaging.xml2
-rw-r--r--doc/developer/preface.xml2
-rw-r--r--doc/developer/sourcetree.xml2
-rw-r--r--doc/developer/testing.xml2
-rw-r--r--doc/man/scons-time.16
-rw-r--r--doc/man/scons.16
-rw-r--r--doc/man/sconsign.16
-rw-r--r--doc/python10/scons.mod2
-rw-r--r--doc/scons.mod2
-rw-r--r--doc/user/MANIFEST1
-rw-r--r--doc/user/README2
-rw-r--r--doc/user/actions.in2
-rw-r--r--doc/user/actions.xml2
-rw-r--r--doc/user/add-method.in4
-rw-r--r--doc/user/add-method.xml4
-rw-r--r--doc/user/alias.in2
-rw-r--r--doc/user/alias.xml2
-rw-r--r--doc/user/ant.in2
-rw-r--r--doc/user/ant.xml2
-rw-r--r--doc/user/build-install.in20
-rw-r--r--doc/user/build-install.xml20
-rw-r--r--doc/user/builders-built-in.in2
-rw-r--r--doc/user/builders-built-in.xml2
-rw-r--r--doc/user/builders-commands.in2
-rw-r--r--doc/user/builders-commands.xml2
-rw-r--r--doc/user/builders-writing.in8
-rw-r--r--doc/user/builders-writing.xml8
-rw-r--r--doc/user/builders.in2
-rw-r--r--doc/user/builders.xml2
-rw-r--r--doc/user/caching.in2
-rw-r--r--doc/user/caching.xml2
-rw-r--r--doc/user/command-line.in32
-rw-r--r--doc/user/command-line.xml32
-rw-r--r--doc/user/copyright.in2
-rw-r--r--doc/user/copyright.xml2
-rw-r--r--doc/user/depends.in10
-rw-r--r--doc/user/depends.xml10
-rw-r--r--doc/user/environments.in8
-rw-r--r--doc/user/environments.xml8
-rw-r--r--doc/user/errors.in2
-rw-r--r--doc/user/errors.xml2
-rw-r--r--doc/user/example.in2
-rw-r--r--doc/user/example.xml2
-rw-r--r--doc/user/factories.in2
-rw-r--r--doc/user/factories.xml2
-rw-r--r--doc/user/file-removal.in2
-rw-r--r--doc/user/file-removal.xml2
-rw-r--r--doc/user/functions.in2
-rw-r--r--doc/user/functions.xml2
-rw-r--r--doc/user/gettext.in351
-rw-r--r--doc/user/gettext.xml334
-rw-r--r--doc/user/hierarchy.in4
-rw-r--r--doc/user/hierarchy.xml4
-rw-r--r--doc/user/install.in2
-rw-r--r--doc/user/install.xml2
-rw-r--r--doc/user/java.in2
-rw-r--r--doc/user/java.xml2
-rw-r--r--doc/user/less-simple.in2
-rw-r--r--doc/user/less-simple.xml2
-rw-r--r--doc/user/libraries.in2
-rw-r--r--doc/user/libraries.xml2
-rw-r--r--doc/user/main.in8
-rw-r--r--doc/user/main.xml8
-rw-r--r--doc/user/make.in2
-rw-r--r--doc/user/make.xml2
-rw-r--r--doc/user/mergeflags.in2
-rw-r--r--doc/user/mergeflags.xml2
-rw-r--r--doc/user/misc.in2
-rw-r--r--doc/user/misc.xml2
-rw-r--r--doc/user/nodes.in2
-rw-r--r--doc/user/nodes.xml2
-rw-r--r--doc/user/output.in2
-rw-r--r--doc/user/output.xml2
-rw-r--r--doc/user/parseconfig.in2
-rw-r--r--doc/user/parseconfig.xml2
-rw-r--r--doc/user/parseflags.in2
-rw-r--r--doc/user/parseflags.xml2
-rw-r--r--doc/user/preface.in2
-rw-r--r--doc/user/preface.xml2
-rw-r--r--doc/user/python.in2
-rw-r--r--doc/user/python.xml2
-rw-r--r--doc/user/repositories.in2
-rw-r--r--doc/user/repositories.xml2
-rw-r--r--doc/user/run.in2
-rw-r--r--doc/user/run.xml2
-rw-r--r--doc/user/scanners.in2
-rw-r--r--doc/user/scanners.xml2
-rw-r--r--doc/user/sconf.in2
-rw-r--r--doc/user/sconf.xml2
-rw-r--r--doc/user/separate.in2
-rw-r--r--doc/user/separate.xml2
-rw-r--r--doc/user/sideeffect.in2
-rw-r--r--doc/user/sideeffect.xml2
-rw-r--r--doc/user/simple.in6
-rw-r--r--doc/user/simple.xml6
-rw-r--r--doc/user/sourcecode.in2
-rw-r--r--doc/user/sourcecode.xml2
-rw-r--r--doc/user/tasks.in2
-rw-r--r--doc/user/tasks.xml2
-rw-r--r--doc/user/tools.in2
-rw-r--r--doc/user/tools.xml2
-rw-r--r--doc/user/troubleshoot.in2
-rw-r--r--doc/user/troubleshoot.xml2
-rw-r--r--doc/user/variables.in2
-rw-r--r--doc/user/variables.xml2
-rw-r--r--doc/user/variants.in2
-rw-r--r--doc/user/variants.xml2
114 files changed, 909 insertions, 175 deletions
diff --git a/doc/SConscript b/doc/SConscript
index 54b620e..1206e6f 100644
--- a/doc/SConscript
+++ b/doc/SConscript
@@ -3,7 +3,7 @@
#
#
-# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.mod b/doc/design/scons.mod
index 33538fb..d059d71 100644
--- a/doc/design/scons.mod
+++ b/doc/design/scons.mod
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
An SCons-specific DTD module, for use with SCons DocBook
documentation, that contains names, phrases, acronyms, etc. used
diff --git a/doc/developer/architecture.xml b/doc/developer/architecture.xml
index c122148..815e478 100644
--- a/doc/developer/architecture.xml
+++ b/doc/developer/architecture.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 b88bccf..afd15b2 100644
--- a/doc/developer/branches.xml
+++ b/doc/developer/branches.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 f89ef84..b658037 100644
--- a/doc/developer/copyright.xml
+++ b/doc/developer/copyright.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 cca4422..f69ed23 100644
--- a/doc/developer/cycle.xml
+++ b/doc/developer/cycle.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 25c56bf..b0677cd 100644
--- a/doc/developer/main.xml
+++ b/doc/developer/main.xml
@@ -2,7 +2,7 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 50d8e7b..ddde2dc 100644
--- a/doc/developer/packaging.xml
+++ b/doc/developer/packaging.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 b61d7b8..01c3e4d 100644
--- a/doc/developer/preface.xml
+++ b/doc/developer/preface.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 305a134..09a2b0c 100644
--- a/doc/developer/sourcetree.xml
+++ b/doc/developer/sourcetree.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 1287e19..006eb6a 100644
--- a/doc/developer/testing.xml
+++ b/doc/developer/testing.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.1 b/doc/man/scons-time.1
index 69db49a..3bb69fd 100644
--- a/doc/man/scons-time.1
+++ b/doc/man/scons-time.1
@@ -1,4 +1,4 @@
-.\" Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+.\" Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
.\"
.\" Permission is hereby granted, free of charge, to any person obtaining
.\" a copy of this software and associated documentation files (the
@@ -19,7 +19,7 @@
.\" OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
.\" WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
.\"
-.\" doc/man/scons-time.1 5357 2011/09/09 21:31:03 bdeegan
+.\" doc/man/scons-time.1 issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo
.\"
.\" ES - Example Start - indents and turns off line fill
.de ES
@@ -98,7 +98,7 @@
[\fB--which=\fIWHICH\fR]
[\fIARGUMENTS\fR]
..
-.TH SCONS-TIME 1 "September 2011"
+.TH SCONS-TIME 1 "August 2012"
.SH NAME
scons-time \- generate and display SCons timing information
'\"==========================================================================
diff --git a/doc/man/scons.1 b/doc/man/scons.1
index bd0d965..8b31ae8 100644
--- a/doc/man/scons.1
+++ b/doc/man/scons.1
@@ -1,4 +1,4 @@
-.\" Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+.\" Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
.\"
.\" Permission is hereby granted, free of charge, to any person obtaining
.\" a copy of this software and associated documentation files (the
@@ -19,9 +19,9 @@
.\" OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
.\" WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
.\"
-.\" doc/man/scons.1 5357 2011/09/09 21:31:03 bdeegan
+.\" doc/man/scons.1 issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo
.\"
-.TH SCONS 1 "September 2011"
+.TH SCONS 1 "August 2012"
.\" ES - Example Start - indents and turns off line fill
.rm ES
.de ES
diff --git a/doc/man/sconsign.1 b/doc/man/sconsign.1
index 2cd2fca..ecddcfe 100644
--- a/doc/man/sconsign.1
+++ b/doc/man/sconsign.1
@@ -1,4 +1,4 @@
-.\" Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+.\" Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
.\"
.\" Permission is hereby granted, free of charge, to any person obtaining
.\" a copy of this software and associated documentation files (the
@@ -19,7 +19,7 @@
.\" OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
.\" WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
.\"
-.\" doc/man/sconsign.1 5357 2011/09/09 21:31:03 bdeegan
+.\" doc/man/sconsign.1 issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo
.\"
.\" ES - Example Start - indents and turns off line fill
.de ES
@@ -31,7 +31,7 @@
.RE
.fi
..
-.TH SCONSIGN 1 "September 2011"
+.TH SCONSIGN 1 "August 2012"
.SH NAME
sconsign \- print SCons .sconsign file information
.SH SYNOPSIS
diff --git a/doc/python10/scons.mod b/doc/python10/scons.mod
index bec5425..35cddf8 100644
--- a/doc/python10/scons.mod
+++ b/doc/python10/scons.mod
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
An SCons-specific DTD module, for use with SCons DocBook
documentation, that contains names, phrases, acronyms, etc. used
diff --git a/doc/scons.mod b/doc/scons.mod
index 73ea8f3..0b47854 100644
--- a/doc/scons.mod
+++ b/doc/scons.mod
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
An SCons-specific DTD module, for use with SCons DocBook
documentation, that contains names, phrases, acronyms, etc. used
diff --git a/doc/user/MANIFEST b/doc/user/MANIFEST
index 0994f2b..21c63b0 100644
--- a/doc/user/MANIFEST
+++ b/doc/user/MANIFEST
@@ -18,6 +18,7 @@ example.xml
factories.xml
file-removal.xml
functions.xml
+gettext.xml
hierarchy.xml
install.xml
java.xml
diff --git a/doc/user/README b/doc/user/README
index 7ebdb93..ac28866 100644
--- a/doc/user/README
+++ b/doc/user/README
@@ -1,4 +1,4 @@
-# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
When adding a new file, add it to main.xml and MANIFEST.
diff --git a/doc/user/actions.in b/doc/user/actions.in
index 6634a0d..600d304 100644
--- a/doc/user/actions.in
+++ b/doc/user/actions.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 a3cce98..8523dbe 100644
--- a/doc/user/actions.xml
+++ b/doc/user/actions.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/add-method.in
index 815e0a7..eb5ea91 100644
--- a/doc/user/add-method.in
+++ b/doc/user/add-method.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -65,7 +65,7 @@
<para>
- As mentioned, a psuedo-builder also provides more flexibility
+ As mentioned, a pseudo-builder also provides more flexibility
in parsing arguments than you can get with a &Builder;.
The next example shows a pseudo-builder with a
named argument that modifies the filename, and a separate argument
diff --git a/doc/user/add-method.xml b/doc/user/add-method.xml
index 6cb1a93..ac30feb 100644
--- a/doc/user/add-method.xml
+++ b/doc/user/add-method.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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,7 +64,7 @@
<para>
- As mentioned, a psuedo-builder also provides more flexibility
+ As mentioned, a pseudo-builder also provides more flexibility
in parsing arguments than you can get with a &Builder;.
The next example shows a pseudo-builder with a
named argument that modifies the filename, and a separate argument
diff --git a/doc/user/alias.in b/doc/user/alias.in
index 1fb7e30..bf76e93 100644
--- a/doc/user/alias.in
+++ b/doc/user/alias.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 8888f77..63a6046 100644
--- a/doc/user/alias.xml
+++ b/doc/user/alias.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/ant.in
index 2cc83a3..984bc3f 100644
--- a/doc/user/ant.in
+++ b/doc/user/ant.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 2cc83a3..984bc3f 100644
--- a/doc/user/ant.xml
+++ b/doc/user/ant.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/build-install.in
index aad4a44..7265250 100644
--- a/doc/user/build-install.in
+++ b/doc/user/build-install.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -199,7 +199,7 @@
</para>
<screen>
- # <userinput>rpm -Uvh scons-2.1.0-1.noarch.rpm</userinput>
+ # <userinput>rpm -Uvh scons-2.2.0-1.noarch.rpm</userinput>
</screen>
<para>
@@ -261,7 +261,7 @@
&SCons; provides a Windows installer
that makes installation extremely easy.
- Download the <filename>scons-2.1.0.win32.exe</filename>
+ Download the <filename>scons-2.2.0.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>.
Then all you need to do is execute the file
@@ -371,8 +371,8 @@
<para>
The first step is to download either the
- <filename>scons-2.1.0.tar.gz</filename>
- or <filename>scons-2.1.0.zip</filename>,
+ <filename>scons-2.2.0.tar.gz</filename>
+ or <filename>scons-2.2.0.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>.
@@ -385,7 +385,7 @@
on Linux or UNIX,
or <application>WinZip</application> on Windows.
This will create a directory called
- <filename>scons-2.1.0</filename>,
+ <filename>scons-2.2.0</filename>,
usually in your local directory.
Then change your working directory to that directory
and install &SCons; by executing the following commands:
@@ -393,7 +393,7 @@
</para>
<screen>
- # <userinput>cd scons-2.1.0</userinput>
+ # <userinput>cd scons-2.2.0</userinput>
# <userinput>python setup.py install</userinput>
</screen>
@@ -461,9 +461,9 @@
This will install the &SCons; build engine
in the
- <filename>/usr/lib/scons-2.1.0</filename>
+ <filename>/usr/lib/scons-2.2.0</filename>
or
- <filename>C:\Python25\scons-2.1.0</filename>
+ <filename>C:\Python25\scons-2.2.0</filename>
directory, for example.
</para>
@@ -520,7 +520,7 @@
relative to the specified prefix.
Adding <option>--version-lib</option> to the
above example would install the build engine in
- <filename>/opt/scons/lib/scons-2.1.0</filename>.
+ <filename>/opt/scons/lib/scons-2.2.0</filename>.
</para>
diff --git a/doc/user/build-install.xml b/doc/user/build-install.xml
index aad4a44..7265250 100644
--- a/doc/user/build-install.xml
+++ b/doc/user/build-install.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -199,7 +199,7 @@
</para>
<screen>
- # <userinput>rpm -Uvh scons-2.1.0-1.noarch.rpm</userinput>
+ # <userinput>rpm -Uvh scons-2.2.0-1.noarch.rpm</userinput>
</screen>
<para>
@@ -261,7 +261,7 @@
&SCons; provides a Windows installer
that makes installation extremely easy.
- Download the <filename>scons-2.1.0.win32.exe</filename>
+ Download the <filename>scons-2.2.0.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>.
Then all you need to do is execute the file
@@ -371,8 +371,8 @@
<para>
The first step is to download either the
- <filename>scons-2.1.0.tar.gz</filename>
- or <filename>scons-2.1.0.zip</filename>,
+ <filename>scons-2.2.0.tar.gz</filename>
+ or <filename>scons-2.2.0.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>.
@@ -385,7 +385,7 @@
on Linux or UNIX,
or <application>WinZip</application> on Windows.
This will create a directory called
- <filename>scons-2.1.0</filename>,
+ <filename>scons-2.2.0</filename>,
usually in your local directory.
Then change your working directory to that directory
and install &SCons; by executing the following commands:
@@ -393,7 +393,7 @@
</para>
<screen>
- # <userinput>cd scons-2.1.0</userinput>
+ # <userinput>cd scons-2.2.0</userinput>
# <userinput>python setup.py install</userinput>
</screen>
@@ -461,9 +461,9 @@
This will install the &SCons; build engine
in the
- <filename>/usr/lib/scons-2.1.0</filename>
+ <filename>/usr/lib/scons-2.2.0</filename>
or
- <filename>C:\Python25\scons-2.1.0</filename>
+ <filename>C:\Python25\scons-2.2.0</filename>
directory, for example.
</para>
@@ -520,7 +520,7 @@
relative to the specified prefix.
Adding <option>--version-lib</option> to the
above example would install the build engine in
- <filename>/opt/scons/lib/scons-2.1.0</filename>.
+ <filename>/opt/scons/lib/scons-2.2.0</filename>.
</para>
diff --git a/doc/user/builders-built-in.in b/doc/user/builders-built-in.in
index d16e8c3..877f5c9 100644
--- a/doc/user/builders-built-in.in
+++ b/doc/user/builders-built-in.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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-built-in.xml b/doc/user/builders-built-in.xml
index 39e0533..da07e65 100644
--- a/doc/user/builders-built-in.xml
+++ b/doc/user/builders-built-in.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/builders-commands.in
index 1082058..f5a1fca 100644
--- a/doc/user/builders-commands.in
+++ b/doc/user/builders-commands.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 e3066c6..94709ec 100644
--- a/doc/user/builders-commands.xml
+++ b/doc/user/builders-commands.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/builders-writing.in
index addc837..bb24cf0 100644
--- a/doc/user/builders-writing.in
+++ b/doc/user/builders-writing.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -98,8 +98,8 @@ This functionality could be invoked as in the following example:
<para>
Although &SCons; provides many useful methods
- for building common software products:
- programs, libraries, documents.
+ for building common software products
+ (programs, libraries, documents, etc.),
you frequently want to be
able to build some other type of file
not supported directly by &SCons;.
@@ -109,7 +109,7 @@ This functionality could be invoked as in the following example:
(In fact, the &SCons; interfaces for creating
&Builder; objects are flexible enough and easy enough to use
that all of the the &SCons; built-in &Builder; objects
- are created the mechanisms described in this section.)
+ are created using the mechanisms described in this section.)
</para>
diff --git a/doc/user/builders-writing.xml b/doc/user/builders-writing.xml
index d9bda79..81ccb1d 100644
--- a/doc/user/builders-writing.xml
+++ b/doc/user/builders-writing.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -98,8 +98,8 @@ This functionality could be invoked as in the following example:
<para>
Although &SCons; provides many useful methods
- for building common software products:
- programs, libraries, documents.
+ for building common software products
+ (programs, libraries, documents, etc.),
you frequently want to be
able to build some other type of file
not supported directly by &SCons;.
@@ -109,7 +109,7 @@ This functionality could be invoked as in the following example:
(In fact, the &SCons; interfaces for creating
&Builder; objects are flexible enough and easy enough to use
that all of the the &SCons; built-in &Builder; objects
- are created the mechanisms described in this section.)
+ are created using the mechanisms described in this section.)
</para>
diff --git a/doc/user/builders.in b/doc/user/builders.in
index f2bf36d..5d02924 100644
--- a/doc/user/builders.in
+++ b/doc/user/builders.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.xml b/doc/user/builders.xml
index f2bf36d..5d02924 100644
--- a/doc/user/builders.xml
+++ b/doc/user/builders.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/caching.in
index d60f067..3e4fcf7 100644
--- a/doc/user/caching.in
+++ b/doc/user/caching.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 c3dae0a..b4751a2 100644
--- a/doc/user/caching.xml
+++ b/doc/user/caching.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/command-line.in
index 52a61ac..38bea25 100644
--- a/doc/user/command-line.in
+++ b/doc/user/command-line.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -62,7 +62,7 @@
Any command-line argument containing an <literal>=</literal>
(equal sign) is considered a variable setting with the form
- <varname>variable</varname>=<varname>value</varname>
+ <varname>variable</varname>=<varname>value</varname>.
&SCons; provides direct access to
all of the command-line variable settings,
the ability to apply command-line variable settings
@@ -885,7 +885,7 @@
<scons_example name="Variables1">
<file name="SConstruct" printme="1">
- vars = Variables()
+ vars = Variables(None, ARGUMENTS)
vars.Add('RELEASE', 'Set to 1 to build for release', 0)
env = Environment(variables = vars,
CPPDEFINES={'RELEASE_BUILD' : '${RELEASE}'})
@@ -902,8 +902,9 @@
<para>
This &SConstruct; file first creates a &Variables; object
- (the <literal>vars = Variables()</literal> call),
- and then uses the object's &Add;
+ which uses the values from the command-line options dictionary &ARGUMENTS;
+ (the <literal>vars = Variables(None, ARGUMENTS)</literal> call).
+ It then uses the object's &Add;
method to indicate that the &RELEASE;
variable can be set on the command line,
and that its default value will be <literal>0</literal>
@@ -942,7 +943,7 @@
&PathOption;, &PackageOption; and &AddOptions;.
These older names still work,
and you may encounter them in older
- &SConscript; fles,
+ &SConscript; files,
but they have been officially deprecated
as of &SCons; version 2.0.
@@ -975,7 +976,7 @@
<scons_example name="Variables_Help">
<file name="SConstruct" printme="1">
- vars = Variables('custom.py')
+ vars = Variables(None, ARGUMENTS)
vars.Add('RELEASE', 'Set to 1 to build for release', 0)
env = Environment(variables = vars)
Help(vars.GenerateHelpText(env))
@@ -1098,6 +1099,23 @@
<scons_output_command>scons -Q</scons_output_command>
</scons_output>
+ <para>
+
+ Finally, you can combine both methods with:
+
+ </para>
+
+ <screen>
+ vars = Variables('custom.py', ARGUMENTS)
+ </screen>
+
+ <para>
+
+ where values in the option file &custom_py; get overwritten
+ by the ones specified on the command line.
+
+ </para>
+
</section>
<section>
diff --git a/doc/user/command-line.xml b/doc/user/command-line.xml
index f06442e..a4a6107 100644
--- a/doc/user/command-line.xml
+++ b/doc/user/command-line.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -62,7 +62,7 @@
Any command-line argument containing an <literal>=</literal>
(equal sign) is considered a variable setting with the form
- <varname>variable</varname>=<varname>value</varname>
+ <varname>variable</varname>=<varname>value</varname>.
&SCons; provides direct access to
all of the command-line variable settings,
the ability to apply command-line variable settings
@@ -875,7 +875,7 @@
</para>
<programlisting>
- vars = Variables()
+ vars = Variables(None, ARGUMENTS)
vars.Add('RELEASE', 'Set to 1 to build for release', 0)
env = Environment(variables = vars,
CPPDEFINES={'RELEASE_BUILD' : '${RELEASE}'})
@@ -885,8 +885,9 @@
<para>
This &SConstruct; file first creates a &Variables; object
- (the <literal>vars = Variables()</literal> call),
- and then uses the object's &Add;
+ which uses the values from the command-line options dictionary &ARGUMENTS;
+ (the <literal>vars = Variables(None, ARGUMENTS)</literal> call).
+ It then uses the object's &Add;
method to indicate that the &RELEASE;
variable can be set on the command line,
and that its default value will be <literal>0</literal>
@@ -928,7 +929,7 @@
&PathOption;, &PackageOption; and &AddOptions;.
These older names still work,
and you may encounter them in older
- &SConscript; fles,
+ &SConscript; files,
but they have been officially deprecated
as of &SCons; version 2.0.
@@ -960,7 +961,7 @@
</para>
<programlisting>
- vars = Variables('custom.py')
+ vars = Variables(None, ARGUMENTS)
vars.Add('RELEASE', 'Set to 1 to build for release', 0)
env = Environment(variables = vars)
Help(vars.GenerateHelpText(env))
@@ -1069,6 +1070,23 @@
cc -o foo foo.o bar.o
</screen>
+ <para>
+
+ Finally, you can combine both methods with:
+
+ </para>
+
+ <screen>
+ vars = Variables('custom.py', ARGUMENTS)
+ </screen>
+
+ <para>
+
+ where values in the option file &custom_py; get overwritten
+ by the ones specified on the command line.
+
+ </para>
+
</section>
<section>
diff --git a/doc/user/copyright.in b/doc/user/copyright.in
index 19689fe..5ffe181 100644
--- a/doc/user/copyright.in
+++ b/doc/user/copyright.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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/copyright.xml b/doc/user/copyright.xml
index 19689fe..5ffe181 100644
--- a/doc/user/copyright.xml
+++ b/doc/user/copyright.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/depends.in
index 190670c..95bb1fb 100644
--- a/doc/user/depends.in
+++ b/doc/user/depends.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -593,11 +593,11 @@
<para>
- Another thing to look out for, is the fact that the three
+ Another thing to look out for is the fact that the three
attributes above may not be present at the time of the first run.
- Without any prior build, no targets got created and no
+ Without any prior build, no targets have been created and no
<filename>.sconsign</filename> DB file exists yet.
- So, it is recommended to always check whether the
+ So, you should always check whether the
<varname>prev_ni</varname> attribute in question is available.
</para>
@@ -914,7 +914,7 @@
</section>
- <section id="sect-implicit-dependencies">
+ <section>
<title>Implicit Dependencies: The &cv-CPPPATH; Construction Variable</title>
<para>
diff --git a/doc/user/depends.xml b/doc/user/depends.xml
index 5b19220..b65cea9 100644
--- a/doc/user/depends.xml
+++ b/doc/user/depends.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -589,11 +589,11 @@
<para>
- Another thing to look out for, is the fact that the three
+ Another thing to look out for is the fact that the three
attributes above may not be present at the time of the first run.
- Without any prior build, no targets got created and no
+ Without any prior build, no targets have been created and no
<filename>.sconsign</filename> DB file exists yet.
- So, it is recommended to always check whether the
+ So, you should always check whether the
<varname>prev_ni</varname> attribute in question is available.
</para>
@@ -903,7 +903,7 @@
</section>
- <section id="sect-implicit-dependencies">
+ <section>
<title>Implicit Dependencies: The &cv-CPPPATH; Construction Variable</title>
<para>
diff --git a/doc/user/environments.in b/doc/user/environments.in
index ecfea8a..adb27f7 100644
--- a/doc/user/environments.in
+++ b/doc/user/environments.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -684,7 +684,7 @@ environment, of directory names, suffixes, etc.
<para>
Another way to get information from
- a construction environment.
+ a construction environment
is to use the &subst; method
on a string containing <literal>$</literal> expansions
of construction variable names.
@@ -874,7 +874,7 @@ environment, of directory names, suffixes, etc.
<para>
You can, however, control the settings
- in the default contstruction environment
+ in the default construction environment
by using the &DefaultEnvironment; function
to initialize various settings:
@@ -1095,7 +1095,7 @@ environment, of directory names, suffixes, etc.
</section>
- <section id="sect-clone-environments">
+ <section>
<title>Making Copies of &ConsEnvs;: the &Clone; Method</title>
<para>
diff --git a/doc/user/environments.xml b/doc/user/environments.xml
index 81f43a4..fb771eb 100644
--- a/doc/user/environments.xml
+++ b/doc/user/environments.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -684,7 +684,7 @@ environment, of directory names, suffixes, etc.
<para>
Another way to get information from
- a construction environment.
+ a construction environment
is to use the &subst; method
on a string containing <literal>$</literal> expansions
of construction variable names.
@@ -875,7 +875,7 @@ environment, of directory names, suffixes, etc.
<para>
You can, however, control the settings
- in the default contstruction environment
+ in the default construction environment
by using the &DefaultEnvironment; function
to initialize various settings:
@@ -1089,7 +1089,7 @@ environment, of directory names, suffixes, etc.
</section>
- <section id="sect-clone-environments">
+ <section>
<title>Making Copies of &ConsEnvs;: the &Clone; Method</title>
<para>
diff --git a/doc/user/errors.in b/doc/user/errors.in
index 7e33118..5c13323 100644
--- a/doc/user/errors.in
+++ b/doc/user/errors.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 7e33118..5c13323 100644
--- a/doc/user/errors.xml
+++ b/doc/user/errors.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/example.in
index 7e33118..5c13323 100644
--- a/doc/user/example.in
+++ b/doc/user/example.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 7e33118..5c13323 100644
--- a/doc/user/example.xml
+++ b/doc/user/example.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/factories.in
index da92082..3b0815b 100644
--- a/doc/user/factories.in
+++ b/doc/user/factories.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 7f51c8d..dbb1e18 100644
--- a/doc/user/factories.xml
+++ b/doc/user/factories.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/file-removal.in
index b664ba0..42b59f3 100644
--- a/doc/user/file-removal.in
+++ b/doc/user/file-removal.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 47b081a..9ad3133 100644
--- a/doc/user/file-removal.xml
+++ b/doc/user/file-removal.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/functions.in
index 7c96c54..e933fbd 100644
--- a/doc/user/functions.in
+++ b/doc/user/functions.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 7c96c54..e933fbd 100644
--- a/doc/user/functions.xml
+++ b/doc/user/functions.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/gettext.in
new file mode 100644
index 0000000..da5126d
--- /dev/null
+++ b/doc/user/gettext.in
@@ -0,0 +1,351 @@
+<!--
+
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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:
+
+ 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.
+
+-->
+
+ <para>
+ The &t-link-gettext; toolset supports internationalization and localization
+ of SCons-based projects. Builders provided by &t-link-gettext; automatize
+ generation and updates of translation files. You can manage translations and
+ translation templates similarly to how it's done with autotools.
+ </para>
+
+ <section>
+ <title>Prerequisites</title>
+ <para>
+ To follow examples provided in this chapter set up your operating system to
+ support two or more languages. In following examples we use locales
+ <literal>en_US</literal>, <literal>de_DE</literal>, and
+ <literal>pl_PL</literal>.
+ </para>
+
+ <para>
+ Ensure, that you have <ulink
+ url="http://www.gnu.org/software/gettext/manual/gettext.html">GNU gettext
+ utilities</ulink> installed on your system.
+ </para>
+
+ <para>
+ To edit translation files you may wish to install <ulink
+ url="http://www.poedit.net/">poedit</ulink> editor.
+ </para>
+ </section>
+
+ <section>
+ <title>Simple project</title>
+ <para>
+ Let's start with a very simple project, the "Hello world" program
+ for example
+ <scons_example name="ex1">
+ <file name="hello.c" printme="1">
+ /* hello.c */
+ #include &lt;stdio.h&gt;
+ int main(int argc, char* argv[])
+ {
+ printf("Hello world\n");
+ return 0;
+ }
+ </file>
+ </scons_example>
+
+ Prepare a <filename>SConstruct</filename> to compile the program
+ as usual.
+ <scons_example name="ex2">
+ <file name="SConstruct" printme="1">
+ # SConstruct
+ env = Environment()
+ hello = Program(["hello.c"])
+ </file>
+ </scons_example>
+ </para>
+
+ <para>
+ Now we'll convert the project to a multi-lingual one. If you don't
+ already have <ulink
+ url="http://www.gnu.org/software/gettext/manual/gettext.html">GNU gettext
+ utilities</ulink> installed, install them from your preffered
+ package repository, or download from <ulink
+ url="http://ftp.gnu.org/gnu/gettext/">
+ http://ftp.gnu.org/gnu/gettext/</ulink>. For the purpose of this example,
+ you should have following three locales installed on your system:
+ <literal>en_US</literal>, <literal>de_DE</literal> and
+ <literal>pl_PL</literal>. On debian, for example, you may enable certain
+ locales through <command>dpkg-reconfigure locales</command>.
+ </para>
+
+ <para>
+ First prepare the <filename>hello.c</filename> program for
+ internationalization. Change the previous code so it reads as follows:
+ <scons_example name="ex3">
+ <file name="hello.c" printme="1">
+ /* hello.c */
+ #include &lt;stdio.h&gt;
+ #include &lt;libintl.h&gt;
+ #include &lt;locale.h&gt;
+ int main(int argc, char* argv[])
+ {
+ bindtextdomain("hello", "locale");
+ setlocale(LC_ALL, "");
+ textdomain("hello");
+ printf(gettext("Hello world\n"));
+ return 0;
+ }
+ </file>
+ </scons_example>
+ Detailed recipes for such conversion can
+ be found at <ulink
+ url="http://www.gnu.org/software/gettext/manual/gettext.html#Sources">
+ http://www.gnu.org/software/gettext/manual/gettext.html#Sources</ulink>.
+ The <function>gettext("...")</function> has two purposes.
+ First, it marks messages for the <command>xgettext(1)</command> program, which
+ we will use to extract from the sources the messages for localization.
+ Second, it calls the <literal>gettext</literal> library internals to
+ translate the message at runtime.
+ </para>
+
+ <para>
+ Now we shall instruct SCons how to generate and maintain translation files.
+ For that, use the &b-link-Translate; builder and &b-link-MOFiles; builder.
+ The first one takes source files, extracts internationalized
+ messages from them, creates so-called <literal>POT</literal> file
+ (translation template), and then creates <literal>PO</literal> translation
+ files, one for each requested language. Later, during the development
+ lifecycle, the builder keeps all these files up-to date. The
+ &b-link-MOFiles; builder compiles the <literal>PO</literal> files to binary
+ form. Then install the <literal>MO</literal> files under directory
+ called <filename>locale</filename>.
+ </para>
+
+ <para> The completed
+ <filename>SConstruct</filename> is as follows:
+ <scons_example name="ex4">
+ <file name="SConstruct" printme="1">
+ # SConstruct
+ env = Environment( tools = ['default', 'gettext'] )
+ hello = env.Program(["hello.c"])
+ env['XGETTEXTFLAGS'] = [
+ '--package-name=%s' % 'hello',
+ '--package-version=%s' % '1.0',
+ ]
+ po = env.Translate(["pl","en", "de"], ["hello.c"], POAUTOINIT = 1)
+ mo = env.MOFiles(po)
+ InstallAs(["locale/en/LC_MESSAGES/hello.mo"], ["en.mo"])
+ InstallAs(["locale/pl/LC_MESSAGES/hello.mo"], ["pl.mo"])
+ InstallAs(["locale/de/LC_MESSAGES/hello.mo"], ["de.mo"])
+ </file>
+ </scons_example>
+ </para>
+ <para>
+ Generate the translation files with <command>scons po-update</command>.
+ You should see the output from SCons simillar to this:
+ <screen>
+ user@host:$ scons po-update
+ scons: Reading SConscript files ...
+ scons: done reading SConscript files.
+ scons: Building targets ...
+ Entering '/home/ptomulik/projects/tmp'
+ xgettext --package-name=hello --package-version=1.0 -o - hello.c
+ Leaving '/home/ptomulik/projects/tmp'
+ Writting 'messages.pot' (new file)
+ msginit --no-translator -l pl -i messages.pot -o pl.po
+ Created pl.po.
+ msginit --no-translator -l en -i messages.pot -o en.po
+ Created en.po.
+ msginit --no-translator -l de -i messages.pot -o de.po
+ Created de.po.
+ scons: done building targets.
+ </screen>
+ </para>
+
+ <para>
+ If everything is right, you should see following new files.
+ <screen>
+ user@host:$ ls *.po*
+ de.po en.po messages.pot pl.po
+ </screen>
+ </para>
+
+ <para>
+ Open <filename>en.po</filename> in <command>poedit</command> and provide
+ the English translation to message <literal>"Hello world\n"</literal>. Do the
+ same for <filename>de.po</filename> (deutsch) and
+ <filename>pl.po</filename> (polish). Let the translations be, for example:
+ <itemizedlist>
+ <listitem><para>
+ <literal>en: "Welcome to beautiful world!\n"</literal>
+ </para></listitem>
+ <listitem><para>
+ <literal>de: "Hallo Welt!\n"</literal>
+ </para></listitem>
+ <listitem><para>
+ <literal>pl: "Witaj swiecie!\n"</literal>
+ </para></listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ Now compile the project by executing <command>scons</command>. The
+ output should be similar to this:
+ <screen>
+ user@host:$ scons
+ scons: Reading SConscript files ...
+ scons: done reading SConscript files.
+ scons: Building targets ...
+ msgfmt -c -o de.mo de.po
+ msgfmt -c -o en.mo en.po
+ gcc -o hello.o -c hello.c
+ gcc -o hello hello.o
+ Install file: "de.mo" as "locale/de/LC_MESSAGES/hello.mo"
+ Install file: "en.mo" as "locale/en/LC_MESSAGES/hello.mo"
+ msgfmt -c -o pl.mo pl.po
+ Install file: "pl.mo" as "locale/pl/LC_MESSAGES/hello.mo"
+ scons: done building targets.
+ </screen>
+ SCons automatically compiled the <literal>PO</literal> files to binary format
+ <literal>MO</literal>, and the <literal>InstallAs</literal> lines installed
+ these files under <filename>locale</filename> folder.
+ </para>
+ <para>
+ Your program should be now ready. You may try it as follows (linux):
+ <screen>
+ user@host:$ LANG=en_US.UTF-8 ./hello
+ Welcome to beautiful world
+ </screen>
+ <screen>
+ user@host:$ LANG=de_DE.UTF-8 ./hello
+ Hallo Welt
+ </screen>
+ <screen>
+ user@host:$ LANG=pl_PL.UTF-8 ./hello
+ Witaj swiecie
+ </screen>
+ </para>
+ <para>
+ To demonstrate the further life of translation files, let's change Polish
+ translation (<command>poedit pl.po</command>) to <literal>"Witaj drogi
+ swiecie\n"</literal>. Run <command>scons</command> to see how scons
+ reacts to this
+ <screen>
+ user@host:$scons
+ scons: Reading SConscript files ...
+ scons: done reading SConscript files.
+ scons: Building targets ...
+ msgfmt -c -o pl.mo pl.po
+ Install file: "pl.mo" as "locale/pl/LC_MESSAGES/hello.mo"
+ scons: done building targets.
+ </screen>
+ </para>
+ <para>
+ Now, open <filename>hello.c</filename> and add another one
+ <literal>printf</literal> line with new message.
+ <scons_example name="ex5">
+ <file name="hello.c" printme="1">
+ /* hello.c */
+ #include &lt;stdio.h&gt;
+ #include &lt;libintl.h&gt;
+ #include &lt;locale.h&gt;
+ int main(int argc, char* argv[])
+ {
+ bindtextdomain("hello", "locale");
+ setlocale(LC_ALL, "");
+ textdomain("hello");
+ printf(gettext("Hello world\n"));
+ printf(gettext("and good bye\n"));
+ return 0;
+ }
+ </file>
+ </scons_example>
+ </para>
+ <para>
+ Compile project with <command>scons</command>. This time, the
+ <command>msgmerge(1)</command> program is used by SCons to update
+ <literal>PO</literal> file. The output from compilation is like:
+ <screen>
+ user@host:$scons
+ scons: Reading SConscript files ...
+ scons: done reading SConscript files.
+ scons: Building targets ...
+ Entering '/home/ptomulik/projects/tmp'
+ xgettext --package-name=hello --package-version=1.0 -o - hello.c
+ Leaving '/home/ptomulik/projects/tmp'
+ Writting 'messages.pot' (messages in file were outdated)
+ msgmerge --update de.po messages.pot
+ ... done.
+ msgfmt -c -o de.mo de.po
+ msgmerge --update en.po messages.pot
+ ... done.
+ msgfmt -c -o en.mo en.po
+ gcc -o hello.o -c hello.c
+ gcc -o hello hello.o
+ Install file: "de.mo" as "locale/de/LC_MESSAGES/hello.mo"
+ Install file: "en.mo" as "locale/en/LC_MESSAGES/hello.mo"
+ msgmerge --update pl.po messages.pot
+ ... done.
+ msgfmt -c -o pl.mo pl.po
+ Install file: "pl.mo" as "locale/pl/LC_MESSAGES/hello.mo"
+ scons: done building targets.
+ </screen>
+ </para>
+ <para>
+ The next example demonstrates what happens if we change the source code
+ in such way that the internationalized messages do not change. The answer
+ is that none of translation files (<literal>POT</literal>,
+ <literal>PO</literal>) are touched (i.e. no content changes, no
+ creation/modification time changed and so on). Let's append another
+ line to the program (after the last printf), so its code becomes:
+ <scons_example name="ex6">
+ <file name="hello.c" printme="1">
+ /* hello.c */
+ #include &lt;stdio.h&gt;
+ #include &lt;libintl.h&gt;
+ #include &lt;locale.h&gt;
+ int main(int argc, char* argv[])
+ {
+ bindtextdomain("hello", "locale");
+ setlocale(LC_ALL, "");
+ textdomain("hello");
+ printf(gettext("Hello world\n"));
+ printf(gettext("and good bye\n"));
+ printf("----------------\n");
+ return a;
+ }
+ </file>
+ </scons_example>
+ Compile the project. You'll see on your screen
+ <screen>
+ user@host:$scons
+ scons: Reading SConscript files ...
+ scons: done reading SConscript files.
+ scons: Building targets ...
+ Entering '/home/ptomulik/projects/tmp'
+ xgettext --package-name=hello --package-version=1.0 -o - hello.c
+ Leaving '/home/ptomulik/projects/tmp'
+ Not writting 'messages.pot' (messages in file found to be up-to-date)
+ gcc -o hello.o -c hello.c
+ gcc -o hello hello.o
+ scons: done building targets.
+ </screen>
+ As you see, the internationalized messages ditn't change, so the
+ <literal>POT</literal> and the rest of translation files have not
+ even been touched.
+ </para>
+ </section>
diff --git a/doc/user/gettext.xml b/doc/user/gettext.xml
new file mode 100644
index 0000000..ebaf3c0
--- /dev/null
+++ b/doc/user/gettext.xml
@@ -0,0 +1,334 @@
+<!--
+
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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:
+
+ 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.
+
+-->
+
+ <para>
+ The &t-link-gettext; toolset supports internationalization and localization
+ of SCons-based projects. Builders provided by &t-link-gettext; automatize
+ generation and updates of translation files. You can manage translations and
+ translation templates similarly to how it's done with autotools.
+ </para>
+
+ <section>
+ <title>Prerequisites</title>
+ <para>
+ To follow examples provided in this chapter set up your operating system to
+ support two or more languages. In following examples we use locales
+ <literal>en_US</literal>, <literal>de_DE</literal>, and
+ <literal>pl_PL</literal>.
+ </para>
+
+ <para>
+ Ensure, that you have <ulink url="http://www.gnu.org/software/gettext/manual/gettext.html">GNU gettext
+ utilities</ulink> installed on your system.
+ </para>
+
+ <para>
+ To edit translation files you may wish to install <ulink url="http://www.poedit.net/">poedit</ulink> editor.
+ </para>
+ </section>
+
+ <section>
+ <title>Simple project</title>
+ <para>
+ Let's start with a very simple project, the "Hello world" program
+ for example
+ <programlisting>
+ /* hello.c */
+ #include &lt;stdio.h&gt;
+ int main(int argc, char* argv[])
+ {
+ printf("Hello world\n");
+ return 0;
+ }
+ </programlisting>
+
+ Prepare a <filename>SConstruct</filename> to compile the program
+ as usual.
+ <programlisting>
+ # SConstruct
+ env = Environment()
+ hello = Program(["hello.c"])
+ </programlisting>
+ </para>
+
+ <para>
+ Now we'll convert the project to a multi-lingual one. If you don't
+ already have <ulink url="http://www.gnu.org/software/gettext/manual/gettext.html">GNU gettext
+ utilities</ulink> installed, install them from your preffered
+ package repository, or download from <ulink url="http://ftp.gnu.org/gnu/gettext/">
+ http://ftp.gnu.org/gnu/gettext/</ulink>. For the purpose of this example,
+ you should have following three locales installed on your system:
+ <literal>en_US</literal>, <literal>de_DE</literal> and
+ <literal>pl_PL</literal>. On debian, for example, you may enable certain
+ locales through <command>dpkg-reconfigure locales</command>.
+ </para>
+
+ <para>
+ First prepare the <filename>hello.c</filename> program for
+ internationalization. Change the previous code so it reads as follows:
+ <programlisting>
+ /* hello.c */
+ #include &lt;stdio.h&gt;
+ #include &lt;libintl.h&gt;
+ #include &lt;locale.h&gt;
+ int main(int argc, char* argv[])
+ {
+ bindtextdomain("hello", "locale");
+ setlocale(LC_ALL, "");
+ textdomain("hello");
+ printf(gettext("Hello world\n"));
+ return 0;
+ }
+ </programlisting>
+ Detailed recipes for such conversion can
+ be found at <ulink url="http://www.gnu.org/software/gettext/manual/gettext.html#Sources">
+ http://www.gnu.org/software/gettext/manual/gettext.html#Sources</ulink>.
+ The <function>gettext("...")</function> has two purposes.
+ First, it marks messages for the <command>xgettext(1)</command> program, which
+ we will use to extract from the sources the messages for localization.
+ Second, it calls the <literal>gettext</literal> library internals to
+ translate the message at runtime.
+ </para>
+
+ <para>
+ Now we shall instruct SCons how to generate and maintain translation files.
+ For that, use the &b-link-Translate; builder and &b-link-MOFiles; builder.
+ The first one takes source files, extracts internationalized
+ messages from them, creates so-called <literal>POT</literal> file
+ (translation template), and then creates <literal>PO</literal> translation
+ files, one for each requested language. Later, during the development
+ lifecycle, the builder keeps all these files up-to date. The
+ &b-link-MOFiles; builder compiles the <literal>PO</literal> files to binary
+ form. Then install the <literal>MO</literal> files under directory
+ called <filename>locale</filename>.
+ </para>
+
+ <para> The completed
+ <filename>SConstruct</filename> is as follows:
+ <programlisting>
+ # SConstruct
+ env = Environment( tools = ['default', 'gettext'] )
+ hello = env.Program(["hello.c"])
+ env['XGETTEXTFLAGS'] = [
+ '--package-name=%s' % 'hello',
+ '--package-version=%s' % '1.0',
+ ]
+ po = env.Translate(["pl","en", "de"], ["hello.c"], POAUTOINIT = 1)
+ mo = env.MOFiles(po)
+ InstallAs(["locale/en/LC_MESSAGES/hello.mo"], ["en.mo"])
+ InstallAs(["locale/pl/LC_MESSAGES/hello.mo"], ["pl.mo"])
+ InstallAs(["locale/de/LC_MESSAGES/hello.mo"], ["de.mo"])
+ </programlisting>
+ </para>
+ <para>
+ Generate the translation files with <command>scons po-update</command>.
+ You should see the output from SCons simillar to this:
+ <screen>
+ user@host:$ scons po-update
+ scons: Reading SConscript files ...
+ scons: done reading SConscript files.
+ scons: Building targets ...
+ Entering '/home/ptomulik/projects/tmp'
+ xgettext --package-name=hello --package-version=1.0 -o - hello.c
+ Leaving '/home/ptomulik/projects/tmp'
+ Writting 'messages.pot' (new file)
+ msginit --no-translator -l pl -i messages.pot -o pl.po
+ Created pl.po.
+ msginit --no-translator -l en -i messages.pot -o en.po
+ Created en.po.
+ msginit --no-translator -l de -i messages.pot -o de.po
+ Created de.po.
+ scons: done building targets.
+ </screen>
+ </para>
+
+ <para>
+ If everything is right, you should see following new files.
+ <screen>
+ user@host:$ ls *.po*
+ de.po en.po messages.pot pl.po
+ </screen>
+ </para>
+
+ <para>
+ Open <filename>en.po</filename> in <command>poedit</command> and provide
+ the English translation to message <literal>"Hello world\n"</literal>. Do the
+ same for <filename>de.po</filename> (deutsch) and
+ <filename>pl.po</filename> (polish). Let the translations be, for example:
+ <itemizedlist>
+ <listitem><para>
+ <literal>en: "Welcome to beautiful world!\n"</literal>
+ </para></listitem>
+ <listitem><para>
+ <literal>de: "Hallo Welt!\n"</literal>
+ </para></listitem>
+ <listitem><para>
+ <literal>pl: "Witaj swiecie!\n"</literal>
+ </para></listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ Now compile the project by executing <command>scons</command>. The
+ output should be similar to this:
+ <screen>
+ user@host:$ scons
+ scons: Reading SConscript files ...
+ scons: done reading SConscript files.
+ scons: Building targets ...
+ msgfmt -c -o de.mo de.po
+ msgfmt -c -o en.mo en.po
+ gcc -o hello.o -c hello.c
+ gcc -o hello hello.o
+ Install file: "de.mo" as "locale/de/LC_MESSAGES/hello.mo"
+ Install file: "en.mo" as "locale/en/LC_MESSAGES/hello.mo"
+ msgfmt -c -o pl.mo pl.po
+ Install file: "pl.mo" as "locale/pl/LC_MESSAGES/hello.mo"
+ scons: done building targets.
+ </screen>
+ SCons automatically compiled the <literal>PO</literal> files to binary format
+ <literal>MO</literal>, and the <literal>InstallAs</literal> lines installed
+ these files under <filename>locale</filename> folder.
+ </para>
+ <para>
+ Your program should be now ready. You may try it as follows (linux):
+ <screen>
+ user@host:$ LANG=en_US.UTF-8 ./hello
+ Welcome to beautiful world
+ </screen>
+ <screen>
+ user@host:$ LANG=de_DE.UTF-8 ./hello
+ Hallo Welt
+ </screen>
+ <screen>
+ user@host:$ LANG=pl_PL.UTF-8 ./hello
+ Witaj swiecie
+ </screen>
+ </para>
+ <para>
+ To demonstrate the further life of translation files, let's change Polish
+ translation (<command>poedit pl.po</command>) to <literal>"Witaj drogi
+ swiecie\n"</literal>. Run <command>scons</command> to see how scons
+ reacts to this
+ <screen>
+ user@host:$scons
+ scons: Reading SConscript files ...
+ scons: done reading SConscript files.
+ scons: Building targets ...
+ msgfmt -c -o pl.mo pl.po
+ Install file: "pl.mo" as "locale/pl/LC_MESSAGES/hello.mo"
+ scons: done building targets.
+ </screen>
+ </para>
+ <para>
+ Now, open <filename>hello.c</filename> and add another one
+ <literal>printf</literal> line with new message.
+ <programlisting>
+ /* hello.c */
+ #include &lt;stdio.h&gt;
+ #include &lt;libintl.h&gt;
+ #include &lt;locale.h&gt;
+ int main(int argc, char* argv[])
+ {
+ bindtextdomain("hello", "locale");
+ setlocale(LC_ALL, "");
+ textdomain("hello");
+ printf(gettext("Hello world\n"));
+ printf(gettext("and good bye\n"));
+ return 0;
+ }
+ </programlisting>
+ </para>
+ <para>
+ Compile project with <command>scons</command>. This time, the
+ <command>msgmerge(1)</command> program is used by SCons to update
+ <literal>PO</literal> file. The output from compilation is like:
+ <screen>
+ user@host:$scons
+ scons: Reading SConscript files ...
+ scons: done reading SConscript files.
+ scons: Building targets ...
+ Entering '/home/ptomulik/projects/tmp'
+ xgettext --package-name=hello --package-version=1.0 -o - hello.c
+ Leaving '/home/ptomulik/projects/tmp'
+ Writting 'messages.pot' (messages in file were outdated)
+ msgmerge --update de.po messages.pot
+ ... done.
+ msgfmt -c -o de.mo de.po
+ msgmerge --update en.po messages.pot
+ ... done.
+ msgfmt -c -o en.mo en.po
+ gcc -o hello.o -c hello.c
+ gcc -o hello hello.o
+ Install file: "de.mo" as "locale/de/LC_MESSAGES/hello.mo"
+ Install file: "en.mo" as "locale/en/LC_MESSAGES/hello.mo"
+ msgmerge --update pl.po messages.pot
+ ... done.
+ msgfmt -c -o pl.mo pl.po
+ Install file: "pl.mo" as "locale/pl/LC_MESSAGES/hello.mo"
+ scons: done building targets.
+ </screen>
+ </para>
+ <para>
+ The next example demonstrates what happens if we change the source code
+ in such way that the internationalized messages do not change. The answer
+ is that none of translation files (<literal>POT</literal>,
+ <literal>PO</literal>) are touched (i.e. no content changes, no
+ creation/modification time changed and so on). Let's append another
+ line to the program (after the last printf), so its code becomes:
+ <programlisting>
+ /* hello.c */
+ #include &lt;stdio.h&gt;
+ #include &lt;libintl.h&gt;
+ #include &lt;locale.h&gt;
+ int main(int argc, char* argv[])
+ {
+ bindtextdomain("hello", "locale");
+ setlocale(LC_ALL, "");
+ textdomain("hello");
+ printf(gettext("Hello world\n"));
+ printf(gettext("and good bye\n"));
+ printf("----------------\n");
+ return a;
+ }
+ </programlisting>
+ Compile the project. You'll see on your screen
+ <screen>
+ user@host:$scons
+ scons: Reading SConscript files ...
+ scons: done reading SConscript files.
+ scons: Building targets ...
+ Entering '/home/ptomulik/projects/tmp'
+ xgettext --package-name=hello --package-version=1.0 -o - hello.c
+ Leaving '/home/ptomulik/projects/tmp'
+ Not writting 'messages.pot' (messages in file found to be up-to-date)
+ gcc -o hello.o -c hello.c
+ gcc -o hello hello.o
+ scons: done building targets.
+ </screen>
+ As you see, the internationalized messages ditn't change, so the
+ <literal>POT</literal> and the rest of translation files have not
+ even been touched.
+ </para>
+ </section>
diff --git a/doc/user/hierarchy.in b/doc/user/hierarchy.in
index 950bc8a..855c54a 100644
--- a/doc/user/hierarchy.in
+++ b/doc/user/hierarchy.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -478,7 +478,7 @@ make no difference to the build.
</section>
- <section id="sect-sharing-environments">
+ <section>
<title>Sharing Environments (and Other Variables) Between &SConscript; Files</title>
<para>
diff --git a/doc/user/hierarchy.xml b/doc/user/hierarchy.xml
index 6691e70..431e97b 100644
--- a/doc/user/hierarchy.xml
+++ b/doc/user/hierarchy.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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,7 +442,7 @@ make no difference to the build.
</section>
- <section id="sect-sharing-environments">
+ <section>
<title>Sharing Environments (and Other Variables) Between &SConscript; Files</title>
<para>
diff --git a/doc/user/install.in b/doc/user/install.in
index 131fc6a..7d8afa6 100644
--- a/doc/user/install.in
+++ b/doc/user/install.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 6b49ae8..91bfb0a 100644
--- a/doc/user/install.xml
+++ b/doc/user/install.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/java.in
index bad5c34..6ce7f37 100644
--- a/doc/user/java.in
+++ b/doc/user/java.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 f277558..36eed7d 100644
--- a/doc/user/java.xml
+++ b/doc/user/java.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/less-simple.in
index d717014..01de0a3 100644
--- a/doc/user/less-simple.in
+++ b/doc/user/less-simple.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 e269490..1a60bfe 100644
--- a/doc/user/less-simple.xml
+++ b/doc/user/less-simple.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/libraries.in
index a56f2c3..a42416e 100644
--- a/doc/user/libraries.in
+++ b/doc/user/libraries.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 6909758..31cdddc 100644
--- a/doc/user/libraries.xml
+++ b/doc/user/libraries.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/main.in
index feb8c25..bc49d99 100644
--- a/doc/user/main.in
+++ b/doc/user/main.in
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -65,6 +65,7 @@
<!ENTITY factories SYSTEM "factories.xml">
<!ENTITY file-removal SYSTEM "file-removal.xml">
<!ENTITY functions SYSTEM "functions.xml">
+ <!ENTITY gettext SYSTEM "gettext.xml">
<!ENTITY hierarchy SYSTEM "hierarchy.xml">
<!ENTITY java SYSTEM "java.xml">
<!ENTITY install SYSTEM "install.xml">
@@ -253,6 +254,11 @@
&variants;
</chapter>
+ <chapter id="chap-gettext">
+ <title>Internationalization and localization with gettext</title>
+ &gettext;
+ </chapter>
+
<!--
<chapter id="chap-builders-built-in">
diff --git a/doc/user/main.xml b/doc/user/main.xml
index feb8c25..bc49d99 100644
--- a/doc/user/main.xml
+++ b/doc/user/main.xml
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -65,6 +65,7 @@
<!ENTITY factories SYSTEM "factories.xml">
<!ENTITY file-removal SYSTEM "file-removal.xml">
<!ENTITY functions SYSTEM "functions.xml">
+ <!ENTITY gettext SYSTEM "gettext.xml">
<!ENTITY hierarchy SYSTEM "hierarchy.xml">
<!ENTITY java SYSTEM "java.xml">
<!ENTITY install SYSTEM "install.xml">
@@ -253,6 +254,11 @@
&variants;
</chapter>
+ <chapter id="chap-gettext">
+ <title>Internationalization and localization with gettext</title>
+ &gettext;
+ </chapter>
+
<!--
<chapter id="chap-builders-built-in">
diff --git a/doc/user/make.in b/doc/user/make.in
index 7102557..198105e 100644
--- a/doc/user/make.in
+++ b/doc/user/make.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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/make.xml b/doc/user/make.xml
index 7102557..198105e 100644
--- a/doc/user/make.xml
+++ b/doc/user/make.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/mergeflags.in
index 086d042..a218849 100644
--- a/doc/user/mergeflags.in
+++ b/doc/user/mergeflags.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 f0bc2b6..914c9fc 100644
--- a/doc/user/mergeflags.xml
+++ b/doc/user/mergeflags.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/misc.in
index fef1b8f..704a1f5 100644
--- a/doc/user/misc.in
+++ b/doc/user/misc.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 069f94b..1de76ed 100644
--- a/doc/user/misc.xml
+++ b/doc/user/misc.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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/nodes.in b/doc/user/nodes.in
index 7799d3f..d89b3e0 100644
--- a/doc/user/nodes.in
+++ b/doc/user/nodes.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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/nodes.xml b/doc/user/nodes.xml
index fe8e167..b1d56dd 100644
--- a/doc/user/nodes.xml
+++ b/doc/user/nodes.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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/output.in b/doc/user/output.in
index d2823d0..5abc421 100644
--- a/doc/user/output.in
+++ b/doc/user/output.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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/output.xml b/doc/user/output.xml
index 6910b59..06426e4 100644
--- a/doc/user/output.xml
+++ b/doc/user/output.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/parseconfig.in
index 5eb990c..1543c9f 100644
--- a/doc/user/parseconfig.in
+++ b/doc/user/parseconfig.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 409abfe..b70b9ed 100644
--- a/doc/user/parseconfig.xml
+++ b/doc/user/parseconfig.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/parseflags.in
index 6e72c18..579cf18 100644
--- a/doc/user/parseflags.in
+++ b/doc/user/parseflags.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 7350831..af90262 100644
--- a/doc/user/parseflags.xml
+++ b/doc/user/parseflags.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/preface.in
index e82ee3b..536da5a 100644
--- a/doc/user/preface.in
+++ b/doc/user/preface.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 e82ee3b..536da5a 100644
--- a/doc/user/preface.xml
+++ b/doc/user/preface.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/python.in
index c3ea5fe..837986b 100644
--- a/doc/user/python.in
+++ b/doc/user/python.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 c3ea5fe..837986b 100644
--- a/doc/user/python.xml
+++ b/doc/user/python.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/repositories.in
index 5ba9090..f8798cc 100644
--- a/doc/user/repositories.in
+++ b/doc/user/repositories.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 219dbaf..53b7612 100644
--- a/doc/user/repositories.xml
+++ b/doc/user/repositories.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/run.in
index 8d47b27..d6758d6 100644
--- a/doc/user/run.in
+++ b/doc/user/run.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 8d47b27..d6758d6 100644
--- a/doc/user/run.xml
+++ b/doc/user/run.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/scanners.in
index e8bdff7..3957930 100644
--- a/doc/user/scanners.in
+++ b/doc/user/scanners.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 7862265..bd418d0 100644
--- a/doc/user/scanners.xml
+++ b/doc/user/scanners.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/sconf.in
index 52fe132..831940e 100644
--- a/doc/user/sconf.in
+++ b/doc/user/sconf.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 460c3d1..de37996 100644
--- a/doc/user/sconf.xml
+++ b/doc/user/sconf.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/separate.in
index 932c285..298dceb 100644
--- a/doc/user/separate.in
+++ b/doc/user/separate.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 7df53e9..8f75b82 100644
--- a/doc/user/separate.xml
+++ b/doc/user/separate.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/sideeffect.in
index 852f99a..6b2ccaf 100644
--- a/doc/user/sideeffect.in
+++ b/doc/user/sideeffect.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 35e026f..f2edd7d 100644
--- a/doc/user/sideeffect.xml
+++ b/doc/user/sideeffect.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/simple.in
index 0d15f12..23a0ee2 100644
--- a/doc/user/simple.in
+++ b/doc/user/simple.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -297,7 +297,7 @@
</section>
- <section id="sect-sconstruct-file">
+ <section>
<title>The &SConstruct; File</title>
<para>
@@ -353,7 +353,7 @@
</section>
- <section id="sect-order-independent">
+ <section>
<title>&SCons; Functions Are Order-Independent</title>
<para>
diff --git a/doc/user/simple.xml b/doc/user/simple.xml
index 49b8805..72b7aa3 100644
--- a/doc/user/simple.xml
+++ b/doc/user/simple.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -322,7 +322,7 @@
</section>
- <section id="sect-sconstruct-file">
+ <section>
<title>The &SConstruct; File</title>
<para>
@@ -378,7 +378,7 @@
</section>
- <section id="sect-order-independent">
+ <section>
<title>&SCons; Functions Are Order-Independent</title>
<para>
diff --git a/doc/user/sourcecode.in b/doc/user/sourcecode.in
index e4fc5be..44e8581 100644
--- a/doc/user/sourcecode.in
+++ b/doc/user/sourcecode.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 6642d0f..b1154fa 100644
--- a/doc/user/sourcecode.xml
+++ b/doc/user/sourcecode.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/tasks.in
index aa6a12e..f9ca8d9 100644
--- a/doc/user/tasks.in
+++ b/doc/user/tasks.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 ada4de5..59260da 100644
--- a/doc/user/tasks.xml
+++ b/doc/user/tasks.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/tools.in
index 9dd71df..f0efe44 100644
--- a/doc/user/tools.in
+++ b/doc/user/tools.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 9dd71df..f0efe44 100644
--- a/doc/user/tools.xml
+++ b/doc/user/tools.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/troubleshoot.in
index 615d677..bb64a47 100644
--- a/doc/user/troubleshoot.in
+++ b/doc/user/troubleshoot.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 1f32a35..3925cc4 100644
--- a/doc/user/troubleshoot.xml
+++ b/doc/user/troubleshoot.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/variables.in
index 9b8afc1..06aacf3 100644
--- a/doc/user/variables.in
+++ b/doc/user/variables.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 9b8afc1..06aacf3 100644
--- a/doc/user/variables.xml
+++ b/doc/user/variables.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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.in b/doc/user/variants.in
index 5050306..d09cc07 100644
--- a/doc/user/variants.in
+++ b/doc/user/variants.in
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 e096eed..7303d67 100644
--- a/doc/user/variants.xml
+++ b/doc/user/variants.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the