From 6ed50c6a1f68332cb2dda3bee786b4e1301d6266 Mon Sep 17 00:00:00 2001 From: Baptiste Daroussin Date: Tue, 30 Apr 2013 12:38:52 +0000 Subject: Base gnat on new 4.6.4 version of gcc Sync gnat-aux with changes from gcc-aux Convert to new options framework Switch to dynamic plist No more install libiberty.a for gnatdroid* PR: ports/173412 Reported by: Jinsong Zhao Submitted by: John Marino (maintainer) --- lang/gnat-aux/Makefile | 169 ++++++++++++++++++++---------------------- lang/gnat-aux/Makefile.common | 4 +- lang/gnat-aux/distinfo | 32 ++++---- lang/gnat-aux/pkg-plist | 48 +----------- 4 files changed, 102 insertions(+), 151 deletions(-) (limited to 'lang/gnat-aux') diff --git a/lang/gnat-aux/Makefile b/lang/gnat-aux/Makefile index 3bd13294bbb9..503d476c2174 100644 --- a/lang/gnat-aux/Makefile +++ b/lang/gnat-aux/Makefile @@ -1,16 +1,10 @@ -# New ports collection makefile for: gnat-aux -# Date created: 2010-12-16 -# Whom: John Marino -# +# Created by: John Marino # $FreeBSD$ -# PORTNAME= gnat-aux PORTVERSION= ${SNAPSHOT} -PORTREVISION= 1 CATEGORIES= lang MASTER_SITES= http://downloads.dragonlace.net/src/:boot \ - http://dragonlace.mirrors.ada.cx/src/:boot \ ${MASTER_SITE_GCC} MASTER_SITE_SUBDIR= releases/gcc-${GCC_VERSION} DISTFILES= gcc-core-${GCC_VERSION}.tar.bz2 @@ -26,42 +20,41 @@ INTENDED_COMPILER= NATIVE BOOTSTRAP_COMPILER= NOT_REQUIRED BOOTSTRAP_TRIPLET= NOT_SET FULL_GNATGCC= NOT_SET +GARCH= ${ARCH:S/amd64/x86_64/} +OS_LABEL4VERS= [${OPSYS}${GARCH:C,^.*(64),\1,}] + +OPTIONS_DEFINE= ADA CXX FORT OBJC TESTSUITE +OPTIONS_DEFAULT= ADA CXX FORT OBJC +NO_OPTIONS_SORT= yes + +ADA_DESC= Build Ada language +CXX_DESC= Build C++ language +FORT_DESC= Build Fortran language +OBJC_DESC= Build Objective-C language +TESTSUITE_DESC= Activate test support -OPTIONS= ADA "Build Ada language" on -OPTIONS+= CXX "Build C++ language" on -OPTIONS+= FORT "Build Fortran language" on -OPTIONS+= OBJC "Build Objective-C language" on -OPTIONS+= TS_ADA "Enable Ada testsuite" off -OPTIONS+= TS_CXX "Enable C++ testsuite" off -OPTIONS+= TS_FOR "Enable Fortran testsuite" off -OPTIONS+= TS_OBC "Enable Objective-C testsuite" off -OPTIONS+= TS_GCC "Enable GCC testsuite" off - -.include .include -.if ${ARCH} == "amd64" -BLD_TARGET= x86_64-aux-freebsd${OSREL} -OS_LABEL4VERS= [FreeBSD64] +.if ${OPSYS} == FreeBSD +. if ${GARCH} == x86_64 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] +. else BOOTSTRAP_TRIPLET= i386-bootstrap-freebsd8.0/4.6.0 -BOOTSTRAP_COMPILER= gnat-bootstrap.i386.freebsd.tar.bz2 +. endif .endif -PLIST_SUB= GNU_HOST=${BLD_TARGET} -PLIST_SUB+= GCC_VER=${GCC_VERSION} +.if ${OPSYS} == DragonFly +BOOTSTRAP_TRIPLET= ${GARCH}-bootstrap-dragonfly2.8/4.6.0 +.endif +BLD_TARGET= ${GARCH}-aux-${OPSYS:L}${OSREL} +BOOTSTRAP_COMPILER= gnat-bootstrap.${GARCH}.${OPSYS:L}.tar.bz2 WRKSRC= ${WRKDIR}/gcc-${GCC_VERSION} BUILDDIR= ${WRKDIR}/build CFG_SCRIPT= ${WRKSRC}/configure REVFILE= ${WRKSRC}/gcc/REVISION BOOTSTRAP_PREFIX= ${WRKDIR}/bootstrap +DESTINY= ${WRKDIR}/destdir PKG_PREFIX= ${PREFIX} -LPATH= lib/gcc/${BLD_TARGET}/${GCC_VERSION} -LEPATH= libexec/gcc/${BLD_TARGET}/${GCC_VERSION} USE_LDCONFIG= ${PREFIX}/lib/gcc MAN1= gnatcpp.1 gnatgcc.1 gnatgcov.1 MAN1PREFIX= ${PREFIX}/share @@ -82,7 +75,7 @@ FULL_PATH=/sbin:/bin:/usr/sbin:/usr/bin:${PREFIX}/bin .endif # If FULL_GNATGCC is not set, we'll request the bootstrap compiler -.if ${FULL_GNATGCC} == "NOT_SET" +.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 @@ -93,52 +86,42 @@ DISTFILES+= ${BOOTSTRAP_COMPILER}:boot ## Ada ## ########### -.if defined(WITH_ADA) +.if ${PORT_OPTIONS:MADA} LANGS+= ada APPLY_DIFFS+= ada DISTFILES+= gcc-ada-${GCC_VERSION}.tar.bz2 -PLIST_SUB+= ADA="" -.else -PLIST_SUB+= ADA="@comment " .endif ########### ## C++ ## ########### -.if defined(WITH_CXX) +.if ${PORT_OPTIONS:MCXX} LANGS+= c++ APPLY_DIFFS+= cxx DISTFILES+= gcc-g++-${GCC_VERSION}.tar.bz2 MAN1+= gnatg++.1 -LCXXPATH= include/c++/${GCC_VERSION} -LSHRPATH= share/gcc-${GCC_VERSION} -PLIST_SUB+= CXX="" -.else -PLIST_SUB+= CXX="@comment " .endif ############### ## Fortran ## ############### -.if defined(WITH_FORT) +.if ${PORT_OPTIONS:MFORT} LANGS+= fortran APPLY_DIFFS+= fortran DISTFILES+= gcc-fortran-${GCC_VERSION}.tar.bz2 MAN1+= gnatgfortran.1 QUADOPT= --enable-libquadmath -PLIST_SUB+= FRT="" .else QUADOPT= --disable-libquadmath -PLIST_SUB+= FRT="@comment " .endif ################### ## Objective-C ## ################### -.if defined(WITH_OBJC) +.if ${PORT_OPTIONS:MOBJC} LANGS+= objc DISTFILES+= gcc-objc-${GCC_VERSION}.tar.bz2 .endif @@ -147,28 +130,29 @@ DISTFILES+= gcc-objc-${GCC_VERSION}.tar.bz2 ## Testsuites ## ################## -.if defined(WITH_TS_ADA) \ - || defined(WITH_TS_CXX) \ - || defined(WITH_TS_FOR) \ - || defined(WITH_TS_OBC) \ - || defined(WITH_TS_GCC) +.if ${PORT_OPTIONS:MTESTSUITE} BUILD_DEPENDS= dejagnu>=1.4:${PORTSDIR}/misc/dejagnu DISTFILES+= gcc-testsuite-${GCC_VERSION}.tar.bz2 -.if defined(WITH_TS_ADA) APPLY_DIFFS+= ada-testsuite -.endif -.if defined(WITH_TS_CXX) APPLY_DIFFS+= cxx-testsuite -.endif -.if defined(WITH_TS_GCC) +APPLY_DIFFS+= fortran-testsuite APPLY_DIFFS+= gcc-testsuite .endif -.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 +# for port maintenance, uncomment to invoke "make makesum PLUS_BOOTSTRAPS=1" +.if defined(PLUS_BOOTSTRAPS) +DISTFILES= \ + gcc-core-${GCC_VERSION}.tar.bz2\ + gcc-ada-${GCC_VERSION}.tar.bz2 \ + gcc-g++-${GCC_VERSION}.tar.bz2 \ + gcc-fortran-${GCC_VERSION}.tar.bz2 \ + gcc-objc-${GCC_VERSION}.tar.bz2 \ + gcc-testsuite-${GCC_VERSION}.tar.bz2 \ + gnat-bootstrap.x86_64.dragonfly.tar.bz2:boot \ + gnat-bootstrap.i386.dragonfly.tar.bz2:boot \ + gnat-bootstrap.x86_64.freebsd.tar.bz2:boot \ + gnat-bootstrap.i386.freebsd.tar.bz2:boot +.endif # Establish Ada-aware compiler for use ADA_CONFIGURE_ENV= CC=${FULL_GNATGCC} @@ -201,7 +185,7 @@ post-extract: @${ECHO} "-=> GNAT AUX ${OS_LABEL4VERS}" > ${REVFILE} # Create new directories in preparation of applying diff files -.if defined(WITH_CXX) +.if ${PORT_OPTIONS:MCXX) ${MKDIR} ${WRKSRC}/libstdc++-v3/config/locale/dragonfly ${MKDIR} ${WRKSRC}/libstdc++-v3/config/os/bsd/dragonfly .endif @@ -212,7 +196,7 @@ post-extract: @${PATCH} -d ${WRKSRC} -s -E < ${FILESDIR}/diff-${suffix} .endfor -.if ${INTENDED_COMPILER} == "BOOTSTRAP" +.if ${INTENDED_COMPILER} == BOOTSTRAP ${MKDIR} ${BOOTSTRAP_PREFIX} ${MV} ${BOOTSTRAP_PREFIX}/../bin ${BOOTSTRAP_PREFIX} ${MV} ${BOOTSTRAP_PREFIX}/../lib ${BOOTSTRAP_PREFIX} @@ -221,12 +205,8 @@ post-extract: # 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 ${OSVERSION} > 900000 - # Since June 7, bootstrap compiler's include-fixed headers have been - # incompatible with FreeBSD 9.0-CURRENT ${RM} -rf ${BOOTSTRAP_PREFIX}/lib/gcc/${BOOTSTRAP_TRIPLET}/include-fixed .endif -.endif do-configure: ${MKDIR} ${BUILDDIR} @@ -236,42 +216,54 @@ do-configure: do-build: cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} ${_MAKE_JOBS} all -test: build -.if defined(WITH_ADA) && defined(WITH_TS_ADA) +test: build test-ada test-fortran test-objc test-cxx test-c + +test-ada: +.if ${PORT_OPTIONS:MADA) && ${PORT_OPTIONS:MTESTSUITE} cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-ada .endif -.if defined(WITH_FORT) && defined(WITH_TS_FOR) + +test-fortran: +.if ${PORT_OPTIONS:MFORT) && ${PORT_OPTIONS:MTESTSUITE} cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-fortran .endif -.if defined(WITH_OBJC) && defined(WITH_TS_OBC) + +test-objc: +.if ${PORT_OPTIONS:MOBJC) && ${PORT_OPTIONS:MTESTSUITE} cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-objc .endif -.if defined(WITH_CXX) && defined(WITH_TS_CXX) + +test-cxx: +.if ${PORT_OPTIONS:MCXX) && ${PORT_OPTIONS:MTESTSUITE} # libstdc++ testsuite will break every time, TRUE used to force continuation cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-c++ || true .endif -.if defined(WITH_TS_GCC) + +test-c: +.if ${PORT_OPTIONS:MTESTSUITE} cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-c .endif do-install: - cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} install-strip DESTDIR=${DESTDIR} + cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} install-strip DESTDIR=${DESTINY} + ${RM} ${DESTINY}${PREFIX}/lib/libiberty.a + ${CP} -pR ${DESTINY}${PREFIX}/ ${PREFIX}/ post-install: - ${RM} -f ${WRKDIR}/PLIST.lib -.for d in ${LPATH} ${LEPATH} ${LCXXPATH} ${LSHRPATH} - 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 - ${ECHO_CMD} "@unexec ${RMDIR} %D/include/c++ 2>/dev/null || true" >> ${WRKDIR}/PLIST.lib - - cd ${WRKDIR}; ${SED} -i -e "/PLIST.lib/ r PLIST.lib" ${TMPPLIST} -.if ${OSVERSION} > 900000 + ${RM} -f ${WRKDIR}/PLIST.all + ${RM} -rf ${DESTINY}/man + ${MV} ${DESTINY}${PREFIX}/share/man ${DESTINY}/ + cd ${DESTINY}; ${FIND} man -type d \ + -exec ${MKDIR} ${DESTINY}${PREFIX}/share/{} \; + cd ${DESTINY}${PREFIX}; ${FIND} * \( -type f -or -type l \) | \ + ${SORT} >> ${WRKDIR}/PLIST.all + cd ${DESTINY}${PREFIX}; ${FIND} * -type d | ${SORT} -r | \ + ${SED} -E '/^(bin|sbin|lib|libexec|share)$$/d' | \ + ${SED} -e 's/^/@dirrm /g' >> ${WRKDIR}/PLIST.all + + cd ${WRKDIR}; ${SED} -i -e "/PLIST.all/ r PLIST.all" ${TMPPLIST} +.if ${OPSYS} == FreeBSD +. if ${OSVERSION} > 900000 && ${OSVERSION} < 900507 @${ECHO_MSG} "====================================================================" @${ECHO_MSG} " NOTICE REGARDING ADA TASKING ON FREEBSD 9.0:" @${ECHO_MSG} " Due to a bug in the FreeBSD 9.0 threading library, an exiting task" @@ -281,6 +273,7 @@ post-install: @${ECHO_MSG} " 2) Patch and rebuild thread library as described in" @${ECHO_MSG} " http://www.dragonlace.net/posts/F9_Fix/" @${ECHO_MSG} "====================================================================" +. endif .endif -.include +.include diff --git a/lang/gnat-aux/Makefile.common b/lang/gnat-aux/Makefile.common index 17414119c29d..cd09f52ac0d9 100644 --- a/lang/gnat-aux/Makefile.common +++ b/lang/gnat-aux/Makefile.common @@ -14,8 +14,8 @@ USE_PERL5_BUILD= yes ALL_TARGET= default MAKE_JOBS_SAFE= yes -SNAPSHOT= 20120301 +SNAPSHOT= 20130412 GCC_BRANCH= 4.6 -GCC_POINT= 3 +GCC_POINT= 4 GCC_VERSION= ${GCC_BRANCH}.${GCC_POINT} diff --git a/lang/gnat-aux/distinfo b/lang/gnat-aux/distinfo index e2c10e86dd1d..284694285ff6 100644 --- a/lang/gnat-aux/distinfo +++ b/lang/gnat-aux/distinfo @@ -1,16 +1,20 @@ -SHA256 (gcc-core-4.6.3.tar.bz2) = 283e00881c0de258fafc5170843e4d9b14ee2a7dc4426f0d426e6be0400251c1 -SIZE (gcc-core-4.6.3.tar.bz2) = 30305971 -SHA256 (gcc-ada-4.6.3.tar.bz2) = 7bb213ec3948646df72720580fcba3489c84aa452bd0e4238712607ef83cbdf6 -SIZE (gcc-ada-4.6.3.tar.bz2) = 6092418 -SHA256 (gcc-g++-4.6.3.tar.bz2) = b3e0c733e900e99096b0c5480f57e22e3e583ec3d83596cc2cb9986bd64b29e8 -SIZE (gcc-g++-4.6.3.tar.bz2) = 6928430 -SHA256 (gcc-fortran-4.6.3.tar.bz2) = fe1bdf3485f33e6d0a998ff7bcb42526fbf3083dbfc107c3d95a88c00739eadb -SIZE (gcc-fortran-4.6.3.tar.bz2) = 1676490 -SHA256 (gcc-objc-4.6.3.tar.bz2) = 4c193397ce0b8b7b3a6b090078f7228e22999edb14a53480ac709f7f165a4ca3 -SIZE (gcc-objc-4.6.3.tar.bz2) = 342441 -SHA256 (gcc-testsuite-4.6.3.tar.bz2) = a3448d09e5e8ce6baee4080981efc85e6af1621b66a68258dd645c04ae381bed -SIZE (gcc-testsuite-4.6.3.tar.bz2) = 6354781 -SHA256 (gnat-bootstrap.i386.freebsd.tar.bz2) = c38e1c960f651c3f248c1ef540b1df724058fa71c1d046af93ce975483abb645 -SIZE (gnat-bootstrap.i386.freebsd.tar.bz2) = 27973176 +SHA256 (gcc-core-4.6.4.tar.bz2) = 48b566f1288f099dff8fba868499a320f83586245ec69b8c82a9042566a5bf62 +SIZE (gcc-core-4.6.4.tar.bz2) = 30353380 +SHA256 (gcc-ada-4.6.4.tar.bz2) = 2a09bbf942b2557839722d4807e67559123037356f5cb1a3b12f44539968d0ad +SIZE (gcc-ada-4.6.4.tar.bz2) = 6084085 +SHA256 (gcc-g++-4.6.4.tar.bz2) = 4eaa347f9cd3ab7d5e14efbb9c5c03009229cd714b558fc55fa56e8996b74d42 +SIZE (gcc-g++-4.6.4.tar.bz2) = 6939359 +SHA256 (gcc-fortran-4.6.4.tar.bz2) = 4f402e0d27995a02354570f0a63047f27463c72c62f1ba3c08ef5a7c6c9c3d1c +SIZE (gcc-fortran-4.6.4.tar.bz2) = 1679632 +SHA256 (gcc-objc-4.6.4.tar.bz2) = f1f399fedc52d70d91e13211f0ccff56b7183f429d248010a5d7b43fa9bada3d +SIZE (gcc-objc-4.6.4.tar.bz2) = 346591 +SHA256 (gcc-testsuite-4.6.4.tar.bz2) = bfa9a5188dde3332df3eaf1ab0bc2bec11aa5e02146a445c23547c8fbe8d895b +SIZE (gcc-testsuite-4.6.4.tar.bz2) = 6388458 +SHA256 (gnat-bootstrap.x86_64.dragonfly.tar.bz2) = ccd361f3fa15fad38ea68530b120517f0049767d6b98cf02898d5adf9ef2b23e +SIZE (gnat-bootstrap.x86_64.dragonfly.tar.bz2) = 31380342 +SHA256 (gnat-bootstrap.i386.dragonfly.tar.bz2) = 9148952791231e7d302238b690b183af72867b19ecac8ac482f035c06583cb0c +SIZE (gnat-bootstrap.i386.dragonfly.tar.bz2) = 28205489 SHA256 (gnat-bootstrap.x86_64.freebsd.tar.bz2) = c4abd6af1281785d47d99352e28e41b2a1455e25ff347eca0de5791cdede9ed8 SIZE (gnat-bootstrap.x86_64.freebsd.tar.bz2) = 31565201 +SHA256 (gnat-bootstrap.i386.freebsd.tar.bz2) = c38e1c960f651c3f248c1ef540b1df724058fa71c1d046af93ce975483abb645 +SIZE (gnat-bootstrap.i386.freebsd.tar.bz2) = 27973176 diff --git a/lang/gnat-aux/pkg-plist b/lang/gnat-aux/pkg-plist index a32053bf6716..b85ef4cd295d 100644 --- a/lang/gnat-aux/pkg-plist +++ b/lang/gnat-aux/pkg-plist @@ -1,47 +1 @@ -%%ADA%%bin/gnat -%%ADA%%bin/gnatbind -%%ADA%%bin/gnatchop -%%ADA%%bin/gnatclean -%%CXX%%bin/gnatc++ -bin/gnatcpp -%%ADA%%bin/gnatfind -%%CXX%%bin/gnatg++ -bin/gnatgcc -bin/gnatgcov -%%FRT%%bin/gnatgfortran -%%ADA%%bin/gnatkr -%%ADA%%bin/gnatlink -%%ADA%%bin/gnatls -%%ADA%%bin/gnatmake -%%ADA%%bin/gnatname -%%ADA%%bin/gnatprep -%%ADA%%bin/gnatxref -bin/%%GNU_HOST%%-gcc-%%GCC_VER%% -%%CXX%%bin/%%GNU_HOST%%-gnatc++ -%%CXX%%bin/%%GNU_HOST%%-gnatg++ -bin/%%GNU_HOST%%-gnatgcc -%%FRT%%bin/%%GNU_HOST%%-gnatgfortran -lib/libgcc_s.so -lib/libgcc_s.so.1 -lib/libiberty.a -%%CXX%%lib/libstdc++.a -%%CXX%%lib/libstdc++.la -%%CXX%%lib/libstdc++.so -%%CXX%%lib/libstdc++.so.6 -%%CXX%%lib/libstdc++.so.6-gdb.py -%%CXX%%lib/libsupc++.a -%%CXX%%lib/libsupc++.la -%%FRT%%lib/libgfortran.a -%%FRT%%lib/libgfortran.la -%%FRT%%lib/libgfortran.so -%%FRT%%lib/libgfortran.so.3 -%%FRT%%lib/libgfortran.spec -%%FRT%%lib/libquadmath.la -%%FRT%%lib/libquadmath.a -%%FRT%%lib/libquadmath.so -%%FRT%%lib/libquadmath.so.0 -@dirrmtry share/info -@dirrmtry share/man/man7 -@dirrmtry share/man/man1 -@dirrmtry share/man -@comment PLIST.lib attached below +@comment PLIST.all attached afterwards (entire PLIST generated) -- cgit v1.2.3