X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=wscript;h=88e928f12dec710dfb2a72ec54199cbcb0be439d;hp=8c7d33d8a489a25ee42d6411655590c5bf0b2dff;hb=854f2e5bbb7ffb9758b823af87034033033f3cb8;hpb=151894c625e87ab637ec1437e512b0293a887707 diff --git a/wscript b/wscript index 8c7d33d8a..88e928f12 100644 --- a/wscript +++ b/wscript @@ -3,21 +3,21 @@ import os import sys APPNAME = 'dcpomatic' -VERSION = '1.64.4devel' +VERSION = '2.0.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) @@ -33,8 +33,6 @@ def static_ffmpeg(conf): conf.env.STLIB_SWSCALE = ['swscale'] conf.check_cfg(package='libswresample', args='--cflags', uselib_store='SWRESAMPLE', mandatory=True) conf.env.STLIB_SWRESAMPLE = ['swresample'] - conf.check_cfg(package='libpostproc', args='--cflags', uselib_store='POSTPROC', mandatory=True) - conf.env.STLIB_POSTPROC = ['postproc'] def dynamic_ffmpeg(conf): conf.check_cfg(package='libavformat', args='--cflags --libs', uselib_store='AVFORMAT', mandatory=True) @@ -43,17 +41,20 @@ def dynamic_ffmpeg(conf): 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) def static_openjpeg(conf): conf.check_cfg(package='libopenjpeg', args='--cflags', atleast_version='1.5.0', uselib_store='OPENJPEG', mandatory=True) conf.check_cfg(package='libopenjpeg', args='--cflags', max_version='1.5.1', mandatory=True) conf.env.STLIB_OPENJPEG = ['openjpeg'] +def dynamic_openjpeg(conf): + conf.check_cfg(package='libopenjpeg', args='--cflags --libs', atleast_version='1.5.0', uselib_store='OPENJPEG', mandatory=True) + conf.check_cfg(package='libopenjpeg', args='--cflags --libs', max_version='1.5.1', mandatory=True) + def static_dcp(conf, static_boost, static_xmlpp, static_xmlsec, static_ssh): - conf.check_cfg(package='libdcp', atleast_version='0.92', args='--cflags', uselib_store='DCP', mandatory=True) + conf.check_cfg(package='libdcp-1.0', atleast_version='0.92', 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', 'asdcp-libdcp', 'kumu-libdcp'] + conf.env.STLIB_DCP = ['dcp-1.0', 'asdcp-libdcp', 'kumu-libdcp'] conf.env.LIB_DCP = ['glibmm-2.4', 'ssl', 'crypto', 'bz2', 'xslt'] if static_boost: @@ -76,10 +77,8 @@ def static_dcp(conf, static_boost, static_xmlpp, static_xmlsec, static_ssh): 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.check_cfg(package='libdcp-1.0', 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] def dynamic_ssh(conf): @@ -173,7 +172,7 @@ def configure(conf): 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: @@ -191,7 +190,12 @@ def configure(conf): # 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: @@ -217,19 +221,19 @@ def configure(conf): # 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') # @@ -274,6 +278,7 @@ def configure(conf): dynamic_quickmail(conf) dynamic_boost(conf, boost_lib_suffix, boost_thread) dynamic_ffmpeg(conf) + dynamic_openjpeg(conf) dynamic_dcp(conf) dynamic_ssh(conf) @@ -286,6 +291,7 @@ def configure(conf): 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 @@ -293,6 +299,8 @@ def configure(conf): 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='libzip', args='--cflags --libs', uselib_store='ZIP', mandatory=True) + conf.check_cfg(package='pangomm-1.4', args='--cflags --libs', uselib_store='PANGOMM', mandatory=True) + conf.check_cfg(package='cairomm-1.0', args='--cflags --libs', uselib_store='CAIROMM', mandatory=True) conf.check_cc(fragment=""" #include @@ -394,3 +402,6 @@ def pot(bld): def pot_merge(bld): bld.recurse('src') + +def tags(bld): + os.system('etags src/lib/*.cc src/lib/*.h src/wx/*.cc src/wx/*.h src/tools/*.cc src/tools/*.h')