+ # Library
+ obj = bld(features = 'cxx cxxshlib')
+ obj.source = '''
+ basename.cc
+ base_ui.cc
+ boost_debug.cc
+ cartesian.cc
+ command.cc
+ convert.cc
+ controllable.cc
+ controllable_descriptor.cc
+ clear_dir.cc
+ crossthread.cc
+ cpus.cc
+ debug.cc
+ enumwriter.cc
+ event_loop.cc
+ dmalloc.cc
+ enums.cc
+ epa.cc
+ error.cc
+ filesystem.cc
+ file_manager.cc
+ file_utils.cc
+ fpu.cc
+ id.cc
+ locale_guard.cc
+ malign.cc
+ mountpoint.cc
+ openuri.cc
+ pathscanner.cc
+ pool.cc
+ property_list.cc
+ pthread_utils.cc
+ receiver.cc
+ search_path.cc
+ semutils.cc
+ shortpath.cc
+ signals.cc
+ sndfile_manager.cc
+ stacktrace.cc
+ stateful_diff_command.cc
+ stateful.cc
+ strreplace.cc
+ strsplit.cc
+ textreceiver.cc
+ transmitter.cc
+ undo.cc
+ uuid.cc
+ version.cc
+ whitespace.cc
+ xml++.cc
+ '''
+
+ if bld.is_defined('DEBUG_RT_ALLOC'):
+ obj.source += 'debug_rt_alloc.c'
+
+ obj.export_includes = ['.']
+ obj.includes = ['.']
+ obj.name = 'libpbd'
+ obj.target = 'pbd'
+ obj.uselib = 'GLIBMM SIGCPP XML UUID SNDFILE GIOMM'
+ if sys.platform == 'darwin':
+ TaskGen.task_gen.mappings['.mm'] = TaskGen.task_gen.mappings['.cc']
+ obj.source += 'cocoa_open_uri.mm'
+ obj.uselib += ' OSX'
+ obj.vnum = LIBPBD_LIB_VERSION
+ obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3')
+ obj.defines = ['PACKAGE="' + I18N_PACKAGE + '"']
+
+ if bld.env['build_target'] == 'x86_64':
+ obj.defines += [ 'USE_X86_64_ASM' ]