# Created by: Sato Hiroki # $FreeBSD$ PORTNAME= gotoblas PORTVERSION= 2.${GOTOBLAS2VER}.${LAPACKVER} PORTREVISION= 2 CATEGORIES= math MASTER_SITES= ${MASTER_SITE_LOCAL:S|%SUBDIR%|maho/gotoblas|} \ NL:lapack,lapack_tmg MASTER_SITE_SUBDIR= lapack/:lapack lapack/timing/:lapack_tmg DISTFILES= GotoBLAS2-${GOTOBLAS2VER}_bsd.tar.gz \ lapack-${LAPACKVER}.tgz:lapack \ large.tgz:lapack_tmg timing.tgz:lapack_tmg EXTRACT_ONLY= ${GOTOBLAS2_SRCFILE} MAINTAINER= maho@FreeBSD.org COMMENT= A fast implementation of Basic Linear Algebra Subprograms LICENSE= BSD LICENSE_FILE= ${WRKSRC}/00License.txt DIST_SUBDIR= gotoblas GOTOBLAS2VER= 1.13 GOTOBLAS2_SRCFILE= GotoBLAS2-${GOTOBLAS2VER}_bsd.tar.gz LAPACKVER= 3.4.0 LAPACK_SRCFILE= lapack-${LAPACKVER}.tgz LARGE_FILE= large.tgz TIMING_FILE= timing.tgz USE_GMAKE= yes USE_LDCONFIG= yes WRKSRC= ${WRKDIR}/GotoBLAS2 USES= fortran gmake perl5 USE_GCC= yes USE_PERL5= build GOTOLIBS= libgoto2 libgoto2p GOTOFILES= ${GOTOLIBS:S|$|.so|} ${GOTOLIBS:S|$|.so.1|} ${GOTOLIBS:S|$|.a|} PLIST_FILES= ${GOTOFILES:S|^|lib/|} SUB_FILES= pkg-message SUB_LIST= MAXTHREADS=${MAXTHREADS} .if defined(PACKAGE_BUILDING) OPTIONS_DEFAULT_i386= DYNAMIC_ARCH OPTIONS_DEFAULT_amd64= DYNAMIC_ARCH .endif OPTIONS_DEFINE_i386= DYNAMIC_ARCH OPTIONS_DEFINE_amd64= DYNAMIC_ARCH OPTIONS_DEFINE= INTERFACE64 OPENMP DYNAMIC_ARCH_DESC= Support multiple CPU types on i386 and amd64 INTERFACE64_DESC= Use 8 byte integers on 64-bit architectures OPENMP_DESC= Use OpenMP for threading # QUAD_PRECISION "Support IEEE quad precision (experimental)" off NO_STAGE= yes .include MAXTHREADS?= 8 .if ${ARCH:M*64} == "" GOTOFLAGS+= BINARY32=1 .else GOTOFLAGS+= BINARY64=1 .endif .if ${PORT_OPTIONS:MDYNAMIC_ARCH} GOTOFLAGS+= DYNAMIC_ARCH=1 .endif .if ${PORT_OPTIONS:MINTERFACE64} GOTOFLAGS+= INTERFACE64=1 .endif .if ${PORT_OPTIONS:MOPENMP} GOTOFLAGS+= USE_OPENMP=1 .endif .if ${PORT_OPTIONS:MQUAD_PRECISION} BROKEN = WITH_QUAD_PRECISION is broken; please disable this option GOTOFLAGS+= QUAD_PRECISION=1 .endif post-extract: ${FIND} ${WRKSRC} -type f -name '.*' -delete cd ${DISTDIR}/${DIST_SUBDIR} ; \ ${CP} ${LAPACK_SRCFILE} ${LARGE_FILE} ${TIMING_FILE} ${WRKSRC} ${MKDIR} ${WRKDIR}/lib post-patch: ${REINPLACE_CMD} -e "s+%%FC%%+${FC}+" -e "s+%%CC%%+${CC}+" \ ${WRKSRC}/Makefile.rule ${REINPLACE_CMD} -e "s+%%LAPACKVER%%+${LAPACKVER}+g" \ ${WRKSRC}/Makefile ${REINPLACE_CMD} -e "s+%%LAPACKVER%%+${LAPACKVER}+g" \ ${WRKSRC}/exports/gensymbol ${REINPLACE_CMD} -e "s+(ARCH)+(ARCH_)+" \ ${WRKSRC}/Makefile.rule \ ${WRKSRC}/Makefile.tail \ ${WRKSRC}/driver/level3/Makefile \ ${WRKSRC}/driver/others/Makefile \ ${WRKSRC}/exports/Makefile \ ${WRKSRC}/interface/Makefile \ ${WRKSRC}/kernel/Makefile \ ${WRKSRC}/kernel/Makefile.L3 \ ${WRKSRC}/lapack/laswp/Makefile \ ${WRKSRC}/reference/Makefile ${REINPLACE_CMD} -e "s+(ARCH)+(ARCH_)+" \ -e 's+%%_GCC_RUNTIME%%+${_GCC_RUNTIME}+' \ -e 's+$$(CROSS_SUFFIX)+${LOCALBASE}/bin/+' \ ${WRKSRC}/Makefile.system .if ${PORT_OPTIONS:MOPENMP} ${REINPLACE_CMD} -e "s+GOTO_NUM_THREADS+OMP_NUM_THREADS+g" \ ${WRKSRC}/test/Makefile \ ${WRKSRC}/ctest/Makefile .endif do-build: cd ${WRKSRC} ; ${SETENV} ${GOTOFLAGS} NUM_THREADS=1 USE_THREAD=0 \ ${GMAKE} ${MAKE_ARGS} ${CP} ${WRKSRC}/libgoto2.a ${WRKDIR}/lib/libgoto2.a ${CP} ${WRKSRC}/libgoto2.so ${WRKDIR}/lib/libgoto2.so.1 cd ${WRKSRC} ; ${GMAKE} ${MAKE_ARGS} clean cd ${WRKSRC} ; ${SETENV} ${GOTOFLAGS} NUM_THREADS=${MAXTHREADS} \ USE_THREAD=1 ${GMAKE} ${MAKE_ARGS} ${CP} ${WRKSRC}/libgoto2.a ${WRKDIR}/lib/libgoto2p.a ${CP} ${WRKSRC}/libgoto2.so ${WRKDIR}/lib/libgoto2p.so.1 .if ! ${PORT_OPTIONS:MDEBUG} ${LOCALBASE}/bin/strip -X ${WRKDIR}/lib/*.so.1 .endif BENCHMARK_MAXTHREADS?= ${MAXTHREADS} .if ${PORT_OPTIONS:MOPENMP} BENCHMARK_THREADS_FLAG = OMP_NUM_THREADS=${BENCHMARK_MAXTHREADS} .else BENCHMARK_THREADS_FLAG = GOTO_NUM_THREADS=${BENCHMARK_MAXTHREADS} .endif benchmark: build cd ${WRKSRC} ; ${SETENV} ${GOTOFLAGS} NUM_THREADS=${MAXTHREADS} \ USE_THREAD=1 ${GMAKE} ${MAKE_ARGS} hpl cd ${WRKSRC}/benchmark ; ${SETENV} ${GOTOFLAGS} NUM_THREADS=${MAXTHREADS} \ USE_THREAD=1 ${BENCHMARK_THREADS_FLAG} ${GMAKE} ${MAKE_ARGS} do-install: cd ${WRKDIR}/lib ; \ ${INSTALL_DATA} ${GOTOLIBS:S|$|.a|} ${GOTOLIBS:S|$|.so.1|} \ ${PREFIX}/lib/ cd ${PREFIX}/lib ; \ for i in ${GOTOLIBS:S|$|.so|}; do \ ${LN} -sf $$i.1 $$i ; \ done .include ohover-highlight'>| * At Kris's request, back out the MACHINE_ARCH spelling correction untilobrien2005-04-122-2/+2 | | | | after 5.4-RELEASE. * - Fix MASTER_SITES.flz2005-04-113-6/+26 | | | | | | | - Support CC/CFLAGS properly. PR: ports/79755 Submitted by: Ports Fury * Assist getting more ports working on AMD64 by obeying theobrien2005-04-112-2/+2 | | | | Ports Collection documentation and use 'ARCH' rather than 'MACHINE_ARCH'. * - Fix MASTER_SITES (and thus unbreak the port).flz2005-04-112-26/+26 | | | | | PR: ports/79754 Submitted by: Ports Fury * - Update to 0.3.7pav2005-04-112-5/+6 | | | | | PR: ports/79756 Submitted by: Ports Fury * BROKEN: Unfetchablekris2005-03-271-0/+2 | | | | Approved by: portmgr (self) * Cleanup:vs2005-03-217-57/+11 | | | | | - Use PLIST_FILES - Don't patch Makefile excessively * Update to KDE 3.4lofi2005-03-216-774/+834 | * Add gnomeprefix and gnomehack, now it installs stuff in the correct place formezz2005-03-172-34/+34 | | | | | | the GNOME menu and fix the plist. Reported by: pointyhat via krion * Remove 1-line plists in favour of PLIST_FILESvs2005-03-152-1/+1 | * - Unbreak: Chase tarball reroll (verified)vs2005-03-144-19/+4 | | | | - Repackage * - Unbreak: Fix & cleanup packaging; use PORTDOCSvs2005-03-143-18/+13 | | | | - Fix typo in PORTREVISIOIN * Bump PORTREVISION to chase the glib20 shared lib version change.marcus2005-03-128-6/+8 | * - Reflect the state of art in gdesklets usagepav2005-03-124-6/+6 | | | | - Also fix few brainos * Add gtubeclock 0.9.1, a nixie tube clock for GNOME.vs2005-03-095-0/+59 | | | | | PR: ports/75991 Submitted by: UMENO Takashi * Use @freebsd.org address for my ports.novel2005-03-082-2/+2 | | | | Approved by: krion (mentor) * BROKEN: Size mismatchkris2005-02-191-0/+2 | * BROKEN: Incomplete pkg-plistkris2005-02-131-0/+2 | * update xfce4-datetime-plugin to 0.3.1oliver2005-01-283-6/+5 | | | | | PR: ports/76745 Submitted by: maintainer * - bring xfce4 to 4.2oliver2005-01-271-2/+2 | | | | | | | | - remove x11-fm/xfce4-fm-icons misc/xfce4-panel-themes (obsoleted by that update) - take maintainership of x11-wm/xfce4-session [1] - bump PORTREVISION of all plugins because they need to be linked against the new xfce4 libs Approved by: maintainer [1] * Add option "-H" - horizontal offset (e.g. osdclock -H 100).krion2005-01-082-5/+37 | | | | | PR: ports/75924 Submitted by: maintainer