diff options
| author | Thierry Thomas <thierry@FreeBSD.org> | 2017-06-14 17:04:45 +0000 | 
|---|---|---|
| committer | Thierry Thomas <thierry@FreeBSD.org> | 2017-06-14 17:04:45 +0000 | 
| commit | b7d639773470a01a6efd47cf65a494f0fb8cc042 (patch) | |
| tree | 3ece528b9b3cd497d4bbd66fe36c13f717e298f5 | |
| parent | * Updated to 2.5.10 (diff) | |
Build and install the shared libraries.
They are needed by pfg@ to port trilinos.
| -rw-r--r-- | math/mumps/Makefile | 19 | ||||
| -rw-r--r-- | math/mumps/files/patch-Make.inc_Makefile.inc.generic (renamed from math/mumps/files/patch-Make.inc+Makefile.inc.generic) | 16 | ||||
| -rw-r--r-- | math/mumps/files/patch-Make.inc_Makefile.inc.generic.SEQ (renamed from math/mumps/files/patch-Make.inc+Makefile.inc.generic.SEQ) | 14 | ||||
| -rw-r--r-- | math/mumps/files/patch-Makefile | 20 | ||||
| -rw-r--r-- | math/mumps/files/patch-PORD_lib_Makefile | 18 | ||||
| -rw-r--r-- | math/mumps/files/patch-libseq_Makefile | 21 | ||||
| -rw-r--r-- | math/mumps/files/patch-src_Makefile | 27 | ||||
| -rw-r--r-- | math/mumps/pkg-plist | 16 | 
8 files changed, 118 insertions, 33 deletions
| diff --git a/math/mumps/Makefile b/math/mumps/Makefile index 616ebc86f9aa..1c46ead5769e 100644 --- a/math/mumps/Makefile +++ b/math/mumps/Makefile @@ -2,8 +2,8 @@  # $FreeBSD$  PORTNAME=	mumps -PORTVERSION=	4.10.0 -PORTREVISION=	6 +PORTVERSION=	4.10.0	# Please do not upgrade to 5+: if needed repocopy to math/mumps5 +PORTREVISION=	7  CATEGORIES=	math  MASTER_SITES=	http://mumps.enseeiht.fr/		\  		http://graal.ens-lyon.fr/MUMPS/		\ @@ -38,6 +38,7 @@ MAKE_JOBS_UNSAFE=yes  FORTRANLIBS=	-lgfortran  GCCLIBDIR=	${LDFLAGS} +USE_LDCONFIG=	yes  .if defined(WITH_OPTIMIZED_FLAGS)  FFLAGS+=	-O3 -ffast-math @@ -95,18 +96,22 @@ pre-configure:  .else  	${INSTALL_DATA} ${WRKSRC}/Make.inc/Makefile.inc.generic.SEQ \  		${WRKSRC}/Makefile.inc +	${REINPLACE_CMD} -e 's+LIBPAR+LIBSEQ+' ${WRKSRC}/src/Makefile  .endif  pre-build:  	${DIRNAME} `${FC} -print-libgcc-file-name` > ${WRKSRC}/LIBDIR +.for MF in Makefile.inc PORD/lib/Makefile libseq/Makefile src/Makefile  	${REINPLACE_CMD} -e 's+@CC@+${CC}+g ; s+@FC@+${FC}+g ; \ -	s+@CFLAGS@+${CFLAGS}+g; \ -	s+@FCFLAGS@+${FCFLAGS}+g; \ +	s+@CFLAGS@+${CFLAGS} -fPIC+g; \ +	s+@FCFLAGS@+${FCFLAGS} -fPIC+g; \ +	s+@SOVER@+${PORTVERSION}+g; \  	s+@GCCLIBDIR@+${GCCLIBDIR}+g; \  	s+@FORTRANLIBS@+${FORTRANLIBS}+g; \  	s+@BLAS_LIBS@+${BLAS_LIBS}+ ; \  	s+@LOCALBASE@+${LOCALBASE}+g;' \ -		${WRKSRC}/Makefile.inc +		${WRKSRC}/${MF} +.endfor  .ifdef WITH_MPI  	${REINPLACE_CMD} -e 's+@LAPACK_LIBS@+${LAPACK_LIBS}+g;' ${WRKSRC}/Makefile.inc  .endif @@ -117,8 +122,10 @@ pre-build:  do-install:  	${INSTALL_DATA} ${WRKSRC}/include/*.h ${STAGEDIR}${PREFIX}/include  	${INSTALL_DATA} ${WRKSRC}/lib/lib*.a ${STAGEDIR}${PREFIX}/lib +	${INSTALL_LIB} ${WRKSRC}/lib/lib*.so ${STAGEDIR}${PREFIX}/lib  .ifndef WITH_MPI  	${INSTALL_DATA} ${WRKSRC}/libseq/libmpiseq.a ${STAGEDIR}${PREFIX}/lib +	${INSTALL_LIB} ${WRKSRC}/libseq/libmpiseq*.so ${STAGEDIR}${PREFIX}/lib  .endif  	${MKDIR} ${STAGEDIR}${DOCSDIR}  	${INSTALL_DATA} ${WRKSRC}/doc/userguide_${PORTVERSION}.pdf ${STAGEDIR}${DOCSDIR} @@ -132,7 +139,7 @@ do-install:  	${INSTALL_PROGRAM} ${WRKSRC}/examples/${ex} ${STAGEDIR}${EXAMPLESDIR}  . endfor -regression-test: +regression-test:	install  .if defined (WITH_MPI) && defined(MAINTAINER_MODE)  .  if !exists(${HOME}/.mpd.conf)  	@${ECHO_CMD} "MPD_SECRETWORD=change_on_install" > ${HOME}/.mpd.conf diff --git a/math/mumps/files/patch-Make.inc+Makefile.inc.generic b/math/mumps/files/patch-Make.inc_Makefile.inc.generic index c46cc3a1b0a7..c6202a95efed 100644 --- a/math/mumps/files/patch-Make.inc+Makefile.inc.generic +++ b/math/mumps/files/patch-Make.inc_Makefile.inc.generic @@ -1,5 +1,5 @@ ---- Make.inc/Makefile.inc.generic.orig	2011-05-10 14:56:32.000000000 +0200 -+++ Make.inc/Makefile.inc.generic	2013-08-11 17:41:51.000000000 +0200 +--- Make.inc/Makefile.inc.generic.orig	2011-05-10 12:56:32 UTC ++++ Make.inc/Makefile.inc.generic  @@ -39,7 +39,7 @@   #          Metis/ParMetis and SCOTCH/PT-SCOTCH (ver 5.1 and later) orderings are now available for MUMPS.   # @@ -9,7 +9,7 @@   #ISCOTCH    = -I$(SCOTCHDIR)/include    # You have to choose one among the following two lines depending on   # the type of analysis you want to perform. If you want to perform only -@@ -55,7 +55,7 @@ +@@ -55,7 +55,7 @@ LPORDDIR = $(topdir)/PORD/lib/   IPORD    = -I$(topdir)/PORD/include/   LPORD    = -L$(LPORDDIR) -lpord @@ -18,7 +18,7 @@   #IMETIS    = # Should be provided if you use parmetis   # You have to choose one among the following two lines depending on -@@ -70,7 +70,7 @@ +@@ -70,7 +70,7 @@ LPORD    = -L$(LPORDDIR) -lpord   # The following variables will be used in the compilation process.   # Please note that -Dptscotch and -Dparmetis imply -Dscotch and -Dmetis respectively.   #ORDERINGSF = -Dscotch -Dmetis -Dpord -Dptscotch -Dparmetis @@ -27,7 +27,7 @@   ORDERINGSC  = $(ORDERINGSF)   LORDERINGS = $(LMETIS) $(LPORD) $(LSCOTCH) -@@ -91,11 +91,11 @@ +@@ -91,11 +91,11 @@ OUTF    = -o    # RM : remove files   RM      = /bin/rm -f   # CC : C compiler @@ -42,7 +42,7 @@   # AR : Archive object in a library   #      keep a space at the end if options have to be separated from lib name   AR      = ar vr  -@@ -105,13 +105,13 @@ +@@ -105,13 +105,13 @@ RANLIB  = ranlib   #RANLIB  = echo   # SCALAP should define the SCALAPACK and  BLACS libraries. @@ -59,7 +59,7 @@   # The parallel version is not concerned by the next two lines.   # They are related to the sequential library provided by MUMPS, -@@ -121,10 +121,10 @@ +@@ -121,10 +121,10 @@ LIBSEQ  = -Llibseq -lmpiseq   # DEFINE HERE YOUR BLAS LIBRARY @@ -72,7 +72,7 @@   # FORTRAN/C COMPATIBILITY:   #  Use: -@@ -137,11 +137,11 @@ +@@ -137,11 +137,11 @@ LIBOTHERS = -lpthread   #     leave empty if your Fortran compiler does not change the symbols.   # diff --git a/math/mumps/files/patch-Make.inc+Makefile.inc.generic.SEQ b/math/mumps/files/patch-Make.inc_Makefile.inc.generic.SEQ index 0d2b5c84ff0c..dfbe12362ca7 100644 --- a/math/mumps/files/patch-Make.inc+Makefile.inc.generic.SEQ +++ b/math/mumps/files/patch-Make.inc_Makefile.inc.generic.SEQ @@ -1,5 +1,5 @@ ---- Make.inc/Makefile.inc.generic.SEQ.orig	2011-05-10 14:56:32.000000000 +0200 -+++ Make.inc/Makefile.inc.generic.SEQ	2013-08-11 18:13:02.000000000 +0200 +--- Make.inc/Makefile.inc.generic.SEQ.orig	2011-05-10 12:56:32 UTC ++++ Make.inc/Makefile.inc.generic.SEQ  @@ -41,7 +41,7 @@   #          Metis/ParMetis and SCOTCH/PT-SCOTCH (ver 5.1 and later) orderings are now available for MUMPS.   # @@ -9,7 +9,7 @@   #ISCOTCH    = -I$(SCOTCHDIR)/include    # You have to choose one among the following two lines depending on   # the type of analysis you want to perform. If you want to perform only -@@ -57,7 +57,7 @@ +@@ -57,7 +57,7 @@ LPORDDIR = $(topdir)/PORD/lib/   IPORD    = -I$(topdir)/PORD/include/   LPORD    = -L$(LPORDDIR) -lpord @@ -18,7 +18,7 @@   #IMETIS    = # Should be provided if you use parmetis   # You have to choose one among the following two lines depending on -@@ -72,7 +72,7 @@ +@@ -72,7 +72,7 @@ LPORD    = -L$(LPORDDIR) -lpord   # The following variables will be used in the compilation process.   # Please note that -Dptscotch and -Dparmetis imply -Dscotch and -Dmetis respectively.   #ORDERINGSF = -Dscotch -Dmetis -Dpord -Dptscotch -Dparmetis @@ -27,7 +27,7 @@   ORDERINGSC  = $(ORDERINGSF)   LORDERINGS = $(LMETIS) $(LPORD) $(LSCOTCH) -@@ -95,11 +95,11 @@ +@@ -95,11 +95,11 @@ OUTF    = -o    # RM : remove files   RM      = /bin/rm -f   # CC : C compiler @@ -42,7 +42,7 @@   # AR : Archive object in a library   #      keep a space at the end if options have to be separated from lib name   AR      = ar vr  -@@ -112,14 +112,14 @@ +@@ -112,14 +112,14 @@ RANLIB  = ranlib   # the sequential library provided by MUMPS, to use instead   # of ScaLAPACK and MPI.   INCSEQ  = -I$(topdir)/libseq @@ -60,7 +60,7 @@   # FORTRAN/C COMPATIBILITY:   #  Use: -@@ -132,12 +132,12 @@ +@@ -132,12 +132,12 @@ LIBOTHERS = -lpthread   #     leave empty if your Fortran compiler does not change the symbols.   # diff --git a/math/mumps/files/patch-Makefile b/math/mumps/files/patch-Makefile new file mode 100644 index 000000000000..ade5e437da94 --- /dev/null +++ b/math/mumps/files/patch-Makefile @@ -0,0 +1,20 @@ +--- Makefile.orig	2011-05-10 12:56:32 UTC ++++ Makefile +@@ -51,7 +51,7 @@ zexamples:	z + 	(cd examples ; $(MAKE) z) +  +  +-requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) ++requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) $(libdir)/libpord$(PLAT).so +  + # dummy MPI library (sequential version) +  +@@ -65,7 +65,7 @@ $(libdir)/libpord$(PLAT)$(LIBEXT): + 	  $(MAKE) CC="$(CC)" CFLAGS="$(OPTC)" AR="$(AR)" RANLIB="$(RANLIB)" OUTC=$(OUTC) LIBEXT=$(LIBEXT); \ + 	fi; + 	if [ "$(LPORDDIR)" != "" ] ; then \ +-	  cp $(LPORDDIR)/libpord$(LIBEXT) $@; \ ++	  cp $(LPORDDIR)/libpord* $(libdir)/; \ + 	fi; +  + clean: diff --git a/math/mumps/files/patch-PORD_lib_Makefile b/math/mumps/files/patch-PORD_lib_Makefile index 81650eefd782..b99561151625 100644 --- a/math/mumps/files/patch-PORD_lib_Makefile +++ b/math/mumps/files/patch-PORD_lib_Makefile @@ -1,11 +1,21 @@ ---- PORD/lib/Makefile.orig	2011-05-10 14:56:32.000000000 +0200 -+++ PORD/lib/Makefile	2013-08-11 18:31:47.000000000 +0200 -@@ -22,7 +22,7 @@ +--- PORD/lib/Makefile.orig	2011-05-10 12:56:32 UTC ++++ PORD/lib/Makefile +@@ -21,10 +21,16 @@ OBJS = graph.o gbipart.o gbisect.o ddcre + .c.o:   	$(CC) $(COPTIONS) -c $*.c $(OUTC)$*.o - libpord$(LIBEXT):$(OBJS) +-libpord$(LIBEXT):$(OBJS)  -	$(AR)$@ $(OBJS) ++all: libpord$(LIBEXT) libpord.so ++ ++libpord$(LIBEXT): $(OBJS)  +	$(AR) $@ $(OBJS)   	$(RANLIB) $@ ++libpord.so: $(OBJS) ++	$(CC) -shared $(OBJS) -Wl,-soname,libpord$(PLAT)-@SOVER@.so -o libpord$(PLAT)-@SOVER@.so -Wl,-z,defs ++	ln -s libpord$(PLAT)-@SOVER@.so $@ ++   clean: + 	rm -f *.o +  diff --git a/math/mumps/files/patch-libseq_Makefile b/math/mumps/files/patch-libseq_Makefile index 49139f081522..7397dd3f27c7 100644 --- a/math/mumps/files/patch-libseq_Makefile +++ b/math/mumps/files/patch-libseq_Makefile @@ -1,11 +1,24 @@ ---- libseq/Makefile.orig	2011-05-10 14:56:39.000000000 +0200 -+++ libseq/Makefile	2013-08-11 18:05:34.000000000 +0200 -@@ -10,7 +10,7 @@ - libmpiseq: libmpiseq$(PLAT)$(LIBEXT) +--- libseq/Makefile.orig	2011-05-10 12:56:39 UTC ++++ libseq/Makefile +@@ -7,13 +7,19 @@ all: libmpiseq +  + include ../Makefile.inc +  +-libmpiseq: libmpiseq$(PLAT)$(LIBEXT) ++libmpiseq: libmpiseq$(PLAT)$(LIBEXT) libmpiseq$(PLAT).so   libmpiseq$(PLAT)$(LIBEXT): mpi.o mpic.o elapse.o  -	$(AR)$@ mpi.o mpic.o elapse.o  +	$(AR) $@ mpi.o mpic.o elapse.o   	$(RANLIB) $@ ++ ++libmpiseq$(PLAT).so: mpi.o mpic.o elapse.o ++	$(FC) -shared ${.ALLSRC} -Wl,-soname,libmpiseq$(PLAT)-@SOVER@.so -o libmpiseq$(PLAT)-@SOVER@.so -Wl,-z,defs ++	ln -s libmpiseq$(PLAT)-@SOVER@.so $@ ++   .f.o:   	$(FC) $(OPTF)              -c $*.f $(OUTF)$*.o ++ + .c.o: + 	$(CC) $(OPTC) $(CDEFS) -I. -c $*.c $(OUTC)$*.o +  diff --git a/math/mumps/files/patch-src_Makefile b/math/mumps/files/patch-src_Makefile index a8fc29b955c7..84d868e2b788 100644 --- a/math/mumps/files/patch-src_Makefile +++ b/math/mumps/files/patch-src_Makefile @@ -1,6 +1,17 @@ ---- src/Makefile.orig	2011-05-10 14:56:32.000000000 +0200 -+++ src/Makefile	2013-08-11 18:08:25.000000000 +0200 -@@ -53,11 +53,11 @@ +--- src/Makefile.orig	2011-05-10 12:56:32 UTC ++++ src/Makefile +@@ -20,7 +20,9 @@ z: + include $(topdir)/Makefile.inc +  + mumps_lib:    $(libdir)/libmumps_common$(PLAT)$(LIBEXT) \ +-              $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT) ++              $(libdir)/libmumps_common$(PLAT).so \ ++              $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT) \ ++              $(libdir)/lib$(ARITH)mumps$(PLAT).so +  + OBJS_COMMON = \ +         mumps_part9.o\ +@@ -53,13 +55,21 @@ OBJS = 	$(ARITH)mumps_part1.o\   $(libdir)/libmumps_common$(PLAT)$(LIBEXT):	$(OBJS_COMMON) @@ -8,9 +19,19 @@  +	$(AR) $@ $?   	$(RANLIB) $@ ++$(libdir)/libmumps_common$(PLAT).so:	$(OBJS_COMMON) ++	$(FC) -shared ${.ALLSRC} -Wl,-soname,libmumps_common$(PLAT)-@SOVER@.so -L$(libdir) $(LORDERINGS) $(LIBPAR) $(LIBOTHERS) -o $(libdir)/libmumps_common$(PLAT)-@SOVER@.so -Wl,-z,defs ++	ln -s libmumps_common$(PLAT)-@SOVER@.so $@ ++   $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT):    $(OBJS)  -	$(AR)$@ $?  +	$(AR) $@ $?   	$(RANLIB) $@ ++$(libdir)/lib$(ARITH)mumps$(PLAT).so:    $(OBJS) ++	$(FC) -shared ${.ALLSRC} -Wl,-soname,lib$(ARITH)mumps$(PLAT)-@SOVER@.so -L$(libdir) -lmumps_common$(PLAT) $(LORDERINGS) $(LIBPAR) -lblas $(SCALAP) $(LIBOTHERS) -o $(libdir)/lib$(ARITH)mumps$(PLAT)-@SOVER@.so -Wl,-z,defs ++	ln -s lib$(ARITH)mumps$(PLAT)-@SOVER@.so $@ ++   $(ARITH)mumps_load.o:		$(ARITH)mumps_comm_buffer.o \ + 				$(ARITH)mumps_struc_def.o +  diff --git a/math/mumps/pkg-plist b/math/mumps/pkg-plist index 6d9abf822459..cbda83091df7 100644 --- a/math/mumps/pkg-plist +++ b/math/mumps/pkg-plist @@ -12,13 +12,27 @@ include/smumps_struc.h  include/zmumps_c.h  include/zmumps_root.h  include/zmumps_struc.h +lib/libcmumps-%%MUMPSVERSION%%.so  lib/libcmumps.a +lib/libcmumps.so +lib/libdmumps-%%MUMPSVERSION%%.so  lib/libdmumps.a +lib/libdmumps.so +%%WITH_LIBSEQ%%lib/libmpiseq-%%MUMPSVERSION%%.so +%%WITH_LIBSEQ%%lib/libmpiseq.a +%%WITH_LIBSEQ%%lib/libmpiseq.so +lib/libmumps_common-%%MUMPSVERSION%%.so  lib/libmumps_common.a +lib/libmumps_common.so +lib/libpord-%%MUMPSVERSION%%.so  lib/libpord.a +lib/libpord.so +lib/libsmumps-%%MUMPSVERSION%%.so  lib/libsmumps.a +lib/libsmumps.so +lib/libzmumps-%%MUMPSVERSION%%.so  lib/libzmumps.a -%%WITH_LIBSEQ%%lib/libmpiseq.a +lib/libzmumps.so  %%PORTDOCS%%%%DOCSDIR%%/userguide_%%MUMPSVERSION%%.pdf  %%PORTDOCS%%%%DOCSDIR%%/userguide_%%MUMPSVERSION%%.ps.gz  %%PORTEXAMPLES%%%%EXAMPLESDIR%%/Makefile | 
