diff options
| author | Andres Freund <andres@anarazel.de> | 2023-12-01 16:34:31 -0800 |
|---|---|---|
| committer | Jussi Pakkanen <jpakkane@gmail.com> | 2023-12-04 23:54:59 +0200 |
| commit | 30184a48a032e6a2a6dbf0a76e437aa676c3e4aa (patch) | |
| tree | a6fc1d76e0a7a3c8b09966093a32044eab8c9c52 /test cases/common | |
| parent | f1c748df87554aa5800fe4ecdea3ab1178e8f613 (diff) | |
| download | meson-30184a48a032e6a2a6dbf0a76e437aa676c3e4aa.tar.gz | |
macos: Skip as-needed test, the linker is too smart
The new linker in Sonoma / Xcode 15 considers the dependency via the
initializer sufficient to pull in the library. The man page now notes:
The linker never dead strips initialization and termination routines.
They are considered "roots" of the dead strip graph.
I could not find a good way to skip only if the linker version is new
enough. Before long everyone will be using the new linker anyway...
Diffstat (limited to 'test cases/common')
| -rw-r--r-- | test cases/common/173 as-needed/meson.build | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/test cases/common/173 as-needed/meson.build b/test cases/common/173 as-needed/meson.build index 3b54aaa02..1c2f632b4 100644 --- a/test cases/common/173 as-needed/meson.build +++ b/test cases/common/173 as-needed/meson.build @@ -11,3 +11,10 @@ libB = library('B', 'libB.cpp', link_with : libA) main_exe = executable('C', 'main.cpp', link_with : [libA, libB]) test('main test', main_exe) + +# Since Sonoma / Xcode 15 the macos linker considers the dependency via the +# initializer sufficient to pull in the other other library. There's no good +# way to detect the linker version here, so just skip the on macos. +if host_machine.system() == 'darwin' + error('MESON_SKIP_TEST: the macos linker is too smart for this test') +endif |
