diff options
| author | Wolfgang Walther <walther@technowledgy.de> | 2024-08-17 22:47:31 +0200 |
|---|---|---|
| committer | Dylan Baker <dylan@pnwbakers.com> | 2024-08-20 10:04:20 -0700 |
| commit | 7280639cb5967beefa85b561dcbd096bcf05db3d (patch) | |
| tree | bdc237a8475cf8ed38746206754d60a386d938cb | |
| parent | d9ba42217f49c4bd4caeac9050cc475e3453f75e (diff) | |
| download | meson-7280639cb5967beefa85b561dcbd096bcf05db3d.tar.gz | |
linkers: skip -export_dynamic flag before MacOS 10.7
The flag was only introduced in ld 224.1, as mentioned in the initial PR
#13291.
Resolves #13543
| -rw-r--r-- | mesonbuild/linkers/linkers.py | 4 | ||||
| -rw-r--r-- | unittests/darwintests.py | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/mesonbuild/linkers/linkers.py b/mesonbuild/linkers/linkers.py index 0b8927359..d011e67b9 100644 --- a/mesonbuild/linkers/linkers.py +++ b/mesonbuild/linkers/linkers.py @@ -840,7 +840,9 @@ class AppleDynamicLinker(PosixDynamicLinkerMixin, DynamicLinker): return ["-Wl,-cache_path_lto," + path] def export_dynamic_args(self, env: 'Environment') -> T.List[str]: - return self._apply_prefix('-export_dynamic') + if mesonlib.version_compare(self.version, '>=224.1'): + return self._apply_prefix('-export_dynamic') + return [] class LLVMLD64DynamicLinker(AppleDynamicLinker): diff --git a/unittests/darwintests.py b/unittests/darwintests.py index afc663a57..26dd99641 100644 --- a/unittests/darwintests.py +++ b/unittests/darwintests.py @@ -4,10 +4,11 @@ import subprocess import re import os +import platform import unittest from mesonbuild.mesonlib import ( - MachineChoice, is_osx + MachineChoice, is_osx, version_compare ) from mesonbuild.compilers import ( detect_c_compiler @@ -81,6 +82,7 @@ class DarwinTests(BasePlatformTests): self.build() self.run_tests() + @unittest.skipIf(version_compare(platform.mac_ver()[0], '<10.7'), '-export_dynamic was added in 10.7') def test_apple_lto_export_dynamic(self): ''' Tests that -Wl,-export_dynamic is correctly added, when export_dynamic: true is set. |
