wscript 4.29 KB
Newer Older
nedko's avatar
nedko committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#! /usr/bin/env python
# encoding: utf-8

example_programs = {
    'jack_freewheel' : 'freewheel.c',
    'jack_connect' : 'connect.c',
    'jack_lsp' : 'lsp.c',
    'jack_metro' : 'metro.c',
    'jack_midiseq' : 'midiseq.c',
    'jack_midisine' : 'midisine.c',
    'jack_showtime' : 'showtime.c',
    'jack_simple_client' : 'simple_client.c',
    'jack_zombie' : 'zombie.c',
    'jack_load' : 'ipload.c',
    'jack_unload' : 'ipunload.c',
    'jack_showtime' : 'showtime.c',
    'jack_alias' : 'alias.c',
    'jack_bufsize' : 'bufsize.c',
    'jack_evmon' : 'evmon.c',
    'jack_monitor_client' : 'monitor_client.c',
moret's avatar
moret committed
21
    'jack_through' : 'through_client.c',
nedko's avatar
nedko committed
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
    }

example_libs = {
    'inprocess' : 'inprocess.c',
    }

def configure(conf):
    e = conf.create_header_configurator()
    e.name = 'sndfile.h'
    e.define = 'HAVE_SNDFILE'
    e.run()

    if conf.is_defined('HAVE_SNDFILE'):
        conf.env['LIB_SNDFILE'] = ['sndfile']

    e = conf.create_header_configurator()
    e.name = 'ncurses.h'
    e.define = 'HAVE_NCURSES'
    e.run()

    if conf.is_defined('HAVE_NCURSES'):
        conf.env['LIB_NCURSES'] = ['ncurses']

    e = conf.create_library_configurator()
    e.name = 'readline'
    e.define = 'HAVE_READLINE'
    e.run()

50
51
    if conf.is_defined('HAVE_READLINE'):
        conf.env['LIB_READLINE'] = ['readline']
nedko's avatar
nedko committed
52
53
54

    conf.env['BUILD_EXAMPLE_CLIENT_TRANSPORT'] = conf.is_defined('HAVE_READLINE') and conf.is_defined('HAVE_NCURSES')

55
    conf.env['BUILD_EXAMPLE_CLIENT_REC'] = conf.is_defined('HAVE_SNDFILE')
nedko's avatar
nedko committed
56
57

def build(bld):
58
59

   
nedko's avatar
nedko committed
60
61
    for example_program, example_program_source in example_programs.items():
        prog = bld.create_obj('cc', 'program')
62
        prog.includes = ['../common/jack', '../common']
nedko's avatar
nedko committed
63
        prog.source = example_program_source
64
65
        if bld.env()['IS_MACOSX']:
            prog.env.append_value("CPPFLAGS", "-mmacosx-version-min=10.4 -arch i386 -arch ppc")
sletz's avatar
sletz committed
66
67
            #prog.env.append_value("LINKFLAGS", "-arch i386 -arch ppc")
            prog.env.append_value("LINKFLAGS", "")
sletz's avatar
sletz committed
68
69
        if bld.env()['IS_LINUX']:
            prog.uselib = 'RT'
nedko's avatar
nedko committed
70
71
        prog.uselib_local = 'clientlib'
        prog.target = example_program
72
73
74
   
    #if bld.env()['BUILD_EXAMPLE_CLIENT_TRANSPORT']
    if bld.env()['BUILD_EXAMPLE_CLIENT_TRANSPORT'] == True and bld.env()['IS_LINUX'] == True:
nedko's avatar
nedko committed
75
        prog = bld.create_obj('cc', 'program')
76
        prog.includes = ['../common/jack', '../common']
nedko's avatar
nedko committed
77
        prog.source = 'transport.c'
78
79
        if bld.env()['IS_MACOSX']:
            prog.env.append_value("CPPFLAGS", "-mmacosx-version-min=10.4 -arch i386 -arch ppc")
sletz's avatar
sletz committed
80
81
            #prog.env.append_value("LINKFLAGS", "-arch i386 -arch ppc")
            prog.env.append_value("LINKFLAGS", "")
sletz's avatar
sletz committed
82
83
84
85
        if bld.env()['IS_LINUX']:
            prog.uselib = 'RT READLINE NCURSES'
        if bld.env()['IS_MACOSX']:
	    prog.uselib = 'READLINE NCURSES'
nedko's avatar
nedko committed
86
87
88
        prog.uselib_local = 'clientlib'
        prog.target = 'jack_transport'

89
    if bld.env()['BUILD_EXAMPLE_CLIENT_REC'] == True:
nedko's avatar
nedko committed
90
        prog = bld.create_obj('cc', 'program')
91
        prog.includes = ['../common/jack', '../common']
nedko's avatar
nedko committed
92
        prog.source = 'capture_client.c'
93
94
        if bld.env()['IS_MACOSX']:
            prog.env.append_value("CPPFLAGS", "-mmacosx-version-min=10.4 -arch i386 -arch ppc")
sletz's avatar
sletz committed
95
96
            #prog.env.append_value("LINKFLAGS", "-arch i386 -arch ppc")
            prog.env.append_value("LINKFLAGS", "")
sletz's avatar
sletz committed
97
98
99
100
        if bld.env()['IS_LINUX']:
            prog.uselib = 'RT SNDFILE'
        if bld.env()['IS_MACOSX']:
            prog.uselib = 'SNDFILE'
nedko's avatar
nedko committed
101
102
103
104
105
106
        prog.uselib_local = 'clientlib'
        prog.target = 'jack_rec'

    for example_lib, example_lib_source in example_libs.items():
        lib = bld.create_obj('cc', 'shlib')
        lib.env['shlib_PATTERN'] = '%s.so'
107
        lib.includes = ['../common/jack', '../common']
nedko's avatar
nedko committed
108
109
        lib.target = example_lib
        lib.source = example_lib_source
110
111
	if bld.env()['IS_MACOSX']:
            lib.env.append_value("CPPFLAGS", "-mmacosx-version-min=10.4 -arch i386 -arch ppc")
sletz's avatar
sletz committed
112
113
            #lib.env.append_value("LINKFLAGS", "-arch i386 -arch ppc")
            lib.env.append_value("LINKFLAGS", "")
sletz's avatar
sletz committed
114
        lib.uselib_local = 'clientlib'
115
116
        lib.inst_var = bld.env()['ADDON_DIR']
        lib.inst_dir = '/'
117
118

    symlink_as('PREFIX', 'jack_connect', 'bin/jack_disconnect')
nedko's avatar
nedko committed
119

120
    install_files('PREFIX', 'bin', 'jack_control', chmod=0755)