From 859a621dffe8e86f7ebceb168cb15d43db74524f Mon Sep 17 00:00:00 2001 From: Gary Oberbrunner Date: Thu, 3 Mar 2011 12:20:32 +0000 Subject: Applied patch from #2433: support -dylib_file in ParseFlags --- src/CHANGES.txt | 3 +++ src/RELEASE.txt | 2 ++ src/engine/SCons/Environment.py | 3 +++ src/engine/SCons/EnvironmentTests.py | 9 ++++++--- 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'] -- cgit v0.12