mirror of
https://github.com/ZDoom/zdoom-macos-deps.git
synced 2024-11-22 03:51:33 +00:00
aedi: apply linker workaround to affected clang version only
xcode 15.0 and 15.0.1 have weak symbols compatibility issue, they were released with clang version 1500.0.40.1 the bug was fixed in xcode 15.1 which was shipped with clang version 1500.1.0.2.5
This commit is contained in:
parent
0a59773019
commit
e8d8bba6ab
1 changed files with 5 additions and 6 deletions
|
@ -107,13 +107,12 @@ class BuildState:
|
||||||
# Workaround: Bump the minimum deployment target to iOS 15, macOS 12, watchOS 8 or tvOS 15,
|
# Workaround: Bump the minimum deployment target to iOS 15, macOS 12, watchOS 8 or tvOS 15,
|
||||||
# or add -Wl,-ld_classic to the OTHER_LDFLAGS build setting.
|
# or add -Wl,-ld_classic to the OTHER_LDFLAGS build setting.
|
||||||
|
|
||||||
ld_classic_arg = '-Wl,-ld_classic'
|
version_output = subprocess.run(('clang', '--version'), check=True, capture_output=True)
|
||||||
check_args = ('clang', '-xc++', ld_classic_arg, '-')
|
version_match = re.search(r'\(clang-([\d.]+)\)', version_output.stdout.decode('ascii'))
|
||||||
check_code = b'int main() {}'
|
version = StrictVersion(version_match.group(1))
|
||||||
|
|
||||||
if subprocess.run(check_args, capture_output=True, input=check_code).returncode == 0:
|
if version.major == 1500 and version.minor == 0:
|
||||||
self._linker_flags += f' {ld_classic_arg}'
|
self._linker_flags += ' -Wl,-ld_classic'
|
||||||
os.unlink('a.out')
|
|
||||||
|
|
||||||
return self._linker_flags
|
return self._linker_flags
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue