import sys
APPNAME = 'dcpomatic'
-VERSION = '1.64.3devel'
+VERSION = '1.66.0devel'
def options(opt):
opt.load('compiler_cxx')
opt.load('winres')
- opt.add_option('--enable-debug', action='store_true', default=False, help='build with debugging information and without optimisation')
- opt.add_option('--disable-gui', action='store_true', default=False, help='disable building of GUI tools')
- opt.add_option('--target-windows', action='store_true', default=False, help='set up to do a cross-compile to make a Windows package')
- opt.add_option('--target-debian', action='store_true', default=False, help='set up to compile for a Debian/Ubuntu package')
- opt.add_option('--target-centos', action='store_true', default=False, help='set up to compile for a Centos package')
- opt.add_option('--magickpp-config', action='store', default='Magick++-config', help='path to Magick++-config')
- opt.add_option('--wx-config', action='store', default='wx-config', help='path to wx-config')
+ opt.add_option('--enable-debug', action='store_true', default=False, help='build with debugging information and without optimisation')
+ opt.add_option('--disable-gui', action='store_true', default=False, help='disable building of GUI tools')
+ opt.add_option('--target-windows', action='store_true', default=False, help='set up to do a cross-compile to make a Windows package')
+ opt.add_option('--target-debian', action='store_true', default=False, help='set up to compile for a Debian/Ubuntu package')
+ opt.add_option('--target-centos', action='store_true', default=False, help='set up to compile for a Centos package')
+ opt.add_option('--magickpp-config', action='store', default='Magick++-config', help='path to Magick++-config')
+ opt.add_option('--wx-config', action='store', default='wx-config', help='path to wx-config')
opt.add_option('--address-sanitizer', action='store_true', default=False, help='build with address sanitizer')
- opt.add_option('--install-prefix', default=None, help='prefix of where DCP-o-matic will be installed')
+ opt.add_option('--install-prefix', default=None, help='prefix of where DCP-o-matic will be installed')
def static_ffmpeg(conf):
conf.check_cfg(package='libavformat', args='--cflags', uselib_store='AVFORMAT', mandatory=True)
else:
conf.env.LIB_DCP.append('ssh')
-
-
def dynamic_dcp(conf):
conf.check_cfg(package='libdcp', atleast_version='0.92', args='--cflags --libs', uselib_store='DCP', mandatory=True)
conf.env.DEFINES_DCP = [f.replace('\\', '') for f in conf.env.DEFINES_DCP]
conf.env.INSTALL_PREFIX = conf.options.install_prefix
# Common CXXFLAGS
- conf.env.append_value('CXXFLAGS', ['-D__STDC_CONSTANT_MACROS', '-D__STDC_LIMIT_MACROS', '-msse', '-mfpmath=sse', '-ffast-math', '-fno-strict-aliasing',
+ conf.env.append_value('CXXFLAGS', ['-D__STDC_CONSTANT_MACROS', '-D__STDC_LIMIT_MACROS', '-msse', '-ffast-math', '-fno-strict-aliasing',
'-Wall', '-Wno-attributes', '-Wextra', '-D_FILE_OFFSET_BITS=64'])
if conf.options.enable_debug:
# Windows
if conf.env.TARGET_WINDOWS:
- conf.env.append_value('CXXFLAGS', ['-DDCPOMATIC_WINDOWS', '-DWIN32_LEAN_AND_MEAN', '-DBOOST_USE_WINDOWS_H', '-DUNICODE', '-DBOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN'])
+ conf.env.append_value('CXXFLAGS', '-DDCPOMATIC_WINDOWS')
+ conf.env.append_value('CXXFLAGS', '-DWIN32_LEAN_AND_MEAN')
+ conf.env.append_value('CXXFLAGS', '-DBOOST_USE_WINDOWS_H')
+ conf.env.append_value('CXXFLAGS', '-DUNICODE')
+ conf.env.append_value('CXXFLAGS', '-DBOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN')
+ conf.env.append_value('CXXFLAGS', '-mfpmath=sse')
wxrc = os.popen('wx-config --rescomp').read().split()[1:]
conf.env.append_value('WINRCFLAGS', wxrc)
if conf.options.enable_debug:
# Linux
if conf.env.TARGET_LINUX:
+ conf.env.append_value('CXXFLAGS', '-mfpmath=sse')
conf.env.append_value('CXXFLAGS', '-DDCPOMATIC_LINUX')
if conf.env.TARGET_DEBIAN:
# libxml2 seems to be linked against this on Ubuntu but it doesn't mention it in its .pc file
conf.check_cfg(package='liblzma', args='--cflags --libs', uselib_store='LZMA', mandatory=True)
- if not conf.env.DISABLE_GUI:
- if conf.env.TARGET_DEBIAN or conf.env.TARGET_CENTOS:
- conf.check_cfg(package='gtk+-2.0', args='--cflags --libs', uselib_store='GTK', mandatory=True)
+ if not conf.env.DISABLE_GUI and conf.env.TARGET_LINUX:
+ conf.check_cfg(package='gtk+-2.0', args='--cflags --libs', uselib_store='GTK', mandatory=True)
# OSX
if conf.env.TARGET_OSX:
- conf.env.append_value('CXXFLAGS', '-DDCPOMATIC_OSX')
+ conf.env.append_value('CXXFLAGS', ['-DDCPOMATIC_OSX', '-Wno-unused-function', '-Wno-unused-parameter'])
conf.env.append_value('LINKFLAGS', '-headerpad_max_install_names')
#
dynamic_boost(conf, boost_lib_suffix, boost_thread)
dynamic_ffmpeg(conf)
dynamic_dcp(conf)
+ dynamic_openjpeg(conf)
dynamic_ssh(conf)
# Dependencies which are always dynamically linked