scons: find_include simplify API

This commit is contained in:
anatoly techtonik 2014-06-03 10:28:40 +03:00
parent 8b614c9ed6
commit 5e3ee31a99
4 changed files with 8 additions and 6 deletions

View File

@ -6,7 +6,8 @@ import re
def find_boost(env):
prefixes = [env["prefix"], "C:\\Boost"]
include = find_include(prefixes, "boost/config.hpp", "", not env["host"])
crosscompile = env["host"]
include = find_include(prefixes, "boost/config.hpp", default_prefixes=not crosscompile)
if include:
prefix, includefile = include[0]
env["boostdir"] = join(prefix, "include")
@ -20,7 +21,8 @@ def find_boost(env):
else:
env["boost_suffix"] = ""
return
includes = find_include(prefixes, "boost/config.hpp", "boost-*")
includes = find_include(prefixes, "boost/config.hpp", include_subdir="include/boost-*")
if includes:
versions = []
for prefix, includefile in includes:

View File

@ -12,12 +12,12 @@ def restore_env(env, backup):
for var in backup.keys():
env[var] = backup[var]
def find_include(prefixes, include_file, include_subdir, default_prefixes = True):
def find_include(prefixes, include_file, include_subdir="include", default_prefixes=True):
if default_prefixes:
prefixes = prefixes + ["/usr", "/usr/local", "/sw", "/sw/local", "/opt", "/opt/local"]
all_includes = []
for prefix in prefixes:
path = join(prefix, "include", include_subdir, include_file)
path = join(prefix, include_subdir, include_file)
#print path
for include in glob(path):
all_includes.append((prefix, include))

View File

@ -79,7 +79,7 @@ def CheckGettextLibintl(context):
prefixes = [env["prefix"]]
if env.get("gettextdir"):
prefixes = [env["gettextdir"]] + prefixes
includes = find_include(prefixes, "libintl.h", "", not env["host"])
includes = find_include(prefixes, "libintl.h", default_prefixes=not env["host"])
if includes:
env.AppendUnique(
CPPPATH = [join(includes[0][0], "include")],

View File

@ -19,7 +19,7 @@ def CheckLua(context, require_version):
found = run_pkg_config(context, "lua >= " + require_version) or run_pkg_config(context, "lua" + version + " >= " + require_version) or run_pkg_config(context, "lua-" + version + " >= " + require_version)
if not found:
try:
prefix, include = find_include([env["prefix"]], "lualib.h", "", not env["host"])[0]
prefix, include = find_include([env["prefix"]], "lualib.h", default_prefixes=not env["host"])[0]
found = True
context.Log("Found Lua header " + include + ".\n")
env.Append(LIBPATH = [join(prefix, "lib")], CPPPATH = [join(prefix, "include")], LIBS = ["lua"])