66 lines
1.7 KiB
Python
66 lines
1.7 KiB
Python
#!/usr/bin/python
|
|
import os
|
|
|
|
# Configuration variables
|
|
CONFIG_VERSION = 6.0
|
|
CONFIG_DEBUG = True
|
|
|
|
|
|
# Set up default environment
|
|
CONFIG_ENV = [ "-O2" ]
|
|
if CONFIG_DEBUG == True:
|
|
CONFIG_ENV = [ "-Wall", "-Werror", "-g", "-DCONFIG_DEBUG" ]
|
|
|
|
env = Environment( CCFLAGS = CONFIG_ENV )
|
|
env.Append(CPPPATH = os.path.abspath("include"))
|
|
env.Append(CXXCOMSTR = "C++ $TARGET")
|
|
env.Append(LINKCOMSTR = "Linking $TARGET")
|
|
|
|
|
|
# Class to store configuration data
|
|
class Config:
|
|
# Set up reasonable defaults
|
|
def __init__(self):
|
|
self.VERSION = CONFIG_VERSION
|
|
self.DEBUG = CONFIG_DEBUG
|
|
self.ENV = CONFIG_ENV
|
|
self.DATABASE = False
|
|
self.FILE = False
|
|
self.FILTER = False
|
|
self.GROUP = False
|
|
self.IDLE = False
|
|
self.INDEX = False
|
|
self.TEST = False
|
|
|
|
def package(self, name):
|
|
env.ParseConfig("pkg-config --cflags --libs %s" % name)
|
|
|
|
def reconfigure(self):
|
|
env.Replace( CCFLAGS = self.ENV )
|
|
if self.DATABASE: env.Append( CCFLAGS = [ "-DCONFIG_DATABASE" ])
|
|
if self.FILE: env.Append( CCFLAGS = [ "-DCONFIG_FILE" ])
|
|
if self.FILTER: env.Append( CCFLAGS = [ "-DCONFIG_FILTER" ])
|
|
if self.GROUP: env.Append( CCFLAGS = [ "-DCONFIG_GROUP" ])
|
|
if self.IDLE: env.Append( CCFLAGS = [ "-DCONFIG_IDLE" ])
|
|
if self.INDEX: env.Append( CCFLAGS = [ "-DCONFIG_INDEX" ])
|
|
if self.TEST: env.Append( CCFLAGS = [ "-DCONFIG_TEST" ])
|
|
|
|
def reset(self):
|
|
self.DATABASE = False
|
|
self.FILE = False
|
|
self.FILTER = False
|
|
self.GROUP = False
|
|
self.IDLE = False
|
|
self.INDEX = False
|
|
self.TEST = False
|
|
self.reconfigure()
|
|
|
|
CONFIG = Config()
|
|
Export("env", "CONFIG")
|
|
|
|
|
|
# Import SConscript files
|
|
include = SConscript("include/Sconscript")
|
|
design = SConscript("design/Sconscript")
|
|
tests = SConscript("tests/Sconscript")
|