13
0
livetrax/tools/luadevel/wscript
Robin Gareus 8002b2d26e special case luabridge for windows/MSVC
luabridge uses static fn addresses to identify classes.
Windows uses different addresses for *identical* static functions
in libardour.dll and ardour.exe

This solves the issue by moving the all functions from a
header-only implementation into libardour.
2016-04-11 22:19:25 +02:00

94 lines
3.0 KiB
Python
Executable File

#!/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
top = '.'
out = 'build'
def options(opt):
autowaf.set_options(opt)
def configure(conf):
conf.load('misc')
conf.load('compiler_cxx')
conf.check_cc(function_name='readline',
header_name='stdio.h readline/readline.h',
lib='readline',
uselib_store='READLINE',
mandatory=False)
autowaf.configure(conf)
def build(bld):
VERSION = "%s.%s" % (bld.env['MAJOR'], bld.env['MINOR'])
if not bld.is_defined('HAVE_READLINE'):
return;
# no wine
if bld.is_defined('WINDOWS_VST_SUPPORT') and bld.env['build_target'] != 'mingw':
return
if bld.env['build_target'] != 'mingw':
# TEST/DEVEL TOOL #######################
obj = bld (features = 'cxx c cxxprogram')
obj.source = 'devel.cc'
obj.target = 'devel'
obj.uselib = ['SIGCPP', 'READLINE']
obj.use = ['liblua']
obj.install_path = None
#########################################
# commandline luasession wrapper
obj = bld(features = 'subst')
obj.source = 'ardour-lua.sh.in'
obj.target = 'ardour' + str (bld.env['MAJOR']) + '-lua'
obj.chmod = Utils.O755
obj.install_path = bld.env['BINDIR']
obj.LIBDIR = os.path.normpath(bld.env['DLLDIR'])
obj.DATADIR = os.path.normpath(bld.env['DATADIR'])
obj.CONFDIR = os.path.normpath(bld.env['CONFDIR'])
# commandline luasession
obj = bld (features = 'cxx c cxxprogram')
obj.source = 'luasession.cc'
obj.target = 'luasession'
obj.includes = ['../libs']
obj.use = ['liblua'
'libpbd',
'libardour',
'libardour_cp',
'libtimecode',
'libmidipp',
]
obj.defines = [
'VERSIONSTRING="' + str(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') + '"',
'PACKAGE="' + "ARDOURUTILS" + '"',
]
obj.uselib = 'UUID FLAC FONTCONFIG GLIBMM GTHREAD OGG CURL DL XML'
obj.uselib += ' FFTW3F'
obj.uselib += ' AUDIOUNITS OSX LO '
obj.uselib += ' TAGLIB '
obj.uselib += ' READLINE '
if sys.platform == 'darwin':
obj.uselib += ' AUDIOUNITS OSX'
obj.use += ' libappleutility'
#if bld.env['build_target'] == 'mingw':
# if bld.env['DEBUG'] == False:
# obj.linkflags = ['-mwindows']
if bld.is_defined('NEED_INTL'):
obj.linkflags = ' -lintl'
obj.install_path = bld.env['DLLDIR']