summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGary Oberbrunner <garyo@oberbrunner.com>2011-03-03 12:20:32 (GMT)
committerGary Oberbrunner <garyo@oberbrunner.com>2011-03-03 12:20:32 (GMT)
commit859a621dffe8e86f7ebceb168cb15d43db74524f (patch)
tree4763b89835ff54aadedf52b0cc19b0f7216e11c0
parentc977df07cbc24b5359087072ee6ac97b01469be3 (diff)
downloadSCons-859a621dffe8e86f7ebceb168cb15d43db74524f.zip
SCons-859a621dffe8e86f7ebceb168cb15d43db74524f.tar.gz
SCons-859a621dffe8e86f7ebceb168cb15d43db74524f.tar.bz2
Applied patch from #2433: support -dylib_file in ParseFlags
-rw-r--r--src/CHANGES.txt3
-rw-r--r--src/RELEASE.txt2
-rw-r--r--src/engine/SCons/Environment.py3
-rw-r--r--src/engine/SCons/EnvironmentTests.py9
4 files changed, 14 insertions, 3 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt
index a10e852..9277765 100644
--- a/src/CHANGES.txt
+++ b/src/CHANGES.txt
@@ -7,6 +7,9 @@
RELEASE 2.1.0.alpha.yyyymmdd - NEW DATE WILL BE INSERTED HERE
+ 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.
diff --git a/src/RELEASE.txt b/src/RELEASE.txt
index 585744c..af2873a 100644
--- a/src/RELEASE.txt
+++ b/src/RELEASE.txt
@@ -80,6 +80,7 @@
IMPROVEMENTS
+ - 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.
@@ -115,6 +116,7 @@
Thanks to
Dirk Baechle,
+ Vincent Beffara,
Jean-François Colson,
Bauke Conijn,
Bill Deegan,
diff --git a/src/engine/SCons/Environment.py b/src/engine/SCons/Environment.py
index 805d0c4..d1f4941 100644
--- a/src/engine/SCons/Environment.py
+++ b/src/engine/SCons/Environment.py
@@ -723,6 +723,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:])
diff --git a/src/engine/SCons/EnvironmentTests.py b/src/engine/SCons/EnvironmentTests.py
index 81461d4..79ba795 100644
--- a/src/engine/SCons/EnvironmentTests.py
+++ b/src/engine/SCons/EnvironmentTests.py
@@ -797,6 +797,7 @@ sys.exit(0)
"-frameworkdir=fwd1 " + \
"-Ffwd2 " + \
"-F fwd3 " + \
+ "-dylib_file foo-dylib " + \
"-pthread " + \
"-fopenmp " + \
"-mno-cygwin -mwindows " + \
@@ -810,7 +811,7 @@ sys.exit(0)
assert d['CCFLAGS'] == ['-X', '-Wa,-as',
'-pthread', '-fopenmp', '-mno-cygwin',
('-arch', 'i386'), ('-isysroot', '/tmp'),
- '+DD64'], d['CCFLAGS']
+ '+DD64'], repr(d['CCFLAGS'])
assert d['CPPDEFINES'] == ['FOO', ['BAR', 'value'], 'BAZ'], d['CPPDEFINES']
assert d['CPPFLAGS'] == ['-Wp,-cpp'], d['CPPFLAGS']
assert d['CPPPATH'] == ['/usr/include/fum',
@@ -823,11 +824,13 @@ sys.exit(0)
'C:\\Program Files\\ASCEND'], d['LIBPATH']
LIBS = list(map(str, d['LIBS']))
assert LIBS == ['xxx', 'yyy', 'ascend'], (d['LIBS'], LIBS)
- assert d['LINKFLAGS'] == ['-Wl,-link', '-pthread', '-fopenmp',
+ assert d['LINKFLAGS'] == ['-Wl,-link',
+ '-dylib_file', 'foo-dylib',
+ '-pthread', '-fopenmp',
'-mno-cygwin', '-mwindows',
('-arch', 'i386'),
('-isysroot', '/tmp'),
- '+DD64'], d['LINKFLAGS']
+ '+DD64'], repr(d['LINKFLAGS'])
assert d['RPATH'] == ['rpath1', 'rpath2', 'rpath3'], d['RPATH']