From 336726825bf57bf6bb3b7e7bf1c35065a82caa85 Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Fri, 17 Nov 2017 22:44:54 +0100 Subject: [PATCH] build system: use llvm's lld linker when building with clang --- Rakefile | 1 + ac/clang.m4 | 5 +++++ build-config.in | 1 + 3 files changed, 7 insertions(+) diff --git a/Rakefile b/Rakefile index f471ad24d..dfed33108 100644 --- a/Rakefile +++ b/Rakefile @@ -138,6 +138,7 @@ def setup_globals cxxflags += " #{c(:QT_CFLAGS)} #{c(:BOOST_CPPFLAGS)} #{c(:USER_CXXFLAGS)}" ldflags = "" + ldflags += " -fuse-ld=lld" if c?(:USE_CLANG) && !c(:LLVM_LLD).empty? ldflags += " -Llib/libebml/src -Llib/libmatroska/src" if c?(:EBML_MATROSKA_INTERNAL) ldflags += " #{c(:EXTRA_LDFLAGS)} #{c(:PROFILING_LIBS)} #{c(:USER_LDFLAGS)} #{c(:LDFLAGS_RPATHS)} #{c(:BOOST_LDFLAGS)}" ldflags += " -Wl,--dynamicbase,--nxcompat" if $building_for[:windows] diff --git a/ac/clang.m4 b/ac/clang.m4 index d096f4a3c..8765db4e1 100644 --- a/ac/clang.m4 +++ b/ac/clang.m4 @@ -6,6 +6,11 @@ AC_DEFUN([AX_COMPILER_IS_CLANG],[ ac_cv_compiler_is_clang=no fi ]) + + if test "x$ac_cv_compiler_is_clang" = xyes; then + AC_PATH_PROG(LLVM_LLD, "lld") + fi + AC_SUBST(LLVM_LLD) ]) AX_COMPILER_IS_CLANG diff --git a/build-config.in b/build-config.in index 26963657c..7a9e79553 100644 --- a/build-config.in +++ b/build-config.in @@ -93,6 +93,7 @@ LDFLAGS_RPATHS = @LDFLAGS_RPATHS@ FLAC_LIBS = @FLAC_LIBS@ ICONV_LIBS = @ICONV_LIBS@ LIBINTL_LIBS = @LIBINTL_LIBS@ +LLVM_LLD = @LLVM_LLD@ MAGIC_LIBS = @MAGIC_LIBS@ MINGW_GUIAPP = @MINGW_GUIAPP@ MINGW_LIBS = @MINGW_LIBS@