#!python (This script must be run with scons) # See INSTALL for build instructions, and COPYING for licensing information. import os print "WARNING: SCons building is experimental" print "WARNING: This should NOT be used to build a system-installed SLV2" print "WARNING: Use ./configure; make; make install" universal_cflags = '-std=c99 -I. -Wextra' debug_cflags = '-O0 -g -DDEBUG' opt_cflags = '-O2 -fomit-frame-pointer -DNDEBUG' sys_cflags = os.environ['CFLAGS'] env = Environment(ENV = {'PATH' : os.environ['PATH'] }) env.SConsignFile() opt = Options(['options.cache']) opt.AddOptions( BoolOption('JACK', 'Build JACK clients', True), BoolOption('DEBUG', 'Debug build', False)) opt.Update(env) opt.Save('options.cache',env) Help(opt.GenerateHelpText(env)) configure = env.Configure() env.ParseConfig('pkg-config --cflags --libs jack') env.ParseConfig('redland-config --cflags --libs') env.Append(CCFLAGS = universal_cflags) if env['DEBUG']: print "Using debug CFLAGS:\t", debug_cflags env.Append(CCFLAGS = debug_cflags) elif sys_cflags: print "Using system CFLAGS:\t", sys_cflags env.Append(CCFLAGS = sys_cflags) else: print "Using default CFLAGS:\t", opt_cflags env.Append(CCFLAGS = opt_cflags) env.Append(CCFLAGS = "-DCONFIG_H_PATH=\\\"" + os.path.abspath(".") + "/config/config.h\\\"") slv2_sources = Split(''' src/plugin.c src/pluginclass.c src/pluginclasses.c src/plugininstance.c src/plugins.c src/pluginui.c src/pluginuis.c src/pluginuiinstance.c src/port.c src/query.c src/util.c src/value.c src/values.c src/world.c ''') env.SharedLibrary('slv2', slv2_sources) # Build against the local version we just built env.Prepend(LIBS = 'slv2', LIBPATH = '.') env.Program('lv2_inspect', [ 'utils/lv2_inspect.c' ]) env.Append(CCFLAGS = '-std=c99 -I.') env.Program('lv2_list', [ 'utils/lv2_list.c' ]) env.Program('ladspa2lv2', [ 'utils/ladspa2lv2.c' ]) if env['JACK']: env.Program('lv2_simple_jack_host', [ 'hosts/lv2_simple_jack_host.c' ]) env.Program('lv2_jack_host', [ 'hosts/lv2_jack_host.c' ])