'stateful.cc',
'strreplace.cc',
'strsplit.cc',
+ 'system_exec.cc',
'textreceiver.cc',
'transmitter.cc',
'undo.cc',
def configure(conf):
conf.load('compiler_cxx')
autowaf.build_version_files(path_prefix+'pbd/version.h', path_prefix+'version.cc',
- 'libpbd', MAJOR, MINOR, MICRO)
+ 'libpbd', MAJOR, MINOR, MICRO, 'LIBPBD_API', 'pbd/libpbd_visibility.h')
autowaf.configure(conf)
autowaf.check_pkg(conf, 'libxml-2.0', uselib_store='XML')
autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0')
# Boost headers
autowaf.check_header(conf, 'cxx', 'boost/shared_ptr.hpp')
autowaf.check_header(conf, 'cxx', 'boost/weak_ptr.hpp')
+ if conf.env['WINDOWS_VST_SUPPORT'] == True and Options.options.dist_target == 'mingw':
+ conf.check(compiler='cxx',
+ lib='ole32',
+ mandatory=True,
+ uselib_store='OLE')
def build(bld):
-
+
# Make signals_generated.h using signals.py
bld(rule = 'python ${SRC} ${TGT}', source = 'pbd/signals.py', target = 'pbd/signals_generated.h')
if bld.is_defined ('INTERNAL_SHARED_LIBS'):
print('BUILD SHARED LIB')
obj = bld.shlib(features = 'cxx cxxshlib', source=libpbd_sources)
+ obj.defines = [ 'LIBPBD_DLL_EXPORTS=1' ]
else:
print('BUILD STATIC LIB')
obj = bld.stlib(features = 'cxx cxxstlib', source=libpbd_sources)
obj.cxxflags = [ '-fPIC' ]
+ obj.cflags = [ '-fPIC' ]
+ obj.defines = []
if bld.is_defined('DEBUG_RT_ALLOC'):
obj.source += 'debug_rt_alloc.c'
obj.uselib += ' OSX'
obj.vnum = LIBPBD_LIB_VERSION
obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
- obj.defines = ['PACKAGE="' + I18N_PACKAGE + '"']
-
+ obj.defines += [ 'PACKAGE="' + I18N_PACKAGE + '"',
+ 'PROGRAM_NAME="' + bld.env['PROGRAM_NAME'] + '"'
+ ]
+
if bld.env['build_target'] == 'x86_64':
obj.defines += [ 'USE_X86_64_ASM' ]
+ if bld.env['build_target'] == 'mingw':
+ obj.source += [ 'windows_special_dirs.cc' ]
+ obj.uselib += ' OLE'
if bld.env['BUILD_TESTS'] and bld.is_defined('HAVE_CPPUNIT'):
# Unit tests
if sys.platform != 'darwin' and bld.env['build_target'] != 'mingw':
testobj.linkflags = ['-lrt']
-
def shutdown():
autowaf.shutdown()