#!/usr/bin/python import os # Configuration variables CONFIG_VERSION = "6.1.3" CONFIG_DEBUG = False CONFIG_TEST_VALGRIND = False CONFIG_TEST_COVERAGE = False CONFIG_TEST_CPPCHECK = False # Set up default environment CONFIG_CCFLAGS = [ "-O2" ] if CONFIG_DEBUG == True: CONFIG_CCFLAGS = [ "-Wall", "-Werror", "-g", "-DCONFIG_DEBUG" ] class OEnvironment(Environment): Debug = False Version = 0 Valgrind = False Coverage = False CppCheck = False def __init__(self, CCFLAGS = CONFIG_CCFLAGS): Environment.__init__(self, CCFLAGS = CCFLAGS) self.Append(CPPPATH = os.path.abspath("include")) self.Append(CXXCOMSTR = "C++ $TARGET") self.Append(LINKCOMSTR = "Linking $TARGET") self.Debug = CONFIG_DEBUG self.Version = CONFIG_VERSION self.Valgrind = CONFIG_TEST_VALGRIND self.Coverage = CONFIG_TEST_COVERAGE self.CppCheck = CONFIG_TEST_CPPCHECK def UsePackage(self, name): self.ParseConfig("pkg-config --cflags --libs %s" % name) env = OEnvironment() test_env = OEnvironment( CONFIG_CCFLAGS + [ "-DCONFIG_TEST" ] ) Export("env", "test_env") include = SConscript("include/Sconscript") core = SConscript("core/Sconscript") gui = SConscript("gui/Sconscript") tests = SConscript("tests/Sconscript") Clean(tests, Glob("*.gcov")) Clean(tests, Glob("tests/*.gcda")) Clean(tests, Glob("tests/*.gcno")) ocarina = env.Program("bin/ocarina", core + gui) Default(ocarina) Clean(ocarina, "bin/") def ocarina_release(target, source, env): o_vers = "ocarina-%s" % CONFIG_VERSION os.popen("git archive --prefix=%s/ -o %s.tar.gz HEAD" % (o_vers, o_vers)) print os.popen("sha1sum %s.tar.gz" % o_vers).read() Command("release", None, ocarina_release) env.Install("/usr/bin", "bin/ocarina") env.Install("/usr/share", "share/ocarina/") env.Install("/usr/share/applications", "share/applications/ocarina.desktop") install = Alias("install", [ "/usr/bin", "/usr/share", "/usr/share/applications" ]) Depends(install, ocarina) Clean(install, "/usr/share/ocarina")