From aa9a278fde5d99bb8aabad1e32fbb99a75bda6c8 Mon Sep 17 00:00:00 2001 From: William Deegan Date: Tue, 4 Dec 2018 23:06:54 -0500 Subject: Fix flag usage for APPLELINK_CURRENT_VERSION and APPLELINK_COMPATIBILITY_VERSION in generator logic --- src/engine/SCons/Tool/applelink.py | 15 ++++++++------- test/LINK/LDMODULEVERSIONFLAGS.py | 1 - 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/engine/SCons/Tool/applelink.py b/src/engine/SCons/Tool/applelink.py index 4a87a07..afe766e 100644 --- a/src/engine/SCons/Tool/applelink.py +++ b/src/engine/SCons/Tool/applelink.py @@ -81,12 +81,13 @@ def _applelib_currentVersionFromSoVersion(source, target, env, for_signature): """ if env.get('APPLELINK_CURRENT_VERSION', False): - version_string = env['SHLIBVERSION'] + version_string = env['APPLELINK_CURRENT_VERSION'] elif env.get('SHLIBVERSION', False): version_string = env['SHLIBVERSION'] else: return "" + print("Versino_String:%s"%version_string) version_string = ".".join(version_string.split('.')[:3]) return "-Wl,-current_version,%s" % version_string @@ -97,8 +98,8 @@ def _applelib_compatVersionFromSoVersion(source, target, env, for_signature): -Wl,compat_version=2.0 """ - if env.get('APPLELINK_COMPAT_VERSION', False): - version_string = env['SHLIBVERSION'] + if env.get('APPLELINK_COMPATIBILITY_VERSION', False): + version_string = env['APPLELINK_COMPATIBILITY_VERSION'] elif env.get('SHLIBVERSION', False): version_string = ".".join(env['SHLIBVERSION'].split('.')[:2] + ['0']) else: @@ -132,10 +133,10 @@ def generate(env): env['LINKCALLBACKS']['VersionedShLibSoname'] = _applelib_versioned_shlib_soname - env['APPLELINK_CURRENT_VERSION'] = _applelib_currentVersionFromSoVersion - env['APPLELINK_COMPATIBILITY_VERSION'] = _applelib_compatVersionFromSoVersion - env['_SHLIBVERSIONFLAGS'] = '$APPLELINK_CURRENT_VERSION $APPLELINK_COMPATIBILITY_VERSION ' - env['_LDMODULEVERSIONFLAGS'] = '$APPLELINK_CURRENT_VERSION $APPLELINK_COMPATIBILITY_VERSION ' + env['_APPLELINK_CURRENT_VERSION'] = _applelib_currentVersionFromSoVersion + env['_APPLELINK_COMPATIBILITY_VERSION'] = _applelib_compatVersionFromSoVersion + env['_SHLIBVERSIONFLAGS'] = '$_APPLELINK_CURRENT_VERSION $_APPLELINK_COMPATIBILITY_VERSION ' + env['_LDMODULEVERSIONFLAGS'] = '$_APPLELINK_CURRENT_VERSION $_APPLELINK_COMPATIBILITY_VERSION ' # override the default for loadable modules, which are different # on OS X than dynamic shared libs. echoing what XCode does for diff --git a/test/LINK/LDMODULEVERSIONFLAGS.py b/test/LINK/LDMODULEVERSIONFLAGS.py index 6e3085c..0683b72 100644 --- a/test/LINK/LDMODULEVERSIONFLAGS.py +++ b/test/LINK/LDMODULEVERSIONFLAGS.py @@ -57,7 +57,6 @@ test.run(arguments = ['-c']) for versionvar in ['SHLIBVERSION', 'LDMODULEVERSION']: test = TestSCons.TestSCons() - test.verbose_set(1) test.write('foo.c', foo_c_src) test.write('SConstruct', "LoadableModule('foo','foo.c',%s='1.2.3')\n" % versionvar) test.run(stdout = versionflags, match = TestSCons.match_re_dotall) -- cgit v0.12