From 37e576b9980c0edc0eee2d5bb691f0a353a62b60 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Remko=20Tron=C3=A7on?= <git@el-tramo.be>
Date: Sat, 6 Nov 2010 14:21:27 +0100
Subject: Added Expat configuration flags.


diff --git a/BuildTools/SCons/SConstruct b/BuildTools/SCons/SConstruct
index 11bd0b1..136c7ed 100644
--- a/BuildTools/SCons/SConstruct
+++ b/BuildTools/SCons/SConstruct
@@ -34,7 +34,9 @@ if os.name == "nt" :
 if os.name == "nt" :
 	vars.Add(PackageVariable("bonjour", "Bonjour SDK location", "yes"))
 vars.Add(PackageVariable("openssl", "OpenSSL location", "yes"))
-vars.Add(PackageVariable("boost", "Boost location location", "yes"))
+vars.Add(PackageVariable("boost", "Boost location", "yes"))
+vars.Add(PathVariable("expat_libdir", "Expat library location", None, PathVariable.PathAccept))
+vars.Add(PathVariable("expat_includedir", "Expat headers location", None, PathVariable.PathAccept))
 vars.Add(PathVariable("qt", "Qt location", "", PathVariable.PathAccept))
 vars.Add(PathVariable("docbook_xml", "DocBook XML", None, PathVariable.PathAccept))
 vars.Add(PathVariable("docbook_xsl", "DocBook XSL", None, PathVariable.PathAccept))
@@ -454,11 +456,24 @@ if not env.get("HAVE_LIBXML", 0) :
 	conf.Finish()
 
 # Expat
-conf = Configure(conf_env)
-if not env.get("HAVE_LIBXML",0) and conf.CheckCHeader("expat.h") and conf.CheckLib("expat") :
-	env["HAVE_EXPAT"] = 1
-	env["EXPAT_FLAGS"] = { "LIBS": ["expat"] }
-conf.Finish()
+if not env.get("HAVE_LIBXML",0) :
+	expat_conf_env = conf_env.Clone()
+	expat_flags = {}
+	if env.get("expat_libdir", None) :
+		expat_flags["LIBPATH"] = [env["expat_libdir"]]
+	if env.get("expat_includedir", None) :
+		expat_flags["CPPPATH"] = [env["expat_includedir"]]
+	if env["PLATFORM"] == "win32" :
+		expat_libname = "libexpat"
+	else :
+		expat_libname = "expat"
+	expat_conf_env.MergeFlags(expat_flags)
+	conf = Configure(expat_conf_env)
+	if conf.CheckCHeader("expat.h") and conf.CheckLib(expat_libname) :
+		env["HAVE_EXPAT"] = 1
+		env["EXPAT_FLAGS"] = { "LIBS": [expat_libname] }
+		env["EXPAT_FLAGS"].update(expat_flags)
+	conf.Finish()
 
 # Bundled expat
 bundledExpat = False
-- 
cgit v0.10.2-6-g49f6