diff options
-rw-r--r-- | lang/Makefile | 1 | ||||
-rw-r--r-- | lang/gnat-aux/Makefile | 179 | ||||
-rw-r--r-- | lang/gnat-aux/distinfo | 4 | ||||
-rw-r--r-- | lang/gnat-aux/pkg-descr | 13 | ||||
-rw-r--r-- | lang/gnat-aux/pkg-plist | 40 |
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 |