BoolOption('AUDIOUNITS', 'Compile with Apple\'s AudioUnit library. (experimental)', 0),
BoolOption('COREAUDIO', 'Compile with Apple\'s CoreAudio library', 0),
BoolOption('GTKOSX', 'Compile for use with GTK-OSX, not GTK-X11', 0),
BoolOption('AUDIOUNITS', 'Compile with Apple\'s AudioUnit library. (experimental)', 0),
BoolOption('COREAUDIO', 'Compile with Apple\'s CoreAudio library', 0),
BoolOption('GTKOSX', 'Compile for use with GTK-OSX, not GTK-X11', 0),
BoolOption('OLDFONTS', 'Old school font sizes', 0),
BoolOption('DEBUG', 'Set to build with debugging information and no optimizations', 0),
BoolOption('STL_DEBUG', 'Set to build with Standard Template Library Debugging', 0),
BoolOption('OLDFONTS', 'Old school font sizes', 0),
BoolOption('DEBUG', 'Set to build with debugging information and no optimizations', 0),
BoolOption('STL_DEBUG', 'Set to build with Standard Template Library Debugging', 0),
BoolOption('NLS', 'Set to turn on i18n support', 1),
PathOption('PREFIX', 'Set the install "prefix"', '/usr/local'),
BoolOption('SURFACES', 'Build support for control surfaces', 1),
BoolOption('NLS', 'Set to turn on i18n support', 1),
PathOption('PREFIX', 'Set the install "prefix"', '/usr/local'),
BoolOption('SURFACES', 'Build support for control surfaces', 1),
BoolOption('SYSLIBS', 'USE AT YOUR OWN RISK: CANCELS ALL SUPPORT FROM ARDOUR AUTHORS: Use existing system versions of various libraries instead of internal ones', 0),
BoolOption('UNIVERSAL', 'Compile as universal binary. Requires that external libraries are already universal.', 0),
BoolOption('VERSIONED', 'Add revision information to ardour/gtk executable name inside the build directory', 0),
BoolOption('SYSLIBS', 'USE AT YOUR OWN RISK: CANCELS ALL SUPPORT FROM ARDOUR AUTHORS: Use existing system versions of various libraries instead of internal ones', 0),
BoolOption('UNIVERSAL', 'Compile as universal binary. Requires that external libraries are already universal.', 0),
BoolOption('VERSIONED', 'Add revision information to ardour/gtk executable name inside the build directory', 0),
BoolOption('LV2', 'Compile with support for LV2 (if slv2 is available)', 1),
BoolOption('GPROFILE', 'Compile with support for gprofile (Developers only)', 0),
BoolOption('FREEDESKTOP', 'Install MIME type, icons and .desktop file as per the freedesktop.org spec (requires xdg-utils and shared-mime-info). "scons uninstall" removes associations in desktop database', 0),
BoolOption('LV2', 'Compile with support for LV2 (if slv2 is available)', 1),
BoolOption('GPROFILE', 'Compile with support for gprofile (Developers only)', 0),
BoolOption('FREEDESKTOP', 'Install MIME type, icons and .desktop file as per the freedesktop.org spec (requires xdg-utils and shared-mime-info). "scons uninstall" removes associations in desktop database', 0),
- BoolOption('TRANZPORT', 'Compile with support for Frontier Designs (if libusb is available)', 1)
+ BoolOption('TRANZPORT', 'Compile with support for Frontier Designs (if libusb is available)', 1),
+ BoolOption('AUBIO', "Use Paul Brossier's aubio library for feature detection (if available)", 1)
+
- text = "#ifndef __ardour_svn_revision_h__\n"
- text += "#define __ardour_svn_revision_h__\n"
- text += "static const char* ardour_svn_revision = \"" + rev + "\";\n";
- text += "#endif\n"
- print '============> writing svn revision info to svn_revision.h\n'
- o = file ('svn_revision.h', 'w')
+ text = "#include <ardour/svn_revision.h>\n"
+ text += "namespace ARDOUR {\n";
+ text += "extern const char* svn_revision = \"" + rev + "\";\n";
+ text += "}\n";
+ print '============> writing svn revision info to libs/ardour/svn_revision.cc\n'
+ o = file ('libs/ardour/svn_revision.cc', 'w')
- print "You cannot use \"scons revision\" on without using a checked out"
- print "copy of the Ardour source code repository"
- sys.exit (-1)
+ if not os.path.exists('libs/ardour/ardour/svn_revision.h'):
+ print "This release of ardour is missing libs/ardour/ardour/svn_revision.h. Blame the packager."
+ sys.exit (-1)
libraries['fftw3'] = LibraryInfo()
libraries['fftw3'].ParseConfig('pkg-config --cflags --libs fftw3')
libraries['fftw3'] = LibraryInfo()
libraries['fftw3'].ParseConfig('pkg-config --cflags --libs fftw3')
libraries['slv2'] = LibraryInfo()
libraries['slv2'].ParseConfig('pkg-config --cflags --libs slv2')
env.Append (CCFLAGS="-DHAVE_LV2")
else:
libraries['slv2'] = LibraryInfo()
libraries['slv2'].ParseConfig('pkg-config --cflags --libs slv2')
env.Append (CCFLAGS="-DHAVE_LV2")
else:
- print 'Building Ardour with LV2 support requires SLV2 >= 0.6.0'
- print 'WARNING: SLV2 not found, or too old. Ardour will be built without LV2 support.'
- print 'Until the 2.4 release, Ardour requires SLV2 out of SVN.'
- print 'Testing would be very much appreciated! svn co http://svn.drobilla.net/lad/slv2'
+ print 'LV2 support is not enabled (SLV2 not found or older than 0.6.0)'
- debug_flags.append ("-DARCH_X86")
- opt_flags.append ("-DARCH_X86")
+ if (re.search ("i[0-9]86", config[config_cpu]) != None):
+ debug_flags.append ("-DARCH_X86")
+ opt_flags.append ("-DARCH_X86")
# force tiger or later, to avoid issues on PPC which defaults
# back to 10.1 if we don't tell it otherwise.
env.Append (CCFLAGS="-DMAC_OS_X_VERSION_MIN_REQUIRED=1040")
# force tiger or later, to avoid issues on PPC which defaults
# back to 10.1 if we don't tell it otherwise.
env.Append (CCFLAGS="-DMAC_OS_X_VERSION_MIN_REQUIRED=1040")
+
+ if env['DIST_TARGET'] == 'leopard':
+ # need this to really build against the 10.4 SDK when building on leopard
+ # ideally this would be configurable, but lets just do that later when we need it
+ env.Append(CCFLAGS="-mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk")
+ env.Append(LINKFLAGS="-mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk")
+
#
# rationale: GTK-Quartz uses jhbuild and installs to /opt/gtk by default.
# All libraries needed should be built against this location
#
# rationale: GTK-Quartz uses jhbuild and installs to /opt/gtk by default.
# All libraries needed should be built against this location
- libinfo.Append(CPPPATH="/opt/gtk/include", LIBPATH="/opt/gtk/lib")
- libinfo.Append(CXXFLAGS="-I/opt/gtk/include", LINKFLAGS="-L/opt/gtk/lib")
- libinfo.Append(CPPPATH="/opt/local/include", LIBPATH="/opt/local/lib")
- libinfo.Append(CXXFLAGS="-I/opt/local/include", LINKFLAGS="-L/opt/local/lib")
+ GTKROOT = os.path.expanduser ('~/gtk/inst')
+ libinfo.Append(CPPPATH= GTKROOT + "/include", LIBPATH= GTKROOT + "/lib")
+ libinfo.Append(CXXFLAGS="-I" + GTKROOT + "/include", LINKFLAGS="-L" + GTKROOT + "/lib")
+ #libinfo.Append(CPPPATH="/opt/local/include", LIBPATH="/opt/local/lib")
+ #libinfo.Append(CXXFLAGS="-I/opt/local/include", LINKFLAGS="-L/opt/local/lib")
+#
+# Check for wiimote dependencies
+
+if env['WIIMOTE']:
+ wiimoteConf = env.Configure ( )
+ if not wiimoteConf.CheckHeader('cwiid.h'):
+ print 'WIIMOTE configured but you are missing libcwiid!'
+ sys.exit(1)
+ if not wiimoteConf.CheckHeader('bluetooth/bluetooth.h'):
+ print 'WIIMOTE configured but you are missing the libbluetooth headers which you need to compile wiimote support!'
+ sys.exit(1)
+ wiimoteConf.Finish()
+
+
libraries['boost'].Append(CPPPATH="/usr/local/include", LIBPATH="/usr/local/lib")
conf = Configure (libraries['boost'])
if conf.CheckHeader ('boost/shared_ptr.hpp', language='CXX') == False:
libraries['boost'].Append(CPPPATH="/usr/local/include", LIBPATH="/usr/local/lib")
conf = Configure (libraries['boost'])
if conf.CheckHeader ('boost/shared_ptr.hpp', language='CXX') == False:
# libraries['flowcanvas'] = LibraryInfo(LIBS='flowcanvas', LIBPATH='#/libs/flowcanvas', CPPPATH='#libs/flowcanvas')
libraries['soundtouch'] = LibraryInfo()
# libraries['flowcanvas'] = LibraryInfo(LIBS='flowcanvas', LIBPATH='#/libs/flowcanvas', CPPPATH='#libs/flowcanvas')
libraries['soundtouch'] = LibraryInfo()
- #libraries['soundtouch'].ParseConfig ('pkg-config --cflags --libs soundtouch-1.0')
- # Comment the previous line and uncomment this for Debian:
- libraries['soundtouch'].ParseConfig ('pkg-config --cflags --libs libSoundTouch')
+ libraries['soundtouch'].ParseConfig ('pkg-config --cflags --libs soundtouch-1.0')
+ # Comment the previous line and uncomment this for old versions of Debian:
+ #libraries['soundtouch'].ParseConfig ('pkg-config --cflags --libs libSoundTouch')
libraries['appleutility'] = LibraryInfo(LIBS='libappleutility',
LIBPATH='#libs/appleutility',
CPPPATH='#libs/appleutility')
coredirs = [
libraries['appleutility'] = LibraryInfo(LIBS='libappleutility',
LIBPATH='#libs/appleutility',
CPPPATH='#libs/appleutility')
coredirs = [
libraries['pangomm'] = LibraryInfo(LIBS='pangomm',
LIBPATH='#libs/gtkmm2/pango',
CPPPATH='#libs/gtkmm2/pango')
libraries['pangomm'] = LibraryInfo(LIBS='pangomm',
LIBPATH='#libs/gtkmm2/pango',
CPPPATH='#libs/gtkmm2/pango')
libraries['atkmm'] = LibraryInfo(LIBS='atkmm',
LIBPATH='#libs/gtkmm2/atk',
CPPPATH='#libs/gtkmm2/atk')
libraries['atkmm'] = LibraryInfo(LIBS='atkmm',
LIBPATH='#libs/gtkmm2/atk',
CPPPATH='#libs/gtkmm2/atk')
+# Which GTK tooltips API
+
+gtktestenv = env.Clone ()
+gtktestenv.Merge ([
+ libraries['gtk2']
+ ])
+
+conf = gtktestenv.Configure ()
+
+if conf.CheckFunc('gtk_widget_set_tooltip_text'):
+ env.Append (CXXFLAGS='-DGTK_NEW_TOOLTIP_API')
+
+conf.Finish ()
+
+
# generate the per-user and system rc files from the same source
sysrcbuild = env.SubstInFile ('ardour_system.rc','ardour.rc.in', SUBST_DICT = subst_dict)
# generate the per-user and system rc files from the same source
sysrcbuild = env.SubstInFile ('ardour_system.rc','ardour.rc.in', SUBST_DICT = subst_dict)
Precious (env['DISTTREE'])
env.Distribute (env['DISTTREE'],
Precious (env['DISTTREE'])
env.Distribute (env['DISTTREE'],
'COPYING', 'PACKAGER_README', 'README',
'ardour.rc.in',
'tools/config.guess',
'COPYING', 'PACKAGER_README', 'README',
'ardour.rc.in',
'tools/config.guess',
env.AddPreAction (env['DISTTREE'], Action ('rm -rf ' + str (File (env['DISTTREE']))))
env.AddPostAction (srcdist, Action ('rm -rf ' + str (File (env['DISTTREE']))))
env.AddPreAction (env['DISTTREE'], Action ('rm -rf ' + str (File (env['DISTTREE']))))
env.AddPostAction (srcdist, Action ('rm -rf ' + str (File (env['DISTTREE']))))