--- SConstruct.orig	2011-04-17 17:57:09 UTC
+++ 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,7 +132,10 @@ 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()
@@ -139,6 +143,12 @@ if os.environ.has_key('LDFLAGS'):
 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')
@@ -256,21 +266,20 @@ if not 'install' in COMMAND_LINE_TARGETS
 
 	if not conf.CheckHeader('iconv.h'):
 		Exit(1)
-	elif conf.CheckLibWithHeader('iconv', 'iconv.h', 'c', 'iconv(0, (const char **)0, 0, (char**)0, 0);'):
-		conf.env.Append(CPPDEFINES = ('ICONV_CONST', 'const'))
 
 	if conf.CheckHeader(['sys/types.h', 'sys/socket.h', 'ifaddrs.h', 'net/if.h']):
 		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()