summaryrefslogtreecommitdiffstats
path: root/SConstruct
diff options
context:
space:
mode:
Diffstat (limited to 'SConstruct')
-rw-r--r--SConstruct72
1 files changed, 72 insertions, 0 deletions
diff --git a/SConstruct b/SConstruct
new file mode 100644
index 0000000..1f05e9c
--- /dev/null
+++ b/SConstruct
@@ -0,0 +1,72 @@
+#!/bin/env python
+# Run scons in this directory to build
+# See INSTALL for build instructions, and COPYING for licensing information.
+
+import sys
+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)
+
+slv2_sources = Split('''
+src/pluginclass.c
+src/pluginclasses.c
+src/query.c
+src/plugininstance.c
+src/value.c
+src/port.c
+src/util.c
+src/pluginguiinstance.c
+src/values.c
+src/plugins.c
+src/world.c
+src/plugin.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' ])