diff options
author | Mats Wichmann <mats@linux.com> | 2018-11-26 20:38:44 (GMT) |
---|---|---|
committer | Mats Wichmann <mats@linux.com> | 2018-11-26 20:38:44 (GMT) |
commit | 50f4fe43bd90b2440aad13cae7e0fbf48ce96502 (patch) | |
tree | 0955a25a72f99b02dddd2d431a786eae8e7d83e2 /test/Clang | |
parent | e8d4f018e5cb5dd0dd420f356b10b1d4788313e9 (diff) | |
download | SCons-50f4fe43bd90b2440aad13cae7e0fbf48ce96502.zip SCons-50f4fe43bd90b2440aad13cae7e0fbf48ce96502.tar.gz SCons-50f4fe43bd90b2440aad13cae7e0fbf48ce96502.tar.bz2 |
Add correct archiver tool for clang on win32
Signed-off-by: Mats Wichmann <mats@linux.com>
Diffstat (limited to 'test/Clang')
-rw-r--r-- | test/Clang/clang_static_library.py | 20 | ||||
-rw-r--r-- | test/Clang/clangxx_static_library.py | 20 |
2 files changed, 34 insertions, 6 deletions
diff --git a/test/Clang/clang_static_library.py b/test/Clang/clang_static_library.py index 7dedc6f..c5ab668 100644 --- a/test/Clang/clang_static_library.py +++ b/test/Clang/clang_static_library.py @@ -24,6 +24,8 @@ __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" +import sys + import TestSCons _exe = TestSCons._exe @@ -32,11 +34,23 @@ test = TestSCons.TestSCons() if not test.where_is('clang'): test.skip_test("Could not find 'clang', skipping test.\n") +if sys.platform == 'win32': + foo_lib = 'foo.lib' + archiver = 'mslib' + import SCons.Tool.MSCommon as msc + if not msc.msvc_exists(): + foo_lib = 'libfoo.a' + archiver = 'ar' +else: + foo_lib = 'libfoo.a' + archiver = 'ar' + + test.write('SConstruct', """\ DefaultEnvironment(tools=[]) -env = Environment(tools=['mingw','clang', 'ar']) +env = Environment(tools=['mingw','clang', '%s']) env.StaticLibrary('foo', 'foo.c') -""") +""" % archiver) test.write('foo.c', """\ int bar() { @@ -46,7 +60,7 @@ int bar() { test.run() -test.must_exist(test.workpath('libfoo.a')) +test.must_exist(test.workpath(foo_lib)) test.pass_test() diff --git a/test/Clang/clangxx_static_library.py b/test/Clang/clangxx_static_library.py index c768deb..8159eac 100644 --- a/test/Clang/clangxx_static_library.py +++ b/test/Clang/clangxx_static_library.py @@ -24,6 +24,8 @@ __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" +import sys + import TestSCons _exe = TestSCons._exe @@ -32,11 +34,23 @@ test = TestSCons.TestSCons() if not test.where_is('clang'): test.skip_test("Could not find 'clang++', skipping test.\n") +if sys.platform == 'win32': + foo_lib = 'foo.lib' + archiver = 'mslib' + import SCons.Tool.MSCommon as msc + if not msc.msvc_exists(): + foo_lib = 'libfoo.a' + archiver = 'ar' +else: + foo_lib = 'libfoo.a' + archiver = 'ar' + + test.write('SConstruct', """\ DefaultEnvironment(tools=[]) -env = Environment(tools=['mingw','clang++', 'ar']) +env = Environment(tools=['mingw','clang++', '%s']) env.StaticLibrary('foo', 'foo.cpp') -""") +""" % archiver) test.write('foo.cpp', """\ int bar() { @@ -46,7 +60,7 @@ int bar() { test.run() -test.must_exist(test.workpath('libfoo.a')) +test.must_exist(test.workpath(foo_lib)) test.pass_test() |