X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=wscript;h=c7a3331b872123c9bcecef72946ceb055fd6f613;hb=22df2cce3cb020c0a22e26d28879583dd04401bb;hp=5e40320d1db82e9180c82f29b8f67bcf7517f590;hpb=e4ba29faf92be5251bfe8e6a96fd418d5886082f;p=dcpomatic.git diff --git a/wscript b/wscript index 5e40320d1..c7a3331b8 100644 --- a/wscript +++ b/wscript @@ -27,7 +27,7 @@ import distutils.spawn from waflib import Logs, Context APPNAME = 'dcpomatic' -VERSION = '2.9.8devel' +VERSION = '2.10.2devel' def options(opt): opt.load('compiler_cxx') @@ -86,6 +86,7 @@ def configure(conf): gcc = conf.env['CC_VERSION'] if int(gcc[0]) >= 4 and int(gcc[1]) > 1: conf.env.append_value('CXXFLAGS', ['-Wno-unused-result']) + have_c11 = int(gcc[0]) >= 4 and int(gcc[1]) >= 8 and int(gcc[2]) >= 1 if conf.options.enable_debug: conf.env.append_value('CXXFLAGS', ['-g', '-DDCPOMATIC_DEBUG', '-fno-omit-frame-pointer']) @@ -237,19 +238,43 @@ def configure(conf): # cairomm conf.check_cfg(package='cairomm-1.0', args='--cflags --libs', uselib_store='CAIROMM', mandatory=True) - # See if we have Cairo::ImageSurface::format_stride_for_width + test_cxxflags = '' + if have_c11: + test_cxxflags = '-std=c++11' + + # See if we have Cairo::ImageSurface::format_stride_for_width; Centos 5 does not conf.check_cxx(fragment=""" #include int main(void) { - Cairo::ImageSurface::format_stride_for_width (Cairo::FORMAT_ARGB, 1024);\n + Cairo::ImageSurface::format_stride_for_width (Cairo::FORMAT_ARGB32, 1024);\n return 0; }\n """, mandatory=False, + cxxflags=test_cxxflags, msg='Checking for format_stride_for_width', okmsg='yes', includes=conf.env['INCLUDES_CAIROMM'], + uselib='CAIROMM', define_name='DCPOMATIC_HAVE_FORMAT_STRIDE_FOR_WIDTH') + # See if we have Pango::Layout::show_in_cairo_context; Centos 5 does not + conf.check_cxx(fragment=""" + #include + int main(void) { + Cairo::RefPtr context; + Glib::RefPtr layout; + layout->show_in_cairo_context (context); + return 0; }\n + """, + mandatory=False, + msg='Checking for show_in_cairo_context', + cxxflags=test_cxxflags, + okmsg='yes', + includes=conf.env['INCLUDES_PANGOMM'], + uselib='PANGOMM', + define_name='DCPOMATIC_HAVE_SHOW_IN_CAIRO_CONTEXT') + + # libcxml if conf.options.static_cxml: conf.check_cfg(package='libcxml', atleast_version='0.15.1', args='--cflags', uselib_store='CXML', mandatory=True) @@ -277,21 +302,21 @@ def configure(conf): # libdcp if conf.options.static_dcp: - conf.check_cfg(package='libdcp-1.0', atleast_version='1.3.4', args='--cflags', uselib_store='DCP', mandatory=True) + conf.check_cfg(package='libdcp-1.0', atleast_version='1.4.1', args='--cflags', uselib_store='DCP', mandatory=True) conf.env.DEFINES_DCP = [f.replace('\\', '') for f in conf.env.DEFINES_DCP] conf.env.STLIB_DCP = ['dcp-1.0', 'asdcp-cth', 'kumu-cth', 'openjp2'] conf.env.LIB_DCP = ['glibmm-2.4', 'ssl', 'crypto', 'bz2', 'xslt'] else: - conf.check_cfg(package='libdcp-1.0', atleast_version='1.3.4', args='--cflags --libs', uselib_store='DCP', mandatory=True) + conf.check_cfg(package='libdcp-1.0', atleast_version='1.4.1', args='--cflags --libs', uselib_store='DCP', mandatory=True) conf.env.DEFINES_DCP = [f.replace('\\', '') for f in conf.env.DEFINES_DCP] # libsub if conf.options.static_sub: - conf.check_cfg(package='libsub-1.0', atleast_version='1.1.13', args='--cflags', uselib_store='SUB', mandatory=True) + conf.check_cfg(package='libsub-1.0', atleast_version='1.2.1', args='--cflags', uselib_store='SUB', mandatory=True) conf.env.DEFINES_SUB = [f.replace('\\', '') for f in conf.env.DEFINES_SUB] conf.env.STLIB_SUB = ['sub-1.0'] else: - conf.check_cfg(package='libsub-1.0', atleast_version='1.1.13', args='--cflags --libs', uselib_store='SUB', mandatory=True) + conf.check_cfg(package='libsub-1.0', atleast_version='1.2.1', args='--cflags --libs', uselib_store='SUB', mandatory=True) conf.env.DEFINES_SUB = [f.replace('\\', '') for f in conf.env.DEFINES_SUB] # libxml++ @@ -540,6 +565,8 @@ def git_revision(): cmd = "LANG= git log --abbrev HEAD^..HEAD ." output = subprocess.Popen(cmd, shell=True, stderr=subprocess.STDOUT, stdout=subprocess.PIPE).communicate()[0].splitlines() + if len(output) == 0: + return None o = output[0].decode('utf-8') return o.replace("commit ", "")[0:10]