From 6c374a1fa54d7b9827500449275e5f454e2be292 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 22 Feb 2022 22:55:33 +0100 Subject: [PATCH] Add -x32/-x64 suffix to boost libraries when building for Windows. --- cscript | 2 +- wscript | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/cscript b/cscript index b440d55..8f95c91 100644 --- 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 7504c59..4ab8f4c 100644 --- 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 \n + #include \n int main() {} """, msg='Checking for boost unit testing library', -- 2.30.2