[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