version the library - patch by Julien Puydt

This commit is contained in:
Fredrik Johansson 2015-10-14 12:21:23 +02:00
parent 0b68cc51b7
commit ceb8ad55f0
2 changed files with 49 additions and 8 deletions

View file

@ -4,6 +4,8 @@ else
$(DLPATH):=$(DLPATH_ADD)
endif
LIBDIR=lib
QUIET_CC = @echo ' ' CC ' ' $@;
QUIET_CXX = @echo ' ' CXX ' ' $@;
QUIET_AR = @echo ' ' AR ' ' $@;
@ -59,7 +61,7 @@ verbose:
clean:
$(AT)$(foreach dir, $(BUILD_DIRS), BUILD_DIR=../build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f ../Makefile.subdirs -C $(dir) clean || exit $$?;)
$(AT)$(foreach ext, $(EXTENSIONS), $(foreach dir, $(patsubst $(ext)/%.h, %, $(wildcard $(ext)/*.h)), BUILD_DIR=$(CURDIR)/build/$(dir); export BUILD_DIR; MOD_DIR=$(dir); export MOD_DIR; $(MAKE) -f $(CURDIR)/Makefile.subdirs -C $(ext)/$(dir) clean || exit $$?;))
rm -f $(OBJS) $(LOBJS) $(TESTS) $(PROFS) $(EXMPS) $(ARB_LIB) libarb.a
rm -f $(OBJS) $(LOBJS) $(TESTS) $(PROFS) $(EXMPS) $(wildcard $(ARB_LIBNAME)*) libarb.a
rm -rf build
distclean: clean
@ -95,6 +97,10 @@ $(ARB_LIB): $(LOBJS) $(LIB_SOURCES) $(EXT_SOURCES) $(HEADERS) $(EXT_HEADERS) | b
$(AT)if [ "$(WANT_NTL)" -ne "1" ]; then \
$(CC) $(ABI_FLAG) -shared $(EXTRA_SHARED_FLAGS) $(LOBJS) $(MOD_LOBJS) $(EXT_OBJS) $(LIBS2) -o $(ARB_LIB); \
fi
-$(AT)if [ "$(ARB_SOLIB)" -eq "1" ]; then \
$(LDCONFIG) -n "$(CURDIR)"; \
fi
ln -sf "$(ARB_LIB)" "$(ARB_LIBNAME)"; \
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 $$?;))
@ -156,10 +162,11 @@ else
endif
install: library
mkdir -p $(DESTDIR)$(PREFIX)/lib
mkdir -p $(DESTDIR)$(PREFIX)/$(LIBDIR)
mkdir -p $(DESTDIR)$(PREFIX)/include
$(AT)if [ "$(ARB_SHARED)" -eq "1" ]; then \
cp $(ARB_LIB) $(DESTDIR)$(PREFIX)/lib; \
cp $(ARB_LIB) "$(DESTDIR)$(PREFIX)/$(LIBDIR)"; \
cp -a $(shell ls $(ARB_LIBNAME)*) "$(DESTDIR)$(PREFIX)/$(LIBDIR)"; \
fi
$(AT)if [ "$(ARB_STATIC)" -eq "1" ]; then \
cp libarb.a $(DESTDIR)$(PREFIX)/lib; \

44
configure vendored
View file

@ -5,6 +5,14 @@
# (C) 2012, William Hart, Jean-Pierre Flori, Thomas DuBuisson
# (C) 2012, Jan Engelhardt
# soname version
#
# arb => soname
# 2.7.0 => 0.0.0
ARB_MAJOR=0
ARB_MINOR=0
ARB_PATCH=0
PREFIX="/usr/local"
GMP_DIR="/usr/local"
MPFR_DIR="/usr/local"
@ -406,19 +414,42 @@ echo "Configuring...${MACHINE}-${OS}"
#name for ARB shared library
ARB_SOLIB=0
if [ -z "$ARB_LIB" ]; then
case "$OS" in
Darwin)
ARB_LIB="libarb.dylib"
EXTRA_SHARED_FLAGS="-install_name $PREFIX/lib/$ARB_LIB";;
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";;
CYGWIN* | MINGW*)
ARB_LIB="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_LIB="libarb.so"
EXTRA_SHARED_FLAGS="-Wl,-rpath,$GMP_LIB_DIR -Wl,-rpath,$MPFR_LIB_DIR -Wl,-rpath,$FLINT_LIB_DIR";;
ARB_LIBNAME="libarb.so"
ARB_LIB="libarb.so.$ARB_MAJOR.$ARB_MINOR.$ARB_PATCH"
EXTRA_SHARED_FLAGS="-Wl,-soname,libarb.so.$ARB_MAJOR"
ARB_SOLIB=1;;
esac
fi
# sometimes LDCONFIG is not to be found in the path. Look at some common places.
case "$OS" in
MINGW*|CYGWIN*|Darwin)
LDCONFIG="true";;
*)
if [ -z "$LDCONFIG" ]; then
LDCONFIG="true"
if [ "$ARB_SOLIB" = "1" ]; then
if command -v ldconfig > /dev/null; then
LDCONFIG="ldconfig"
elif [ -x /sbin/ldconfig ]; then
LDCONFIG="/sbin/ldconfig"
fi
fi
fi;;
esac
#extension for executables
if [ -z "$EXEEXT" ]; then
@ -615,6 +646,8 @@ echo "" >> Makefile
echo "ARB_STATIC=$STATIC" >> Makefile
echo "ARB_SHARED=$SHARED" >> Makefile
echo "ARB_LIB=$ARB_LIB" >> Makefile
echo "ARB_LIBNAME=$ARB_LIBNAME" >> Makefile
echo "ARB_SOLIB=$ARB_SOLIB" >> Makefile
echo "EXEEXT=$EXEEXT" >> Makefile
echo "PREFIX=$PREFIX" >> Makefile
echo "" >> Makefile
@ -627,6 +660,7 @@ echo "" >> Makefile
echo "CC=$CC" >> Makefile
echo "CXX=$CXX" >> Makefile
echo "AR=$AR" >> Makefile
echo "LDCONFIG=$LDCONFIG" >> Makefile
echo "" >> Makefile
echo "CFLAGS=$CFLAGS" >> Makefile
echo "ABI_FLAG=$ABI_FLAG" >> Makefile