diff options
author | maho <maho@FreeBSD.org> | 2004-02-01 23:20:23 +0000 |
---|---|---|
committer | maho <maho@FreeBSD.org> | 2004-02-01 23:20:23 +0000 |
commit | 20b4f7ed1a02029c895c5126a1b8b8eacac6700f (patch) | |
tree | 53baab5153b1eabf18ad90a7795e7afedcbf5f2c /lang/g95 | |
parent | 9e079d1cd35431bf0ef9e0e7e2af54921a06044f (diff) | |
download | FreeBSD-ports-20b4f7ed1a02029c895c5126a1b8b8eacac6700f.zip FreeBSD-ports-20b4f7ed1a02029c895c5126a1b8b8eacac6700f.tar.gz |
Add New port lang/g95 GNU Fortran 90/95 Compiler
from GCC's tree-ssa-20020619-branch and still this
is alpha stage.
you can invoke Fortran by typing gfortran or g95,
Note: gcc-3.5 will include this effort.
Diffstat (limited to 'lang/g95')
-rw-r--r-- | lang/g95/Makefile | 132 | ||||
-rw-r--r-- | lang/g95/distinfo | 1 | ||||
-rw-r--r-- | lang/g95/files/patch-fibheap.c | 14 | ||||
-rw-r--r-- | lang/g95/files/patch-mf-impl.h | 18 | ||||
-rw-r--r-- | lang/g95/pkg-descr | 10 | ||||
-rw-r--r-- | lang/g95/pkg-plist | 14 |
6 files changed, 189 insertions, 0 deletions
diff --git a/lang/g95/Makefile b/lang/g95/Makefile new file mode 100644 index 0000000..eedd6bd --- /dev/null +++ b/lang/g95/Makefile @@ -0,0 +1,132 @@ +# ex:ts=8 +# Ports collection makefile for: egcs +# Date created: 9 Jan 1998 +# Whom: John Polstra <jdp@polstra.com> +# +# $FreeBSD$ +# + +PORTNAME= g95 +PORTVERSION= 3.5.${SNAPDATE} +CATEGORIES= lang +MASTER_SITES= http://people.freebsd.org/~maho/tree-ssa/ +# http://people.redhat.com/dnovillo/pub/tree-ssa/snapshot/ +DISTNAME= tree-ssa-${SNAPDATE} + +MAINTAINER?= maho@FreeBSD.org +COMMENT= GNU Fortran Compiler 90/95 from tree-ssa branch + +LIB_DEPENDS= gmp.6:${PORTSDIR}/math/libgmp4 + +USE_BZIP2= yes +USE_REINPLACE= yes +USE_PERL5_BUILD=yes + +PATCH_WRKSRC= ${SRCDIR} +CONFIGURE_SCRIPT= ../${SRCDIR:C/${WRKDIR}//}/configure +NOMANCOMPRESS= yes # too hard to deal with differences on 5-cur and releng4 + +SNAPDATE= 20040130 + +.include <bsd.port.pre.mk> + +CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL} + +SRCDIR= ${WRKDIR}/gcc +WRKSRC= ${WRKDIR}/build +TARGLIB= ${PREFIX}/lib/gcc/${CONFIGURE_TARGET}/3.5-tree-ssa/ +TARGLIBEXEC= ${PREFIX}/libexec/gcc/${CONFIGURE_TARGET}/3.5-tree-ssa/ +PLIST_SUB= GCC_VER=${PORTVERSION} GNU_HOST=${CONFIGURE_TARGET} +GNU_CONFIGURE= yes +USE_GMAKE= yes +USE_BISON= yes +CONFIGURE_ARGS= --disable-nls \ + --with-gmp=${LOCALBASE} \ + --with-system-zlib \ + --with-libiconv-prefix=${LOCALBASE} \ + --program-suffix=tree-ssa \ + --enable-languages=c,f95 +MAKE_ARGS+= MAKEINFOFLAGS="--no-split" +.if defined(WANT_SHAREDLIBS) +CONFIGURE_ARGS+= --enable-shared +INSTALLS_SHLIB= yes +LDCONFIG_DIRS= %%PREFIX%%/lib ${TARGLIB} +EXTRA_SHLIB= libgcc_s +.else +CONFIGURE_ARGS+= --disable-shared +.endif +.if defined(WANT_THREADS_SUPPORT) +CONFIGURE_ARGS+= --enable-threads +# ?is this an ObjC only thing? +CONFIGURE_ARGS+= --enable-threads=posix +.endif +ALL_TARGET= bootstrap-lean +MAN1= cpptree-ssa.1 gcctree-ssa.1 gcovtree-ssa.1 +MAN7= fsf-funding.7 gfdl.7 gpl.7 +INFO= cpp gcc gccint cppinternals gccinstall + +pre-everything:: + @${ECHO_MSG} "Making GCC ${DISTNAME:S/^gcc-//} for ${OPSYS} ${OSREL} ${PORTOBJFORMAT} target ${CONFIGURE_TARGET}" + +post-patch: + @${REINPLACE_CMD} -e 's|\(const char version_string.*\)";|\1 [FreeBSD]";|' \ + ${SRCDIR}/gcc/version.c + +pre-configure: + cd ${SRCDIR} ; contrib/gcc_update --touch + @${RM} -f ${SRCDIR}/gcc/*/*.info* + @${MKDIR} ${CONFIGURE_WRKSRC} + +post-build: + @${ECHO_MSG} "Consider running 'make check' before 'make install'," + @${ECHO_MSG} "especially if you have not built port on -STABLE or -CURRENT." + @${ECHO_MSG} "This assumes that you have the dejagnu port installed." + +check: build + cd ${WRKSRC}; export RUNTESTFLAGS='--target_board ''unix{-pthread}'''; ${GMAKE} -sk check + +post-install: + ${LN} ${PREFIX}/bin/gfortrantree-ssa ${PREFIX}/bin/gfortran + ${LN} ${PREFIX}/bin/gfortrantree-ssa ${PREFIX}/bin/g95 + +.for f in gcc cpp gcov ${CONFIGURE_TARGET}-gcc ${CONFIGURE_TARGET}-g++ gcj gcjh gij jv-scan jcf-dump jv-convert jar grepjar rmic rmiregistry + if [ -e ${PREFIX}/bin/${f}tree-ssa ]; then \ + ${STRIP_CMD} ${PREFIX}/bin/${f}tree-ssa; \ + ( ${TEST} ! -e ${PREFIX}/man/man1/${f}.1 \ + || ${MV} -f ${PREFIX}/man/man1/${f}.1 \ + ${PREFIX}/man/man1/${f}tree-ssa.1 ); \ + fi +.endfor + +.for f in libgfortran libgfortranbegin libmudflap libmudflapth libiberty ${EXTRA_SHLIB} + ${MV} -f ${PREFIX}/lib/${f}.* ${TARGLIB} +.endfor + ${RM} -f ${PREFIX}/lib/libiberty.a + ${RM} -f ${TARGLIB}/*.la +# I am sick and tired of the anonyance that man pages can only be generated if +# perl 5.6 is installed. This is becoming a royal PITA on non-5-CURRENT systems +.for mp in ${_MANPAGES} + ( ${TEST} -e ${mp} || ${TOUCH} ${TOUCH_FLAGS} ${mp} ) +.endfor + # Handle target libraries and GCJ include files. + ${RM} -f ${WRKDIR}/PLIST.lib +.for d in ${TARGLIB:S/^${PREFIX}\///} ${TARGLIBEXEC:S/^${PREFIX}\///} include/gcj include/gnu include/java include/javax + cd ${PREFIX} ; if [ -d $d ]; then \ + ${FIND} $d -type f -o -type l >>${WRKDIR}/PLIST.lib ;\ + ${FIND} $d -type d | ${SORT} -r \ + | ${SED} -e 's/^/@dirrm /g' >>${WRKDIR}/PLIST.lib ;\ + fi +.endfor + (${ECHO_CMD} "@unexec ${RMDIR} %D/lib/gcc/${CONFIGURE_TARGET} 2>&1 || true" ; ${ECHO_CMD} "@unexec ${RMDIR} %D/lib/gcc 2>&1 || true") >> ${WRKDIR}/PLIST.lib + (${ECHO_CMD} "@unexec ${RMDIR} %D/libexec/gcc/${CONFIGURE_TARGET} 2>&1 || true" ; ${ECHO_CMD} "@unexec ${RMDIR} %D/libexec/gcc 2>&1 || true") >> ${WRKDIR}/PLIST.lib + ${ECHO_CMD} "r ${TMPPLIST}" > ${WRKDIR}/ex.script + ${ECHO_CMD} "/Insert PLIST.lib" >> ${WRKDIR}/ex.script + ${ECHO_CMD} "d" >> ${WRKDIR}/ex.script + ${ECHO_CMD} "r ${WRKDIR}/PLIST.lib" >> ${WRKDIR}/ex.script + ${ECHO_CMD} "x!" >> ${WRKDIR}/ex.script + ${CP} -p ${TMPPLIST} ${TMPPLIST}.pre + cd ${WRKDIR} ; ex < ex.script + +cklatest: + +.include <bsd.port.post.mk> diff --git a/lang/g95/distinfo b/lang/g95/distinfo new file mode 100644 index 0000000..8d1b2d2 --- /dev/null +++ b/lang/g95/distinfo @@ -0,0 +1 @@ +MD5 (tree-ssa-20040130.tar.bz2) = 1649e0a4768e407fe56e45bdc2c43d88 diff --git a/lang/g95/files/patch-fibheap.c b/lang/g95/files/patch-fibheap.c new file mode 100644 index 0000000..ae11205 --- /dev/null +++ b/lang/g95/files/patch-fibheap.c @@ -0,0 +1,14 @@ +--- libiberty/fibheap.c.org Sat Jan 31 14:51:11 2004 ++++ libiberty/fibheap.c Sat Jan 31 14:51:28 2004 +@@ -22,9 +22,9 @@ + #ifdef HAVE_CONFIG_H + #include "config.h" + #endif +-#ifdef HAVE_LIMITS_H ++//#ifdef HAVE_LIMITS_H + #include <limits.h> +-#endif ++//#endif + #ifdef HAVE_STDLIB_H + #include <stdlib.h> + #endif diff --git a/lang/g95/files/patch-mf-impl.h b/lang/g95/files/patch-mf-impl.h new file mode 100644 index 0000000..c86a3a1 --- /dev/null +++ b/lang/g95/files/patch-mf-impl.h @@ -0,0 +1,18 @@ +--- libmudflap/mf-impl.h.org Sat Jan 31 20:35:05 2004 ++++ libmudflap/mf-impl.h Sat Jan 31 20:35:20 2004 +@@ -17,11 +17,11 @@ + #error "Do not compile this file with -fmudflap!" + #endif + +-#if HAVE_PTHREAD_H ++//#if HAVE_PTHREAD_H + #include <pthread.h> +-#elif LIBMUDFLAPTH +-#error "Cannot build libmudflapth without pthread.h." +-#endif ++//#elif LIBMUDFLAPTH ++//#error "Cannot build libmudflapth without pthread.h." ++//#endif + + + /* Private definitions related to mf-runtime.h */ diff --git a/lang/g95/pkg-descr b/lang/g95/pkg-descr new file mode 100644 index 0000000..cadc451 --- /dev/null +++ b/lang/g95/pkg-descr @@ -0,0 +1,10 @@ +GNU Fortran90/95 compiler (gfortran) +from tree-ssa-20020619-branch +you can invoke Fortran by gfortran or g95. + +WWW: http://g95.sourceforge.net/ + http://gcc.gnu.org/fortran/ + http://gcc.gnu.org/projects/tree-ssa/ + +-- + NAKATA Maho (maho@FreeBSD.org) diff --git a/lang/g95/pkg-plist b/lang/g95/pkg-plist new file mode 100644 index 0000000..dc64421 --- /dev/null +++ b/lang/g95/pkg-plist @@ -0,0 +1,14 @@ +@comment $FreeBSD$ +bin/cpptree-ssa +bin/g95 +bin/gccbugtree-ssa +bin/gcctree-ssa +bin/gcovtree-ssa +bin/gfortran +bin/gfortrantree-ssa +bin/%%GNU_HOST%%-gcc-3.5-tree-ssa +bin/%%GNU_HOST%%-gcctree-ssa +include/mf-runtime.h +@comment Insert PLIST.lib here +@comment -=[ begin PLIST.lib ]=- +@comment -=[ end PLIST.lib ]=- |