--- a/SConstruct 2011-04-17 17:57:09 UTC +++ b/SConstruct @@ -20,7 +20,7 @@ BUILD_LOCALE_PATH = BUILD_PATH + 'locale/' BUILD_FLAGS = { 'common' : ['-I#', '-D_GNU_SOURCE', '-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64', '-D_REENTRANT'], 'debug' : ['-g', '-ggdb', '-Wall', '-D_DEBUG'], - 'release' : ['-O3', '-fomit-frame-pointer', '-DNDEBUG'] + 'release' : ['-fomit-frame-pointer', '-DNDEBUG'] } # ---------------------------------------------------------------------- @@ -106,6 +106,7 @@ else: vars.AddVariables( BoolVariable('debug', 'Compile the program with debug information', 0), BoolVariable('release', 'Compile the program with optimizations', 0), + BoolVariable('libnotify', 'Enable notifications through libnotify', 1), BoolVariable('profile', 'Compile the program with profiling information', 0), PathVariable('PREFIX', 'Compile the program with PREFIX as the root for installation', '/usr/local', PathVariable.PathIsDir), ('FAKE_ROOT', 'Make scons install the program under a fake root', '') @@ -131,14 +132,23 @@ if os.environ.has_key('CC'): env['CC'] = os.environ['CC'] if os.environ.has_key('CXXFLAGS'): - env['CPPFLAGS'] = env['CXXFLAGS'] = os.environ['CXXFLAGS'].split() + env['CXXFLAGS'] = os.environ['CXXFLAGS'].split() +if os.environ.has_key('CPPFLAGS'): + env['CPPFLAGS'] = os.environ['CPPFLAGS'].split() + if os.environ.has_key('LDFLAGS'): env['LINKFLAGS'] = os.environ['LDFLAGS'].split() if os.environ.has_key('CFLAGS'): env['CFLAGS'] = os.environ['CFLAGS'].split() +if os.environ.has_key('CPPPATH'): + env['CPPPATH'] = os.environ['CPPPATH'].split() + +if os.environ.has_key('LIBPATH'): + env['LIBPATH'] = os.environ['LIBPATH'].split() + env['CPPDEFINES'] = [] # Initialize as a list so Append doesn't concat strings env.SConsignFile('build/sconf/.sconsign') @@ -185,10 +195,6 @@ conf = env.Configure( if not 'install' in COMMAND_LINE_TARGETS: - if not conf.CheckCXXVersion(env['CXX'], 4, 1): - print 'Compiler version check failed. g++ 4.1 or later is needed' - Exit(1) - if not conf.CheckPKGConfig(): print '\tpkg-config not found.' Exit(1) @@ -256,14 +262,15 @@ if not 'install' in COMMAND_LINE_TARGETS: conf.env.Append(CPPDEFINES = 'HAVE_IFADDRS_H') # TODO: Implement a plugin system so libnotify doesn't have compile-time dependencies - if not conf.CheckPKG('libnotify >= 0.4.1'): - print '\tlibnotify >= 0.4.1 not found, disabling notifications.' - print '\tNote: You might have the lib but not the headers' - else: - conf.env.Append(CPPDEFINES = 'HAVE_LIBNOTIFY') - conf.env.ParseConfig('pkg-config --libs libnotify') - if conf.CheckPKG('libnotify >= 0.7'): - conf.env.Append(CPPDEFINES = 'HAVE_LIBNOTIFY_0_7') + if conf.env.get('libnotify'): + if not conf.CheckPKG('libnotify >= 0.4.1'): + print '\tlibnotify >= 0.4.1 not found, disabling notifications.' + print '\tNote: You might have the lib but not the headers' + else: + conf.env.Append(CPPDEFINES = 'HAVE_LIBNOTIFY') + conf.env.ParseConfig('pkg-config --libs libnotify') + if conf.CheckPKG('libnotify >= 0.7'): + conf.env.Append(CPPDEFINES = 'HAVE_LIBNOTIFY_0_7') conf.CheckBZRRevision()