From 283d95516a11166631818dd448ed53a2374b5db8 Mon Sep 17 00:00:00 2001 From: Cory Fields Date: Wed, 10 May 2023 22:48:00 +0000 Subject: [PATCH 1/2] build: Fix shared lib linking for darwin with lld libtool gets a false-positive from the warning produced by lld -single_module because it is already the default and unneeded. Skip the check unconditionally for Darwin linkers. --- configure.ac | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/configure.ac b/configure.ac index cbbf8d61724..41fee5cdcac 100644 --- a/configure.ac +++ b/configure.ac @@ -83,6 +83,16 @@ case $host in lt_cv_prog_compiler_pic="-DPIC" lt_cv_prog_compiler_pic_CXX="-DPIC" ;; + *darwin*) + dnl Because it prints a verbose warning, lld fails the following check + dnl for "-Wl,-single_module" from libtool.m4: + dnl # If there is a non-empty error log, and "single_module" + dnl # appears in it, assume the flag caused a linker warning + dnl "-single_module" works fine on ld64 and lld, so just bypass the test. + dnl Failure to set this to "yes" causes libtool to use a very broken + dnl link-line for shared libs. + lt_cv_apple_cc_single_mod="yes" + ;; esac AC_ARG_WITH([seccomp], From 67aacc73ea427f89f005ae17d5fd1572409e649e Mon Sep 17 00:00:00 2001 From: Cory Fields Date: Fri, 12 May 2023 19:15:56 +0000 Subject: [PATCH 2/2] build: cleanup comments after adding yet another libtool hack --- configure.ac | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index 41fee5cdcac..d75a5293e17 100644 --- a/configure.ac +++ b/configure.ac @@ -70,11 +70,12 @@ else fi AC_PROG_CXX -dnl By default, libtool for mingw refuses to link static libs into a dll for -dnl fear of mixing pic/non-pic objects, and import/export complications. Since -dnl we have those under control, re-enable that functionality. +dnl libtool overrides case $host in *mingw*) + dnl By default, libtool for mingw refuses to link static libs into a dll for + dnl fear of mixing pic/non-pic objects, and import/export complications. Since + dnl we have those under control, re-enable that functionality. lt_cv_deplibs_check_method="pass_all" dnl Remove unwanted -DDLL_EXPORT from these variables.