diff options
Diffstat (limited to 'headless/wscript')
-rw-r--r-- | headless/wscript | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/headless/wscript b/headless/wscript new file mode 100644 index 0000000000..be80f9c73b --- /dev/null +++ b/headless/wscript @@ -0,0 +1,99 @@ +#!/usr/bin/env python +from waflib.extras import autowaf as autowaf +from waflib import Options, TaskGen +import waflib.Logs as Logs, waflib.Utils as Utils +import os +import shutil +import sys +import re +import time +from waflib.Task import Task + +# Mandatory variables +top = '.' +out = 'build' + +hardour_sources = [ + 'load_session.cc', + 'misc.cc', +] + +def options(opt): + autowaf.set_options(opt) + +def configure(conf): + conf.load('misc') + conf.load('compiler_cxx') + autowaf.configure(conf) + + +def build(bld): + + VERSION = "%s.%s" % (bld.env['MAJOR'], bld.env['MINOR']) + if bld.is_defined('WINDOWS_VST_SUPPORT') and bld.env['build_target'] != 'mingw': + return + + # just the normal executable version of the GTK GUI + obj = bld (features = 'cxx c cxxprogram') + # this program does not do the whole hidden symbols thing + obj.cxxflags = [ '-fvisibility=default' ] + obj.source = hardour_sources + obj.target = 'hardour-' + bld.env['VERSION'] + obj.includes = ['.'] + + # at this point, "obj" refers to either the normal native executable + # OR the shared library built for use with wine on linux. + + obj.use = [ 'libpbd', + 'libardour', + 'libardour_cp', + 'libtimecode', + 'libmidipp', + ] + + obj.defines = [ + 'VERSIONSTRING="' + bld.env['VERSION'] + '"', + 'DATA_DIR="' + os.path.normpath(bld.env['DATADIR']) + '"', + 'CONFIG_DIR="' + os.path.normpath(bld.env['SYSCONFDIR']) + '"', + 'LOCALEDIR="' + os.path.join(os.path.normpath(bld.env['DATADIR']), 'locale') + '"', + ] + obj.install_path = bld.env['LIBDIR'] + obj.uselib = 'UUID FLAC FONTCONFIG GLIBMM GTHREAD OGG CURL DL' + obj.uselib += ' FFTW3F' + obj.uselib += ' AUDIOUNITS OSX LO ' + obj.uselib += ' TAGLIB ' + + if sys.platform == 'darwin': + obj.uselib += ' AUDIOUNITS OSX' + obj.use += ' libappleutility' + obj.includes += ['../libs'] + + if bld.env['build_target'] == 'mingw': + if bld.env['DEBUG'] == False: + obj.linkflags = ['-mwindows'] + + if bld.is_defined('NEED_INTL'): + obj.linkflags = ' -lintl' + + # Wrappers + + wrapper_subst_dict = { + 'INSTALL_PREFIX' : bld.env['PREFIX'], + 'LIBDIR' : os.path.normpath(bld.env['LIBDIR']), + 'DATADIR' : os.path.normpath(bld.env['DATADIR']), + 'SYSCONFDIR' : os.path.normpath(bld.env['SYSCONFDIR']), + 'LIBS' : 'build/libs', + 'VERSION' : bld.env['VERSION'], + 'EXECUTABLE' : 'build/headless/hardour-' + bld.env['VERSION'] + } + + def set_subst_dict(obj, dict): + for i in dict: + setattr(obj, i, dict[i]) + + obj = bld(features = 'subst', rule= 'chmod 0755 ${TGT}') + obj.source = 'hardev_common.sh.in' + obj.target = 'hardev_common_waf.sh' + obj.chmod = Utils.O755 + obj.dict = wrapper_subst_dict + set_subst_dict(obj, wrapper_subst_dict) |