aboutsummaryrefslogtreecommitdiffstats
path: root/math
diff options
context:
space:
mode:
Diffstat (limited to 'math')
-rw-r--r--math/sdpara/Makefile26
-rw-r--r--math/sdpara/files/patch-Makefile2
-rw-r--r--math/sdpara/files/patch-extraqualification13
3 files changed, 38 insertions, 3 deletions
diff --git a/math/sdpara/Makefile b/math/sdpara/Makefile
index 61356228dacd..5d54a2f88e1d 100644
--- a/math/sdpara/Makefile
+++ b/math/sdpara/Makefile
@@ -7,6 +7,7 @@
PORTNAME= sdpara
PORTVERSION= 1.0.1
+PORTREVISION= 1
CATEGORIES= math parallel
MASTER_SITES= http://grid.r.dendai.ac.jp/sdpa/files/
DISTFILES= ${PORTNAME}.${PORTVERSION}.src.tar.gz
@@ -24,10 +25,30 @@ BUILD_DEPENDS= ${LOCALBASE}/lib/libscalapack.a:${PORTSDIR}/math/scalapack \
${LOCALBASE}/lib/libblacs.a:${PORTSDIR}/math/blacs \
${LOCALBASE}/mpich2/lib/libmpich.a:${PORTSDIR}/net/mpich2
+WANT_FORTRAN=yes #dummy but future use
+BUILD_DEPENDS+= gfortran42:${PORTSDIR}/lang/gcc42
+FC= gfortran42
+F77= gfortran42
USE_GMAKE= yes
WRKSRC= ${WRKDIR}/${PORTNAME}
+
+#Atlas is always required as lapack.h and blas.h is required.
+#no blaswarp.h at the moment.
+LIB_DEPENDS+= atlas.2:${PORTSDIR}/math/atlas
+WITH_ATLAS= yes
+.if defined(WITH_ATLAS)
+BLAS= -lcblas -lf77blas -latlas
LAPACK= -lalapack
-CBLAS= -lcblas -lf77blas -latlas -lg2c
+CXXFLAGS+= -DNON_ATLAS_SDPA=0
+.else
+LIB_DEPENDS+= blas.2:${PORTSDIR}/math/blas
+LIB_DEPENDS+= lapack.4:${PORTSDIR}/math/lapack
+BLAS= -lblas
+LAPACK= -llapack
+CXXFLAGS+= -DNON_ATLAS_SDPA=1
+.endif
+FORTRANLIBS= -lgfortranbegin -lgfortran
+GCCLIBDIR= -L`${CAT} ${WRKSRC}/LIBDIR` -L`${CAT} ${WRKSRC}/LIBDIR`/../../..
PLIST_SUB+= PORTVERSION="${PORTVERSION}"
.include <bsd.port.pre.mk>
@@ -51,7 +72,8 @@ post-patch:
s|%%CXXFLAGS%%|${CXXFLAGS}|g ; \
s|%%FFLAGS%%|${FFLAGS}|g ; \
s|%%LAPACK%%|${LAPACK}|g ; \
- s|%%CBLAS%%|${CBLAS}|g' ${WRKSRC}/Makefile
+ s|%%BLAS%%|${BLAS}|g ; \
+ s|%%FORTRANLIBS%%|${FORTRANLIBS}|g ' ${WRKSRC}/Makefile
.if !defined(WITH_OPTIMIZED_FLAGS)
@${ECHO} "You can optimize by setting WITH_OPTIMIZED_FLAGS=yes."
.endif
diff --git a/math/sdpara/files/patch-Makefile b/math/sdpara/files/patch-Makefile
index 770cd5aeef7b..de2626bd4974 100644
--- a/math/sdpara/files/patch-Makefile
+++ b/math/sdpara/files/patch-Makefile
@@ -10,7 +10,7 @@
-LAPACK_LIB = -llapack -lcblaswr -lcblas \
- -lf77blas -lI77 -lF77 -latlas
-+LAPACK_LIB = -lalapack -lcblas -lf77blas -latlas -lg2c
++LAPACK_LIB = %%LAPACK%% %%BLAS%% %%FORTRANLIBS%%
# if you use BLAS in clapack.tgz, use next line
# and set NON_ATLAS_SDPA in rsdpa_include.h to 1.
diff --git a/math/sdpara/files/patch-extraqualification b/math/sdpara/files/patch-extraqualification
new file mode 100644
index 000000000000..2d440337376c
--- /dev/null
+++ b/math/sdpara/files/patch-extraqualification
@@ -0,0 +1,13 @@
+--- rsdpa_cg.h~ Thu Sep 2 13:32:37 2004
++++ rsdpa_cg.h Thu Jan 11 17:09:35 2007
+@@ -40,8 +40,8 @@
+ int descr[DLEN1_];
+
+
+- rCg::rCg();
+- rCg::~rCg();
++ rCg();
++ ~rCg();
+ int initialize(int m, double* A, int* descA,
+ double* x, int* descx);
+