diff --git a/SConstruct b/SConstruct index 32cb644..650333a 100644 --- a/SConstruct +++ b/SConstruct @@ -6,7 +6,7 @@ # application, then calls the sconscripts for libfluxus and # the fluxus Racket modules -import os, os.path, sys, commands, subprocess +import os, os.path, sys, subprocess MajorVersion = "0" MinorVersion = "19" @@ -225,13 +225,18 @@ if env['PLATFORM'] == 'posix': ["asound", "alsa/asoundlib.h"], ["openal", "AL/al.h"]] +env.Append(ENV={'PATH': ' ' + os.environ['PATH'], }) +env.Append(LIBPATH=ARGUMENTS.get('LIBPATH', '').split(':')) +env.Append(CCFLAGS=' ' + os.environ.get('NIX_CFLAGS_COMPILE','')) +env.Append(CCFLAGS=' -DNULL=0') + ################################################################################ # Make sure we have these libraries availible if not GetOption('clean'): - print '--------------------------------------------------------' - print 'Fluxus: Configuring Build Environment' - print '--------------------------------------------------------' + print('--------------------------------------------------------') + print('Fluxus: Configuring Build Environment') + print('--------------------------------------------------------') # detect ode precision if not GetOption('clean'): try: @@ -240,27 +245,27 @@ if not GetOption('clean'): if isinstance(ode_str[0], str): env.MergeFlags(ode_str[0]) except: - print 'WARNING: unable to run ode-config, cannot detect ODE precision' + print('WARNING: unable to run ode-config, cannot detect ODE precision') conf = Configure(env) # check Racket and OpenAL frameworks on osx if env['PLATFORM'] == 'darwin': if not conf.CheckHeader('scheme.h'): - print "ERROR: 'racket3m' must be installed!" + print("ERROR: 'racket3m' must be installed!") Exit(1) if racket_framework: LibList = filter(lambda x: x[0] != 'racket3m', LibList) # OpenAL should be installed everywhere if not conf.CheckHeader('OpenAL/al.h'): - print "ERROR: 'OpenAL' must be installed!" + print("ERROR: 'OpenAL' must be installed!") Exit(1) # all libraries are required, and some of them require each other, # hence the order is important, and autoadd=1 for (lib,headers) in LibList: if not conf.CheckLibWithHeader(lib, headers, 'C', autoadd = 1): - print "ERROR: '%s' must be installed!" % (lib) + print("ERROR: '%s' must be installed!" % (lib)) Exit(1) if not conf.CheckFunc("dInitODE2"): @@ -334,7 +339,7 @@ if not GetOption('clean'): ]) if raco_status != 0: - print "ERROR: Failed to run command 'raco'" + print("ERROR: Failed to run command 'raco'") Exit(1) @@ -377,8 +382,8 @@ if not GetOption('clean') and static_modules: app_env['LIBS'].remove("pthread") app_env['LIBS'].remove("dl") - app_env['LIBS'].remove("ode") - app_env['LIBS'].remove("sndfile") + app_env['LIBS'].remove("ode") + app_env['LIBS'].remove("sndfile") # now go through the rest of the libs, removing them from # the environment at the same time @@ -425,7 +430,7 @@ SConscript(dirs = build_dirs, if not GetOption('clean'): helpmap_status = subprocess.call(["racket", "makehelpmap.scm"], cwd="docs/helpmap") if helpmap_status != 0: - print "ERROR: Failed to build 'docs/helpmap'" + print("ERROR: Failed to build 'docs/helpmap'") Exit(1) ################################################################################