Replace code for finding ControlProtocols/Surface plugins with a portable equivalent.
[ardour.git] / libs / pbd / SConscript
1 # -*- python -*-
2
3 import os
4 import os.path
5 import glob
6
7 Import('env libraries i18n install_prefix')
8
9 pbd = env.Copy()
10
11 domain = 'libpbd'
12
13 pbd.Append(DOMAIN=domain,MAJOR=4,MINOR=1,MICRO=0)
14 pbd.Append(CXXFLAGS="-DPACKAGE=\\\"" + domain + "\\\"")
15 pbd.Append(CXXFLAGS="-D_REENTRANT -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE")
16 pbd.Append(CXXFLAGS="-DLIBSIGC_DISABLE_DEPRECATED")
17 pbd.Append(PACKAGE=domain)
18 pbd.Append(POTFILE=domain + '.pot')
19
20 pbd_files = Split("""
21 basename.cc
22 base_ui.cc
23 command.cc
24 convert.cc
25 copyfile.cc
26 controllable.cc
27 enumwriter.cc
28 dmalloc.cc
29 error.cc
30 filesystem.cc
31 file_utils.cc
32 fpu.cc
33 id.cc
34 mountpoint.cc
35 pathscanner.cc
36 pool.cc
37 pthread_utils.cc
38 receiver.cc
39 search_path.cc
40 shortpath.cc
41 stacktrace.cc
42 stateful.cc
43 strreplace.cc
44 strsplit.cc
45 textreceiver.cc
46 transmitter.cc
47 undo.cc
48 version.cc
49 whitespace.cc
50 xml++.cc
51 """)
52
53 conf = Configure(pbd)
54 if conf.CheckFunc('getmntent'):
55     conf.env.Append(CCFLAGS="-DHAVE_GETMNTENT")
56 if conf.CheckCHeader('execinfo.h'):
57     conf.env.Append(CXXFLAGS="-DHAVE_EXECINFO")
58 pbd = conf.Finish()
59
60 pbd.Merge ([ libraries['sigc2'],
61              libraries['xml'],
62              libraries['glibmm2'],
63              libraries['glib2'] ])
64
65 pbd.VersionBuild(['version.cc','pbd/version.h'], [])
66
67 libpbd = pbd.SharedLibrary('pbd', pbd_files)
68 Default(libpbd)
69
70 mount_env = Environment(CCFLAGS='-DTEST_MOUNTPOINT -Ilibs/pbd')
71 mount_env.Program('mountpoint', 'mountpoint.cc')
72
73 if env['NLS']:
74     i18n (pbd, pbd_files, env)
75
76 env.Alias('install', env.Install(os.path.join(install_prefix, env['LIBDIR'], 'ardour2'), libpbd))
77
78 env.Alias('tarball', env.Distribute (env['DISTTREE'],
79                                      [ 'SConscript', 'i18n.h', 'gettext.h', 'pbd/abstract_ui.cc' ] +
80                                      pbd_files +
81                                      glob.glob('po/*.po') +
82                                      glob.glob('pbd/*.h')))