From 844420a36cbb6e680216172ed7a1360ed9770fa7 Mon Sep 17 00:00:00 2001 From: Isuru Fernando Date: Sun, 5 Jul 2020 17:58:04 +0000 Subject: [PATCH] Install import lib in windows and fix osx so versioning --- Makefile.in | 7 ++++++- configure | 20 +++++++++++++------- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/Makefile.in b/Makefile.in index b277c1cdc..3fad2b281 100644 --- a/Makefile.in +++ b/Makefile.in @@ -103,7 +103,9 @@ $(ARB_LIB): $(LOBJS) $(LIB_SOURCES) $(EXT_SOURCES) $(HEADERS) $(EXT_HEADERS) | b $(LDCONFIG) -n "$(CURDIR)"; \ fi ln -sf "$(ARB_LIB)" "$(ARB_LIBNAME)"; \ - ln -sf "$(ARB_LIB)" "$(ARB_LIBNAME).$(ARB_MAJOR)"; \ + $(AT)if [ "$(ARB_LIB)" -ne "$(ARB_SONAME)" ]; then \ + ln -sf "$(ARB_LIB)" "$(ARB_SONAME)"; \ + fi libarb.a: $(OBJS) $(LIB_SOURCES) $(EXT_SOURCES) $(HEADERS) $(EXT_HEADERS) | build build/interfaces $(AT)$(foreach ext, $(EXTENSIONS), $(foreach dir, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h)), mkdir -p build/$(dir); BUILD_DIR=$(CURDIR)/build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f $(CURDIR)/Makefile.subdirs -C $(ext)/$(dir) static || exit $$?;)) @@ -170,6 +172,9 @@ install: library $(AT)if [ "$(ARB_SHARED)" -eq "1" ]; then \ cp $(ARB_LIB) "$(DESTDIR)$(PREFIX)/$(LIBDIR)"; \ cp -a $(shell ls $(ARB_LIBNAME)*) "$(DESTDIR)$(PREFIX)/$(LIBDIR)"; \ + if [ ! -z "$(ARB_IMPLIBNAME)" ]; then \ + cp "$(ARB_IMPLIBNAME)" "$(DESTDIR)$(PREFIX)/$(LIBDIR)"; \ + fi \ fi $(AT)if [ "$(ARB_STATIC)" -eq "1" ]; then \ cp libarb.a $(DESTDIR)$(PREFIX)/$(LIBDIR); \ diff --git a/configure b/configure index 897094e8c..0f534f6a4 100755 --- a/configure +++ b/configure @@ -425,17 +425,21 @@ ARB_SOLIB=0 if [ -z "$ARB_LIB" ]; then case "$OS" in Darwin) - ARB_LIBNAME="libarb.dylib" - ARB_LIB="libarb-$ARB_MAJOR.$ARB_MINOR.$ARB_PATCH.dylib" - EXTRA_SHARED_FLAGS="-install_name $PREFIX/lib/$ARB_LIB -compatibility_version $ARB_MAJOR.$ARB_MINOR -current_version $ARB_MAJOR.$ARB_MINOR.$ARB_PATCH";; + ARB_LIBNAME="libarb.dylib" + ARB_LIB="libarb.$ARB_MAJOR.dylib" + ARB_SONAME="libarb.$ARB_MAJOR.dylib" + EXTRA_SHARED_FLAGS="-install_name $PREFIX/lib/$ARB_SONAME -compatibility_version $ARB_MAJOR -current_version $ARB_MAJOR.$ARB_MINOR.$ARB_PATCH";; CYGWIN* | MINGW*) - ARB_LIBNAME="libarb.dll" + ARB_LIBNAME="libarb.dll" ARB_LIB="libarb-$ARB_MAJOR.dll" - EXTRA_SHARED_FLAGS="-static-libgcc -shared -Wl,--export-all-symbols -Wl,-soname,libarb-$ARB_MAJOR.dll.$ARB_MINOR.$ARB_PATCH";; + ARB_SONAME="libarb-$ARB_MAJOR.dll" + ARB_IMPLIBNAME="libarb.dll.a" + EXTRA_SHARED_FLAGS="-static-libgcc -shared -Wl,--export-all-symbols -Wl,-soname,$ARB_SONAME -Wl,--out-implib,$ARB_IMPLIBNAME";; *) - ARB_LIBNAME="libarb.so" + ARB_LIBNAME="libarb.so" + ARB_SONAME="libarb.so.$ARB_MAJOR" ARB_LIB="libarb.so.$ARB_MAJOR.$ARB_MINOR.$ARB_PATCH" - EXTRA_SHARED_FLAGS="-Wl,-soname,libarb.so.$ARB_MAJOR" + EXTRA_SHARED_FLAGS="-Wl,-soname,$ARB_SONAME" ARB_SOLIB=1;; esac EXTRA_SHARED_FLAGS="$EXTRA_SHARED_FLAGS -Wl,-rpath,${GMP_LIB_DIR} -Wl,-rpath,${MPFR_LIB_DIR} -Wl,-rpath,${FLINT_LIB_DIR}" @@ -660,6 +664,8 @@ echo "ARB_STATIC=$STATIC" >> Makefile echo "ARB_SHARED=$SHARED" >> Makefile echo "ARB_LIB=$ARB_LIB" >> Makefile echo "ARB_LIBNAME=$ARB_LIBNAME" >> Makefile +echo "ARB_SONAME=$ARB_SONAME" >> Makefile +echo "ARB_IMPLIBNAME=$ARB_IMPLIBNAME" >> Makefile echo "ARB_MAJOR=$ARB_MAJOR" >> Makefile echo "ARB_SOLIB=$ARB_SOLIB" >> Makefile echo "EXEEXT=$EXEEXT" >> Makefile