aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lang/Makefile1
-rw-r--r--lang/gnat-aux/Makefile179
-rw-r--r--lang/gnat-aux/distinfo4
-rw-r--r--lang/gnat-aux/pkg-descr13
-rw-r--r--lang/gnat-aux/pkg-plist40
5 files changed, 237 insertions, 0 deletions
diff --git a/lang/Makefile b/lang/Makefile
index f38a5495a56f..0d4629d49153 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -105,6 +105,7 @@
SUBDIR += ghc
SUBDIR += gjs
SUBDIR += gnat
+ SUBDIR += gnat-aux
SUBDIR += gnat-doc-html
SUBDIR += gnat-doc-info
SUBDIR += gnat-doc-ps
diff --git a/lang/gnat-aux/Makefile b/lang/gnat-aux/Makefile
new file mode 100644
index 000000000000..bf1b05ccac90
--- /dev/null
+++ b/lang/gnat-aux/Makefile
@@ -0,0 +1,179 @@
+# New ports collection makefile for: gnat-aux
+# Date created: 16 December 2010
+# Whom: John Marino <draco@marino.st>
+#
+# $FreeBSD$
+#
+
+PORTNAME= gnat-aux
+PORTVERSION= ${SNAPSHOT}
+CATEGORIES= lang
+MASTER_SITES= http://downloads.dragonlace.net/src/ \
+ http://dragonlace.mirrors.ada.cx/src/
+
+MAINTAINER= draco@marino.st
+COMMENT= GNAT Ada compiler based on GCC ${GCC_BRANCH}
+
+LIB_DEPENDS= gmp.10:${PORTSDIR}/math/gmp
+LIB_DEPENDS+= mpfr.4:${PORTSDIR}/math/mpfr
+LIB_DEPENDS+= mpc.2:${PORTSDIR}/math/mpc
+BUILD_DEPENDS= dejagnu>=1.4:${PORTSDIR}/misc/dejagnu
+
+ONLY_FOR_ARCHES= i386 amd64
+
+GNU_CONFIGURE= yes
+USE_GMAKE= yes
+USE_BZIP2= yes
+USE_ICONV= yes
+USE_BISON= build
+USE_PERL5_BUILD= yes
+USE_LDCONFIG= yes
+ALL_TARGET= default
+
+SNAPSHOT= 20110107
+GCC_BRANCH= 4.6
+GCC_POINT= 0
+
+THREAD_MODEL= posix
+INTENDED_COMPILER= NATIVE
+BOOTSTRAP_COMPILER= NOT_REQUIRED
+BOOTSTRAP_TRIPLET= NOT_SET
+FULL_GNATGCC= NOT_SET
+
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} == "amd64"
+BLD_TARGET= x86_64-aux-freebsd${OSREL}
+OS_LABEL4VERS= [FreeBSD64]
+BOOTSTRAP_TRIPLET= x86_64-bootstrap-freebsd8.1/4.6.0
+BOOTSTRAP_COMPILER= gnat-bootstrap.x86_64.freebsd.tar.bz2
+.else
+BLD_TARGET= i386-aux-freebsd${OSREL}
+OS_LABEL4VERS= [FreeBSD]
+BOOTSTRAP_TRIPLET= i386-bootstrap-freebsd8.0/4.6.0
+BOOTSTRAP_COMPILER= gnat-bootstrap.i386.freebsd.tar.bz2
+.endif
+PLIST_SUB= GNU_HOST=${BLD_TARGET}
+PLIST_SUB+= GCC_VER=${GCC_BRANCH}.${GCC_POINT}
+
+WRKSRC= ${WRKDIR}/build
+GCC_WRKSRC= ${WRKDIR}/gcc-${GCC_BRANCH}-${SNAPSHOT}
+BOOTSTRAP_PREFIX= ${WRKDIR}/bootstrap
+PKG_PREFIX= ${PREFIX}
+CONFIGURE_SCRIPT= ${GCC_WRKSRC}/configure
+REVFILE= ${GCC_WRKSRC}/gcc/REVISION
+LPATH= lib/gcc/${BLD_TARGET}/${GCC_BRANCH}.${GCC_POINT}
+LEPATH= libexec/gcc/${BLD_TARGET}/${GCC_BRANCH}.${GCC_POINT}
+LELIST= cc1 collect2 gnat1 lto1
+MAN1= gnatcpp.1 gnatgcc.1 gnatgcov.1
+MAN7= fsf-funding.7 gfdl.7 gpl.7
+MAN1PREFIX= ${PREFIX}/share
+MAN7PREFIX= ${PREFIX}/share
+NO_MANCOMPRESS= yes
+
+# If we find gnatgcc and friends in standard location, then we'll use this
+# compiler instead of downloading the bootstrap.
+.if exists (${PREFIX}/bin/gnatgcc)
+.if exists (${PREFIX}/bin/gnatbind)
+.if exists (${PREFIX}/bin/gnatlink)
+.if exists (${PREFIX}/bin/gnatmake)
+FULL_GNATGCC=${PREFIX}/bin/gnatgcc
+FULL_PATH=/sbin:/bin:/usr/sbin:/usr/bin:${PREFIX}/bin
+.endif
+.endif
+.endif
+.endif
+
+# If FULL_GNATGCC is not set, we'll request the bootstrap compiler
+.if ${FULL_GNATGCC} == "NOT_SET"
+INTENDED_COMPILER=BOOTSTRAP
+FULL_GNATGCC=${BOOTSTRAP_PREFIX}/bin/gnatgcc
+FULL_PATH=${BOOTSTRAP_PREFIX}/bin:/sbin:/bin:/usr/sbin:/usr/bin:${PREFIX}/bin
+DISTFILES=${PORTNAME}-${SNAPSHOT}.tar.bz2 ${BOOTSTRAP_COMPILER}
+.endif
+
+# for port maintenance, uncomment to invoke "make makesum"
+# DISTFILES=${PORTNAME}-${SNAPSHOT}.tar.bz2 \
+# gnat-aux-460.i386.freebsd.tar.bz2 \
+# gnat-aux-460.x86_64.freebsd.tar.bz2
+
+# Establish Ada-aware compiler for use
+ADA_CONFIGURE_ENV= CC=${FULL_GNATGCC} PATH=${FULL_PATH} CONFIG_SHELL=${SH}
+ADA_MAKE_ENV= PATH=${FULL_PATH}
+
+# The standard configuration options
+CONFIGURE_ARGS= --enable-languages=c,ada
+CONFIGURE_ARGS+= --build=${BLD_TARGET}
+CONFIGURE_ARGS+= --program-prefix=gnat
+CONFIGURE_ARGS+= --prefix=${PREFIX}
+CONFIGURE_ARGS+= --with-system-zlib
+CONFIGURE_ARGS+= --with-gmp=${PKG_PREFIX}
+CONFIGURE_ARGS+= --with-mpfr=${PKG_PREFIX}
+CONFIGURE_ARGS+= --with-mpc=${PKG_PREFIX}
+CONFIGURE_ARGS+= --with-libiconv-prefix=${PKG_PREFIX}
+CONFIGURE_ARGS+= --enable-shared
+CONFIGURE_ARGS+= --enable-threads=${THREAD_MODEL}
+CONFIGURE_ARGS+= --disable-bootstrap
+CONFIGURE_ARGS+= --disable-libmudflap
+CONFIGURE_ARGS+= --disable-libgomp
+CONFIGURE_ARGS+= --disable-libssp
+CONFIGURE_ARGS+= --disable-nls
+
+MAKE_ARGS+= MAKEINFOFLAGS="--no-split"
+
+post-extract:
+ # Personalize GNAT for each different machine
+ @${ECHO} "-=> GNAT AUX ${OS_LABEL4VERS}" > ${REVFILE}
+
+.if ${INTENDED_COMPILER} == "BOOTSTRAP"
+ ${MKDIR} ${BOOTSTRAP_PREFIX}
+ ${MV} ${BOOTSTRAP_PREFIX}/../bin ${BOOTSTRAP_PREFIX}
+ ${MV} ${BOOTSTRAP_PREFIX}/../lib ${BOOTSTRAP_PREFIX}
+ ${MV} ${BOOTSTRAP_PREFIX}/../libexec ${BOOTSTRAP_PREFIX}
+
+ # Bootstrap compiler has statically linked z, gmp, mpc, mpfr and iconv
+ # The only shared lib is libc.so.7, so it should work for a long time.
+ # if FBSD 9.0 upgrades libc, a compat8x requirement could be added
+ # for FreeBSD 7.x and 8.x
+.endif
+
+do-configure:
+ #reset timestamps
+ cd ${GCC_WRKSRC}; contrib/gcc_update --touch
+ ${RM} -f ${GCC_WRKSRC}/gcc/*/*.info*
+ ${TOUCH} ${GCC_WRKSRC}/gcc/cstamp-h.in
+
+ ${MKDIR} ${WRKSRC}
+ cd ${WRKSRC} && ${SETENV} ${ADA_CONFIGURE_ENV} \
+ ${SH} ${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS}
+
+do-build:
+ cd ${WRKSRC} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} all
+
+test: build
+ cd ${WRKSRC} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-ada
+
+do-install:
+ cd ${WRKSRC} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} install
+
+post-install: strip-exec
+ ${RM} -f ${WRKDIR}/PLIST.lib
+.for d in ${LPATH} ${LEPATH}
+ cd ${PREFIX} ; ${FIND} $d \( -type f -or -type l \) | ${SORT} >> ${WRKDIR}/PLIST.lib
+ cd ${PREFIX} ; ${FIND} $d -type d | ${SORT} -r | \
+ ${SED} -e 's/^/@dirrm /g' >> ${WRKDIR}/PLIST.lib
+.endfor
+ ${ECHO_CMD} "@unexec ${RMDIR} %D/lib/gcc/${BLD_TARGET} 2>/dev/null || true" >> ${WRKDIR}/PLIST.lib
+ ${ECHO_CMD} "@unexec ${RMDIR} %D/lib/gcc 2>/dev/null || true" >> ${WRKDIR}/PLIST.lib
+ ${ECHO_CMD} "@unexec ${RMDIR} %D/libexec/gcc/${BLD_TARGET} 2>/dev/null || true" >> ${WRKDIR}/PLIST.lib
+ ${ECHO_CMD} "@unexec ${RMDIR} %D/libexec/gcc 2>/dev/null || true" >> ${WRKDIR}/PLIST.lib
+
+ cd ${WRKDIR}; ${SED} -i -e "/PLIST.lib/ r PLIST.lib" ${TMPPLIST}
+
+strip-exec:
+ ${STRIP_CMD} ${PREFIX}/bin/gnat*
+.for k in ${LELIST}
+ ${STRIP_CMD} ${PREFIX}/${LEPATH}/${k}
+.endfor
+
+.include <bsd.port.post.mk>
diff --git a/lang/gnat-aux/distinfo b/lang/gnat-aux/distinfo
new file mode 100644
index 000000000000..f0f9e5e7b71b
--- /dev/null
+++ b/lang/gnat-aux/distinfo
@@ -0,0 +1,4 @@
+SHA256 (gnat-aux-20110107.tar.bz2) = b686a639117a283e4659240439b95b446aada76825e352b12c5925918d3a8cab
+SIZE (gnat-aux-20110107.tar.bz2) = 23176092
+SHA256 (gnat-bootstrap.i386.freebsd.tar.bz2) = c38e1c960f651c3f248c1ef540b1df724058fa71c1d046af93ce975483abb645
+SIZE (gnat-bootstrap.i386.freebsd.tar.bz2) = 27973176
diff --git a/lang/gnat-aux/pkg-descr b/lang/gnat-aux/pkg-descr
new file mode 100644
index 000000000000..0f0ae84f72a7
--- /dev/null
+++ b/lang/gnat-aux/pkg-descr
@@ -0,0 +1,13 @@
+GNAT AUX is based on the trunk version of Free Software Foundation's GNU
+Compiler Collection. It carries with it the GMGPL license, the modified
+version of the GPL that exempts generic instantiation from resulting in
+a GPL-licensed executable. This version of GNAT also carries with it the
+GCC Runtime Library Exception, so the resulting binaries have no licensing
+requirements. Binaries produced by GNAT AUX should be handled the same as
+binaries produced by any FSF GNAT compiler.
+
+GNAT AUX implements the full Ada-83, Ada-95, and Ada-2005 language standards.
+It also implements some features of the draft Ada-2012 standard, which are
+optionally accessible via the -gnat2012 switch or Ada_2012 pragma.
+
+WWW: http://www.dragonlace.net/
diff --git a/lang/gnat-aux/pkg-plist b/lang/gnat-aux/pkg-plist
new file mode 100644
index 000000000000..1df2a83184a0
--- /dev/null
+++ b/lang/gnat-aux/pkg-plist
@@ -0,0 +1,40 @@
+@comment $FreeBSD
+bin/gnat
+bin/gnatbind
+bin/gnatchop
+bin/gnatclean
+bin/gnatcpp
+bin/gnatfind
+bin/gnatgcc
+bin/gnatgcov
+bin/gnatkr
+bin/gnatlink
+bin/gnatls
+bin/gnatmake
+bin/gnatname
+bin/gnatprep
+bin/gnatxref
+bin/%%GNU_HOST%%-gcc-%%GCC_VER%%
+bin/%%GNU_HOST%%-gnatgcc
+share/info/cpp.info
+share/info/cppinternals.info
+share/info/dir
+share/info/gcc.info
+share/info/gccinstall.info
+share/info/gccint.info
+share/info/gnat-style.info
+share/info/gnat_rm.info
+share/info/gnat_ugn.info
+share/info/libquadmath.info
+lib/libgcc_s.so
+lib/libgcc_s.so.1
+lib/libiberty.a
+lib/libquadmath.la
+lib/libquadmath.a
+lib/libquadmath.so
+lib/libquadmath.so.0
+@dirrmtry share/info
+@dirrmtry share/man/man1
+@dirrmtry share/man/man7
+@dirrmtry share/man
+@comment PLIST.lib attached below