[Libreoffice-commits] core.git: configure.ac external/liborcus external/libwps solenv/gbuild

Stephan Bergmann (via logerrit) logerrit at kemper.freedesktop.org
Tue Jul 28 07:06:33 UTC 2020


 configure.ac                                  |   15 +++++++++++----
 external/liborcus/ExternalProject_liborcus.mk |    2 +-
 external/liborcus/libtool.patch.0             |    2 +-
 external/libwps/ExternalProject_libwps.mk     |    2 +-
 external/libwps/libtool.patch.0               |    2 +-
 solenv/gbuild/platform/com_GCC_defs.mk        |    2 +-
 6 files changed, 16 insertions(+), 9 deletions(-)

New commits:
commit d668c9a04d04d256fcbbd2165fe226f1db88256b
Author:     Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Tue Jul 28 08:12:57 2020 +0200
Commit:     Stephan Bergmann <sbergman at redhat.com>
CommitDate: Tue Jul 28 09:05:52 2020 +0200

    Adapt --enable-ld to Clang 12 trunk --ld-path
    
    ...split from -fuse-ld with <https://github.com/llvm/llvm-project/commit/
    1bc5c84710a8c73ef21295e63c19d10a8c71f2f5> "[Driver] Add --ld-path= and deprecate
    -fuse-ld=/abs/path and -fuse-ld=rel/path", and now causing warnings (or even
    errors with -Werror) like
    
      '-fuse-ld=' taking a path is deprecated. Use '--ld-path=' instead
    
    when --enable-ld is configured as a full path.  (--enable-ld was vague whether
    it supports full paths, but it appeared to work reasonably well at least with
    old versions of Clang.)
    
    Change-Id: I5a7dfd992b56aba78dd3646045fb9a827dc40321
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99569
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>

diff --git a/configure.ac b/configure.ac
index 5e846685cf1a..f651056fc11c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1418,7 +1418,10 @@ AC_ARG_ENABLE(icecream,
 AC_ARG_ENABLE(ld,
     AS_HELP_STRING([--enable-ld=<linker>],
         [Use the specified linker. Both 'gold' and 'lld' linkers generally use less memory and link faster.
-         By default tries to use the best linker possible, use --disable-ld to use the default linker.]),
+         By default tries to use the best linker possible, use --disable-ld to use the default linker.
+         If <linker> contains any ':', the part before the first ':' is used as the value of
+         -fuse-ld, while the part after the first ':' is used as the value of --ld-path (which is
+         needed for Clang 12).]),
 ,)
 
 libo_FUZZ_ARG_ENABLE(cups,
@@ -4006,12 +4009,16 @@ dnl All checks for linker features/options should come after this.
 dnl ===================================================================
 check_use_ld()
 {
-    use_ld=$1
+    use_ld=-fuse-ld=${1%%:*}
+    use_ld_path=${1#*:}
+    if test "$use_ld_path" != "$1"; then
+        use_ld="$use_ld --ld-path=$use_ld_path"
+    fi
     use_ld_fail_if_error=$2
     use_ld_ok=
-    AC_MSG_CHECKING([for -fuse-ld=$use_ld linker support])
+    AC_MSG_CHECKING([for $use_ld linker support])
     use_ld_ldflags_save="$LDFLAGS"
-    LDFLAGS="$LDFLAGS -fuse-ld=$use_ld"
+    LDFLAGS="$LDFLAGS $use_ld"
     AC_LINK_IFELSE([AC_LANG_PROGRAM([
 #include <stdio.h>
         ],[
diff --git a/external/liborcus/ExternalProject_liborcus.mk b/external/liborcus/ExternalProject_liborcus.mk
index 38658cc81908..136fa538397e 100644
--- a/external/liborcus/ExternalProject_liborcus.mk
+++ b/external/liborcus/ExternalProject_liborcus.mk
@@ -86,7 +86,7 @@ ifeq ($(ENABLE_GDB_INDEX),TRUE)
 liborcus_LDFLAGS+=-Wl,--gdb-index
 liborcus_CXXFLAGS+=-ggnu-pubnames
 ifneq ($(USE_LD),)
-liborcus_LDFLAGS += -fuse-ld=$(USE_LD)
+liborcus_LDFLAGS += $(USE_LD)
 endif
 endif
 
diff --git a/external/liborcus/libtool.patch.0 b/external/liborcus/libtool.patch.0
index 93b677303374..aa6ffa908ec3 100644
--- a/external/liborcus/libtool.patch.0
+++ b/external/liborcus/libtool.patch.0
@@ -5,7 +5,7 @@
        -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
        -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
 -      -specs=*|-fsanitize=*)
-+      -specs=*|-fsanitize=*|-fuse-ld=*)
++      -specs=*|-fsanitize=*|-fuse-ld=*|--ld-path=*)
          func_quote_for_eval "$arg"
  	arg=$func_quote_for_eval_result
          func_append compile_command " $arg"
diff --git a/external/libwps/ExternalProject_libwps.mk b/external/libwps/ExternalProject_libwps.mk
index a7c37aeddf7e..0bcfc5ceb72d 100644
--- a/external/libwps/ExternalProject_libwps.mk
+++ b/external/libwps/ExternalProject_libwps.mk
@@ -38,7 +38,7 @@ ifeq ($(ENABLE_GDB_INDEX),TRUE)
 libwps_LDFLAGS+=-Wl,--gdb-index
 libwps_CXXFLAGS+=-ggnu-pubnames
 ifneq ($(USE_LD),)
-libwps_LDFLAGS += -fuse-ld=$(USE_LD)
+libwps_LDFLAGS += $(USE_LD)
 endif
 endif
 
diff --git a/external/libwps/libtool.patch.0 b/external/libwps/libtool.patch.0
index d3989d79927d..f2e10ac3822f 100644
--- a/external/libwps/libtool.patch.0
+++ b/external/libwps/libtool.patch.0
@@ -5,7 +5,7 @@
        -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
        -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
 -      -fsanitize=*)
-+      -fsanitize=*|-fuse-ld=*)
++      -fsanitize=*|-fuse-ld=*|--ld-path=*)
          func_quote_for_eval "$arg"
  	arg=$func_quote_for_eval_result
          func_append compile_command " $arg"
diff --git a/solenv/gbuild/platform/com_GCC_defs.mk b/solenv/gbuild/platform/com_GCC_defs.mk
index 1707a7481ee6..11d85608a22d 100644
--- a/solenv/gbuild/platform/com_GCC_defs.mk
+++ b/solenv/gbuild/platform/com_GCC_defs.mk
@@ -38,7 +38,7 @@ endif
 gb_COMPILER_SETUP :=
 
 ifneq ($(USE_LD),)
-gb_LinkTarget_LDFLAGS += -fuse-ld=$(USE_LD)
+gb_LinkTarget_LDFLAGS += $(USE_LD)
 endif
 
 ifeq ($(strip $(gb_COMPILEROPTFLAGS)),)


More information about the Libreoffice-commits mailing list