Author: loonycyborg
Date: Sat Nov 1 22:52:28 2008
New Revision: 30515
URL: http://svn.gna.org/viewcvs/wesnoth?rev=30515&view=rev
Log:
Created dedicated Environment for unit tests since -lboost_test* breaks
compile of programs other than tests with boost 1.33.
Modified:
trunk/SConstruct
Modified: trunk/SConstruct
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/SConstruct?rev=30515&r1=30514&r2=30515&view=diff
==============================================================================
--- trunk/SConstruct (original)
+++ trunk/SConstruct Sat Nov 1 22:52:28 2008
@@ -189,6 +189,10 @@
SetOption('max_drift', 1)
SetOption('implicit_cache', 1)
+if not os.path.isabs(env["prefix"]):
+ print "Warning: prefix is set to relative dir. destdir setting will be
ignored."
+ env["destdir"] = ""
+
#
# Check some preconditions
#
@@ -202,10 +206,11 @@
return False
from metasconf import init_metasconf
-conf = Configure(env, custom_tests = init_metasconf(env, ["cplusplus",
"python_devel", "sdl", "boost", "pango", "pkgconfig"]), config_h = "config.h",
+configure_args = dict(custom_tests = init_metasconf(env, ["cplusplus",
"python_devel", "sdl", "boost", "pango", "pkgconfig"]), config_h = "config.h",
log_file="build/config.log", conf_dir="build/sconf_temp")
if env["prereqs"]:
+ conf = env.Configure(**configure_args)
if env["gettextdir"]:
env.AppendUnique(CPPPATH = [os.path.join(env["gettextdir"],
"include")],
LIBPATH = [os.path.join(env["gettextdir"], "lib")],
@@ -245,7 +250,16 @@
if conf.CheckLibWithHeader("mysqlpp", "mysql++/mysql++.h", "C++"):
env.Append(CPPDEFINES = ["HAVE_MYSQLPP"])
+ if env["python"]:
+ env["python"] = (float(sys.version[:3]) >= 2.4) and conf.CheckPython()
or Warning("Python >= 2.4 not found. Python extensions will be disabled.")
+
+ env = conf.Finish()
+
+ test_env = env.Clone()
+ conf = test_env.Configure(**configure_args)
+
have_test_prereqs = have_client_prereqs and have_server_prereqs and
conf.CheckBoost('unit_test_framework', require_version = "1.33.0") or
Warning("Unit tests are disabled because their prerequisites are not met.")
+ test_env = conf.Finish()
# have_boost_asio = \
# conf.CheckBoost("system", require_version = "1.35.0") and \
@@ -254,8 +268,6 @@
#
# env["have_boost_asio"] = have_boost_asio;
- if env["python"]:
- env["python"] = (float(sys.version[:3]) >= 2.4) and conf.CheckPython()
or Warning("Python >= 2.4 not found. Python extensions will be disabled.")
else:
have_client_prereqs = True
have_X = False
@@ -263,9 +275,7 @@
have_X = True
have_server_prereqs = True
have_test_prereqs = True
-
-env.Append(CPPPATH = ["#/", "#/src"])
-
+ test_env = env.Clone()
have_msgfmt = env["MSGFMT"]
if not have_msgfmt:
@@ -275,58 +285,57 @@
if not env['nls']:
print "NLS catalogue installation is disabled."
-env = conf.Finish()
-
#
# Implement configuration switches
#
-if "gnulink" in env["TOOLS"]:
- env.Append(LINKFLAGS = "-Wl,--as-needed")
-
-env.Append(CPPDEFINES = ["HAVE_CONFIG_H"])
-
-if "gcc" in env["TOOLS"]:
- env.AppendUnique(CXXFLAGS = Split("-W -Wall -ansi"))
- if env['strict']:
- env.AppendUnique(CXXFLAGS = "-Werror")
- else:
- env.AppendUnique(CXXFLAGS = Split("-Wno-unused -Wno-sign-compare"))
-
- env["OPT_FLAGS"] = "-O2"
- env["DEBUG_FLAGS"] = Split("-O0 -DDEBUG -ggdb3")
-
-if "suncc" in env["TOOLS"]:
- env["OPT_FLAGS"] = "-g0"
- env["DEBUG_FLAGS"] = "-g"
-
-if env['gui'] == 'tiny':
- env.Append(CPPDEFINES = "USE_TINY_GUI")
-
-if env['lowmem']:
- env.Append(CPPDEFINES = "LOW_MEM")
-
-if env['internal_data']:
- env.Append(CPPDEFINES = "USE_INTERNAL_DATA")
-
-if not env["editor"]:
- env.Append(CPPDEFINES = "DISABLE_EDITOR2")
-
-if have_X:
- env.Append(CPPDEFINES = "_X11")
+for env in [test_env, env]:
+ env.Append(CPPPATH = ["#/", "#/src"])
+
+ if "gnulink" in env["TOOLS"]:
+ env.Append(LINKFLAGS = "-Wl,--as-needed")
+
+ env.Append(CPPDEFINES = ["HAVE_CONFIG_H"])
+
+ if "gcc" in env["TOOLS"]:
+ env.AppendUnique(CXXFLAGS = Split("-W -Wall -ansi -Wno-unused
-Wno-sign-compare"))
+ if env['strict']:
+ env.AppendUnique(CXXFLAGS = "-Werror")
+
+ env["OPT_FLAGS"] = "-O2"
+ env["DEBUG_FLAGS"] = Split("-O0 -DDEBUG -ggdb3")
+
+ if "suncc" in env["TOOLS"]:
+ env["OPT_FLAGS"] = "-g0"
+ env["DEBUG_FLAGS"] = "-g"
+
+ if env['gui'] == 'tiny':
+ env.Append(CPPDEFINES = "USE_TINY_GUI")
+
+ if env['lowmem']:
+ env.Append(CPPDEFINES = "LOW_MEM")
+
+ if env['internal_data']:
+ env.Append(CPPDEFINES = "USE_INTERNAL_DATA")
+
+ if not env["editor"]:
+ env.Append(CPPDEFINES = "DISABLE_EDITOR2")
+
+ if have_X:
+ env.Append(CPPDEFINES = "_X11")
# Simulate autools-like behavior of prefix on various paths
-installdirs = Split("bindir datadir fifodir icondir desktopdir mandir docdir
python_site_packages_dir")
-for d in installdirs:
- env[d] = os.path.join(env["prefix"], env[d])
-if not os.path.isabs(env["prefix"]):
- print "Warning: prefix is set to relative dir. destdir setting will be
ignored."
- env["destdir"] = ""
-
-if env["PLATFORM"] == 'win32':
- env.Append(LIBS = ["wsock32", "intl", "z"], CXXFLAGS = ["-mthreads"],
LINKFLAGS = ["-mthreads"])
-if env["PLATFORM"] == 'darwin': # Mac OS X
- env.Append(FRAMEWORKS = "Carbon") # Carbon GUI
+ installdirs = Split("bindir datadir fifodir icondir desktopdir mandir
docdir python_site_packages_dir")
+ for d in installdirs:
+ env[d] = os.path.join(env["prefix"], env[d])
+
+ if env["PLATFORM"] == 'win32':
+ env.Append(LIBS = ["wsock32", "intl", "z"], CXXFLAGS = ["-mthreads"],
LINKFLAGS = ["-mthreads"])
+ if env["PLATFORM"] == 'darwin': # Mac OS X
+ env.Append(FRAMEWORKS = "Carbon") # Carbon GUI
+
+if not env['static_test']:
+ test_env.Append(CPPDEFINES = "BOOST_TEST_DYN_LINK")
if os.path.exists('.git'):
try:
@@ -344,7 +353,7 @@
except:
env["svnrev"] = ""
-Export(Split("env have_client_prereqs have_server_prereqs have_test_prereqs"))
+Export(Split("env test_env have_client_prereqs have_server_prereqs
have_test_prereqs"))
SConscript(dirs = Split("po doc packaging/windows"))
binaries = Split("wesnoth wesnothd cutter exploder campaignd test")
@@ -356,18 +365,13 @@
"profile" : dict(CXXFLAGS = "-pg", LINKFLAGS = "-pg")
}
builds["glibcxx_debug"].update(builds["debug"])
-env["extra_flags_glibcxx_debug"] = env["extra_flags_debug"]
build = env["build"]
-env.AppendUnique(**builds[build])
-env.Append(CXXFLAGS = os.environ.get('CXXFLAGS', []), LINKFLAGS =
os.environ.get('LDFLAGS', []))
-env.MergeFlags(env["extra_flags_" + build])
-
-test_env = env.Clone()
-if not env['static_test']:
- test_env.Append(CPPDEFINES = "BOOST_TEST_DYN_LINK")
-test_env.AppendUnique(CXXFLAGS = "-Wno-unused")
-Export("test_env")
+for env in [test_env, env]:
+ env["extra_flags_glibcxx_debug"] = env["extra_flags_debug"]
+ env.AppendUnique(**builds[build])
+ env.Append(CXXFLAGS = os.environ.get('CXXFLAGS', []), LINKFLAGS =
os.environ.get('LDFLAGS', []))
+ env.MergeFlags(env["extra_flags_" + build])
if build == "base":
build_dir = ""
@@ -377,7 +381,7 @@
if build == "release" : build_suffix = "" + env["PROGSUFFIX"]
else : build_suffix = "-" + build + env["PROGSUFFIX"]
Export("build_suffix")
-SConscript("src/SConscript", build_dir = build_dir, exports = "env", duplicate
= False)
+SConscript("src/SConscript", build_dir = build_dir, duplicate = False)
Import(binaries + ["sources"])
binary_nodes = map(eval, binaries)
all = env.Alias("all", map(Alias, binaries))
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits