summaryrefslogtreecommitdiffstats
path: root/lang/g95
diff options
context:
space:
mode:
authormaho <maho@FreeBSD.org>2004-02-01 23:20:23 +0000
committermaho <maho@FreeBSD.org>2004-02-01 23:20:23 +0000
commit20b4f7ed1a02029c895c5126a1b8b8eacac6700f (patch)
tree53baab5153b1eabf18ad90a7795e7afedcbf5f2c /lang/g95
parent9e079d1cd35431bf0ef9e0e7e2af54921a06044f (diff)
downloadFreeBSD-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/Makefile132
-rw-r--r--lang/g95/distinfo1
-rw-r--r--lang/g95/files/patch-fibheap.c14
-rw-r--r--lang/g95/files/patch-mf-impl.h18
-rw-r--r--lang/g95/pkg-descr10
-rw-r--r--lang/g95/pkg-plist14
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 ]=-
OpenPOWER on IntegriCloud