[pkg-d-commits] [ldc] 169/211: Add -flto-binary default setting to ldc.conf.

Matthias Klumpp mak at moszumanska.debian.org
Sun Apr 23 22:36:20 UTC 2017


This is an automated email from the git hooks/post-receive script.

mak pushed a commit to annotated tag v1.1.0
in repository ldc.

commit 77bcc6e211992cd05ef369a03323dfdafbcb1f1d
Author: Johan Engelen <jbc.engelen at gmail.com>
Date:   Mon Nov 28 16:47:23 2016 +0100

    Add -flto-binary default setting to ldc.conf.
---
 CMakeLists.txt       | 25 +++++++++++++++----------
 ldc2.conf.in         |  1 +
 ldc2_install.conf.in |  1 +
 ldc2_phobos.conf.in  |  1 +
 4 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ea5273d..2387e11 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -675,6 +675,21 @@ build_d_executable(
     "LDMD_CXX_LIB;${LDC_LIB}"
 )
 
+#
+# Locate LLVM's LTO binary and use it
+#
+if(APPLE)
+    set(LLVM_LTO_BINARY ${LLVM_LIBRARY_DIRS}/libLTO.dylib)
+    set(LDC_LTO_BINARY_NAME libLTO-ldc.dylib)
+elseif(UNIX)
+    set(LLVM_LTO_BINARY ${LLVM_LIBRARY_DIRS}/LLVMgold.so)
+    set(LDC_LTO_BINARY_NAME LLVMgold-ldc.so)
+endif()
+if(EXISTS ${LLVM_LTO_BINARY})
+    message(STATUS "Also installing LTO binary: ${LLVM_LTO_BINARY}")
+    file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/lib${LIB_SUFFIX})
+    configure_file(${LLVM_LTO_BINARY} ${PROJECT_BINARY_DIR}/lib${LIB_SUFFIX}/${LDC_LTO_BINARY_NAME} COPYONLY)
+endif()
 
 #
 # Auxiliary build and test utils.
@@ -731,17 +746,7 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
 endif()
 
 # Also install LLVM's LTO binary if available
-if(APPLE)
-    set(LLVM_LTO_BINARY ${LLVM_LIBRARY_DIRS}/libLTO.dylib)
-    set(LDC_LTO_BINARY_NAME libLTO-ldc.dylib)
-elseif(UNIX)
-    set(LLVM_LTO_BINARY ${LLVM_LIBRARY_DIRS}/LLVMgold.so)
-    set(LDC_LTO_BINARY_NAME LLVMgold-ldc.so)
-endif()
 if(EXISTS ${LLVM_LTO_BINARY})
-    message(STATUS "Also installing LTO binary: ${LLVM_LTO_BINARY}")
-    file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/lib${LIB_SUFFIX})
-    configure_file(${LLVM_LTO_BINARY} ${PROJECT_BINARY_DIR}/lib${LIB_SUFFIX}/${LDC_LTO_BINARY_NAME} COPYONLY)
     install(PROGRAMS ${PROJECT_BINARY_DIR}/lib${LIB_SUFFIX}/${LDC_LTO_BINARY_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
 endif()
 
diff --git a/ldc2.conf.in b/ldc2.conf.in
index 0282a03..ca10728 100644
--- a/ldc2.conf.in
+++ b/ldc2.conf.in
@@ -9,6 +9,7 @@ default:
     switches = [
         "-I at RUNTIME_DIR@/src",
         "-L-L at PROJECT_BINARY_DIR@/../lib at LIB_SUFFIX@", @MULTILIB_ADDITIONAL_PATH@@SHARED_LIBS_RPATH@
+        "-flto-binary=@PROJECT_BINARY_DIR@/../lib at LIB_SUFFIX@/@LDC_LTO_BINARY_NAME@",
         "-defaultlib=druntime-ldc",
         "-debuglib=druntime-ldc-debug"@ADDITIONAL_DEFAULT_LDC_SWITCHES@
     ];
diff --git a/ldc2_install.conf.in b/ldc2_install.conf.in
index 943c29e..7cbf89a 100644
--- a/ldc2_install.conf.in
+++ b/ldc2_install.conf.in
@@ -10,6 +10,7 @@ default:
         "-I at INCLUDE_INSTALL_DIR@/ldc",
         "-I at INCLUDE_INSTALL_DIR@",
         "-L-L at CMAKE_INSTALL_LIBDIR@", @MULTILIB_ADDITIONAL_INSTALL_PATH@
+        "-flto-binary=@CMAKE_INSTALL_LIBDIR@/@LDC_LTO_BINARY_NAME@",
         "-defaultlib=phobos2-ldc,druntime-ldc",
         "-debuglib=phobos2-ldc-debug,druntime-ldc-debug"@ADDITIONAL_DEFAULT_LDC_SWITCHES@
     ];
diff --git a/ldc2_phobos.conf.in b/ldc2_phobos.conf.in
index b2360df..5c26f66 100644
--- a/ldc2_phobos.conf.in
+++ b/ldc2_phobos.conf.in
@@ -11,6 +11,7 @@ default:
         "-I at PROFILERT_DIR@/d",
         "-I at PHOBOS2_DIR@",
         "-L-L at CMAKE_BINARY_DIR@/lib at LIB_SUFFIX@", @MULTILIB_ADDITIONAL_PATH@@SHARED_LIBS_RPATH@
+        "-flto-binary=@CMAKE_BINARY_DIR@/lib at LIB_SUFFIX@/@LDC_LTO_BINARY_NAME@",
         "-defaultlib=phobos2-ldc,druntime-ldc",
         "-debuglib=phobos2-ldc-debug,druntime-ldc-debug"@ADDITIONAL_DEFAULT_LDC_SWITCHES@
     ];

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-d/ldc.git



More information about the pkg-d-commits mailing list