X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=wscript;h=ddd0e60c4eeb301fcc4a6415c5150e2e8c2c5fe6;hb=ce09a59720d1a34a610f1e33bdbca986f55f401e;hp=515d4973eae986f02ab231e067b55bbd4da1fa98;hpb=f0233eb1e3d6dfd9284d6c5e4865011550e2a0e3;p=dcpomatic.git diff --git a/wscript b/wscript index 515d4973e..ddd0e60c4 100644 --- a/wscript +++ b/wscript @@ -3,7 +3,7 @@ import os import sys APPNAME = 'dcpomatic' -VERSION = '1.00pre' +VERSION = '1.16pre' def options(opt): opt.load('compiler_cxx') @@ -45,7 +45,7 @@ def configure(conf): # Windows-specific if conf.env.TARGET_WINDOWS: - conf.env.append_value('CXXFLAGS', ['-DDCPOMATIC_WINDOWS', '-DWIN32_LEAN_AND_MEAN', '-DBOOST_USE_WINDOWS_H', '-DUNICODE']) + conf.env.append_value('CXXFLAGS', ['-DDCPOMATIC_WINDOWS', '-DWIN32_LEAN_AND_MEAN', '-DBOOST_USE_WINDOWS_H', '-DUNICODE', '-DBOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN']) wxrc = os.popen('wx-config --rescomp').read().split()[1:] conf.env.append_value('WINRCFLAGS', wxrc) if conf.options.enable_debug: @@ -86,7 +86,7 @@ def configure(conf): # Dependencies which are dynamically linked everywhere except --static # Get libs only when we are dynamically linking - conf.check_cfg(package='libdcp', atleast_version='0.65', args=pkg_config_args(conf), uselib_store='DCP', mandatory=True) + conf.check_cfg(package='libdcp', atleast_version='0.81', args=pkg_config_args(conf), uselib_store='DCP', mandatory=True) # Remove erroneous escaping of quotes from xmlsec1 defines conf.env.DEFINES_DCP = [f.replace('\\', '') for f in conf.env.DEFINES_DCP] conf.check_cfg(package='libcxml', atleast_version='0.01', args=pkg_config_args(conf), uselib_store='CXML', mandatory=True) @@ -118,12 +118,26 @@ def configure(conf): conf.env.STLIB_SWSCALE = ['swscale'] conf.env.STLIB_POSTPROC = ['postproc'] conf.env.STLIB_SWRESAMPLE = ['swresample'] + conf.env.STLIB_OPENJPEG = ['openjpeg'] + conf.env.STLIB_QUICKMAIL = ['quickmail'] + else: + conf.check_cxx(fragment=""" + #include + int main(void) { quickmail_initialize (); } + """, + mandatory=True, + msg='Checking for libquickmail', + libpath='/usr/local/lib', + lib=['quickmail', 'curl'], + uselib_store='QUICKMAIL') # Dependencies which are always dynamically linked conf.check_cfg(package='sndfile', args='--cflags --libs', uselib_store='SNDFILE', mandatory=True) conf.check_cfg(package='glib-2.0', args='--cflags --libs', uselib_store='GLIB', mandatory=True) conf.check_cfg(package= '', path=conf.options.magickpp_config, args='--cppflags --cxxflags --libs', uselib_store='MAGICK', mandatory=True) conf.check_cfg(package='libxml++-2.6', args='--cflags --libs', uselib_store='XML++', mandatory=True) + conf.check_cfg(package='libcurl', args='--cflags --libs', uselib_store='CURL', mandatory=True) + conf.check_cfg(package='libzip', args='--cflags --libs', uselib_store='ZIP', mandatory=True) conf.check_cxx(fragment=""" #include \n @@ -216,20 +230,36 @@ def build(bld): bld.add_post_fun(post) +def git_revision(): + if not os.path.exists('.git'): + return None + + cmd = "LANG= git log --abbrev HEAD^..HEAD ." + output = subprocess.Popen(cmd, shell=True, stderr=subprocess.STDOUT, stdout=subprocess.PIPE).communicate()[0].splitlines() + o = output[0].decode('utf-8') + return o.replace("commit ", "")[0:10] + def dist(ctx): + r = git_revision() + if r is not None: + f = open('.git_revision', 'w') + print >>f,r + f.close() + ctx.excl = """ TODO core *~ src/wx/*~ src/lib/*~ builds/*~ doc/manual/*~ src/tools/*~ *.pyc .waf* build .git deps alignment hacks sync *.tar.bz2 *.exe .lock* *build-windows doc/manual/pdf doc/manual/html GRSYMS GRTAGS GSYMS GTAGS """ + def create_version_cc(version, cxx_flags): - if os.path.exists('.git'): - cmd = "LANG= git log --abbrev HEAD^..HEAD ." - output = subprocess.Popen(cmd, shell=True, stderr=subprocess.STDOUT, stdout=subprocess.PIPE).communicate()[0].splitlines() - o = output[0].decode('utf-8') - commit = o.replace ("commit ", "")[0:10] - else: + commit = git_revision() + if commit is None and os.path.exists('.git_revision'): + f = open('.git_revision', 'r') + commit = f.readline().strip() + + if commit is None: commit = 'release' try: