Index: head/lang/f2c/Makefile =================================================================== --- head/lang/f2c/Makefile (revision 446743) +++ head/lang/f2c/Makefile (revision 446744) @@ -1,81 +1,73 @@ # Created by: Steven G. Kargl # $FreeBSD$ PORTNAME= f2c PORTVERSION= 20060810 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= lang MASTER_SITES= LOCAL/maho/f2c DISTNAME= ${PORTNAME} EXTRACT_SUFX= .tar DIST_SUBDIR= ${PORTNAME}-${PORTVERSION} MAINTAINER= maho@FreeBSD.org COMMENT= Fortran-to-C converter and its run-time libraries EXTRACT_DEPENDS= ${UNZIP_CMD}:archivers/unzip GUNZIP_CMD= minigzip -d USES= gmake USE_LDCONFIG= yes -OPTIONS_DEFINE= LEAD_0 -LEAD_0_DESC= Print with leading zeros +LIBVER= 2 # Set FCNAME to the name of the Fortran 77 / F2C wrapper. FCNAME?= fc -PLIST_SUB= FCNAME=${FCNAME} -.include +PLIST_SUB= FCNAME=${FCNAME} LIBVER=${LIBVER} -.if ${PORT_OPTIONS:MFC} -PLIST_SUB+= FC="" -.else -PLIST_SUB+= FC="@comment " -.endif - PORTDOCS= 00lastchange README README_libf2c changes f2c.pdf permission -.include +OPTIONS_DEFINE= DOCS FC LEAD_0 +OPTIONS_SUB= yes +FC_DESC= f77 script based on f2c +LEAD_0_DESC= Print with leading zeros +LEAD_0_CFLAGS= -DWANT_LEAD_0 + post-extract: cd ${WRKSRC} && ${FIND} . -name "*.gz" | ${XARGS} ${GUNZIP_CMD} cd ${WRKSRC} && ${UNZIP_CMD} libf2c.zip ${CP} -p ${WRKSRC}/libf2c/README ${WRKSRC}/README_libf2c pre-patch: ${CP} -p ${WRKSRC}/libf2c/makefile.u ${WRKSRC}/libf2c/Makefile ${CP} -p ${WRKSRC}/src/makefile.u ${WRKSRC}/src/Makefile pre-configure: ${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' ${WRKSRC}/fc -.if ${PORT_OPTIONS:MLEAD_0} - ${REINPLACE_CMD} -e 's|CFLAGS += -fPIC|CFLAGS += -fPIC -DWANT_LEAD_0|' ${WRKSRC}/libf2c/Makefile - ${REINPLACE_CMD} -e 's|#CFLAGS = -O|CFLAGS = -O -DWANT_LEAD_0|' ${WRKSRC}/src/Makefile -.endif + ${REINPLACE_CMD} -e 's|#CFLAGS = -O|CFLAGS = ${CFLAGS}|' ${WRKSRC}/src/Makefile + ${REINPLACE_CMD} 's|%%LIBVER%%|${LIBVER}|' ${WRKSRC}/libf2c/Makefile - - do-build: @${ECHO_MSG} "===> Building f2c..." - @(cd ${WRKSRC}/src; \ - ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}) + @(cd ${WRKSRC}/src && ${DO_MAKE_BUILD} ${ALL_TARGET}) @${ECHO_MSG} "===> Building libf2c..." - @(cd ${WRKSRC}/libf2c; \ - ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET} libf2c.so) - ${MV} ${WRKSRC}/libf2c/libf2c.so ${WRKSRC}/libf2c/libf2c.so.2 + @(cd ${WRKSRC}/libf2c && ${DO_MAKE_BUILD} ${ALL_TARGET} libf2c.so) + ${MV} ${WRKSRC}/libf2c/libf2c.so ${WRKSRC}/libf2c/libf2c.so.${LIBVER} do-install: ${INSTALL_PROGRAM} ${WRKSRC}/src/f2c ${STAGEDIR}${PREFIX}/bin -.if defined(WITH_MFC) - ${INSTALL_SCRIPT} ${WRKSRC}/fc ${STAGEDIR}${PREFIX}/bin/${FCNAME} -.endif ${INSTALL_DATA} ${WRKSRC}/src/f2c.h ${STAGEDIR}${PREFIX}/include ${INSTALL_MAN} ${WRKSRC}/src/f2c.1t ${STAGEDIR}${MAN1PREFIX}/man/man1/f2c.1 - ${INSTALL_DATA} ${WRKSRC}/libf2c/libf2c.a ${STAGEDIR}${PREFIX}/lib - ${INSTALL_DATA} ${WRKSRC}/libf2c/libf2c.so.2 ${STAGEDIR}${PREFIX}/lib - ${LN} -sf libf2c.so.2 ${STAGEDIR}${PREFIX}/lib/libf2c.so + ${INSTALL_LIB} ${WRKSRC}/libf2c/libf2c.a ${STAGEDIR}${PREFIX}/lib + ${INSTALL_LIB} ${WRKSRC}/libf2c/libf2c.so.${LIBVER} ${STAGEDIR}${PREFIX}/lib + ${LN} -sf libf2c.so.${LIBVER} ${STAGEDIR}${PREFIX}/lib/libf2c.so +do-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR} -.include +do-install-FC-on: + ${INSTALL_SCRIPT} ${WRKSRC}/fc ${STAGEDIR}${PREFIX}/bin/${FCNAME} + +.include Index: head/lang/f2c/files/patch-libf2c_Makefile =================================================================== --- head/lang/f2c/files/patch-libf2c_Makefile (revision 446743) +++ head/lang/f2c/files/patch-libf2c_Makefile (revision 446744) @@ -1,50 +1,50 @@ --- libf2c/Makefile.orig Fri Jun 6 15:09:42 2003 +++ libf2c/Makefile Sun Jul 30 11:48:17 2006 @@ -13,9 +13,9 @@ # to the CFLAGS = line below. .SUFFIXES: .c .o -CC = cc +#CC = cc SHELL = /bin/sh -CFLAGS = -O +CFLAGS += -fPIC # compile, then strip unnecessary symbols .c.o: @@ -29,7 +29,7 @@ MISC = f77vers.o i77vers.o main.o s_rnge.o abort_.o exit_.o getarg_.o iargc_.o\ getenv_.o signal_.o s_stop.o s_paus.o system_.o cabs.o\ - derf_.o derfc_.o erf_.o erfc_.o sig_die.o uninit.o + derf_.o derfc_.o erf_.o erfc_.o sig_die.o uninit.o MAIN.o POW = pow_ci.o pow_dd.o pow_di.o pow_hh.o pow_ii.o pow_ri.o pow_zi.o pow_zz.o CX = c_abs.o c_cos.o c_div.o c_exp.o c_log.o c_sin.o c_sqrt.o DCX = z_abs.o z_cos.o z_div.o z_exp.o z_log.o z_sin.o z_sqrt.o @@ -82,7 +82,7 @@ ## of "cc -shared". libf2c.so: $(OFILES) - cc -shared -o libf2c.so $(OFILES) -+ $(CC) -shared -o libf2c.so $(OFILES) ++ $(CC) -shared -Wl,-soname,libf2c.so.%%LIBVER%% -o libf2c.so $(OFILES) ### If your system lacks ranlib, you don't need it; see README. @@ -110,12 +110,15 @@ # If your system lacks onexit() and you are not using an # ANSI C compiler, then you should uncomment the following # two lines (for compiling main.o): -#main.o: main.c -# $(CC) -c -DNO_ONEXIT -DSkip_f2c_Undefs main.c +main.o: main.c + $(CC) -c $(CFLAGS) -DNO_ONEXIT -DSkip_f2c_Undefs main.c # On at least some Sun systems, it is more appropriate to # uncomment the following two lines: #main.o: main.c # $(CC) -c -Donexit=on_exit -DSkip_f2c_Undefs main.c + +MAIN.o: MAIN.c + $(CC) -c $(CFLAGS) -DSkip_f2c_Undefs MAIN.c install: libf2c.a cp libf2c.a $(LIBDIR) Index: head/lang/f2c/pkg-plist =================================================================== --- head/lang/f2c/pkg-plist (revision 446743) +++ head/lang/f2c/pkg-plist (revision 446744) @@ -1,7 +1,7 @@ bin/f2c %%FC%%bin/%%FCNAME%% include/f2c.h lib/libf2c.a lib/libf2c.so -lib/libf2c.so.2 +lib/libf2c.so.%%LIBVER%% man/man1/f2c.1.gz