diff options
author | maho <maho@FreeBSD.org> | 2007-01-07 06:18:51 +0800 |
---|---|---|
committer | maho <maho@FreeBSD.org> | 2007-01-07 06:18:51 +0800 |
commit | 50960988ecbd469b047472667f64211d3d38230a (patch) | |
tree | ddfbd3960a46e6035f42b0b0f59ab20123b3d7e1 /math/atlas | |
parent | 191916650d789c81c8de68028d1978796b8e70c9 (diff) | |
download | freebsd-ports-gnome-50960988ecbd469b047472667f64211d3d38230a.tar.gz freebsd-ports-gnome-50960988ecbd469b047472667f64211d3d38230a.tar.zst freebsd-ports-gnome-50960988ecbd469b047472667f64211d3d38230a.zip |
* Migrate to gfortran.
* portlint.
* (option) Installing benchmark tests for real FLOPS.
* Bump portrevision.
Diffstat (limited to 'math/atlas')
-rw-r--r-- | math/atlas/Makefile | 60 | ||||
-rw-r--r-- | math/atlas/files/Makefile.test | 35 | ||||
-rw-r--r-- | math/atlas/files/patch-config.c | 15 | ||||
-rw-r--r-- | math/atlas/pkg-plist | 49 |
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%% |