summaryrefslogtreecommitdiff
path: root/tools/luadevel/wscript
blob: f076e72f56ccaab9322ac984aa62c566be4c068e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
#!/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(
            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 script
    if bld.env['build_target'] != 'mingw':
        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',
                        'libtemporal',
                        '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'

    if bld.env['build_target'] == 'mingw':
        obj.install_path = bld.env['BINDIR']
        obj.target       = 'ardour' + str (bld.env['MAJOR']) + '-lua'
    else:
        obj.install_path = bld.env['DLLDIR']