aboutsummaryrefslogtreecommitdiffstats
path: root/lang
diff options
context:
space:
mode:
authorwen <wen@FreeBSD.org>2011-02-15 15:32:50 +0800
committerwen <wen@FreeBSD.org>2011-02-15 15:32:50 +0800
commit152a43c0d2e7033da0489b6dd744a5e87508afaa (patch)
tree9c9fa4c47f213ae950b732c97b2f23267800d8c6 /lang
parent246b7ba875a766465718ff23ccd53b68703af8eb (diff)
downloadfreebsd-ports-gnome-152a43c0d2e7033da0489b6dd744a5e87508afaa.tar.gz
freebsd-ports-gnome-152a43c0d2e7033da0489b6dd744a5e87508afaa.tar.zst
freebsd-ports-gnome-152a43c0d2e7033da0489b6dd744a5e87508afaa.zip
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/ PR: ports/153828 Submitted by: John Marino <freebsdml@marino.st>
Diffstat (limited to 'lang')
-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