summaryrefslogtreecommitdiff
path: root/headless/wscript
blob: 30e118ac813af1b74504f6eb3728e3653f9c992e (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
#!/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-' + str (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',
                     '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') + '"',
        ]
    obj.install_path = bld.env['LIBDIR']
    obj.uselib       = 'UUID FLAC FONTCONFIG GLIBMM GIOMM GTHREAD OGG CURL DL XML'
    obj.uselib       += ' AUDIOUNITS OSX'
    obj.uselib       += ' FFTW3F LO TAGLIB LILV RUBBERBAND AUBIO LRDF ARCHIVE VAMPSDK VAMPHOSTSDK'

    if bld.is_defined('HAVE_SUIL'):
        obj.uselib += ' SUIL'

    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'