Index: head/math/abacus/Makefile =================================================================== --- head/math/abacus/Makefile (revision 464387) +++ head/math/abacus/Makefile (revision 464388) @@ -1,40 +1,38 @@ # Created by: gahr # $FreeBSD$ PORTNAME= abacus DISTVERSION= 3.2betaU1 -PORTREVISION= 8 +PORTREVISION= 9 CATEGORIES= math MASTER_SITES= http://www.informatik.uni-koeln.de/abacus/ MAINTAINER= ports@FreeBSD.org COMMENT= Branch-And-CUt System LICENSE= LGPL21+ -DEPRECATED= Unmaintained and has a broken shared library -EXPIRATION_DATE= 2018-03-31 - LIB_DEPENDS= libClp.so:math/coinmp NO_WRKSUBDIR= yes USES= gmake perl5 USE_PERL5= build USE_LDCONFIG= yes ALL_TARGET= abacus +CXXFLAGS+= -fPIC MAKE_ARGS= CCC="${CXX}" PERL="${PERL}" STRIP="${STRIP_CMD} -x" \ ARCHIVE="${AR} ${ARFLAGS}" CCFLAG_DEBOPT="${CXXFLAGS}" \ OSI_INCLUDE="${LOCALBASE}/include/coin" do-install: ${INSTALL_DATA} ${WRKSRC}/lib/linux20-gcc44/libabacus-osi.a \ ${STAGEDIR}${PREFIX}/lib ${INSTALL_LIB} ${WRKSRC}/lib/linux20-gcc44/libabacus-osi.so.1 \ ${STAGEDIR}${PREFIX}/lib ${LN} -sf libabacus-osi.so.1 \ ${STAGEDIR}${PREFIX}/lib/libabacus-osi.so (cd ${WRKSRC}/Include && ${COPYTREE_SHARE} abacus \ ${STAGEDIR}${PREFIX}/include) .include Index: head/math/abacus/files/patch-Makefile =================================================================== --- head/math/abacus/files/patch-Makefile (revision 464387) +++ head/math/abacus/files/patch-Makefile (revision 464388) @@ -1,45 +1,47 @@ ---- Makefile.orig 2012-01-06 14:29:04.000000000 +0100 -+++ Makefile 2013-09-05 14:35:52.000000000 +0200 +--- Makefile.orig 2012-01-06 13:29:04 UTC ++++ Makefile @@ -177,6 +177,11 @@ $(OBJDIR)/%.o: $(SRCDIR)/%.cc $(CCC) $(CCFLAGS) $(ADDFLAGS) -c $< -o $@ $(STRIP) $@ +# the shared object files +$(OBJDIR)/%.So: $(SRCDIR)/%.cc + $(CCC) -fPIC $(CCFLAGS) $(ADDFLAGS) -c $< -o $@ + $(STRIP) $@ + ####################################################################### # -@@ -523,15 +524,20 @@ +@@ -523,15 +528,22 @@ $(LIBDIR)/stuff/interface-osi.a: $(OSI_O $(ARCHIVE) $@ $(OSI_O) # The basic ABACUS library -abacus-base: $(LIBDIR)/stuff/abacus-base.a +abacus-base-static: $(LIBDIR)/stuff/abacus-base.a +abacus-base-shared: $(LIBDIR)/stuff/abacus-base.so.1 $(LIBDIR)/stuff/abacus-base.a: $(ABACUS_O) rm -f $@ @$(PRE_ARCHIVE) $(ABACUS_O) $(ARCHIVE) $@ $(ABACUS_O) +$(LIBDIR)/stuff/abacus-base.so.1: $(ABACUS_O:%.o=%.So) + rm -f $@ -+ $(CCC) $(LDFLAGS) -shared -o $@ $(ABACUS_O:%.o=%.So) ++ $(CCC) $(LDFLAGS) -shared -o $@ $(ABACUS_O:%.o=%.So) \ ++ `find $(LIBDIR)/temp -name \*.o | xargs -n1` \ ++ `find $(LIBDIR)/stuff -name \*.o | xargs -n1` \ + # Build the library distribution directory (lib and lib/stuff) -lib-all: subdirs abacus-base lpif interface $(ADDITIONAL_LIB_ALL) +lib-all: subdirs abacus-base-static abacus-base-shared lpif interface $(ADDITIONAL_LIB_ALL) # Create a tar file containing all necessary stuff to compile ABACUS on # a remote system. -@@ -571,6 +577,7 @@ +@@ -571,6 +583,7 @@ have_lib = $(wildcard $(LIBDIR)/libabacu abacus: lib-all cp $(LIBDIR)/stuff/abacus-base.a $(LIBDIR)/libabacus-osi.a + cp $(LIBDIR)/stuff/abacus-base.so.1 $(LIBDIR)/libabacus-osi.so.1 mkdir $(LIBDIR)/temp cd $(LIBDIR)/temp; ar x ../stuff/interface-osi.a find $(LIBDIR)/temp -name \*.o | xargs -n1 ar r $(LIBDIR)/libabacus-osi.a