[pkg-d-commits] [ldc] 58/95: Build static+shared libs by default (if supported)

Matthias Klumpp mak at moszumanska.debian.org
Thu Jul 13 20:54:01 UTC 2017


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

mak pushed a commit to annotated tag v1.3.0-beta1
in repository ldc.

commit 6889995fcd2fe579572555b12841352eb344ab74
Author: Martin <noone at nowhere.com>
Date:   Fri Mar 3 18:34:42 2017 +0100

    Build static+shared libs by default (if supported)
---
 .travis.yml            |  6 +++---
 circle.yml             |  2 +-
 runtime/CMakeLists.txt | 21 +++++++++++++++++----
 3 files changed, 21 insertions(+), 8 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 3906bac..21935ce 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -11,16 +11,16 @@ matrix:
       env: LLVM_VERSION=3.8.1
     - os: linux
       d: ldc
-      env: LLVM_VERSION=3.7.1 OPTS="-DMULTILIB=ON -DLIB_SUFFIX=64"
+      env: LLVM_VERSION=3.7.1 OPTS="-DMULTILIB=ON -DBUILD_SHARED_LIBS=OFF -DLIB_SUFFIX=64"
     - os: linux
       d: ldc-0.17.2
       env: LLVM_VERSION=3.6.2 OPTS="-DBUILD_SHARED_LIBS=ON"
     - os: linux
       d: dmd
-      env: LLVM_VERSION=3.5.2 OPTS="-DTEST_COVERAGE=ON"
+      env: LLVM_VERSION=3.5.2 OPTS="-DBUILD_SHARED_LIBS=OFF -DTEST_COVERAGE=ON"
     - os: osx
       d: ldc
-      env: LLVM_VERSION=3.9.0
+      env: LLVM_VERSION=3.9.0 OPTS="-DBUILD_SHARED_LIBS=OFF"
     - os: osx
       d: ldc
       env: LLVM_VERSION=3.9.0 OPTS="-DBUILD_SHARED_LIBS=ON"
diff --git a/circle.yml b/circle.yml
index c58751c..ea84c86 100644
--- a/circle.yml
+++ b/circle.yml
@@ -56,7 +56,7 @@ test:
     - cd build && export CC=clang && export CXX=clang++ && cmake .. && make -j3 && bin/ldc2 -version || exit 1
 
     # Now build LDC with itself and use this second build for further testing
-    - CC=clang CXX=clang++ cmake -DD_COMPILER="build/bin/ldmd2" -DLDC_INSTALL_LTOPLUGIN=ON -DBUILD_SHARED_LIBS=BOTH .
+    - CC=clang CXX=clang++ cmake -DD_COMPILER="build/bin/ldmd2" -DLDC_INSTALL_LTOPLUGIN=ON .
     - make -j3
     - bin/ldc2 -version || exit 1
 
diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt
index 1cfe7bd..5af98d1 100644
--- a/runtime/CMakeLists.txt
+++ b/runtime/CMakeLists.txt
@@ -11,7 +11,7 @@ set(DMDFE_VERSION         ${D_VERSION}.${DMDFE_MINOR_VERSION}.${DMDFE_PATCH_VERS
 set(MULTILIB              OFF                                       CACHE BOOL    "Build both 32/64 bit runtime libraries")
 set(BUILD_BC_LIBS         OFF                                       CACHE BOOL    "Build the runtime as LLVM bitcode libraries")
 set(INCLUDE_INSTALL_DIR   ${CMAKE_INSTALL_PREFIX}/include/d         CACHE PATH    "Path to install D modules to")
-set(BUILD_SHARED_LIBS     OFF                                       CACHE STRING  "Whether to build the runtime as a shared library (ON|OFF|BOTH)")
+set(BUILD_SHARED_LIBS     AUTO                                      CACHE STRING  "Whether to build the runtime as a shared library (ON|OFF|BOTH)")
 set(D_FLAGS               -w                                        CACHE STRING  "Runtime build flags, separated by ;")
 set(D_FLAGS_DEBUG         -g;-link-debuglib                         CACHE STRING  "Runtime build flags (debug libraries), separated by ;")
 set(D_FLAGS_RELEASE       -O3;-release                              CACHE STRING  "Runtime build flags (release libraries), separated by ;")
@@ -31,11 +31,24 @@ else()
     set(MULTILIB_SUFFIX 64)
 endif()
 
+set(SHARED_LIBS_SUPPORTED OFF)
+if(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR
+   ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR
+   APPLE)
+    set(SHARED_LIBS_SUPPORTED ON)
+endif()
+
+if(${BUILD_SHARED_LIBS} STREQUAL "AUTO")
+    if(SHARED_LIBS_SUPPORTED)
+        set(BUILD_SHARED_LIBS BOTH)
+    else()
+        set(BUILD_SHARED_LIBS OFF)
+    endif()
+endif()
+
 set(SHARED_LIB_SUFFIX "")
 if(NOT ${BUILD_SHARED_LIBS} STREQUAL "OFF")
-    if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Linux" AND
-       NOT ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" AND
-       NOT APPLE)
+    if(NOT SHARED_LIBS_SUPPORTED)
         message(FATAL_ERROR "Shared libraries (BUILD_SHARED_LIBS) are only supported on Linux, macOS and FreeBSD for the time being.")
     endif()
 

-- 
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