From f31e3ba4bddc680e62f65437918680bf259feb55 Mon Sep 17 00:00:00 2001 From: nicolas <nicolas@uucidl.com> Date: Sun, 22 May 2016 13:18:19 +0200 Subject: [PATCH] Move sections around to allow porting to windows We will need to use the environment's CC variable to make decisions that apply to windows compiling and linking. Therefore we move some existing sections below the set up of env["CC"] and env["CXX"] --- SConstruct | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/SConstruct b/SConstruct index bb2bb858..f9aef938 100644 --- a/SConstruct +++ b/SConstruct @@ -4,7 +4,6 @@ import os.path import platform import sys - vars = Variables(None, ARGUMENTS) vars.Add(PathVariable('DESTDIR', "Root directory to install in (useful for packaging scripts)", None, PathVariable.PathIsDirCreate)) vars.Add(PathVariable('prefix', "Where to install in the FHS", "/usr/local", PathVariable.PathAccept)) @@ -49,15 +48,6 @@ env['backendsincpath'] = calcInstallPath("$prefix", "include", "hammer", "backen env['pkgconfigpath'] = calcInstallPath("$prefix", "lib", "pkgconfig") env.ScanReplace('libhammer.pc.in') -env.MergeFlags("-std=gnu99 -Wall -Wextra -Werror -Wno-unused-parameter -Wno-attributes -Wno-unused-variable") - -if env['PLATFORM'] == 'darwin': - env.Append(SHLINKFLAGS = '-install_name ' + env["libpath"] + '/${TARGET.file}') -elif os.uname()[0] == "OpenBSD": - pass -else: - env.MergeFlags("-lrt") - AddOption("--variant", dest="variant", nargs=1, type="choice", @@ -78,20 +68,23 @@ AddOption("--in-place", action="store_true", help="Build in-place, rather than in the build/<variant> tree") +env["CC"] = os.getenv("CC") or env["CC"] +env["CXX"] = os.getenv("CXX") or env["CXX"] -dbg = env.Clone(VARIANT='debug') -dbg.Append(CCFLAGS=['-g']) +if os.getenv("CC") == "clang" or env['PLATFORM'] == 'darwin': + env.Replace(CC="clang", + CXX="clang++") -opt = env.Clone(VARIANT='opt') -opt.Append(CCFLAGS=["-O3"]) +# Language standard and warnings +env.MergeFlags("-std=gnu99 -Wall -Wextra -Werror -Wno-unused-parameter -Wno-attributes -Wno-unused-variable") -if GetOption("variant") == 'debug': - env = dbg +# Linker options +if env['PLATFORM'] == 'darwin': + env.Append(SHLINKFLAGS = '-install_name ' + env["libpath"] + '/${TARGET.file}') +elif platform.system() == "OpenBSD": + pass else: - env = opt - -env["CC"] = os.getenv("CC") or env["CC"] -env["CXX"] = os.getenv("CXX") or env["CXX"] + env.MergeFlags("-lrt") if GetOption("coverage"): env.Append(CFLAGS=["--coverage"], @@ -102,9 +95,16 @@ if GetOption("coverage"): else: env.ParseConfig('llvm-config --ldflags') -if os.getenv("CC") == "clang" or env['PLATFORM'] == 'darwin': - env.Replace(CC="clang", - CXX="clang++") +dbg = env.Clone(VARIANT='debug') +dbg.Append(CCFLAGS=['-g']) + +opt = env.Clone(VARIANT='opt') +opt.Append(CCFLAGS=["-O3"]) + +if GetOption("variant") == 'debug': + env = dbg +else: + env = opt env["ENV"].update(x for x in os.environ.items() if x[0].startswith("CCC_")) -- GitLab