X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fmidi%2B%2B2%2Fwscript;h=d4f71124aa5be4c319ae9cf6538f7a48aa36904d;hb=daffec502e634b812b306f6dce60955ed5b2a467;hp=789daa43bca03837a0618162d758447a491279dd;hpb=0c0e689d3c4d61b670198db481839e912407293f;p=ardour.git diff --git a/libs/midi++2/wscript b/libs/midi++2/wscript index 789daa43bc..d4f71124aa 100644 --- a/libs/midi++2/wscript +++ b/libs/midi++2/wscript @@ -1,8 +1,13 @@ #!/usr/bin/env python -import autowaf +from waflib.extras import autowaf as autowaf +import os +import sys # Version of this package (even if built as a child) -LIBMIDIPP_VERSION = '0.0.0' +MAJOR = '2' +MINOR = '1' +MICRO = '1' +LIBMIDIPP_VERSION = "%s.%s.%s" % (MAJOR, MINOR, MICRO) # Library version (UNIX style major, minor, micro) # major increment <=> incompatible changes @@ -15,64 +20,53 @@ APPNAME = 'libmidipp' VERSION = LIBMIDIPP_VERSION # Mandatory variables -srcdir = '.' -blddir = 'build' +top = '.' +out = 'build' -def set_options(opt): - autowaf.set_options(opt) +path_prefix = 'libs/midi++2/' -def configure(conf): - autowaf.configure(conf) - autowaf.check_tool(conf, 'compiler_cxx') - autowaf.check_pkg(conf, 'glib-2.0', uselib_store='GLIB', atleast_version='2.2') - autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.14.0') - autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP', atleast_version='2.0') - autowaf.check_pkg(conf, 'libxml-2.0', uselib_store='XML') - autowaf.check_pkg(conf, 'jack', uselib_store='JACK', atleast_version='0.109.0') - - conf.env.append_value('CXXFLAGS', '-DHAVE_WAFCONFIG_H') - conf.write_config_header('wafconfig.h') +def options(opt): + autowaf.set_options(opt) - # TODO - conf.env['SYSMIDI'] = 'JACK MIDI' - conf.env.append_value('CXXFLAGS', '-DWITH_JACK_MIDI') +def configure(conf): + conf.load('compiler_cxx') + autowaf.build_version_files(path_prefix+'midi++/version.h', path_prefix+'version.cc', + 'midipp', MAJOR, MINOR, MICRO) + autowaf.configure(conf) + autowaf.check_pkg(conf, 'jack', uselib_store='JACK', atleast_version='0.118.2') + 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, 'boost/shared_ptr.hpp') - autowaf.check_header(conf, 'boost/weak_ptr.hpp') + # Boost headers + autowaf.check_header(conf, 'cxx', 'boost/shared_ptr.hpp') + autowaf.check_header(conf, 'cxx', 'boost/weak_ptr.hpp') def build(bld): - # Library - obj = bld.new_task_gen('cxx', 'shlib') - obj.source = ''' - fd_midiport.cc - fifomidi.cc - midi.cc - midichannel.cc - midifactory.cc - midimanager.cc - midiparser.cc - midiport.cc - midnam_patch.cc - mmc.cc - mtc.cc - version.cc - ''' - if bld.env['SYSMIDI'] == 'JACK MIDI': - obj.source += ' jack_midiport.cc ' - elif bld.env['SYSMIDI'] == 'Alsa Sequencer': - obj.source += ' alsa_sequencer_midiport.cc ' - elif bld.env['SYSMIDI'] == 'CoreMIDI': - obj.source += ' coremidi_midiport.cc ' - obj.export_incdirs = ['.'] - obj.includes = ['.'] - obj.name = 'libmidipp' - obj.target = 'midipp' - obj.uselib = 'GLIBMM SIGCPP XML JACK' - obj.uselib_local = 'libpbd libevoral' - obj.vnum = LIBMIDIPP_LIB_VERSION - obj.install_path = '' - -def shutdown(): - autowaf.shutdown() + # Library + obj = bld(features = 'cxx cxxshlib') + obj.source = ''' + midi.cc + channel.cc + ipmidi_port.cc + jack_midi_port.cc + manager.cc + parser.cc + port.cc + midnam_patch.cc + mmc.cc + mtc.cc + version.cc + ''' + # everybody loves JACK + obj.cxxflags = [ '-DWITH_JACK_MIDI' ] + obj.export_includes = ['.'] + obj.includes = ['.', '../surfaces/control_protocol'] + obj.name = 'libmidipp' + obj.target = 'midipp' + obj.uselib = 'GLIBMM SIGCPP XML JACK OSX' + obj.use = 'libpbd libevoral libtimecode' + obj.vnum = LIBMIDIPP_LIB_VERSION + obj.install_path = os.path.join(bld.env['LIBDIR'], 'ardour3') +def shutdown(): + autowaf.shutdown()