Date: Thu, 21 Apr 2011 05:53:57 GMT From: John Marino <freebsdml@marino.st> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/156541: [MAINTAINER] Upgrade gnat-aux to release version and add C++ Message-ID: <201104210553.p3L5rvoQ082619@red.freebsd.org> Resent-Message-ID: <201104210600.p3L60KfE005033@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 156541 >Category: ports >Synopsis: [MAINTAINER] Upgrade gnat-aux to release version and add C++ >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Thu Apr 21 06:00:20 UTC 2011 >Closed-Date: >Last-Modified: >Originator: John Marino >Release: >Organization: >Environment: >Description: This patch provides the following: 1. Upgrades gnat-aux to mirror gcc 4.6.0 release (The current version is equivalent to pre-release candidate) 2. Adds an option to build C++, which is "on" by default. A number of programs require both C and Ada and it's convenient to have the same compiler collection build those parts. 3. Additional testsuites were added (C and C++) 4. Dejagnu was demoted to an optional dependency. If not testsuites are selected, which is the new default, then dejagnu is not considered a dependency. 5. gnat-aux no longer builds MAKEINFO which conflicts with other gcc ports. 6. The unnecessary libquadmath is no longer built. 7. The makefile now uses gcc's install-strip function instead of manually stripping the symbols after installation. It seems that if gnat-aux already exists on the system and is being upgraded in place, an error regarding the gnat documentation will occur during the deinstallation phase. It is caused by the prior version having enabled MAKEINFO which is now disabled. To help users avoid this error, the following update to /usr/ports/UPDATING is recommended: 20110421: AFFECTS: users of lang/gnat-aux AUTHOR: John Marino <draco@marino.st> To avoid an error about GNAT documentation during the reinstallation phase it is suggested that gnat-aux be completely deinstalled and rebuilt. For example, use: # cd /usr/ports/lang/gnat-aux # make deinstall clean # make install clean >How-To-Repeat: >Fix: --- Makefile.orig 2011-04-03 13:32:52.000000000 +0200 +++ Makefile 2011-04-20 23:30:33.000000000 +0200 @@ -17,7 +17,6 @@ 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 @@ -30,9 +29,10 @@ USE_LDCONFIG= yes ALL_TARGET= default -SNAPSHOT= 20110107 +SNAPSHOT= 20110325 GCC_BRANCH= 4.6 GCC_POINT= 0 +LANGS= c THREAD_MODEL= posix INTENDED_COMPILER= NATIVE @@ -40,7 +40,14 @@ BOOTSTRAP_TRIPLET= NOT_SET FULL_GNATGCC= NOT_SET +OPTIONS= ADA "Build Ada language" on +OPTIONS+= CXX "Build C++ language" on +OPTIONS+= TS_ADA "Enable Ada testsuite" off +OPTIONS+= TS_CXX "Enable C++ testsuite" off +OPTIONS+= TS_GCC "Enable GCC testsuite" off + .include <bsd.port.pre.mk> +.include <bsd.port.options.mk> .if ${ARCH} == "amd64" BLD_TARGET= x86_64-aux-freebsd${OSREL} @@ -63,8 +70,7 @@ 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 +LEPATH= libexec/gcc/${BLD_TARGET}/${GCC_BRANCH}.${GCC_POINT} MAN1= gnatcpp.1 gnatgcc.1 gnatgcov.1 MAN7= fsf-funding.7 gfdl.7 gpl.7 MAN1PREFIX= ${PREFIX}/share @@ -92,17 +98,53 @@ DISTFILES=${PORTNAME}-${SNAPSHOT}.tar.bz2 ${BOOTSTRAP_COMPILER} .endif +########### +## Ada ## +########### + +.if defined(WITH_ADA) +LANGS+= ada +.endif + +########### +## C++ ## +########### + +.if defined(WITH_CXX) +LANGS+= c++ +MAN1+= gnatg++.1 +LCXXPATH= include/c++/${GCC_BRANCH}.${GCC_POINT} +LSHRPATH= share/gcc-${GCC_BRANCH}.${GCC_POINT} +PLIST_SUB+= CXX="" +.else +PLIST_SUB+= CXX="@comment " +.endif + +################## +## Testsuites ## +################## + +.if defined(WITH_TS_ADA) \ + || defined(WITH_TS_CXX) \ + || defined(WITH_TS_GCC) +BUILD_DEPENDS= dejagnu>=1.4:${PORTSDIR}/misc/dejagnu +.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_CONFIGURE_ENV= CC=${FULL_GNATGCC} +ADA_CONFIGURE_ENV+= PATH=${FULL_PATH} +ADA_CONFIGURE_ENV+= CONFIG_SHELL=${SH} +ADA_CONFIGURE_ENV+= MAKEINFO=/usr/bin/false ADA_MAKE_ENV= PATH=${FULL_PATH} +ADA_MAKE_ENV+= LD_LIBRARY_PATH=${WRKSRC}/gcc # The standard configuration options -CONFIGURE_ARGS= --enable-languages=c,ada +CONFIGURE_ARGS= --enable-languages=${LANGS:Q} CONFIGURE_ARGS+= --build=${BLD_TARGET} CONFIGURE_ARGS+= --program-prefix=gnat CONFIGURE_ARGS+= --prefix=${PREFIX} @@ -114,13 +156,12 @@ CONFIGURE_ARGS+= --enable-shared CONFIGURE_ARGS+= --enable-threads=${THREAD_MODEL} CONFIGURE_ARGS+= --disable-bootstrap +CONFIGURE_ARGS+= --disable-libquadmath 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} @@ -151,14 +192,24 @@ cd ${WRKSRC} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} all test: build +.if defined(WITH_TS_ADA) cd ${WRKSRC} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-ada +.endif +.if defined(WITH_TS_CXX) + cd ${WRKSRC} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-c++ + cd ${WRKSRC} && ${SETENV} ${ADA_MAKE_ENV} \ + ${GMAKE} -sk check-target-libstdc++-v3 +.endif +.if defined(WITH_TS_GCC) + cd ${WRKSRC} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-c +.endif do-install: - cd ${WRKSRC} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} install + cd ${WRKSRC} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} install-strip -post-install: strip-exec +post-install: ${RM} -f ${WRKDIR}/PLIST.lib -.for d in ${LPATH} ${LEPATH} +.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 @@ -167,13 +218,8 @@ ${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} -strip-exec: - ${STRIP_CMD} ${PREFIX}/bin/gnat* -.for k in ${LELIST} - ${STRIP_CMD} ${PREFIX}/${LEPATH}/${k} -.endfor - .include <bsd.port.post.mk> --- pkg-plist.orig 2011-04-03 13:32:31.000000000 +0200 +++ pkg-plist 2011-04-20 07:29:15.000000000 +0200 @@ -1,10 +1,11 @@ -@comment $FreeBSD bin/gnat bin/gnatbind bin/gnatchop bin/gnatclean +%%CXX%%bin/gnatc++ bin/gnatcpp bin/gnatfind +%%CXX%%bin/gnatg++ bin/gnatgcc bin/gnatgcov bin/gnatkr @@ -15,24 +16,19 @@ bin/gnatprep bin/gnatxref bin/%%GNU_HOST%%-gcc-%%GCC_VER%% +%%CXX%%bin/%%GNU_HOST%%-gnatc++ +%%CXX%%bin/%%GNU_HOST%%-gnatg++ 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 +%%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 @dirrmtry share/info @dirrmtry share/man/man1 @dirrmtry share/man/man7 --- distinfo.orig 2011-04-03 13:32:23.000000000 +0200 +++ distinfo 2011-04-20 07:29:13.000000000 +0200 @@ -1,5 +1,5 @@ -SHA256 (gnat-aux-20110107.tar.bz2) = b686a639117a283e4659240439b95b446aada76825e352b12c5925918d3a8cab -SIZE (gnat-aux-20110107.tar.bz2) = 23176092 +SHA256 (gnat-aux-20110325.tar.bz2) = 9d4e2e071cd88179d3553d105735afe0e5a67e9832d50c53c1d3dfe1af46daa5 +SIZE (gnat-aux-20110325.tar.bz2) = 26700051 SHA256 (gnat-bootstrap.i386.freebsd.tar.bz2) = c38e1c960f651c3f248c1ef540b1df724058fa71c1d046af93ce975483abb645 SIZE (gnat-bootstrap.i386.freebsd.tar.bz2) = 27973176 SHA256 (gnat-bootstrap.x86_64.freebsd.tar.bz2) = c4abd6af1281785d47d99352e28e41b2a1455e25ff347eca0de5791cdede9ed8 >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201104210553.p3L5rvoQ082619>