X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=wscript;h=ab83a0fd32e5c6a14df36f334175af1e2acd879f;hb=8429cf630b45c70b859f57a91e90892269606e75;hp=9be9d1426345fd6404e6b9a8fabbcfbc66f00411;hpb=30df94bc9c692b62ad640e250a1bd7d2e48e6f5d;p=dcpomatic.git diff --git a/wscript b/wscript index 9be9d1426..ab83a0fd3 100644 --- a/wscript +++ b/wscript @@ -3,7 +3,7 @@ import os import sys APPNAME = 'dcpomatic' -VERSION = '1.00pre' +VERSION = '1.28pre' def options(opt): opt.load('compiler_cxx') @@ -45,17 +45,18 @@ 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: conf.env.append_value('CXXFLAGS', ['-mconsole']) conf.env.append_value('LINKFLAGS', ['-mconsole']) - conf.check(lib = 'ws2_32', uselib_store = 'WINSOCK2', msg = "Checking for library winsock2") - conf.check(lib = 'bfd', uselib_store = 'BFD', msg = "Checking for library bfd") - conf.check(lib = 'dbghelp', uselib_store = 'DBGHELP', msg = "Checking for library dbghelp") - conf.check(lib = 'iberty', uselib_store = 'IBERTY', msg = "Checking for library iberty") - conf.check(lib = 'shlwapi', uselib_store = 'SHLWAPI', msg = "Checking for library shlwapi") + conf.check(lib='ws2_32', uselib_store='WINSOCK2', msg="Checking for library winsock2") + conf.check(lib='bfd', uselib_store='BFD', msg="Checking for library bfd") + conf.check(lib='dbghelp', uselib_store='DBGHELP', msg="Checking for library dbghelp") + conf.check(lib='iberty', uselib_store='IBERTY', msg="Checking for library iberty") + conf.check(lib='shlwapi', uselib_store='SHLWAPI', msg="Checking for library shlwapi") + conf.check(lib='mswsock', uselib_store='MSWSOCK', msg="Checking for library mswsock") boost_lib_suffix = '-mt' boost_thread = 'boost_thread_win32-mt' @@ -86,7 +87,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.67', 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 +119,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 +231,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: