From 68325e63c51e3d5e569b2a14c90582f7b075dc23 Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Thu, 29 Nov 2018 19:12:35 +0000 Subject: Optional rpath link option, CMake search path set, static WCSLIB Thanks to a test build on Raul Infante Sainz's Mac OS computer, we were able to address some issues and will be trying them after this commit: a) The LLVM linker on that computer didn't recognize `-rpath-link'! So at configure time we now check for it and only include it when the linker recognizes it. b) CMake corrections: 1) `CMAKE_LIBRARY_PATH' is now defined so CMake can look in our custom directory to find the necessary libraries. 2) To build and install the CMake built programs, we now simply use `make' and `make install'. c) To avoid particular linking problems with WCSLIB (which has special problems compared to other libraries), we are now deleting the shared library version (both on GNU and Mac systems). --- reproduce/src/make/dependencies-build-rules.mk | 7 +++---- reproduce/src/make/dependencies.mk | 10 ++++++---- 2 files changed, 9 insertions(+), 8 deletions(-) (limited to 'reproduce/src/make') diff --git a/reproduce/src/make/dependencies-build-rules.mk b/reproduce/src/make/dependencies-build-rules.mk index b7d6c1a..479b008 100644 --- a/reproduce/src/make/dependencies-build-rules.mk +++ b/reproduce/src/make/dependencies-build-rules.mk @@ -98,9 +98,8 @@ cbuild = if [ x$(static_build) = xyes ] && [ $(3)x = staticx ]; then \ cd $(ddir) && rm -rf $(2) && tar xf $(1) && cd $(2) && \ rm -rf pipeline-build && mkdir pipeline-build && \ cd pipeline-build && \ - cmake .. $$opts $(4) && \ - cmake --build . && \ - cmake .. -DCMAKE_INSTALL_PREFIX=$(idir) && \ - cmake --build . --target install && \ + cmake .. -DCMAKE_LIBRARY_PATH=$(ildir) \ + -DCMAKE_INSTALL_PREFIX=$(idir) $$opts $(4) && \ + make && make install && \ cd ../.. && \ rm -rf $(2) diff --git a/reproduce/src/make/dependencies.mk b/reproduce/src/make/dependencies.mk index dc9e053..9f16615 100644 --- a/reproduce/src/make/dependencies.mk +++ b/reproduce/src/make/dependencies.mk @@ -59,7 +59,7 @@ export SHELL := $(ibdir)/bash export CPPFLAGS := -I$(idir)/include export PKG_CONFIG_PATH := $(ildir)/pkgconfig export PKG_CONFIG_LIBDIR := $(ildir)/pkgconfig -export LDFLAGS := -Wl,-rpath-link=$(ildir) -L$(ildir) +export LDFLAGS := $(rpath_command) -L$(ildir) @@ -193,11 +193,13 @@ $(ilidir)/libtiff: $(tdir)/tiff-$(libtiff-version).tar.gz \ $(ilidir)/wcslib: $(tdir)/wcslib-$(wcslib-version).tar.bz2 \ $(ilidir)/cfitsio | $(ilidir) - # Unfortunately WCSLIB forces the building of shared libraries. + # Unfortunately WCSLIB forces the building of shared libraries. So + # we'll just delete any shared library that is produced afterwards. $(call gbuild, $<, wcslib-$(wcslib-version), , \ LIBS="-pthread -lcurl -lm" --without-pgplot \ - --disable-fortran) \ - && echo "WCSLIB is built" > $@ + --disable-fortran) && \ + rm -f $(ildir)/libwcs.so* $(ildir)/libwcs*.dylib && \ + echo "WCSLIB is built" > $@ # Zlib: its `./configure' doesn't use Autoconf's configure script, it just # accepts a direct `--static' option. -- cgit v1.2.1