diff options
Diffstat (limited to 'math/mumps')
| -rw-r--r-- | math/mumps/Makefile | 137 | ||||
| -rw-r--r-- | math/mumps/distinfo | 2 | ||||
| -rw-r--r-- | math/mumps/files/patch-Make.inc_Makefile.FREEBSD10.PAR | 89 | ||||
| -rw-r--r-- | math/mumps/files/patch-Make.inc_Makefile.FREEBSD10.SEQ | 73 | ||||
| -rw-r--r-- | math/mumps/files/patch-Makefile | 20 | ||||
| -rw-r--r-- | math/mumps/files/patch-PORD_lib_Makefile | 23 | ||||
| -rw-r--r-- | math/mumps/files/patch-examples_Makefile | 15 | ||||
| -rw-r--r-- | math/mumps/files/patch-libseq_Makefile | 27 | ||||
| -rw-r--r-- | math/mumps/files/patch-src_Makefile | 53 | ||||
| -rw-r--r-- | math/mumps/pkg-descr | 16 | ||||
| -rw-r--r-- | math/mumps/pkg-plist | 51 |
11 files changed, 506 insertions, 0 deletions
diff --git a/math/mumps/Makefile b/math/mumps/Makefile new file mode 100644 index 000000000000..fe03475b993f --- /dev/null +++ b/math/mumps/Makefile @@ -0,0 +1,137 @@ +# Created by: Pedro Giffuni +# $FreeBSD$ + +PORTNAME= mumps +DISTVERSION= 5.1.1-aster2 +PORTREVISION= 4 +CATEGORIES= math +PKGNAMESUFFIX= -edf + +MAINTAINER= thierry@FreeBSD.org +COMMENT= MUltifrontal Massively Parallel sparse direct Solver for Code_Aster + +LICENSE= CeCILL_C +LICENSE_NAME= CeCILL-C +LICENSE_FILE= ${WRKSRC}/LICENSE +LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept + +LIB_DEPENDS= libblas.so:math/blas \ + liblapack.so:math/lapack \ + libmetis.so:math/metis + +USES= fortran + +WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:R} +BLAS_LIBS= -lblas +LAPACK_LIBS= -llapack +FORTRANLIBS= -lgfortran +GCCLIBDIR= ${LDFLAGS} +USE_LDCONFIG= yes +VEM= ${PORTVERSION:R:R:R} +MUMPSVERSION= ${PORTVERSION:R} +LIBS= cmumps dmumps mumps_common pord smumps zmumps +PLIST_SUB= VE=${VEM} MUMPSVERSION=${MUMPSVERSION} + +CONFLICTS= mumps4-4* + +OPTIONS_DEFINE= DOCS EXAMPLES + +MAKE_JOBS_UNSAFE=yes + +.include <bsd.port.pre.mk> +.include "${.CURDIR}/../../french/aster/bsd.aster.mk" + +.ifdef WITH_MPI +PKGNAMESUFFIX+= -mpich +BUILD_DEPENDS+= ${LOCALBASE}/include/mpif.h:net/mpich2 \ + ${LOCALBASE}/lib/libblacs.a:math/blacs \ + ${LOCALBASE}/lib/libptscotch.a:cad/scotch \ + ${LOCALBASE}/lib/libscalapack.a:math/scalapack \ + ${LOCALBASE}/lib/parmetis/libmetis.a:math/parmetis +LIB_DEPENDS+= liblapack.so:math/lapack +# Note: -l?mumps still requires to be linked with -lblacs + -lscalapack +RUN_DEPENDS+= ${LOCALBASE}/bin/mpirun:net/mpich2 \ + ${LOCALBASE}/lib/libblacs.a:math/blacs \ + ${LOCALBASE}/lib/libscalapack.a:math/scalapack +PLIST_SUB+= WITH_LIBSEQ="@comment " +CONFLICTS+= mumps-5* +.else +BUILD_DEPENDS+= ${LOCALBASE}/lib/libscotch.a:cad/scotch +PLIST_SUB+= WITH_LIBSEQ="" +LIBS+= mpiseq +CONFLICTS+= mumps-mpich-5* +.endif + +pre-configure: +.ifdef WITH_MPI + ${INSTALL_DATA} ${WRKSRC}/Make.inc/Makefile.FREEBSD10.PAR \ + ${WRKSRC}/Makefile.inc +.else + ${INSTALL_DATA} ${WRKSRC}/Make.inc/Makefile.FREEBSD10.SEQ \ + ${WRKSRC}/Makefile.inc +.endif + ${DIRNAME} `${FC} -print-libgcc-file-name` > ${WRKSRC}/LIBDIR +.for MF in Makefile Makefile.inc PORD/lib/Makefile libseq/Makefile src/Makefile + ${REINPLACE_CMD} -e 's+@CC@+${CC}+g ; s+@FC@+${FC}+g ; \ + s+/usr/local+${LOCALBASE}+; \ + s+@CFLAGS@+${CFLAGS} -fPIC+g; \ + s+@FCFLAGS@+${FCFLAGS} -fPIC+g; \ + s+@SOVER@+${VEM}+g; \ + s+@GCCLIBDIR@+${GCCLIBDIR}+g; \ + s+@FORTRANLIBS@+${FORTRANLIBS}+g; \ + s+@BLAS_LIBS@+${BLAS_LIBS}+ ; \ + s+@LAPACK_LIBS@+${LAPACK_LIBS}+ ; \ + s+@LOCALBASE@+${LOCALBASE}+g;' \ + ${WRKSRC}/${MF} +.endfor + +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.${VEM} ${STAGEDIR}${PREFIX}/lib +.ifndef WITH_MPI + ${INSTALL_DATA} ${WRKSRC}/libseq/libmpiseq.a ${STAGEDIR}${PREFIX}/lib + ${INSTALL_LIB} ${WRKSRC}/libseq/libmpiseq*.so.${VEM} ${STAGEDIR}${PREFIX}/lib +.endif +.for lib in ${LIBS} + (cd ${STAGEDIR}${PREFIX}/lib && ${LN} -sf lib${lib}.so.${VEM} ${STAGEDIR}${PREFIX}/lib/lib${lib}.so) +. endfor + ${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/doc/userguide_${MUMPSVERSION}.pdf ${STAGEDIR}${DOCSDIR} + ${MKDIR} ${STAGEDIR}${EXAMPLESDIR} +. for ex in Makefile README *.c *.F input_simpletest_* + ${INSTALL_DATA} ${WRKSRC}/examples/${ex} ${STAGEDIR}${EXAMPLESDIR} +. endfor +. for ex in c_example *simpletest + ${INSTALL_PROGRAM} ${WRKSRC}/examples/${ex} ${STAGEDIR}${EXAMPLESDIR} +. endfor + +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 + ${CHMOD} go-r ${HOME}/.mpd.conf + @${ECHO_MSG} "${HOME}/.mpd.conf has been generated - please change the secret word!" +. endif + ${LOCALBASE}/bin/mpd & + (cd ${WRKSRC}/examples && \ + ${LOCALBASE}/bin/mpirun -np 2 ./ssimpletest < input_simpletest_real ; \ + ${LOCALBASE}/bin/mpirun -np 2 ./dsimpletest < input_simpletest_real ; \ + ${LOCALBASE}/bin/mpirun -np 2 ./csimpletest < input_simpletest_cmplx ; \ + ${LOCALBASE}/bin/mpirun -np 2 ./zsimpletest < input_simpletest_cmplx ; \ + ${ECHO_MSG} "The solution should be (1,2,3,4,5)" ; \ + ${LOCALBASE}/bin/mpirun -np 3 ./c_example ; \ + ${ECHO_MSG} "The solution should be (1,2)") + ${LOCALBASE}/bin/mpdallexit +.else + (cd ${WRKSRC}/examples && \ + ./ssimpletest < input_simpletest_real ; \ + ./dsimpletest < input_simpletest_real ; \ + ./csimpletest < input_simpletest_cmplx ; \ + ./zsimpletest < input_simpletest_cmplx ; \ + ${ECHO_MSG} "The solution should be (1,2,3,4,5)" ; \ + ./c_example ; \ + ${ECHO_MSG} "The solution should be (1,2)") +.endif + +.include <bsd.port.post.mk> diff --git a/math/mumps/distinfo b/math/mumps/distinfo new file mode 100644 index 000000000000..aca42d6ee1bc --- /dev/null +++ b/math/mumps/distinfo @@ -0,0 +1,2 @@ +SHA256 (MUMPS_4.10.0.tar.gz) = d0f86f91a74c51a17a2ff1be9c9cee2338976f13a6d00896ba5b43a5ca05d933 +SIZE (MUMPS_4.10.0.tar.gz) = 2481516 diff --git a/math/mumps/files/patch-Make.inc_Makefile.FREEBSD10.PAR b/math/mumps/files/patch-Make.inc_Makefile.FREEBSD10.PAR new file mode 100644 index 000000000000..a42435038545 --- /dev/null +++ b/math/mumps/files/patch-Make.inc_Makefile.FREEBSD10.PAR @@ -0,0 +1,89 @@ +--- Make.inc/Makefile.FREEBSD10.PAR.orig 2017-08-08 07:32:58 UTC ++++ Make.inc/Makefile.FREEBSD10.PAR +@@ -20,7 +20,7 @@ + # + + #SCOTCHDIR = ${HOME}/scotch_6.0 +-#ISCOTCH = -I$(SCOTCHDIR)/include ++ISCOTCH = -I@LOCALBASE@/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 +@@ -28,16 +28,16 @@ + # variable below); for both parallel and sequential analysis choose the second + # line (remember to add -Dptscotch in the ORDERINGSF variable below) + +-#LSCOTCH = -L$(SCOTCHDIR)/lib -lesmumps -lscotch -lscotcherr +-#LSCOTCH = -L$(SCOTCHDIR)/lib -lptesmumps -lptscotch -lptscotcherr ++#LSCOTCH = -L@LOCALBASE@/lib -lesmumps -lscotch -lscotcherr ++LSCOTCH = -L@LOCALBASE@/lib -lptesmumps -lptscotch -lptscotcherr + + + LPORDDIR = $(topdir)/PORD/lib/ + IPORD = -I$(topdir)/PORD/include/ + LPORD = -L$(LPORDDIR) -lpord + +-#LMETISDIR = /opt/metis-5.1.0/build/Linux-x86_64/libmetis +-#IMETIS = /opt/metis-5.1.0/include ++LMETISDIR = @LOCALBASE@/lib/parmetis ++IMETIS = @LOCALBASE@/include/parmetis + + # 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 +@@ -46,7 +46,7 @@ LPORD = -L$(LPORDDIR) -lpord + # line (remember to add -Dparmetis in the ORDERINGSF variable below) + + #LMETIS = -L$(LMETISDIR) -lmetis +-#LMETIS = -L$(LMETISDIR) -lparmetis -lmetis ++LMETIS = -L$(LMETISDIR) -lparmetis -lmetis + + # The following variables will be used in the compilation process. + # Please note that -Dptscotch and -Dparmetis imply -Dscotch and -Dmetis respectively. +@@ -66,34 +66,34 @@ IORDERINGSC = $(IMETIS) $(IPORD) $(ISCOT + + PLAT = + LIBEXT = .a +-OUTC = -o "" +-OUTF = -o "" ++OUTC = -o ++OUTF = -o + RM = /bin/rm -f +-CC = cc +-FC = gfortran48 +-FL = gfortran48 ++CC = @CC@ ++FC = @FC@ ++FL = @FC@ + # keep a space at the end if options have to be separated from lib name +-AR = ar -vr "" ++AR = ar -vr + RANLIB = ranlib + LAPACK = -llapack +-SCALAP = -lscalapack -lblacs ++SCALAP = -L@LOCALBASE@/lib -lblacs -lblacsc -lblacsf77 -lscalapack + + INCPAR = -I/usr/local/include +-LIBPAR = $(SCALAP) $(LAPACK) -L/usr/local/lib -lmpi ++LIBPAR = -L@LOCALBASE@/lib -lfmpich -lmpich -lmpl $(SCALAP) + + INCSEQ = -I$(topdir)/libseq + LIBSEQ = $(LAPACK) -L$(topdir)/libseq -lmpiseq +-LIBBLAS = -lblas +-LIBOTHERS = -lpthread ++LIBBLAS = -L@LOCALBASE@/lib @LAPACK_LIBS@ @BLAS_LIBS@ ++LIBOTHERS = -lpthread @GCCLIBDIR@ @FORTRANLIBS@ + + #Preprocessor defs for calling Fortran from C (-DAdd_ or -DAdd__ or -DUPPER) +-CDEFS = -DAdd_ ++CDEFS ?= -DAdd_ + + #Begin Optimized options + # uncomment -fopenmp in lines below to benefit from OpenMP +-OPTF = -O #-fopenmp ++OPTF = @FCFLAGS@ #-fopenmp + OPTL = -O #-fopenmp +-OPTC = -O -I. #-fopenmp ++OPTC = @CFLAGS@ -I. #-fopenmp + #End Optimized options + INCS = $(INCPAR) + LIBS = $(LIBPAR) diff --git a/math/mumps/files/patch-Make.inc_Makefile.FREEBSD10.SEQ b/math/mumps/files/patch-Make.inc_Makefile.FREEBSD10.SEQ new file mode 100644 index 000000000000..a1ac8868dd67 --- /dev/null +++ b/math/mumps/files/patch-Make.inc_Makefile.FREEBSD10.SEQ @@ -0,0 +1,73 @@ +--- Make.inc/Makefile.FREEBSD10.SEQ.orig 2017-08-08 07:32:58 UTC ++++ Make.inc/Makefile.FREEBSD10.SEQ +@@ -20,7 +20,7 @@ + # + + #SCOTCHDIR = ${HOME}/scotch_6.0 +-#ISCOTCH = -I$(SCOTCHDIR)/include ++ISCOTCH = -I@LOCALBASE@/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 +@@ -36,8 +36,8 @@ LPORDDIR = $(topdir)/PORD/lib/ + IPORD = -I$(topdir)/PORD/include/ + LPORD = -L$(LPORDDIR) -lpord + +-#LMETISDIR = /opt/metis-5.1.0/build/Linux-x86_64/libmetis +-#IMETIS = /opt/metis-5.1.0/include ++LMETISDIR = @LOCALBASE@/lib ++IMETIS = @LOCALBASE@/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 +@@ -45,7 +45,7 @@ LPORD = -L$(LPORDDIR) -lpord + # variable below); for both parallel and sequential analysis choose the second + # line (remember to add -Dparmetis in the ORDERINGSF variable below) + +-#LMETIS = -L$(LMETISDIR) -lmetis ++LMETIS = -L$(LMETISDIR) -lmetis + #LMETIS = -L$(LMETISDIR) -lparmetis -lmetis + + # The following variables will be used in the compilation process. +@@ -66,14 +66,14 @@ IORDERINGSC = $(IMETIS) $(IPORD) $(ISCOT + + PLAT = + LIBEXT = .a +-OUTC = -o "" +-OUTF = -o "" ++OUTC = -o ++OUTF = -o + RM = /bin/rm -f +-CC = cc +-FC = gfortran48 +-FL = gfortran48 ++CC = @CC@ ++FC = @FC@ ++FL = @FC@ + # keep a space at the end if options have to be separated from lib name +-AR = ar -vr "" ++AR = ar -vr + RANLIB = ranlib + LAPACK = -llapack + +@@ -81,16 +81,16 @@ LAPACK = -llapack + INCSEQ = -I$(topdir)/libseq + LIBSEQ = $(LAPACK) -L$(topdir)/libseq -lmpiseq + LIBBLAS = -lblas +-LIBOTHERS = -lpthread ++LIBOTHERS = -lpthread @GCCLIBDIR@ @FORTRANLIBS@ + + #Preprocessor defs for calling Fortran from C (-DAdd_ or -DAdd__ or -DUPPER) +-CDEFS = -DAdd_ ++CDEFS ?= -DAdd_ + + #Begin Optimized options + # uncomment -fopenmp in lines below to benefit from OpenMP +-OPTF = -O #-fopenmp ++OPTF = @FCFLAGS@ #-fopenmp + OPTL = -O #-fopenmp +-OPTC = -O -I. #-fopenmp ++OPTC = @CFLAGS@ -I. #-fopenmp + #End Optimized options + INCS = $(INCSEQ) + LIBS = $(LIBSEQ) diff --git a/math/mumps/files/patch-Makefile b/math/mumps/files/patch-Makefile new file mode 100644 index 000000000000..731981025fdc --- /dev/null +++ b/math/mumps/files/patch-Makefile @@ -0,0 +1,20 @@ +--- Makefile.orig 2017-08-08 07:32:58 UTC ++++ Makefile +@@ -54,7 +54,7 @@ dexamples: d + multi_example: s d c z + (cd examples ; $(MAKE) multi) + +-requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) ++requiredobj: Makefile.inc $(LIBSEQNEEDED) $(libdir)/libpord$(PLAT)$(LIBEXT) $(libdir)/libpord$(PLAT).so.@SOVER@ + + # dummy MPI library (sequential version) + +@@ -68,7 +68,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 new file mode 100644 index 000000000000..b13ad0eea785 --- /dev/null +++ b/math/mumps/files/patch-PORD_lib_Makefile @@ -0,0 +1,23 @@ +--- PORD/lib/Makefile.orig 2017-08-08 07:32:58 UTC ++++ PORD/lib/Makefile +@@ -22,12 +22,17 @@ OBJS = graph.o gbipart.o gbisect.o ddcre + # OUTC = -o + + .c.o: +- $(CC) $(COPTIONS) -c $*.c $(OUTC)$*.o ++ $(CC) $(COPTIONS) -c $*.c $(OUTC) $*.o + +-libpord$(LIBEXT):$(OBJS) +- $(AR)$@ $(OBJS) ++all: libpord$(LIBEXT) libpord.so.@SOVER@ ++ ++libpord$(LIBEXT): $(OBJS) ++ $(AR) $@ $(OBJS) + $(RANLIB) $@ + ++libpord.so.@SOVER@: $(OBJS) ++ $(CC) -shared $(OBJS) -Wl,-soname,libpord$(PLAT).so.@SOVER@ -o libpord$(PLAT).so.@SOVER@ ++ + clean: + rm -f *.o + diff --git a/math/mumps/files/patch-examples_Makefile b/math/mumps/files/patch-examples_Makefile new file mode 100644 index 000000000000..69740489ab6a --- /dev/null +++ b/math/mumps/files/patch-examples_Makefile @@ -0,0 +1,15 @@ +--- examples/Makefile.orig 2017-08-08 07:32:58 UTC ++++ examples/Makefile +@@ -57,9 +57,10 @@ multiple_arithmetics_example: $(LIBSMUMP + + .SUFFIXES: .c .F .o + .F.o: +- $(FC) $(OPTF) $(INCS) -I. -I$(topdir)/include -c $*.F $(OUTF)$*.o ++ $(FC) $(OPTF) $(INCS) -I. -I$(topdir)/include -c $*.F $(OUTF) $*.o ++ + .c.o: +- $(CC) $(OPTC) $(INCS) $(CDEFS) -I. -I$(topdir)/include -I$(topdir)/src -c $*.c $(OUTC)$*.o ++ $(CC) $(OPTC) $(INCS) $(CDEFS) -I. -I$(topdir)/include -I$(topdir)/src -c $*.c $(OUTC) $*.o + + + $(libdir)/libsmumps$(PLAT)$(LIBEXT): diff --git a/math/mumps/files/patch-libseq_Makefile b/math/mumps/files/patch-libseq_Makefile new file mode 100644 index 000000000000..6b8b95b0d229 --- /dev/null +++ b/math/mumps/files/patch-libseq_Makefile @@ -0,0 +1,27 @@ +--- libseq/Makefile.orig 2017-08-08 07:32:58 UTC ++++ libseq/Makefile +@@ -8,15 +8,20 @@ all: libmpiseq + + include ../Makefile.inc + +-libmpiseq: libmpiseq$(PLAT)$(LIBEXT) ++libmpiseq: libmpiseq$(PLAT)$(LIBEXT) libmpiseq$(PLAT).so.@SOVER@ + + 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.@SOVER@: mpi.o mpic.o elapse.o ++ $(FC) -shared ${.ALLSRC} -Wl,-soname,libmpiseq$(PLAT).so.@SOVER@ -o libmpiseq$(PLAT).so.@SOVER@ ++ + .f.o: +- $(FC) $(OPTF) -c $*.f $(OUTF)$*.o ++ $(FC) $(OPTF) -c $*.f $(OUTF) $*.o ++ + .c.o: +- $(CC) $(OPTC) $(CDEFS) -I. -c $*.c $(OUTC)$*.o ++ $(CC) $(OPTC) $(CDEFS) -I. -c $*.c $(OUTC) $*.o + + clean: + $(RM) *.o *$(LIBEXT) diff --git a/math/mumps/files/patch-src_Makefile b/math/mumps/files/patch-src_Makefile new file mode 100644 index 000000000000..6756a0652a75 --- /dev/null +++ b/math/mumps/files/patch-src_Makefile @@ -0,0 +1,53 @@ +--- src/Makefile.orig 2017-08-08 07:32:58 UTC ++++ src/Makefile +@@ -24,7 +24,9 @@ z: + include $(topdir)/Makefile.inc + + mumps_lib: $(libdir)/libmumps_common$(PLAT)$(LIBEXT) \ +- $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT) ++ $(libdir)/libmumps_common$(PLAT).so.@SOVER@ \ ++ $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT) \ ++ $(libdir)/lib$(ARITH)mumps$(PLAT).so.@SOVER@ + + OBJS_COMMON_MOD = \ + lr_common.o \ +@@ -168,13 +170,19 @@ OBJS_OTHER = \ + $(ARITH)type3_root.o + + $(libdir)/libmumps_common$(PLAT)$(LIBEXT): $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER) +- $(AR)$@ $? ++ $(AR) $@ $? + $(RANLIB) $@ + ++$(libdir)/libmumps_common$(PLAT).so.@SOVER@: $(OBJS_COMMON_MOD) $(OBJS_COMMON_OTHER) ++ $(FC) -shared ${.ALLSRC} -Wl,-soname,libmumps_common$(PLAT).so.@SOVER@ -L$(libdir) $(LORDERINGS) $(LIBPAR) $(LIBOTHERS) -o $(libdir)/libmumps_common$(PLAT).so.@SOVER@ ++ + $(libdir)/lib$(ARITH)mumps$(PLAT)$(LIBEXT): $(OBJS_MOD) $(OBJS_OTHER) +- $(AR)$@ $? ++ $(AR) $@ $? + $(RANLIB) $@ + ++$(libdir)/lib$(ARITH)mumps$(PLAT).so.@SOVER@: $(OBJS_MOD) $(OBJS_OTHER) ++ $(FC) -shared ${.ALLSRC} -Wl,-soname,lib$(ARITH)mumps$(PLAT).so.@SOVER@ -L$(libdir) -lmumps_common$(PLAT) $(LORDERINGS) $(LIBPAR) -lblas $(SCALAP) $(LIBOTHERS) -o $(libdir)/lib$(ARITH)mumps$(PLAT).so.@SOVER@ ++ + # Dependencies between modules: + $(ARITH)mumps_load.o: $(ARITH)mumps_comm_buffer.o \ + $(ARITH)mumps_struc_def.o \ +@@ -290,13 +298,14 @@ $(OBJS_OTHER):$(OBJS_COMMON_MOD) $(OBJS_ + + .SUFFIXES: .c .F .o + .F.o: +- $(FC) $(OPTF) $(INCS) $(IORDERINGSF) $(ORDERINGSF) -I. -I../include -c $*.F $(OUTF)$*.o ++ $(FC) $(OPTF) $(INCS) $(IORDERINGSF) $(ORDERINGSF) -I. -I../include -c $*.F $(OUTF) $*.o ++ + .c.o: +- $(CC) $(OPTC) $(INCS) -I../include $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -c $*.c $(OUTC)$*.o ++ $(CC) $(OPTC) $(INCS) -I../include $(CDEFS) $(IORDERINGSC) $(ORDERINGSC) -c $*.c $(OUTC) $*.o + + $(ARITH)mumps_c.o: mumps_c.c + $(CC) $(OPTC) $(INCS) $(CDEFS) -DMUMPS_ARITH=MUMPS_ARITH_$(ARITH) \ +- $(IORDERINGSC) $(ORDERINGSC) -I../include -c mumps_c.c $(OUTC)$@ ++ $(IORDERINGSC) $(ORDERINGSC) -I../include -c mumps_c.c $(OUTC) $@ + + + clean: diff --git a/math/mumps/pkg-descr b/math/mumps/pkg-descr new file mode 100644 index 000000000000..ce8f956266a4 --- /dev/null +++ b/math/mumps/pkg-descr @@ -0,0 +1,16 @@ +MUMPS is a Distributed Multifrontal Solver (F90, MPI based) with Dynamic +Distributed Scheduling to accomodate both numerical fill-in and multi-user +environment. + +- Solution of large linear systems with symmetric positive definite +matrices; general symmetric matrices; general unsymmetric matrices. +- Version for complex arithmetic. +- Parallel factorization and solve phases (uniprocessor version also +available). +- Iterative refinement and backward error analysis. +- Various matrix input formats: assembled format; distributed assembled +format; elemental format. +- Partial factorization and Schur complement matrix. +- Several orderings interfaced : AMD, AMF, PORD, METIS + +WWW: http://graal.ens-lyon.fr/MUMPS/ diff --git a/math/mumps/pkg-plist b/math/mumps/pkg-plist new file mode 100644 index 000000000000..5eca59545f93 --- /dev/null +++ b/math/mumps/pkg-plist @@ -0,0 +1,51 @@ +include/cmumps_c.h +include/cmumps_root.h +include/cmumps_struc.h +include/dmumps_c.h +include/dmumps_root.h +include/dmumps_struc.h +include/mumps_c_types.h +include/mumps_compat.h +include/smumps_c.h +include/smumps_root.h +include/smumps_struc.h +include/zmumps_c.h +include/zmumps_root.h +include/zmumps_struc.h +lib/libcmumps.a +lib/libcmumps.so +lib/libcmumps.so.%%VE%% +lib/libdmumps.a +lib/libdmumps.so +lib/libdmumps.so.%%VE%% +%%WITH_LIBSEQ%%lib/libmpiseq.a +%%WITH_LIBSEQ%%lib/libmpiseq.so +%%WITH_LIBSEQ%%lib/libmpiseq.so.%%VE%% +lib/libmumps_common.a +lib/libmumps_common.so +lib/libmumps_common.so.%%VE%% +lib/libpord.a +lib/libpord.so +lib/libpord.so.%%VE%% +lib/libsmumps.a +lib/libsmumps.so +lib/libsmumps.so.%%VE%% +lib/libzmumps.a +lib/libzmumps.so +lib/libzmumps.so.%%VE%% +%%PORTDOCS%%%%DOCSDIR%%/userguide_%%MUMPSVERSION%%.pdf +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/Makefile +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/README +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c_example +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/c_example.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csimpletest +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/csimpletest.F +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dsimpletest +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/dsimpletest.F +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/input_simpletest_cmplx +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/input_simpletest_real +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/multiple_arithmetics_example.F +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ssimpletest +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ssimpletest.F +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/zsimpletest +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/zsimpletest.F |
