# SConstruct build file. See http://www.scons.org for details.
import os
+class ConfigHeader:
+ def __init__(self):
+ self.defines = { }
+ self.prefix = ""
+ self.postfix = ""
+
+ def SetPrefix(self, prefix):
+ self.prefix = prefix
+
+ def SetPostfix(self, postfix):
+ self.postfix = postfix
+
+ def Define(self, name, value = ""):
+ self.defines[name] = value
+
+ def Save(self, filename):
+ file = open(filename, 'w')
+ file.write("/* %s. Generated by SConstruct */\n" % (filename))
+ file.write("\n")
+ file.write(self.prefix + "\n")
+ for key, value in self.defines.iteritems():
+ file.write("#define %s \"%s\"\n" % (key, value))
+ file.write(self.postfix + "\n")
+ file.close()
+
def Glob(dirs, pattern = '*' ):
import os, fnmatch
files = []
context.Result(ret)
return ret
+# Package options
+PACKAGE_NAME = "SuperTux"
+PACKAGE_VERSION = "0.2-cvs"
+PACKAGE_BUGREPORT = "supertux-devel@lists.sourceforge.net"
+PACKAGE = PACKAGE_NAME.lower()
+PACKAGE_STRING = PACKAGE_NAME + " " + PACKAGE_VERSION
+# User configurable options
opts = Options('build_config.py')
opts.Add('CXX', 'The C++ compiler', 'g++')
opts.Add('CXXFLAGS', 'Additional C++ compiler flags', '')
env = Environment(options = opts)
-if not os.path.exists("build_config.py"):
- print "build_config.py doesn't exist - Generating new build config..."
+# Create build_config.py and config.h
+if not os.path.exists("build_config.py") or not os.path.exists("config.h"):
+ print "build_config.py or config.h don't exist - Generating new build config..."
+
+ header = ConfigHeader()
+ header.Define("PACKAGE", PACKAGE)
+ header.Define("PACKAGE_NAME", PACKAGE_NAME)
+ header.Define("PACKAGE_VERSION", PACKAGE_VERSION)
+ header.Define("PACKAGE_BUGREPORT", PACKAGE_BUGREPORT)
+ header.Define("PACKAGE_STRING", PACKAGE_STRING)
conf = Configure(env, custom_tests = {
'CheckSDLConfig' : CheckSDLConfig
})
-
if not conf.CheckSDLConfig('1.2.4'):
print "Couldn't find libSDL >= 1.2.4"
Exit(1)
{'DATA_PREFIX':"'\"" + env['PREFIX'] + "/share/supertux\"'" ,
'LOCALEDIR' :"'\"" + env['PREFIX'] + "/locales\"'"})
opts.Save("build_config.py", env)
+ header.Save("config.h")
else:
print "Using build_config.py"
-
if env['VARIANT'] == "optimize":
env.Append(CXXFLAGS = "-O2 -g -Wall")