mirror of
https://github.com/rubyjs/libv8
synced 2023-03-27 23:21:48 -04:00
SCons version bump to 2.1.0
This commit is contained in:
parent
0893149492
commit
921a4e1e1e
197 changed files with 3466 additions and 2043 deletions
|
@ -5,6 +5,204 @@
|
|||
Change Log
|
||||
|
||||
|
||||
RELEASE 2.1.0 - Mon, 09 Sep 2011 20:54:57 -0700
|
||||
|
||||
From Anton Lazarev:
|
||||
- Fix Windows resource compiler scanner to accept DOS line endings.
|
||||
|
||||
From Matthias:
|
||||
- Update MSVS documents to remove note indicating that only one
|
||||
project is currently supported per solution file.
|
||||
|
||||
From Grzegorz Bizoń:
|
||||
- Fix long compile lines in batch mode by using TEMPFILE
|
||||
- Fix MSVC_BATCH=False (was treating it as true)
|
||||
|
||||
From Justin Gullingsrud:
|
||||
- support -std=c++0x and related CXXFLAGS in pkgconfig (ParseFlags)
|
||||
|
||||
From Vincent Beffara:
|
||||
- Support -dylib_file in pkgconfig (ParseFlags)
|
||||
|
||||
From Gary Oberbrunner and Sohail Somani:
|
||||
- new construction variable WINDOWS_EMBED_MANIFEST to automatically
|
||||
embed manifests in Windows EXEs and DLLs.
|
||||
|
||||
From Gary Oberbrunner:
|
||||
- Fix Visual Studio project generation when CPPPATH contains Dir nodes
|
||||
- Ensure Visual Studio project is regenerated when CPPPATH or CPPDEFINES change
|
||||
- Fix unicode error when using non-ASCII filenames with Copy or Install
|
||||
- Put RPATH in LINKCOM rather than LINKFLAGS so resetting
|
||||
LINKFLAGS doesn't kill RPATH
|
||||
- Fix precompiled headers on Windows when variant dir name has spaces.
|
||||
- Adding None to an Action no longer fails (just returns original action)
|
||||
- New --debug=prepare option to show each target as it's being
|
||||
prepared, whether or not anything needs to be done for it.
|
||||
- New debug option --debug=duplicate to print a line for each
|
||||
unlink/relink (or copy) of a variant file from its source file.
|
||||
- Improve error message for EnumVariables to show legal values.
|
||||
- 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
|
||||
the whitespace.
|
||||
|
||||
From Dmitry R.:
|
||||
- Handle Environment in case __semi_deepcopy is None
|
||||
|
||||
From Benoit Belley:
|
||||
|
||||
- Much improved support for Windows UNC paths (\\SERVERNAME).
|
||||
|
||||
From Jean-Baptiste Lab:
|
||||
|
||||
- Fix problems with appending CPPDEFINES that contain
|
||||
dictionaries, and related issues with Parse/MergeFlags and
|
||||
CPPDEFINES.
|
||||
|
||||
From Allen Weeks:
|
||||
|
||||
- Fix for an issue with implicit-cache with multiple targets
|
||||
when dependencies are removed on disk.
|
||||
|
||||
From Evgeny Podjachev and Alexey Petruchick:
|
||||
|
||||
- Support generation of Microsoft Visual Studio 2008 (9.0)
|
||||
and 2010 (10.0) project and solution files.
|
||||
|
||||
From Ken Deeter:
|
||||
|
||||
- Fix a problem when FS Entries which are actually Dirs have builders.
|
||||
|
||||
From Luca Falavigna:
|
||||
|
||||
- Support Fortran 03
|
||||
|
||||
From Gary Oberbrunner:
|
||||
|
||||
- Print the path to the SCons package in scons --version
|
||||
|
||||
From Jean-Fran�ois Colson:
|
||||
|
||||
- Improve Microsoft Visual Studio Solution generation, and fix
|
||||
various errors in the generated solutions especially when using
|
||||
MSVS_SCC_PROVIDER, and when generating multiple projects. The
|
||||
construction variable MSVS_SCC_PROJECT_BASE_PATH, which never
|
||||
worked properly, is removed. Users can use the new variable
|
||||
MSVS_SCC_CONNECTION_ROOT instead if desired.
|
||||
|
||||
From Anatoly Techtonik:
|
||||
|
||||
- Use subprocess in bootstrap.py instead of os.execve to avoid
|
||||
losing output control on Windows (http://bugs.python.org/issue9148)
|
||||
|
||||
- Revert patch for adding SCons to App Paths, because standard cmd
|
||||
shell doesn't search there. This is confusing, because `scons` can
|
||||
be executed from explorer, but fail to start from console.
|
||||
|
||||
- Fix broken installation with easy_install on Windows (issue #2051)
|
||||
SCons traditionally installed in a way that allowed to run multiple
|
||||
versions side by side. This custom logic was incompatible with
|
||||
easy_install way of doing things.
|
||||
|
||||
- Use epydoc module for generating API docs in HTML if command line
|
||||
utility is not found in PATH. Actual for Windows.
|
||||
|
||||
From Alexander Goomenyuk:
|
||||
|
||||
- Add .sx to assembly source scanner list so .sx files
|
||||
get their header file dependencies detected.
|
||||
|
||||
From Arve Knudsen:
|
||||
|
||||
- Set module metadata when loading site_scons/site_init.py
|
||||
so it is treated as a proper module; __doc__, __file__ and
|
||||
__name__ now refer to the site_init.py file.
|
||||
|
||||
From Russel Winder:
|
||||
|
||||
- Users Guide updates explaining that Tools can be packages as
|
||||
well as python modules.
|
||||
|
||||
From Gary Oberbrunner:
|
||||
|
||||
- New systemwide and per-user site_scons dirs.
|
||||
|
||||
From Dirk Baechle:
|
||||
|
||||
- XML fixes in User's Guide.
|
||||
- Fixed the detection of 'jar' and 'rmic' during
|
||||
the initialization of the respective Tools (#2730).
|
||||
- Improved docs for custom Decider functions and
|
||||
custom Scanner objects (#2711, #2713).
|
||||
- Corrected SWIG module names for generated *.i files (#2707).
|
||||
|
||||
From Joe Zuntz:
|
||||
|
||||
- Fixed a case-sensitivity problem with Fortran modules.
|
||||
|
||||
From Bauke Conijn:
|
||||
|
||||
- Added Users Guide example for auto-generated source code
|
||||
|
||||
From Steven Knight:
|
||||
|
||||
- Fix explicit dependencies (Depends()) on Nodes that don't have
|
||||
attached Builders.
|
||||
|
||||
- Fix use of the global Alias() function with command actions.
|
||||
|
||||
From Matt Hughes:
|
||||
|
||||
- Fix the ability to append to default $*FLAGS values (which are
|
||||
implemented as CLVar instances) in a copied construction environment
|
||||
without affecting the original construction environment's value.
|
||||
|
||||
From Rob Managan:
|
||||
|
||||
- Updated the TeX command strings to include a /D on Windows in
|
||||
case the new directory is on a different drive letter.
|
||||
|
||||
- Fixed the LaTeX scanner so dependencies are found in commands that
|
||||
are broken across lines with a comment or have embedded spaces.
|
||||
|
||||
- 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
|
||||
|
||||
From Russel Winder:
|
||||
|
||||
- Add support for DMD version 2 (the phobos2 library).
|
||||
|
||||
From William Deegan:
|
||||
|
||||
- Add initial support for VS/VC 2010 (express and non-express versions)
|
||||
- Remove warning for not finding MS VC/VS install.
|
||||
"scons: warning: No version of Visual Studio compiler found
|
||||
- C/C++ compilers most likely not set correctly"
|
||||
- Add support for Linux 3.0
|
||||
|
||||
|
||||
RELEASE 2.0.1 - Mon, 15 Aug 2010 15:46:32 -0700
|
||||
|
||||
From Dirk Baechle:
|
||||
|
@ -24,6 +222,29 @@ RELEASE 2.0.1 - Mon, 15 Aug 2010 15:46:32 -0700
|
|||
- Fix explicit dependencies (Depends()) on Nodes that don't have
|
||||
attached Builders.
|
||||
|
||||
From Matt Hughes:
|
||||
|
||||
- Fix the ability to append to default $*FLAGS values (which are
|
||||
implemented as CLVar instances) in a copied construction environment
|
||||
without affecting the original construction environment's value.
|
||||
|
||||
From Rob Managan:
|
||||
|
||||
- Updated the TeX command strings to include a /D on Windows in
|
||||
case the new directory is on a different drive letter.
|
||||
|
||||
- Fixed the LaTeX scanner so dependencies are found in commands that
|
||||
are broken across lines with a comment or have embedded spaces.
|
||||
|
||||
|
||||
RELEASE 2.0.0.final.0 - Mon, 14 Jun 2010 22:01:37 -0700
|
||||
|
||||
From Dirk Baechle:
|
||||
|
||||
- Fix XML in documentation.
|
||||
|
||||
From Steven Knight:
|
||||
|
||||
- Provide forward compatibility for the 'profile' module.
|
||||
|
||||
- Provide forward compatibility for the 'pickle' module.
|
||||
|
@ -55,20 +276,6 @@ RELEASE 2.0.1 - Mon, 15 Aug 2010 15:46:32 -0700
|
|||
- Handle detecting Visual C++ on Python verions with upper-case
|
||||
platform architectures like 'AMD64'.
|
||||
|
||||
From Matt Hughes:
|
||||
|
||||
- Fix the ability to append to default $*FLAGS values (which are
|
||||
implemented as CLVar instances) in a copied construction environment
|
||||
without affecting the original construction environment's value.
|
||||
|
||||
From Rob Managan:
|
||||
|
||||
- Updated the TeX command strings to include a /D on Windows in
|
||||
case the new directory is on a different drive letter.
|
||||
|
||||
- Fixed the LaTeX scanner so dependencies are found in commands that
|
||||
are broken across lines with a comment or have embedded spaces.
|
||||
|
||||
From W. Trevor King:
|
||||
|
||||
- Revisions to README.
|
||||
|
@ -272,7 +479,7 @@ RELEASE 1.2.0.d20100117 - Sun, 17 Jan 2010 14:26:59 -0800
|
|||
|
||||
- Remove LATEXSUFFIXES from environments that don't initialize Tex.
|
||||
|
||||
- Add support for the glosaaries package for glossaries and acronyms
|
||||
- Add support for the glossaries package for glossaries and acronyms
|
||||
|
||||
- Fix problem that pdftex, latex, and pdflatex tools by themselves did
|
||||
not create the actions for bibtex, makeindex,... by creating them
|
||||
|
@ -472,7 +679,7 @@ RELEASE 1.1.0.d20081207 - Sun, 07 Dec 2008 19:17:23 -0800
|
|||
|
||||
- Issue 2401: Fix usage of comparisons with None.
|
||||
|
||||
From Ludwig Hähne:
|
||||
From Ludwig H�hne:
|
||||
|
||||
- Handle Java inner classes declared within a method.
|
||||
|
||||
|
@ -601,7 +808,7 @@ RELEASE 1.1.0 - Thu, 09 Oct 2008 08:33:47 -0700
|
|||
|
||||
- Fix VariantDir duplication of #included files in subdirectories.
|
||||
|
||||
From Ludwig Hähne:
|
||||
From Ludwig H�hne:
|
||||
|
||||
- Reduce memory usage when a directory is used as a dependency of
|
||||
another Node (such as an Alias) by returning a concatenation
|
||||
|
@ -716,7 +923,7 @@ RELEASE 1.0.0 - XXX
|
|||
|
||||
- Clear the Node state when turning a generic Entry into a Dir.
|
||||
|
||||
From Ludwig Hähne:
|
||||
From Ludwig H�hne:
|
||||
|
||||
- Fix sporadic output-order failures in test/GetBuildFailures/parallel.py.
|
||||
|
||||
|
@ -950,7 +1157,7 @@ RELEASE 0.98.1 - Fri, 18 Apr 2008 19:11:58 -0700
|
|||
|
||||
- Fix the --debug=stree option so it prints its tree once, not twice.
|
||||
|
||||
From Johan BoulÃ:
|
||||
From Johan Boul�:
|
||||
|
||||
- Fix the ability to use LoadableModule() under MinGW.
|
||||
|
||||
|
@ -1063,7 +1270,7 @@ RELEASE 0.98 - Sun, 30 Mar 2008 23:33:05 -0700
|
|||
calls by using a File's .suffix attribute directly instead of
|
||||
stringifying it.
|
||||
|
||||
From Jérôme Berger:
|
||||
From Jérôme Berger:
|
||||
|
||||
- Have the D language scanner search for .di files as well as .d files.
|
||||
|
||||
|
@ -1677,7 +1884,7 @@ RELEASE 0.96.96 - Thu, 12 Apr 2007 12:36:25 -0500
|
|||
|
||||
RELEASE 0.96.95 - Mon, 12 Feb 2007 20:25:16 -0600
|
||||
|
||||
From Anatoly:
|
||||
From Anatoly Techtonik:
|
||||
|
||||
- Add the scons.org URL and a package description to the setup.py
|
||||
arguments.
|
||||
|
@ -2164,7 +2371,7 @@ RELEASE 0.96.92 - Mon, 10 Apr 2006 21:08:22 -0400
|
|||
- Fix C/C++ compiler selection on AIX to not always use the external $CC
|
||||
environment variable.
|
||||
|
||||
From August Hörandl:
|
||||
From August Hörandl:
|
||||
|
||||
- Add a scanner for \include and \import files, with support for
|
||||
searching a directory list in $TEXINPUTS (imported from the external
|
||||
|
@ -5330,5 +5537,5 @@ A brief overview of important functionality available in release 0.01:
|
|||
|
||||
- Windows installer available.
|
||||
|
||||
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
src/CHANGES.txt 5134 2010/08/16 23:02:40 bdeegan
|
||||
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
|
||||
src/CHANGES.txt 5357 2011/09/09 21:31:03 bdeegan
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
|
|
|
@ -88,6 +88,7 @@ engine/SCons/Tool/dmd.py
|
|||
engine/SCons/Tool/dvi.py
|
||||
engine/SCons/Tool/dvipdf.py
|
||||
engine/SCons/Tool/dvips.py
|
||||
engine/SCons/Tool/f03.py
|
||||
engine/SCons/Tool/f77.py
|
||||
engine/SCons/Tool/f90.py
|
||||
engine/SCons/Tool/f95.py
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Metadata-Version: 1.0
|
||||
Name: scons
|
||||
Version: 2.0.1
|
||||
Version: 2.1.0
|
||||
Summary: Open Source next-generation build tool.
|
||||
Home-page: http://www.scons.org/
|
||||
Author: Steven Knight
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
SCons - a software construction tool
|
||||
|
||||
Version 2.0.1
|
||||
Version 2.1.0
|
||||
|
||||
|
||||
This is SCons, a tool for building software (and other files). SCons is
|
||||
|
@ -56,7 +56,7 @@ provided Python-standard setup script as follows:
|
|||
|
||||
By default, the above command will do the following:
|
||||
|
||||
-- Install the version-numbered "scons-2.0.1" and "sconsign-2.0.1"
|
||||
-- Install the version-numbered "scons-2.1.0" and "sconsign-2.1.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 @@ By default, the above command will do the following:
|
|||
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.0.1" and
|
||||
"sconsign-2.0.1" scripts by specifying the "--hardlink-scons"
|
||||
scripts be hard links or symbolic links to the "scons-2.1.0" and
|
||||
"sconsign-2.1.0" scripts by specifying the "--hardlink-scons"
|
||||
or "--symlink-scons" options on the command line.
|
||||
|
||||
-- Install "scons-2.0.1.bat" and "scons.bat" wrapper scripts in the
|
||||
-- Install "scons-2.1.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.0.1.bat" and "scons.bat" files
|
||||
specified to have "scons-2.1.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 @@ By default, the above command will do the following:
|
|||
|
||||
-- Install the SCons build engine (a Python module) in an
|
||||
appropriate version-numbered SCons library directory
|
||||
(/usr/lib/scons-2.0.1 or C:\Python*\scons-2.0.1, for example).
|
||||
(/usr/lib/scons-2.1.0 or C:\Python*\scons-2.1.0, for example).
|
||||
See below for more options related to installing the build
|
||||
engine library.
|
||||
|
||||
|
@ -239,5 +239,5 @@ With plenty of help from the SCons Development team:
|
|||
Greg Spencer
|
||||
Christoph Wiedemann
|
||||
|
||||
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
src/README.txt 5134 2010/08/16 23:02:40 bdeegan
|
||||
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
|
||||
src/README.txt 5357 2011/09/09 21:31:03 bdeegan
|
||||
|
|
|
@ -1,98 +1,100 @@
|
|||
A new SCons release, 2.0.1, is now available
|
||||
A new SCons checkpoint release, 2.1.0.final.0, is now available
|
||||
on the SCons download page:
|
||||
|
||||
http://www.scons.org/download.php
|
||||
|
||||
The primary purpose of this release is to remove support for Python
|
||||
versions prior to 2.4 and streamline the SCons code base using more
|
||||
modern python idioms.
|
||||
|
||||
Here is a summary of the changes since 1.3:
|
||||
Here is a summary of the changes since 2.0:
|
||||
|
||||
NEW FUNCTIONALITY
|
||||
|
||||
- There should be no new functionality or bug fixes in this checkpoint.
|
||||
- SCons can now automatically embed manifests in Windows executables
|
||||
and DLLs, by setting WINDOWS_EMBED_MANIFEST in the environment.
|
||||
|
||||
DEPRECATED FUNCTIONALITY
|
||||
|
||||
- All features or usages deprecated in 1.3 should have been removed.
|
||||
Uses of formerly-deprecated features should get an error.
|
||||
|
||||
- The BuildDir() method and the build_dir option now get warnings.
|
||||
|
||||
- The SourceCode() function and its associated factory functions have
|
||||
started their deprecation cycle and can have a warning enabled.
|
||||
- SCons now searches for site_scons dirs in several system-wide
|
||||
and per-user locations, in addition to the SConstruct top dir.
|
||||
This should enable much easier use of third-party (non-core)
|
||||
Tools.
|
||||
|
||||
CHANGED/ENHANCED EXISTING FUNCTIONALITY
|
||||
|
||||
- Any Command() or env.Command() calls that use the following Action
|
||||
factory functions will have their targets rebuilt when upgrading
|
||||
from any pre-2.0 release:
|
||||
- scons --version now prints the path to the SCons package in use
|
||||
|
||||
Chmod()
|
||||
Copy()
|
||||
Delete()
|
||||
Mkdir()
|
||||
Move()
|
||||
Touch()
|
||||
- List modifications to existing features, where the previous behavior
|
||||
wouldn't actually be considered a bug
|
||||
|
||||
(The rebuild occurs because the underlying Python class that
|
||||
implements these functions has been changed to a new-style Python
|
||||
class, and that changes the Python byte code and therefore the
|
||||
build signature of the functions.)
|
||||
- Add initial support for VS/VC 2010
|
||||
|
||||
FIXES
|
||||
|
||||
- MSVC/MSVS/SDK support has been improved. A number of issues with
|
||||
determining the correct version and architecture have been resolved.
|
||||
|
||||
- Fix propagation from environment of VS*COMNTOOLS to resolve issues
|
||||
initializing MSVC/MSVS/SDK issues.
|
||||
|
||||
- Fixed a case-sensitivity problem with Fortran modules.
|
||||
|
||||
- Fix the ability to append to default $*FLAGS values (which are
|
||||
implemented as CLVar instances) in a copied construction environment
|
||||
without affecting the original construction environment's value.
|
||||
|
||||
- Updated the TeX command strings to include a /D on Windows in
|
||||
case the new directory is on a different drive letter.
|
||||
|
||||
- Fixed the LaTeX scanner so dependencies are found in commands that
|
||||
are broken across lines with a comment or have embedded spaces.
|
||||
- Windows resource compiler (RC) scanner now handles DOS line endings
|
||||
- Visual Studio project generation now works when CPPPATH contains Dir nodes
|
||||
- Visual Studio projects are regenerated when CPPPATH or CPPDEFINES change
|
||||
NOTE: this will cause all MSVS projects to be regenerated with this version.
|
||||
- Passing MSVC_BATCH=False works now (treated same as 0)
|
||||
- Long compile lines no longer break MSVC_BATCH mode
|
||||
- RPATH is now in LINKCOM rather than LINKFLAGS, so resetting
|
||||
LINKFLAGS doesn't kill RPATH
|
||||
- Precompiled headers on Windows no longer break when used with
|
||||
variant dirs containing spaces.
|
||||
- Delete can now delete symlinks to directories and broken symlinks
|
||||
- CPPDEFINES containing dictionaries now work better.
|
||||
- A problem with using implicit-cache and removing dependencies on
|
||||
disk is corrected.
|
||||
- A problem with FS Entries which are dirs and have builders
|
||||
is corrected.
|
||||
- A problem with Install() of a dir when the dest dir exists
|
||||
is corrected.
|
||||
- Windows subprocess output should now be more reliable.
|
||||
- The users guide and man page have various fixes.
|
||||
- Appending to default $*FLAGS in a copied environment
|
||||
now works properly.
|
||||
- LaTeX scanner is improved for broken lines or embedded spaces.
|
||||
- Windows UNC paths (\\SERVER\SHARE\dir) now work much better.
|
||||
|
||||
IMPROVEMENTS
|
||||
|
||||
- Support for Python versions prior to 2.4 has been removed. As of
|
||||
this writing, we believe that SCons will still work with Python 2.3,
|
||||
but this is not guaranteed.
|
||||
- Code paths that included special cases for older Python versions have
|
||||
been streamlined.
|
||||
- The code base has been converted to use more modern idioms. Although
|
||||
we don't have any direct measurements (yet), we believe that SCons
|
||||
startup time should be decreased and the overall code should run faster.
|
||||
|
||||
PACKAGING
|
||||
|
||||
- No changes.
|
||||
- ParseFlags now supports -std=c++0x and related CXXFLAGS
|
||||
- ParseFlags now supports -dylib_file from pkgconfig
|
||||
- New debugging options to print unlink/relinking of variant files
|
||||
(--debug=duplicate) and preparation of targets (--debug=prepare).
|
||||
- SCons can now generate MSVS 9.0 and 10.0 Projects and Solutions.
|
||||
- MSVS Solution generation is improved.
|
||||
- Fortran 03 is supported (preliminary)
|
||||
- .sx files are now treated as assembly sources.
|
||||
- site_scons/site_init.py is now treated as a proper module
|
||||
with __doc__, __file__ and __name__.
|
||||
- TeX command strings now work on Windows when the new dir is
|
||||
on a different drive letter.
|
||||
- DMD version 2 is supported (using the phobos2 library)
|
||||
- New --debug=prepare option shows each target as it's prepared
|
||||
for building; can help when you don't know why a target isn't
|
||||
being built.
|
||||
|
||||
DOCUMENTATION
|
||||
|
||||
- The entries for SourceCode() and its associated factory functions now
|
||||
state that the functions are deprecated.
|
||||
- Added new getting started section
|
||||
|
||||
- Document the AllowSubstExceptions() function in the User's Guide.
|
||||
Thanks to
|
||||
Dirk Baechle,
|
||||
Vincent Beffara,
|
||||
Grzegorz Bizoń,
|
||||
Jean-François Colson,
|
||||
Bauke Conijn,
|
||||
Bill Deegan,
|
||||
Ken Deeter,
|
||||
Luca Falavigna,
|
||||
Alexander Goomenyuk,
|
||||
Justin Gullingsrud,
|
||||
Steven Knight,
|
||||
Arve Knudsen,
|
||||
Jean-Baptiste Lab,
|
||||
Rob Managan,
|
||||
Gary Oberbrunner,
|
||||
Evgeny Podjachev,
|
||||
Sohail Somani,
|
||||
Anatoly Techtonik,
|
||||
Allen Weeks,
|
||||
Russel Winder,
|
||||
Joe Zuntz
|
||||
for their contributions to this release.
|
||||
|
||||
|
||||
DEVELOPMENT
|
||||
|
||||
- Code no longer has to be compatible with Python versions back to 1.5.2.
|
||||
Although code is tested with Python 2.3 and is still believed to work,
|
||||
the official new floor is Python 2.4.
|
||||
|
||||
Thanks to Greg Noel, Steven Knight, Dirk Baechle, William Deegan,
|
||||
W. Trevor King, Joe Zuntz, Bauke Conijn, Matt Hughes, Rob Managan,
|
||||
and Jim Randall for their contributions to this release.
|
||||
|
||||
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
src/RELEASE.txt 5023 2010/06/14 22:05:46 scons
|
||||
|
|
|
@ -76,7 +76,7 @@ way for wrapping up the functions.
|
|||
|
||||
"""
|
||||
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ way for wrapping up the functions.
|
|||
# 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Action.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.compat
|
||||
|
||||
|
@ -300,8 +300,10 @@ def _actionAppend(act1, act2):
|
|||
# a single ListAction.
|
||||
a1 = Action(act1)
|
||||
a2 = Action(act2)
|
||||
if a1 is None or a2 is None:
|
||||
raise TypeError("Cannot append %s to %s" % (type(act1), type(act2)))
|
||||
if a1 is None:
|
||||
return a2
|
||||
if a2 is None:
|
||||
return a1
|
||||
if isinstance(a1, ListAction):
|
||||
if isinstance(a2, ListAction):
|
||||
return ListAction(a1.list + a2.list)
|
||||
|
@ -385,6 +387,10 @@ def _do_create_action(act, kw):
|
|||
# The list of string commands may include a LazyAction, so we
|
||||
# reprocess them via _do_create_list_action.
|
||||
return _do_create_list_action(commands, kw)
|
||||
# Catch a common error case with a nice message:
|
||||
if isinstance(act, int) or isinstance(act, float):
|
||||
raise TypeError("Don't know how to create an Action from a number (%s)"%act)
|
||||
# Else fail silently (???)
|
||||
return None
|
||||
|
||||
def _do_create_list_action(act, kw):
|
||||
|
@ -497,7 +503,18 @@ class _ActionAction(ActionBase):
|
|||
SCons.Util.AddMethod(self, batch_key, 'batch_key')
|
||||
|
||||
def print_cmd_line(self, s, target, source, env):
|
||||
sys.stdout.write(s + u"\n")
|
||||
# In python 3, and in some of our tests, sys.stdout is
|
||||
# a String io object, and it takes unicode strings only
|
||||
# In other cases it's a regular Python 2.x file object
|
||||
# which takes strings (bytes), and if you pass those a
|
||||
# unicode object they try to decode with 'ascii' codec
|
||||
# which fails if the cmd line has any hi-bit-set chars.
|
||||
# This code assumes s is a regular string, but should
|
||||
# work if it's unicode too.
|
||||
try:
|
||||
sys.stdout.write(unicode(s + "\n"))
|
||||
except UnicodeDecodeError:
|
||||
sys.stdout.write(s + "\n")
|
||||
|
||||
def __call__(self, target, source, env,
|
||||
exitstatfunc=_null,
|
||||
|
@ -654,7 +671,6 @@ def _subproc(scons_env, cmd, error = 'ignore', **kw):
|
|||
kw['env'] = new_env
|
||||
|
||||
try:
|
||||
#FUTURE return subprocess.Popen(cmd, **kw)
|
||||
return subprocess.Popen(cmd, **kw)
|
||||
except EnvironmentError, e:
|
||||
if error == 'raise': raise
|
||||
|
|
|
@ -76,7 +76,7 @@ There are the following methods for internal use within this module:
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ There are the following methods for internal use within this module:
|
|||
# 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Builder.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import collections
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/CacheDir.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
__doc__ = """
|
||||
CacheDir support
|
||||
|
|
|
@ -6,7 +6,7 @@ needed by most users.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ needed by most users.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Debug.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Debug.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
|
|
@ -10,7 +10,7 @@ from distutils.msvccompiler.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 distutils.msvccompiler.
|
|||
#
|
||||
from __future__ import division
|
||||
|
||||
__revision__ = "src/engine/SCons/Defaults.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Defaults.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
|
||||
import os
|
||||
|
@ -199,14 +199,15 @@ def delete_func(dest, must_exist=0):
|
|||
dest = [dest]
|
||||
for entry in dest:
|
||||
entry = str(entry)
|
||||
if not must_exist and not os.path.exists(entry):
|
||||
# os.path.exists returns False with broken links that exist
|
||||
entry_exists = os.path.exists(entry) or os.path.islink(entry)
|
||||
if not entry_exists and not must_exist:
|
||||
continue
|
||||
if not os.path.exists(entry) or os.path.isfile(entry):
|
||||
os.unlink(entry)
|
||||
continue
|
||||
else:
|
||||
# os.path.isdir returns True when entry is a link to a dir
|
||||
if os.path.isdir(entry) and not os.path.islink(entry):
|
||||
shutil.rmtree(entry, 1)
|
||||
continue
|
||||
os.unlink(entry)
|
||||
|
||||
def delete_strfunc(dest, must_exist=0):
|
||||
return 'Delete(%s)' % get_paths_str(dest)
|
||||
|
@ -372,10 +373,23 @@ def processDefines(defs):
|
|||
if SCons.Util.is_List(defs):
|
||||
l = []
|
||||
for d in defs:
|
||||
if SCons.Util.is_List(d) or isinstance(d, tuple):
|
||||
l.append(str(d[0]) + '=' + str(d[1]))
|
||||
else:
|
||||
if d is None:
|
||||
continue
|
||||
elif SCons.Util.is_List(d) or isinstance(d, tuple):
|
||||
if len(d) >= 2:
|
||||
l.append(str(d[0]) + '=' + str(d[1]))
|
||||
else:
|
||||
l.append(str(d[0]))
|
||||
elif SCons.Util.is_Dict(d):
|
||||
for macro,value in d.iteritems():
|
||||
if value is not None:
|
||||
l.append(str(macro) + '=' + str(value))
|
||||
else:
|
||||
l.append(str(macro))
|
||||
elif SCons.Util.is_String(d):
|
||||
l.append(str(d))
|
||||
else:
|
||||
raise SCons.Errors.UserError("DEFINE %s is not a list, dict, string or None."%repr(d))
|
||||
elif SCons.Util.is_Dict(defs):
|
||||
# The items in a dictionary are stored in random order, but
|
||||
# if the order of the command-line options changes from
|
||||
|
|
|
@ -10,7 +10,7 @@ Environment
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ Environment
|
|||
# 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Environment.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
|
||||
import copy
|
||||
|
@ -649,6 +649,7 @@ class SubstitutionEnvironment(object):
|
|||
'ASFLAGS' : SCons.Util.CLVar(''),
|
||||
'CFLAGS' : SCons.Util.CLVar(''),
|
||||
'CCFLAGS' : SCons.Util.CLVar(''),
|
||||
'CXXFLAGS' : SCons.Util.CLVar(''),
|
||||
'CPPDEFINES' : [],
|
||||
'CPPFLAGS' : SCons.Util.CLVar(''),
|
||||
'CPPPATH' : [],
|
||||
|
@ -723,6 +724,9 @@ class SubstitutionEnvironment(object):
|
|||
append_next_arg_to = None
|
||||
elif not arg[0] in ['-', '+']:
|
||||
dict['LIBS'].append(self.fs.File(arg))
|
||||
elif arg == '-dylib_file':
|
||||
dict['LINKFLAGS'].append(arg)
|
||||
append_next_arg_to = 'LINKFLAGS'
|
||||
elif arg[:2] == '-L':
|
||||
if arg[2:]:
|
||||
dict['LIBPATH'].append(arg[2:])
|
||||
|
@ -766,16 +770,20 @@ class SubstitutionEnvironment(object):
|
|||
dict['FRAMEWORKPATH'].append(arg[2:])
|
||||
else:
|
||||
append_next_arg_to = 'FRAMEWORKPATH'
|
||||
elif arg == '-mno-cygwin':
|
||||
elif arg in ['-mno-cygwin',
|
||||
'-pthread',
|
||||
'-openmp',
|
||||
'-fopenmp']:
|
||||
dict['CCFLAGS'].append(arg)
|
||||
dict['LINKFLAGS'].append(arg)
|
||||
elif arg == '-mwindows':
|
||||
dict['LINKFLAGS'].append(arg)
|
||||
elif arg == '-pthread':
|
||||
dict['CCFLAGS'].append(arg)
|
||||
dict['LINKFLAGS'].append(arg)
|
||||
elif arg[:5] == '-std=':
|
||||
dict['CFLAGS'].append(arg) # C only
|
||||
if arg[5:].find('++')!=-1:
|
||||
key='CXXFLAGS'
|
||||
else:
|
||||
key='CFLAGS'
|
||||
dict[key].append(arg)
|
||||
elif arg[0] == '+':
|
||||
dict['CCFLAGS'].append(arg)
|
||||
dict['LINKFLAGS'].append(arg)
|
||||
|
@ -1147,11 +1155,16 @@ class Base(SubstitutionEnvironment):
|
|||
# but Python 1.5.2 apparently doesn't let you use "continue"
|
||||
# within try:-except: blocks, so we have to nest our code.
|
||||
try:
|
||||
if key == 'CPPDEFINES' and SCons.Util.is_String(self._dict[key]):
|
||||
self._dict[key] = [self._dict[key]]
|
||||
orig = self._dict[key]
|
||||
except KeyError:
|
||||
# No existing variable in the environment, so just set
|
||||
# it to the new value.
|
||||
self._dict[key] = val
|
||||
if key == 'CPPDEFINES' and SCons.Util.is_String(val):
|
||||
self._dict[key] = [val]
|
||||
else:
|
||||
self._dict[key] = val
|
||||
else:
|
||||
try:
|
||||
# Check if the original looks like a dictionary.
|
||||
|
@ -1188,8 +1201,13 @@ class Base(SubstitutionEnvironment):
|
|||
# The original looks like a dictionary, so update it
|
||||
# based on what we think the value looks like.
|
||||
if SCons.Util.is_List(val):
|
||||
for v in val:
|
||||
orig[v] = None
|
||||
if key == 'CPPDEFINES':
|
||||
orig = orig.items()
|
||||
orig += val
|
||||
self._dict[key] = orig
|
||||
else:
|
||||
for v in val:
|
||||
orig[v] = None
|
||||
else:
|
||||
try:
|
||||
update_dict(val)
|
||||
|
@ -1251,8 +1269,39 @@ class Base(SubstitutionEnvironment):
|
|||
self._dict[key].update(val)
|
||||
elif SCons.Util.is_List(val):
|
||||
dk = self._dict[key]
|
||||
if not SCons.Util.is_List(dk):
|
||||
dk = [dk]
|
||||
if key == 'CPPDEFINES':
|
||||
tmp = []
|
||||
for i in val:
|
||||
if SCons.Util.is_List(i):
|
||||
if len(i) >= 2:
|
||||
tmp.append((i[0], i[1]))
|
||||
else:
|
||||
tmp.append((i[0],))
|
||||
elif SCons.Util.is_Tuple(i):
|
||||
tmp.append(i)
|
||||
else:
|
||||
tmp.append((i,))
|
||||
val = tmp
|
||||
if SCons.Util.is_Dict(dk):
|
||||
dk = dk.items()
|
||||
elif SCons.Util.is_String(dk):
|
||||
dk = [(dk,)]
|
||||
else:
|
||||
tmp = []
|
||||
for i in dk:
|
||||
if SCons.Util.is_List(i):
|
||||
if len(i) >= 2:
|
||||
tmp.append((i[0], i[1]))
|
||||
else:
|
||||
tmp.append((i[0],))
|
||||
elif SCons.Util.is_Tuple(i):
|
||||
tmp.append(i)
|
||||
else:
|
||||
tmp.append((i,))
|
||||
dk = tmp
|
||||
else:
|
||||
if not SCons.Util.is_List(dk):
|
||||
dk = [dk]
|
||||
if delete_existing:
|
||||
dk = [x for x in dk if x not in val]
|
||||
else:
|
||||
|
@ -1261,15 +1310,57 @@ class Base(SubstitutionEnvironment):
|
|||
else:
|
||||
dk = self._dict[key]
|
||||
if SCons.Util.is_List(dk):
|
||||
# By elimination, val is not a list. Since dk is a
|
||||
# list, wrap val in a list first.
|
||||
if delete_existing:
|
||||
dk = [x for x in dk if x not in val]
|
||||
self._dict[key] = dk + [val]
|
||||
if key == 'CPPDEFINES':
|
||||
tmp = []
|
||||
for i in dk:
|
||||
if SCons.Util.is_List(i):
|
||||
if len(i) >= 2:
|
||||
tmp.append((i[0], i[1]))
|
||||
else:
|
||||
tmp.append((i[0],))
|
||||
elif SCons.Util.is_Tuple(i):
|
||||
tmp.append(i)
|
||||
else:
|
||||
tmp.append((i,))
|
||||
dk = tmp
|
||||
if SCons.Util.is_Dict(val):
|
||||
val = val.items()
|
||||
elif SCons.Util.is_String(val):
|
||||
val = [(val,)]
|
||||
if delete_existing:
|
||||
dk = filter(lambda x, val=val: x not in val, dk)
|
||||
self._dict[key] = dk + val
|
||||
else:
|
||||
dk = [x for x in dk if x not in val]
|
||||
self._dict[key] = dk + val
|
||||
else:
|
||||
if not val in dk:
|
||||
# By elimination, val is not a list. Since dk is a
|
||||
# list, wrap val in a list first.
|
||||
if delete_existing:
|
||||
dk = filter(lambda x, val=val: x not in val, dk)
|
||||
self._dict[key] = dk + [val]
|
||||
else:
|
||||
if not val in dk:
|
||||
self._dict[key] = dk + [val]
|
||||
else:
|
||||
if key == 'CPPDEFINES':
|
||||
if SCons.Util.is_String(dk):
|
||||
dk = [dk]
|
||||
elif SCons.Util.is_Dict(dk):
|
||||
dk = dk.items()
|
||||
if SCons.Util.is_String(val):
|
||||
if val in dk:
|
||||
val = []
|
||||
else:
|
||||
val = [val]
|
||||
elif SCons.Util.is_Dict(val):
|
||||
tmp = []
|
||||
for i,j in val.iteritems():
|
||||
if j is not None:
|
||||
tmp.append((i,j))
|
||||
else:
|
||||
tmp.append(i)
|
||||
val = tmp
|
||||
if delete_existing:
|
||||
dk = [x for x in dk if x not in val]
|
||||
self._dict[key] = dk + val
|
||||
|
@ -2285,6 +2376,12 @@ def NoSubstitutionProxy(subject):
|
|||
return getattr(self.__dict__['__subject'], name)
|
||||
def __setattr__(self, name, value):
|
||||
return setattr(self.__dict__['__subject'], name, value)
|
||||
def executor_to_lvars(self, kwdict):
|
||||
if kwdict.has_key('executor'):
|
||||
kwdict['lvars'] = kwdict['executor'].get_lvars()
|
||||
del kwdict['executor']
|
||||
else:
|
||||
kwdict['lvars'] = {}
|
||||
def raw_to_mode(self, dict):
|
||||
try:
|
||||
raw = dict['raw']
|
||||
|
@ -2301,12 +2398,14 @@ def NoSubstitutionProxy(subject):
|
|||
nargs = (string, self,) + args
|
||||
nkw = kwargs.copy()
|
||||
nkw['gvars'] = {}
|
||||
self.executor_to_lvars(nkw)
|
||||
self.raw_to_mode(nkw)
|
||||
return SCons.Subst.scons_subst_list(*nargs, **nkw)
|
||||
def subst_target_source(self, string, *args, **kwargs):
|
||||
nargs = (string, self,) + args
|
||||
nkw = kwargs.copy()
|
||||
nkw['gvars'] = {}
|
||||
self.executor_to_lvars(nkw)
|
||||
self.raw_to_mode(nkw)
|
||||
return SCons.Subst.scons_subst(*nargs, **nkw)
|
||||
return _NoSubstitutionProxy(subject)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ and user errors in SCons.
|
|||
|
||||
"""
|
||||
|
||||
__revision__ = "src/engine/SCons/Errors.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Errors.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Util
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ Nodes.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ Nodes.
|
|||
# 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Executor.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import collections
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ stop, and wait on jobs.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ stop, and wait on jobs.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Job.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Job.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.compat
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Memoize.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
__doc__ = """Memoizer
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ This creates a hash of global Aliases (dummy targets).
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ This creates a hash of global Aliases (dummy targets).
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Node/Alias.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Node/Alias.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import collections
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ that can be used by scripts or modules looking for the canonical default.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ that can be used by scripts or modules looking for the canonical default.
|
|||
# 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Node/FS.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import fnmatch
|
||||
import os
|
||||
|
@ -56,6 +56,7 @@ import SCons.Warnings
|
|||
from SCons.Debug import Trace
|
||||
|
||||
do_store_info = True
|
||||
print_duplicate = 0
|
||||
|
||||
|
||||
class EntryProxyAttributeError(AttributeError):
|
||||
|
@ -110,33 +111,85 @@ def save_strings(val):
|
|||
#
|
||||
|
||||
do_splitdrive = None
|
||||
_my_splitdrive =None
|
||||
|
||||
def initialize_do_splitdrive():
|
||||
global do_splitdrive
|
||||
global has_unc
|
||||
drive, path = os.path.splitdrive('X:/foo')
|
||||
do_splitdrive = not not drive
|
||||
has_unc = hasattr(os.path, 'splitunc')
|
||||
|
||||
do_splitdrive = not not drive or has_unc
|
||||
|
||||
global _my_splitdrive
|
||||
if has_unc:
|
||||
def splitdrive(p):
|
||||
if p[1:2] == ':':
|
||||
return p[:2], p[2:]
|
||||
if p[0:2] == '//':
|
||||
# Note that we leave a leading slash in the path
|
||||
# because UNC paths are always absolute.
|
||||
return '//', p[1:]
|
||||
return '', p
|
||||
else:
|
||||
def splitdrive(p):
|
||||
if p[1:2] == ':':
|
||||
return p[:2], p[2:]
|
||||
return '', p
|
||||
_my_splitdrive = splitdrive
|
||||
|
||||
# Keep some commonly used values in global variables to skip to
|
||||
# module look-up costs.
|
||||
global OS_SEP
|
||||
global UNC_PREFIX
|
||||
global os_sep_is_slash
|
||||
|
||||
OS_SEP = os.sep
|
||||
UNC_PREFIX = OS_SEP + OS_SEP
|
||||
os_sep_is_slash = OS_SEP == '/'
|
||||
|
||||
initialize_do_splitdrive()
|
||||
|
||||
#
|
||||
# Used to avoid invoking os.path.normpath if not necessary.
|
||||
needs_normpath_check = re.compile(
|
||||
r'''
|
||||
# We need to renormalize the path if it contains any consecutive
|
||||
# '/' characters.
|
||||
.*// |
|
||||
|
||||
needs_normpath_check = None
|
||||
# We need to renormalize the path if it contains a '..' directory.
|
||||
# Note that we check for all the following cases:
|
||||
#
|
||||
# a) The path is a single '..'
|
||||
# b) The path starts with '..'. E.g. '../' or '../moredirs'
|
||||
# but we not match '..abc/'.
|
||||
# c) The path ends with '..'. E.g. '/..' or 'dirs/..'
|
||||
# d) The path contains a '..' in the middle.
|
||||
# E.g. dirs/../moredirs
|
||||
|
||||
def initialize_normpath_check():
|
||||
"""
|
||||
Initialize the normpath_check regular expression.
|
||||
(.*/)?\.\.(?:/|$) |
|
||||
|
||||
This function is used by the unit tests to re-initialize the pattern
|
||||
when testing for behavior with different values of os.sep.
|
||||
"""
|
||||
global needs_normpath_check
|
||||
if os.sep == '/':
|
||||
pattern = r'.*/|\.$|\.\.$'
|
||||
else:
|
||||
pattern = r'.*[/%s]|\.$|\.\.$' % re.escape(os.sep)
|
||||
needs_normpath_check = re.compile(pattern)
|
||||
# We need to renormalize the path if it contains a '.'
|
||||
# directory, but NOT if it is a single '.' '/' characters. We
|
||||
# do not want to match a single '.' because this case is checked
|
||||
# for explicitely since this is common enough case.
|
||||
#
|
||||
# Note that we check for all the following cases:
|
||||
#
|
||||
# a) We don't match a single '.'
|
||||
# b) We match if the path starts with '.'. E.g. './' or
|
||||
# './moredirs' but we not match '.abc/'.
|
||||
# c) We match if the path ends with '.'. E.g. '/.' or
|
||||
# 'dirs/.'
|
||||
# d) We match if the path contains a '.' in the middle.
|
||||
# E.g. dirs/./moredirs
|
||||
|
||||
initialize_normpath_check()
|
||||
\./|.*/\.(?:/|$)
|
||||
|
||||
''',
|
||||
re.VERBOSE
|
||||
)
|
||||
needs_normpath_match = needs_normpath_check.match
|
||||
|
||||
#
|
||||
# SCons.Action objects for interacting with the outside world.
|
||||
|
@ -438,21 +491,21 @@ class EntryProxy(SCons.Util.Proxy):
|
|||
def __get_posix_path(self):
|
||||
"""Return the path with / as the path separator,
|
||||
regardless of platform."""
|
||||
if os.sep == '/':
|
||||
if os_sep_is_slash:
|
||||
return self
|
||||
else:
|
||||
entry = self.get()
|
||||
r = entry.get_path().replace(os.sep, '/')
|
||||
r = entry.get_path().replace(OS_SEP, '/')
|
||||
return SCons.Subst.SpecialAttrWrapper(r, entry.name + "_posix")
|
||||
|
||||
def __get_windows_path(self):
|
||||
"""Return the path with \ as the path separator,
|
||||
regardless of platform."""
|
||||
if os.sep == '\\':
|
||||
if OS_SEP == '\\':
|
||||
return self
|
||||
else:
|
||||
entry = self.get()
|
||||
r = entry.get_path().replace(os.sep, '\\')
|
||||
r = entry.get_path().replace(OS_SEP, '\\')
|
||||
return SCons.Subst.SpecialAttrWrapper(r, entry.name + "_windows")
|
||||
|
||||
def __get_srcnode(self):
|
||||
|
@ -533,9 +586,13 @@ class Base(SCons.Node.Node):
|
|||
|
||||
# Filenames and paths are probably reused and are intern'ed to
|
||||
# save some memory.
|
||||
|
||||
#: Filename with extension as it was specified when the object was
|
||||
#: created; to obtain filesystem path, use Python str() function
|
||||
self.name = SCons.Util.silent_intern(name)
|
||||
#: Cached filename extension
|
||||
self.suffix = SCons.Util.silent_intern(SCons.Util.splitext(name)[1])
|
||||
self.fs = fs
|
||||
self.fs = fs #: Reference to parent Node.FS object
|
||||
|
||||
assert directory, "A directory must be provided"
|
||||
|
||||
|
@ -606,7 +663,7 @@ class Base(SCons.Node.Node):
|
|||
else:
|
||||
result = srcnode.get_path()
|
||||
if not Save_Strings:
|
||||
# We're not at the point where we're saving the string string
|
||||
# We're not at the point where we're saving the string
|
||||
# representations of FS Nodes (because we haven't finished
|
||||
# reading the SConscript files and need to have str() return
|
||||
# things relative to them). That also means we can't yet
|
||||
|
@ -695,11 +752,15 @@ class Base(SCons.Node.Node):
|
|||
if self == dir:
|
||||
return '.'
|
||||
path_elems = self.path_elements
|
||||
pathname = ''
|
||||
try: i = path_elems.index(dir)
|
||||
except ValueError: pass
|
||||
else: path_elems = path_elems[i+1:]
|
||||
path_elems = [n.name for n in path_elems]
|
||||
return os.sep.join(path_elems)
|
||||
except ValueError:
|
||||
for p in path_elems[:-1]:
|
||||
pathname += p.dirname
|
||||
else:
|
||||
for p in path_elems[i+1:-1]:
|
||||
pathname += p.dirname
|
||||
return pathname + path_elems[-1].name
|
||||
|
||||
def set_src_builder(self, builder):
|
||||
"""Set the source code builder for this node."""
|
||||
|
@ -1063,7 +1124,7 @@ class FS(LocalFS):
|
|||
self.pathTop = os.getcwd()
|
||||
else:
|
||||
self.pathTop = path
|
||||
self.defaultDrive = _my_normcase(os.path.splitdrive(self.pathTop)[0])
|
||||
self.defaultDrive = _my_normcase(_my_splitdrive(self.pathTop)[0])
|
||||
|
||||
self.Top = self.Dir(self.pathTop)
|
||||
self.Top.path = '.'
|
||||
|
@ -1083,7 +1144,10 @@ class FS(LocalFS):
|
|||
self.max_drift = max_drift
|
||||
|
||||
def getcwd(self):
|
||||
return self._cwd
|
||||
if hasattr(self, "_cwd"):
|
||||
return self._cwd
|
||||
else:
|
||||
return "<no cwd>"
|
||||
|
||||
def chdir(self, dir, change_os_dir=0):
|
||||
"""Change the current working directory for lookups.
|
||||
|
@ -1147,54 +1211,110 @@ class FS(LocalFS):
|
|||
# str(p) in case it's something like a proxy object
|
||||
p = str(p)
|
||||
|
||||
initial_hash = (p[0:1] == '#')
|
||||
if initial_hash:
|
||||
if not os_sep_is_slash:
|
||||
p = p.replace(OS_SEP, '/')
|
||||
|
||||
if p[0:1] == '#':
|
||||
# There was an initial '#', so we strip it and override
|
||||
# whatever directory they may have specified with the
|
||||
# top-level SConstruct directory.
|
||||
p = p[1:]
|
||||
directory = self.Top
|
||||
|
||||
if directory and not isinstance(directory, Dir):
|
||||
directory = self.Dir(directory)
|
||||
|
||||
if do_splitdrive:
|
||||
drive, p = os.path.splitdrive(p)
|
||||
else:
|
||||
drive = ''
|
||||
if drive and not p:
|
||||
# This causes a naked drive letter to be treated as a synonym
|
||||
# for the root directory on that drive.
|
||||
p = os.sep
|
||||
absolute = os.path.isabs(p)
|
||||
|
||||
needs_normpath = needs_normpath_check.match(p)
|
||||
|
||||
if initial_hash or not absolute:
|
||||
# This is a relative lookup, either to the top-level
|
||||
# SConstruct directory (because of the initial '#') or to
|
||||
# the current directory (the path name is not absolute).
|
||||
# Add the string to the appropriate directory lookup path,
|
||||
# after which the whole thing gets normalized.
|
||||
if not directory:
|
||||
directory = self._cwd
|
||||
if p:
|
||||
p = directory.labspath + '/' + p
|
||||
# There might be a drive letter following the
|
||||
# '#'. Although it is not described in the SCons man page,
|
||||
# the regression test suite explicitly tests for that
|
||||
# syntax. It seems to mean the following thing:
|
||||
#
|
||||
# Assuming the the SCons top dir is in C:/xxx/yyy,
|
||||
# '#X:/toto' means X:/xxx/yyy/toto.
|
||||
#
|
||||
# i.e. it assumes that the X: drive has a directory
|
||||
# structure similar to the one found on drive C:.
|
||||
if do_splitdrive:
|
||||
drive, p = _my_splitdrive(p)
|
||||
if drive:
|
||||
root = self.get_root(drive)
|
||||
else:
|
||||
root = directory.root
|
||||
else:
|
||||
root = directory.root
|
||||
|
||||
# We can only strip trailing after splitting the drive
|
||||
# since the drive might the UNC '//' prefix.
|
||||
p = p.strip('/')
|
||||
|
||||
needs_normpath = needs_normpath_match(p)
|
||||
|
||||
# The path is relative to the top-level SCons directory.
|
||||
if p in ('', '.'):
|
||||
p = directory.labspath
|
||||
|
||||
if needs_normpath:
|
||||
p = os.path.normpath(p)
|
||||
|
||||
if drive or absolute:
|
||||
root = self.get_root(drive)
|
||||
else:
|
||||
p = directory.labspath + '/' + p
|
||||
else:
|
||||
if not directory:
|
||||
directory = self._cwd
|
||||
root = directory.root
|
||||
if do_splitdrive:
|
||||
drive, p = _my_splitdrive(p)
|
||||
if drive and not p:
|
||||
# This causes a naked drive letter to be treated
|
||||
# as a synonym for the root directory on that
|
||||
# drive.
|
||||
p = '/'
|
||||
else:
|
||||
drive = ''
|
||||
|
||||
# We can only strip trailing '/' since the drive might the
|
||||
# UNC '//' prefix.
|
||||
if p != '/':
|
||||
p = p.rstrip('/')
|
||||
|
||||
needs_normpath = needs_normpath_match(p)
|
||||
|
||||
if p[0:1] == '/':
|
||||
# Absolute path
|
||||
root = self.get_root(drive)
|
||||
else:
|
||||
# This is a relative lookup or to the current directory
|
||||
# (the path name is not absolute). Add the string to the
|
||||
# appropriate directory lookup path, after which the whole
|
||||
# thing gets normalized.
|
||||
if directory:
|
||||
if not isinstance(directory, Dir):
|
||||
directory = self.Dir(directory)
|
||||
else:
|
||||
directory = self._cwd
|
||||
|
||||
if p in ('', '.'):
|
||||
p = directory.labspath
|
||||
else:
|
||||
p = directory.labspath + '/' + p
|
||||
|
||||
if drive:
|
||||
root = self.get_root(drive)
|
||||
else:
|
||||
root = directory.root
|
||||
|
||||
if needs_normpath is not None:
|
||||
# Normalize a pathname. Will return the same result for
|
||||
# equivalent paths.
|
||||
#
|
||||
# We take advantage of the fact that we have an absolute
|
||||
# path here for sure. In addition, we know that the
|
||||
# components of lookup path are separated by slashes at
|
||||
# this point. Because of this, this code is about 2X
|
||||
# faster than calling os.path.normpath() followed by
|
||||
# replacing os.sep with '/' again.
|
||||
ins = p.split('/')[1:]
|
||||
outs = []
|
||||
for d in ins:
|
||||
if d == '..':
|
||||
try:
|
||||
outs.pop()
|
||||
except IndexError:
|
||||
pass
|
||||
elif d not in ('', '.'):
|
||||
outs.append(d)
|
||||
p = '/' + '/'.join(outs)
|
||||
|
||||
if os.sep != '/':
|
||||
p = p.replace(os.sep, '/')
|
||||
return root._lookup_abs(p, fsclass, create)
|
||||
|
||||
def Entry(self, name, directory = None, create = 1):
|
||||
|
@ -1300,7 +1420,7 @@ class DirNodeInfo(SCons.Node.NodeInfoBase):
|
|||
top = self.fs.Top
|
||||
root = top.root
|
||||
if do_splitdrive:
|
||||
drive, s = os.path.splitdrive(s)
|
||||
drive, s = _my_splitdrive(s)
|
||||
if drive:
|
||||
root = self.fs.get_root(drive)
|
||||
if not os.path.isabs(s):
|
||||
|
@ -1350,11 +1470,34 @@ class Dir(Base):
|
|||
self.variant_dirs = []
|
||||
self.root = self.dir.root
|
||||
|
||||
# For directories, we make a difference between the directory
|
||||
# 'name' and the directory 'dirname'. The 'name' attribute is
|
||||
# used when we need to print the 'name' of the directory or
|
||||
# when we it is used as the last part of a path. The 'dirname'
|
||||
# is used when the directory is not the last element of the
|
||||
# path. The main reason for making that distinction is that
|
||||
# for RoorDir's the dirname can not be easily inferred from
|
||||
# the name. For example, we have to add a '/' after a drive
|
||||
# letter but not after a UNC path prefix ('//').
|
||||
self.dirname = self.name + OS_SEP
|
||||
|
||||
# Don't just reset the executor, replace its action list,
|
||||
# because it might have some pre-or post-actions that need to
|
||||
# be preserved.
|
||||
self.builder = get_MkdirBuilder()
|
||||
self.get_executor().set_action_list(self.builder.action)
|
||||
#
|
||||
# But don't reset the executor if there is a non-null executor
|
||||
# attached already. The existing executor might have other
|
||||
# targets, in which case replacing the action list with a
|
||||
# Mkdir action is a big mistake.
|
||||
if not hasattr(self, 'executor'):
|
||||
self.builder = get_MkdirBuilder()
|
||||
self.get_executor().set_action_list(self.builder.action)
|
||||
else:
|
||||
# Prepend MkdirBuilder action to existing action list
|
||||
l = self.get_executor().action_list
|
||||
a = get_MkdirBuilder().action
|
||||
l.insert(0, a)
|
||||
self.get_executor().set_action_list(l)
|
||||
|
||||
def diskcheck_match(self):
|
||||
diskcheck_match(self, self.isfile,
|
||||
|
@ -1403,23 +1546,6 @@ class Dir(Base):
|
|||
"""
|
||||
return self.fs.File(name, self)
|
||||
|
||||
def _lookup_rel(self, name, klass, create=1):
|
||||
"""
|
||||
Looks up a *normalized* relative path name, relative to this
|
||||
directory.
|
||||
|
||||
This method is intended for use by internal lookups with
|
||||
already-normalized path data. For general-purpose lookups,
|
||||
use the Entry(), Dir() and File() methods above.
|
||||
|
||||
This method does *no* input checking and will die or give
|
||||
incorrect results if it's passed a non-normalized path name (e.g.,
|
||||
a path containing '..'), an absolute path name, a top-relative
|
||||
('#foo') path name, or any kind of object.
|
||||
"""
|
||||
name = self.entry_labspath(name)
|
||||
return self.root._lookup_abs(name, klass, create)
|
||||
|
||||
def link(self, srcdir, duplicate):
|
||||
"""Set this directory as the variant directory for the
|
||||
supplied source directory."""
|
||||
|
@ -1452,7 +1578,7 @@ class Dir(Base):
|
|||
if fname == '.':
|
||||
fname = dir.name
|
||||
else:
|
||||
fname = dir.name + os.sep + fname
|
||||
fname = dir.name + OS_SEP + fname
|
||||
dir = dir.up()
|
||||
|
||||
self._memo['get_all_rdirs'] = list(result)
|
||||
|
@ -1466,7 +1592,7 @@ class Dir(Base):
|
|||
self.__clearRepositoryCache()
|
||||
|
||||
def up(self):
|
||||
return self.entries['..']
|
||||
return self.dir
|
||||
|
||||
def _rel_path_key(self, other):
|
||||
return str(other)
|
||||
|
@ -1514,14 +1640,14 @@ class Dir(Base):
|
|||
if dir_rel_path == '.':
|
||||
result = other.name
|
||||
else:
|
||||
result = dir_rel_path + os.sep + other.name
|
||||
result = dir_rel_path + OS_SEP + other.name
|
||||
else:
|
||||
i = self.path_elements.index(other) + 1
|
||||
|
||||
path_elems = ['..'] * (len(self.path_elements) - i) \
|
||||
+ [n.name for n in other.path_elements[i:]]
|
||||
|
||||
result = os.sep.join(path_elems)
|
||||
result = OS_SEP.join(path_elems)
|
||||
|
||||
memo_dict[other] = result
|
||||
|
||||
|
@ -1691,16 +1817,16 @@ class Dir(Base):
|
|||
return stamp
|
||||
|
||||
def entry_abspath(self, name):
|
||||
return self.abspath + os.sep + name
|
||||
return self.abspath + OS_SEP + name
|
||||
|
||||
def entry_labspath(self, name):
|
||||
return self.labspath + '/' + name
|
||||
|
||||
def entry_path(self, name):
|
||||
return self.path + os.sep + name
|
||||
return self.path + OS_SEP + name
|
||||
|
||||
def entry_tpath(self, name):
|
||||
return self.tpath + os.sep + name
|
||||
return self.tpath + OS_SEP + name
|
||||
|
||||
def entry_exists_on_disk(self, name):
|
||||
try:
|
||||
|
@ -1721,7 +1847,7 @@ class Dir(Base):
|
|||
if result is None:
|
||||
# Belt-and-suspenders for Windows: check directly for
|
||||
# 8.3 file names that don't show up in os.listdir().
|
||||
result = os.path.exists(self.abspath + os.sep + name)
|
||||
result = os.path.exists(self.abspath + OS_SEP + name)
|
||||
d[name] = result
|
||||
return result
|
||||
else:
|
||||
|
@ -1742,7 +1868,7 @@ class Dir(Base):
|
|||
while dir:
|
||||
if dir.srcdir:
|
||||
result.append(dir.srcdir.Dir(dirname))
|
||||
dirname = dir.name + os.sep + dirname
|
||||
dirname = dir.name + OS_SEP + dirname
|
||||
dir = dir.up()
|
||||
|
||||
self._memo['srcdir_list'] = result
|
||||
|
@ -1986,7 +2112,7 @@ class RootDir(Dir):
|
|||
add a separator when creating the path names of entries within
|
||||
this directory.
|
||||
"""
|
||||
def __init__(self, name, fs):
|
||||
def __init__(self, drive, fs):
|
||||
if __debug__: logInstanceCreation(self, 'Node.FS.RootDir')
|
||||
# We're going to be our own parent directory (".." entry and .dir
|
||||
# attribute) so we have to set up some values so Base.__init__()
|
||||
|
@ -1998,29 +2124,47 @@ class RootDir(Dir):
|
|||
self.path_elements = []
|
||||
self.duplicate = 0
|
||||
self.root = self
|
||||
|
||||
# Handle all the types of drives:
|
||||
if drive == '':
|
||||
# No drive, regular UNIX root or Windows default drive.
|
||||
name = OS_SEP
|
||||
dirname = OS_SEP
|
||||
elif drive == '//':
|
||||
# UNC path
|
||||
name = UNC_PREFIX
|
||||
dirname = UNC_PREFIX
|
||||
else:
|
||||
# Windows drive letter
|
||||
name = drive
|
||||
dirname = drive + OS_SEP
|
||||
|
||||
Base.__init__(self, name, self, fs)
|
||||
|
||||
# Now set our paths to what we really want them to be: the
|
||||
# initial drive letter (the name) plus the directory separator,
|
||||
# except for the "lookup abspath," which does not have the
|
||||
# drive letter.
|
||||
self.abspath = name + os.sep
|
||||
# Now set our paths to what we really want them to be. The
|
||||
# name should already contain any necessary separators, such
|
||||
# as the initial drive letter (the name) plus the directory
|
||||
# separator, except for the "lookup abspath," which does not
|
||||
# have the drive letter.
|
||||
self.abspath = dirname
|
||||
self.labspath = ''
|
||||
self.path = name + os.sep
|
||||
self.tpath = name + os.sep
|
||||
self.path = dirname
|
||||
self.tpath = dirname
|
||||
self._morph()
|
||||
|
||||
# Must be reset after Dir._morph() is invoked...
|
||||
self.dirname = dirname
|
||||
|
||||
self._lookupDict = {}
|
||||
|
||||
# The // and os.sep + os.sep entries are necessary because
|
||||
# os.path.normpath() seems to preserve double slashes at the
|
||||
# beginning of a path (presumably for UNC path names), but
|
||||
# collapses triple slashes to a single slash.
|
||||
self._lookupDict[''] = self
|
||||
self._lookupDict['/'] = self
|
||||
self._lookupDict['//'] = self
|
||||
self._lookupDict[os.sep] = self
|
||||
self._lookupDict[os.sep + os.sep] = self
|
||||
|
||||
# The // entry is necessary because os.path.normpath()
|
||||
# preserves double slashes at the beginning of a path on Posix
|
||||
# platforms.
|
||||
if not has_unc:
|
||||
self._lookupDict['//'] = self
|
||||
|
||||
def must_be_same(self, klass):
|
||||
if klass is Dir:
|
||||
|
@ -2039,7 +2183,7 @@ class RootDir(Dir):
|
|||
normalized absolute path; we merely let Python's dictionary look
|
||||
up and return the One True Node.FS object for the path.
|
||||
|
||||
If no Node for the specified "p" doesn't already exist, and
|
||||
If a Node for the specified "p" doesn't already exist, and
|
||||
"create" is specified, the Node may be created after recursive
|
||||
invocation to find or create the parent directory or directories.
|
||||
"""
|
||||
|
@ -2052,7 +2196,17 @@ class RootDir(Dir):
|
|||
raise SCons.Errors.UserError(msg)
|
||||
# There is no Node for this path name, and we're allowed
|
||||
# to create it.
|
||||
dir_name, file_name = os.path.split(p)
|
||||
# (note: would like to use p.rsplit('/',1) here but
|
||||
# that's not in python 2.3)
|
||||
# e.g.: dir_name, file_name = p.rsplit('/',1)
|
||||
last_slash = p.rindex('/')
|
||||
if (last_slash >= 0):
|
||||
dir_name = p[:last_slash]
|
||||
file_name = p[last_slash+1:]
|
||||
else:
|
||||
dir_name = p # shouldn't happen, just in case
|
||||
file_name = ''
|
||||
|
||||
dir_node = self._lookup_abs(dir_name, Dir)
|
||||
result = klass(file_name, dir_node, self.fs)
|
||||
|
||||
|
@ -2111,7 +2265,7 @@ class FileNodeInfo(SCons.Node.NodeInfoBase):
|
|||
top = self.fs.Top
|
||||
root = top.root
|
||||
if do_splitdrive:
|
||||
drive, s = os.path.splitdrive(s)
|
||||
drive, s = _my_splitdrive(s)
|
||||
if drive:
|
||||
root = self.fs.get_root(drive)
|
||||
if not os.path.isabs(s):
|
||||
|
@ -2129,7 +2283,7 @@ class FileBuildInfo(SCons.Node.BuildInfoBase):
|
|||
usual string representation: relative to the top-level SConstruct
|
||||
directory, or an absolute path if it's outside.
|
||||
"""
|
||||
if os.sep == '/':
|
||||
if os_sep_is_slash:
|
||||
node_to_str = str
|
||||
else:
|
||||
def node_to_str(n):
|
||||
|
@ -2138,7 +2292,7 @@ class FileBuildInfo(SCons.Node.BuildInfoBase):
|
|||
except AttributeError:
|
||||
s = str(n)
|
||||
else:
|
||||
s = s.replace(os.sep, '/')
|
||||
s = s.replace(OS_SEP, '/')
|
||||
return s
|
||||
for attr in ['bsources', 'bdepends', 'bimplicit']:
|
||||
try:
|
||||
|
@ -2638,6 +2792,8 @@ class File(Base):
|
|||
|
||||
def _rmv_existing(self):
|
||||
self.clear_memoized_values()
|
||||
if print_duplicate:
|
||||
print "dup: removing existing target %s"%self
|
||||
e = Unlink(self, [], None)
|
||||
if isinstance(e, SCons.Errors.BuildError):
|
||||
raise e
|
||||
|
@ -2678,6 +2834,8 @@ class File(Base):
|
|||
|
||||
def do_duplicate(self, src):
|
||||
self._createDir()
|
||||
if print_duplicate:
|
||||
print "dup: relinking variant '%s' from '%s'"%(self, src)
|
||||
Unlink(self, None, None)
|
||||
e = Link(self, src, None)
|
||||
if isinstance(e, SCons.Errors.BuildError):
|
||||
|
@ -2711,6 +2869,8 @@ class File(Base):
|
|||
else:
|
||||
# The source file does not exist. Make sure no old
|
||||
# copy remains in the variant directory.
|
||||
if print_duplicate:
|
||||
print "dup: no src for %s, unlinking old variant copy"%self
|
||||
if Base.exists(self) or self.islink():
|
||||
self.fs.unlink(self.path)
|
||||
# Return None explicitly because the Base.exists() call
|
||||
|
@ -2982,8 +3142,8 @@ class FileFinder(object):
|
|||
if fd is None:
|
||||
fd = self.default_filedir
|
||||
dir, name = os.path.split(fd)
|
||||
drive, d = os.path.splitdrive(dir)
|
||||
if not name and d[:1] in ('/', os.sep):
|
||||
drive, d = _my_splitdrive(dir)
|
||||
if not name and d[:1] in ('/', OS_SEP):
|
||||
#return p.fs.get_root(drive).dir_on_disk(name)
|
||||
return p.fs.get_root(drive)
|
||||
if dir:
|
||||
|
|
|
@ -5,7 +5,7 @@ Python nodes.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ Python nodes.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Node/Python.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Node/Python.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Node
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ be able to depend on any other type of "thing."
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ be able to depend on any other type of "thing."
|
|||
# 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Node/__init__.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import collections
|
||||
import copy
|
||||
|
@ -628,9 +628,10 @@ class Node(object):
|
|||
if implicit_deps_unchanged or self.is_up_to_date():
|
||||
return
|
||||
# one of this node's sources has changed,
|
||||
# so we must recalculate the implicit deps:
|
||||
self.implicit = []
|
||||
self.implicit_set = set()
|
||||
# so we must recalculate the implicit deps for all targets
|
||||
for tgt in executor.get_all_targets():
|
||||
tgt.implicit = []
|
||||
tgt.implicit_set = set()
|
||||
|
||||
# Have the executor scan the sources.
|
||||
executor.scan_sources(self.builder.source_scanner)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Options/BoolOption.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
__doc__ = """Place-holder for the old SCons.Options module hierarchy
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Options/EnumOption.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
__doc__ = """Place-holder for the old SCons.Options module hierarchy
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Options/ListOption.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
__doc__ = """Place-holder for the old SCons.Options module hierarchy
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Options/PackageOption.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
__doc__ = """Place-holder for the old SCons.Options module hierarchy
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Options/PathOption.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
__doc__ = """Place-holder for the old SCons.Options module hierarchy
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Options/__init__.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
__doc__ = """Place-holder for the old SCons.Options module hierarchy
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/PathList.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
__doc__ = """SCons.PathList
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ their own platform definition.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ their own platform definition.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Platform/__init__.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Platform/__init__.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.compat
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Platform/aix.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Platform/aix.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import os
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Platform/cygwin.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Platform/cygwin.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import posix
|
||||
from SCons.Platform import TempFileMunge
|
||||
|
|
|
@ -8,7 +8,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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,14 +30,38 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Platform/darwin.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Platform/darwin.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import posix
|
||||
import os
|
||||
|
||||
def generate(env):
|
||||
posix.generate(env)
|
||||
env['SHLIBSUFFIX'] = '.dylib'
|
||||
env['ENV']['PATH'] = env['ENV']['PATH'] + ':/sw/bin'
|
||||
# put macports paths at front to override Apple's versions, fink path is after
|
||||
# For now let people who want Macports or Fink tools specify it!
|
||||
# env['ENV']['PATH'] = '/opt/local/bin:/opt/local/sbin:' + env['ENV']['PATH'] + ':/sw/bin'
|
||||
|
||||
# Store extra system paths in env['ENV']['PATHOSX']
|
||||
|
||||
filelist = ['/etc/paths',]
|
||||
# make sure this works on Macs with Tiger or earlier
|
||||
try:
|
||||
dirlist = os.listdir('/etc/paths.d')
|
||||
except:
|
||||
dirlist = []
|
||||
|
||||
for file in dirlist:
|
||||
filelist.append('/etc/paths.d/'+file)
|
||||
|
||||
for file in filelist:
|
||||
if os.path.isfile(file):
|
||||
f = open(file, 'r')
|
||||
lines = f.readlines()
|
||||
for line in lines:
|
||||
if line:
|
||||
env.AppendENVPath('PATHOSX', line.strip('\n'))
|
||||
f.close()
|
||||
|
||||
# Local Variables:
|
||||
# tab-width:4
|
||||
|
|
|
@ -8,7 +8,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Platform/hpux.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Platform/hpux.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import posix
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Platform/irix.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Platform/irix.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import posix
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Platform/os2.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Platform/os2.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
import win32
|
||||
|
||||
def generate(env):
|
||||
|
|
|
@ -8,7 +8,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Platform/posix.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Platform/posix.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import errno
|
||||
import os
|
||||
|
|
|
@ -8,7 +8,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Platform/sunos.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Platform/sunos.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import posix
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Platform/win32.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Platform/win32.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import os
|
||||
import os.path
|
||||
|
|
|
@ -4,7 +4,7 @@ Autoconf-like configuration support.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ Autoconf-like configuration support.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/SConf.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/SConf.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.compat
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ Writing and reading information to the .sconsign file or files.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ Writing and reading information to the .sconsign file or files.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/SConsign.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/SConsign.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.compat
|
||||
|
||||
|
@ -104,9 +104,15 @@ def write():
|
|||
try:
|
||||
syncmethod = db.sync
|
||||
except AttributeError:
|
||||
pass # Not all anydbm modules have sync() methods.
|
||||
pass # Not all dbm modules have sync() methods.
|
||||
else:
|
||||
syncmethod()
|
||||
try:
|
||||
closemethod = db.close
|
||||
except AttributeError:
|
||||
pass # Not all dbm modules have close() methods.
|
||||
else:
|
||||
closemethod()
|
||||
|
||||
class SConsignEntry(object):
|
||||
"""
|
||||
|
|
|
@ -5,7 +5,7 @@ This module implements the depenency scanner for C/C++ code.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ This module implements the depenency scanner for C/C++ code.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Scanner/C.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Scanner/C.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Node.FS
|
||||
import SCons.Scanner
|
||||
|
|
|
@ -8,7 +8,7 @@ Coded by Andy Friesen
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ Coded by Andy Friesen
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Scanner/D.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Scanner/D.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import re
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Scanner/Dir.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Node.FS
|
||||
import SCons.Scanner
|
||||
|
|
|
@ -5,7 +5,7 @@ This module implements the dependency scanner for Fortran code.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ This module implements the dependency scanner for Fortran code.
|
|||
# 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Scanner/Fortran.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import re
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ Definition Language) files.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ Definition Language) files.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Scanner/IDL.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Scanner/IDL.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Node.FS
|
||||
import SCons.Scanner
|
||||
|
|
|
@ -5,7 +5,7 @@ This module implements the dependency scanner for LaTeX code.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ This module implements the dependency scanner for LaTeX code.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Scanner/LaTeX.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Scanner/LaTeX.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import os.path
|
||||
import re
|
||||
|
@ -148,6 +148,8 @@ class LaTeX(SCons.Scanner.Base):
|
|||
env['TEXINPUTS'] for "lstinputlisting" keyword
|
||||
env['BIBINPUTS'] for "bibliography" keyword
|
||||
env['BSTINPUTS'] for "bibliographystyle" keyword
|
||||
env['INDEXSTYLE'] for "makeindex" keyword, no scanning support needed
|
||||
just allows user to set it if needed.
|
||||
|
||||
FIXME: also look for the class or style in document[class|style]{}
|
||||
FIXME: also look for the argument of bibliographystyle{}
|
||||
|
@ -157,6 +159,7 @@ class LaTeX(SCons.Scanner.Base):
|
|||
'includegraphics': 'TEXINPUTS',
|
||||
'bibliography': 'BIBINPUTS',
|
||||
'bibliographystyle': 'BSTINPUTS',
|
||||
'makeindex': 'INDEXSTYLE',
|
||||
'usepackage': 'TEXINPUTS',
|
||||
'lstinputlisting': 'TEXINPUTS'}
|
||||
env_variables = SCons.Util.unique(list(keyword_paths.values()))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Scanner/Prog.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Node
|
||||
import SCons.Node.FS
|
||||
|
|
|
@ -6,7 +6,7 @@ Definition Language) files.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ Definition Language) files.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Scanner/RC.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Scanner/RC.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Node.FS
|
||||
import SCons.Scanner
|
||||
|
@ -40,7 +40,7 @@ def RCScan():
|
|||
res_re= r'^(?:\s*#\s*(?:include)|' \
|
||||
'.*?\s+(?:ICON|BITMAP|CURSOR|HTML|FONT|MESSAGETABLE|TYPELIB|REGISTRY|D3DFX)' \
|
||||
'\s*.*?)' \
|
||||
'\s*(<|"| )([^>"\s]+)(?:[>" ])*$'
|
||||
'\s*(<|"| )([^>"\s]+)(?:[>"\s])*$'
|
||||
resScanner = SCons.Scanner.ClassicCPP( "ResourceScanner",
|
||||
"$RCSUFFIXES",
|
||||
"CPPPATH",
|
||||
|
|
|
@ -5,7 +5,7 @@ The Scanner package for the SCons software construction utility.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ The Scanner package for the SCons software construction utility.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Scanner/__init__.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Scanner/__init__.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import re
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Script/Interactive.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
__doc__ = """
|
||||
SCons interactive mode
|
||||
|
|
|
@ -13,7 +13,7 @@ it goes here.
|
|||
unsupported_python_version = (2, 3, 0)
|
||||
deprecated_python_version = (2, 4, 0)
|
||||
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ deprecated_python_version = (2, 4, 0)
|
|||
# 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Script/Main.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.compat
|
||||
|
||||
|
@ -60,6 +60,7 @@ import SCons.Errors
|
|||
import SCons.Job
|
||||
import SCons.Node
|
||||
import SCons.Node.FS
|
||||
import SCons.Platform
|
||||
import SCons.SConf
|
||||
import SCons.Script
|
||||
import SCons.Taskmaster
|
||||
|
@ -653,6 +654,10 @@ def _set_debug_values(options):
|
|||
print_time = 1
|
||||
if "tree" in debug_values:
|
||||
options.tree_printers.append(TreePrinter())
|
||||
if "prepare" in debug_values:
|
||||
SCons.Taskmaster.print_prepare = 1
|
||||
if "duplicate" in debug_values:
|
||||
SCons.Node.FS.print_duplicate = 1
|
||||
|
||||
def _create_path(plist):
|
||||
path = '.'
|
||||
|
@ -665,15 +670,15 @@ def _create_path(plist):
|
|||
|
||||
def _load_site_scons_dir(topdir, site_dir_name=None):
|
||||
"""Load the site_scons dir under topdir.
|
||||
Adds site_scons to sys.path, imports site_scons/site_init.py,
|
||||
and adds site_scons/site_tools to default toolpath."""
|
||||
Prepends site_scons to sys.path, imports site_scons/site_init.py,
|
||||
and prepends site_scons/site_tools to default toolpath."""
|
||||
if site_dir_name:
|
||||
err_if_not_found = True # user specified: err if missing
|
||||
else:
|
||||
site_dir_name = "site_scons"
|
||||
err_if_not_found = False
|
||||
|
||||
site_dir = os.path.join(topdir.path, site_dir_name)
|
||||
site_dir = os.path.join(topdir, site_dir_name)
|
||||
if not os.path.exists(site_dir):
|
||||
if err_if_not_found:
|
||||
raise SCons.Errors.UserError("site dir %s not found."%site_dir)
|
||||
|
@ -682,11 +687,12 @@ def _load_site_scons_dir(topdir, site_dir_name=None):
|
|||
site_init_filename = "site_init.py"
|
||||
site_init_modname = "site_init"
|
||||
site_tools_dirname = "site_tools"
|
||||
# prepend to sys.path
|
||||
sys.path = [os.path.abspath(site_dir)] + sys.path
|
||||
site_init_file = os.path.join(site_dir, site_init_filename)
|
||||
site_tools_dir = os.path.join(site_dir, site_tools_dirname)
|
||||
if os.path.exists(site_init_file):
|
||||
import imp
|
||||
import imp, re
|
||||
# TODO(2.4): turn this into try:-except:-finally:
|
||||
try:
|
||||
try:
|
||||
|
@ -705,14 +711,26 @@ def _load_site_scons_dir(topdir, site_dir_name=None):
|
|||
fmt = 'cannot import site_init.py: missing SCons.Script module %s'
|
||||
raise SCons.Errors.InternalError(fmt % repr(e))
|
||||
try:
|
||||
sfx = description[0]
|
||||
modname = os.path.basename(pathname)[:-len(sfx)]
|
||||
site_m = {"__file__": pathname, "__name__": modname, "__doc__": None}
|
||||
re_special = re.compile("__[^_]+__")
|
||||
for k in m.__dict__.keys():
|
||||
if not re_special.match(k):
|
||||
site_m[k] = m.__dict__[k]
|
||||
|
||||
# This is the magic.
|
||||
exec fp in m.__dict__
|
||||
exec fp in site_m
|
||||
except KeyboardInterrupt:
|
||||
raise
|
||||
except Exception, e:
|
||||
fmt = '*** Error loading site_init file %s:\n'
|
||||
sys.stderr.write(fmt % repr(site_init_file))
|
||||
raise
|
||||
else:
|
||||
for k in site_m:
|
||||
if not re_special.match(k):
|
||||
m.__dict__[k] = site_m[k]
|
||||
except KeyboardInterrupt:
|
||||
raise
|
||||
except ImportError, e:
|
||||
|
@ -723,7 +741,55 @@ def _load_site_scons_dir(topdir, site_dir_name=None):
|
|||
if fp:
|
||||
fp.close()
|
||||
if os.path.exists(site_tools_dir):
|
||||
SCons.Tool.DefaultToolpath.append(os.path.abspath(site_tools_dir))
|
||||
# prepend to DefaultToolpath
|
||||
SCons.Tool.DefaultToolpath.insert(0, os.path.abspath(site_tools_dir))
|
||||
|
||||
def _load_all_site_scons_dirs(topdir, verbose=None):
|
||||
"""Load all of the predefined site_scons dir.
|
||||
Order is significant; we load them in order from most generic
|
||||
(machine-wide) to most specific (topdir).
|
||||
The verbose argument is only for testing.
|
||||
"""
|
||||
platform = SCons.Platform.platform_default()
|
||||
|
||||
def homedir(d):
|
||||
return os.path.expanduser('~/'+d)
|
||||
|
||||
if platform == 'win32' or platform == 'cygwin':
|
||||
# Note we use $ here instead of %...% because older
|
||||
# pythons (prior to 2.6?) didn't expand %...% on Windows.
|
||||
# This set of dirs should work on XP, Vista, 7 and later.
|
||||
sysdirs=[
|
||||
os.path.expandvars('$ALLUSERSPROFILE\\Application Data\\scons'),
|
||||
os.path.expandvars('$USERPROFILE\\Local Settings\\Application Data\\scons')]
|
||||
appdatadir = os.path.expandvars('$APPDATA\\scons')
|
||||
if appdatadir not in sysdirs:
|
||||
sysdirs.append(appdatadir)
|
||||
sysdirs.append(homedir('.scons'))
|
||||
|
||||
elif platform == 'darwin': # MacOS X
|
||||
sysdirs=['/Library/Application Support/SCons',
|
||||
'/opt/local/share/scons', # (for MacPorts)
|
||||
'/sw/share/scons', # (for Fink)
|
||||
homedir('Library/Application Support/SCons'),
|
||||
homedir('.scons')]
|
||||
elif platform == 'sunos': # Solaris
|
||||
sysdirs=['/opt/sfw/scons',
|
||||
'/usr/share/scons',
|
||||
homedir('.scons')]
|
||||
else: # Linux, HPUX, etc.
|
||||
# assume posix-like, i.e. platform == 'posix'
|
||||
sysdirs=['/usr/share/scons',
|
||||
homedir('.scons')]
|
||||
|
||||
dirs=sysdirs + [topdir]
|
||||
for d in dirs:
|
||||
if verbose: # this is used by unit tests.
|
||||
print "Loading site dir ", d
|
||||
_load_site_scons_dir(d)
|
||||
|
||||
def test_load_all_site_scons_dirs(d):
|
||||
_load_all_site_scons_dirs(d, True)
|
||||
|
||||
def version_string(label, module):
|
||||
version = module.__version__
|
||||
|
@ -739,6 +805,10 @@ def version_string(label, module):
|
|||
module.__developer__,
|
||||
module.__buildsys__)
|
||||
|
||||
def path_string(label, module):
|
||||
path = module.__path__
|
||||
return "\t%s path: %s\n"%(label,path)
|
||||
|
||||
def _main(parser):
|
||||
global exit_status
|
||||
global this_build_status
|
||||
|
@ -860,9 +930,9 @@ def _main(parser):
|
|||
progress_display.set_mode(0)
|
||||
|
||||
if options.site_dir:
|
||||
_load_site_scons_dir(d, options.site_dir)
|
||||
_load_site_scons_dir(d.path, options.site_dir)
|
||||
elif not options.no_site_dir:
|
||||
_load_site_scons_dir(d)
|
||||
_load_all_site_scons_dirs(d.path)
|
||||
|
||||
if options.include_dir:
|
||||
sys.path = options.include_dir + sys.path
|
||||
|
@ -1258,7 +1328,8 @@ def main():
|
|||
# __main__.__version__, hence there is no script version.
|
||||
pass
|
||||
parts.append(version_string("engine", SCons))
|
||||
parts.append("Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation")
|
||||
parts.append(path_string("engine", SCons))
|
||||
parts.append("Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation")
|
||||
version = ''.join(parts)
|
||||
|
||||
import SConsOptions
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Script/SConsOptions.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import optparse
|
||||
import re
|
||||
|
@ -596,9 +596,9 @@ def Parser(version):
|
|||
"tree" : '; please use --tree=all instead',
|
||||
}
|
||||
|
||||
debug_options = ["count", "explain", "findlibs",
|
||||
debug_options = ["count", "duplicate", "explain", "findlibs",
|
||||
"includes", "memoizer", "memory", "objects",
|
||||
"pdb", "presub", "stacktrace",
|
||||
"pdb", "prepare", "presub", "stacktrace",
|
||||
"time"] + list(deprecated_debug_options.keys())
|
||||
|
||||
def opt_debug(option, opt, value, parser,
|
||||
|
@ -867,7 +867,7 @@ def Parser(version):
|
|||
sys.stderr.write(msg)
|
||||
|
||||
op.add_option('-l', '--load-average', '--max-load',
|
||||
nargs=1, type="int",
|
||||
nargs=1, type="float",
|
||||
dest="load_average", default=0,
|
||||
action="callback", callback=opt_not_yet,
|
||||
# action="store",
|
||||
|
|
|
@ -6,7 +6,7 @@ files.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ files.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
from __future__ import division
|
||||
|
||||
__revision__ = "src/engine/SCons/Script/SConscript.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Script/SConscript.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons
|
||||
import SCons.Action
|
||||
|
|
|
@ -12,7 +12,7 @@ it goes here.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ it goes here.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Script/__init__.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Script/__init__.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import time
|
||||
start_time = time.time()
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Sig.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
__doc__ = """Place-holder for the old SCons.Sig module hierarchy
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ SCons string substitution.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ SCons string substitution.
|
|||
# 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Subst.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import collections
|
||||
import re
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ interface and the SCons build engine. There are two key classes here:
|
|||
target(s) that it decides need to be evaluated and/or built.
|
||||
"""
|
||||
|
||||
__revision__ = "src/engine/SCons/Taskmaster.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Taskmaster.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
from itertools import chain
|
||||
import operator
|
||||
|
@ -66,6 +66,7 @@ NODE_UP_TO_DATE = SCons.Node.up_to_date
|
|||
NODE_EXECUTED = SCons.Node.executed
|
||||
NODE_FAILED = SCons.Node.failed
|
||||
|
||||
print_prepare = 0 # set by option --debug=prepare
|
||||
|
||||
# A subsystem for recording stats about how different Nodes are handled by
|
||||
# the main Taskmaster loop. There's no external control here (no need for
|
||||
|
@ -161,6 +162,7 @@ class Task(object):
|
|||
unlink underlying files and make all necessary directories before
|
||||
the Action is actually called to build the targets.
|
||||
"""
|
||||
global print_prepare
|
||||
T = self.tm.trace
|
||||
if T: T.write(self.trace_message(u'Task.prepare()', self.node))
|
||||
|
||||
|
@ -186,8 +188,14 @@ class Task(object):
|
|||
executor = self.targets[0].get_executor()
|
||||
executor.prepare()
|
||||
for t in executor.get_action_targets():
|
||||
if print_prepare:
|
||||
print "Preparing target %s..."%t
|
||||
for s in t.side_effects:
|
||||
print "...with side-effect %s..."%s
|
||||
t.prepare()
|
||||
for s in t.side_effects:
|
||||
if print_prepare:
|
||||
print "...Preparing side-effect %s..."%s
|
||||
s.prepare()
|
||||
|
||||
def get_target(self):
|
||||
|
|
|
@ -10,7 +10,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/386asm.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/386asm.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
from SCons.Tool.PharLapCommon import addPharLapPaths
|
||||
import SCons.Util
|
||||
|
|
|
@ -10,7 +10,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/BitKeeper.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/BitKeeper.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Action
|
||||
import SCons.Builder
|
||||
|
|
|
@ -8,7 +8,7 @@ selection method.
|
|||
|
||||
"""
|
||||
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/CVS.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Action
|
||||
import SCons.Builder
|
||||
|
|
|
@ -5,7 +5,7 @@ Stuff for processing Fortran, common to all fortran dialects.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ Stuff for processing Fortran, common to all fortran dialects.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/FortranCommon.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/FortranCommon.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import re
|
||||
import os.path
|
||||
|
@ -231,6 +231,22 @@ def add_f95_to_env(env):
|
|||
DialectAddToEnv(env, "F95", F95Suffixes, F95PPSuffixes,
|
||||
support_module = 1)
|
||||
|
||||
def add_f03_to_env(env):
|
||||
"""Add Builders and construction variables for f03 to an Environment."""
|
||||
try:
|
||||
F03Suffixes = env['F03FILESUFFIXES']
|
||||
except KeyError:
|
||||
F03Suffixes = ['.f03']
|
||||
|
||||
#print "Adding %s to f95 suffixes" % F95Suffixes
|
||||
try:
|
||||
F03PPSuffixes = env['F03PPFILESUFFIXES']
|
||||
except KeyError:
|
||||
F03PPSuffixes = []
|
||||
|
||||
DialectAddToEnv(env, "F03", F03Suffixes, F03PPSuffixes,
|
||||
support_module = 1)
|
||||
|
||||
def add_all_to_env(env):
|
||||
"""Add builders and construction variables for all supported fortran
|
||||
dialects."""
|
||||
|
@ -238,6 +254,7 @@ def add_all_to_env(env):
|
|||
add_f77_to_env(env)
|
||||
add_f90_to_env(env)
|
||||
add_f95_to_env(env)
|
||||
add_f03_to_env(env)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width:4
|
||||
|
|
|
@ -5,7 +5,7 @@ Stuff for processing Java.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ Stuff for processing Java.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/JavaCommon.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/JavaCommon.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import os
|
||||
import os.path
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/MSCommon/__init__.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
__doc__ = """
|
||||
Common functions for Microsoft Visual Studio and Visual C/C++.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/MSCommon/arch.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
__doc__ = """Module to define supported Windows chip architectures.
|
||||
"""
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/MSCommon/common.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
__doc__ = """
|
||||
Common helper functions for working with the Microsoft tool chain.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/MSCommon/netframework.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
__doc__ = """
|
||||
"""
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/MSCommon/sdk.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
__doc__ = """Module to detect the Platform/Windows SDK
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/MSCommon/vc.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
__doc__ = """Module for Visual C/C++ detection and configuration.
|
||||
"""
|
||||
|
@ -128,9 +128,11 @@ def get_host_target(env):
|
|||
|
||||
return (host, target,req_target_platform)
|
||||
|
||||
_VCVER = ["10.0", "9.0", "9.0Exp","8.0", "8.0Exp","7.1", "7.0", "6.0"]
|
||||
_VCVER = ["10.0Exp","10.0", "9.0", "9.0Exp","8.0", "8.0Exp","7.1", "7.0", "6.0"]
|
||||
|
||||
_VCVER_TO_PRODUCT_DIR = {
|
||||
'10.0Exp' : [
|
||||
r'Microsoft\VCExpress\10.0\Setup\VC\ProductDir'],
|
||||
'10.0': [
|
||||
r'Microsoft\VisualStudio\10.0\Setup\VC\ProductDir'],
|
||||
'9.0': [
|
||||
|
@ -324,9 +326,10 @@ def get_default_version(env):
|
|||
installed_vcs = cached_get_installed_vcs()
|
||||
debug('installed_vcs:%s' % installed_vcs)
|
||||
if not installed_vcs:
|
||||
msg = 'No installed VCs'
|
||||
debug('msv %s\n' % repr(msg))
|
||||
SCons.Warnings.warn(SCons.Warnings.VisualCMissingWarning, msg)
|
||||
#msg = 'No installed VCs'
|
||||
#debug('msv %s\n' % repr(msg))
|
||||
#SCons.Warnings.warn(SCons.Warnings.VisualCMissingWarning, msg)
|
||||
debug('msvc_setup_env: No installed VCs')
|
||||
return None
|
||||
msvc_version = installed_vcs[0]
|
||||
debug('msvc_setup_env: using default installed MSVC version %s\n' % repr(msvc_version))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/MSCommon/vs.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
__doc__ = """Module to detect Visual Studio and/or Visual C/C++
|
||||
"""
|
||||
|
@ -211,6 +211,33 @@ SupportedVSList = [
|
|||
# default_dirname='TBD',
|
||||
#),
|
||||
|
||||
# Visual Studio 2010
|
||||
# The batch file we look for is in the VC directory,
|
||||
# so the devenv.com executable is up in ..\..\Common7\IDE.
|
||||
VisualStudio('10.0',
|
||||
sdk_version='6.1',
|
||||
hkeys=[r'Microsoft\VisualStudio\10.0\Setup\VS\ProductDir'],
|
||||
common_tools_var='VS100COMNTOOLS',
|
||||
executable_path=r'Common7\IDE\devenv.com',
|
||||
batch_file_path=r'Common7\Tools\vsvars32.bat',
|
||||
default_dirname='Microsoft Visual Studio 10',
|
||||
supported_arch=['x86', 'amd64'],
|
||||
),
|
||||
|
||||
# Visual C++ 2010 Express Edition
|
||||
# The batch file we look for is in the VC directory,
|
||||
# so the VCExpress.exe executable is up in ..\..\Common7\IDE.
|
||||
VisualStudio('10.0Exp',
|
||||
vc_version='10.0',
|
||||
sdk_version='6.1',
|
||||
hkeys=[r'Microsoft\VCExpress\10.0\Setup\VS\ProductDir'],
|
||||
common_tools_var='VS100COMNTOOLS',
|
||||
executable_path=r'Common7\IDE\VCExpress.exe',
|
||||
batch_file_path=r'Common7\Tools\vsvars32.bat',
|
||||
default_dirname='Microsoft Visual Studio 10',
|
||||
supported_arch=['x86'],
|
||||
),
|
||||
|
||||
# Visual Studio 2008
|
||||
# The batch file we look for is in the VC directory,
|
||||
# so the devenv.com executable is up in ..\..\Common7\IDE.
|
||||
|
|
|
@ -8,7 +8,7 @@ selection method.
|
|||
|
||||
"""
|
||||
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/Perforce.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import os
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ Phar Lap ETS tool chain. Right now, this is linkloc and
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ Phar Lap ETS tool chain. Right now, this is linkloc and
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/PharLapCommon.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/PharLapCommon.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import os
|
||||
import os.path
|
||||
|
|
|
@ -8,7 +8,7 @@ selection method.
|
|||
|
||||
"""
|
||||
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/RCS.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Action
|
||||
import SCons.Builder
|
||||
|
|
|
@ -8,7 +8,7 @@ selection method.
|
|||
|
||||
"""
|
||||
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/SCCS.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Action
|
||||
import SCons.Builder
|
||||
|
|
|
@ -8,7 +8,7 @@ selection method.
|
|||
|
||||
"""
|
||||
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/Subversion.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import os.path
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ tool definition.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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,7 +35,7 @@ tool definition.
|
|||
# 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/__init__.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import imp
|
||||
import sys
|
||||
|
@ -62,7 +62,7 @@ CSuffixes = [".c", ".C", ".cxx", ".cpp", ".c++", ".cc",
|
|||
".h", ".H", ".hxx", ".hpp", ".hh",
|
||||
".F", ".fpp", ".FPP",
|
||||
".m", ".mm",
|
||||
".S", ".spp", ".SPP"]
|
||||
".S", ".spp", ".SPP", ".sx"]
|
||||
|
||||
DSuffixes = ['.d']
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/aixc++.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/aixc++.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import os.path
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/aixcc.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/aixcc.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import os.path
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/aixf77.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/aixf77.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import os.path
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/aixlink.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/aixlink.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import os
|
||||
import os.path
|
||||
|
|
|
@ -9,7 +9,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/applelink.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/applelink.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Util
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/ar.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/ar.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Defaults
|
||||
import SCons.Tool
|
||||
|
|
|
@ -9,7 +9,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/as.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/as.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Defaults
|
||||
import SCons.Tool
|
||||
|
|
|
@ -5,7 +5,7 @@ XXX
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ XXX
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/bcc32.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/bcc32.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import os
|
||||
import os.path
|
||||
|
|
|
@ -8,7 +8,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/c++.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/c++.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import os.path
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/cc.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/cc.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Tool
|
||||
import SCons.Defaults
|
||||
|
|
|
@ -5,7 +5,7 @@ Tool-specific initialization for the Compaq Visual Fortran compiler.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ Tool-specific initialization for the Compaq Visual Fortran compiler.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/cvf.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/cvf.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import fortran
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/default.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/default.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Tool
|
||||
|
||||
|
|
|
@ -6,6 +6,9 @@ Tool-specific initialization for the Digital Mars D compiler.
|
|||
Coded by Andy Friesen (andy@ikagames.com)
|
||||
15 November 2003
|
||||
|
||||
Amended by Russel Winder (russel@russel.org.uk)
|
||||
2010-02-07
|
||||
|
||||
There are a number of problems with this script at this point in time.
|
||||
The one that irritates me the most is the Windows linker setup. The D
|
||||
linker doesn't have a way to add lib paths on the commandline, as far
|
||||
|
@ -32,7 +35,7 @@ Lib tool variables:
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 The SCons Foundation
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining
|
||||
# a copy of this software and associated documentation files (the
|
||||
|
@ -54,7 +57,7 @@ Lib tool variables:
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/dmd.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/dmd.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import os
|
||||
|
||||
|
@ -199,11 +202,25 @@ def generate(env):
|
|||
libs = env['LIBS']
|
||||
except KeyError:
|
||||
libs = []
|
||||
if 'phobos' not in libs and 'gphobos' not in libs:
|
||||
if dc is 'dmd':
|
||||
env.Append(LIBS = ['phobos'])
|
||||
elif dc is 'gdmd':
|
||||
env.Append(LIBS = ['gphobos'])
|
||||
if dc == 'dmd':
|
||||
# TODO: This assumes that the dmd executable is in the
|
||||
# bin directory and that the libraries are in a peer
|
||||
# directory lib. This true of the Digital Mars
|
||||
# distribution but . . .
|
||||
import glob
|
||||
dHome = env.WhereIs(dc).replace('/dmd' , '/..')
|
||||
if glob.glob(dHome + '/lib/*phobos2*'):
|
||||
if 'phobos2' not in libs:
|
||||
env.Append(LIBPATH = [dHome + '/lib'])
|
||||
env.Append(LIBS = ['phobos2'])
|
||||
# TODO: Find out when there will be a
|
||||
# 64-bit version of D.
|
||||
env.Append(LINKFLAGS = ['-m32'])
|
||||
else:
|
||||
if 'phobos' not in libs:
|
||||
env.Append(LIBS = ['phobos'])
|
||||
elif dc is 'gdmd':
|
||||
env.Append(LIBS = ['gphobos'])
|
||||
if 'pthread' not in libs:
|
||||
env.Append(LIBS = ['pthread'])
|
||||
if 'm' not in libs:
|
||||
|
|
|
@ -5,7 +5,7 @@ Common DVI Builder definition for various other Tool modules that use it.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ Common DVI Builder definition for various other Tool modules that use it.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/dvi.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/dvi.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Builder
|
||||
import SCons.Tool
|
||||
|
|
|
@ -9,7 +9,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# 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 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/dvipdf.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Action
|
||||
import SCons.Defaults
|
||||
|
@ -115,6 +115,7 @@ def generate(env):
|
|||
env['PDFCOM'] = ['$DVIPDFCOM']
|
||||
|
||||
def exists(env):
|
||||
SCons.Tool.tex.generate_darwin(env)
|
||||
return env.Detect('dvipdf')
|
||||
|
||||
# Local Variables:
|
||||
|
|
|
@ -9,7 +9,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/dvips.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/dvips.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Action
|
||||
import SCons.Builder
|
||||
|
@ -85,6 +85,7 @@ def generate(env):
|
|||
env['PSSUFFIX'] = '.ps'
|
||||
|
||||
def exists(env):
|
||||
SCons.Tool.tex.generate_darwin(env)
|
||||
return env.Detect('dvips')
|
||||
|
||||
# Local Variables:
|
||||
|
|
63
lib/libv8/scons/engine/SCons/Tool/f03.py
Normal file
63
lib/libv8/scons/engine/SCons/Tool/f03.py
Normal file
|
@ -0,0 +1,63 @@
|
|||
"""engine.SCons.Tool.f03
|
||||
|
||||
Tool-specific initialization for the generic Posix f03 Fortran compiler.
|
||||
|
||||
There normally shouldn't be any need to import this module directly.
|
||||
It will usually be imported through the generic SCons.Tool.Tool()
|
||||
selection method.
|
||||
|
||||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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/f03.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Defaults
|
||||
import SCons.Tool
|
||||
import SCons.Util
|
||||
import fortran
|
||||
from SCons.Tool.FortranCommon import add_all_to_env, add_f03_to_env
|
||||
|
||||
compilers = ['f03']
|
||||
|
||||
def generate(env):
|
||||
add_all_to_env(env)
|
||||
add_f03_to_env(env)
|
||||
|
||||
fcomp = env.Detect(compilers) or 'f03'
|
||||
env['F03'] = fcomp
|
||||
env['SHF03'] = fcomp
|
||||
|
||||
env['FORTRAN'] = fcomp
|
||||
env['SHFORTRAN'] = fcomp
|
||||
|
||||
|
||||
def exists(env):
|
||||
return env.Detect(compilers)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width:4
|
||||
# indent-tabs-mode:nil
|
||||
# End:
|
||||
# vim: set expandtab tabstop=4 shiftwidth=4:
|
|
@ -9,7 +9,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/f77.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/f77.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Defaults
|
||||
import SCons.Scanner.Fortran
|
||||
|
|
|
@ -9,7 +9,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/f90.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/f90.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Defaults
|
||||
import SCons.Scanner.Fortran
|
||||
|
|
|
@ -9,7 +9,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/f95.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/f95.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Defaults
|
||||
import SCons.Tool
|
||||
|
|
|
@ -8,7 +8,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/filesystem.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/filesystem.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons
|
||||
from SCons.Tool.install import copyFunc
|
||||
|
|
|
@ -9,7 +9,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/fortran.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/fortran.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import re
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/g++.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/g++.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import os.path
|
||||
import re
|
||||
|
|
|
@ -9,7 +9,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/g77.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/g77.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import SCons.Util
|
||||
from SCons.Tool.FortranCommon import add_all_to_env, add_f77_to_env
|
||||
|
|
|
@ -9,7 +9,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/gas.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/gas.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
as_module = __import__('as', globals(), locals(), [])
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ selection method.
|
|||
"""
|
||||
|
||||
#
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation
|
||||
# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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 @@ selection method.
|
|||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
|
||||
__revision__ = "src/engine/SCons/Tool/gcc.py 5134 2010/08/16 23:02:40 bdeegan"
|
||||
__revision__ = "src/engine/SCons/Tool/gcc.py 5357 2011/09/09 21:31:03 bdeegan"
|
||||
|
||||
import cc
|
||||
import os
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue