summaryrefslogtreecommitdiff
path: root/test/D
diff options
context:
space:
mode:
authorRussel Winder <russel@winder.org.uk>2017-06-06 19:21:55 +0100
committerRussel Winder <russel@winder.org.uk>2017-06-06 19:21:55 +0100
commitf8eb99d0546ba15dea84e36a7efef83d557fea14 (patch)
tree6bf7b3d2ffc3bf772bef506a96110b9d41374c56 /test/D
parent16695e87439300d3d239345caa6f4afd4ea1b829 (diff)
downloadscons-f8eb99d0546ba15dea84e36a7efef83d557fea14.tar.gz
Update gdc tool and test now that it can deal wth shared object building.
Diffstat (limited to 'test/D')
-rw-r--r--test/D/SharedObjects/Common/common.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/test/D/SharedObjects/Common/common.py b/test/D/SharedObjects/Common/common.py
index 280c6f2e..03223856 100644
--- a/test/D/SharedObjects/Common/common.py
+++ b/test/D/SharedObjects/Common/common.py
@@ -32,6 +32,7 @@ import TestSCons
from SCons.Environment import Base
from os.path import abspath, dirname
+from subprocess import check_output
import sys
sys.path.insert(1, abspath(dirname(__file__) + '/../../Support'))
@@ -46,7 +47,11 @@ def testForTool(tool):
test.skip_test("Required executable for tool '{0}' not found, skipping test.\n".format(tool))
if tool == 'gdc':
- test.skip_test('gdc in GCC distribution does not, as at version 5.3.1, support shared libraries.\n')
+ result = check_output(('gdc', '--version'))
+ version = result.decode().splitlines()[0].split()[3]
+ major, minor, debug = [int(x) for x in version.split('.')]
+ if (major < 6) or (major == 6 and minor < 3):
+ test.skip_test('gdc prior to version 6.0.0 does not support shared libraries.\n')
if tool == 'dmd' and Base()['DC'] == 'gdmd':
test.skip_test('gdmd does not recognize the -shared option so cannot support linking of shared objects.\n')