from waflib import Logs
APPNAME = 'dcpomatic'
-VERSION = '2.1.12devel'
+VERSION = '2.4.5devel'
def options(opt):
opt.load('compiler_cxx')
'-D__STDC_LIMIT_MACROS',
'-D__STDC_FORMAT_MACROS',
'-msse',
- '-ffast-math',
'-fno-strict-aliasing',
'-Wall',
'-Wno-attributes',
else:
conf.check_cfg(package='libcurl', args='--cflags --libs', uselib_store='CURL', mandatory=True)
+ # libicu
+ if conf.check_cfg(package='icu-i18n', args='--cflags --libs', uselib_store='ICU', mandatory=False) is None:
+ if conf.check_cfg(package='icu', args='--cflags --libs', uselib_store='ICU', mandatory=False) is None:
+ conf.check_cxx(fragment="""
+ #include <unicode/ucsdet.h>
+ int main(void) {
+ UErrorCode status = U_ZERO_ERROR;
+ UCharsetDetector* detector = ucsdet_open (&status);
+ return 0; }\n
+ """,
+ mandatory=True,
+ msg='Checking for libicu',
+ okmsg='yes',
+ libpath=['/usr/local/lib', '/usr/lib', '/usr/lib/x86_64-linux-gnu'],
+ lib=['icuio', 'icui18n', 'icudata', 'icuuc'],
+ uselib_store='ICU')
# libsndfile
conf.check_cfg(package='sndfile', args='--cflags --libs', uselib_store='SNDFILE', mandatory=True)
+ # libsamplerate
+ conf.check_cfg(package='samplerate', args='--cflags --libs', uselib_store='SAMPLERATE', mandatory=True)
+
# glib
conf.check_cfg(package='glib-2.0', args='--cflags --libs', uselib_store='GLIB', mandatory=True)
# libzip
conf.check_cfg(package='libzip', args='--cflags --libs', uselib_store='ZIP', mandatory=True)
+ # fontconfig
+ conf.check_cfg(package='fontconfig', args='--cflags --libs', uselib_store='FONTCONFIG', mandatory=True)
+
# pangomm
conf.check_cfg(package='pangomm-1.4', args='--cflags --libs', uselib_store='PANGOMM', mandatory=True)
# libcxml
if conf.options.static_cxml:
- conf.check_cfg(package='libcxml', atleast_version='0.08', args='--cflags', uselib_store='CXML', mandatory=True)
+ conf.check_cfg(package='libcxml', atleast_version='0.12.0', args='--cflags', uselib_store='CXML', mandatory=True)
conf.env.STLIB_CXML = ['cxml']
else:
- conf.check_cfg(package='libcxml', atleast_version='0.08', args='--cflags --libs', uselib_store='CXML', mandatory=True)
+ conf.check_cfg(package='libcxml', atleast_version='0.12.0', args='--cflags --libs', uselib_store='CXML', mandatory=True)
# libssh
if conf.options.static_ssh:
# libdcp
if conf.options.static_dcp:
- conf.check_cfg(package='libdcp-1.0', atleast_version='1.1.0', args='--cflags', uselib_store='DCP', mandatory=True)
+ conf.check_cfg(package='libdcp-1.0', atleast_version='1.2.4', 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-libdcp-1.0', 'kumu-libdcp-1.0']
conf.env.LIB_DCP = ['glibmm-2.4', 'ssl', 'crypto', 'bz2', 'xslt']
else:
- conf.check_cfg(package='libdcp-1.0', atleast_version='1.1.0', args='--cflags --libs', uselib_store='DCP', mandatory=True)
+ conf.check_cfg(package='libdcp-1.0', atleast_version='1.2.4', 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.0', args='--cflags', uselib_store='DCP', mandatory=True)
+ conf.check_cfg(package='libsub-1.0', atleast_version='1.1.5', 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.0', args='--cflags --libs', uselib_store='DCP', mandatory=True)
+ conf.check_cfg(package='libsub-1.0', atleast_version='1.1.5', args='--cflags --libs', uselib_store='SUB', mandatory=True)
conf.env.DEFINES_SUB = [f.replace('\\', '') for f in conf.env.DEFINES_SUB]
# libxml++
if conf.options.static_xmlpp:
conf.env.STLIB_XMLPP = ['xml++-2.6']
+ conf.env.LIB_XMLPP = ['xml2']
else:
conf.check_cfg(package='libxml++-2.6', args='--cflags --libs', uselib_store='XMLPP', mandatory=True)
# FFmpeg
if conf.options.static_ffmpeg:
- names = ['avformat', 'avfilter', 'avcodec', 'avutil', 'swscale', 'swresample', 'postproc']
+ names = ['avformat', 'avfilter', 'avcodec', 'avutil', 'swscale', 'postproc']
for name in names:
static = subprocess.Popen(shlex.split('pkg-config --static --libs lib%s' % name), stdout=subprocess.PIPE).communicate()[0]
libs = []
conf.env['LIB_%s' % name.upper()] = libs
conf.env['STLIB_%s' % name.upper()] = stlibs
- conf.env['INCLUDE_%s' % name.upper()] = include
+ conf.env['INCLUDES_%s' % name.upper()] = include
conf.env['LIBPATH_%s' % name.upper()] = libpath
else:
conf.check_cfg(package='libavformat', args='--cflags --libs', uselib_store='AVFORMAT', mandatory=True)
conf.check_cfg(package='libavcodec', args='--cflags --libs', uselib_store='AVCODEC', mandatory=True)
conf.check_cfg(package='libavutil', args='--cflags --libs', uselib_store='AVUTIL', mandatory=True)
conf.check_cfg(package='libswscale', args='--cflags --libs', uselib_store='SWSCALE', mandatory=True)
- conf.check_cfg(package='libswresample', args='--cflags --libs', uselib_store='SWRESAMPLE', mandatory=True)
conf.check_cfg(package='libpostproc', args='--cflags --libs', uselib_store='POSTPROC', mandatory=True)
# Boost
conf.env.STLIB_BOOST_DATETIME = ['boost_date_time%s' % boost_lib_suffix, 'boost_system%s' % boost_lib_suffix]
conf.env.STLIB_BOOST_SIGNALS2 = ['boost_signals2']
conf.env.STLIB_BOOST_SYSTEM = ['boost_system']
+ conf.env.STLIB_BOOST_REGEX = ['boost_regex']
else:
conf.check_cxx(fragment="""
#include <boost/version.hpp>\n
msg='Checking for boost signals2 library',
uselib_store='BOOST_SIGNALS2')
+ conf.check_cxx(fragment="""
+ #include <boost/regex.hpp>\n
+ int main() { boost::regex re ("foo"); }\n
+ """,
+ msg='Checking for boost regex library',
+ lib=['boost_regex%s' % boost_lib_suffix],
+ uselib_store='BOOST_REGEX')
+
# Other stuff
conf.find_program('msgfmt', var='MSGFMT')
bld.recurse('platform/osx')
for r in ['22x22', '32x32', '48x48', '64x64', '128x128']:
- bld.install_files('${PREFIX}/share/icons/hicolor/%s/apps' % r, 'icons/%s/dcpomatic2.png' % r)
+ bld.install_files('${PREFIX}/share/icons/hicolor/%s/apps' % r, 'graphics/%s/dcpomatic2.png' % r)
if not bld.env.TARGET_WINDOWS:
- bld.install_files('${PREFIX}/share/dcpomatic2', 'icons/taskbar_icon.png')
+ bld.install_files('${PREFIX}/share/dcpomatic2', 'graphics/taskbar_icon.png')
+ bld.install_files('${PREFIX}/share/dcpomatic2', 'graphics/splash.png')
bld.install_files('${PREFIX}/share/dcpomatic2', 'LiberationSans-Regular.ttf')
bld.add_post_fun(post)