Replace all double quotes with single quotes
To homogenize the file and allow keys/strings to be searched easily.
This commit is contained in:
parent
69d3e70211
commit
88420038f9
2 changed files with 92 additions and 92 deletions
144
SConstruct
144
SConstruct
|
|
@ -4,13 +4,13 @@ import os.path
|
||||||
import platform
|
import platform
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
default_install_dir="/usr/local"
|
default_install_dir='/usr/local'
|
||||||
if platform.system() == 'Windows':
|
if platform.system() == 'Windows':
|
||||||
default_install_dir = "build" # no obvious place for installation on Windows
|
default_install_dir = 'build' # no obvious place for installation on Windows
|
||||||
|
|
||||||
vars = Variables(None, ARGUMENTS)
|
vars = Variables(None, ARGUMENTS)
|
||||||
vars.Add(PathVariable('DESTDIR', "Root directory to install in (useful for packaging scripts)", None, PathVariable.PathIsDirCreate))
|
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", default_install_dir, PathVariable.PathAccept))
|
vars.Add(PathVariable('prefix', 'Where to install in the FHS', default_install_dir, PathVariable.PathAccept))
|
||||||
vars.Add(ListVariable('bindings', 'Language bindings to build', 'none', ['cpp', 'dotnet', 'perl', 'php', 'python', 'ruby']))
|
vars.Add(ListVariable('bindings', 'Language bindings to build', 'none', ['cpp', 'dotnet', 'perl', 'php', 'python', 'ruby']))
|
||||||
|
|
||||||
tools = ['default', 'scanreplace']
|
tools = ['default', 'scanreplace']
|
||||||
|
|
@ -35,7 +35,7 @@ if not 'bindings' in env:
|
||||||
def calcInstallPath(*elements):
|
def calcInstallPath(*elements):
|
||||||
path = os.path.abspath(os.path.join(*map(env.subst, elements)))
|
path = os.path.abspath(os.path.join(*map(env.subst, elements)))
|
||||||
if 'DESTDIR' in env:
|
if 'DESTDIR' in env:
|
||||||
path = os.path.join(env['DESTDIR'], os.path.relpath(path, start="/"))
|
path = os.path.join(env['DESTDIR'], os.path.relpath(path, start='/'))
|
||||||
return path
|
return path
|
||||||
|
|
||||||
rel_prefix = not os.path.isabs(env['prefix'])
|
rel_prefix = not os.path.isabs(env['prefix'])
|
||||||
|
|
@ -43,131 +43,131 @@ env['prefix'] = os.path.abspath(env['prefix'])
|
||||||
if 'DESTDIR' in env:
|
if 'DESTDIR' in env:
|
||||||
env['DESTDIR'] = os.path.abspath(env['DESTDIR'])
|
env['DESTDIR'] = os.path.abspath(env['DESTDIR'])
|
||||||
if rel_prefix:
|
if rel_prefix:
|
||||||
print >>sys.stderr, "--!!-- You used a relative prefix with a DESTDIR. This is probably not what you"
|
print >>sys.stderr, '--!!-- You used a relative prefix with a DESTDIR. This is probably not what you'
|
||||||
print >>sys.stderr, "--!!-- you want; files will be installed in"
|
print >>sys.stderr, '--!!-- you want; files will be installed in'
|
||||||
print >>sys.stderr, "--!!-- %s" % (calcInstallPath("$prefix"),)
|
print >>sys.stderr, '--!!-- %s' % (calcInstallPath('$prefix'),)
|
||||||
|
|
||||||
|
|
||||||
env['libpath'] = calcInstallPath("$prefix", "lib")
|
env['libpath'] = calcInstallPath('$prefix', 'lib')
|
||||||
env['incpath'] = calcInstallPath("$prefix", "include", "hammer")
|
env['incpath'] = calcInstallPath('$prefix', 'include', 'hammer')
|
||||||
env['parsersincpath'] = calcInstallPath("$prefix", "include", "hammer", "parsers")
|
env['parsersincpath'] = calcInstallPath('$prefix', 'include', 'hammer', 'parsers')
|
||||||
env['backendsincpath'] = calcInstallPath("$prefix", "include", "hammer", "backends")
|
env['backendsincpath'] = calcInstallPath('$prefix', 'include', 'hammer', 'backends')
|
||||||
env['pkgconfigpath'] = calcInstallPath("$prefix", "lib", "pkgconfig")
|
env['pkgconfigpath'] = calcInstallPath('$prefix', 'lib', 'pkgconfig')
|
||||||
env.ScanReplace('libhammer.pc.in')
|
env.ScanReplace('libhammer.pc.in')
|
||||||
|
|
||||||
AddOption("--variant",
|
AddOption('--variant',
|
||||||
dest="variant",
|
dest='variant',
|
||||||
nargs=1, type="choice",
|
nargs=1, type='choice',
|
||||||
choices=["debug", "opt"],
|
choices=['debug', 'opt'],
|
||||||
default="opt",
|
default='opt',
|
||||||
action="store",
|
action='store',
|
||||||
help="Build variant (debug or opt)")
|
help='Build variant (debug or opt)')
|
||||||
|
|
||||||
AddOption("--coverage",
|
AddOption('--coverage',
|
||||||
dest="coverage",
|
dest='coverage',
|
||||||
default=False,
|
default=False,
|
||||||
action="store_true",
|
action='store_true',
|
||||||
help="Build with coverage instrumentation")
|
help='Build with coverage instrumentation')
|
||||||
|
|
||||||
AddOption("--in-place",
|
AddOption('--in-place',
|
||||||
dest="in_place",
|
dest='in_place',
|
||||||
default=False,
|
default=False,
|
||||||
action="store_true",
|
action='store_true',
|
||||||
help="Build in-place, rather than in the build/<variant> tree")
|
help='Build in-place, rather than in the build/<variant> tree')
|
||||||
|
|
||||||
AddOption("--tests",
|
AddOption('--tests',
|
||||||
dest="with_tests",
|
dest='with_tests',
|
||||||
default=env['PLATFORM'] != 'win32',
|
default=env['PLATFORM'] != 'win32',
|
||||||
action="store_true",
|
action='store_true',
|
||||||
help="Build tests")
|
help='Build tests')
|
||||||
|
|
||||||
env["CC"] = os.getenv("CC") or env["CC"]
|
env['CC'] = os.getenv('CC') or env['CC']
|
||||||
env["CXX"] = os.getenv("CXX") or env["CXX"]
|
env['CXX'] = os.getenv('CXX') or env['CXX']
|
||||||
|
|
||||||
if os.getenv("CC") == "clang" or env['PLATFORM'] == 'darwin':
|
if os.getenv('CC') == 'clang' or env['PLATFORM'] == 'darwin':
|
||||||
env.Replace(CC="clang",
|
env.Replace(CC='clang',
|
||||||
CXX="clang++")
|
CXX='clang++')
|
||||||
|
|
||||||
# Language standard and warnings
|
# Language standard and warnings
|
||||||
if env["CC"] == "cl":
|
if env['CC'] == 'cl':
|
||||||
env.MergeFlags("-W3 -WX")
|
env.MergeFlags('-W3 -WX')
|
||||||
env.Append(
|
env.Append(
|
||||||
CPPDEFINES=[
|
CPPDEFINES=[
|
||||||
"_CRT_SECURE_NO_WARNINGS" # allow uses of sprintf
|
'_CRT_SECURE_NO_WARNINGS' # allow uses of sprintf
|
||||||
],
|
],
|
||||||
CFLAGS=[
|
CFLAGS=[
|
||||||
"-wd4018", # 'expression' : signed/unsigned mismatch
|
'-wd4018', # 'expression' : signed/unsigned mismatch
|
||||||
"-wd4244", # 'argument' : conversion from 'type1' to 'type2', possible loss of data
|
'-wd4244', # 'argument' : conversion from 'type1' to 'type2', possible loss of data
|
||||||
"-wd4267", # 'var' : conversion from 'size_t' to 'type', possible loss of data
|
'-wd4267', # 'var' : conversion from 'size_t' to 'type', possible loss of data
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
env.MergeFlags("-std=gnu99 -Wall -Wextra -Werror -Wno-unused-parameter -Wno-attributes -Wno-unused-variable")
|
env.MergeFlags('-std=gnu99 -Wall -Wextra -Werror -Wno-unused-parameter -Wno-attributes -Wno-unused-variable')
|
||||||
|
|
||||||
# Linker options
|
# Linker options
|
||||||
if env['PLATFORM'] == 'darwin':
|
if env['PLATFORM'] == 'darwin':
|
||||||
env.Append(SHLINKFLAGS = '-install_name ' + env["libpath"] + '/${TARGET.file}')
|
env.Append(SHLINKFLAGS = '-install_name ' + env['libpath'] + '/${TARGET.file}')
|
||||||
elif platform.system() == "OpenBSD":
|
elif platform.system() == 'OpenBSD':
|
||||||
pass
|
pass
|
||||||
elif env['PLATFORM'] == 'win32':
|
elif env['PLATFORM'] == 'win32':
|
||||||
# no extra lib needed
|
# no extra lib needed
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
env.MergeFlags("-lrt")
|
env.MergeFlags('-lrt')
|
||||||
|
|
||||||
if GetOption("coverage"):
|
if GetOption('coverage'):
|
||||||
env.Append(CFLAGS=["--coverage"],
|
env.Append(CFLAGS=['--coverage'],
|
||||||
CXXFLAGS=["--coverage"],
|
CXXFLAGS=['--coverage'],
|
||||||
LDFLAGS=["--coverage"])
|
LDFLAGS=['--coverage'])
|
||||||
if env["CC"] == "gcc":
|
if env['CC'] == 'gcc':
|
||||||
env.Append(LIBS=['gcov'])
|
env.Append(LIBS=['gcov'])
|
||||||
else:
|
else:
|
||||||
env.ParseConfig('llvm-config --ldflags')
|
env.ParseConfig('llvm-config --ldflags')
|
||||||
|
|
||||||
dbg = env.Clone(VARIANT='debug')
|
dbg = env.Clone(VARIANT='debug')
|
||||||
if env["CC"] == "cl":
|
if env['CC'] == 'cl':
|
||||||
dbg.Append(CCFLAGS=["/Z7"])
|
dbg.Append(CCFLAGS=['/Z7'])
|
||||||
else:
|
else:
|
||||||
dbg.Append(CCFLAGS=['-g'])
|
dbg.Append(CCFLAGS=['-g'])
|
||||||
|
|
||||||
opt = env.Clone(VARIANT='opt')
|
opt = env.Clone(VARIANT='opt')
|
||||||
if env["CC"] == "cl":
|
if env['CC'] == 'cl':
|
||||||
opt.Append(CCFLAGS=["/O2"])
|
opt.Append(CCFLAGS=['/O2'])
|
||||||
else:
|
else:
|
||||||
opt.Append(CCFLAGS=["-O3"])
|
opt.Append(CCFLAGS=['-O3'])
|
||||||
|
|
||||||
if GetOption("variant") == 'debug':
|
if GetOption('variant') == 'debug':
|
||||||
env = dbg
|
env = dbg
|
||||||
else:
|
else:
|
||||||
env = opt
|
env = opt
|
||||||
|
|
||||||
env["ENV"].update(x for x in os.environ.items() if x[0].startswith("CCC_"))
|
env['ENV'].update(x for x in os.environ.items() if x[0].startswith('CCC_'))
|
||||||
|
|
||||||
#rootpath = env['ROOTPATH'] = os.path.abspath('.')
|
#rootpath = env['ROOTPATH'] = os.path.abspath('.')
|
||||||
#env.Append(CPPPATH=os.path.join('#', "hammer"))
|
#env.Append(CPPPATH=os.path.join('#', 'hammer'))
|
||||||
|
|
||||||
testruns = []
|
testruns = []
|
||||||
|
|
||||||
targets = ["$libpath",
|
targets = ['$libpath',
|
||||||
"$incpath",
|
'$incpath',
|
||||||
"$parsersincpath",
|
'$parsersincpath',
|
||||||
"$backendsincpath",
|
'$backendsincpath',
|
||||||
"$pkgconfigpath"]
|
'$pkgconfigpath']
|
||||||
|
|
||||||
Export('env')
|
Export('env')
|
||||||
Export('testruns')
|
Export('testruns')
|
||||||
Export('targets')
|
Export('targets')
|
||||||
|
|
||||||
if not GetOption("in_place"):
|
if not GetOption('in_place'):
|
||||||
env['BUILD_BASE'] = 'build/$VARIANT'
|
env['BUILD_BASE'] = 'build/$VARIANT'
|
||||||
lib = env.SConscript(["src/SConscript"], variant_dir='$BUILD_BASE/src')
|
lib = env.SConscript(['src/SConscript'], variant_dir='$BUILD_BASE/src')
|
||||||
env.Alias("examples", env.SConscript(["examples/SConscript"], variant_dir='$BUILD_BASE/examples'))
|
env.Alias('examples', env.SConscript(['examples/SConscript'], variant_dir='$BUILD_BASE/examples'))
|
||||||
else:
|
else:
|
||||||
env['BUILD_BASE'] = '.'
|
env['BUILD_BASE'] = '.'
|
||||||
lib = env.SConscript(["src/SConscript"])
|
lib = env.SConscript(['src/SConscript'])
|
||||||
env.Alias(env.SConscript(["examples/SConscript"]))
|
env.Alias(env.SConscript(['examples/SConscript']))
|
||||||
|
|
||||||
for testrun in testruns:
|
for testrun in testruns:
|
||||||
env.Alias("test", testrun)
|
env.Alias('test', testrun)
|
||||||
|
|
||||||
env.Alias("install", targets)
|
env.Alias('install', targets)
|
||||||
|
|
|
||||||
|
|
@ -4,21 +4,21 @@ import os.path
|
||||||
Import('env testruns')
|
Import('env testruns')
|
||||||
|
|
||||||
dist_headers = [
|
dist_headers = [
|
||||||
"hammer.h",
|
'hammer.h',
|
||||||
"allocator.h",
|
'allocator.h',
|
||||||
"compiler_specifics.h",
|
'compiler_specifics.h',
|
||||||
"glue.h",
|
'glue.h',
|
||||||
"internal.h",
|
'internal.h',
|
||||||
"platform.h"
|
'platform.h'
|
||||||
]
|
]
|
||||||
|
|
||||||
parsers_headers = [
|
parsers_headers = [
|
||||||
"parsers/parser_internal.h"
|
'parsers/parser_internal.h'
|
||||||
]
|
]
|
||||||
|
|
||||||
backends_headers = [
|
backends_headers = [
|
||||||
"backends/regex.h",
|
'backends/regex.h',
|
||||||
"backends/contextfree.h"
|
'backends/contextfree.h'
|
||||||
]
|
]
|
||||||
|
|
||||||
parsers = ['parsers/%s.c'%s for s in
|
parsers = ['parsers/%s.c'%s for s in
|
||||||
|
|
@ -95,27 +95,27 @@ libhammer_shared = env.SharedLibrary('hammer', parsers + backends + misc_hammer_
|
||||||
libhammer_static = env.StaticLibrary(static_library_name, parsers + backends + misc_hammer_parts)
|
libhammer_static = env.StaticLibrary(static_library_name, parsers + backends + misc_hammer_parts)
|
||||||
if build_shared_library:
|
if build_shared_library:
|
||||||
Default(libhammer_shared, libhammer_static)
|
Default(libhammer_shared, libhammer_static)
|
||||||
env.Install("$libpath", [libhammer_static, libhammer_shared])
|
env.Install('$libpath', [libhammer_static, libhammer_shared])
|
||||||
else:
|
else:
|
||||||
Default(libhammer_static)
|
Default(libhammer_static)
|
||||||
env.Install("$libpath", [libhammer_static])
|
env.Install('$libpath', [libhammer_static])
|
||||||
|
|
||||||
env.Install("$incpath", dist_headers)
|
env.Install('$incpath', dist_headers)
|
||||||
env.Install("$parsersincpath", parsers_headers)
|
env.Install('$parsersincpath', parsers_headers)
|
||||||
env.Install("$backendsincpath", backends_headers)
|
env.Install('$backendsincpath', backends_headers)
|
||||||
env.Install("$pkgconfigpath", "../../../libhammer.pc")
|
env.Install('$pkgconfigpath', '../../../libhammer.pc')
|
||||||
|
|
||||||
if GetOption("with_tests"):
|
if GetOption('with_tests'):
|
||||||
testenv = env.Clone()
|
testenv = env.Clone()
|
||||||
testenv.ParseConfig('pkg-config --cflags --libs glib-2.0')
|
testenv.ParseConfig('pkg-config --cflags --libs glib-2.0')
|
||||||
testenv.Append(LIBS=['hammer'])
|
testenv.Append(LIBS=['hammer'])
|
||||||
testenv.Prepend(LIBPATH=['.'])
|
testenv.Prepend(LIBPATH=['.'])
|
||||||
ctestexec = testenv.Program('test_suite', ctests + ['test_suite.c'], LINKFLAGS="--coverage" if testenv.GetOption("coverage") else None)
|
ctestexec = testenv.Program('test_suite', ctests + ['test_suite.c'], LINKFLAGS='--coverage' if testenv.GetOption('coverage') else None)
|
||||||
ctest = Alias('testc', [ctestexec], "".join(["env LD_LIBRARY_PATH=", os.path.dirname(ctestexec[0].path), " ", ctestexec[0].path]))
|
ctest = Alias('testc', [ctestexec], ''.join(['env LD_LIBRARY_PATH=', os.path.dirname(ctestexec[0].path), ' ', ctestexec[0].path]))
|
||||||
AlwaysBuild(ctest)
|
AlwaysBuild(ctest)
|
||||||
testruns.append(ctest)
|
testruns.append(ctest)
|
||||||
|
|
||||||
Export("libhammer_static libhammer_shared")
|
Export('libhammer_static libhammer_shared')
|
||||||
|
|
||||||
for b in env['bindings']:
|
for b in env['bindings']:
|
||||||
env.SConscript(["bindings/%s/SConscript" % b])
|
env.SConscript(['bindings/%s/SConscript' % b])
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue