From db66e6eea23eb0dc67d7904e98e6eaead6a0cd03 Mon Sep 17 00:00:00 2001 From: dmcmahill Date: Wed, 15 Sep 2004 20:56:31 +0000 Subject: - don't hard code the c compiler name. - automatically figure out MAIN__ vs _MAIN__ - don't clobber the path when running f2c-f77. This lets you have a better chance of finding the c compiler! With all this this package now seems fully functional on solaris-2.9 as well as NetBSD. --- lang/f2c/Makefile | 4 +++- lang/f2c/distinfo | 7 ++++--- lang/f2c/patches/patch-aa | 12 ++++++++---- lang/f2c/patches/patch-ac | 10 +++++----- lang/f2c/patches/patch-ah | 12 ++++++++++++ 5 files changed, 32 insertions(+), 13 deletions(-) create mode 100644 lang/f2c/patches/patch-ah (limited to 'lang') diff --git a/lang/f2c/Makefile b/lang/f2c/Makefile index 7c17e11cfc9..881892d50f0 100644 --- a/lang/f2c/Makefile +++ b/lang/f2c/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.29 2004/09/14 22:09:40 dmcmahill Exp $ +# $NetBSD: Makefile,v 1.30 2004/09/15 20:56:31 dmcmahill Exp $ DISTNAME= f2c-20001205 PKGREVISION= 6 @@ -28,6 +28,8 @@ F2CMAJOR= 0 F2CMINOR= 0 MAKE_ENV+= F2CMAJOR=${F2CMAJOR} F2CMINOR=${F2CMINOR} MAKE_ENV+= LIBOWN=${LIBOWN} LIBGRP=${LIBGRP} +MAKE_ENV+= AWK=${AWK} +MAKE_ENV+= ECHO=${ECHO} PLIST_SUBST+= F2CMAJOR=${F2CMAJOR} F2CMINOR=${F2CMINOR} WRKSRC= ${WRKDIR}/f2c diff --git a/lang/f2c/distinfo b/lang/f2c/distinfo index 0dbe61ea396..2edbe3d23ae 100644 --- a/lang/f2c/distinfo +++ b/lang/f2c/distinfo @@ -1,13 +1,14 @@ -$NetBSD: distinfo,v 1.11 2004/09/15 12:27:26 dmcmahill Exp $ +$NetBSD: distinfo,v 1.12 2004/09/15 20:56:31 dmcmahill Exp $ SHA1 (f2c-20001205.tar.gz) = f3cc1653eb962fee45d850df50890fc53448a17f Size (f2c-20001205.tar.gz) = 988607 bytes -SHA1 (patch-aa) = c3ac2f66a5707b5a4d06f134e867ee245fd76ac0 +SHA1 (patch-aa) = ca2ced3179b4866ab6d1f8ffa6d7a4e08221cc9a SHA1 (patch-ab) = 97c676fa452daa674e11348412ccb26d38a7baa4 -SHA1 (patch-ac) = 6fc52f9257cdecd3784e7f8897cce8b5656b73e4 +SHA1 (patch-ac) = 3bdc1873b4990ff7d542ce5474f23137d2dc5d54 SHA1 (patch-ad) = 7f204a45891e3632589ea8fb0e4e379a0a792dea SHA1 (patch-ae) = 037cc8aed72a3088771ab24077ff19b009e63ebf SHA1 (patch-af) = fe24139c21862e85c576118166b7deab8e421572 SHA1 (patch-ag) = 5f294e491ba4730aa7047ad53fa710a0698c2649 +SHA1 (patch-ah) = 54e4679e33cf3adc3b0d2b8b5b4e98cf26370319 SHA1 (patch-ai) = 641d3720c80cfb7d1c23981bb845b0a9bee3e6d7 SHA1 (patch-aj) = c58361fbbfc06e033b2a47e1d1e370716c4b185c diff --git a/lang/f2c/patches/patch-aa b/lang/f2c/patches/patch-aa index e340d32730c..9050b253b9e 100644 --- a/lang/f2c/patches/patch-aa +++ b/lang/f2c/patches/patch-aa @@ -1,8 +1,8 @@ -$NetBSD: patch-aa,v 1.13 2004/09/14 22:09:40 dmcmahill Exp $ +$NetBSD: patch-aa,v 1.14 2004/09/15 20:56:31 dmcmahill Exp $ --- Makefile.orig Tue Sep 14 16:47:52 2004 +++ Makefile -@@ -0,0 +1,43 @@ +@@ -0,0 +1,47 @@ +# Top level Makefile for f2c, libF77, and libI77 + +all: f2c libF77/libF77.la libI77/libI77.la f2c-f77 man @@ -44,5 +44,9 @@ $NetBSD: patch-aa,v 1.13 2004/09/14 22:09:40 dmcmahill Exp $ + ${BSD_INSTALL_MAN} ./f2c.1 ${PREFIX}/man/man1 + ${BSD_INSTALL_MAN} ./f2c.0 ${PREFIX}/man/cat1 + -+f2c-f77: fc -+ sed 's!@PREFIX@!${PREFIX}!g' fc > f2c-f77 ++f2c-f77: fc f2c hello.f ++ ./src/f2c -Aw8 -Nn802 -Nx400 hello.f ++ $(CC) $(CFLAGS) -c hello.c ++ main=`$(NM) hello.o | ${AWK} 'BEGIN{x=""} {gsub(/\|/,""); for(i=1; i<=NF; i=i+1){if($$i ~ /MAIN/){x="-u " $$i}}} END{print x}'` ; \ ++ ${ECHO} "Adding $$main to f2c-f77 script" ; \ ++ sed -e 's;@PREFIX@;${PREFIX};g' -e 's;@CC@;${CC};g' -e 's;@CPP@;${CPP};g' -e "s;@MAIN@;$$main;g" fc > f2c-f77 diff --git a/lang/f2c/patches/patch-ac b/lang/f2c/patches/patch-ac index a14586fa262..ffc265108c0 100644 --- a/lang/f2c/patches/patch-ac +++ b/lang/f2c/patches/patch-ac @@ -1,4 +1,4 @@ -$NetBSD: patch-ac,v 1.13 2002/01/22 16:47:23 dmcmahill Exp $ +$NetBSD: patch-ac,v 1.14 2004/09/15 20:56:31 dmcmahill Exp $ Much cleanup of the script. Added various options such as -O for optimization @@ -31,7 +31,7 @@ Also only pass -m* to the C compiler not f2c. -PATH=/usr/local/bin:/bin:/usr/bin - +#!/bin/sh -+PATH=/bin:/usr/bin:@PREFIX@/bin ++PATH=$PATH:/bin:/usr/bin:@PREFIX@/bin +#USAGESTART # f77-style shell script to compile and load fortran, C, and assembly codes - @@ -165,7 +165,7 @@ Also only pass -m* to the C compiler not f2c. -### about multiple definitions of COMMON blocks. -#CC=${CC_f2c:-'cc -common'} -CC=${CC_f2c:-'cc'} -+CC=${CC_f2c:-'cc '} ++CC=${CC_f2c:-'@CC@ '} EFL=${EFL:-efl} EFLFLAGS=${EFLFLAGS:-'system=portable deltastno=10'} RATFOR=${RATFOR:-ratfor} @@ -176,7 +176,7 @@ Also only pass -m* to the C compiler not f2c. +F2C=${F2C:-@PREFIX@/bin/f2c} +F2CFLAGS=${F2CFLAGS:='-Aw8 -Nn802 -Nx400'} +S2DBLFLAG="-R" -+CPP=${CPP:-/usr/bin/cpp} ++CPP=${CPP:-'@CPP@ '} rc=0 trap "rm -f $s $t; exit \$rc" 0 OUTF=a.out @@ -447,7 +447,7 @@ Also only pass -m* to the C compiler not f2c. -### about unnecessary -l options. +case $cOPT +in -+ 2) $CC $CFLAGS -o $OUTF -u _MAIN__ $OFILES $LIBS $FLIBS ++ 2) $CC $CFLAGS -o $OUTF @MAIN@ $OFILES $LIBS $FLIBS + ;; +esac diff --git a/lang/f2c/patches/patch-ah b/lang/f2c/patches/patch-ah new file mode 100644 index 00000000000..c14276c6147 --- /dev/null +++ b/lang/f2c/patches/patch-ah @@ -0,0 +1,12 @@ +$NetBSD: patch-ah,v 1.5 2004/09/15 20:56:31 dmcmahill Exp $ + +Used in checks for _MAIN__ vs MAIN__ + +--- /dev/null Wed Sep 15 12:50:48 2004 ++++ hello.f Wed Sep 15 13:48:00 2004 +@@ -0,0 +1,5 @@ ++ ++ PROGRAM hello ++ print*, 'hello world' ++ END ++ -- cgit v1.2.3