ocarina/config
Anna Schumaker fee08b1f94 database: Begin database code
I've been excited about this!  I think it'll be a better design than
what I had for Ocarina 5.x.

Signed-off-by: Anna Schumaker <schumaker.anna@gmail.com>
2014-04-06 19:56:52 -04:00

54 lines
1.3 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.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.TEST: env.Append( CCFLAGS = "-DCONFIG_TEST" )
def reset(self):
self.DATABASE = False
self.FILE = 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")