From f317f69ed3084114684e99670e0a69dde48e69fb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Remko=20Tron=C3=A7on?= <git@el-tramo.be>
Date: Tue, 11 Aug 2009 19:07:54 +0200
Subject: Use real SCons build parameters.


diff --git a/SConstruct b/SConstruct
index aeccfd2..70a9cac 100644
--- a/SConstruct
+++ b/SConstruct
@@ -1,25 +1,38 @@
 import sys, os
 
 ################################################################################
+# Build variables
+################################################################################
+
+vars = Variables("config.py")
+vars.Add(BoolVariable("optimize", "Compile with optimizations turned on", "no"))
+vars.Add(BoolVariable("debug", "Compile with debug information", "yes"))
+vars.Add(BoolVariable("warnings", "Compile with warnings turned on", 
+    "yes" if os.name != "nt" else "no"))
+if os.name != "nt" :
+  vars.Add(BoolVariable("coverage", "Compile with coverage information", "no"))
+if os.name == "mac" :
+  vars.Add(BoolVariable("universal", "Create universal binaries", "no"))
+vars.Add(PackageVariable("openssl", "OpenSSL location", "yes"))
+
+################################################################################
 # Set up default build & configure environment
 ################################################################################
 
-env = Environment(CPPPATH = "#", ENV = {'PATH' : os.environ['PATH']})
+env = Environment(CPPPATH = "#", ENV = {'PATH' : os.environ['PATH']}, variables = vars)
+Help(vars.GenerateHelpText(env))
 
 # Default compiler flags
-if int(ARGUMENTS.get("optimize", 0)) == 1 :
-	if env["PLATFORM"] == "win32" :
-		env.Append(CCFLAGS = "/O2")
-	else :
-		env.Append(CCFLAGS = "-O2")
+if env["optimize"] :
+	env.Append(CCFLAGS = "-O2")
 
-if int(ARGUMENTS.get("debug", 1)) == 1 :
+if env["debug"] :
 	if env["PLATFORM"] == "win32" :
 		env.Append(CCFLAGS = ["/Zi", "/MDd"])
 	else :
 		env.Append(CCFLAGS = "-g")
 
-if int(ARGUMENTS.get("universal", 0)) == 1 :
+if env.get("universal", 0) :
 	assert(env["PLATFORM"] == "darwin")
 	env.Append(CCFLAGS = [
 			"-isysroot", "/Developer/SDKs/MacOSX10.4u.sdk", 
@@ -31,14 +44,14 @@ if int(ARGUMENTS.get("universal", 0)) == 1 :
 			"-arch", "i386", 
 			"-arch", "ppc"])
 
-if int(ARGUMENTS.get("warnings", env["PLATFORM"] != "win32")) == 1 :
+if env["warnings"] :
 	if env["PLATFORM"] == "win32" :
 		env.Append(CCFLAGS = ["/Wall"])
 	else :
 		env.Append(CCFLAGS = ["-W", "-Wall"])
 		#env.Append(CCFLAGS = ["-W", "-Wall", "-Wredundant-decls", "-pedantic", "-Wno-long-long", "-Woverloaded-virtual", "-Wundef", "-Wfloat-equal", "-Wold-style-cast"])
 
-if int(ARGUMENTS.get("coverage", 0)) == 1 :
+if env.get("coverage", 0) :
 	assert(env["PLATFORM"] != "win32")
 	env.Append(CCFLAGS = ["-fprofile-arcs", "-ftest-coverage"])
 	env.Append(LINKFLAGS = ["-fprofile-arcs", "-ftest-coverage"])
@@ -98,12 +111,6 @@ if env["PLATFORM"] == "win32" :
 
 
 ################################################################################
-# Configuration options
-################################################################################
-
-AddOption("--with-openssl", dest="openssl_prefix", type="string", nargs=1, action="store", metavar="DIR", help="OpenSSL installation prefix")
-
-################################################################################
 # Platform configuration
 ################################################################################
 
@@ -143,7 +150,8 @@ if not env.get("HAVE_EXPAT", 0) :
 
 # OpenSSL
 openssl_env = conf_env.Clone()
-openssl_prefix = GetOption("openssl_prefix")
+use_openssl = bool(env["openssl"])
+openssl_prefix = env["openssl"] if isinstance(env["openssl"], str) else ""
 openssl_flags = {}
 if openssl_prefix :
 	openssl_flags = { "CPPPATH": [os.path.join(openssl_prefix, "include")] }
@@ -154,7 +162,7 @@ if openssl_prefix :
 	openssl_env.MergeFlags(openssl_flags)
 
 openssl_conf = Configure(openssl_env)
-if openssl_conf.CheckCHeader("openssl/ssl.h") :
+if use_openssl and openssl_conf.CheckCHeader("openssl/ssl.h") :
 	env["HAVE_OPENSSL"] = 1
 	env["OPENSSL_FLAGS"] = openssl_flags
 	if env["PLATFORM"] == "win32" : 
-- 
cgit v0.10.2-6-g49f6