summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Defaults.py
diff options
context:
space:
mode:
authorPawel Tomulik <ptomulik@meil.pw.edu.pl>2015-09-20 02:21:27 (GMT)
committerPawel Tomulik <ptomulik@meil.pw.edu.pl>2015-09-20 02:21:27 (GMT)
commitcb508c9a37c2a3cd5fcf55cc1efd4c47a0abdd41 (patch)
treec678996a1a5aef0cc6dbe40c8f833f35d80dbbd1 /src/engine/SCons/Defaults.py
parent9a43408e4419ba54733222df65a38a9d1a925b6d (diff)
downloadSCons-cb508c9a37c2a3cd5fcf55cc1efd4c47a0abdd41.zip
SCons-cb508c9a37c2a3cd5fcf55cc1efd4c47a0abdd41.tar.gz
SCons-cb508c9a37c2a3cd5fcf55cc1efd4c47a0abdd41.tar.bz2
fix broken soname generator
Diffstat (limited to 'src/engine/SCons/Defaults.py')
-rw-r--r--src/engine/SCons/Defaults.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/engine/SCons/Defaults.py b/src/engine/SCons/Defaults.py
index db48969..c8170c3 100644
--- a/src/engine/SCons/Defaults.py
+++ b/src/engine/SCons/Defaults.py
@@ -482,9 +482,14 @@ class Variable_Method_Caller(object):
frame = frame.f_back
return None
-def __libversionflags_string(versionvar):
- return '${("%s" in locals() and %s and "_%sFLAGS" in locals()) ' \
- 'and _%sFLAGS or None}' % (versionvar, versionvar, versionvar, versionvar)
+# if env[version_var] id defined, returns env[flags_var], otherwise returns None
+def __libversionflags(env, version_var, flags_var):
+ try:
+ if env[version_var]:
+ return env[flags_var]
+ except KeyError:
+ pass
+ return None
ConstructionEnvironment = {
'BUILDERS' : {},
@@ -504,8 +509,10 @@ ConstructionEnvironment = {
'_CPPINCFLAGS' : '$( ${_concat(INCPREFIX, CPPPATH, INCSUFFIX, __env__, RDirs, TARGET, SOURCE)} $)',
'_CPPDEFFLAGS' : '${_defines(CPPDEFPREFIX, CPPDEFINES, CPPDEFSUFFIX, __env__)}',
- '__SHLIBVERSIONFLAGS' : __libversionflags_string('SHLIBVERSION'),
- '__LDMODULEVERSIONFLAGS' : __libversionflags_string('LDMODULEVERSION'),
+ '__libversionflags' : __libversionflags,
+ '__SHLIBVERSIONFLAGS' : '${__libversionflags(__env__,"SHLIBVERSION","_SHLIBVERSIONFLAGS")}',
+ '__LDMODULEVERSIONFLAGS' : '${__libversionflags(__env__,"LDMODULEVERSION","_LDMODULEVERSIONFLAGS")}',
+
'TEMPFILE' : NullCmdGenerator,
'Dir' : Variable_Method_Caller('TARGET', 'Dir'),
'Dirs' : Variable_Method_Caller('TARGET', 'Dirs'),