diff options
author | Russel Winder <russel@winder.org.uk> | 2017-06-20 19:52:32 +0100 |
---|---|---|
committer | Russel Winder <russel@winder.org.uk> | 2017-06-20 19:52:32 +0100 |
commit | af14f9796a0bd561f3ee20db8cd36f8e85c059ff (patch) | |
tree | 64c754aae02b51521040b352ba2a94b4d2954d34 | |
parent | 6278b8158495c2b72480d083de85e6cbbac02e97 (diff) | |
parent | f85f2651e627457d99b88d6b93aaf44b65a5b7c7 (diff) | |
download | scons-af14f9796a0bd561f3ee20db8cd36f8e85c059ff.tar.gz |
Merge in mainline.
-rw-r--r-- | src/engine/SCons/Tool/dmd.py | 4 | ||||
-rw-r--r-- | src/engine/SCons/Tool/gdc.py | 2 | ||||
-rw-r--r-- | src/engine/SCons/Tool/ldc.py | 6 | ||||
-rw-r--r-- | test/D/Issues/2940_Ariovistus/Common/correctLinkOptions.py | 5 | ||||
-rw-r--r-- | test/D/SharedObjects/Common/common.py | 5 | ||||
-rw-r--r-- | test/D/SharedObjects/Image/SConstruct_template | 7 |
6 files changed, 11 insertions, 18 deletions
diff --git a/src/engine/SCons/Tool/dmd.py b/src/engine/SCons/Tool/dmd.py index 1becc142..7c142eb1 100644 --- a/src/engine/SCons/Tool/dmd.py +++ b/src/engine/SCons/Tool/dmd.py @@ -75,7 +75,7 @@ def generate(env): static_obj.add_emitter('.d', SCons.Defaults.StaticObjectEmitter) shared_obj.add_emitter('.d', SCons.Defaults.SharedObjectEmitter) - env['DC'] = env.Detect(['dmd', 'gdmd']) + env['DC'] = env.Detect(['dmd', 'ldmd2', 'gdmd']) or 'dmd' env['DCOM'] = '$DC $_DINCFLAGS $_DVERFLAGS $_DDEBUGFLAGS $_DFLAGS -c -of$TARGET $SOURCES' env['_DINCFLAGS'] = '${_concat(DINCPREFIX, DPATH, DINCSUFFIX, __env__, RDirs, TARGET, SOURCE)}' env['_DVERFLAGS'] = '${_concat(DVERPREFIX, DVERSIONS, DVERSUFFIX, __env__)}' @@ -129,7 +129,7 @@ def generate(env): # __RPATH is set to $_RPATH in the platform specification if that # platform supports it. - env['DRPATHPREFIX'] = '-L-rpath=' + env['DRPATHPREFIX'] = '-L-rpath,' if env['PLATFORM'] == 'darwin' else '-L-rpath=' env['DRPATHSUFFIX'] = '' env['_DRPATH'] = '${_concat(DRPATHPREFIX, RPATH, DRPATHSUFFIX, __env__)}' diff --git a/src/engine/SCons/Tool/gdc.py b/src/engine/SCons/Tool/gdc.py index fc844aad..a8e037ca 100644 --- a/src/engine/SCons/Tool/gdc.py +++ b/src/engine/SCons/Tool/gdc.py @@ -65,7 +65,7 @@ def generate(env): static_obj.add_emitter('.d', SCons.Defaults.StaticObjectEmitter) shared_obj.add_emitter('.d', SCons.Defaults.SharedObjectEmitter) - env['DC'] = env.Detect('gdc') + env['DC'] = env.Detect('gdc') or 'gdc' env['DCOM'] = '$DC $_DINCFLAGS $_DVERFLAGS $_DDEBUGFLAGS $_DFLAGS -c -o $TARGET $SOURCES' env['_DINCFLAGS'] = '${_concat(DINCPREFIX, DPATH, DINCSUFFIX, __env__, RDirs, TARGET, SOURCE)}' env['_DVERFLAGS'] = '${_concat(DVERPREFIX, DVERSIONS, DVERSUFFIX, __env__)}' diff --git a/src/engine/SCons/Tool/ldc.py b/src/engine/SCons/Tool/ldc.py index 8b551fcf..b10bb75a 100644 --- a/src/engine/SCons/Tool/ldc.py +++ b/src/engine/SCons/Tool/ldc.py @@ -70,7 +70,7 @@ def generate(env): static_obj.add_emitter('.d', SCons.Defaults.StaticObjectEmitter) shared_obj.add_emitter('.d', SCons.Defaults.SharedObjectEmitter) - env['DC'] = env.Detect('ldc2') + env['DC'] = env.Detect('ldc2') or 'ldc2' env['DCOM'] = '$DC $_DINCFLAGS $_DVERFLAGS $_DDEBUGFLAGS $_DFLAGS -c -of=$TARGET $SOURCES' env['_DINCFLAGS'] = '${_concat(DINCPREFIX, DPATH, DINCSUFFIX, __env__, RDirs, TARGET, SOURCE)}' env['_DVERFLAGS'] = '${_concat(DVERPREFIX, DVERSIONS, DVERSUFFIX, __env__)}' @@ -105,7 +105,7 @@ def generate(env): env['DSHLINK'] = '$DC' env['DSHLINKFLAGS'] = SCons.Util.CLVar('$DLINKFLAGS -shared -defaultlib=phobos2-ldc') - env['SHDLINKCOM'] = '$DLINK -of=$TARGET $DSHLINKFLAGS $__DSHLIBVERSIONFLAGS $__DRPATH $SOURCES $_DLIBDIRFLAGS $_DLIBFLAGS' + env['SHDLINKCOM'] = '$DLINK -of=$TARGET $DSHLINKFLAGS $__DSHLIBVERSIONFLAGS $__DRPATH $SOURCES $_DLIBDIRFLAGS $_DLIBFLAGS -L-ldruntime-ldc' env['DLIBLINKPREFIX'] = '' if env['PLATFORM'] == 'win32' else '-L-l' env['DLIBLINKSUFFIX'] = '.lib' if env['PLATFORM'] == 'win32' else '' @@ -126,7 +126,7 @@ def generate(env): # __RPATH is set to $_RPATH in the platform specification if that # platform supports it. - env['DRPATHPREFIX'] = '-L-rpath=' + env['DRPATHPREFIX'] = '-L-Wl,-rpath,' if env['PLATFORM'] == 'darwin' else '-L-rpath=' env['DRPATHSUFFIX'] = '' env['_DRPATH'] = '${_concat(DRPATHPREFIX, RPATH, DRPATHSUFFIX, __env__)}' diff --git a/test/D/Issues/2940_Ariovistus/Common/correctLinkOptions.py b/test/D/Issues/2940_Ariovistus/Common/correctLinkOptions.py index 8060adda..5acd26af 100644 --- a/test/D/Issues/2940_Ariovistus/Common/correctLinkOptions.py +++ b/test/D/Issues/2940_Ariovistus/Common/correctLinkOptions.py @@ -50,11 +50,10 @@ def testForTool(tool): libraryname = 'libstuff.so' filename = 'stuff.os' elif platform == 'darwin': + if tool == 'dmd' or tool == 'gdc': + test.skip_test('Dynamic libraries not yet supported by dmd and gdc on OSX.\n') libraryname = 'libstuff.dylib' filename = 'stuff.os' - # As at 2014-09-14, DMD 2.066, LDC master head, and GDC 4.9.1 do not support - # shared libraries on OSX. - test.skip_test('Dynamic libraries not yet supported on OSX.\n') elif platform == 'win32': libraryname = 'stuff.dll' filename = 'stuff.obj' diff --git a/test/D/SharedObjects/Common/common.py b/test/D/SharedObjects/Common/common.py index 03223856..a46ea7e4 100644 --- a/test/D/SharedObjects/Common/common.py +++ b/test/D/SharedObjects/Common/common.py @@ -63,9 +63,6 @@ def testForTool(tool): elif platform == 'darwin': filename = 'code.o' libraryname = 'libanswer.dylib' - # As at 2014-09-14, DMD 2.066, LDC master head, and GDC 4.9.1 do not support - # shared libraries on OSX. - test.skip_test('Dynamic libraries not yet supported on OSX.\n') elif platform == 'win32': filename = 'code.obj' libraryname = 'answer.dll' @@ -75,7 +72,7 @@ def testForTool(tool): test.dir_fixture('Image') test.write('SConstruct', open('SConstruct_template', 'r').read().format(tool)) - if tool == 'dmd': + if Base()['DC'] == 'gdmd': # The gdmd executable in Debian Unstable as at 2012-05-12, version 4.6.3 puts out messages on stderr # that cause inappropriate failure of the tests, so simply ignore them. test.run(stderr=None) diff --git a/test/D/SharedObjects/Image/SConstruct_template b/test/D/SharedObjects/Image/SConstruct_template index cae87139..d263e63d 100644 --- a/test/D/SharedObjects/Image/SConstruct_template +++ b/test/D/SharedObjects/Image/SConstruct_template @@ -1,10 +1,7 @@ # -*- mode:python; coding:utf-8; -*- -import os - environment = Environment( - tools=['{}', 'link']) - -environment['ENV']['HOME'] = os.environ['HOME'] # Hack for gdmd + tools=['{0}', 'link'] +) environment.SharedLibrary('answer', 'code.d') |