ports/67271: [MAINTAINER] math/fftw3: [lots of new stuff]

michael johnson ahze at ahze.net
Thu May 27 21:31:00 UTC 2004


>Number:         67271
>Category:       ports
>Synopsis:       [MAINTAINER] math/fftw3: [lots of new stuff]
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Thu May 27 14:30:16 PDT 2004
>Closed-Date:
>Last-Modified:
>Originator:     michael johnson
>Release:        FreeBSD 5.2-CURRENT i386
>Organization:
>Environment:
System: FreeBSD gentoo.ahze.net 5.2-CURRENT FreeBSD 5.2-CURRENT #45: Mon May  3 05:09:04 EDT
>Description:
- new WITH_SSE knob
- build & install fftw3 in single percision along with double
 
Generated with FreeBSD Port Tools 0.50
>How-To-Repeat:
>Fix:

--- fftw3-3.0.1_1.patch begins here ---
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/math/fftw3/Makefile,v
retrieving revision 1.18
diff -u -r1.18 Makefile
--- Makefile	18 Apr 2004 10:48:22 -0000	1.18
+++ Makefile	27 May 2004 21:18:04 -0000
@@ -7,6 +7,7 @@
 
 PORTNAME=	fftw3
 PORTVERSION=	3.0.1
+PORTREVISION=	1
 CATEGORIES=	math
 MASTER_SITES=	ftp://ftp.fftw.org/pub/fftw/ 		\
 		ftp://ftp.fftw.org/pub/fftw/old/ 	\
@@ -20,34 +21,86 @@
 USE_GMAKE=	yes
 USE_LIBTOOL_VER=13
 USE_GNOME=	gnomehack gnomeprefix gnometarget lthack pkgconfig
+USE_REINPLACE=	yes
 INSTALLS_SHLIB=	yes
 
-MAN1=	fftw-wisdom-to-conf.1 fftw-wisdom.1
+MAN1=	fftw-wisdom-to-conf.1 fftw-wisdom.1 fftwf-wisdom.1
 INFO=	fftw3
 
-CONFIGURE_ARGS=	--enable-shared
+CONFIGURE_ARGS=	--enable-shared --with-our-malloc16
 CONFIGURE_ENV=	CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS}" \
 		LDFLAGS="${LDFLAGS} ${PTHREAD_LIBS}"
+# FFTW --enable-single Options
+CONFIGURE_ARGS_FFTW3F=--enable-single ${CONFIGURE_ARGS}
+FFTW3F_WRKSRC=	${WRKDIR}/${DISTNAME}-3F
+FFTW3F_INSTALL_TARGET=install-pkgconfigDATA install-libLTLIBRARIES install-exec
 
 OPTIONS=	OPTIMIZED_CFLAGS "Enable optimized CFLAGS" off \
 		OPTIMIZED_ATHLON "Enable AMD K7(Athlon) optimizations" off \
+		SSE "Enable SSE optimized routines" off \
 		SMP_THREADS "Enable FFTW SMP threads library" off
 
 .include <bsd.port.pre.mk>
 
 .if defined(WITH_OPTIMIZED_CFLAGS) && !defined(WITH_OPTIMIZED_ATHLON)
-CONFIGURE_ENV+=	CFLAGS="${CFLAGS} -O2 -ffast-math -fomit-frame-pointer"
+CONFIGURE_ENV+=	CFLAGS="${CFLAGS:N-O:N-O*} -O2 -ffast-math -fomit-frame-pointer"
 .endif
 
 .if defined(WITH_OPTIMIZED_ATHLON)
 CONFIGURE_ARGS+=--enable-k7
-CONFIGURE_ENV+=	CFLAGS="${CFLAGS} -O3 -fomit-frame-pointer -fno-schedule-insns \
+CONFIGURE_ENV+=	CFLAGS="${CFLAGS:N-O:N-O*} -O3 -fomit-frame-pointer -fno-schedule-insns \
 		-malign-double -fstrict-aliasing -mpreferred-stack-boundary=4 \
 		-ffast-math"
 .endif
 
+.if defined(WITH_SSE)
+CONFIGURE_ARGS_FFTW3F+=--enable-sse
+CONFIGURE_ENV+=	CFLAGS="${CFLAGS:N-O:N-O*} -O2"
+.endif
+
 .if defined(WITH_SMP_THREADS)
 CONFIGURE_ARGS+=--enable-threads
 .endif
 
+post-patch:
+	@${REINPLACE_CMD} -e \
+		's|/etc/fftw|${PREFIX}/etc/fftw}|' \
+		${WRKSRC}/Makefile.in \
+		${WRKSRC}/api/import-system-wisdom.c \
+		${WRKSRC}/doc/fftw3* \
+		${WRKSRC}/tools/fftw*wisdom.1
+	@${FIND} ${WRKSRC} -name \*.bak -type f -exec ${RM} -f {} \;
+
+pre-configure:
+	@${CP} -Rf ${WRKSRC} ${FFTW3F_WRKSRC}
+	@${REINPLACE_CMD} -e \
+		's|EXTRA_DIST = fftw-wisdom-to-conf.in||; \
+		s|fftw-wisdom-to-conf.in||; \
+		s|fftw-wisdom-to-conf: $(top_builddir)/config.status||; \
+		s|bin_SCRIPTS = fftw-wisdom-to-conf||' \
+			${FFTW3F_WRKSRC}/tools/Makefile.in
+
+post-configure:
+	@${ECHO_MSG} "===>  Configuring for ${PORTNAME}-${PORTVERSION} (short)"
+	@(cd ${FFTW3F_WRKSRC} && \
+		${SETENV} CC="${CC}" CXX="${CXX}" \
+		CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
+		INSTALL="/usr/bin/install -c -o ${BINOWN} -g ${BINGRP}" \
+		INSTALL_DATA="${INSTALL_DATA}" \
+		INSTALL_PROGRAM="${INSTALL_PROGRAM}" \
+		INSTALL_SCRIPT="${INSTALL_SCRIPT}" \
+		${CONFIGURE_ENV} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS_FFTW3F})
+
+post-build:
+	@${ECHO_MSG} "===>  Building for ${PORTNAME}-${PORTVERSION} (short)"
+	@(cd ${FFTW3F_WRKSRC} && \
+		${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET})
+
+do-install:
+	@(cd ${WRKSRC} && \
+		${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET})
+	@(cd ${FFTW3F_WRKSRC} && \
+		${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${FFTW3F_INSTALL_TARGET})
+	@${INSTALL_MAN} ${FFTW3F_WRKSRC}/tools/fftwf-wisdom.1 ${PREFIX}/man/man1
+
 .include <bsd.port.post.mk>
Index: pkg-plist
===================================================================
RCS file: /home/ncvs/ports/math/fftw3/pkg-plist,v
retrieving revision 1.6
diff -u -r1.6 pkg-plist
--- pkg-plist	18 Apr 2004 10:48:22 -0000	1.6
+++ pkg-plist	27 May 2004 20:57:26 -0000
@@ -1,8 +1,14 @@
 bin/fftw-wisdom
 bin/fftw-wisdom-to-conf
+bin/fftwf-wisdom
 include/fftw3.f
 include/fftw3.h
 lib/libfftw3.a
 lib/libfftw3.so
 lib/libfftw3.so.3
+lib/libfftw3f.a
+lib/libfftw3f.la
+lib/libfftw3f.so
+lib/libfftw3f.so.3
 libdata/pkgconfig/fftw3.pc
+libdata/pkgconfig/fftw3f.pc
--- fftw3-3.0.1_1.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list