diff -Nru scons-2.2.0/CHANGES.txt scons-2.3.0/CHANGES.txt --- scons-2.2.0/CHANGES.txt 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/CHANGES.txt 2013-03-03 14:48:40.000000000 +0000 @@ -4,6 +4,69 @@ Change Log +RELEASE 2.3.0 - Mon, 02 Mar 2013 13:22:29 -0400 + + From Anatoly Techtonik: + - Added ability to run scripts/scons.py directly from source checkout + - Hide deprecated --debug={dtree,stree,tree} from --help output + - Error messages from option parser now include hints about valid choices + - Cleaned up some Python 1.5 and pre-2.3 code, so don't expect SCons + to run on anything less than Python 2.4 anymore + - Several fixes for runtest.py: + * exit with an error if no tests were found + * removed --noqmtest option - this behavior is by default + * replaced `-o FILE --xml` combination with `--xml FILE` + * changed `-o, --output FILE` option to capture stdout/stderr output + from runtest.py + - Remove os_spawnv_fix.diff patch required to enable parallel builds + support prior to Python 2.2 + + From Juan Lang: + - Fix WiX Tool to use .wixobj rather than .wxiobj for compiler output + - Support building with WiX releases after 2.0 + + From Alexey Klimkin: + - Fix nested LIBPATH expansion by flattening sequences in subst_path. + + From eyan on Bitbucket: + - Print target name with command execution time with --debug=time + + From Thomas Berg and Evgeny Podjachev: + - Fix subprocess spawning on Windows. Work around a Windows + bug that can crash python occasionally when using -jN. (#2449) + + From Dirk Baechle: + - Updated test framework to support dir and file fixtures and + added ability to test external (out-of-tree) tools (#2862). + See doc in QMTest/test-framework.rst. + - Fixed several errors in the test suite (Java paths, MSVS version + detection, Tool import), additionally + * provided MinGW command-line support for the CXX, AS and + Fortran tests, + * refactored the detection of the gcc version and the according + Fortran startup library, + * provided a new module rpmutils.py, wrapping the RPM naming rules + for target files and further hardware-dependent info (compatibility, + compiler flags, ...), + * added new test methods must_exist_one_of() and + must_not_exist_any_of() and + * removed Aegis support from runtest.py. (#2872) + + From Gary Oberbrunner: + - Add -jN support to runtest.py to run tests in parallel + - Add MSVC10 and MSVC11 support to get_output low-level bat script runner. + - Fix MSVS solution generation for VS11, and fixed tests. + + From Rob Managan: + - Updated the TeX builder to support the \newglossary command + in LaTeX's glossaries package and the files it creates. + - Improve support for new versions of biblatex in the TeX builder + so biber is called automatically if biblatex requires it. + - Add SHLIBVERSION as an option that tells SharedLibrary to build + a versioned shared library and create the required symlinks. + Add builder InstallVersionedLib to create the required symlinks + installing a versioned shared library. + RELEASE 2.2.0 - Mon, 05 Aug 2012 15:37:48 +0000 From dubcanada on Bitbucket: @@ -34,11 +97,11 @@ From Alexey Petruchik: - Support for Microsoft Visual Studio 11 (both using it and generating MSVS11 solution files). - + From Alexey Klimkin: - Fixed the Taskmaster, curing spurious build failures in multi-threaded runs (#2720). - + From Dirk Baechle: - Improved documentation of command-line variables (#2809). - Fixed scons-doc.py to properly convert main XML files (#2812). @@ -92,18 +155,18 @@ - Fix Intel compiler to sort versions >9 correctly (esp. on Linux) - Fix Install() when the source and target are directories and the target directory exists. - + From David Garcia Garzon: - Fix Delete to be able to delete broken symlinks and dir symlinks. - + From Robert Lehr: - Handle .output file generated by bison/yacc properly. Cleaning it when necessary. From Antoine Dechaume: - Handle SWIG file where there is whitespace after the module name - properly. Previously the generated files would include + properly. Previously the generated files would include the whitespace. From Dmitry R.: @@ -126,7 +189,7 @@ From Evgeny Podjachev and Alexey Petruchick: - - Support generation of Microsoft Visual Studio 2008 (9.0) + - Support generation of Microsoft Visual Studio 2008 (9.0) and 2010 (10.0) project and solution files. From Ken Deeter: @@ -228,13 +291,13 @@ - The TeX builders should now work with tex files that are generated by another program. Thanks to Hans-Martin von Gaudecker for isolating the cause of this bug. - + - Added support for INDEXSTYLE environment variable so makeindex can find style files. - Added support for the bibunits package so we call bibtex on all the bu*.aux files. - + - Add support of finding path information on OSX for TeX applications MacPorts and Fink paths need to be added by the user @@ -318,7 +381,7 @@ - Fix "Ignoring corrupt sconsign entry" warnings when building in a tree with a pre-2.0 .sconsign file. - - Fix propagation from environment of VS*COMNTOOLS to resolve issues + - Fix propagation from environment of VS*COMNTOOLS to resolve issues initializing MSVC/MSVS/SDK issues. - Handle detecting Visual C++ on Python verions with upper-case @@ -1718,6 +1781,9 @@ - Add a new AddOption() function to support user-defined command- line flags (like --prefix=, --force, etc.). + - Replace modified Optik version with new optparse compatibility module + for command line processing in Scripts/SConsOptions.py + - Push and retrieve built symlinks to/from a CacheDir() as actual symlinks, not by copying the file contents. @@ -5585,5 +5651,6 @@ - Windows installer available. -Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation -src/CHANGES.txt issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo + +Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation +src/CHANGES.txt 2013/03/03 09:48:35 garyo diff -Nru scons-2.2.0/LICENSE.txt scons-2.3.0/LICENSE.txt --- scons-2.2.0/LICENSE.txt 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/LICENSE.txt 2013-03-03 14:48:40.000000000 +0000 @@ -1,4 +1,4 @@ -Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 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 -Nru scons-2.2.0/MANIFEST scons-2.3.0/MANIFEST --- scons-2.2.0/MANIFEST 2012-08-05 15:38:32.000000000 +0000 +++ scons-2.3.0/MANIFEST 2013-03-03 14:48:41.000000000 +0000 @@ -154,6 +154,7 @@ engine/SCons/Tool/rmic.py engine/SCons/Tool/rpcgen.py engine/SCons/Tool/rpm.py +engine/SCons/Tool/rpmutils.py engine/SCons/Tool/sgiar.py engine/SCons/Tool/sgic++.py engine/SCons/Tool/sgicc.py @@ -194,7 +195,6 @@ engine/SCons/cpp.py engine/SCons/dblite.py engine/SCons/exitfuncs.py -os_spawnv_fix.diff scons-time.1 scons.1 sconsign.1 diff -Nru scons-2.2.0/PKG-INFO scons-2.3.0/PKG-INFO --- scons-2.2.0/PKG-INFO 2012-08-05 15:38:34.000000000 +0000 +++ scons-2.3.0/PKG-INFO 2013-03-03 14:48:44.000000000 +0000 @@ -1,6 +1,6 @@ Metadata-Version: 1.0 Name: scons -Version: 2.2.0 +Version: 2.3.0 Summary: Open Source next-generation build tool. Home-page: http://www.scons.org/ Author: Steven Knight diff -Nru scons-2.2.0/README.txt scons-2.3.0/README.txt --- scons-2.2.0/README.txt 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/README.txt 2013-03-03 14:48:40.000000000 +0000 @@ -2,7 +2,7 @@ SCons - a software construction tool - Version 2.2.0 + Version 2.3.0 This is SCons, a tool for building software (and other files). SCons is @@ -56,7 +56,7 @@ By default, the above command will do the following: - -- Install the version-numbered "scons-2.2.0" and "sconsign-2.2.0" + -- Install the version-numbered "scons-2.3.0" and "sconsign-2.3.0" scripts in the default system script directory (/usr/bin or C:\Python*\Scripts, for example). This can be disabled by specifying the "--no-version-script" option on the command @@ -70,17 +70,17 @@ making it the default on your system. On UNIX or Linux systems, you can have the "scons" and "sconsign" - scripts be hard links or symbolic links to the "scons-2.2.0" and - "sconsign-2.2.0" scripts by specifying the "--hardlink-scons" + scripts be hard links or symbolic links to the "scons-2.3.0" and + "sconsign-2.3.0" scripts by specifying the "--hardlink-scons" or "--symlink-scons" options on the command line. - -- Install "scons-2.2.0.bat" and "scons.bat" wrapper scripts in the + -- Install "scons-2.3.0.bat" and "scons.bat" wrapper scripts in the Python prefix directory on Windows (C:\Python*, for example). This can be disabled by specifying the "--no-install-bat" option on the command line. On UNIX or Linux systems, the "--install-bat" option may be - specified to have "scons-2.2.0.bat" and "scons.bat" files + specified to have "scons-2.3.0.bat" and "scons.bat" files installed in the default system script directory, which is useful if you want to install SCons in a shared file system directory that can be used to execute SCons from both UNIX/Linux and @@ -88,7 +88,7 @@ -- Install the SCons build engine (a Python module) in an appropriate version-numbered SCons library directory - (/usr/lib/scons-2.2.0 or C:\Python*\scons-2.2.0, for example). + (/usr/lib/scons-2.3.0 or C:\Python*\scons-2.3.0, for example). See below for more options related to installing the build engine library. @@ -239,5 +239,5 @@ Greg Spencer Christoph Wiedemann -Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation -src/README.txt issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo +Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation +src/README.txt 2013/03/03 09:48:35 garyo diff -Nru scons-2.2.0/RELEASE.txt scons-2.3.0/RELEASE.txt --- scons-2.2.0/RELEASE.txt 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/RELEASE.txt 2013-03-03 14:48:40.000000000 +0000 @@ -1,46 +1,47 @@ - A new SCons release, 2.2.0, is now available + A new SCons release, 2.3.0, is now available on the SCons download page: http://www.scons.org/download.php This release adds several new features and fixes many issues. - Here is a summary of the changes since 2.1: + Here is a summary of the changes since 2.2: NEW FUNCTIONALITY - - New gettext toolset for internationalization - - Support for Visual Studio 11 (both using it and generating solution files) - - Support for Intel C/C++ compiler v12 on Linux and Mac - - LaTeX support for multibib, biblatex and biber + - Versioned shared library support for Linux and Mac: + Add SHLIBVERSION as an option that tells SharedLibrary to build + a versioned shared library and create the required symlinks. + Add builder InstallVersionedLib to create the required symlinks + installing a versioned shared library. DEPRECATED FUNCTIONALITY - - None + - Removed a lot of Python 2.3 and older support code + - Hide deprecated --debug={dtree,stree,tree} from --help output CHANGED/ENHANCED EXISTING FUNCTIONALITY - - 32-bit Visual Express C++ on 64-bit Windows now generates 32-bit code instead of giving errors + - No changes FIXES - - Fixed FindSourceFiles to find final sources (leaf nodes). - - Make Windows not redefine builtin file as un-inheritable (#2857) - - Fix WINDOWS_INSERT_DEF on MinGW (Windows) (#2856) - - Fix LINKCOMSTR, SHLINKCOMSTR, and LDMODULECOMSTR on Windows (#2833). - - Make -s (silent mode) be silent about entering subdirs (#2976). - - Fix cloning of builders when cloning environment (#2821). - - Fixed the Taskmaster, curing spurious build failures in - multi-threaded runs (#2720). - - Fixed scons-doc.py to properly convert main XML files (#2812). - + - Fix subprocess spawning on Windows. Work around a Windows + bug that can crash python occasionally when using -jN. (#2449) + - Fix nested LIBPATH expansion by flattening sequences in subst_path. + - Fix WiX Tool to use .wixobj rather than .wxiobj for compiler output + - Add MSVC10 and MSVC11 support to get_output low-level bat script runner. + - Fix MSVS solution generation for VS11, and fixed tests. IMPROVEMENTS - - Improved documentation of command-line variables (#2809). - - Show valid Visual Studio architectures in error message - when user passes invalid arch. - - Allow Node objects in Java path (#2825) + - Error messages from option parser now include hints about valid choices + - Support building with WiX releases after 2.0 + - Print target name with command execution time with --debug=time + - Updated the TeX builder to support the \newglossary command + in LaTeX's glossaries package and the files it creates. + - Improve support for new versions of biblatex in the TeX builder + so biber is called automatically if biblatex requires it. PACKAGING @@ -48,11 +49,19 @@ DEVELOPMENT - - No changes + - Updated test framework to support dir and file fixtures and + added ability to test external (out-of-tree) tools. + See doc in QMTest/test-framework.rst. + - Added ability to run scripts/scons.py directly from source checkout + - Several fixes for runtest.py + - Fixed several errors in the test suite. + - Add -jN support to runtest.py to run tests in parallel + Thanks to: Dirk Baechle, Vincent Beffar, + Thomas Berg, Jean-François Colson, Bauke Conijn, Bill Deegan, @@ -66,6 +75,7 @@ Steven Knight, Arve Knudsen, Jean-Baptiste Lab, + Juan Lang, Rob Managan, Mortoray, Gary Oberbrunner, @@ -81,5 +91,5 @@ Joe Zuntz for their contributions to this release. -Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation -src/RELEASE.txt issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo +Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation +src/RELEASE.txt 2013/03/03 09:48:35 garyo diff -Nru scons-2.2.0/debian/changelog scons-2.3.0/debian/changelog --- scons-2.2.0/debian/changelog 2012-08-20 21:28:09.000000000 +0000 +++ scons-2.3.0/debian/changelog 2013-05-05 09:48:50.000000000 +0000 @@ -1,3 +1,26 @@ +scons (2.3.0-2) unstable; urgency=low + + * Upload to unstable. + * debian/patches/java_ignore_nonexistent_files.patch: + - Do not check for symlink reference, check whether files can be + opened instead, and return a valid tuple anyway (LP: #1101094). + * debian/patches/manpages.patch: + - Fix spelling errors in the man pages. + * debian/control: + - Move VCS repository under collab-maint. + + -- Luca Falavigna Sun, 05 May 2013 11:42:32 +0200 + +scons (2.3.0-1) experimental; urgency=low + + * New upstream release. + * debian/patches/remove_stale_files.patch: + - Refresh for new upstream release. + * debian/control: + - Bump Standards-Version to 3.9.4, no changes required. + + -- Luca Falavigna Mon, 11 Mar 2013 22:30:58 +0100 + scons (2.2.0-1) experimental; urgency=low * New upstream release. diff -Nru scons-2.2.0/debian/control scons-2.3.0/debian/control --- scons-2.2.0/debian/control 2012-08-20 21:28:09.000000000 +0000 +++ scons-2.3.0/debian/control 2013-05-05 09:48:50.000000000 +0000 @@ -4,11 +4,11 @@ Maintainer: Luca Falavigna Uploaders: Mark Brown Build-Depends: debhelper (>= 9), python (>= 2.6.6-3~) -Standards-Version: 3.9.3 +Standards-Version: 3.9.4 X-Python-Version: >= 2.4 Homepage: http://www.scons.org/ -Vcs-Git: git://git.debian.org/git/users/dktrkranz/scons.git -Vcs-Browser: http://git.debian.org/?p=users/dktrkranz/scons.git;a=summary +Vcs-Git: git://anonscm.debian.org/collab-maint/scons.git +Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/scons.git;a=summary Package: scons Architecture: all diff -Nru scons-2.2.0/debian/patches/java_ignore_nonexistent_files.patch scons-2.3.0/debian/patches/java_ignore_nonexistent_files.patch --- scons-2.2.0/debian/patches/java_ignore_nonexistent_files.patch 2012-08-20 21:28:09.000000000 +0000 +++ scons-2.3.0/debian/patches/java_ignore_nonexistent_files.patch 2013-05-05 09:48:50.000000000 +0000 @@ -1,18 +1,21 @@ -Description: Check for file/symlink existence before trying to use it in Java() +Description: Ignore nonexistent files before trying to use them in Java() Origin: Debian Bug-Debian: http://bugs.debian.org/338232 Forwarded: http://scons.tigris.org/issues/show_bug.cgi?id=2207 -Index: b/engine/SCons/Tool/javac.py +Index: scons/engine/SCons/Tool/JavaCommon.py =================================================================== ---- a/engine/SCons/Tool/javac.py 2010-01-23 15:11:20.016927869 +0100 -+++ b/engine/SCons/Tool/javac.py 2010-01-23 15:11:33.892932280 +0100 -@@ -90,6 +90,8 @@ - version = env.get('JAVAVERSION', '1.4') - full_tlist = [] - for f in slist: -+ if not os.path.exists(f.rfile().get_abspath()): -+ continue - tlist = [] - source_file_based = True - pkg_dir = None +--- scons.orig/engine/SCons/Tool/JavaCommon.py 2013-03-23 03:19:25.394200546 +0100 ++++ scons/engine/SCons/Tool/JavaCommon.py 2013-03-23 03:28:01.158216345 +0100 +@@ -282,7 +282,10 @@ + return self.outer_state + + def parse_java_file(fn, version=default_java_version): +- return parse_java(open(fn, 'r').read(), version) ++ try: ++ return parse_java(open(fn, 'r').read(), version) ++ except IOError: ++ return (None, []) + + def parse_java(contents, version=default_java_version, trace=None): + """Parse a .java file and return a double of package directory, diff -Nru scons-2.2.0/debian/patches/manpages.patch scons-2.3.0/debian/patches/manpages.patch --- scons-2.2.0/debian/patches/manpages.patch 1970-01-01 00:00:00.000000000 +0000 +++ scons-2.3.0/debian/patches/manpages.patch 2013-05-05 09:48:50.000000000 +0000 @@ -0,0 +1,92 @@ +Description: Fix spelling errors in the man pages +Author: Luca Falavigna + +Index: scons/scons-time.1 +=================================================================== +--- scons.orig/scons-time.1 2013-03-11 22:26:44.957856419 +0100 ++++ scons/scons-time.1 2013-03-12 18:40:32.016953762 +0100 +@@ -198,7 +198,7 @@ + .B --number= + option, + and can be used to look at the +-impact of commited changes to the ++impact of committed changes to the + SCons code base on a particular + configuration over time. + .P +@@ -645,7 +645,7 @@ + Specifies the run number to be used in the names of + the log files and profile outputs generated by this run. + .IP +-When used in conjuction with the ++When used in conjunction with the + .BI --aegis= PROJECT + option, + .I NUMBER +@@ -653,7 +653,7 @@ + that will be retrieved automatically from the specified Aegis + .IR PROJECT . + .IP +-When used in conjuction with the ++When used in conjunction with the + .BI --svn= URL + option, + .I NUMBER +Index: scons/scons.1 +=================================================================== +--- scons.orig/scons.1 2013-03-11 22:26:44.957856419 +0100 ++++ scons/scons.1 2013-03-12 18:42:09.364956744 +0100 +@@ -2903,7 +2903,7 @@ + This builder method is only + provided when Microsoft Visual C++ is being used as the compiler. + The PCH builder method is generally used in +-conjuction with the PCH construction variable to force object files to use ++conjunction with the PCH construction variable to force object files to use + the precompiled header: + + .ES +@@ -3081,7 +3081,7 @@ + .I "Example 2." + The \fBPOTUpdate\fP() builder may be used with no target specified, in which + case default target \fBmessages.pot\fP will be used. The +-default target may also be overriden by setting \fB$POTDOMAIN\fP construction ++default target may also be overridden by setting \fB$POTDOMAIN\fP construction + variable or providing it as an override to \fBPOTUpdate\fP() builder: + .ES + # SConstruct script +@@ -3189,7 +3189,7 @@ + (they're \fBIgnore\fPd from \fB'.'\fP node). Instead, + they are added automatically to special \fBAlias\fP + (\fB'po-update'\fP by default). The alias name may be changed +-through the \fB$POUPDATE_ALIAS\fP construction variable. You can easilly ++through the \fB$POUPDATE_ALIAS\fP construction variable. You can easily + update \fBPO\fP files in your project by \fBscons + po-update\fP. + +@@ -3858,7 +3858,7 @@ + \fBLINGUAS\fP file. Note, that the updated + \fBPOT\fP and \fBPO\fP files are usually going to be + committed back to the repository, so they must be updated within the source +-directory (and not in variant directories). Additionaly, the file listing of ++directory (and not in variant directories). Additionally, the file listing of + \fBpo/\fP directory contains \fBLINGUAS\fP file, + so the source tree looks familiar to translators, and they may work with the + project in their usual way. +@@ -5302,7 +5302,7 @@ + will print: + + .ES +-'$CC -c -o $TARGET $CCFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS $SOURCES' ++\'$CC -c -o $TARGET $CCFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS $SOURCES' + .EE + .IP + While this SConstruct: +@@ -15403,7 +15403,7 @@ + tools, if they are both installed, regardless of the order of the bin + directories in the PATH variable. If you have both MSVC and MinGW + installed and you want to use MinGW instead of MSVC, +-then you must explictly tell SCons to use MinGW by passing ++then you must explicitly tell SCons to use MinGW by passing + + .ES + tools=['mingw'] diff -Nru scons-2.2.0/debian/patches/remove_stale_files.patch scons-2.3.0/debian/patches/remove_stale_files.patch --- scons-2.2.0/debian/patches/remove_stale_files.patch 2012-08-20 21:28:09.000000000 +0000 +++ scons-2.3.0/debian/patches/remove_stale_files.patch 2013-05-05 09:48:50.000000000 +0000 @@ -7,7 +7,7 @@ =================================================================== --- a/engine/SCons/Script/Main.py 2010-01-23 15:11:19.624932557 +0100 +++ b/engine/SCons/Script/Main.py 2010-01-23 15:11:35.084931903 +0100 -@@ -1072,6 +1072,21 @@ +@@ -1073,6 +1073,21 @@ if not nodes: exit_status = 2 diff -Nru scons-2.2.0/debian/patches/series scons-2.3.0/debian/patches/series --- scons-2.2.0/debian/patches/series 2012-08-20 21:28:09.000000000 +0000 +++ scons-2.3.0/debian/patches/series 2013-05-05 09:48:50.000000000 +0000 @@ -1,3 +1,4 @@ java_ignore_nonexistent_files.patch remove_stale_files.patch parallel_build.patch +manpages.patch diff -Nru scons-2.2.0/engine/SCons/Action.py scons-2.3.0/engine/SCons/Action.py --- scons-2.2.0/engine/SCons/Action.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Action.py 2013-03-03 14:48:39.000000000 +0000 @@ -76,7 +76,7 @@ """ -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -97,7 +97,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. -__revision__ = "src/engine/SCons/Action.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Action.py 2013/03/03 09:48:35 garyo" import SCons.compat diff -Nru scons-2.2.0/engine/SCons/Builder.py scons-2.3.0/engine/SCons/Builder.py --- scons-2.2.0/engine/SCons/Builder.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Builder.py 2013-03-03 14:48:39.000000000 +0000 @@ -76,7 +76,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -97,7 +97,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. -__revision__ = "src/engine/SCons/Builder.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Builder.py 2013/03/03 09:48:35 garyo" import collections diff -Nru scons-2.2.0/engine/SCons/CacheDir.py scons-2.3.0/engine/SCons/CacheDir.py --- scons-2.2.0/engine/SCons/CacheDir.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/CacheDir.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -21,7 +21,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/CacheDir.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/CacheDir.py 2013/03/03 09:48:35 garyo" __doc__ = """ CacheDir support diff -Nru scons-2.2.0/engine/SCons/Debug.py scons-2.3.0/engine/SCons/Debug.py --- scons-2.2.0/engine/SCons/Debug.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Debug.py 2013-03-03 14:48:39.000000000 +0000 @@ -6,7 +6,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -28,7 +28,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Debug.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Debug.py 2013/03/03 09:48:35 garyo" import os import sys diff -Nru scons-2.2.0/engine/SCons/Defaults.py scons-2.3.0/engine/SCons/Defaults.py --- scons-2.2.0/engine/SCons/Defaults.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Defaults.py 2013-03-03 14:48:39.000000000 +0000 @@ -10,7 +10,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -33,7 +33,7 @@ # from __future__ import division -__revision__ = "src/engine/SCons/Defaults.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Defaults.py 2013/03/03 09:48:35 garyo" import os diff -Nru scons-2.2.0/engine/SCons/Environment.py scons-2.3.0/engine/SCons/Environment.py --- scons-2.2.0/engine/SCons/Environment.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Environment.py 2013-03-03 14:48:39.000000000 +0000 @@ -10,7 +10,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,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. -__revision__ = "src/engine/SCons/Environment.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Environment.py 2013/03/03 09:48:35 garyo" import copy @@ -2247,6 +2247,7 @@ install._UNIQUE_INSTALLED_FILES = SCons.Util.uniquer_hashables(install._INSTALLED_FILES) return install._UNIQUE_INSTALLED_FILES + class OverrideEnvironment(Base): """A proxy that overrides variables in a wrapped construction environment by returning values from an overrides dictionary in diff -Nru scons-2.2.0/engine/SCons/Errors.py scons-2.3.0/engine/SCons/Errors.py --- scons-2.2.0/engine/SCons/Errors.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Errors.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -28,7 +28,7 @@ """ -__revision__ = "src/engine/SCons/Errors.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Errors.py 2013/03/03 09:48:35 garyo" import SCons.Util diff -Nru scons-2.2.0/engine/SCons/Executor.py scons-2.3.0/engine/SCons/Executor.py --- scons-2.2.0/engine/SCons/Executor.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Executor.py 2013-03-03 14:48:39.000000000 +0000 @@ -6,7 +6,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -27,7 +27,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. -__revision__ = "src/engine/SCons/Executor.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Executor.py 2013/03/03 09:48:35 garyo" import collections diff -Nru scons-2.2.0/engine/SCons/Job.py scons-2.3.0/engine/SCons/Job.py --- scons-2.2.0/engine/SCons/Job.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Job.py 2013-03-03 14:48:39.000000000 +0000 @@ -7,7 +7,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -29,7 +29,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Job.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Job.py 2013/03/03 09:48:35 garyo" import SCons.compat diff -Nru scons-2.2.0/engine/SCons/Memoize.py scons-2.3.0/engine/SCons/Memoize.py --- scons-2.2.0/engine/SCons/Memoize.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Memoize.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -21,7 +21,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Memoize.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Memoize.py 2013/03/03 09:48:35 garyo" __doc__ = """Memoizer diff -Nru scons-2.2.0/engine/SCons/Node/Alias.py scons-2.3.0/engine/SCons/Node/Alias.py --- scons-2.2.0/engine/SCons/Node/Alias.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Node/Alias.py 2013-03-03 14:48:39.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Node/Alias.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Node/Alias.py 2013/03/03 09:48:35 garyo" import collections diff -Nru scons-2.2.0/engine/SCons/Node/FS.py scons-2.3.0/engine/SCons/Node/FS.py --- scons-2.2.0/engine/SCons/Node/FS.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Node/FS.py 2013-03-03 14:48:39.000000000 +0000 @@ -11,7 +11,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -32,7 +32,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. -__revision__ = "src/engine/SCons/Node/FS.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Node/FS.py 2013/03/03 09:48:35 garyo" import fnmatch import os diff -Nru scons-2.2.0/engine/SCons/Node/Python.py scons-2.3.0/engine/SCons/Node/Python.py --- scons-2.2.0/engine/SCons/Node/Python.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Node/Python.py 2013-03-03 14:48:39.000000000 +0000 @@ -5,7 +5,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -27,7 +27,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Node/Python.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Node/Python.py 2013/03/03 09:48:35 garyo" import SCons.Node diff -Nru scons-2.2.0/engine/SCons/Node/__init__.py scons-2.3.0/engine/SCons/Node/__init__.py --- scons-2.2.0/engine/SCons/Node/__init__.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Node/__init__.py 2013-03-03 14:48:39.000000000 +0000 @@ -20,7 +20,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -41,7 +41,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. -__revision__ = "src/engine/SCons/Node/__init__.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Node/__init__.py 2013/03/03 09:48:35 garyo" import collections import copy diff -Nru scons-2.2.0/engine/SCons/Options/BoolOption.py scons-2.3.0/engine/SCons/Options/BoolOption.py --- scons-2.2.0/engine/SCons/Options/BoolOption.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Options/BoolOption.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -21,7 +21,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Options/BoolOption.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Options/BoolOption.py 2013/03/03 09:48:35 garyo" __doc__ = """Place-holder for the old SCons.Options module hierarchy diff -Nru scons-2.2.0/engine/SCons/Options/EnumOption.py scons-2.3.0/engine/SCons/Options/EnumOption.py --- scons-2.2.0/engine/SCons/Options/EnumOption.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Options/EnumOption.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -21,7 +21,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Options/EnumOption.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Options/EnumOption.py 2013/03/03 09:48:35 garyo" __doc__ = """Place-holder for the old SCons.Options module hierarchy diff -Nru scons-2.2.0/engine/SCons/Options/ListOption.py scons-2.3.0/engine/SCons/Options/ListOption.py --- scons-2.2.0/engine/SCons/Options/ListOption.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Options/ListOption.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -21,7 +21,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Options/ListOption.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Options/ListOption.py 2013/03/03 09:48:35 garyo" __doc__ = """Place-holder for the old SCons.Options module hierarchy diff -Nru scons-2.2.0/engine/SCons/Options/PackageOption.py scons-2.3.0/engine/SCons/Options/PackageOption.py --- scons-2.2.0/engine/SCons/Options/PackageOption.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Options/PackageOption.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -21,7 +21,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Options/PackageOption.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Options/PackageOption.py 2013/03/03 09:48:35 garyo" __doc__ = """Place-holder for the old SCons.Options module hierarchy diff -Nru scons-2.2.0/engine/SCons/Options/PathOption.py scons-2.3.0/engine/SCons/Options/PathOption.py --- scons-2.2.0/engine/SCons/Options/PathOption.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Options/PathOption.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -21,7 +21,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Options/PathOption.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Options/PathOption.py 2013/03/03 09:48:35 garyo" __doc__ = """Place-holder for the old SCons.Options module hierarchy diff -Nru scons-2.2.0/engine/SCons/Options/__init__.py scons-2.3.0/engine/SCons/Options/__init__.py --- scons-2.2.0/engine/SCons/Options/__init__.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Options/__init__.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -21,7 +21,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Options/__init__.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Options/__init__.py 2013/03/03 09:48:35 garyo" __doc__ = """Place-holder for the old SCons.Options module hierarchy diff -Nru scons-2.2.0/engine/SCons/PathList.py scons-2.3.0/engine/SCons/PathList.py --- scons-2.2.0/engine/SCons/PathList.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/PathList.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -21,7 +21,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/PathList.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/PathList.py 2013/03/03 09:48:35 garyo" __doc__ = """SCons.PathList @@ -131,12 +131,14 @@ value = env.subst(value, target=target, source=source, conv=node_conv) if SCons.Util.is_Sequence(value): - result.extend(value) - continue - + result.extend(SCons.Util.flatten(value)) + elif value: + result.append(value) elif type == TYPE_OBJECT: value = node_conv(value) - if value: + if value: + result.append(value) + elif value: result.append(value) return tuple(result) diff -Nru scons-2.2.0/engine/SCons/Platform/__init__.py scons-2.3.0/engine/SCons/Platform/__init__.py --- scons-2.2.0/engine/SCons/Platform/__init__.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Platform/__init__.py 2013-03-03 14:48:39.000000000 +0000 @@ -20,7 +20,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -42,7 +42,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Platform/__init__.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Platform/__init__.py 2013/03/03 09:48:35 garyo" import SCons.compat diff -Nru scons-2.2.0/engine/SCons/Platform/aix.py scons-2.3.0/engine/SCons/Platform/aix.py --- scons-2.2.0/engine/SCons/Platform/aix.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Platform/aix.py 2013-03-03 14:48:39.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Platform/aix.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Platform/aix.py 2013/03/03 09:48:35 garyo" import os diff -Nru scons-2.2.0/engine/SCons/Platform/cygwin.py scons-2.3.0/engine/SCons/Platform/cygwin.py --- scons-2.2.0/engine/SCons/Platform/cygwin.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Platform/cygwin.py 2013-03-03 14:48:39.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Platform/cygwin.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Platform/cygwin.py 2013/03/03 09:48:35 garyo" import posix from SCons.Platform import TempFileMunge diff -Nru scons-2.2.0/engine/SCons/Platform/darwin.py scons-2.3.0/engine/SCons/Platform/darwin.py --- scons-2.2.0/engine/SCons/Platform/darwin.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Platform/darwin.py 2013-03-03 14:48:39.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Platform/darwin.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Platform/darwin.py 2013/03/03 09:48:35 garyo" import posix import os diff -Nru scons-2.2.0/engine/SCons/Platform/hpux.py scons-2.3.0/engine/SCons/Platform/hpux.py --- scons-2.2.0/engine/SCons/Platform/hpux.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Platform/hpux.py 2013-03-03 14:48:39.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Platform/hpux.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Platform/hpux.py 2013/03/03 09:48:35 garyo" import posix diff -Nru scons-2.2.0/engine/SCons/Platform/irix.py scons-2.3.0/engine/SCons/Platform/irix.py --- scons-2.2.0/engine/SCons/Platform/irix.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Platform/irix.py 2013-03-03 14:48:39.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Platform/irix.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Platform/irix.py 2013/03/03 09:48:35 garyo" import posix diff -Nru scons-2.2.0/engine/SCons/Platform/os2.py scons-2.3.0/engine/SCons/Platform/os2.py --- scons-2.2.0/engine/SCons/Platform/os2.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Platform/os2.py 2013-03-03 14:48:39.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Platform/os2.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Platform/os2.py 2013/03/03 09:48:35 garyo" import win32 def generate(env): diff -Nru scons-2.2.0/engine/SCons/Platform/posix.py scons-2.3.0/engine/SCons/Platform/posix.py --- scons-2.2.0/engine/SCons/Platform/posix.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Platform/posix.py 2013-03-03 14:48:39.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Platform/posix.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Platform/posix.py 2013/03/03 09:48:35 garyo" import errno import os diff -Nru scons-2.2.0/engine/SCons/Platform/sunos.py scons-2.3.0/engine/SCons/Platform/sunos.py --- scons-2.2.0/engine/SCons/Platform/sunos.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Platform/sunos.py 2013-03-03 14:48:39.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Platform/sunos.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Platform/sunos.py 2013/03/03 09:48:35 garyo" import posix diff -Nru scons-2.2.0/engine/SCons/Platform/win32.py scons-2.3.0/engine/SCons/Platform/win32.py --- scons-2.2.0/engine/SCons/Platform/win32.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Platform/win32.py 2013-03-03 14:48:39.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Platform/win32.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Platform/win32.py 2013/03/03 09:48:35 garyo" import os import os.path @@ -81,8 +81,39 @@ builtins.file = _scons_file builtins.open = _scons_open - - +try: + import threading + spawn_lock = threading.Lock() + + # This locked version of spawnve works around a Windows + # MSVCRT bug, because its spawnve is not thread-safe. + # Without this, python can randomly crash while using -jN. + # See the python bug at http://bugs.python.org/issue6476 + # and SCons issue at + # http://scons.tigris.org/issues/show_bug.cgi?id=2449 + def spawnve(mode, file, args, env): + spawn_lock.acquire() + try: + if mode == os.P_WAIT: + ret = os.spawnve(os.P_NOWAIT, file, args, env) + else: + ret = os.spawnve(mode, file, args, env) + finally: + spawn_lock.release() + if mode == os.P_WAIT: + pid, status = os.waitpid(ret, 0) + ret = status >> 8 + return ret +except ImportError: + # Use the unsafe method of spawnve. + # Please, don't try to optimize this try-except block + # away by assuming that the threading module is always present. + # In the test test/option-j.py we intentionally call SCons with + # a fake threading.py that raises an import exception right away, + # simulating a non-existent package. + def spawnve(mode, file, args, env): + return os.spawnve(mode, file, args, env) + # The upshot of all this is that, if you are using Python 1.5.2, # you had better have cmd or command.com in your PATH when you run # scons. @@ -123,7 +154,7 @@ # actually do the spawn try: args = [sh, '/C', escape(' '.join(args)) ] - ret = os.spawnve(os.P_WAIT, sh, args, env) + ret = spawnve(os.P_WAIT, sh, args, env) except OSError, e: # catch any error try: @@ -151,7 +182,7 @@ def exec_spawn(l, env): try: - result = os.spawnve(os.P_WAIT, l[0], l, env) + result = spawnve(os.P_WAIT, l[0], l, env) except OSError, e: try: result = exitvalmap[e[0]] diff -Nru scons-2.2.0/engine/SCons/SConf.py scons-2.3.0/engine/SCons/SConf.py --- scons-2.2.0/engine/SCons/SConf.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/SConf.py 2013-03-03 14:48:39.000000000 +0000 @@ -4,7 +4,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -26,7 +26,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/SConf.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/SConf.py 2013/03/03 09:48:35 garyo" import SCons.compat diff -Nru scons-2.2.0/engine/SCons/SConsign.py scons-2.3.0/engine/SCons/SConsign.py --- scons-2.2.0/engine/SCons/SConsign.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/SConsign.py 2013-03-03 14:48:39.000000000 +0000 @@ -5,7 +5,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -27,7 +27,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/SConsign.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/SConsign.py 2013/03/03 09:48:35 garyo" import SCons.compat diff -Nru scons-2.2.0/engine/SCons/Scanner/C.py scons-2.3.0/engine/SCons/Scanner/C.py --- scons-2.2.0/engine/SCons/Scanner/C.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Scanner/C.py 2013-03-03 14:48:39.000000000 +0000 @@ -5,7 +5,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -27,7 +27,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Scanner/C.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Scanner/C.py 2013/03/03 09:48:35 garyo" import SCons.Node.FS import SCons.Scanner diff -Nru scons-2.2.0/engine/SCons/Scanner/D.py scons-2.3.0/engine/SCons/Scanner/D.py --- scons-2.2.0/engine/SCons/Scanner/D.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Scanner/D.py 2013-03-03 14:48:39.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Scanner/D.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Scanner/D.py 2013/03/03 09:48:35 garyo" import re diff -Nru scons-2.2.0/engine/SCons/Scanner/Dir.py scons-2.3.0/engine/SCons/Scanner/Dir.py --- scons-2.2.0/engine/SCons/Scanner/Dir.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Scanner/Dir.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -20,7 +20,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. -__revision__ = "src/engine/SCons/Scanner/Dir.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Scanner/Dir.py 2013/03/03 09:48:35 garyo" import SCons.Node.FS import SCons.Scanner diff -Nru scons-2.2.0/engine/SCons/Scanner/Fortran.py scons-2.3.0/engine/SCons/Scanner/Fortran.py --- scons-2.2.0/engine/SCons/Scanner/Fortran.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Scanner/Fortran.py 2013-03-03 14:48:39.000000000 +0000 @@ -5,7 +5,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -26,7 +26,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. -__revision__ = "src/engine/SCons/Scanner/Fortran.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Scanner/Fortran.py 2013/03/03 09:48:35 garyo" import re diff -Nru scons-2.2.0/engine/SCons/Scanner/IDL.py scons-2.3.0/engine/SCons/Scanner/IDL.py --- scons-2.2.0/engine/SCons/Scanner/IDL.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Scanner/IDL.py 2013-03-03 14:48:39.000000000 +0000 @@ -6,7 +6,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -28,7 +28,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Scanner/IDL.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Scanner/IDL.py 2013/03/03 09:48:35 garyo" import SCons.Node.FS import SCons.Scanner diff -Nru scons-2.2.0/engine/SCons/Scanner/LaTeX.py scons-2.3.0/engine/SCons/Scanner/LaTeX.py --- scons-2.2.0/engine/SCons/Scanner/LaTeX.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Scanner/LaTeX.py 2013-03-03 14:48:39.000000000 +0000 @@ -5,7 +5,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -27,7 +27,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Scanner/LaTeX.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Scanner/LaTeX.py 2013/03/03 09:48:35 garyo" import os.path import re diff -Nru scons-2.2.0/engine/SCons/Scanner/Prog.py scons-2.3.0/engine/SCons/Scanner/Prog.py --- scons-2.2.0/engine/SCons/Scanner/Prog.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Scanner/Prog.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -21,7 +21,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Scanner/Prog.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Scanner/Prog.py 2013/03/03 09:48:35 garyo" import SCons.Node import SCons.Node.FS diff -Nru scons-2.2.0/engine/SCons/Scanner/RC.py scons-2.3.0/engine/SCons/Scanner/RC.py --- scons-2.2.0/engine/SCons/Scanner/RC.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Scanner/RC.py 2013-03-03 14:48:39.000000000 +0000 @@ -6,7 +6,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -28,7 +28,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Scanner/RC.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Scanner/RC.py 2013/03/03 09:48:35 garyo" import SCons.Node.FS import SCons.Scanner diff -Nru scons-2.2.0/engine/SCons/Scanner/__init__.py scons-2.3.0/engine/SCons/Scanner/__init__.py --- scons-2.2.0/engine/SCons/Scanner/__init__.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Scanner/__init__.py 2013-03-03 14:48:39.000000000 +0000 @@ -5,7 +5,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -27,7 +27,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Scanner/__init__.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Scanner/__init__.py 2013/03/03 09:48:35 garyo" import re diff -Nru scons-2.2.0/engine/SCons/Script/Interactive.py scons-2.3.0/engine/SCons/Script/Interactive.py --- scons-2.2.0/engine/SCons/Script/Interactive.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Script/Interactive.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -20,7 +20,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. -__revision__ = "src/engine/SCons/Script/Interactive.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Script/Interactive.py 2013/03/03 09:48:35 garyo" __doc__ = """ SCons interactive mode diff -Nru scons-2.2.0/engine/SCons/Script/Main.py scons-2.3.0/engine/SCons/Script/Main.py --- scons-2.2.0/engine/SCons/Script/Main.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Script/Main.py 2013-03-03 14:48:39.000000000 +0000 @@ -11,9 +11,9 @@ """ unsupported_python_version = (2, 3, 0) -deprecated_python_version = (2, 4, 0) +deprecated_python_version = (2, 7, 0) -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -34,7 +34,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. -__revision__ = "src/engine/SCons/Script/Main.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Script/Main.py 2013/03/03 09:48:35 garyo" import SCons.compat @@ -187,7 +187,7 @@ finish_time = time.time() last_command_end = finish_time cumulative_command_time = cumulative_command_time+finish_time-start_time - sys.stdout.write("Command execution time: %f seconds\n"%(finish_time-start_time)) + sys.stdout.write("Command execution time: %s: %f seconds\n"%(str(self.node), finish_time-start_time)) def do_failed(self, status=2): _BuildFailures.append(self.exception[1]) @@ -203,7 +203,7 @@ SCons.Taskmaster.OutOfDateTask.fail_stop(self) exit_status = status this_build_status = status - + def executed(self): t = self.targets[0] if self.top and not t.has_builder() and not t.side_effect: @@ -248,7 +248,7 @@ except ValueError: t, e = exc_info tb = None - + # Deprecated string exceptions will have their string stored # in the first entry of the tuple. if e is None: @@ -266,9 +266,9 @@ errfmt = "scons: *** [%s] %s\n" sys.stderr.write(errfmt % (nodename, buildError)) - if (buildError.exc_info[2] and buildError.exc_info[1] and + if (buildError.exc_info[2] and buildError.exc_info[1] and not isinstance( - buildError.exc_info[1], + buildError.exc_info[1], (EnvironmentError, SCons.Errors.StopError, SCons.Errors.UserError))): type, value, trace = buildError.exc_info @@ -546,7 +546,7 @@ Input is a "pre-processed" stack trace in the form returned by traceback.extract_tb() or traceback.extract_stack() """ - + tb.reverse() # find the deepest traceback frame that is not part @@ -559,7 +559,7 @@ def _scons_user_error(e): """Handle user errors. Print out a message and a description of the - error, along with the line number and routine where it occured. + error, along with the line number and routine where it occured. The file and line number will be the deepest stack frame that is not part of SCons itself. """ @@ -677,7 +677,7 @@ else: site_dir_name = "site_scons" err_if_not_found = False - + site_dir = os.path.join(topdir, site_dir_name) if not os.path.exists(site_dir): if err_if_not_found: @@ -934,7 +934,7 @@ _load_site_scons_dir(d.path, options.site_dir) elif not options.no_site_dir: _load_all_site_scons_dirs(d.path) - + if options.include_dir: sys.path = options.include_dir + sys.path @@ -1009,10 +1009,11 @@ # warning about deprecated Python versions--delayed until here # in case they disabled the warning in the SConscript files. if python_version_deprecated(): - msg = "Support for pre-2.4 Python (%s) is deprecated.\n" + \ + msg = "Support for pre-%s Python version (%s) is deprecated.\n" + \ " If this will cause hardship, contact dev@scons.tigris.org." + deprecated_version_string = ".".join(map(str, deprecated_python_version)) SCons.Warnings.warn(SCons.Warnings.PythonVersionWarning, - msg % python_version_string()) + msg % (deprecated_version_string, python_version_string())) if not options.help: SCons.SConf.CreateConfigHBuilder(SCons.Defaults.DefaultEnvironment()) @@ -1133,7 +1134,7 @@ # x doesn't have a cwd, so it's either not a target, # or not a file, so go ahead and keep it as a default # target and let the engine sort it out: - return 1 + return 1 d = list(filter(check_dir, SCons.Script.DEFAULT_TARGETS)) SCons.Script.DEFAULT_TARGETS[:] = d target_top = None @@ -1327,10 +1328,10 @@ except (ImportError, AttributeError): # On Windows there is no scons.py, so there is no # __main__.__version__, hence there is no script version. - pass + pass parts.append(version_string("engine", SCons)) parts.append(path_string("engine", SCons)) - parts.append("Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation") + parts.append("Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation") version = ''.join(parts) import SConsOptions @@ -1338,7 +1339,7 @@ values = SConsOptions.SConsValues(parser.get_default_values()) OptionsParser = parser - + try: _exec_main(parser, values) except SystemExit, s: diff -Nru scons-2.2.0/engine/SCons/Script/SConsOptions.py scons-2.3.0/engine/SCons/Script/SConsOptions.py --- scons-2.2.0/engine/SCons/Script/SConsOptions.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Script/SConsOptions.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -21,7 +21,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Script/SConsOptions.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Script/SConsOptions.py 2013/03/03 09:48:35 garyo" import optparse import re @@ -268,8 +268,9 @@ preserve_unknown_options = False def error(self, msg): + # overriden OptionValueError exception handler self.print_usage(sys.stderr) - sys.stderr.write("SCons error: %s\n" % msg) + sys.stderr.write("SCons Error: %s\n" % msg) sys.exit(2) def _process_long_opt(self, rargs, values): @@ -568,11 +569,15 @@ action="store_true", help="Print build actions for files from CacheDir.") + def opt_invalid(group, value, options): + errmsg = "`%s' is not a valid %s option type, try:\n" % (value, group) + return errmsg + " %s" % ", ".join(options) + config_options = ["auto", "force" ,"cache"] def opt_config(option, opt, value, parser, c_options=config_options): if not value in c_options: - raise OptionValueError("Warning: %s is not a valid config type" % value) + raise OptionValueError(opt_invalid('config', value, c_options)) setattr(parser.values, option.dest, value) opt_config_help = "Controls Configure subsystem: %s." \ % ", ".join(config_options) @@ -599,24 +604,25 @@ debug_options = ["count", "duplicate", "explain", "findlibs", "includes", "memoizer", "memory", "objects", "pdb", "prepare", "presub", "stacktrace", - "time"] + list(deprecated_debug_options.keys()) + "time"] def opt_debug(option, opt, value, parser, debug_options=debug_options, deprecated_debug_options=deprecated_debug_options): if value in debug_options: parser.values.debug.append(value) - if value in deprecated_debug_options.keys(): - try: - parser.values.delayed_warnings - except AttributeError: - parser.values.delayed_warnings = [] - msg = deprecated_debug_options[value] - w = "The --debug=%s option is deprecated%s." % (value, msg) - t = (SCons.Warnings.DeprecatedDebugOptionsWarning, w) - parser.values.delayed_warnings.append(t) + elif value in deprecated_debug_options.keys(): + parser.values.debug.append(value) + try: + parser.values.delayed_warnings + except AttributeError: + parser.values.delayed_warnings = [] + msg = deprecated_debug_options[value] + w = "The --debug=%s option is deprecated%s." % (value, msg) + t = (SCons.Warnings.DeprecatedDebugOptionsWarning, w) + parser.values.delayed_warnings.append(t) else: - raise OptionValueError("Warning: %s is not a valid debug type" % value) + raise OptionValueError(opt_invalid('debug', value, debug_options)) opt_debug_help = "Print various types of debugging information: %s." \ % ", ".join(debug_options) op.add_option('--debug', @@ -630,7 +636,7 @@ try: diskcheck_value = diskcheck_convert(value) except ValueError, e: - raise OptionValueError("Warning: `%s' is not a valid diskcheck type" % e) + raise OptionValueError("`%s' is not a valid diskcheck type" % e) setattr(parser.values, option.dest, diskcheck_value) op.add_option('--diskcheck', @@ -642,7 +648,8 @@ def opt_duplicate(option, opt, value, parser): if not value in SCons.Node.FS.Valid_Duplicates: - raise OptionValueError("`%s' is not a valid duplication style." % value) + raise OptionValueError(opt_invalid('duplication', value, + SCons.Node.FS.Valid_Duplicates)) setattr(parser.values, option.dest, value) # Set the duplicate style right away so it can affect linking # of SConscript files. @@ -807,7 +814,7 @@ elif o == 'status': tp.status = True else: - raise OptionValueError("Warning: %s is not a valid --tree option" % o) + raise OptionValueError(opt_invalid('--tree', o, tree_options)) parser.values.tree_printers.append(tp) opt_tree_help = "Print a dependency tree in various formats: %s." \ diff -Nru scons-2.2.0/engine/SCons/Script/SConscript.py scons-2.3.0/engine/SCons/Script/SConscript.py --- scons-2.2.0/engine/SCons/Script/SConscript.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Script/SConscript.py 2013-03-03 14:48:39.000000000 +0000 @@ -6,7 +6,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -28,7 +28,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. from __future__ import division -__revision__ = "src/engine/SCons/Script/SConscript.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Script/SConscript.py 2013/03/03 09:48:35 garyo" import SCons import SCons.Action @@ -473,13 +473,8 @@ def EnsurePythonVersion(self, major, minor): """Exit abnormally if the Python version is not late enough.""" - try: - v_major, v_minor, v_micro, release, serial = sys.version_info - python_ver = (v_major, v_minor) - except AttributeError: - python_ver = self._get_major_minor_revision(sys.version)[:2] - if python_ver < (major, minor): - v = sys.version.split(" ", 1)[0] + if sys.version_info < (major, minor): + v = sys.version.split()[0] print "Python %d.%d or greater required, but you have Python %s" %(major,minor,v) sys.exit(2) diff -Nru scons-2.2.0/engine/SCons/Script/__init__.py scons-2.3.0/engine/SCons/Script/__init__.py --- scons-2.2.0/engine/SCons/Script/__init__.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Script/__init__.py 2013-03-03 14:48:39.000000000 +0000 @@ -12,7 +12,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -34,7 +34,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Script/__init__.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Script/__init__.py 2013/03/03 09:48:35 garyo" import time start_time = time.time() diff -Nru scons-2.2.0/engine/SCons/Sig.py scons-2.3.0/engine/SCons/Sig.py --- scons-2.2.0/engine/SCons/Sig.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Sig.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -21,7 +21,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Sig.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Sig.py 2013/03/03 09:48:35 garyo" __doc__ = """Place-holder for the old SCons.Sig module hierarchy diff -Nru scons-2.2.0/engine/SCons/Subst.py scons-2.3.0/engine/SCons/Subst.py --- scons-2.2.0/engine/SCons/Subst.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Subst.py 2013-03-03 14:48:39.000000000 +0000 @@ -5,7 +5,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -26,7 +26,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. -__revision__ = "src/engine/SCons/Subst.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Subst.py 2013/03/03 09:48:35 garyo" import collections import re diff -Nru scons-2.2.0/engine/SCons/Taskmaster.py scons-2.3.0/engine/SCons/Taskmaster.py --- scons-2.2.0/engine/SCons/Taskmaster.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Taskmaster.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -47,7 +47,7 @@ target(s) that it decides need to be evaluated and/or built. """ -__revision__ = "src/engine/SCons/Taskmaster.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Taskmaster.py 2013/03/03 09:48:35 garyo" from itertools import chain import operator diff -Nru scons-2.2.0/engine/SCons/Tool/386asm.py scons-2.3.0/engine/SCons/Tool/386asm.py --- scons-2.2.0/engine/SCons/Tool/386asm.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/386asm.py 2013-03-03 14:48:39.000000000 +0000 @@ -10,7 +10,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -32,7 +32,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/386asm.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/386asm.py 2013/03/03 09:48:35 garyo" from SCons.Tool.PharLapCommon import addPharLapPaths import SCons.Util diff -Nru scons-2.2.0/engine/SCons/Tool/BitKeeper.py scons-2.3.0/engine/SCons/Tool/BitKeeper.py --- scons-2.2.0/engine/SCons/Tool/BitKeeper.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/BitKeeper.py 2013-03-03 14:48:39.000000000 +0000 @@ -10,7 +10,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -32,7 +32,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/BitKeeper.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/BitKeeper.py 2013/03/03 09:48:35 garyo" import SCons.Action import SCons.Builder diff -Nru scons-2.2.0/engine/SCons/Tool/CVS.py scons-2.3.0/engine/SCons/Tool/CVS.py --- scons-2.2.0/engine/SCons/Tool/CVS.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/CVS.py 2013-03-03 14:48:39.000000000 +0000 @@ -8,7 +8,7 @@ """ -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -29,7 +29,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. -__revision__ = "src/engine/SCons/Tool/CVS.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/CVS.py 2013/03/03 09:48:35 garyo" import SCons.Action import SCons.Builder diff -Nru scons-2.2.0/engine/SCons/Tool/FortranCommon.py scons-2.3.0/engine/SCons/Tool/FortranCommon.py --- scons-2.2.0/engine/SCons/Tool/FortranCommon.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/FortranCommon.py 2013-03-03 14:48:40.000000000 +0000 @@ -5,7 +5,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -27,7 +27,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/FortranCommon.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/FortranCommon.py 2013/03/03 09:48:35 garyo" import re import os.path diff -Nru scons-2.2.0/engine/SCons/Tool/GettextCommon.py scons-2.3.0/engine/SCons/Tool/GettextCommon.py --- scons-2.2.0/engine/SCons/Tool/GettextCommon.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/GettextCommon.py 2013-03-03 14:48:40.000000000 +0000 @@ -3,7 +3,7 @@ Used by several tools of `gettext` toolset. """ -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -24,7 +24,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. -__revision__ = "src/engine/SCons/Tool/GettextCommon.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/GettextCommon.py 2013/03/03 09:48:35 garyo" import SCons.Warnings import re @@ -225,8 +225,9 @@ import SCons.Environment ############################################################################# -def _translate(env, target=[], source=SCons.Environment._null, *args, **kw): +def _translate(env, target=None, source=SCons.Environment._null, *args, **kw): """ Function for `Translate()` pseudo-builder """ + if target is None: target = [] pot = env.POTUpdate(None, source, *args, **kw) po = env.POUpdate(target, pot, *args, **kw) return po diff -Nru scons-2.2.0/engine/SCons/Tool/JavaCommon.py scons-2.3.0/engine/SCons/Tool/JavaCommon.py --- scons-2.2.0/engine/SCons/Tool/JavaCommon.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/JavaCommon.py 2013-03-03 14:48:40.000000000 +0000 @@ -5,7 +5,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -27,7 +27,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/JavaCommon.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/JavaCommon.py 2013/03/03 09:48:35 garyo" import os import os.path @@ -64,7 +64,7 @@ interfaces, and anonymous inner classes.""" def __init__(self, version=default_java_version): - if not version in ('1.1', '1.2', '1.3','1.4', '1.5', '1.6', + if not version in ('1.1', '1.2', '1.3','1.4', '1.5', '1.6', '1.7', '5', '6'): msg = "Java version %s not supported" % version raise NotImplementedError(msg) @@ -171,7 +171,7 @@ if self.version in ('1.1', '1.2', '1.3', '1.4'): clazz = self.listClasses[0] self.listOutputs.append('%s$%d' % (clazz, self.nextAnon)) - elif self.version in ('1.5', '1.6', '5', '6'): + elif self.version in ('1.5', '1.6', '1.7', '5', '6'): self.stackAnonClassBrackets.append(self.brackets) className = [] className.extend(self.listClasses) diff -Nru scons-2.2.0/engine/SCons/Tool/MSCommon/__init__.py scons-2.3.0/engine/SCons/Tool/MSCommon/__init__.py --- scons-2.2.0/engine/SCons/Tool/MSCommon/__init__.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/MSCommon/__init__.py 2013-03-03 14:48:40.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -21,7 +21,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/MSCommon/__init__.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/MSCommon/__init__.py 2013/03/03 09:48:35 garyo" __doc__ = """ Common functions for Microsoft Visual Studio and Visual C/C++. diff -Nru scons-2.2.0/engine/SCons/Tool/MSCommon/arch.py scons-2.3.0/engine/SCons/Tool/MSCommon/arch.py --- scons-2.2.0/engine/SCons/Tool/MSCommon/arch.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/MSCommon/arch.py 2013-03-03 14:48:40.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -21,7 +21,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/MSCommon/arch.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/MSCommon/arch.py 2013/03/03 09:48:35 garyo" __doc__ = """Module to define supported Windows chip architectures. """ diff -Nru scons-2.2.0/engine/SCons/Tool/MSCommon/common.py scons-2.3.0/engine/SCons/Tool/MSCommon/common.py --- scons-2.2.0/engine/SCons/Tool/MSCommon/common.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/MSCommon/common.py 2013-03-03 14:48:40.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -21,7 +21,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/MSCommon/common.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/MSCommon/common.py 2013/03/03 09:48:35 garyo" __doc__ = """ Common helper functions for working with the Microsoft tool chain. @@ -136,6 +136,8 @@ # settings in vs.py. vars = [ 'COMSPEC', + 'VS110COMNTOOLS', + 'VS100COMNTOOLS', 'VS90COMNTOOLS', 'VS80COMNTOOLS', 'VS71COMNTOOLS', diff -Nru scons-2.2.0/engine/SCons/Tool/MSCommon/netframework.py scons-2.3.0/engine/SCons/Tool/MSCommon/netframework.py --- scons-2.2.0/engine/SCons/Tool/MSCommon/netframework.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/MSCommon/netframework.py 2013-03-03 14:48:40.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -20,7 +20,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. -__revision__ = "src/engine/SCons/Tool/MSCommon/netframework.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/MSCommon/netframework.py 2013/03/03 09:48:35 garyo" __doc__ = """ """ diff -Nru scons-2.2.0/engine/SCons/Tool/MSCommon/sdk.py scons-2.3.0/engine/SCons/Tool/MSCommon/sdk.py --- scons-2.2.0/engine/SCons/Tool/MSCommon/sdk.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/MSCommon/sdk.py 2013-03-03 14:48:40.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -21,7 +21,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/MSCommon/sdk.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/MSCommon/sdk.py 2013/03/03 09:48:35 garyo" __doc__ = """Module to detect the Platform/Windows SDK diff -Nru scons-2.2.0/engine/SCons/Tool/MSCommon/vc.py scons-2.3.0/engine/SCons/Tool/MSCommon/vc.py --- scons-2.2.0/engine/SCons/Tool/MSCommon/vc.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/MSCommon/vc.py 2013-03-03 14:48:40.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # * test on 64 bits XP + VS 2005 (and VS 6 if possible) # * SDK # * Assembly -__revision__ = "src/engine/SCons/Tool/MSCommon/vc.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/MSCommon/vc.py 2013/03/03 09:48:35 garyo" __doc__ = """Module for Visual C/C++ detection and configuration. """ diff -Nru scons-2.2.0/engine/SCons/Tool/MSCommon/vs.py scons-2.3.0/engine/SCons/Tool/MSCommon/vs.py --- scons-2.2.0/engine/SCons/Tool/MSCommon/vs.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/MSCommon/vs.py 2013-03-03 14:48:40.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -21,7 +21,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/MSCommon/vs.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/MSCommon/vs.py 2013/03/03 09:48:35 garyo" __doc__ = """Module to detect Visual Studio and/or Visual C/C++ """ diff -Nru scons-2.2.0/engine/SCons/Tool/Perforce.py scons-2.3.0/engine/SCons/Tool/Perforce.py --- scons-2.2.0/engine/SCons/Tool/Perforce.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/Perforce.py 2013-03-03 14:48:40.000000000 +0000 @@ -8,7 +8,7 @@ """ -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -29,7 +29,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. -__revision__ = "src/engine/SCons/Tool/Perforce.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/Perforce.py 2013/03/03 09:48:35 garyo" import os diff -Nru scons-2.2.0/engine/SCons/Tool/PharLapCommon.py scons-2.3.0/engine/SCons/Tool/PharLapCommon.py --- scons-2.2.0/engine/SCons/Tool/PharLapCommon.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/PharLapCommon.py 2013-03-03 14:48:40.000000000 +0000 @@ -7,7 +7,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -29,7 +29,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/PharLapCommon.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/PharLapCommon.py 2013/03/03 09:48:35 garyo" import os import os.path diff -Nru scons-2.2.0/engine/SCons/Tool/RCS.py scons-2.3.0/engine/SCons/Tool/RCS.py --- scons-2.2.0/engine/SCons/Tool/RCS.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/RCS.py 2013-03-03 14:48:40.000000000 +0000 @@ -8,7 +8,7 @@ """ -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -29,7 +29,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. -__revision__ = "src/engine/SCons/Tool/RCS.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/RCS.py 2013/03/03 09:48:35 garyo" import SCons.Action import SCons.Builder diff -Nru scons-2.2.0/engine/SCons/Tool/SCCS.py scons-2.3.0/engine/SCons/Tool/SCCS.py --- scons-2.2.0/engine/SCons/Tool/SCCS.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/SCCS.py 2013-03-03 14:48:40.000000000 +0000 @@ -8,7 +8,7 @@ """ -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -29,7 +29,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. -__revision__ = "src/engine/SCons/Tool/SCCS.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/SCCS.py 2013/03/03 09:48:35 garyo" import SCons.Action import SCons.Builder diff -Nru scons-2.2.0/engine/SCons/Tool/Subversion.py scons-2.3.0/engine/SCons/Tool/Subversion.py --- scons-2.2.0/engine/SCons/Tool/Subversion.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/Subversion.py 2013-03-03 14:48:40.000000000 +0000 @@ -8,7 +8,7 @@ """ -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -29,7 +29,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. -__revision__ = "src/engine/SCons/Tool/Subversion.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/Subversion.py 2013/03/03 09:48:35 garyo" import os.path diff -Nru scons-2.2.0/engine/SCons/Tool/__init__.py scons-2.3.0/engine/SCons/Tool/__init__.py --- scons-2.2.0/engine/SCons/Tool/__init__.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/__init__.py 2013-03-03 14:48:39.000000000 +0000 @@ -14,7 +14,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -35,10 +35,13 @@ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -__revision__ = "src/engine/SCons/Tool/__init__.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/__init__.py 2013/03/03 09:48:35 garyo" import imp import sys +import re +import os +import shutil import SCons.Builder import SCons.Errors @@ -233,6 +236,120 @@ return static_lib +def VersionShLibLinkNames(version, libname, env): + """Generate names of symlinks to the versioned shared library""" + Verbose = False + platform = env.subst('$PLATFORM') + shlib_suffix = env.subst('$SHLIBSUFFIX') + shlink_flags = SCons.Util.CLVar(env.subst('$SHLINKFLAGS')) + + linknames = [] + if version.count(".") != 2: + # We need a version string of the form x.y.z to proceed + # Several changes need to be made to support versions like x.y + raise ValueError + + if platform == 'darwin': + # For libfoo.x.y.z.dylib, linknames libfoo.so + suffix_re = re.escape('.' + version + shlib_suffix) + linkname = re.sub(suffix_re, shlib_suffix, libname) + if Verbose: + print "VersionShLibLinkNames: linkname = ",linkname + linknames.append(linkname) + elif platform == 'posix': + # For libfoo.so.x.y.z, linknames libfoo.so libfoo.so.x.y libfoo.so.x + suffix_re = re.escape(shlib_suffix + '.' + version) + # First linkname has no version number + linkname = re.sub(suffix_re, shlib_suffix, libname) + if Verbose: + print "VersionShLibLinkNames: linkname = ",linkname + linknames.append(linkname) + versionparts = version.split('.') + major_name = linkname + "." + versionparts[0] + minor_name = major_name + "." + versionparts[1] + #Only add link for major_name + #for linkname in [major_name, minor_name]: + for linkname in [major_name, ]: + if Verbose: + print "VersionShLibLinkNames: linkname ",linkname, ", target ",libname + linknames.append(linkname) + # note: no Windows case here (win32 or cygwin); + # MSVC doesn't support this type of versioned shared libs. + # (could probably do something for MinGW though) + return linknames + +def VersionedSharedLibrary(target = None, source= None, env=None): + """Build a shared library. If the environment has SHLIBVERSION +defined make a versioned shared library and create the appropriate +symlinks for the platform we are on""" + Verbose = False + try: + version = env.subst('$SHLIBVERSION') + except KeyError: + version = None + + # libname includes the version number if one was given + libname = target[0].name + platform = env.subst('$PLATFORM') + shlib_suffix = env.subst('$SHLIBSUFFIX') + shlink_flags = SCons.Util.CLVar(env.subst('$SHLINKFLAGS')) + if Verbose: + print "VersionShLib: libname = ",libname + print "VersionShLib: platform = ",platform + print "VersionShLib: shlib_suffix = ",shlib_suffix + print "VersionShLib: target = ",str(target[0]) + + if version: + # set the shared library link flags + if platform == 'posix': + suffix_re = re.escape(shlib_suffix + '.' + version) + (major, age, revision) = version.split(".") + # soname will have only the major version number in it + soname = re.sub(suffix_re, shlib_suffix, libname) + '.' + major + shlink_flags += [ '-Wl,-Bsymbolic', '-Wl,-soname=%s' % soname ] + if Verbose: + print " soname ",soname,", shlink_flags ",shlink_flags + elif platform == 'cygwin': + shlink_flags += [ '-Wl,-Bsymbolic', + '-Wl,--out-implib,${TARGET.base}.a' ] + elif platform == 'darwin': + shlink_flags += [ '-current_version', '%s' % version, + '-compatibility_version', '%s' % version, + '-undefined', 'dynamic_lookup' ] + if Verbose: + print "VersionShLib: shlink_flags = ",shlink_flags + envlink = env.Clone() + envlink['SHLINKFLAGS'] = shlink_flags + else: + envlink = env + + result = SCons.Defaults.ShLinkAction(target, source, envlink) + + if version: + # here we need the full pathname so the links end up in the right directory + libname = target[0].path + linknames = VersionShLibLinkNames(version, libname, env) + if Verbose: + print "VerShLib: linknames ",linknames + # Here we just need the file name w/o path as the target of the link + lib_ver = target[0].name + # make symlink of adjacent names in linknames + for count in range(len(linknames)): + linkname = linknames[count] + if count > 0: + os.symlink(os.path.basename(linkname),lastname) + if Verbose: + print "VerShLib: made sym link of %s -> %s" % (lastname,linkname) + lastname = linkname + # finish chain of sym links with link to the actual library + if len(linknames)>0: + os.symlink(lib_ver,lastname) + if Verbose: + print "VerShLib: made sym link of %s -> %s" % (lib_ver,linkname) + return result + +ShLibAction = SCons.Action.Action(VersionedSharedLibrary, None) + def createSharedLibBuilder(env): """This is a utility function that creates the SharedLibrary Builder in an Environment if it is not there already. @@ -245,7 +362,7 @@ except KeyError: import SCons.Defaults action_list = [ SCons.Defaults.SharedCheck, - SCons.Defaults.ShLinkAction ] + ShLibAction ] shared_lib = SCons.Builder.Builder(action = action_list, emitter = "$SHLIBEMITTER", prefix = '$SHLIBPREFIX', @@ -527,13 +644,16 @@ # the ToolInitializer class. def Initializers(env): - ToolInitializer(env, ['install'], ['_InternalInstall', '_InternalInstallAs']) + ToolInitializer(env, ['install'], ['_InternalInstall', '_InternalInstallAs', '_InternalInstallVersionedLib']) def Install(self, *args, **kw): return self._InternalInstall(*args, **kw) def InstallAs(self, *args, **kw): return self._InternalInstallAs(*args, **kw) + def InstallVersionedLib(self, *args, **kw): + return self._InternalInstallVersionedLib(*args, **kw) env.AddMethod(Install) env.AddMethod(InstallAs) + env.AddMethod(InstallVersionedLib) def FindTool(tools, env): for tool in tools: @@ -679,3 +799,4 @@ # indent-tabs-mode:nil # End: # vim: set expandtab tabstop=4 shiftwidth=4: + diff -Nru scons-2.2.0/engine/SCons/Tool/aixc++.py scons-2.3.0/engine/SCons/Tool/aixc++.py --- scons-2.2.0/engine/SCons/Tool/aixc++.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/aixc++.py 2013-03-03 14:48:39.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/aixc++.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/aixc++.py 2013/03/03 09:48:35 garyo" import os.path diff -Nru scons-2.2.0/engine/SCons/Tool/aixcc.py scons-2.3.0/engine/SCons/Tool/aixcc.py --- scons-2.2.0/engine/SCons/Tool/aixcc.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/aixcc.py 2013-03-03 14:48:39.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/aixcc.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/aixcc.py 2013/03/03 09:48:35 garyo" import os.path diff -Nru scons-2.2.0/engine/SCons/Tool/aixf77.py scons-2.3.0/engine/SCons/Tool/aixf77.py --- scons-2.2.0/engine/SCons/Tool/aixf77.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/aixf77.py 2013-03-03 14:48:39.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/aixf77.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/aixf77.py 2013/03/03 09:48:35 garyo" import os.path diff -Nru scons-2.2.0/engine/SCons/Tool/aixlink.py scons-2.3.0/engine/SCons/Tool/aixlink.py --- scons-2.2.0/engine/SCons/Tool/aixlink.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/aixlink.py 2013-03-03 14:48:39.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/aixlink.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/aixlink.py 2013/03/03 09:48:35 garyo" import os import os.path diff -Nru scons-2.2.0/engine/SCons/Tool/applelink.py scons-2.3.0/engine/SCons/Tool/applelink.py --- scons-2.2.0/engine/SCons/Tool/applelink.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/applelink.py 2013-03-03 14:48:39.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/applelink.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/applelink.py 2013/03/03 09:48:35 garyo" import SCons.Util diff -Nru scons-2.2.0/engine/SCons/Tool/ar.py scons-2.3.0/engine/SCons/Tool/ar.py --- scons-2.2.0/engine/SCons/Tool/ar.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/ar.py 2013-03-03 14:48:39.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/ar.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/ar.py 2013/03/03 09:48:35 garyo" import SCons.Defaults import SCons.Tool diff -Nru scons-2.2.0/engine/SCons/Tool/as.py scons-2.3.0/engine/SCons/Tool/as.py --- scons-2.2.0/engine/SCons/Tool/as.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/as.py 2013-03-03 14:48:39.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/as.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/as.py 2013/03/03 09:48:35 garyo" import SCons.Defaults import SCons.Tool diff -Nru scons-2.2.0/engine/SCons/Tool/bcc32.py scons-2.3.0/engine/SCons/Tool/bcc32.py --- scons-2.2.0/engine/SCons/Tool/bcc32.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/bcc32.py 2013-03-03 14:48:39.000000000 +0000 @@ -5,7 +5,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -27,7 +27,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/bcc32.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/bcc32.py 2013/03/03 09:48:35 garyo" import os import os.path diff -Nru scons-2.2.0/engine/SCons/Tool/c++.py scons-2.3.0/engine/SCons/Tool/c++.py --- scons-2.2.0/engine/SCons/Tool/c++.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/c++.py 2013-03-03 14:48:39.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/c++.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/c++.py 2013/03/03 09:48:35 garyo" import os.path diff -Nru scons-2.2.0/engine/SCons/Tool/cc.py scons-2.3.0/engine/SCons/Tool/cc.py --- scons-2.2.0/engine/SCons/Tool/cc.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/cc.py 2013-03-03 14:48:39.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/cc.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/cc.py 2013/03/03 09:48:35 garyo" import SCons.Tool import SCons.Defaults diff -Nru scons-2.2.0/engine/SCons/Tool/cvf.py scons-2.3.0/engine/SCons/Tool/cvf.py --- scons-2.2.0/engine/SCons/Tool/cvf.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/cvf.py 2013-03-03 14:48:39.000000000 +0000 @@ -5,7 +5,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -27,7 +27,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/cvf.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/cvf.py 2013/03/03 09:48:35 garyo" import fortran diff -Nru scons-2.2.0/engine/SCons/Tool/default.py scons-2.3.0/engine/SCons/Tool/default.py --- scons-2.2.0/engine/SCons/Tool/default.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/default.py 2013-03-03 14:48:39.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/default.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/default.py 2013/03/03 09:48:35 garyo" import SCons.Tool diff -Nru scons-2.2.0/engine/SCons/Tool/dmd.py scons-2.3.0/engine/SCons/Tool/dmd.py --- scons-2.2.0/engine/SCons/Tool/dmd.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/dmd.py 2013-03-03 14:48:39.000000000 +0000 @@ -35,7 +35,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -57,7 +57,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/dmd.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/dmd.py 2013/03/03 09:48:35 garyo" import os diff -Nru scons-2.2.0/engine/SCons/Tool/dvi.py scons-2.3.0/engine/SCons/Tool/dvi.py --- scons-2.2.0/engine/SCons/Tool/dvi.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/dvi.py 2013-03-03 14:48:39.000000000 +0000 @@ -5,7 +5,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -27,7 +27,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/dvi.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/dvi.py 2013/03/03 09:48:35 garyo" import SCons.Builder import SCons.Tool diff -Nru scons-2.2.0/engine/SCons/Tool/dvipdf.py scons-2.3.0/engine/SCons/Tool/dvipdf.py --- scons-2.2.0/engine/SCons/Tool/dvipdf.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/dvipdf.py 2013-03-03 14:48:39.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,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. -__revision__ = "src/engine/SCons/Tool/dvipdf.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/dvipdf.py 2013/03/03 09:48:35 garyo" import SCons.Action import SCons.Defaults diff -Nru scons-2.2.0/engine/SCons/Tool/dvips.py scons-2.3.0/engine/SCons/Tool/dvips.py --- scons-2.2.0/engine/SCons/Tool/dvips.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/dvips.py 2013-03-03 14:48:39.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/dvips.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/dvips.py 2013/03/03 09:48:35 garyo" import SCons.Action import SCons.Builder diff -Nru scons-2.2.0/engine/SCons/Tool/f03.py scons-2.3.0/engine/SCons/Tool/f03.py --- scons-2.2.0/engine/SCons/Tool/f03.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/f03.py 2013-03-03 14:48:39.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/f03.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/f03.py 2013/03/03 09:48:35 garyo" import SCons.Defaults import SCons.Tool diff -Nru scons-2.2.0/engine/SCons/Tool/f77.py scons-2.3.0/engine/SCons/Tool/f77.py --- scons-2.2.0/engine/SCons/Tool/f77.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/f77.py 2013-03-03 14:48:39.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/f77.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/f77.py 2013/03/03 09:48:35 garyo" import SCons.Defaults import SCons.Scanner.Fortran diff -Nru scons-2.2.0/engine/SCons/Tool/f90.py scons-2.3.0/engine/SCons/Tool/f90.py --- scons-2.2.0/engine/SCons/Tool/f90.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/f90.py 2013-03-03 14:48:39.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/f90.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/f90.py 2013/03/03 09:48:35 garyo" import SCons.Defaults import SCons.Scanner.Fortran diff -Nru scons-2.2.0/engine/SCons/Tool/f95.py scons-2.3.0/engine/SCons/Tool/f95.py --- scons-2.2.0/engine/SCons/Tool/f95.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/f95.py 2013-03-03 14:48:39.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/f95.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/f95.py 2013/03/03 09:48:35 garyo" import SCons.Defaults import SCons.Tool diff -Nru scons-2.2.0/engine/SCons/Tool/filesystem.py scons-2.3.0/engine/SCons/Tool/filesystem.py --- scons-2.2.0/engine/SCons/Tool/filesystem.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/filesystem.py 2013-03-03 14:48:39.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/filesystem.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/filesystem.py 2013/03/03 09:48:35 garyo" import SCons from SCons.Tool.install import copyFunc diff -Nru scons-2.2.0/engine/SCons/Tool/fortran.py scons-2.3.0/engine/SCons/Tool/fortran.py --- scons-2.2.0/engine/SCons/Tool/fortran.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/fortran.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/fortran.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/fortran.py 2013/03/03 09:48:35 garyo" import re diff -Nru scons-2.2.0/engine/SCons/Tool/g++.py scons-2.3.0/engine/SCons/Tool/g++.py --- scons-2.2.0/engine/SCons/Tool/g++.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/g++.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/g++.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/g++.py 2013/03/03 09:48:35 garyo" import os.path import re diff -Nru scons-2.2.0/engine/SCons/Tool/g77.py scons-2.3.0/engine/SCons/Tool/g77.py --- scons-2.2.0/engine/SCons/Tool/g77.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/g77.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/g77.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/g77.py 2013/03/03 09:48:35 garyo" import SCons.Util from SCons.Tool.FortranCommon import add_all_to_env, add_f77_to_env diff -Nru scons-2.2.0/engine/SCons/Tool/gas.py scons-2.3.0/engine/SCons/Tool/gas.py --- scons-2.2.0/engine/SCons/Tool/gas.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/gas.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/gas.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/gas.py 2013/03/03 09:48:35 garyo" as_module = __import__('as', globals(), locals(), []) diff -Nru scons-2.2.0/engine/SCons/Tool/gcc.py scons-2.3.0/engine/SCons/Tool/gcc.py --- scons-2.2.0/engine/SCons/Tool/gcc.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/gcc.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/gcc.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/gcc.py 2013/03/03 09:48:35 garyo" import cc import os diff -Nru scons-2.2.0/engine/SCons/Tool/gettext.py scons-2.3.0/engine/SCons/Tool/gettext.py --- scons-2.2.0/engine/SCons/Tool/gettext.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/gettext.py 2013-03-03 14:48:40.000000000 +0000 @@ -2,7 +2,7 @@ """ -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -23,7 +23,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. -__revision__ = "src/engine/SCons/Tool/gettext.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/gettext.py 2013/03/03 09:48:35 garyo" ############################################################################# def generate(env,**kw): @@ -40,6 +40,9 @@ from SCons.Tool.GettextCommon \ import _xgettext_exists, _msginit_exists, \ _msgmerge_exists, _msgfmt_exists - return _xgettext_exists(env) and _msginit_exists(env) \ - and _msgmerge_exists(env) and _msgfmt_exists(env) + try: + return _xgettext_exists(env) and _msginit_exists(env) \ + and _msgmerge_exists(env) and _msgfmt_exists(env) + except: + return False ############################################################################# diff -Nru scons-2.2.0/engine/SCons/Tool/gfortran.py scons-2.3.0/engine/SCons/Tool/gfortran.py --- scons-2.2.0/engine/SCons/Tool/gfortran.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/gfortran.py 2013-03-03 14:48:40.000000000 +0000 @@ -10,7 +10,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -32,7 +32,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/gfortran.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/gfortran.py 2013/03/03 09:48:35 garyo" import SCons.Util diff -Nru scons-2.2.0/engine/SCons/Tool/gnulink.py scons-2.3.0/engine/SCons/Tool/gnulink.py --- scons-2.2.0/engine/SCons/Tool/gnulink.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/gnulink.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/gnulink.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/gnulink.py 2013/03/03 09:48:35 garyo" import SCons.Util diff -Nru scons-2.2.0/engine/SCons/Tool/gs.py scons-2.3.0/engine/SCons/Tool/gs.py --- scons-2.2.0/engine/SCons/Tool/gs.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/gs.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/gs.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/gs.py 2013/03/03 09:48:35 garyo" import SCons.Action import SCons.Platform diff -Nru scons-2.2.0/engine/SCons/Tool/hpc++.py scons-2.3.0/engine/SCons/Tool/hpc++.py --- scons-2.2.0/engine/SCons/Tool/hpc++.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/hpc++.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/hpc++.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/hpc++.py 2013/03/03 09:48:35 garyo" import os.path diff -Nru scons-2.2.0/engine/SCons/Tool/hpcc.py scons-2.3.0/engine/SCons/Tool/hpcc.py --- scons-2.2.0/engine/SCons/Tool/hpcc.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/hpcc.py 2013-03-03 14:48:40.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/hpcc.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/hpcc.py 2013/03/03 09:48:35 garyo" import SCons.Util diff -Nru scons-2.2.0/engine/SCons/Tool/hplink.py scons-2.3.0/engine/SCons/Tool/hplink.py --- scons-2.2.0/engine/SCons/Tool/hplink.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/hplink.py 2013-03-03 14:48:40.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/hplink.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/hplink.py 2013/03/03 09:48:35 garyo" import os import os.path diff -Nru scons-2.2.0/engine/SCons/Tool/icc.py scons-2.3.0/engine/SCons/Tool/icc.py --- scons-2.2.0/engine/SCons/Tool/icc.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/icc.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/icc.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/icc.py 2013/03/03 09:48:35 garyo" import cc diff -Nru scons-2.2.0/engine/SCons/Tool/icl.py scons-2.3.0/engine/SCons/Tool/icl.py --- scons-2.2.0/engine/SCons/Tool/icl.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/icl.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/icl.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/icl.py 2013/03/03 09:48:35 garyo" import SCons.Tool.intelc diff -Nru scons-2.2.0/engine/SCons/Tool/ifl.py scons-2.3.0/engine/SCons/Tool/ifl.py --- scons-2.2.0/engine/SCons/Tool/ifl.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/ifl.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/ifl.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/ifl.py 2013/03/03 09:48:35 garyo" import SCons.Defaults from SCons.Scanner.Fortran import FortranScan diff -Nru scons-2.2.0/engine/SCons/Tool/ifort.py scons-2.3.0/engine/SCons/Tool/ifort.py --- scons-2.2.0/engine/SCons/Tool/ifort.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/ifort.py 2013-03-03 14:48:40.000000000 +0000 @@ -10,7 +10,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -32,7 +32,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/ifort.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/ifort.py 2013/03/03 09:48:35 garyo" import SCons.Defaults from SCons.Scanner.Fortran import FortranScan diff -Nru scons-2.2.0/engine/SCons/Tool/ilink.py scons-2.3.0/engine/SCons/Tool/ilink.py --- scons-2.2.0/engine/SCons/Tool/ilink.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/ilink.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/ilink.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/ilink.py 2013/03/03 09:48:35 garyo" import SCons.Defaults import SCons.Tool diff -Nru scons-2.2.0/engine/SCons/Tool/ilink32.py scons-2.3.0/engine/SCons/Tool/ilink32.py --- scons-2.2.0/engine/SCons/Tool/ilink32.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/ilink32.py 2013-03-03 14:48:40.000000000 +0000 @@ -5,7 +5,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -27,7 +27,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/ilink32.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/ilink32.py 2013/03/03 09:48:35 garyo" import SCons.Tool import SCons.Tool.bcc32 diff -Nru scons-2.2.0/engine/SCons/Tool/install.py scons-2.3.0/engine/SCons/Tool/install.py --- scons-2.2.0/engine/SCons/Tool/install.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/install.py 2013-03-03 14:48:40.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,9 +30,10 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/install.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/install.py 2013/03/03 09:48:35 garyo" import os +import re import shutil import stat @@ -121,6 +122,87 @@ return 0 +# +# Functions doing the actual work of the InstallVersionedLib Builder. +# +def copyFuncVersionedLib(dest, source, env): + """Install a versioned library into a destination by copying, + (including copying permission/mode bits) and then creating + required symlinks.""" + + if os.path.isdir(source): + raise SCons.Errors.UserError("cannot install directory `%s' as a version library" % str(source) ) + else: + shutil.copy2(source, dest) + st = os.stat(source) + os.chmod(dest, stat.S_IMODE(st[stat.ST_MODE]) | stat.S_IWRITE) + versionedLibLinks(dest, source, env) + + return 0 + +def versionedLibVersion(dest, env): + """Check if dest is a version shared library name. Return version, libname, & install_dir if it is.""" + Verbose = False + platform = env.subst('$PLATFORM') + if not (platform == 'posix' or platform == 'darwin'): + return (None, None, None) + + libname = os.path.basename(dest) + install_dir = os.path.dirname(dest) + shlib_suffix = env.subst('$SHLIBSUFFIX') + # See if the source name is a versioned shared library, get the version number + result = False + + version_re = re.compile("[0-9]+\\.[0-9]+\\.[0-9a-zA-Z]+") + version_File = None + if platform == 'posix': + # handle unix names + versioned_re = re.compile(re.escape(shlib_suffix + '.') + "[0-9]+\\.[0-9]+\\.[0-9a-zA-Z]+") + result = versioned_re.findall(libname) + if result: + version_File = version_re.findall(versioned_re.findall(libname)[-1])[-1] + elif platform == 'darwin': + # handle OSX names + versioned_re = re.compile("\\.[0-9]+\\.[0-9]+\\.[0-9a-zA-Z]+" + re.escape(shlib_suffix) ) + result = versioned_re.findall(libname) + if result: + version_File = version_re.findall(versioned_re.findall(libname)[-1])[-1] + + if Verbose: + print "install: version_File ", version_File + # result is False if we did not find a versioned shared library name, so return and empty list + if not result: + return (None, libname, install_dir) + + version = None + # get version number from the environment + try: + version = env.subst('$SHLIBVERSION') + except KeyError: + version = None + + if version != version_File: + #raise SCons.Errors.UserError("SHLIBVERSION '%s' does not match the version # '%s' in the filename" % (version, version_File) ) + print "SHLIBVERSION '%s' does not match the version # '%s' in the filename, proceeding based on file name" % (version, version_File) + version = version_File + return (version, libname, install_dir) + +def versionedLibLinks(dest, source, env): + """If we are installing a versioned shared library create the required links.""" + Verbose = False + linknames = [] + version, libname, install_dir = versionedLibVersion(dest, env) + + if version != None: + # libname includes the version number if one was given + linknames = SCons.Tool.VersionShLibLinkNames(version,libname,env) + for linkname in linknames: + if Verbose: + print "make link of %s to %s" %(libname, os.path.join(install_dir, linkname)) + fulllinkname = os.path.join(install_dir, linkname) + os.symlink(libname,fulllinkname) + return + def installFunc(target, source, env): """Install a source file into a target using the function specified as the INSTALL construction variable.""" @@ -137,6 +219,22 @@ return 0 +def installFuncVersionedLib(target, source, env): + """Install a versioned library into a target using the function specified + as the INSTALLVERSIONEDLIB construction variable.""" + try: + install = env['INSTALLVERSIONEDLIB'] + except KeyError: + raise SCons.Errors.UserError('Missing INSTALLVERSIONEDLIB construction variable.') + + assert len(target)==len(source), \ + "Installing source %s into target %s: target and source lists must have same length."%(list(map(str, source)), list(map(str, target))) + for t,s in zip(target,source): + if install(t.get_path(),s.get_path(),env): + return 1 + + return 0 + def stringFunc(target, source, env): installstr = env.get('INSTALLSTR') if installstr: @@ -159,6 +257,31 @@ """ global _INSTALLED_FILES, _UNIQUE_INSTALLED_FILES _INSTALLED_FILES.extend(target) + + _UNIQUE_INSTALLED_FILES = None + return (target, source) + +def add_versioned_targets_to_INSTALLED_FILES(target, source, env): + """ an emitter that adds all target files to the list stored in the + _INSTALLED_FILES global variable. This way all installed files of one + scons call will be collected. + """ + global _INSTALLED_FILES, _UNIQUE_INSTALLED_FILES + Verbose = False + _INSTALLED_FILES.extend(target) + + # see if we have a versioned shared library, if so generate side effects + version, libname, install_dir = versionedLibVersion(target[0].path, env) + if version != None: + # generate list of link names + linknames = SCons.Tool.VersionShLibLinkNames(version,libname,env) + for linkname in linknames: + if Verbose: + print "make side effect of %s" % os.path.join(install_dir, linkname) + fulllinkname = os.path.join(install_dir, linkname) + env.SideEffect(fulllinkname,target[0]) + env.Clean(target[0],fulllinkname) + _UNIQUE_INSTALLED_FILES = None return (target, source) @@ -181,8 +304,9 @@ # # The Builder Definition # -install_action = SCons.Action.Action(installFunc, stringFunc) -installas_action = SCons.Action.Action(installFunc, stringFunc) +install_action = SCons.Action.Action(installFunc, stringFunc) +installas_action = SCons.Action.Action(installFunc, stringFunc) +installVerLib_action = SCons.Action.Action(installFuncVersionedLib, stringFunc) BaseInstallBuilder = None @@ -223,6 +347,37 @@ result.extend(BaseInstallBuilder(env, tgt, src, **kw)) return result +BaseVersionedInstallBuilder = None + +def InstallVersionedBuilderWrapper(env, target=None, source=None, dir=None, **kw): + if target and dir: + import SCons.Errors + raise SCons.Errors.UserError("Both target and dir defined for Install(), only one may be defined.") + if not dir: + dir=target + + import SCons.Script + install_sandbox = SCons.Script.GetOption('install_sandbox') + if install_sandbox: + target_factory = DESTDIR_factory(env, install_sandbox) + else: + target_factory = env.fs + + try: + dnodes = env.arg2nodes(dir, target_factory.Dir) + except TypeError: + raise SCons.Errors.UserError("Target `%s' of Install() is a file, but should be a directory. Perhaps you have the Install() arguments backwards?" % str(dir)) + sources = env.arg2nodes(source, env.fs.Entry) + tgt = [] + for dnode in dnodes: + for src in sources: + # Prepend './' so the lookup doesn't interpret an initial + # '#' on the file name portion as meaning the Node should + # be relative to the top-level SConstruct directory. + target = env.fs.Entry('.'+os.sep+src.name, dnode) + tgt.extend(BaseVersionedInstallBuilder(env, target, src, **kw)) + return tgt + added = None def generate(env): @@ -253,8 +408,25 @@ emitter = [ add_targets_to_INSTALLED_FILES, ], name = 'InstallBuilder') + global BaseVersionedInstallBuilder + if BaseVersionedInstallBuilder is None: + install_sandbox = GetOption('install_sandbox') + if install_sandbox: + target_factory = DESTDIR_factory(env, install_sandbox) + else: + target_factory = env.fs + + BaseVersionedInstallBuilder = SCons.Builder.Builder( + action = installVerLib_action, + target_factory = target_factory.Entry, + source_factory = env.fs.Entry, + multi = 1, + emitter = [ add_versioned_targets_to_INSTALLED_FILES, ], + name = 'InstallVersionedBuilder') + env['BUILDERS']['_InternalInstall'] = InstallBuilderWrapper env['BUILDERS']['_InternalInstallAs'] = InstallAsBuilderWrapper + env['BUILDERS']['_InternalInstallVersionedLib'] = InstallVersionedBuilderWrapper # We'd like to initialize this doing something like the following, # but there isn't yet support for a ${SOURCE.type} expansion that @@ -273,6 +445,11 @@ except KeyError: env['INSTALL'] = copyFunc + try: + env['INSTALLVERSIONEDLIB'] + except KeyError: + env['INSTALLVERSIONEDLIB'] = copyFuncVersionedLib + def exists(env): return 1 diff -Nru scons-2.2.0/engine/SCons/Tool/intelc.py scons-2.3.0/engine/SCons/Tool/intelc.py --- scons-2.2.0/engine/SCons/Tool/intelc.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/intelc.py 2013-03-03 14:48:40.000000000 +0000 @@ -10,7 +10,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -32,7 +32,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. from __future__ import division -__revision__ = "src/engine/SCons/Tool/intelc.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/intelc.py 2013/03/03 09:48:35 garyo" import math, sys, os.path, glob, string, re @@ -78,6 +78,7 @@ Always returns an old-style float like 80 or 90 for compatibility with Windows. Shades of Y2K!""" # Check for version number like 9.1.026: return 91.026 + # XXX needs to be updated for 2011+ versions (like 2011.11.344 which is compiler v12.1.5) m = re.match(r'([0-9]+)\.([0-9]+)\.([0-9]+)', vstr) if m: vmaj,vmin,build = m.groups() @@ -221,7 +222,7 @@ except EnvironmentError: # no more subkeys pass - elif is_linux: + elif is_linux or is_mac: for d in glob.glob('/opt/intel_cc_*'): # Typical dir here is /opt/intel_cc_80. m = re.search(r'cc_(.*)$', d) @@ -238,13 +239,17 @@ m = re.search(r'([0-9][0-9.]*)$', d) if m: versions.append(m.group(1)) - elif is_mac: - for d in glob.glob('/opt/intel/cc*/*'): - # Typical dir here is /opt/intel/cc/9.0 for IA32, - # /opt/intel/cce/9.0 for EMT64 (AMD64) + for d in glob.glob('/opt/intel/composerxe-*'): + # Typical dir here is /opt/intel/composerxe-2011.4.184 m = re.search(r'([0-9][0-9.]*)$', d) if m: versions.append(m.group(1)) + for d in glob.glob('/opt/intel/composer_xe_*'): + # Typical dir here is /opt/intel/composer_xe_2011_sp1.11.344 + # The _sp1 is useless, the installers are named 2011.9.x, 2011.10.x, 2011.11.x + m = re.search(r'([0-9]{0,4})(?:_sp\d*)?\.([0-9][0-9.]*)$', d) + if m: + versions.append("%s.%s"%(m.group(1), m.group(2))) def keyfunc(str): """Given a dot-separated version string, return a tuple of ints representing it.""" return [int(x) for x in str.split('.')] @@ -293,8 +298,33 @@ top = d break return top - top = find_in_2010style_dir(version) or find_in_2008style_dir(version) - print "INTELC: top=",top + def find_in_2011style_dir(version): + # The 2011 (compiler v12) dirs are inconsistent, so just redo the search from + # get_all_compiler_versions and look for a match (search the newest form first) + top=None + for d in glob.glob('/opt/intel/composer_xe_*'): + # Typical dir here is /opt/intel/composer_xe_2011_sp1.11.344 + # The _sp1 is useless, the installers are named 2011.9.x, 2011.10.x, 2011.11.x + m = re.search(r'([0-9]{0,4})(?:_sp\d*)?\.([0-9][0-9.]*)$', d) + if m: + cur_ver = "%s.%s"%(m.group(1), m.group(2)) + if cur_ver == version and \ + (os.path.exists(os.path.join(d, "bin", "ia32", "icc")) or + os.path.exists(os.path.join(d, "bin", "intel64", "icc"))): + top = d + break + if not top: + for d in glob.glob('/opt/intel/composerxe-*'): + # Typical dir here is /opt/intel/composerxe-2011.4.184 + m = re.search(r'([0-9][0-9.]*)$', d) + if m and m.group(1) == verison and \ + (os.path.exists(os.path.join(d, "bin", "ia32", "icc")) or + os.path.exists(os.path.join(d, "bin", "intel64", "icc"))): + top = d + break + return top + top = find_in_2011style_dir(version) or find_in_2010style_dir(version) or find_in_2008style_dir(version) + # print "INTELC: top=",top if not top: raise MissingDirError("Can't find version %s Intel compiler in %s (abi='%s')"%(version,top, abi)) return top diff -Nru scons-2.2.0/engine/SCons/Tool/ipkg.py scons-2.3.0/engine/SCons/Tool/ipkg.py --- scons-2.2.0/engine/SCons/Tool/ipkg.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/ipkg.py 2013-03-03 14:48:40.000000000 +0000 @@ -11,7 +11,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -33,7 +33,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/ipkg.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/ipkg.py 2013/03/03 09:48:35 garyo" import os diff -Nru scons-2.2.0/engine/SCons/Tool/jar.py scons-2.3.0/engine/SCons/Tool/jar.py --- scons-2.2.0/engine/SCons/Tool/jar.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/jar.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/jar.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/jar.py 2013/03/03 09:48:35 garyo" import SCons.Subst import SCons.Util diff -Nru scons-2.2.0/engine/SCons/Tool/javac.py scons-2.3.0/engine/SCons/Tool/javac.py --- scons-2.2.0/engine/SCons/Tool/javac.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/javac.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,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. -__revision__ = "src/engine/SCons/Tool/javac.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/javac.py 2013/03/03 09:48:35 garyo" import os import os.path diff -Nru scons-2.2.0/engine/SCons/Tool/javah.py scons-2.3.0/engine/SCons/Tool/javah.py --- scons-2.2.0/engine/SCons/Tool/javah.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/javah.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/javah.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/javah.py 2013/03/03 09:48:35 garyo" import os.path diff -Nru scons-2.2.0/engine/SCons/Tool/latex.py scons-2.3.0/engine/SCons/Tool/latex.py --- scons-2.2.0/engine/SCons/Tool/latex.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/latex.py 2013-03-03 14:48:40.000000000 +0000 @@ -10,7 +10,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -32,7 +32,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/latex.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/latex.py 2013/03/03 09:48:35 garyo" import SCons.Action import SCons.Defaults diff -Nru scons-2.2.0/engine/SCons/Tool/lex.py scons-2.3.0/engine/SCons/Tool/lex.py --- scons-2.2.0/engine/SCons/Tool/lex.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/lex.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/lex.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/lex.py 2013/03/03 09:48:35 garyo" import os.path diff -Nru scons-2.2.0/engine/SCons/Tool/link.py scons-2.3.0/engine/SCons/Tool/link.py --- scons-2.2.0/engine/SCons/Tool/link.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/link.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,9 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/link.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/link.py 2013/03/03 09:48:35 garyo" + +import re import SCons.Defaults import SCons.Tool @@ -64,10 +66,71 @@ return '$CC' def shlib_emitter(target, source, env): + Verbose = False + platform = env.subst('$PLATFORM') for tgt in target: tgt.attributes.shared = 1 + try: + # target[0] comes in as libtest.so. Add the version extensions + version = env.subst('$SHLIBVERSION') + if version: + version_names = shlib_emitter_names(target, source, env) + # change the name of the target to include the version number + target[0].name = version_names[0] + for name in version_names: + env.SideEffect(name, target[0]) + env.Clean(target[0], name) + if Verbose: + print "shlib_emitter: add side effect - ",name + except KeyError: + version = None return (target, source) +def shlib_emitter_names(target, source, env): + """Return list of file names that are side effects for a versioned library build. The first name in the list is the new name for the target""" + Verbose = False + platform = env.subst('$PLATFORM') + version_names = [] + try: + # target[0] comes in as libtest.so. Add the version extensions + version = env.subst('$SHLIBVERSION') + if version.count(".") != 2: + # We need a version of the form x.y.z to proceed + raise ValueError + if version: + if platform == 'posix': + versionparts = version.split('.') + name = target[0].name + # generate library name with the version number + version_name = target[0].name + '.' + version + if Verbose: + print "shlib_emitter_names: target is ", version_name + print "shlib_emitter_names: side effect: ", name + # add version_name to list of names to be a Side effect + version_names.append(version_name) + if Verbose: + print "shlib_emitter_names: versionparts ",versionparts + for ver in versionparts[0:-1]: + name = name + '.' + ver + if Verbose: + print "shlib_emitter_names: side effect: ", name + # add name to list of names to be a Side effect + version_names.append(name) + elif platform == 'darwin': + shlib_suffix = env.subst('$SHLIBSUFFIX') + name = target[0].name + # generate library name with the version number + suffix_re = re.escape(shlib_suffix) + version_name = re.sub(suffix_re, '.' + version + shlib_suffix, name) + if Verbose: + print "shlib_emitter_names: target is ", version_name + print "shlib_emitter_names: side effect: ", name + # add version_name to list of names to be a Side effect + version_names.append(version_name) + except KeyError: + version = None + return version_names + def generate(env): """Add Builders and construction variables for gnulink to an Environment.""" SCons.Tool.createSharedLibBuilder(env) diff -Nru scons-2.2.0/engine/SCons/Tool/linkloc.py scons-2.3.0/engine/SCons/Tool/linkloc.py --- scons-2.2.0/engine/SCons/Tool/linkloc.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/linkloc.py 2013-03-03 14:48:40.000000000 +0000 @@ -10,7 +10,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -32,7 +32,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/linkloc.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/linkloc.py 2013/03/03 09:48:35 garyo" import os.path import re diff -Nru scons-2.2.0/engine/SCons/Tool/m4.py scons-2.3.0/engine/SCons/Tool/m4.py --- scons-2.2.0/engine/SCons/Tool/m4.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/m4.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/m4.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/m4.py 2013/03/03 09:48:35 garyo" import SCons.Action import SCons.Builder diff -Nru scons-2.2.0/engine/SCons/Tool/masm.py scons-2.3.0/engine/SCons/Tool/masm.py --- scons-2.2.0/engine/SCons/Tool/masm.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/masm.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/masm.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/masm.py 2013/03/03 09:48:35 garyo" import SCons.Defaults import SCons.Tool diff -Nru scons-2.2.0/engine/SCons/Tool/midl.py scons-2.3.0/engine/SCons/Tool/midl.py --- scons-2.2.0/engine/SCons/Tool/midl.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/midl.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/midl.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/midl.py 2013/03/03 09:48:35 garyo" import SCons.Action import SCons.Builder diff -Nru scons-2.2.0/engine/SCons/Tool/mingw.py scons-2.3.0/engine/SCons/Tool/mingw.py --- scons-2.2.0/engine/SCons/Tool/mingw.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/mingw.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/mingw.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/mingw.py 2013/03/03 09:48:35 garyo" import os import os.path @@ -133,7 +133,7 @@ # Most of mingw is the same as gcc and friends... - gnu_tools = ['gcc', 'g++', 'gnulink', 'ar', 'gas', 'm4'] + gnu_tools = ['gcc', 'g++', 'gnulink', 'ar', 'gas', 'gfortran', 'm4'] for tool in gnu_tools: SCons.Tool.Tool(tool)(env) @@ -168,6 +168,7 @@ env['OBJSUFFIX'] = '.o' env['LIBPREFIX'] = 'lib' env['LIBSUFFIX'] = '.a' + env['PROGSUFFIX'] = '.exe' def exists(env): return find(env) diff -Nru scons-2.2.0/engine/SCons/Tool/msgfmt.py scons-2.3.0/engine/SCons/Tool/msgfmt.py --- scons-2.2.0/engine/SCons/Tool/msgfmt.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/msgfmt.py 2013-03-03 14:48:40.000000000 +0000 @@ -1,6 +1,6 @@ """ msgfmt tool """ -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -21,7 +21,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. -__revision__ = "src/engine/SCons/Tool/msgfmt.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/msgfmt.py 2013/03/03 09:48:35 garyo" from SCons.Builder import BuilderBase ############################################################################# @@ -77,7 +77,10 @@ """ Generate `msgfmt` tool """ import SCons.Util from SCons.Tool.GettextCommon import _detect_msgfmt - env['MSGFMT'] = _detect_msgfmt(env) + try: + env['MSGFMT'] = _detect_msgfmt(env) + except: + env['MSGFMT'] = 'msgfmt' env.SetDefault( MSGFMTFLAGS = [ SCons.Util.CLVar('-c') ], MSGFMTCOM = '$MSGFMT $MSGFMTFLAGS -o $TARGET $SOURCE', @@ -92,7 +95,10 @@ def exists(env): """ Check if the tool exists """ from SCons.Tool.GettextCommon import _msgfmt_exists - return _msgfmt_exists(env) + try: + return _msgfmt_exists(env) + except: + return False ############################################################################# # Local Variables: diff -Nru scons-2.2.0/engine/SCons/Tool/msginit.py scons-2.3.0/engine/SCons/Tool/msginit.py --- scons-2.2.0/engine/SCons/Tool/msginit.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/msginit.py 2013-03-03 14:48:40.000000000 +0000 @@ -3,7 +3,7 @@ Tool specific initialization of msginit tool. """ -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -24,7 +24,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. -__revision__ = "src/engine/SCons/Tool/msginit.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/msginit.py 2013/03/03 09:48:35 garyo" import SCons.Warnings import SCons.Builder @@ -79,7 +79,10 @@ """ Generate the `msginit` tool """ import SCons.Util from SCons.Tool.GettextCommon import _detect_msginit - env['MSGINIT'] = _detect_msginit(env) + try: + env['MSGINIT'] = _detect_msginit(env) + except: + env['MSGINIT'] = 'msginit' msginitcom = '$MSGINIT ${_MSGNoTranslator(__env__)} -l ${_MSGINITLOCALE}' \ + ' $MSGINITFLAGS -i $SOURCE -o $TARGET' # NOTE: We set POTSUFFIX here, in case the 'xgettext' is not loaded @@ -104,7 +107,10 @@ def exists(env): """ Check if the tool exists """ from SCons.Tool.GettextCommon import _msginit_exists - return _msginit_exists(env) + try: + return _msginit_exists(env) + except: + return False ############################################################################# # Local Variables: diff -Nru scons-2.2.0/engine/SCons/Tool/msgmerge.py scons-2.3.0/engine/SCons/Tool/msgmerge.py --- scons-2.2.0/engine/SCons/Tool/msgmerge.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/msgmerge.py 2013-03-03 14:48:40.000000000 +0000 @@ -3,7 +3,7 @@ Tool specific initialization for `msgmerge` tool. """ -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -24,7 +24,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. -__revision__ = "src/engine/SCons/Tool/msgmerge.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/msgmerge.py 2013/03/03 09:48:35 garyo" ############################################################################# def _update_or_init_po_files(target, source, env): @@ -70,7 +70,10 @@ def generate(env,**kw): """ Generate the `xgettext` tool """ from SCons.Tool.GettextCommon import _detect_msgmerge - env['MSGMERGE'] = _detect_msgmerge(env) + try: + env['MSGMERGE'] = _detect_msgmerge(env) + except: + env['MSGMERGE'] = 'msgmerge' env.SetDefault( POTSUFFIX = ['.pot'], POSUFFIX = ['.po'], @@ -88,7 +91,10 @@ def exists(env): """ Check if the tool exists """ from SCons.Tool.GettextCommon import _msgmerge_exists - return _msgmerge_exists(env) + try: + return _msgmerge_exists(env) + except: + return False ############################################################################# # Local Variables: diff -Nru scons-2.2.0/engine/SCons/Tool/mslib.py scons-2.3.0/engine/SCons/Tool/mslib.py --- scons-2.2.0/engine/SCons/Tool/mslib.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/mslib.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/mslib.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/mslib.py 2013/03/03 09:48:35 garyo" import SCons.Defaults import SCons.Tool diff -Nru scons-2.2.0/engine/SCons/Tool/mslink.py scons-2.3.0/engine/SCons/Tool/mslink.py --- scons-2.2.0/engine/SCons/Tool/mslink.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/mslink.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/mslink.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/mslink.py 2013/03/03 09:48:35 garyo" import os.path diff -Nru scons-2.2.0/engine/SCons/Tool/mssdk.py scons-2.3.0/engine/SCons/Tool/mssdk.py --- scons-2.2.0/engine/SCons/Tool/mssdk.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/mssdk.py 2013-03-03 14:48:40.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -21,7 +21,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/mssdk.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/mssdk.py 2013/03/03 09:48:35 garyo" """engine.SCons.Tool.mssdk diff -Nru scons-2.2.0/engine/SCons/Tool/msvc.py scons-2.3.0/engine/SCons/Tool/msvc.py --- scons-2.2.0/engine/SCons/Tool/msvc.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/msvc.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/msvc.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/msvc.py 2013/03/03 09:48:35 garyo" import os.path import re diff -Nru scons-2.2.0/engine/SCons/Tool/msvs.py scons-2.3.0/engine/SCons/Tool/msvs.py --- scons-2.2.0/engine/SCons/Tool/msvs.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/msvs.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,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. -__revision__ = "src/engine/SCons/Tool/msvs.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/msvs.py 2013/03/03 09:48:35 garyo" import SCons.compat @@ -1206,7 +1206,7 @@ self.version_num, self.suite = msvs_parse_version(self.version) self.versionstr = '7.00' if self.version_num >= 11.0: - self.versionstr = '12.0' + self.versionstr = '12.00' elif self.version_num >= 10.0: self.versionstr = '11.00' elif self.version_num >= 9.0: @@ -1311,7 +1311,7 @@ def PrintSolution(self): """Writes a solution file""" self.file.write('Microsoft Visual Studio Solution File, Format Version %s\n' % self.versionstr) - if self.versionstr >= 11.0: + if self.version_num >= 11.0: self.file.write('# Visual Studio 11\n') elif self.version_num >= 10.0: self.file.write('# Visual Studio 2010\n') @@ -1654,6 +1654,10 @@ t, s = solutionEmitter(target, target, env) targetlist = targetlist + t + # Beginning with Visual Studio 2010 for each project file (.vcxproj) we have additional file (.vcxproj.filters) + if float(env['MSVS_VERSION']) >= 10.0: + targetlist.append(targetlist[0] + '.filters') + return (targetlist, sourcelist) def solutionEmitter(target, source, env): diff -Nru scons-2.2.0/engine/SCons/Tool/mwcc.py scons-2.3.0/engine/SCons/Tool/mwcc.py --- scons-2.2.0/engine/SCons/Tool/mwcc.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/mwcc.py 2013-03-03 14:48:40.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/mwcc.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/mwcc.py 2013/03/03 09:48:35 garyo" import os import os.path diff -Nru scons-2.2.0/engine/SCons/Tool/mwld.py scons-2.3.0/engine/SCons/Tool/mwld.py --- scons-2.2.0/engine/SCons/Tool/mwld.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/mwld.py 2013-03-03 14:48:40.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/mwld.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/mwld.py 2013/03/03 09:48:35 garyo" import SCons.Tool diff -Nru scons-2.2.0/engine/SCons/Tool/nasm.py scons-2.3.0/engine/SCons/Tool/nasm.py --- scons-2.2.0/engine/SCons/Tool/nasm.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/nasm.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/nasm.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/nasm.py 2013/03/03 09:48:35 garyo" import SCons.Defaults import SCons.Tool diff -Nru scons-2.2.0/engine/SCons/Tool/packaging/__init__.py scons-2.3.0/engine/SCons/Tool/packaging/__init__.py --- scons-2.2.0/engine/SCons/Tool/packaging/__init__.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/packaging/__init__.py 2013-03-03 14:48:40.000000000 +0000 @@ -4,7 +4,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -25,7 +25,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. -__revision__ = "src/engine/SCons/Tool/packaging/__init__.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/packaging/__init__.py 2013/03/03 09:48:35 garyo" import SCons.Environment from SCons.Variables import * diff -Nru scons-2.2.0/engine/SCons/Tool/packaging/ipk.py scons-2.3.0/engine/SCons/Tool/packaging/ipk.py --- scons-2.2.0/engine/SCons/Tool/packaging/ipk.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/packaging/ipk.py 2013-03-03 14:48:40.000000000 +0000 @@ -2,7 +2,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -24,7 +24,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/packaging/ipk.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/packaging/ipk.py 2013/03/03 09:48:35 garyo" import SCons.Builder import SCons.Node.FS diff -Nru scons-2.2.0/engine/SCons/Tool/packaging/msi.py scons-2.3.0/engine/SCons/Tool/packaging/msi.py --- scons-2.2.0/engine/SCons/Tool/packaging/msi.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/packaging/msi.py 2013-03-03 14:48:40.000000000 +0000 @@ -4,7 +4,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -25,7 +25,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. -__revision__ = "src/engine/SCons/Tool/packaging/msi.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/packaging/msi.py 2013/03/03 09:48:35 garyo" import os import SCons diff -Nru scons-2.2.0/engine/SCons/Tool/packaging/rpm.py scons-2.3.0/engine/SCons/Tool/packaging/rpm.py --- scons-2.2.0/engine/SCons/Tool/packaging/rpm.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/packaging/rpm.py 2013-03-03 14:48:40.000000000 +0000 @@ -4,7 +4,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -25,11 +25,12 @@ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -__revision__ = "src/engine/SCons/Tool/packaging/rpm.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/packaging/rpm.py 2013/03/03 09:48:35 garyo" import os import SCons.Builder +import SCons.Tool.rpmutils from SCons.Environment import OverrideEnvironment from SCons.Tool.packaging import stripinstallbuilder, src_targz @@ -52,16 +53,7 @@ else: # This should be overridable from the construction environment, # which it is by using ARCHITECTURE=. - # Guessing based on what os.uname() returns at least allows it - # to work for both i386 and x86_64 Linux systems. - archmap = { - 'i686' : 'i386', - 'i586' : 'i386', - 'i486' : 'i386', - } - - buildarchitecture = os.uname()[4] - buildarchitecture = archmap.get(buildarchitecture, buildarchitecture) + buildarchitecture = SCons.Tool.rpmutils.defaultMachine() if 'ARCHITECTURE' in kw: buildarchitecture = kw['ARCHITECTURE'] diff -Nru scons-2.2.0/engine/SCons/Tool/packaging/src_tarbz2.py scons-2.3.0/engine/SCons/Tool/packaging/src_tarbz2.py --- scons-2.2.0/engine/SCons/Tool/packaging/src_tarbz2.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/packaging/src_tarbz2.py 2013-03-03 14:48:40.000000000 +0000 @@ -4,7 +4,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -26,7 +26,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/packaging/src_tarbz2.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/packaging/src_tarbz2.py 2013/03/03 09:48:35 garyo" from SCons.Tool.packaging import putintopackageroot diff -Nru scons-2.2.0/engine/SCons/Tool/packaging/src_targz.py scons-2.3.0/engine/SCons/Tool/packaging/src_targz.py --- scons-2.2.0/engine/SCons/Tool/packaging/src_targz.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/packaging/src_targz.py 2013-03-03 14:48:40.000000000 +0000 @@ -4,7 +4,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -26,7 +26,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/packaging/src_targz.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/packaging/src_targz.py 2013/03/03 09:48:35 garyo" from SCons.Tool.packaging import putintopackageroot diff -Nru scons-2.2.0/engine/SCons/Tool/packaging/src_zip.py scons-2.3.0/engine/SCons/Tool/packaging/src_zip.py --- scons-2.2.0/engine/SCons/Tool/packaging/src_zip.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/packaging/src_zip.py 2013-03-03 14:48:40.000000000 +0000 @@ -4,7 +4,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -26,7 +26,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/packaging/src_zip.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/packaging/src_zip.py 2013/03/03 09:48:35 garyo" from SCons.Tool.packaging import putintopackageroot diff -Nru scons-2.2.0/engine/SCons/Tool/packaging/tarbz2.py scons-2.3.0/engine/SCons/Tool/packaging/tarbz2.py --- scons-2.2.0/engine/SCons/Tool/packaging/tarbz2.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/packaging/tarbz2.py 2013-03-03 14:48:40.000000000 +0000 @@ -4,7 +4,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -26,7 +26,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/packaging/tarbz2.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/packaging/tarbz2.py 2013/03/03 09:48:35 garyo" from SCons.Tool.packaging import stripinstallbuilder, putintopackageroot diff -Nru scons-2.2.0/engine/SCons/Tool/packaging/targz.py scons-2.3.0/engine/SCons/Tool/packaging/targz.py --- scons-2.2.0/engine/SCons/Tool/packaging/targz.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/packaging/targz.py 2013-03-03 14:48:40.000000000 +0000 @@ -4,7 +4,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -26,7 +26,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/packaging/targz.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/packaging/targz.py 2013/03/03 09:48:35 garyo" from SCons.Tool.packaging import stripinstallbuilder, putintopackageroot diff -Nru scons-2.2.0/engine/SCons/Tool/packaging/zip.py scons-2.3.0/engine/SCons/Tool/packaging/zip.py --- scons-2.2.0/engine/SCons/Tool/packaging/zip.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/packaging/zip.py 2013-03-03 14:48:40.000000000 +0000 @@ -4,7 +4,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -26,7 +26,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/packaging/zip.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/packaging/zip.py 2013/03/03 09:48:35 garyo" from SCons.Tool.packaging import stripinstallbuilder, putintopackageroot diff -Nru scons-2.2.0/engine/SCons/Tool/pdf.py scons-2.3.0/engine/SCons/Tool/pdf.py --- scons-2.2.0/engine/SCons/Tool/pdf.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/pdf.py 2013-03-03 14:48:40.000000000 +0000 @@ -6,7 +6,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -28,7 +28,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/pdf.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/pdf.py 2013/03/03 09:48:35 garyo" import SCons.Builder import SCons.Tool diff -Nru scons-2.2.0/engine/SCons/Tool/pdflatex.py scons-2.3.0/engine/SCons/Tool/pdflatex.py --- scons-2.2.0/engine/SCons/Tool/pdflatex.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/pdflatex.py 2013-03-03 14:48:40.000000000 +0000 @@ -10,7 +10,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -32,7 +32,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/pdflatex.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/pdflatex.py 2013/03/03 09:48:35 garyo" import SCons.Action import SCons.Util diff -Nru scons-2.2.0/engine/SCons/Tool/pdftex.py scons-2.3.0/engine/SCons/Tool/pdftex.py --- scons-2.2.0/engine/SCons/Tool/pdftex.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/pdftex.py 2013-03-03 14:48:40.000000000 +0000 @@ -10,7 +10,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -32,7 +32,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/pdftex.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/pdftex.py 2013/03/03 09:48:35 garyo" import os import SCons.Action diff -Nru scons-2.2.0/engine/SCons/Tool/qt.py scons-2.3.0/engine/SCons/Tool/qt.py --- scons-2.2.0/engine/SCons/Tool/qt.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/qt.py 2013-03-03 14:48:40.000000000 +0000 @@ -10,7 +10,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -32,7 +32,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/qt.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/qt.py 2013/03/03 09:48:35 garyo" import os.path import re diff -Nru scons-2.2.0/engine/SCons/Tool/rmic.py scons-2.3.0/engine/SCons/Tool/rmic.py --- scons-2.2.0/engine/SCons/Tool/rmic.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/rmic.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/rmic.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/rmic.py 2013/03/03 09:48:35 garyo" import os.path diff -Nru scons-2.2.0/engine/SCons/Tool/rpcgen.py scons-2.3.0/engine/SCons/Tool/rpcgen.py --- scons-2.2.0/engine/SCons/Tool/rpcgen.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/rpcgen.py 2013-03-03 14:48:40.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/rpcgen.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/rpcgen.py 2013/03/03 09:48:35 garyo" from SCons.Builder import Builder import SCons.Util diff -Nru scons-2.2.0/engine/SCons/Tool/rpm.py scons-2.3.0/engine/SCons/Tool/rpm.py --- scons-2.2.0/engine/SCons/Tool/rpm.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/rpm.py 2013-03-03 14:48:40.000000000 +0000 @@ -11,7 +11,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -33,7 +33,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/rpm.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/rpm.py 2013/03/03 09:48:35 garyo" import os import re diff -Nru scons-2.2.0/engine/SCons/Tool/rpmutils.py scons-2.3.0/engine/SCons/Tool/rpmutils.py --- scons-2.2.0/engine/SCons/Tool/rpmutils.py 1970-01-01 00:00:00.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/rpmutils.py 2013-03-03 14:48:40.000000000 +0000 @@ -0,0 +1,533 @@ +"""SCons.Tool.rpmutils.py + +RPM specific helper routines for general usage in the test framework +and SCons core modules. + +Since we check for the RPM package target name in several places, +we have to know which machine/system name RPM will use for the current +hardware setup. The following dictionaries and functions try to +mimic the exact naming rules of the RPM source code. +They were directly derived from the file "rpmrc.in" of the version +rpm-4.9.1.3. For updating to a more recent version of RPM, this Python +script can be used standalone. The usage() function below shows the +exact syntax. + +""" + +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 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. + +__revision__ = "src/engine/SCons/Tool/rpmutils.py 2013/03/03 09:48:35 garyo" + + +import platform + +# Start of rpmrc dictionaries (Marker, don't change or remove!) +os_canon = { + 'AIX' : ['AIX','5'], + 'AmigaOS' : ['AmigaOS','5'], + 'BSD_OS' : ['bsdi','12'], + 'CYGWIN32_95' : ['cygwin32','15'], + 'CYGWIN32_NT' : ['cygwin32','14'], + 'Darwin' : ['darwin','21'], + 'FreeBSD' : ['FreeBSD','8'], + 'HP-UX' : ['hpux10','6'], + 'IRIX' : ['Irix','2'], + 'IRIX64' : ['Irix64','10'], + 'Linux' : ['Linux','1'], + 'Linux/390' : ['OS/390','20'], + 'Linux/ESA' : ['VM/ESA','20'], + 'MacOSX' : ['macosx','21'], + 'MiNT' : ['FreeMiNT','17'], + 'NEXTSTEP' : ['NextStep','11'], + 'OS/390' : ['OS/390','18'], + 'OSF1' : ['osf1','7'], + 'SCO_SV' : ['SCO_SV3.2v5.0.2','9'], + 'SunOS4' : ['SunOS','4'], + 'SunOS5' : ['solaris','3'], + 'UNIX_SV' : ['MP_RAS','16'], + 'VM/ESA' : ['VM/ESA','19'], + 'machten' : ['machten','13'], + 'osf3.2' : ['osf1','7'], + 'osf4.0' : ['osf1','7'], +} + +buildarch_compat = { + 'alpha' : ['noarch'], + 'alphaev5' : ['alpha'], + 'alphaev56' : ['alphaev5'], + 'alphaev6' : ['alphapca56'], + 'alphaev67' : ['alphaev6'], + 'alphapca56' : ['alphaev56'], + 'amd64' : ['x86_64'], + 'armv3l' : ['noarch'], + 'armv4b' : ['noarch'], + 'armv4l' : ['armv3l'], + 'armv4tl' : ['armv4l'], + 'armv5tejl' : ['armv5tel'], + 'armv5tel' : ['armv4tl'], + 'armv6l' : ['armv5tejl'], + 'armv7l' : ['armv6l'], + 'atariclone' : ['m68kmint','noarch'], + 'atarist' : ['m68kmint','noarch'], + 'atariste' : ['m68kmint','noarch'], + 'ataritt' : ['m68kmint','noarch'], + 'athlon' : ['i686'], + 'falcon' : ['m68kmint','noarch'], + 'geode' : ['i586'], + 'hades' : ['m68kmint','noarch'], + 'hppa1.0' : ['parisc'], + 'hppa1.1' : ['hppa1.0'], + 'hppa1.2' : ['hppa1.1'], + 'hppa2.0' : ['hppa1.2'], + 'i386' : ['noarch','fat'], + 'i486' : ['i386'], + 'i586' : ['i486'], + 'i686' : ['i586'], + 'ia32e' : ['x86_64'], + 'ia64' : ['noarch'], + 'm68k' : ['noarch'], + 'milan' : ['m68kmint','noarch'], + 'mips' : ['noarch'], + 'mipsel' : ['noarch'], + 'parisc' : ['noarch'], + 'pentium3' : ['i686'], + 'pentium4' : ['pentium3'], + 'ppc' : ['noarch','fat'], + 'ppc32dy4' : ['noarch'], + 'ppc64' : ['noarch','fat'], + 'ppc64iseries' : ['ppc64'], + 'ppc64pseries' : ['ppc64'], + 'ppc8260' : ['noarch'], + 'ppc8560' : ['noarch'], + 'ppciseries' : ['noarch'], + 'ppcpseries' : ['noarch'], + 's390' : ['noarch'], + 's390x' : ['noarch'], + 'sh3' : ['noarch'], + 'sh4' : ['noarch'], + 'sh4a' : ['sh4'], + 'sparc' : ['noarch'], + 'sparc64' : ['sparcv9v'], + 'sparc64v' : ['sparc64'], + 'sparcv8' : ['sparc'], + 'sparcv9' : ['sparcv8'], + 'sparcv9v' : ['sparcv9'], + 'sun4c' : ['noarch'], + 'sun4d' : ['noarch'], + 'sun4m' : ['noarch'], + 'sun4u' : ['noarch'], + 'x86_64' : ['noarch'], +} + +os_compat = { + 'BSD_OS' : ['bsdi'], + 'Darwin' : ['MacOSX'], + 'FreeMiNT' : ['mint','MiNT','TOS'], + 'IRIX64' : ['IRIX'], + 'MiNT' : ['FreeMiNT','mint','TOS'], + 'TOS' : ['FreeMiNT','MiNT','mint'], + 'bsdi4.0' : ['bsdi'], + 'hpux10.00' : ['hpux9.07'], + 'hpux10.01' : ['hpux10.00'], + 'hpux10.10' : ['hpux10.01'], + 'hpux10.20' : ['hpux10.10'], + 'hpux10.30' : ['hpux10.20'], + 'hpux11.00' : ['hpux10.30'], + 'hpux9.05' : ['hpux9.04'], + 'hpux9.07' : ['hpux9.05'], + 'mint' : ['FreeMiNT','MiNT','TOS'], + 'ncr-sysv4.3' : ['ncr-sysv4.2'], + 'osf4.0' : ['osf3.2','osf1'], + 'solaris2.4' : ['solaris2.3'], + 'solaris2.5' : ['solaris2.3','solaris2.4'], + 'solaris2.6' : ['solaris2.3','solaris2.4','solaris2.5'], + 'solaris2.7' : ['solaris2.3','solaris2.4','solaris2.5','solaris2.6'], +} + +arch_compat = { + 'alpha' : ['axp','noarch'], + 'alphaev5' : ['alpha'], + 'alphaev56' : ['alphaev5'], + 'alphaev6' : ['alphapca56'], + 'alphaev67' : ['alphaev6'], + 'alphapca56' : ['alphaev56'], + 'amd64' : ['x86_64','athlon','noarch'], + 'armv3l' : ['noarch'], + 'armv4b' : ['noarch'], + 'armv4l' : ['armv3l'], + 'armv4tl' : ['armv4l'], + 'armv5tejl' : ['armv5tel'], + 'armv5tel' : ['armv4tl'], + 'armv6l' : ['armv5tejl'], + 'armv7l' : ['armv6l'], + 'atariclone' : ['m68kmint','noarch'], + 'atarist' : ['m68kmint','noarch'], + 'atariste' : ['m68kmint','noarch'], + 'ataritt' : ['m68kmint','noarch'], + 'athlon' : ['i686'], + 'falcon' : ['m68kmint','noarch'], + 'geode' : ['i586'], + 'hades' : ['m68kmint','noarch'], + 'hppa1.0' : ['parisc'], + 'hppa1.1' : ['hppa1.0'], + 'hppa1.2' : ['hppa1.1'], + 'hppa2.0' : ['hppa1.2'], + 'i370' : ['noarch'], + 'i386' : ['noarch','fat'], + 'i486' : ['i386'], + 'i586' : ['i486'], + 'i686' : ['i586'], + 'ia32e' : ['x86_64','athlon','noarch'], + 'ia64' : ['noarch'], + 'milan' : ['m68kmint','noarch'], + 'mips' : ['noarch'], + 'mipsel' : ['noarch'], + 'osfmach3_i386' : ['i486'], + 'osfmach3_i486' : ['i486','osfmach3_i386'], + 'osfmach3_i586' : ['i586','osfmach3_i486'], + 'osfmach3_i686' : ['i686','osfmach3_i586'], + 'osfmach3_ppc' : ['ppc'], + 'parisc' : ['noarch'], + 'pentium3' : ['i686'], + 'pentium4' : ['pentium3'], + 'powerpc' : ['ppc'], + 'powerppc' : ['ppc'], + 'ppc' : ['rs6000'], + 'ppc32dy4' : ['ppc'], + 'ppc64' : ['ppc'], + 'ppc64iseries' : ['ppc64'], + 'ppc64pseries' : ['ppc64'], + 'ppc8260' : ['ppc'], + 'ppc8560' : ['ppc'], + 'ppciseries' : ['ppc'], + 'ppcpseries' : ['ppc'], + 'rs6000' : ['noarch','fat'], + 's390' : ['noarch'], + 's390x' : ['s390','noarch'], + 'sh3' : ['noarch'], + 'sh4' : ['noarch'], + 'sh4a' : ['sh4'], + 'sparc' : ['noarch'], + 'sparc64' : ['sparcv9'], + 'sparc64v' : ['sparc64'], + 'sparcv8' : ['sparc'], + 'sparcv9' : ['sparcv8'], + 'sparcv9v' : ['sparcv9'], + 'sun4c' : ['sparc'], + 'sun4d' : ['sparc'], + 'sun4m' : ['sparc'], + 'sun4u' : ['sparc64'], + 'x86_64' : ['amd64','athlon','noarch'], +} + +buildarchtranslate = { + 'alphaev5' : ['alpha'], + 'alphaev56' : ['alpha'], + 'alphaev6' : ['alpha'], + 'alphaev67' : ['alpha'], + 'alphapca56' : ['alpha'], + 'amd64' : ['x86_64'], + 'armv3l' : ['armv3l'], + 'armv4b' : ['armv4b'], + 'armv4l' : ['armv4l'], + 'armv4tl' : ['armv4tl'], + 'armv5tejl' : ['armv5tejl'], + 'armv5tel' : ['armv5tel'], + 'armv6l' : ['armv6l'], + 'armv7l' : ['armv7l'], + 'atariclone' : ['m68kmint'], + 'atarist' : ['m68kmint'], + 'atariste' : ['m68kmint'], + 'ataritt' : ['m68kmint'], + 'athlon' : ['i386'], + 'falcon' : ['m68kmint'], + 'geode' : ['i386'], + 'hades' : ['m68kmint'], + 'i386' : ['i386'], + 'i486' : ['i386'], + 'i586' : ['i386'], + 'i686' : ['i386'], + 'ia32e' : ['x86_64'], + 'ia64' : ['ia64'], + 'milan' : ['m68kmint'], + 'osfmach3_i386' : ['i386'], + 'osfmach3_i486' : ['i386'], + 'osfmach3_i586' : ['i386'], + 'osfmach3_i686' : ['i386'], + 'osfmach3_ppc' : ['ppc'], + 'pentium3' : ['i386'], + 'pentium4' : ['i386'], + 'powerpc' : ['ppc'], + 'powerppc' : ['ppc'], + 'ppc32dy4' : ['ppc'], + 'ppc64iseries' : ['ppc64'], + 'ppc64pseries' : ['ppc64'], + 'ppc8260' : ['ppc'], + 'ppc8560' : ['ppc'], + 'ppciseries' : ['ppc'], + 'ppcpseries' : ['ppc'], + 's390' : ['s390'], + 's390x' : ['s390x'], + 'sh3' : ['sh3'], + 'sh4' : ['sh4'], + 'sh4a' : ['sh4'], + 'sparc64v' : ['sparc64'], + 'sparcv8' : ['sparc'], + 'sparcv9' : ['sparc'], + 'sparcv9v' : ['sparc'], + 'sun4c' : ['sparc'], + 'sun4d' : ['sparc'], + 'sun4m' : ['sparc'], + 'sun4u' : ['sparc64'], + 'x86_64' : ['x86_64'], +} + +optflags = { + 'alpha' : ['-O2','-g','-mieee'], + 'alphaev5' : ['-O2','-g','-mieee','-mtune=ev5'], + 'alphaev56' : ['-O2','-g','-mieee','-mtune=ev56'], + 'alphaev6' : ['-O2','-g','-mieee','-mtune=ev6'], + 'alphaev67' : ['-O2','-g','-mieee','-mtune=ev67'], + 'alphapca56' : ['-O2','-g','-mieee','-mtune=pca56'], + 'amd64' : ['-O2','-g'], + 'armv3l' : ['-O2','-g','-march=armv3'], + 'armv4b' : ['-O2','-g','-march=armv4'], + 'armv4l' : ['-O2','-g','-march=armv4'], + 'armv4tl' : ['-O2','-g','-march=armv4t'], + 'armv5tejl' : ['-O2','-g','-march=armv5te'], + 'armv5tel' : ['-O2','-g','-march=armv5te'], + 'armv6l' : ['-O2','-g','-march=armv6'], + 'armv7l' : ['-O2','-g','-march=armv7'], + 'atariclone' : ['-O2','-g','-fomit-frame-pointer'], + 'atarist' : ['-O2','-g','-fomit-frame-pointer'], + 'atariste' : ['-O2','-g','-fomit-frame-pointer'], + 'ataritt' : ['-O2','-g','-fomit-frame-pointer'], + 'athlon' : ['-O2','-g','-march=athlon'], + 'falcon' : ['-O2','-g','-fomit-frame-pointer'], + 'fat' : ['-O2','-g','-arch','i386','-arch','ppc'], + 'geode' : ['-Os','-g','-m32','-march=geode'], + 'hades' : ['-O2','-g','-fomit-frame-pointer'], + 'hppa1.0' : ['-O2','-g','-mpa-risc-1-0'], + 'hppa1.1' : ['-O2','-g','-mpa-risc-1-0'], + 'hppa1.2' : ['-O2','-g','-mpa-risc-1-0'], + 'hppa2.0' : ['-O2','-g','-mpa-risc-1-0'], + 'i386' : ['-O2','-g','-march=i386','-mtune=i686'], + 'i486' : ['-O2','-g','-march=i486'], + 'i586' : ['-O2','-g','-march=i586'], + 'i686' : ['-O2','-g','-march=i686'], + 'ia32e' : ['-O2','-g'], + 'ia64' : ['-O2','-g'], + 'm68k' : ['-O2','-g','-fomit-frame-pointer'], + 'milan' : ['-O2','-g','-fomit-frame-pointer'], + 'mips' : ['-O2','-g'], + 'mipsel' : ['-O2','-g'], + 'parisc' : ['-O2','-g','-mpa-risc-1-0'], + 'pentium3' : ['-O2','-g','-march=pentium3'], + 'pentium4' : ['-O2','-g','-march=pentium4'], + 'ppc' : ['-O2','-g','-fsigned-char'], + 'ppc32dy4' : ['-O2','-g','-fsigned-char'], + 'ppc64' : ['-O2','-g','-fsigned-char'], + 'ppc8260' : ['-O2','-g','-fsigned-char'], + 'ppc8560' : ['-O2','-g','-fsigned-char'], + 'ppciseries' : ['-O2','-g','-fsigned-char'], + 'ppcpseries' : ['-O2','-g','-fsigned-char'], + 's390' : ['-O2','-g'], + 's390x' : ['-O2','-g'], + 'sh3' : ['-O2','-g'], + 'sh4' : ['-O2','-g','-mieee'], + 'sh4a' : ['-O2','-g','-mieee'], + 'sparc' : ['-O2','-g','-m32','-mtune=ultrasparc'], + 'sparc64' : ['-O2','-g','-m64','-mtune=ultrasparc'], + 'sparc64v' : ['-O2','-g','-m64','-mtune=niagara'], + 'sparcv8' : ['-O2','-g','-m32','-mtune=ultrasparc','-mv8'], + 'sparcv9' : ['-O2','-g','-m32','-mtune=ultrasparc'], + 'sparcv9v' : ['-O2','-g','-m32','-mtune=niagara'], + 'x86_64' : ['-O2','-g'], +} + +arch_canon = { + 'IP' : ['sgi','7'], + 'alpha' : ['alpha','2'], + 'alphaev5' : ['alphaev5','2'], + 'alphaev56' : ['alphaev56','2'], + 'alphaev6' : ['alphaev6','2'], + 'alphaev67' : ['alphaev67','2'], + 'alphapca56' : ['alphapca56','2'], + 'amd64' : ['amd64','1'], + 'armv3l' : ['armv3l','12'], + 'armv4b' : ['armv4b','12'], + 'armv4l' : ['armv4l','12'], + 'armv5tejl' : ['armv5tejl','12'], + 'armv5tel' : ['armv5tel','12'], + 'armv6l' : ['armv6l','12'], + 'armv7l' : ['armv7l','12'], + 'atariclone' : ['m68kmint','13'], + 'atarist' : ['m68kmint','13'], + 'atariste' : ['m68kmint','13'], + 'ataritt' : ['m68kmint','13'], + 'athlon' : ['athlon','1'], + 'falcon' : ['m68kmint','13'], + 'geode' : ['geode','1'], + 'hades' : ['m68kmint','13'], + 'i370' : ['i370','14'], + 'i386' : ['i386','1'], + 'i486' : ['i486','1'], + 'i586' : ['i586','1'], + 'i686' : ['i686','1'], + 'ia32e' : ['ia32e','1'], + 'ia64' : ['ia64','9'], + 'm68k' : ['m68k','6'], + 'm68kmint' : ['m68kmint','13'], + 'milan' : ['m68kmint','13'], + 'mips' : ['mips','4'], + 'mipsel' : ['mipsel','11'], + 'pentium3' : ['pentium3','1'], + 'pentium4' : ['pentium4','1'], + 'ppc' : ['ppc','5'], + 'ppc32dy4' : ['ppc32dy4','5'], + 'ppc64' : ['ppc64','16'], + 'ppc64iseries' : ['ppc64iseries','16'], + 'ppc64pseries' : ['ppc64pseries','16'], + 'ppc8260' : ['ppc8260','5'], + 'ppc8560' : ['ppc8560','5'], + 'ppciseries' : ['ppciseries','5'], + 'ppcpseries' : ['ppcpseries','5'], + 'rs6000' : ['rs6000','8'], + 's390' : ['s390','14'], + 's390x' : ['s390x','15'], + 'sh' : ['sh','17'], + 'sh3' : ['sh3','17'], + 'sh4' : ['sh4','17'], + 'sh4a' : ['sh4a','17'], + 'sparc' : ['sparc','3'], + 'sparc64' : ['sparc64','2'], + 'sparc64v' : ['sparc64v','2'], + 'sparcv8' : ['sparcv8','3'], + 'sparcv9' : ['sparcv9','3'], + 'sparcv9v' : ['sparcv9v','3'], + 'sun4' : ['sparc','3'], + 'sun4c' : ['sparc','3'], + 'sun4d' : ['sparc','3'], + 'sun4m' : ['sparc','3'], + 'sun4u' : ['sparc64','2'], + 'x86_64' : ['x86_64','1'], + 'xtensa' : ['xtensa','18'], +} + +# End of rpmrc dictionaries (Marker, don't change or remove!) + +def defaultMachine(): + """ Return the canonicalized machine name. """ + rmachine = platform.machine() + + # Try to lookup the string in the canon table + if rmachine in arch_canon: + rmachine = arch_canon[rmachine][0] + + return rmachine + +def defaultSystem(): + """ Return the canonicalized system name. """ + rsystem = platform.system() + + # Try to lookup the string in the canon tables + if rsystem in os_canon: + rsystem = os_canon[rsystem][0] + + return rsystem + +def defaultNames(): + """ Return the canonicalized machine and system name. """ + return defaultMachine(), defaultSystem() + +def updateRpmDicts(rpmrc, pyfile): + """ Read the given rpmrc file with RPM definitions and update the + info dictionaries in the file pyfile with it. + The arguments will usually be 'rpmrc.in' from a recent RPM source + tree, and 'rpmutils.py' referring to this script itself. + See also usage() below. + """ + try: + # Read old rpmutils.py file + oldpy = open(pyfile,"r").readlines() + # Read current rpmrc.in file + rpm = open(rpmrc,"r").readlines() + # Parse for data + data = {} + # Allowed section names that get parsed + sections = ['optflags', + 'arch_canon', + 'os_canon', + 'buildarchtranslate', + 'arch_compat', + 'os_compat', + 'buildarch_compat'] + for l in rpm: + l = l.rstrip('\n').replace(':',' ') + # Skip comments + if l.lstrip().startswith('#'): + continue + tokens = l.strip().split() + if len(tokens): + key = tokens[0] + if key in sections: + # Have we met this section before? + if not data.has_key(tokens[0]): + # No, so insert it + data[key] = {} + # Insert data + data[key][tokens[1]] = tokens[2:] + # Write new rpmutils.py file + out = open(pyfile,"w") + pm = 0 + for l in oldpy: + if pm: + if l.startswith('# End of rpmrc dictionaries'): + pm = 0 + out.write(l) + else: + out.write(l) + if l.startswith('# Start of rpmrc dictionaries'): + pm = 1 + # Write data sections to single dictionaries + for key, entries in data.iteritems(): + out.write("%s = {\n" % key) + for arch in sorted(entries.keys()): + out.write(" '%s' : ['%s'],\n" % (arch, "','".join(entries[arch]))) + out.write("}\n\n") + out.close() + except: + pass + +def usage(): + print "rpmutils.py rpmrc.in rpmutils.py" + +def main(): + import sys + + if len(sys.argv) < 3: + usage() + sys.exit(0) + updateRpmDicts(sys.argv[1], sys.argv[2]) + +if __name__ == "__main__": + main() diff -Nru scons-2.2.0/engine/SCons/Tool/sgiar.py scons-2.3.0/engine/SCons/Tool/sgiar.py --- scons-2.2.0/engine/SCons/Tool/sgiar.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/sgiar.py 2013-03-03 14:48:40.000000000 +0000 @@ -11,7 +11,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -33,7 +33,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/sgiar.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/sgiar.py 2013/03/03 09:48:35 garyo" import SCons.Defaults import SCons.Tool diff -Nru scons-2.2.0/engine/SCons/Tool/sgic++.py scons-2.3.0/engine/SCons/Tool/sgic++.py --- scons-2.2.0/engine/SCons/Tool/sgic++.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/sgic++.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/sgic++.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/sgic++.py 2013/03/03 09:48:35 garyo" import SCons.Util diff -Nru scons-2.2.0/engine/SCons/Tool/sgicc.py scons-2.3.0/engine/SCons/Tool/sgicc.py --- scons-2.2.0/engine/SCons/Tool/sgicc.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/sgicc.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/sgicc.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/sgicc.py 2013/03/03 09:48:35 garyo" import cc diff -Nru scons-2.2.0/engine/SCons/Tool/sgilink.py scons-2.3.0/engine/SCons/Tool/sgilink.py --- scons-2.2.0/engine/SCons/Tool/sgilink.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/sgilink.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/sgilink.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/sgilink.py 2013/03/03 09:48:35 garyo" import SCons.Util diff -Nru scons-2.2.0/engine/SCons/Tool/sunar.py scons-2.3.0/engine/SCons/Tool/sunar.py --- scons-2.2.0/engine/SCons/Tool/sunar.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/sunar.py 2013-03-03 14:48:40.000000000 +0000 @@ -10,7 +10,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -32,7 +32,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/sunar.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/sunar.py 2013/03/03 09:48:35 garyo" import SCons.Defaults import SCons.Tool diff -Nru scons-2.2.0/engine/SCons/Tool/sunc++.py scons-2.3.0/engine/SCons/Tool/sunc++.py --- scons-2.2.0/engine/SCons/Tool/sunc++.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/sunc++.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/sunc++.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/sunc++.py 2013/03/03 09:48:35 garyo" import SCons diff -Nru scons-2.2.0/engine/SCons/Tool/suncc.py scons-2.3.0/engine/SCons/Tool/suncc.py --- scons-2.2.0/engine/SCons/Tool/suncc.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/suncc.py 2013-03-03 14:48:40.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/suncc.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/suncc.py 2013/03/03 09:48:35 garyo" import SCons.Util diff -Nru scons-2.2.0/engine/SCons/Tool/sunf77.py scons-2.3.0/engine/SCons/Tool/sunf77.py --- scons-2.2.0/engine/SCons/Tool/sunf77.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/sunf77.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/sunf77.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/sunf77.py 2013/03/03 09:48:35 garyo" import SCons.Util diff -Nru scons-2.2.0/engine/SCons/Tool/sunf90.py scons-2.3.0/engine/SCons/Tool/sunf90.py --- scons-2.2.0/engine/SCons/Tool/sunf90.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/sunf90.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/sunf90.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/sunf90.py 2013/03/03 09:48:35 garyo" import SCons.Util diff -Nru scons-2.2.0/engine/SCons/Tool/sunf95.py scons-2.3.0/engine/SCons/Tool/sunf95.py --- scons-2.2.0/engine/SCons/Tool/sunf95.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/sunf95.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/sunf95.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/sunf95.py 2013/03/03 09:48:35 garyo" import SCons.Util diff -Nru scons-2.2.0/engine/SCons/Tool/sunlink.py scons-2.3.0/engine/SCons/Tool/sunlink.py --- scons-2.2.0/engine/SCons/Tool/sunlink.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/sunlink.py 2013-03-03 14:48:40.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/sunlink.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/sunlink.py 2013/03/03 09:48:35 garyo" import os import os.path diff -Nru scons-2.2.0/engine/SCons/Tool/swig.py scons-2.3.0/engine/SCons/Tool/swig.py --- scons-2.2.0/engine/SCons/Tool/swig.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/swig.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/swig.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/swig.py 2013/03/03 09:48:35 garyo" import os.path import re diff -Nru scons-2.2.0/engine/SCons/Tool/tar.py scons-2.3.0/engine/SCons/Tool/tar.py --- scons-2.2.0/engine/SCons/Tool/tar.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/tar.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/tar.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/tar.py 2013/03/03 09:48:35 garyo" import SCons.Action import SCons.Builder diff -Nru scons-2.2.0/engine/SCons/Tool/tex.py scons-2.3.0/engine/SCons/Tool/tex.py --- scons-2.2.0/engine/SCons/Tool/tex.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/tex.py 2013-03-03 14:48:40.000000000 +0000 @@ -10,7 +10,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -32,7 +32,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/tex.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/tex.py 2013/03/03 09:48:35 garyo" import os.path import re @@ -100,6 +100,10 @@ makeglossaries_re = re.compile(r"^[^%\n]*\\makeglossaries", re.MULTILINE) makeacronyms_re = re.compile(r"^[^%\n]*\\makeglossaries", re.MULTILINE) beamer_re = re.compile(r"^[^%\n]*\\documentclass\{beamer\}", re.MULTILINE) +regex = r'^[^%\n]*\\newglossary\s*\[([^\]]+)\]?\s*\{([^}]*)\}\s*\{([^}]*)\}\s*\{([^}]*)\}\s*\{([^}]*)\}' +newglossary_re = re.compile(regex, re.MULTILINE) + +newglossary_suffix = [] # search to find all files included by Latex include_re = re.compile(r'^[^%\n]*\\(?:include|input){([^}]*)}', re.MULTILINE) @@ -125,6 +129,9 @@ # An action to run BibTeX on a file. BibTeXAction = None +# An action to run Biber on a file. +BiberAction = None + # An action to run MakeIndex on a file. MakeIndexAction = None @@ -137,6 +144,9 @@ # An action to run MakeIndex (for acronyms) on a file. MakeAcronymsAction = None +# An action to run MakeIndex (for newglossary commands) on a file. +MakeNewGlossaryAction = None + # Used as a return value of modify_env_var if the variable is not set. _null = SCons.Scanner.LaTeX._null @@ -232,7 +242,8 @@ saved_hashes = {} suffix_nodes = {} - for suffix in all_suffixes: + + for suffix in all_suffixes+sum(newglossary_suffix, []): theNode = env.fs.File(targetbase + suffix) suffix_nodes[suffix] = theNode saved_hashes[suffix] = theNode.get_csig() @@ -336,7 +347,9 @@ must_rerun_latex = True # Now decide if biber will need to be run. - # The information that bibtex reads from the .bcf file is + # When the backend for biblatex is biber (by choice or default) the + # citation information is put in the .bcf file. + # The information that biber reads from the .bcf file is # pass-independent. If we find (below) that the .bbl file is unchanged, # then the last latex saw a correct bibliography. # Therefore only do this once @@ -349,11 +362,11 @@ content = open(target_bcf, "rb").read() if content.find("bibdata") != -1: if Verbose: - print "Need to run bibtex on ",bcffilename + print "Need to run biber on ",bcffilename bibfile = env.fs.File(SCons.Util.splitext(target_bcf)[0]) - result = BibTeXAction(bibfile, bibfile, env) + result = BiberAction(bibfile, bibfile, env) if result != 0: - check_file_error_message(env['BIBTEX'], 'blg') + check_file_error_message(env['BIBER'], 'blg') must_rerun_latex = True # Now decide if latex will need to be run again due to index. @@ -410,6 +423,21 @@ 'alg') return result + # Now decide if latex will need to be run again due to newglossary command. + for ig in range(len(newglossary_suffix)): + if check_MD5(suffix_nodes[newglossary_suffix[ig][2]],newglossary_suffix[ig][2]) or (count == 1): + # We must run makeindex + if Verbose: + print "Need to run makeindex for newglossary" + newglfile = suffix_nodes[newglossary_suffix[ig][2]] + MakeNewGlossaryAction = SCons.Action.Action("$MAKENEWGLOSSARY ${SOURCE.filebase}%s -s ${SOURCE.filebase}.ist -t ${SOURCE.filebase}%s -o ${SOURCE.filebase}%s" % (newglossary_suffix[ig][2],newglossary_suffix[ig][0],newglossary_suffix[ig][1]), "$MAKENEWGLOSSARYCOMSTR") + + result = MakeNewGlossaryAction(newglfile, newglfile, env) + if result != 0: + check_file_error_message('%s (newglossary)' % env['MAKENEWGLOSSARY'], + newglossary_suffix[ig][0]) + return result + # Now decide if latex needs to be run yet again to resolve warnings. if warning_rerun_re.search(logContent): must_rerun_latex = True @@ -595,9 +623,23 @@ for i in range(len(file_tests_search)): if file_tests[i][0] is None: + if Verbose: + print "scan i ",i," files_tests[i] ",file_tests[i], file_tests[i][1] file_tests[i][0] = file_tests_search[i].search(content) if Verbose and file_tests[i][0]: - print " found match for ",file_tests[i][-1][-1] + print " found match for ",file_tests[i][1][-1] + # for newglossary insert the suffixes in file_tests[i] + if file_tests[i][0] and file_tests[i][1][-1] == 'newglossary': + findresult = file_tests_search[i].findall(content) + for l in range(len(findresult)) : + (file_tests[i][1]).insert(0,'.'+findresult[l][3]) + (file_tests[i][1]).insert(0,'.'+findresult[l][2]) + (file_tests[i][1]).insert(0,'.'+findresult[l][0]) + suffix_list = ['.'+findresult[l][0],'.'+findresult[l][2],'.'+findresult[l][3] ] + newglossary_suffix.append(suffix_list) + if Verbose: + print " new suffixes for newglossary ",newglossary_suffix + incResult = includeOnly_re.search(content) if incResult: @@ -676,7 +718,8 @@ makeglossary_re, makeglossaries_re, makeacronyms_re, - beamer_re ] + beamer_re, + newglossary_re ] # set up list with the file suffixes that need emitting # when a feature is found file_tests_suff = [['.aux','aux_file'], @@ -693,7 +736,9 @@ ['.glo', '.gls', '.glg','glossary'], ['.glo', '.gls', '.glg','glossaries'], ['.acn', '.acr', '.alg','acronyms'], - ['.nav', '.snm', '.out', '.toc','beamer'] ] + ['.nav', '.snm', '.out', '.toc','beamer'], + ['newglossary',] ] + # for newglossary the suffixes are added as we find the command # build the list of lists file_tests = [] for i in range(len(file_tests_search)): @@ -722,6 +767,7 @@ if Verbose: print "search path ",paths + # scan all sources for side effect files aux_files = [] file_tests = ScanFiles(source[0], target, paths, file_tests, file_tests_search, env, graphics_extensions, targetdir, aux_files) @@ -839,6 +885,11 @@ if BibTeXAction is None: BibTeXAction = SCons.Action.Action("$BIBTEXCOM", "$BIBTEXCOMSTR") + # Define an action to run Biber on a file. + global BiberAction + if BiberAction is None: + BiberAction = SCons.Action.Action("$BIBERCOM", "$BIBERCOMSTR") + # Define an action to run MakeIndex on a file. global MakeIndexAction if MakeIndexAction is None: @@ -898,6 +949,10 @@ env['BIBTEXFLAGS'] = SCons.Util.CLVar('') env['BIBTEXCOM'] = CDCOM + '${TARGET.dir} && $BIBTEX $BIBTEXFLAGS ${SOURCE.filebase}' + env['BIBER'] = 'biber' + env['BIBERFLAGS'] = SCons.Util.CLVar('') + env['BIBERCOM'] = CDCOM + '${TARGET.dir} && $BIBER $BIBERFLAGS ${SOURCE.filebase}' + env['MAKEINDEX'] = 'makeindex' env['MAKEINDEXFLAGS'] = SCons.Util.CLVar('') env['MAKEINDEXCOM'] = CDCOM + '${TARGET.dir} && $MAKEINDEX $MAKEINDEXFLAGS ${SOURCE.file}' @@ -917,6 +972,9 @@ env['MAKENCLFLAGS'] = '-s ${MAKENCLSTYLE} -t ${SOURCE.filebase}.nlg' env['MAKENCLCOM'] = CDCOM + '${TARGET.dir} && $MAKENCL ${SOURCE.filebase}.nlo $MAKENCLFLAGS -o ${SOURCE.filebase}.nls' + env['MAKENEWGLOSSARY'] = 'makeindex' + env['MAKENEWGLOSSARYCOM'] = CDCOM + '${TARGET.dir} && $MAKENEWGLOSSARY ' + def exists(env): generate_darwin(env) return env.Detect('tex') diff -Nru scons-2.2.0/engine/SCons/Tool/textfile.py scons-2.3.0/engine/SCons/Tool/textfile.py --- scons-2.2.0/engine/SCons/Tool/textfile.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/textfile.py 2013-03-03 14:48:40.000000000 +0000 @@ -1,6 +1,6 @@ # -*- python -*- # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -44,7 +44,7 @@ is unpredictible whether the expansion will occur. """ -__revision__ = "src/engine/SCons/Tool/textfile.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/textfile.py 2013/03/03 09:48:35 garyo" import SCons diff -Nru scons-2.2.0/engine/SCons/Tool/tlib.py scons-2.3.0/engine/SCons/Tool/tlib.py --- scons-2.2.0/engine/SCons/Tool/tlib.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/tlib.py 2013-03-03 14:48:40.000000000 +0000 @@ -5,7 +5,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -27,7 +27,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/tlib.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/tlib.py 2013/03/03 09:48:35 garyo" import SCons.Tool import SCons.Tool.bcc32 diff -Nru scons-2.2.0/engine/SCons/Tool/wix.py scons-2.3.0/engine/SCons/Tool/wix.py --- scons-2.2.0/engine/SCons/Tool/wix.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/wix.py 2013-03-03 14:48:40.000000000 +0000 @@ -8,7 +8,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/wix.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/wix.py 2013/03/03 09:48:35 garyo" import SCons.Builder import SCons.Action @@ -47,15 +47,17 @@ env['WIXLIGHTFLAGS'].append( '-nologo' ) env['WIXLIGHTCOM'] = "$WIXLIGHT $WIXLIGHTFLAGS -out ${TARGET} ${SOURCES}" + env['WIXSRCSUF'] = '.wxs' + env['WIXOBJSUF'] = '.wixobj' object_builder = SCons.Builder.Builder( action = '$WIXCANDLECOM', - suffix = '.wxiobj', - src_suffix = '.wxs') + suffix = '$WIXOBJSUF', + src_suffix = '$WIXSRCSUF') linker_builder = SCons.Builder.Builder( action = '$WIXLIGHTCOM', - src_suffix = '.wxiobj', + src_suffix = '$WIXOBJSUF', src_builder = object_builder) env['BUILDERS']['WiX'] = linker_builder @@ -66,7 +68,6 @@ # try to find the candle.exe and light.exe tools and # add the install directory to light libpath. - #for path in os.environ['PATH'].split(os.pathsep): for path in os.environ['PATH'].split(os.pathsep): if not path: continue @@ -80,13 +81,17 @@ # search for the tools in the PATH environment variable try: - if env['WIXCANDLE'] in os.listdir(path) and\ - env['WIXLIGHT'] in os.listdir(path): - env.PrependENVPath('PATH', path) - env['WIXLIGHTFLAGS'] = [ os.path.join( path, 'wixui.wixlib' ), - '-loc', - os.path.join( path, 'WixUI_en-us.wxl' ) ] - return 1 + files = os.listdir(path) + if env['WIXCANDLE'] in files and env['WIXLIGHT'] in files: + env.PrependENVPath('PATH', path) + # include appropriate flags if running WiX 2.0 + if 'wixui.wixlib' in files and 'WixUI_en-us.wxl' in files: + env['WIXLIGHTFLAGS'] = [ os.path.join( path, 'wixui.wixlib' ), + '-loc', + os.path.join( path, 'WixUI_en-us.wxl' ) ] + else: + env['WIXLIGHTFLAGS'] = [] + return 1 except OSError: pass # ignore this, could be a stale PATH entry. diff -Nru scons-2.2.0/engine/SCons/Tool/xgettext.py scons-2.3.0/engine/SCons/Tool/xgettext.py --- scons-2.2.0/engine/SCons/Tool/xgettext.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/xgettext.py 2013-03-03 14:48:40.000000000 +0000 @@ -3,7 +3,7 @@ Tool specific initialization of `xgettext` tool. """ -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -24,7 +24,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. -__revision__ = "src/engine/SCons/Tool/xgettext.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/xgettext.py 2013/03/03 09:48:35 garyo" ############################################################################# class _CmdRunner(object): @@ -271,7 +271,10 @@ import SCons.Util from SCons.Tool.GettextCommon import RPaths, _detect_xgettext - env['XGETTEXT'] = _detect_xgettext(env) + try: + env['XGETTEXT'] = _detect_xgettext(env) + except: + env['XGETTEXT'] = 'xgettext' # NOTE: sources="$SOURCES" would work as well. However, we use following # construction to convert absolute paths provided by scons onto paths # relative to current working dir. Note, that scons expands $SOURCE(S) to @@ -323,7 +326,10 @@ def exists(env): """ Check, whether the tool exists """ from SCons.Tool.GettextCommon import _xgettext_exists - return _xgettext_exists(env) + try: + return _xgettext_exists(env) + except: + return False ############################################################################# # Local Variables: diff -Nru scons-2.2.0/engine/SCons/Tool/yacc.py scons-2.3.0/engine/SCons/Tool/yacc.py --- scons-2.2.0/engine/SCons/Tool/yacc.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/yacc.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/yacc.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/yacc.py 2013/03/03 09:48:35 garyo" import os.path diff -Nru scons-2.2.0/engine/SCons/Tool/zip.py scons-2.3.0/engine/SCons/Tool/zip.py --- scons-2.2.0/engine/SCons/Tool/zip.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Tool/zip.py 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Tool/zip.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Tool/zip.py 2013/03/03 09:48:35 garyo" import os.path diff -Nru scons-2.2.0/engine/SCons/Util.py scons-2.3.0/engine/SCons/Util.py --- scons-2.2.0/engine/SCons/Util.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Util.py 2013-03-03 14:48:40.000000000 +0000 @@ -3,7 +3,7 @@ Various utility functions go here. """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -24,7 +24,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. -__revision__ = "src/engine/SCons/Util.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Util.py 2013/03/03 09:48:35 garyo" import os import sys diff -Nru scons-2.2.0/engine/SCons/Variables/BoolVariable.py scons-2.3.0/engine/SCons/Variables/BoolVariable.py --- scons-2.2.0/engine/SCons/Variables/BoolVariable.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Variables/BoolVariable.py 2013-03-03 14:48:40.000000000 +0000 @@ -12,7 +12,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -34,7 +34,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Variables/BoolVariable.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Variables/BoolVariable.py 2013/03/03 09:48:35 garyo" __all__ = ['BoolVariable',] diff -Nru scons-2.2.0/engine/SCons/Variables/EnumVariable.py scons-2.3.0/engine/SCons/Variables/EnumVariable.py --- scons-2.2.0/engine/SCons/Variables/EnumVariable.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Variables/EnumVariable.py 2013-03-03 14:48:40.000000000 +0000 @@ -15,7 +15,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -37,7 +37,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Variables/EnumVariable.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Variables/EnumVariable.py 2013/03/03 09:48:35 garyo" __all__ = ['EnumVariable',] diff -Nru scons-2.2.0/engine/SCons/Variables/ListVariable.py scons-2.3.0/engine/SCons/Variables/ListVariable.py --- scons-2.2.0/engine/SCons/Variables/ListVariable.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Variables/ListVariable.py 2013-03-03 14:48:40.000000000 +0000 @@ -25,7 +25,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -46,7 +46,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. -__revision__ = "src/engine/SCons/Variables/ListVariable.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Variables/ListVariable.py 2013/03/03 09:48:35 garyo" # Know Bug: This should behave like a Set-Type, but does not really, # since elements can occur twice. diff -Nru scons-2.2.0/engine/SCons/Variables/PackageVariable.py scons-2.3.0/engine/SCons/Variables/PackageVariable.py --- scons-2.2.0/engine/SCons/Variables/PackageVariable.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Variables/PackageVariable.py 2013-03-03 14:48:40.000000000 +0000 @@ -28,7 +28,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -50,7 +50,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Variables/PackageVariable.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Variables/PackageVariable.py 2013/03/03 09:48:35 garyo" __all__ = ['PackageVariable',] diff -Nru scons-2.2.0/engine/SCons/Variables/PathVariable.py scons-2.3.0/engine/SCons/Variables/PathVariable.py --- scons-2.2.0/engine/SCons/Variables/PathVariable.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Variables/PathVariable.py 2013-03-03 14:48:40.000000000 +0000 @@ -46,7 +46,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -68,7 +68,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/Variables/PathVariable.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Variables/PathVariable.py 2013/03/03 09:48:35 garyo" __all__ = ['PathVariable',] diff -Nru scons-2.2.0/engine/SCons/Variables/__init__.py scons-2.3.0/engine/SCons/Variables/__init__.py --- scons-2.2.0/engine/SCons/Variables/__init__.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Variables/__init__.py 2013-03-03 14:48:40.000000000 +0000 @@ -5,7 +5,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -26,7 +26,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. -__revision__ = "src/engine/SCons/Variables/__init__.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Variables/__init__.py 2013/03/03 09:48:35 garyo" import os.path import sys diff -Nru scons-2.2.0/engine/SCons/Warnings.py scons-2.3.0/engine/SCons/Warnings.py --- scons-2.2.0/engine/SCons/Warnings.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/Warnings.py 2013-03-03 14:48:40.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -27,7 +27,7 @@ """ -__revision__ = "src/engine/SCons/Warnings.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/Warnings.py 2013/03/03 09:48:35 garyo" import sys diff -Nru scons-2.2.0/engine/SCons/__init__.py scons-2.3.0/engine/SCons/__init__.py --- scons-2.2.0/engine/SCons/__init__.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/__init__.py 2013-03-03 14:48:39.000000000 +0000 @@ -5,7 +5,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -27,15 +27,15 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/__init__.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/__init__.py 2013/03/03 09:48:35 garyo" -__version__ = "2.2.0" +__version__ = "2.3.0" -__build__ = "issue-2856:2676:d23b7a2f45e8[MODIFIED]" +__build__ = "" -__buildsys__ = "oberbrunner-dev" +__buildsys__ = "reepicheep" -__date__ = "2012/08/05 15:38:28" +__date__ = "2013/03/03 09:48:35" __developer__ = "garyo" diff -Nru scons-2.2.0/engine/SCons/compat/__init__.py scons-2.3.0/engine/SCons/compat/__init__.py --- scons-2.2.0/engine/SCons/compat/__init__.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/compat/__init__.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -60,7 +60,7 @@ rest of our code will find our pre-loaded compatibility module. """ -__revision__ = "src/engine/SCons/compat/__init__.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/compat/__init__.py 2013/03/03 09:48:35 garyo" import os import sys diff -Nru scons-2.2.0/engine/SCons/compat/_scons_builtins.py scons-2.3.0/engine/SCons/compat/_scons_builtins.py --- scons-2.2.0/engine/SCons/compat/_scons_builtins.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/compat/_scons_builtins.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -37,7 +37,6 @@ all() any() - sorted() memoryview() Implementations of functions are *NOT* guaranteed to be fully compliant @@ -52,7 +51,7 @@ to this version of Python and we don't need to add them from this module. """ -__revision__ = "src/engine/SCons/compat/_scons_builtins.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/compat/_scons_builtins.py 2013/03/03 09:48:35 garyo" import builtins @@ -101,48 +100,6 @@ return self.obj[indx] builtins.memoryview = memoryview -try: - sorted -except NameError: - # Pre-2.4 Python has no sorted() function. - # - # The pre-2.4 Python list.sort() method does not support - # list.sort(key=) nor list.sort(reverse=) keyword arguments, so - # we must implement the functionality of those keyword arguments - # by hand instead of passing them to list.sort(). - def sorted(iterable, cmp=None, key=None, reverse=False): - if key is not None: - result = [(key(x), x) for x in iterable] - else: - result = iterable[:] - if cmp is None: - # Pre-2.3 Python does not support list.sort(None). - result.sort() - else: - result.sort(cmp) - if key is not None: - result = [t1 for t0,t1 in result] - if reverse: - result.reverse() - return result - builtins.sorted = sorted - -#if sys.version_info[:3] in ((2, 2, 0), (2, 2, 1)): -# def lstrip(s, c=string.whitespace): -# while s and s[0] in c: -# s = s[1:] -# return s -# def rstrip(s, c=string.whitespace): -# while s and s[-1] in c: -# s = s[:-1] -# return s -# def strip(s, c=string.whitespace, l=lstrip, r=rstrip): -# return l(r(s, c), c) -# -# object.__setattr__(str, 'lstrip', lstrip) -# object.__setattr__(str, 'rstrip', rstrip) -# object.__setattr__(str, 'strip', strip) - # Local Variables: # tab-width:4 # indent-tabs-mode:nil diff -Nru scons-2.2.0/engine/SCons/compat/_scons_collections.py scons-2.3.0/engine/SCons/compat/_scons_collections.py --- scons-2.2.0/engine/SCons/compat/_scons_collections.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/compat/_scons_collections.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ our purposes. """ -__revision__ = "src/engine/SCons/compat/_scons_collections.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/compat/_scons_collections.py 2013/03/03 09:48:35 garyo" # Use exec to hide old names from fixers. exec("""if True: diff -Nru scons-2.2.0/engine/SCons/compat/_scons_dbm.py scons-2.3.0/engine/SCons/compat/_scons_dbm.py --- scons-2.2.0/engine/SCons/compat/_scons_dbm.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/compat/_scons_dbm.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -30,7 +30,7 @@ Python won't blow up even if dbm wasn't compiled in. """ -__revision__ = "src/engine/SCons/compat/_scons_dbm.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/compat/_scons_dbm.py 2013/03/03 09:48:35 garyo" class error(Exception): pass diff -Nru scons-2.2.0/engine/SCons/compat/_scons_hashlib.py scons-2.3.0/engine/SCons/compat/_scons_hashlib.py --- scons-2.2.0/engine/SCons/compat/_scons_hashlib.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/compat/_scons_hashlib.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -31,7 +31,7 @@ the underlying md5 module isn't available. """ -__revision__ = "src/engine/SCons/compat/_scons_hashlib.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/compat/_scons_hashlib.py 2013/03/03 09:48:35 garyo" import md5 from string import hexdigits diff -Nru scons-2.2.0/engine/SCons/compat/_scons_io.py scons-2.3.0/engine/SCons/compat/_scons_io.py --- scons-2.2.0/engine/SCons/compat/_scons_io.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/compat/_scons_io.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -29,7 +29,7 @@ by SCons, in an interface that looks enough like io for our purposes. """ -__revision__ = "src/engine/SCons/compat/_scons_io.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/compat/_scons_io.py 2013/03/03 09:48:35 garyo" # Use the "imp" module to protect the imports below from fixers. import imp diff -Nru scons-2.2.0/engine/SCons/cpp.py scons-2.3.0/engine/SCons/cpp.py --- scons-2.2.0/engine/SCons/cpp.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/cpp.py 2013-03-03 14:48:39.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -21,7 +21,7 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/cpp.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/cpp.py 2013/03/03 09:48:35 garyo" __doc__ = """ SCons C Pre-Processor module diff -Nru scons-2.2.0/engine/SCons/exitfuncs.py scons-2.3.0/engine/SCons/exitfuncs.py --- scons-2.2.0/engine/SCons/exitfuncs.py 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/engine/SCons/exitfuncs.py 2013-03-03 14:48:39.000000000 +0000 @@ -5,7 +5,7 @@ """ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -27,9 +27,10 @@ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -__revision__ = "src/engine/SCons/exitfuncs.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/engine/SCons/exitfuncs.py 2013/03/03 09:48:35 garyo" +import atexit _exithandlers = [] def _run_exitfuncs(): @@ -52,23 +53,9 @@ """ _exithandlers.append((func, targs, kargs)) -import sys -try: - x = sys.exitfunc - - # if x isn't our own exit func executive, assume it's another - # registered exit function - append it to our list... - if x != _run_exitfuncs: - register(x) - -except AttributeError: - pass - -# make our exit function get run by python when it exits: -sys.exitfunc = _run_exitfuncs - -del sys +# make our exit function get run by python when it exits +atexit.register(_run_exitfuncs) # Local Variables: # tab-width:4 diff -Nru scons-2.2.0/os_spawnv_fix.diff scons-2.3.0/os_spawnv_fix.diff --- scons-2.2.0/os_spawnv_fix.diff 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/os_spawnv_fix.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,83 +0,0 @@ -? dist/src/Mac/IDE scripts/Hold option to open a script -? dist/src/Mac/IDE scripts/Insert file name -? dist/src/Mac/IDE scripts/Insert folder name -? dist/src/Mac/IDE scripts/Search Python Documentation -? dist/src/Mac/IDE scripts/Hack/Remove .pyc files -? dist/src/Mac/IDE scripts/Hack/Toolbox Assistant -Index: dist/src/Modules/posixmodule.c -=================================================================== -RCS file: /cvsroot/python/python/dist/src/Modules/posixmodule.c,v -retrieving revision 2.213 -diff -c -c -r2.213 posixmodule.c -*** dist/src/Modules/posixmodule.c 2001/12/03 20:41:00 2.213 ---- dist/src/Modules/posixmodule.c 2001/12/05 00:52:58 -*************** -*** 1668,1674 **** - #ifdef HAVE_SPAWNV - static char posix_spawnv__doc__[] = - "spawnv(mode, path, args)\n\ -! Execute an executable path with arguments, replacing current process.\n\ - \n\ - mode: mode of process creation\n\ - path: path of executable file\n\ ---- 1668,1674 ---- - #ifdef HAVE_SPAWNV - static char posix_spawnv__doc__[] = - "spawnv(mode, path, args)\n\ -! Execute the program 'path' in a new process.\n\ - \n\ - mode: mode of process creation\n\ - path: path of executable file\n\ -*************** -*** 1717,1724 **** - - if (mode == _OLD_P_OVERLAY) - mode = _P_OVERLAY; - spawnval = _spawnv(mode, path, argvlist); -! - PyMem_DEL(argvlist); - - if (spawnval == -1) ---- 1717,1727 ---- - - if (mode == _OLD_P_OVERLAY) - mode = _P_OVERLAY; -+ -+ Py_BEGIN_ALLOW_THREADS - spawnval = _spawnv(mode, path, argvlist); -! Py_END_ALLOW_THREADS -! - PyMem_DEL(argvlist); - - if (spawnval == -1) -*************** -*** 1734,1740 **** - - static char posix_spawnve__doc__[] = - "spawnve(mode, path, args, env)\n\ -! Execute a path with arguments and environment, replacing current process.\n\ - \n\ - mode: mode of process creation\n\ - path: path of executable file\n\ ---- 1737,1743 ---- - - static char posix_spawnve__doc__[] = - "spawnve(mode, path, args, env)\n\ -! Execute the program 'path' in a new process.\n\ - \n\ - mode: mode of process creation\n\ - path: path of executable file\n\ -*************** -*** 1830,1836 **** ---- 1833,1843 ---- - - if (mode == _OLD_P_OVERLAY) - mode = _P_OVERLAY; -+ -+ Py_BEGIN_ALLOW_THREADS - spawnval = _spawnve(mode, path, argvlist, envlist); -+ Py_END_ALLOW_THREADS -+ - if (spawnval == -1) - (void) posix_error(); - else diff -Nru scons-2.2.0/scons-time.1 scons-2.3.0/scons-time.1 --- scons-2.2.0/scons-time.1 2012-08-05 15:38:32.000000000 +0000 +++ scons-2.3.0/scons-time.1 2013-03-03 14:48:41.000000000 +0000 @@ -1,4 +1,4 @@ -.\" Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +.\" Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 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 issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo +.\" doc/man/scons-time.1 2013/03/03 09:48:35 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 "August 2012" +.TH SCONS-TIME 1 "March 2013" .SH NAME scons-time \- generate and display SCons timing information '\"========================================================================== diff -Nru scons-2.2.0/scons.1 scons-2.3.0/scons.1 --- scons-2.2.0/scons.1 2012-08-05 15:38:32.000000000 +0000 +++ scons-2.3.0/scons.1 2013-03-03 14:48:41.000000000 +0000 @@ -1,4 +1,4 @@ -.\" Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +.\" Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 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 issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo +.\" doc/man/scons.1 2013/03/03 09:48:35 garyo .\" -.TH SCONS 1 "August 2012" +.TH SCONS 1 "March 2013" .\" ES - Example Start - indents and turns off line fill .rm ES .de ES @@ -2372,7 +2372,9 @@ in the specified target, which must be a directory. The names of the specified source files or directories -remain the same within the destination directory. +remain the same within the destination directory. The +sources may be given as a string or as a node returned by +a builder. .ES env.Install('/usr/local/bin', source = ['foo', 'bar']) @@ -2391,6 +2393,14 @@ source arguments list different numbers of files or directories. +'\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.IP InstallVersionedLib() +.IP env.InstallVersionedLib() +Installs a versioned shared library. The \fB$SHLIBVERSION\fP +construction variable should be defined in the environment +to confirm the version number in the library name. +The symlinks appropriate to the architecture will be generated. + .ES env.InstallAs(target = '/usr/local/bin/foo', source = 'foo_debug') @@ -3446,6 +3456,19 @@ and a loadable module (explicitly loaded by user action). For maximum portability, use the \fBLoadableModule\fP() builder for the latter. +When the \fB$SHLIBVERSION\fP construction variable is defined a versioned +shared library is created. This modifies the \fB$SHLINKFLAGS\fP as required, +adds the version number to the library name, and creates the symlinks that +are needed. \fB$SHLIBVERSION\fP needs to be of the form X.Y.Z, where X +and Y are numbers, and Z is a number but can also contain letters to designate +alpha, beta, or release candidate patch levels. + +This builder may create multiple links to the library. On a POSIX system, +for the shared library libbar.so.2.3.1, the links created would be +libbar.so, libbar.so.2, and libbar.so.2.3; on a Darwin (OSX) system +the library would be libbar.2.3.1.dylib and the link would be +libbar.dylib. + On Windows systems, specifying .B register=1 will cause the \fB.dll\fP to be @@ -11496,6 +11519,14 @@ .IP SHLIBSUFFIX The suffix used for shared library file names. +.IP SHLIBVERSION +When this construction variable is defined, a versioned shared library +is created. This modifies the \fB$SHLINKFLAGS\fP as required, adds +the version number to the library name, and creates the symlinks that +are needed. \fB$SHLIBVERSION\fP needs to be of the form X.Y.Z, +where X and Y are numbers, and Z is a number but can also contain +letters to designate alpha, beta, or release candidate patch levels. + .IP SHLINK The linker for programs that use shared libraries. diff -Nru scons-2.2.0/sconsign.1 scons-2.3.0/sconsign.1 --- scons-2.2.0/sconsign.1 2012-08-05 15:38:32.000000000 +0000 +++ scons-2.3.0/sconsign.1 2013-03-03 14:48:41.000000000 +0000 @@ -1,4 +1,4 @@ -.\" Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +.\" Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 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 issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo +.\" doc/man/sconsign.1 2013/03/03 09:48:35 garyo .\" .\" ES - Example Start - indents and turns off line fill .de ES @@ -31,7 +31,7 @@ .RE .fi .. -.TH SCONSIGN 1 "August 2012" +.TH SCONSIGN 1 "March 2013" .SH NAME sconsign \- print SCons .sconsign file information .SH SYNOPSIS diff -Nru scons-2.2.0/script/scons scons-2.3.0/script/scons --- scons-2.2.0/script/scons 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/script/scons 2013-03-03 14:48:40.000000000 +0000 @@ -2,7 +2,7 @@ # # SCons - a Software Constructor # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -23,15 +23,15 @@ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -__revision__ = "src/script/scons.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/script/scons.py 2013/03/03 09:48:35 garyo" -__version__ = "2.2.0" +__version__ = "2.3.0" -__build__ = "issue-2856:2676:d23b7a2f45e8[MODIFIED]" +__build__ = "" -__buildsys__ = "oberbrunner-dev" +__buildsys__ = "reepicheep" -__date__ = "2012/08/05 15:38:28" +__date__ = "2013/03/03 09:48:35" __developer__ = "garyo" @@ -55,18 +55,12 @@ # engine modules if they're in either directory. -# Check to see if the python version is > 3.0 which is currently unsupported -# If so exit with error message -try: - if sys.version_info >= (3,0,0): - msg = "scons: *** SCons version %s does not run under Python version %s.\n\ -Python 3.0 and later are not yet supported.\n" - sys.stderr.write(msg % (__version__, sys.version.split()[0])) - sys.exit(1) -except AttributeError: - # Pre-1.6 Python has no sys.version_info - # No need to check version as we then know the version is < 3.0.0 and supported - pass +if sys.version_info >= (3,0,0): + msg = "scons: *** SCons version %s does not run under Python version %s.\n\ +Python 3 is not yet supported.\n" + sys.stderr.write(msg % (__version__, sys.version.split()[0])) + sys.exit(1) + script_dir = sys.path[0] @@ -184,7 +178,15 @@ ############################################################################## if __name__ == "__main__": - import SCons.Script + try: + import SCons.Script + except: + ROOT = os.path.join(os.path.abspath(os.path.dirname(__file__)), '..', 'engine') + if os.path.exists(ROOT): + sys.path += [ROOT] + print("SCons import failed. Trying to run from source directory") + import SCons.Script + # this does all the work, and calls sys.exit # with the proper exit status when done. SCons.Script.main() diff -Nru scons-2.2.0/script/scons-time scons-2.3.0/script/scons-time --- scons-2.2.0/script/scons-time 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/script/scons-time 2013-03-03 14:48:40.000000000 +0000 @@ -9,7 +9,7 @@ # # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -32,7 +32,7 @@ from __future__ import division from __future__ import nested_scopes -__revision__ = "src/script/scons-time.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/script/scons-time.py 2013/03/03 09:48:35 garyo" import getopt import glob diff -Nru scons-2.2.0/script/scons.bat scons-2.3.0/script/scons.bat --- scons-2.2.0/script/scons.bat 2012-08-05 15:38:32.000000000 +0000 +++ scons-2.3.0/script/scons.bat 2013-03-03 14:48:41.000000000 +0000 @@ -1,11 +1,11 @@ -@REM Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation -@REM src/script/scons.bat issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo +@REM Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation +@REM src/script/scons.bat 2013/03/03 09:48:35 garyo @echo off set SCONS_ERRORLEVEL= if "%OS%" == "Windows_NT" goto WinNT @REM for 9x/Me you better not have more than 9 args -python -c "from os.path import join; import sys; sys.path = [ join(sys.prefix, 'Lib', 'site-packages', 'scons-2.2.0'), join(sys.prefix, 'Lib', 'site-packages', 'scons'), join(sys.prefix, 'scons-2.2.0'), join(sys.prefix, 'scons')] + sys.path; import SCons.Script; SCons.Script.main()" %1 %2 %3 %4 %5 %6 %7 %8 %9 +python -c "from os.path import join; import sys; sys.path = [ join(sys.prefix, 'Lib', 'site-packages', 'scons-2.3.0'), join(sys.prefix, 'Lib', 'site-packages', 'scons'), join(sys.prefix, 'scons-2.3.0'), join(sys.prefix, 'scons')] + sys.path; import SCons.Script; SCons.Script.main()" %1 %2 %3 %4 %5 %6 %7 %8 %9 @REM no way to set exit status of this script for 9x/Me goto endscons @@ -19,7 +19,7 @@ set path=%~dp0;%~dp0..;%path% @REM try the script named as the .bat file in current dir, then in Scripts subdir set scriptname=%~dp0%~n0.py -if not exist %scriptname% set scriptname=%~dp0Scripts\%~n0.py +if not exist "%scriptname%" set scriptname=%~dp0Scripts\%~n0.py python "%scriptname%" %* endlocal & set SCONS_ERRORLEVEL=%ERRORLEVEL% diff -Nru scons-2.2.0/script/sconsign scons-2.3.0/script/sconsign --- scons-2.2.0/script/sconsign 2012-08-05 15:38:31.000000000 +0000 +++ scons-2.3.0/script/sconsign 2013-03-03 14:48:40.000000000 +0000 @@ -2,7 +2,7 @@ # # SCons - a Software Constructor # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -23,15 +23,15 @@ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -__revision__ = "src/script/sconsign.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/script/sconsign.py 2013/03/03 09:48:35 garyo" -__version__ = "2.2.0" +__version__ = "2.3.0" -__build__ = "issue-2856:2676:d23b7a2f45e8[MODIFIED]" +__build__ = "" -__buildsys__ = "oberbrunner-dev" +__buildsys__ = "reepicheep" -__date__ = "2012/08/05 15:38:28" +__date__ = "2013/03/03 09:48:35" __developer__ = "garyo" diff -Nru scons-2.2.0/setup.py scons-2.3.0/setup.py --- scons-2.2.0/setup.py 2012-08-05 15:38:32.000000000 +0000 +++ scons-2.3.0/setup.py 2013-03-03 14:48:41.000000000 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 The SCons Foundation +# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -32,13 +32,13 @@ below is dedicated to make it happen on various platforms. """ -__revision__ = "src/setup.py issue-2856:2676:d23b7a2f45e8 2012/08/05 15:38:28 garyo" +__revision__ = "src/setup.py 2013/03/03 09:48:35 garyo" import os import stat import sys -Version = "2.2.0" +Version = "2.3.0" man_pages = [ 'scons.1', @@ -46,6 +46,14 @@ 'scons-time.1', ] +# Exit with error if trying to install with Python >= 3.0 +if sys.version_info >= (3,0,0): + msg = "scons: *** SCons does not run under Python version %s.\n\ +Python 3 and above are not yet supported.\n" + sys.stderr.write(msg % (sys.version.split()[0])) + sys.exit(1) + + # change to setup.py directory if it was executed from other dir (head, tail) = os.path.split(sys.argv[0]) if head: @@ -333,7 +341,10 @@ # log.info("changing mode of %s", file) pass else: - mode = ((os.stat(file)[stat.ST_MODE]) | 0555) & 07777 + # Use symbolic versions of permissions so this script doesn't fail to parse under python3.x + exec_and_read_permission = stat.S_IXOTH | stat.S_IXUSR | stat.S_IXGRP | stat.S_IROTH | stat.S_IRUSR | stat.S_IRGRP + mode_mask = 4095 # Octal 07777 used because python3 has different octal syntax than python 2 + mode = ((os.stat(file)[stat.ST_MODE]) | exec_and_read_permission) & mode_mask # log.info("changing mode of %s to %o", file, mode) os.chmod(file, mode) # --- /distutils copy/paste --- @@ -414,7 +425,8 @@ distutils.core.setup(**arguments) if Installed: - print '\n'.join(Installed) + for i in Installed: + print(i) # Local Variables: # tab-width:4