X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=wscript;h=c119367a0cdaba109c5d6acf9da497a23d47950e;hb=50b5f8f9df0439d2d8fa9004e0b4af2f3e1eb44c;hp=fd64c82187eb8db8fdb77745b2bfc17ce4a07ba8;hpb=5edd130eafacda6233df537a76a3c1fe69c7e660;p=libdcp.git diff --git a/wscript b/wscript index fd64c821..c119367a 100644 --- a/wscript +++ b/wscript @@ -3,12 +3,14 @@ import os import lut APPNAME = 'libdcp' -VERSION = '0.30pre' +VERSION = '0.36pre' 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('--enable-debug', action='store_true', default = False, help = 'build with debugging information and without optimisation') + opt.add_option('--static-openjpeg', action='store_true', default = False, help = 'link statically to openjpeg') + opt.add_option('--static-libdcp', action='store_true', default = False, help = 'build libdcp and in-tree dependencies statically') def configure(conf): conf.load('compiler_cxx') @@ -16,6 +18,8 @@ def configure(conf): conf.env.append_value('CXXFLAGS', ['-DLIBDCP_VERSION="%s"' % VERSION]) conf.env.TARGET_WINDOWS = conf.options.target_windows + conf.env.STATIC_OPENJPEG = conf.options.static_openjpeg + conf.env.STATIC_LIBDCP = conf.options.static_libdcp if conf.options.target_windows: conf.env.append_value('CXXFLAGS', '-DLIBDCP_WINDOWS') @@ -24,15 +28,22 @@ def configure(conf): conf.check_cfg(package = 'openssl', args = '--cflags --libs', uselib_store = 'OPENSSL', mandatory = True) conf.check_cfg(package = 'libxml++-2.6', args = '--cflags --libs', uselib_store = 'LIBXML++', mandatory = True) - - conf.check_cc(fragment = """ - #include \n - #include \n - int main () {\n - void* p = (void *) opj_image_create;\n - return 0;\n - } - """, msg = 'Checking for library openjpeg', lib = 'openjpeg', uselib_store = 'OPENJPEG') + conf.check_cfg(package = 'xmlsec1', args = '--cflags --libs', uselib_store = 'XMLSEC1', mandatory = True) + # Remove erroneous escaping of quotes from xmlsec1 defines + conf.env.DEFINES_XMLSEC1 = [f.replace('\\', '') for f in conf.env.DEFINES_XMLSEC1] + + openjpeg_fragment = """ + #include \n + #include \n + int main () {\n + void* p = (void *) opj_image_create;\n + return 0;\n + } + """ + if conf.options.static_openjpeg: + conf.check_cc(fragment = openjpeg_fragment, msg = 'Checking for library openjpeg', stlib = 'openjpeg', uselib_store = 'OPENJPEG') + else: + conf.check_cc(fragment = openjpeg_fragment, msg = 'Checking for library openjpeg', lib = 'openjpeg', uselib_store = 'OPENJPEG') if conf.options.target_windows: boost_lib_suffix = '-mt' @@ -42,7 +53,9 @@ def configure(conf): if conf.options.enable_debug: conf.env.append_value('CXXFLAGS', '-g') else: - conf.env.append_value('CXXFLAGS', '-O3') + # Somewhat experimental use of -O2 rather than -O3 to see if + # Windows builds are any more reliable + conf.env.append_value('CXXFLAGS', '-O2') conf.check_cxx(fragment = """ #include \n @@ -76,7 +89,7 @@ def build(bld): bld(source = 'libdcp.pc.in', version = VERSION, includedir = '%s/include' % bld.env.PREFIX, - libs = "-L${libdir} -ldcp -lkumu-libdcp -lasdcp-libdcp -lboost_system%s" % boost_lib_suffix, + libs = "-L${libdir} -ldcp -lasdcp-libdcp -lkumu-libdcp -lboost_system%s" % boost_lib_suffix, install_path = '${LIBDIR}/pkgconfig') bld.recurse('src') @@ -88,7 +101,7 @@ def build(bld): bld.add_post_fun(post) def dist(ctx): - ctx.excl = 'TODO core *~ .git build .waf* .lock* doc/*~ src/*~ test/ref/*~' + ctx.excl = 'TODO core *~ .git build .waf* .lock* doc/*~ src/*~ test/ref/*~ __pycache__' def create_version_cc(version): if os.path.exists('.git'):