aboutsummaryrefslogtreecommitdiff
path: root/math/atlas
diff options
context:
space:
mode:
authorMaho Nakata <maho@FreeBSD.org>2007-01-06 22:18:51 +0000
committerMaho Nakata <maho@FreeBSD.org>2007-01-06 22:18:51 +0000
commit6d395117efa4858db1a02ec0fd24ca54d09c05ab (patch)
tree5a569117726353c4f1394a7bbab9478e918ca18a /math/atlas
parentc1168dd28a268ff86c8a43ea6c187818376d2356 (diff)
downloadports-6d395117efa4858db1a02ec0fd24ca54d09c05ab.tar.gz
ports-6d395117efa4858db1a02ec0fd24ca54d09c05ab.zip
Notes
Diffstat (limited to 'math/atlas')
-rw-r--r--math/atlas/Makefile60
-rw-r--r--math/atlas/files/Makefile.test35
-rw-r--r--math/atlas/files/patch-config.c15
-rw-r--r--math/atlas/pkg-plist49
4 files changed, 145 insertions, 14 deletions
diff --git a/math/atlas/Makefile b/math/atlas/Makefile
index 5625f37aea05..613caa4891bb 100644
--- a/math/atlas/Makefile
+++ b/math/atlas/Makefile
@@ -10,6 +10,7 @@
PORTNAME= atlas
PORTVERSION= 3.6.0
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= math
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
@@ -19,18 +20,31 @@ DISTNAME= ${PORTNAME}${PORTVERSION}
MAINTAINER= maho@FreeBSD.org
COMMENT= Automatically Tuned Linear Algebra Software (ATLAS)
-NO_PACKAGE= "Optimizes for the local machine, so a package is not generally useful. Set FORCE_PACKAGE to override"
+NO_PACKAGE= Optimizes for the local machine, so a package is not generally useful. Set FORCE_PACKAGE to override
CONFLICTS= elmer-mathlibs-1*
USE_BZIP2= yes
WRKSRC= ${WRKDIR}/ATLAS
-INSTALLS_SHLIB= yes
+USE_LDCONFIG= yes
.include <bsd.port.pre.mk>
-.if ${OSVERSION} < 501000 && ${ARCH} == "alpha"
-USE_GCC=3.4
+#to compile the ATLAS kernel we use gcc3. See ATLAS/INSTALL.txt for details.
+WANT_FORTRAN= yes
+USE_GCC=4.2+
+.if ${OSVERSION} > 700000
+BUILD_DEPENDS+= gcc34:${PORTSDIR}/lang/gcc34
+CCOMPILER= gcc34
+.elif ${OSVERSION} < 501000 && ${ARCH} == "alpha"
+BUILD_DEPENDS+= gcc34:${PORTSDIR}/lang/gcc34
+CCOMPILER= gcc34
+.else
+CCOMPILER:= cc
+.endif
+.if defined(WITH_TESTS)
+LIB_DEPENDS+= blas.1:${PORTSDIR}/math/blas
+LIB_DEPENDS+= lapack.3:${PORTSDIR}/math/lapack
.endif
# only affects for lapack sub project
@@ -48,6 +62,7 @@ post-patch:
.endif
@${REINPLACE_CMD} -e 's+%%PTHREAD_CFLAGS%%+${PTHREAD_CFLAGS}+g' \
-e 's+%%PTHREAD_LIBS%%+${PTHREAD_LIBS}+g' \
+ -e 's+%%LOCALBASE%%+${LOCALBASE}+g' \
${WRKSRC}/config.c
.if defined(PORTS_ARCH)
@${REINPLACE_CMD} -e 's+%%PORTS_ARCH%%+${PORTS_ARCH}+g' \
@@ -56,11 +71,11 @@ post-patch:
@${REINPLACE_CMD} -e 's+%%PORTS_ARCH%%+0+g' \
-e 's+%%HAVE_ARCH%%+0+g' ${WRKSRC}/config.c
.endif
-.if (${MACHINE_ARCH} == "alpha")
+.if (${ARCH} == "alpha")
EXTRA_PATCHES+= ${FILESDIR}/alpha-patch
.endif
-.if ${MACHINE_ARCH} == "sparc64"
+.if ${ARCH} == "sparc64"
PICFLAG?= -fPIC
.else
PICFLAG?= -fpic
@@ -69,7 +84,7 @@ PICFLAG?= -fpic
ANSWER_i386?= ${PRINTF} "\n\n\n\n\n\n\n\n\n\n"
ANSWER_ia64?= ${PRINTF} "\n\n\n2\n\n\n\n\nf77\n-O2 -static\n\n"
-.if defined(PACKAGE_BUILDING) && (${MACHINE_ARCH} == "i386")
+.if defined(PACKAGE_BUILDING) && (${ARCH} == "i386")
PORTS_ARCH=IntP5
.endif
@@ -84,9 +99,14 @@ EXTRA_PATCHES+= ${FILESDIR}/timing_tolerance-patch
.endif
.if defined(WITH_STATICLIB)
-PLIST_SUB= WITH_STATICLIB=""
+PLIST_SUB+= WITH_STATICLIB=""
+.else
+PLIST_SUB+= WITH_STATICLIB="@comment "
+.endif
+.if defined(WITH_TESTS)
+PLIST_SUB+= WITH_TESTS=""
.else
-PLIST_SUB= WITH_STATICLIB="@comment "
+PLIST_SUB+= WITH_TESTS="@comment "
.endif
pre-configure:
@@ -122,12 +142,12 @@ pre-configure:
do-configure:
@(cd ${WRKSRC}; ${MAKE_ENV} ${MAKE} xconfig && \
- ${ANSWER} | ./xconfig -N 1 -c ${CC} -f ${FC} -m ${CC} -g ${CC} -x ${CC} -a NON_THREADED && \
- ${ANSWER} | ./xconfig -N 1 -c ${CC} -f ${FC} -m ${CC} -g ${CC} -x ${CC} -a NON_THREADED_PIC -C '${PICFLAG} -DPIC' -F f '${PICFLAG} -DPIC -O' )
+ ${ANSWER} | ./xconfig -N 1 -c ${CCOMPILER} -f ${FC} -m ${CCOMPILER} -g ${CCOMPILER} -x ${CCOMPILER} -a NON_THREADED && \
+ ${ANSWER} | ./xconfig -N 1 -c ${CCOMPILER} -f ${FC} -m ${CCOMPILER} -g ${CCOMPILER} -x ${CCOMPILER} -a NON_THREADED_PIC -C '${PICFLAG} -DPIC' -F f '${PICFLAG} -DPIC -O' )
@(cd ${WRKSRC}; ${PATCH} < ${FILESDIR}/thread-patch && \
${MAKE_ENV} ${MAKE} xconfig && \
- ${ANSWER} | ./xconfig -c ${CC} -f ${FC} -m ${CC} -g ${CC} -x ${CC} -a THREADED && \
- ${ANSWER} | ./xconfig -c ${CC} -f ${FC} -m ${CC} -g ${CC} -x ${CC} -a THREADED_PIC -C '${PICFLAG} -DPIC' -F f '${PICFLAG} -DPIC -O' )
+ ${ANSWER} | ./xconfig -c ${CCOMPILER} -f ${FC} -m ${CCOMPILER} -g ${CCOMPILER} -x ${CCOMPILER} -a THREADED && \
+ ${ANSWER} | ./xconfig -c ${CCOMPILER} -f ${FC} -m ${CCOMPILER} -g ${CCOMPILER} -x ${CCOMPILER} -a THREADED_PIC -C '${PICFLAG} -DPIC' -F f '${PICFLAG} -DPIC -O' )
ATLAS_LIBS1=libalapack libatlas libcblas libf77blas libtstatlas
ATLAS_LIBS2=libptcblas libptf77blas
@@ -150,6 +170,9 @@ do-build:
@(cd ${WRKSRC}; ${MAKE} ${.MAKEFLAGS} "ARCH=NON_THREADED" install arch=NON_THREADED)
@(cd ${WRKSRC}; ${MAKE} ${.MAKEFLAGS} "ARCH=THREADED" install arch=THREADED)
.endif
+.if defined(WITH_TESTS)
+ @${MAKE} test
+.endif
post-build:
.if defined(WITH_STATICLIB)
@@ -239,5 +262,14 @@ do-install:
@${MKDIR} ${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/doc/* ${DOCSDIR}
.endif
-
+.if defined(WITH_TESTS)
+ ${MKDIR} ${EXAMPLESDIR}
+ @for i in ${ALLTESTS} ; do \
+ cd ${WRKDIR}/ATLAS/bin/NON_THREADED_PIC ; ${INSTALL_PROGRAM} $${i} ${EXAMPLESDIR} ; \
+ done
+ @for i in ${ALLTESTS_PT} ; do \
+ cd ${WRKDIR}/ATLAS/bin/THREADED_PIC ; ${INSTALL_PROGRAM} $${i} ${EXAMPLESDIR} ; \
+ done
+.endif
+.include <${FILESDIR}/Makefile.test>
.include <bsd.port.post.mk>
diff --git a/math/atlas/files/Makefile.test b/math/atlas/files/Makefile.test
new file mode 100644
index 000000000000..34c74c9711fd
--- /dev/null
+++ b/math/atlas/files/Makefile.test
@@ -0,0 +1,35 @@
+ALLTESTS = xsl3blastst xdl3blastst xcl3blastst xzl3blastst \
+ xsl2blastst xdl2blastst xcl2blastst xzl2blastst \
+ xsl1blastst xdl1blastst xcl1blastst xzl1blastst \
+ xslutst xslutstF xdlutst xdlutstF xclutst xclutstF \
+ xzlutst xzlutstF xsllttst xsllttstF xdllttst xdllttstF \
+ xcllttst xcllttstF xzllttst xzllttstF
+
+ALLTESTS_PT = xsl3blastst_pt xdl3blastst_pt xcl3blastst_pt xzl3blastst_pt \
+ xslutst_pt xslutstF_pt xdlutst_pt xdlutstF_pt xclutst_pt xclutstF_pt \
+ xzlutst_pt xzlutstF_pt xsllttst_pt xsllttstF_pt xdllttst_pt \
+ xdllttstF_pt xcllttst_pt xcllttstF_pt xzllttst_pt xzllttstF_pt
+#builderrors?
+# xsl1blastst_pt xdl1blastst_pt xcl1blastst_pt xzl1blastst_pt \
+# xsl2blastst_pt xdl2blastst_pt xcl2blastst_pt xzl2blastst_pt \
+
+test:
+ @for i in ${ALLTESTS} ; do \
+ ${ECHO_CMD} "Making $${i}" ; \
+ cd ${WRKDIR}/ATLAS/bin/NON_THREADED_PIC/ ; ${GMAKE} ${.MAKEFLAGS} "ARCH=NON_THREADED_PIC" $${i} ; \
+ done
+ @for i in ${ALLTESTS_PT} ; do \
+ ${ECHO_CMD} "Making $${i}" ; \
+ cd ${WRKDIR}/ATLAS/bin/THREADED_PIC ; ${GMAKE} ${.MAKEFLAGS} "ARCH=THREADED_PIC" $${i} ; \
+ done
+ @for i in ${ALLTESTS} ; do \
+ ${ECHO_CMD} "Benchmarking $${i}" ; \
+ cd ${WRKDIR}/ATLAS/bin/NON_THREADED_PIC ; ./$${i} ; \
+ done
+ @for i in ${ALLTESTS_PT} ; do \
+ ${ECHO_CMD} "Benchmarking $${i}" ; \
+ cd ${WRKDIR}/ATLAS/bin/THREADED_PIC ; ./$${i} ; \
+ done
+
+
+
diff --git a/math/atlas/files/patch-config.c b/math/atlas/files/patch-config.c
index 3ac9303830e7..c7417d2ff76c 100644
--- a/math/atlas/files/patch-config.c
+++ b/math/atlas/files/patch-config.c
@@ -165,3 +165,18 @@
if (OS == OSAIX) fprintf(fpout, " -DIBM_PT_ERROR");
if (OS == OSIRIX) fprintf(fpout, " -D_POSIX_C_SOURCE=199506L");
}
+--- config.c.orig Sat Jan 6 21:07:32 2007
++++ config.c Sun Jan 7 06:06:08 2007
+@@ -4177,9 +4177,9 @@
+ fprintf(fpout, "# ------------------------------------\n");
+ fprintf(fpout, "# Reference and system libraries\n");
+ fprintf(fpout, "# ------------------------------------\n");
+- fprintf(fpout, " BLASlib = %s\n", BLASlib);
+- fprintf(fpout, " FBLASlib = \n");
+- fprintf(fpout, " FLAPACKlib = \n");
++ fprintf(fpout, " BLASlib = -L%%LOCALBASE%%/lib -lblas\n");
++ fprintf(fpout, " FBLASlib = -L%%LOCALBASE%%/lib -lblas\n");
++ fprintf(fpout, " FLAPACKlib = -L%%LOCALBASE%%/lib -llapack\n");
+ fprintf(fpout, " LIBS = %s\n\n", LIBS);
+
+ fprintf(fpout,
diff --git a/math/atlas/pkg-plist b/math/atlas/pkg-plist
index 2eefb616bc66..10d5f4af292e 100644
--- a/math/atlas/pkg-plist
+++ b/math/atlas/pkg-plist
@@ -54,3 +54,52 @@ lib/libtstatlas_r.so
%%PORTDOCS%%share/doc/atlas/f77blasqref.ps
%%PORTDOCS%%share/doc/atlas/lapackqref.ps
%%PORTDOCS%%@dirrm share/doc/atlas
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xcl1blastst
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xcl2blastst
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xcl3blastst
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xcl3blastst_pt
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xcllttst
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xcllttstF
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xcllttstF_pt
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xcllttst_pt
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xclutst
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xclutstF
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xclutstF_pt
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xclutst_pt
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xdl1blastst
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xdl2blastst
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xdl3blastst
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xdl3blastst_pt
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xdllttst
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xdllttstF
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xdllttstF_pt
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xdllttst_pt
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xdlutst
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xdlutstF
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xdlutstF_pt
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xdlutst_pt
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xsl1blastst
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xsl2blastst
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xsl3blastst
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xsl3blastst_pt
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xsllttst
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xsllttstF
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xsllttstF_pt
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xsllttst_pt
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xslutst
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xslutstF
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xslutstF_pt
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xslutst_pt
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xzl1blastst
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xzl2blastst
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xzl3blastst
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xzl3blastst_pt
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xzllttst
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xzllttstF
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xzllttstF_pt
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xzllttst_pt
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xzlutst
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xzlutstF
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xzlutstF_pt
+%%WITH_TESTS%%%%EXAMPLESDIR%%/xzlutst_pt
+%%WITH_TESTS%%@dirrm %%EXAMPLESDIR%%