Add -x32/-x64 suffix to boost libraries when building for Windows. win32-crash v0.17.3
authorCarl Hetherington <cth@carlh.net>
Tue, 22 Feb 2022 21:55:33 +0000 (22:55 +0100)
committerCarl Hetherington <cth@carlh.net>
Thu, 24 Feb 2022 19:03:51 +0000 (20:03 +0100)
cscript
wscript

diff --git a/cscript b/cscript
index b440d5511f5f1c01949bf709ebffb1028d23188e..8f95c91a0517cd59bb150676cb523eaec4d9fc0f 100644 (file)
--- a/cscript
+++ b/cscript
@@ -29,7 +29,7 @@ def build(target, options):
             # build as test/tests.cc defines BOOST_TEST_DYN_LINK
             cmd += ' --disable-tests'
     elif target.platform == 'windows':
-        cmd += ' --target-windows'
+        cmd += f' --target-windows-{target.bits}'
 
     target.command(cmd)
     target.command('./waf build install')
diff --git a/wscript b/wscript
index 7504c594a0bc83242650775ae5c2ca74737e733b..4ab8f4c8b1449dcafc665cd55c83c4abc1073b2e 100644 (file)
--- a/wscript
+++ b/wscript
@@ -36,7 +36,8 @@ API_VERSION = '0.0.0'
 
 def options(opt):
     opt.load('compiler_cxx')
-    opt.add_option('--target-windows', action='store_true', default=False, help='set up to do a cross-compile to Windows')
+    opt.add_option('--target-windows-64', action='store_true', default=False, help='set up to do a cross-compile to Windows 64-bit')
+    opt.add_option('--target-windows-32', action='store_true', default=False, help='set up to do a cross-compile to Windows 32-bit')
     opt.add_option('--enable-debug', action='store_true', default=False, help='build with debugging information and without optimisation')
     opt.add_option('--static', action='store_true', default=False, help='build statically')
     opt.add_option('--disable-tests', action='store_true', default=False, help='disable building of tests')
@@ -47,13 +48,13 @@ def configure(conf):
         conf.env.append_value('CXXFLAGS', '-g')
     conf.env.append_value('CXXFLAGS', ['-Wall', '-Wextra', '-O2', '-Wno-deprecated-declarations', '-std=c++11', '-DBOOST_NO_CXX11_SCOPED_ENUMS'])
 
-    conf.env.TARGET_WINDOWS = conf.options.target_windows
+    conf.env.TARGET_WINDOWS = conf.options.target_windows_32 or conf.options.target_windows_64
     conf.env.STATIC = conf.options.static
     conf.env.DISABLE_TESTS = conf.options.disable_tests
     conf.env.API_VERSION = API_VERSION
 
-    if conf.options.target_windows:
-        boost_lib_suffix = '-mt'
+    if conf.env.TARGET_WINDOWS:
+        boost_lib_suffix = '-mt-x32' if conf.options.target_windows_32 else '-mt-x64'
         conf.env.append_value('CXXFLAGS', '-DLIBCXML_WINDOWS')
     else:
         boost_lib_suffix = ''
@@ -73,7 +74,7 @@ def configure(conf):
     if not conf.options.disable_tests:
         conf.check_cxx(fragment="""
                                   #define BOOST_TEST_MODULE Config test\n
-                                 #include <boost/test/unit_test.hpp>\n
+                                  #include <boost/test/unit_test.hpp>\n
                                   int main() {}
                                   """,
                                   msg='Checking for boost unit testing library',