View | Details | Raw Unified | Return to bug 219265 | Differences between
and this patch

Collapse All | Expand All

(-)math/superlu_mt/Makefile (-11 / +15 lines)
Lines 2-13 Link Here
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	superlu_mt
4
PORTNAME=	superlu_mt
5
PORTVERSION=	2.0.20080115
5
PORTVERSION=	3.1.20160319
6
PORTREVISION=	9
7
CATEGORIES=	math
6
CATEGORIES=	math
8
MASTER_SITES=	http://crd.lbl.gov/~xiaoye/SuperLU/ \
7
MASTER_SITES=	http://crd.lbl.gov/~xiaoye/SuperLU/ \
9
		http://crd.lbl.gov/~xiaoye/:doc
8
		http://crd.lbl.gov/~xiaoye/:doc
10
DISTNAME=	${PORTNAME}_2.0
9
DISTNAME=	${PORTNAME}_3.1
11
DISTFILES=	${DISTNAME}${EXTRACT_SUFX} simax97.ps.gz:doc
10
DISTFILES=	${DISTNAME}${EXTRACT_SUFX} simax97.ps.gz:doc
12
DIST_SUBDIR=	superlu2
11
DIST_SUBDIR=	superlu2
13
EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
12
EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
Lines 15-21 Link Here
15
MAINTAINER=	ports@FreeBSD.org
14
MAINTAINER=	ports@FreeBSD.org
16
COMMENT=	Routines for performing multithreaded sparse factorization
15
COMMENT=	Routines for performing multithreaded sparse factorization
17
16
17
LICENSE=	BSD3CLAUSE
18
#LICENSE_FILE=	${WRKSRC}/License.txt
19
18
BROKEN_aarch64=		fails to build: undefined reference to sbrk
20
BROKEN_aarch64=		fails to build: undefined reference to sbrk
21
BROKEN_sparc64= 	Does not link on sparc64
19
22
20
USES=		fortran gmake
23
USES=		fortran gmake
21
24
Lines 54-69 Link Here
54
.endif
57
.endif
55
58
56
USE_LDCONFIG=	yes
59
USE_LDCONFIG=	yes
57
WRKSRC=		${WRKDIR}/SuperLU_MT_2.0
60
WRKSRC=		${WRKDIR}/SuperLU_MT_3.1
58
WRKSRC_SHARED=	${WRKDIR}/SuperLU_MT_2.0_shared
61
WRKSRC_SHARED=	${WRKDIR}/SuperLU_MT_3.1_shared
59
ALL_TARGET=	lib
62
ALL_TARGET=	lib
60
SVERSION=	1
63
SVERSION=	1
61
64
62
ARCH2FIX=	CBLAS/Makefile MAKE_INC/make.openmp MAKE_INC/make.exemplar \
65
ARCH2FIX=	CBLAS/Makefile MAKE_INC/make.openmp MAKE_INC/make.exemplar \
63
		MAKE_INC/make.pthreads TESTING/MATGEN/Makefile	\
66
		make.inc SRC/Makefile TESTING/MATGEN/Makefile
64
		make.inc SRC/Makefile
65
67
66
post-patch:
68
do-configure:
67
.for fmk in ${ARCH2FIX}
69
.for fmk in ${ARCH2FIX}
68
	@${REINPLACE_CMD} -e 's|^ARCH *.= ar|ARCMD = ar| ; \
70
	@${REINPLACE_CMD} -e 's|^ARCH *.= ar|ARCMD = ar| ; \
69
		s|\$$(ARCH)|$$(ARCMD)|' ${WRKSRC}/${fmk}
71
		s|\$$(ARCH)|$$(ARCMD)|' ${WRKSRC}/${fmk}
Lines 106-114 Link Here
106
	done
108
	done
107
109
108
do-install:
110
do-install:
109
	${INSTALL_DATA} ${WRKDIR}/tmp_static/libsuperlu_mt.a ${STAGEDIR}${PREFIX}/lib
111
	${INSTALL_DATA} ${WRKDIR}/tmp_static/libsuperlu_mt_*.a ${STAGEDIR}${PREFIX}/lib
110
	${INSTALL_LIB} ${WRKDIR}/tmp_shared/libsuperlu_mt.so.${SVERSION} ${STAGEDIR}${PREFIX}/lib
112
	${INSTALL_LIB} ${WRKDIR}/tmp_shared/libsuperlu_mt_*.so.${SVERSION} ${STAGEDIR}${PREFIX}/lib
111
	cd ${STAGEDIR}${PREFIX}/lib && ${LN} -s -f libsuperlu_mt.so.${SVERSION} libsuperlu_mt.so
113
	cd ${STAGEDIR}${PREFIX}/lib && ${LN} -s -f libsuperlu_mt_PTHREAD.so.${SVERSION} libsuperlu_mt_PTHREAD.so
112
	${MKDIR} ${STAGEDIR}${PREFIX}/include/${PORTNAME}
114
	${MKDIR} ${STAGEDIR}${PREFIX}/include/${PORTNAME}
113
	${INSTALL_DATA} ${WRKSRC}/SRC/*.h ${STAGEDIR}${PREFIX}/include/${PORTNAME}
115
	${INSTALL_DATA} ${WRKSRC}/SRC/*.h ${STAGEDIR}${PREFIX}/include/${PORTNAME}
114
.if ${PORT_OPTIONS:MDOCS}
116
.if ${PORT_OPTIONS:MDOCS}
Lines 118-125 Link Here
118
	${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/simax97.ps.gz ${STAGEDIR}${DOCSDIR}
120
	${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/simax97.ps.gz ${STAGEDIR}${DOCSDIR}
119
.endif
121
.endif
120
122
123
.ifdef MANTAINER_MODE
121
regression-test: do-build
124
regression-test: do-build
122
	@(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} testing)
125
	@(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} testing)
123
	@(cd ${WRKSRC_SHARED} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} testing)
126
	@(cd ${WRKSRC_SHARED} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} testing)
127
.endif
124
128
125
.include <bsd.port.post.mk>
129
.include <bsd.port.post.mk>
(-)math/superlu_mt/distinfo (-2 / +3 lines)
Lines 1-4 Link Here
1
SHA256 (superlu2/superlu_mt_2.0.tar.gz) = 76f54f332db22313316798c3983b7bb704c159ce5a404ddda1f04d0fa477aab1
1
TIMESTAMP = 1494706587
2
SIZE (superlu2/superlu_mt_2.0.tar.gz) = 1332773
2
SHA256 (superlu2/superlu_mt_3.1.tar.gz) = 407b544b9a92b2ed536b1e713e80f986824cf3016657a4bfc2f3e7d2a76ecab6
3
SIZE (superlu2/superlu_mt_3.1.tar.gz) = 1824440
3
SHA256 (superlu2/simax97.ps.gz) = 8f8ae10e28dfdeda2fed58b0bcec1bf96f10fa7b1d055aff160d77d7aeb8a983
4
SHA256 (superlu2/simax97.ps.gz) = 8f8ae10e28dfdeda2fed58b0bcec1bf96f10fa7b1d055aff160d77d7aeb8a983
4
SIZE (superlu2/simax97.ps.gz) = 158724
5
SIZE (superlu2/simax97.ps.gz) = 158724
(-)math/superlu_mt/files/patch-INSTALL-Makefile (-3 / +3 lines)
Lines 1-6 Link Here
1
--- INSTALL/Makefile.orig	2013-11-16 19:14:28.000000000 +0100
1
--- INSTALL/Makefile.orig	2013-03-19 22:10:40 UTC
2
+++ INSTALL/Makefile	2013-11-16 19:14:58.000000000 +0100
2
+++ INSTALL/Makefile
3
@@ -17,7 +17,7 @@
3
@@ -17,7 +17,7 @@ install.out:
4
 
4
 
5
 slamch.o: slamch.c ; $(CC) $(NOOPTS) -c $<
5
 slamch.o: slamch.c ; $(CC) $(NOOPTS) -c $<
6
 dlamch.o: dlamch.c ; $(CC) $(NOOPTS) -c $<
6
 dlamch.o: dlamch.c ; $(CC) $(NOOPTS) -c $<
(-)math/superlu_mt/files/patch-SRC+slu_mt_util.h (-10 lines)
Lines 1-10 Link Here
1
--- SRC/slu_mt_util.h~	2008-01-09 08:28:56.000000000 +0900
2
+++ SRC/slu_mt_util.h	2008-07-02 09:54:31.000000000 +0900
3
@@ -12,6 +12,7 @@
4
 #include <stdio.h>
5
 #include <stdlib.h>
6
 #include <string.h>
7
+#include <pthread.h>
8
 
9
 /* Macros */
10
 #ifndef USER_ABORT
(-)math/superlu_mt/files/patch-TESTING+pddrive.c (-14 lines)
Lines 1-14 Link Here
1
--- TESTING/pddrive.c.orig	2008-06-18 22:06:40.000000000 -0500
2
+++ TESTING/pddrive.c	2008-06-18 22:08:38.000000000 -0500
3
@@ -9,6 +9,11 @@
4
 #define	FMT2      "%10s:fact=%d, trans=%d, refact=%d, equed=%d, n=%d, imat=%d, test(%d)=%12.5g\n"
5
 #define FMT3      "%10s:info=%d, izero=%d, n=%d, nrhs=%d, imat=%d, nfail=%d\n"
6
 
7
+/* SuperLU compatibility */
8
+#define DN SLU_DN
9
+#define _D SLU_D
10
+#define GE SLU_GE
11
+#define NC SLU_NC
12
 
13
 main(int argc, char *argv[])
14
 {
(-)math/superlu_mt/files/patch-TESTING+pdgssv.c (-16 lines)
Lines 1-16 Link Here
1
--- TESTING/pdgssv.c.orig	2008-06-18 22:09:01.000000000 -0500
2
+++ TESTING/pdgssv.c	2008-06-18 22:10:18.000000000 -0500
3
@@ -1,6 +1,13 @@
4
 #include "pdsp_defs.h"
5
 #include "util.h"
6
 
7
+/* SuperLU compatibility */
8
+#define DN SLU_DN
9
+#define _D SLU_D
10
+#define GE SLU_GE
11
+#define NC SLU_NC
12
+#define NR SLU_NR
13
+
14
 void
15
 pdgssv(int nprocs, SuperMatrix *A, int *perm_c, int *perm_r, 
16
        SuperMatrix *L, SuperMatrix *U, SuperMatrix *B, int *info )
(-)math/superlu_mt/files/patch-TESTING+pdgssvx.c (-16 lines)
Lines 1-16 Link Here
1
--- TESTING/pdgssvx.c.orig	2008-06-18 22:10:35.000000000 -0500
2
+++ TESTING/pdgssvx.c	2008-06-18 22:11:10.000000000 -0500
3
@@ -1,6 +1,13 @@
4
 #include "pdsp_defs.h"
5
 #include "util.h"
6
 
7
+/* SuperLU compatibility */
8
+#define DN SLU_DN
9
+#define _D SLU_D
10
+#define GE SLU_GE
11
+#define NC SLU_NC
12
+#define NR SLU_NR
13
+
14
 void
15
 pdgssvx(int nprocs, pdgstrf_options_t *pdgstrf_options, SuperMatrix *A, 
16
 	int *perm_c, int *perm_r, equed_t *equed, double *R, double *C,
(-)math/superlu_mt/files/patch-make.inc (-54 / +40 lines)
Lines 1-62 Link Here
1
--- make.inc.orig	2008-02-22 22:45:36 UTC
1
--- make.inc.orig	2015-04-30 00:46:42 UTC
2
+++ make.inc
2
+++ make.inc
3
@@ -16,13 +16,13 @@
3
@@ -22,7 +22,7 @@ PLAT = _PTHREAD
4
 TMGLIB       	= libtmglib$(PLAT).a
5
 SUPERLULIB   	= libsuperlu_mt$(PLAT).a
6
 BLASDEF	        = -DUSE_VENDOR_BLAS
7
-BLASLIB		= -L/usr/lib -lf77blas -latlas
8
+BLASLIB		= %%BLAS%%
9
 #BLASLIB = ../lib/libblas$(PLAT).a
10
 MATHLIB		= -lm 
11
 MPLIB		= -lpthread
12
@@ -40,8 +40,8 @@ RANLIB       	= ranlib
13
 # Definitions used by CPP:
14
 PREDEFS      	= -D__PTHREAD  ## -DDEBUGlevel=0 -DPRNTlevel=0
4
 #
15
 #
5
 #  The machine (platform) identifier to append to the library names
16
-CC           	= gcc
6
 #
17
-CFLAGS       	= $(PREDEFS) -g #-O3
7
-PLAT = _sp
18
+CC           	= %%CC%%
8
+PLAT = _PTHREAD
19
+CFLAGS       	= $(PREDEFS) %%CPPFLAGS%% %%CFLAGS%%
20
 # Uncomment the following to use 64-bit integer
21
 CFLAGS          += -D_LONGINT
9
 
22
 
10
 #
23
@@ -49,19 +49,19 @@ CFLAGS          += -D_LONGINT
11
 #  The name of the libraries to be created/linked to
24
 # There are a few files that should NOT be optimized, which appear in the
12
 #
25
 # end of SRC/Makefile, taking the flag $(NOOPTS)
13
-TMGLIB       = libtmglib.a
26
 # NOOPTS should be defined to explicitly turn off any optimization.
14
-SUPERLULIB   = libsuperlu_mt$(PLAT).a
27
-NOOPTS	     	= -O0
15
+TMGLIB       = libtmg.a
28
+NOOPTS	     	= -O0 %%FPIC%%
16
+SUPERLULIB   = libsuperlu_mt.a
17
 
29
 
18
 # 
30
-BLASOPTS	=
19
 # If you don't have ESSL, you can use the following blaslib instead:
31
+BLASOPTS	= 
20
@@ -30,7 +30,7 @@ SUPERLULIB   = libsuperlu_mt$(PLAT).a
21
 # which may be slower than ESSL
22
 #
23
 BLASDEF	  = -DUSE_VENDOR_BLAS
24
-BLASLIB   = -lessl
25
+BLASLIB   = %%BLAS%%
26
 #BLASLIB   = ../lib/libblas$(PLAT).a
27
 MATHLIB	  = -lm 
28
 MPLIB	  = -lpthread
29
@@ -38,7 +38,7 @@ MPLIB	  = -lpthread
30
 #  The archiver and the flag(s) to use when building archive (library)
31
 #  If your system has no ranlib, set RANLIB = echo.
32
 #
33
-ARCH         = ar
34
+ARCMD        = ar
35
 ARCHFLAGS    = cr
36
 RANLIB       = ranlib
37
 
32
 
38
@@ -46,16 +46,17 @@ RANLIB       = ranlib
33
 ############################################################################
39
 PREDEFS      	= -D_PTHREAD
40
 #
41
 
34
 
42
-CC           = xlc_r
35
-FORTRAN		= gfortran
43
-CFLAGS       = -qarch=pwr5 -qalias=allptrs $(PREDEFS) -DPRNTlevel=0 -O3
36
-FFLAGS		= -O -fdefault-integer-8
44
-FORTRAN	     = xlf
37
+FORTRAN		= %%FC%%
45
-FFLAGS       = -O3 -qarch=pwr5
38
+FFLAGS		= %%FFLAGS%% -fdefault-integer-8
46
-LOADER       = xlc_r
47
-LOADOPTS     = -bmaxdata:0x80000000
48
+CC           = %%CC%%
49
+CFLAGS       = $(PREDEFS) %%CPPFLAGS%% %%CFLAGS%%
50
+FORTRAN      = %%FC%%
51
+FFLAGS       = %%FFLAGS%%
52
+LOADER       = %%CC%%
53
+LOADOPTS     = %%LDFLAGS%%
54
+NOOPTS       = %%FPIC%%
55
 #
56
 #  C preprocessor defs for compilation for the Fortran interface
57
 #  (-DNoChange, -DAdd_, -DAdd__, or -DUpCase)
58
 #
59
-CDEFS        = -DNoChange
60
+CDEFS        = -DAdd_
61
 
39
 
40
 ############################################################################
62
 
41
 
42
-LOADER       	= gcc
43
-LOADOPTS     	= -O #-pthread
44
+LOADER       	= %%CC%%
45
+LOADOPTS     	= -O %%LDFLAGS%%
46
 
47
 ############################################################################
48
 #
(-)math/superlu_mt/pkg-descr (-1 / +1 lines)
Lines 1-4 Link Here
1
			SuperLU_MT (version 2.0)
1
				SuperLU_MT
2
			========================
2
			========================
3
3
4
SuperLU_MT contains a set of subroutines to solve a sparse linear system
4
SuperLU_MT contains a set of subroutines to solve a sparse linear system
(-)math/superlu_mt/pkg-plist (-7 / +7 lines)
Lines 1-16 Link Here
1
include/superlu_mt/colamd.h
1
include/superlu_mt/colamd.h
2
include/superlu_mt/pcsp_defs.h
3
include/superlu_mt/pdsp_defs.h
4
include/superlu_mt/pssp_defs.h
5
include/superlu_mt/pxgstrf_synch.h
2
include/superlu_mt/pxgstrf_synch.h
6
include/superlu_mt/pzsp_defs.h
7
include/superlu_mt/slu_dcomplex.h
3
include/superlu_mt/slu_dcomplex.h
8
include/superlu_mt/slu_mt_Cnames.h
4
include/superlu_mt/slu_mt_Cnames.h
5
include/superlu_mt/slu_mt_cdefs.h
6
include/superlu_mt/slu_mt_ddefs.h
9
include/superlu_mt/slu_mt_machines.h
7
include/superlu_mt/slu_mt_machines.h
8
include/superlu_mt/slu_mt_sdefs.h
10
include/superlu_mt/slu_mt_util.h
9
include/superlu_mt/slu_mt_util.h
10
include/superlu_mt/slu_mt_zdefs.h
11
include/superlu_mt/slu_scomplex.h
11
include/superlu_mt/slu_scomplex.h
12
include/superlu_mt/supermatrix.h
12
include/superlu_mt/supermatrix.h
13
lib/libsuperlu_mt.a
13
lib/libsuperlu_mt_PTHREAD.a
14
lib/libsuperlu_mt.so
14
lib/libsuperlu_mt_PTHREAD.so
15
lib/libsuperlu_mt.so.1
15
lib/libsuperlu_mt_PTHREAD.so.1
16
%%PORTDOCS%%%%DOCSDIR%%/simax97.ps.gz
16
%%PORTDOCS%%%%DOCSDIR%%/simax97.ps.gz

Return to bug 219265