X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=wscript;h=855de57abaa6d65508c54b0b6d71e70248a050aa;hb=HEAD;hp=dbc8411555075953f02d98afa91bc2ca9f63afd6;hpb=47727a7c80b60a0fd0ce18d8347b14241fc48f97;p=libsub.git diff --git a/wscript b/wscript index dbc8411..855de57 100644 --- a/wscript +++ b/wscript @@ -23,8 +23,8 @@ from waflib import Context APPNAME = 'libsub' -this_version = subprocess.Popen(shlex.split('git tag -l --points-at HEAD'), stdout=subprocess.PIPE).communicate()[0] -last_version = subprocess.Popen(shlex.split('git describe --tags --abbrev=0'), stdout=subprocess.PIPE).communicate()[0] +this_version = subprocess.Popen(shlex.split('git tag -l --points-at HEAD'), stdout=subprocess.PIPE).communicate()[0].decode('UTF-8') +last_version = subprocess.Popen(shlex.split('git describe --tags --abbrev=0'), stdout=subprocess.PIPE).communicate()[0].decode('UTF-8') if this_version == '': VERSION = '%sdevel' % last_version[1:].strip() @@ -75,8 +75,9 @@ except ImportError: def options(opt): opt.load('compiler_cxx') 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 libsub statically and link statically to cxml and dcp') - opt.add_option('--target-windows', action='store_true', default=False, help='set up to do a cross-compile to make a Windows package') + opt.add_option('--static', action='store_true', default=False, help='build libsub statically') + opt.add_option('--target-windows-64', action='store_true', default=False, help='set up to do a cross-compile to make a Windows package 64-bit') + opt.add_option('--target-windows-32', action='store_true', default=False, help='set up to do a cross-compile to make a Windows package 32-bit') opt.add_option('--disable-tests', action='store_true', default=False, help='disable building of tests') def configure(conf): @@ -87,11 +88,12 @@ def configure(conf): conf.env.ENABLE_DEBUG = conf.options.enable_debug conf.env.STATIC = conf.options.static - conf.env.TARGET_WINDOWS = conf.options.target_windows + conf.env.TARGET_WINDOWS_64 = conf.options.target_windows_64 + conf.env.TARGET_WINDOWS_32 = conf.options.target_windows_32 conf.env.DISABLE_TESTS = conf.options.disable_tests conf.env.API_VERSION = API_VERSION - if conf.options.target_windows: + if conf.options.target_windows_64 or conf.options.target_windows_32: conf.env.append_value('CXXFLAGS', '-DLIBSUB_WINDOWS') else: conf.env.append_value('CXXFLAGS', '-DLIBSUB_POSIX') @@ -101,29 +103,19 @@ def configure(conf): else: conf.env.append_value('CXXFLAGS', '-O3') + if not conf.env.TARGET_WINDOWS_64 and not conf.env.TARGET_WINDOWS_32: + conf.env.append_value('LINKFLAGS', '-pthread') + # Disable libxml++ deprecation warnings for now conf.env.append_value('CXXFLAGS', ['-Wno-deprecated-declarations']) conf.check_cfg(package='openssl', args='--cflags --libs', uselib_store='OPENSSL', mandatory=True) - if conf.options.static: - conf.check_cfg(package='libcxml', atleast_version='0.16.0', args='--cflags', uselib_store='CXML', mandatory=True) - conf.env.HAVE_CXML = 1 - conf.env.LIB_CXML = ['glibmm-2.4', 'glib-2.0', 'pcre', 'sigc-2.0', 'rt', 'xml++-2.6', 'xml2', 'pthread', 'lzma', 'dl', 'z'] - conf.env.STLIB_CXML = ['cxml'] - conf.check_cfg(package='libdcp-1.0', atleast_version='1.6.2', args='--cflags', uselib_store='DCP', mandatory=True) - conf.env.HAVE_DCP = 1 - conf.env.STLIB_DCP = ['dcp-1.0', 'asdcp-carl', 'kumu-carl', 'openjp2'] - conf.env.LIB_DCP = ['ssl', 'crypto', 'xmlsec1-openssl', 'xmlsec1'] - else: - conf.check_cfg(package='libcxml', atleast_version='0.16.0', args='--cflags --libs', uselib_store='CXML', mandatory=True) - conf.check_cfg(package='libdcp-1.0', atleast_version='1.6.2', args='--cflags --libs', uselib_store='DCP', mandatory=True) - - conf.env.DEFINES_DCP = [f.replace('\\', '') for f in conf.env.DEFINES_DCP] - boost_lib_suffix = '' - if conf.env.TARGET_WINDOWS: - boost_lib_suffix = '-mt' + if conf.env.TARGET_WINDOWS_64: + boost_lib_suffix = '-mt-x64' + elif conf.env.TARGET_WINDOWS_32: + boost_lib_suffix = '-mt-x32' conf.check_cxx(fragment=""" #include \n @@ -149,8 +141,7 @@ def configure(conf): # Find the icu- libraries on the system as we need to link to them when we look for boost locale. locale_libs = ['boost_locale%s' % boost_lib_suffix, 'boost_system%s' % boost_lib_suffix] for pkg in subprocess.check_output(['pkg-config', '--list-all']).splitlines(): - pkg = pkg.decode('utf-8') - if pkg.startswith("icu"): + if pkg.startswith(b'icu'): for lib in subprocess.check_output(['pkg-config', '--libs-only-l', pkg.split()[0]]).split(): name = lib[2:] if not name in locale_libs: @@ -180,8 +171,10 @@ def configure(conf): def build(bld): create_version_cc(bld, VERSION) - if bld.env.TARGET_WINDOWS: - boost_lib_suffix = '-mt' + if bld.env.TARGET_WINDOWS_64: + boost_lib_suffix = '-mt-x64' + elif bld.env.TARGET_WINDOWS_32: + boost_lib_suffix = '-mt-x32' else: boost_lib_suffix = ''