]> git.ipfire.org Git - thirdparty/curl.git/commit
cmake: avoid unnecessary `-L` for implicit link dirs
authorKai Pastor <dg0yt@darc.de>
Fri, 7 Feb 2025 06:54:43 +0000 (07:54 +0100)
committerViktor Szakats <commit@vsz.me>
Fri, 7 Feb 2025 10:05:07 +0000 (11:05 +0100)
commitf72b84809216657e4ad3c1a0184775c911080d63
tree68e0b2f89e54ded46e7f1ff7a5b2539d107938e6
parent0c933081fb3b2451b915f8a81c7f464121fef3a3
cmake: avoid unnecessary `-L` for implicit link dirs

The unnecessary `-L` may unexpectedly change the toolchain's chosen
search order in implicit link directories.

Causing this error noticed by a vcpkg user, and reproduced, in the
context of Android NDK r22b, API level 16, static library and CRT
linkage:
~~~
configure:23635: checking whether libcurl is usable
configure:23669: armv7a-linux-androideabi16-clang -o conftest
  --sysroot=/home/runner/work/boinc/boinc/3rdParty/android/android-ndk-r22b/toolchains/llvm/prebuilt/linux-x86_64/sysroot
  -DANDROID -DDECLARE_TIMEZONE -Wall
  -I/home/runner/work/boinc/boinc/3rdParty/buildCache/android/android-tc/arm/arm-linux-androideabi/include
  -O3 -fomit-frame-pointer -fPIE -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -D__ANDROID_API__=16 -Wall
  -I/home/runner/work/boinc/boinc/3rdParty/android/vcpkg/installed/arm-android/include
  -I/home/runner/work/boinc/boinc/3rdParty/android/vcpkg/installed/arm-android/lib/pkgconfig/../../include -DCURL_STATICLIB
  -L/home/runner/work/boinc/boinc/3rdParty/android/vcpkg/installed/arm-android/lib -llog -fPIE -pie -latomic -static-libstdc++
  -march=armv7-a -Wl,--fix-cortex-a8 -L/home/runner/work/boinc/boinc/3rdParty/android/vcpkg/installed/arm-android/lib conftest.c
  -L/home/runner/work/boinc/boinc/3rdParty/android/vcpkg/installed/arm-android/lib/pkgconfig/../../lib -lcurl
  -L/home/runner/work/boinc/boinc/3rdParty/android/android-ndk-r22b/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/arm-linux-androideabi
  -lssl -lcrypto -ldl -pthread -lz  >&5
clang: warning: argument unused during compilation: '-static-libstdc++' [-Wunused-command-line-argument]
ld: error: undefined symbol: bsd_signal
>>> referenced by legacy_signal_inlines.h:116 (/home/runner/work/boinc/boinc/3rdParty/android/android-ndk-r22b/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/android/legacy_signal_inlines.h:116)
>>>               libcrypto-lib-ui_openssl.o:(read_string_inner) in archive /home/runner/work/boinc/boinc/3rdParty/android/vcpkg/installed/arm-android/lib/libcrypto.a
ld: error: undefined symbol: pthread_atfork
~~~
with the unnecessary option
~~~
-L/home/runner/work/boinc/boinc/3rdParty/android/android-ndk-r22b/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/arm-linux-androideabi
~~~
Reference: https://github.com/microsoft/vcpkg/pull/43463#issuecomment-2638611717

Closes #16233
CMakeLists.txt