pkgsrc/lang/gnat-aux/Makefile

314 lines
10 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.16 2013/05/31 12:41:11 wiz Exp $
#
lang/gnat-aux: Upgrade to gcc 4.6.2, add Fortran, Objective-C Obvious additions: 1) Upgrades sync from gcc 4.6.1-RELEASE to gcc 4.6.2-RELEASE 2) New capability of building Fortran 3) New capability of building Objective-C 4) Building of all 5 languages (Ada,C,C++,ObjC,Fortran) now default 5) Fortran testsuite added 6) ObjC testsuite added Behind the scenes: 1) Previously GNAT-Aux was built from a custom-built tarball. Now real real gcc source files are used instead, but heavily patched. 2) The standard patch mechanism is not used. Composite diff files are generated by dragonlace.net and they are applied as needed, and are located in the "files" directory 3) This might be the only gcc that doesn't use the monolithic source tar ball. Depending on the options selected, the makefile updates its distfile list and only downloads what it needs, including testsuite files and dejagnu support. 4) All platforms are now built with unlimited stacksize command due to new issues with <platform>-stdint.h functionality. 5) All platforms use unlimited stacksize for Ada testing. Before it was limited to NetBSD x86_64. This may have introduced a failure on NetBSD i386 though. There were no other impacts according to the Ada testsuite results. 6) The PLIST automatic generation was significantly simplified, resulting in some variable deletion. 7) libstdc++ can't break testing now (forced to evaluate to true) 8) Unnecessary depends and USE_TOOLS removed 9) The includes-fixed directory is now removed from all platforms, arches now rather than problematic ones. It seems that it can only make no difference or cause problems, so no reason to keep it around. A) Unnecessary do-config phase "touches" removed. B) Several fixes added to diff patches to improve testsuite results on c, c++, and fortran for all platforms.
2012-01-08 12:17:07 +01:00
PKGNAME= gnat-aux-${SNAPSHOT}
DISTNAME= gcc-${GCC_VERSION}
PKGREVISION= 1
CATEGORIES= lang
lang/gnat-aux: Upgrade to gcc 4.6.2, add Fortran, Objective-C Obvious additions: 1) Upgrades sync from gcc 4.6.1-RELEASE to gcc 4.6.2-RELEASE 2) New capability of building Fortran 3) New capability of building Objective-C 4) Building of all 5 languages (Ada,C,C++,ObjC,Fortran) now default 5) Fortran testsuite added 6) ObjC testsuite added Behind the scenes: 1) Previously GNAT-Aux was built from a custom-built tarball. Now real real gcc source files are used instead, but heavily patched. 2) The standard patch mechanism is not used. Composite diff files are generated by dragonlace.net and they are applied as needed, and are located in the "files" directory 3) This might be the only gcc that doesn't use the monolithic source tar ball. Depending on the options selected, the makefile updates its distfile list and only downloads what it needs, including testsuite files and dejagnu support. 4) All platforms are now built with unlimited stacksize command due to new issues with <platform>-stdint.h functionality. 5) All platforms use unlimited stacksize for Ada testing. Before it was limited to NetBSD x86_64. This may have introduced a failure on NetBSD i386 though. There were no other impacts according to the Ada testsuite results. 6) The PLIST automatic generation was significantly simplified, resulting in some variable deletion. 7) libstdc++ can't break testing now (forced to evaluate to true) 8) Unnecessary depends and USE_TOOLS removed 9) The includes-fixed directory is now removed from all platforms, arches now rather than problematic ones. It seems that it can only make no difference or cause problems, so no reason to keep it around. A) Unnecessary do-config phase "touches" removed. B) Several fixes added to diff patches to improve testsuite results on c, c++, and fortran for all platforms.
2012-01-08 12:17:07 +01:00
MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC_VERSION}/}
DISTFILES= gcc-core-${GCC_VERSION}.tar.bz2
MAINTAINER= draco@marino.st
HOMEPAGE= http://www.dragonlace.net/
COMMENT= GNAT Ada compiler based on GCC ${GCC_BRANCH}
LICENSE= gnu-gpl-v3 AND gnu-lgpl-v3
SNAPSHOT= 20130412
GCC_BRANCH= 4.6
GCC_POINT= 4
lang/gnat-aux: Upgrade to gcc 4.6.2, add Fortran, Objective-C Obvious additions: 1) Upgrades sync from gcc 4.6.1-RELEASE to gcc 4.6.2-RELEASE 2) New capability of building Fortran 3) New capability of building Objective-C 4) Building of all 5 languages (Ada,C,C++,ObjC,Fortran) now default 5) Fortran testsuite added 6) ObjC testsuite added Behind the scenes: 1) Previously GNAT-Aux was built from a custom-built tarball. Now real real gcc source files are used instead, but heavily patched. 2) The standard patch mechanism is not used. Composite diff files are generated by dragonlace.net and they are applied as needed, and are located in the "files" directory 3) This might be the only gcc that doesn't use the monolithic source tar ball. Depending on the options selected, the makefile updates its distfile list and only downloads what it needs, including testsuite files and dejagnu support. 4) All platforms are now built with unlimited stacksize command due to new issues with <platform>-stdint.h functionality. 5) All platforms use unlimited stacksize for Ada testing. Before it was limited to NetBSD x86_64. This may have introduced a failure on NetBSD i386 though. There were no other impacts according to the Ada testsuite results. 6) The PLIST automatic generation was significantly simplified, resulting in some variable deletion. 7) libstdc++ can't break testing now (forced to evaluate to true) 8) Unnecessary depends and USE_TOOLS removed 9) The includes-fixed directory is now removed from all platforms, arches now rather than problematic ones. It seems that it can only make no difference or cause problems, so no reason to keep it around. A) Unnecessary do-config phase "touches" removed. B) Several fixes added to diff patches to improve testsuite results on c, c++, and fortran for all platforms.
2012-01-08 12:17:07 +01:00
GCC_VERSION= ${GCC_BRANCH}.${GCC_POINT}
LANGS= c
2012-01-12 16:38:45 +01:00
USE_TOOLS+= gmake sed perl makeinfo bzip2 patch pod2man
USE_BUILTIN.iconv= no
lang/gnat-aux: Upgrade to gcc 4.6.2, add Fortran, Objective-C Obvious additions: 1) Upgrades sync from gcc 4.6.1-RELEASE to gcc 4.6.2-RELEASE 2) New capability of building Fortran 3) New capability of building Objective-C 4) Building of all 5 languages (Ada,C,C++,ObjC,Fortran) now default 5) Fortran testsuite added 6) ObjC testsuite added Behind the scenes: 1) Previously GNAT-Aux was built from a custom-built tarball. Now real real gcc source files are used instead, but heavily patched. 2) The standard patch mechanism is not used. Composite diff files are generated by dragonlace.net and they are applied as needed, and are located in the "files" directory 3) This might be the only gcc that doesn't use the monolithic source tar ball. Depending on the options selected, the makefile updates its distfile list and only downloads what it needs, including testsuite files and dejagnu support. 4) All platforms are now built with unlimited stacksize command due to new issues with <platform>-stdint.h functionality. 5) All platforms use unlimited stacksize for Ada testing. Before it was limited to NetBSD x86_64. This may have introduced a failure on NetBSD i386 though. There were no other impacts according to the Ada testsuite results. 6) The PLIST automatic generation was significantly simplified, resulting in some variable deletion. 7) libstdc++ can't break testing now (forced to evaluate to true) 8) Unnecessary depends and USE_TOOLS removed 9) The includes-fixed directory is now removed from all platforms, arches now rather than problematic ones. It seems that it can only make no difference or cause problems, so no reason to keep it around. A) Unnecessary do-config phase "touches" removed. B) Several fixes added to diff patches to improve testsuite results on c, c++, and fortran for all platforms.
2012-01-08 12:17:07 +01:00
APPLY_DIFFS= core
.include "../../mk/bsd.prefs.mk"
.include "options.mk"
# Requires bootstrap compiler, which is only available for NetBSD i386/AMD64
# and DragonFly i386/AMD64. Actually bootstrap compilers for OpenBSD and
# FreeBSD also exist, but native packages will be available for those ports.
ONLY_FOR_PLATFORM= DragonFly-*-* \
NetBSD-[5-9]*-i386 \
NetBSD-[5-9]*-x86_64 \
SunOS-5.*-i386
BLD_TARGET= ${MACHINE_ARCH}-aux-${LOWER_OPSYS}${OS_VERSION}
THREAD_MODEL= posix
OS_LABEL4VERS= [pkgsrc]
BOOTSTRAP_COMPILER= NOT_REQUIRED
INTENDED_COMPILER= NATIVE
BOOTSTRAP_TRIPLET= NOT SET
FULL_GNATGCC= NOT SET
FULL_PATH= /sbin:/bin:/usr/sbin:/usr/bin:${PREFIX}/sbin:${PREFIX}/bin
OLD_EH= register_frame
REBUILD_LIB= Rebuild the following library first:
BOOTSTRAP_SITES= http://downloads.dragonlace.net/src/
.if ${OPSYS} == "DragonFly"
.if ${MACHINE_ARCH} == "i386"
OS_LABEL4VERS= [DragonFly]
BOOTSTRAP_TRIPLET= i386-bootstrap-dragonfly2.8/4.6.0
.endif
.if ${MACHINE_ARCH} == "x86_64"
OS_LABEL4VERS= [DragonFly64]
BOOTSTRAP_TRIPLET= x86_64-bootstrap-dragonfly2.8/4.6.0
.endif
BOOTSTRAP_COMPILER= gnat-bootstrap.${MACHINE_ARCH}.dragonfly.tar.bz2
LINK_HEADER= /usr/include/sys/link_elf.h
.endif
.if ${OPSYS} == "NetBSD"
.if empty(OS_VERSION:M5.99.*)
NSUFF= ${OS_VERSION}
.else
NSUFF= 6.0_DEV
.endif
.if ${MACHINE_ARCH} == "i386"
OS_LABEL4VERS= [NetBSD]
BOOTSTRAP_TRIPLET= i386-bootstrap-netbsdelf5.1/4.6.0
BLD_TARGET= ${MACHINE_ARCH}-aux-netbsdelf${NSUFF}
.endif
.if ${MACHINE_ARCH} == "x86_64"
OS_LABEL4VERS= [NetBSD64]
BOOTSTRAP_TRIPLET= x86_64-bootstrap-netbsd5.1/4.6.0
BLD_TARGET= ${MACHINE_ARCH}-aux-netbsd${NSUFF}
.endif
BOOTSTRAP_COMPILER= gnat-bootstrap.${MACHINE_ARCH}.netbsd.tar.bz2
LINK_HEADER= /usr/include/link_elf.h
lang/gnat-aux: Upgrade to gcc 4.6.2, add Fortran, Objective-C Obvious additions: 1) Upgrades sync from gcc 4.6.1-RELEASE to gcc 4.6.2-RELEASE 2) New capability of building Fortran 3) New capability of building Objective-C 4) Building of all 5 languages (Ada,C,C++,ObjC,Fortran) now default 5) Fortran testsuite added 6) ObjC testsuite added Behind the scenes: 1) Previously GNAT-Aux was built from a custom-built tarball. Now real real gcc source files are used instead, but heavily patched. 2) The standard patch mechanism is not used. Composite diff files are generated by dragonlace.net and they are applied as needed, and are located in the "files" directory 3) This might be the only gcc that doesn't use the monolithic source tar ball. Depending on the options selected, the makefile updates its distfile list and only downloads what it needs, including testsuite files and dejagnu support. 4) All platforms are now built with unlimited stacksize command due to new issues with <platform>-stdint.h functionality. 5) All platforms use unlimited stacksize for Ada testing. Before it was limited to NetBSD x86_64. This may have introduced a failure on NetBSD i386 though. There were no other impacts according to the Ada testsuite results. 6) The PLIST automatic generation was significantly simplified, resulting in some variable deletion. 7) libstdc++ can't break testing now (forced to evaluate to true) 8) Unnecessary depends and USE_TOOLS removed 9) The includes-fixed directory is now removed from all platforms, arches now rather than problematic ones. It seems that it can only make no difference or cause problems, so no reason to keep it around. A) Unnecessary do-config phase "touches" removed. B) Several fixes added to diff patches to improve testsuite results on c, c++, and fortran for all platforms.
2012-01-08 12:17:07 +01:00
SUBST_CLASSES+= net1
SUBST_STAGE.net1= post-patch
SUBST_FILES.net1= gcc/config/i386/netbsd-elf.h
SUBST_MESSAGE.net1= Fixing libgcc linkage problem on NetBSD
SUBST_SED.net1= -e "s,@EXEC_PREFIX@,${PREFIX},"
.endif
.if ${OPSYS} == "SunOS"
.if ${MACHINE_ARCH} == "i386"
OS_LABEL4VERS= [Solaris]
BOOTSTRAP_TRIPLET= i386-bootstrap-solaris5.11/4.6.1
.endif
SOL_OSV= `expr substr ${OS_VERSION} 3 2`
BLD_TARGET= ${MACHINE_ARCH}-aux-${LOWER_OPSYS}2.${SOL_OSV}
BOOTSTRAP_COMPILER= gnat-bootstrap.${MACHINE_ARCH}.solaris.tar.bz2
.endif
# Let's build this without bash
CONFIG_SHELL= ${TOOLS_PATH.sh}
# define some important directories and files
BUILDDIR= ${WRKDIR}/build
lang/gnat-aux: Upgrade to gcc 4.6.2, add Fortran, Objective-C Obvious additions: 1) Upgrades sync from gcc 4.6.1-RELEASE to gcc 4.6.2-RELEASE 2) New capability of building Fortran 3) New capability of building Objective-C 4) Building of all 5 languages (Ada,C,C++,ObjC,Fortran) now default 5) Fortran testsuite added 6) ObjC testsuite added Behind the scenes: 1) Previously GNAT-Aux was built from a custom-built tarball. Now real real gcc source files are used instead, but heavily patched. 2) The standard patch mechanism is not used. Composite diff files are generated by dragonlace.net and they are applied as needed, and are located in the "files" directory 3) This might be the only gcc that doesn't use the monolithic source tar ball. Depending on the options selected, the makefile updates its distfile list and only downloads what it needs, including testsuite files and dejagnu support. 4) All platforms are now built with unlimited stacksize command due to new issues with <platform>-stdint.h functionality. 5) All platforms use unlimited stacksize for Ada testing. Before it was limited to NetBSD x86_64. This may have introduced a failure on NetBSD i386 though. There were no other impacts according to the Ada testsuite results. 6) The PLIST automatic generation was significantly simplified, resulting in some variable deletion. 7) libstdc++ can't break testing now (forced to evaluate to true) 8) Unnecessary depends and USE_TOOLS removed 9) The includes-fixed directory is now removed from all platforms, arches now rather than problematic ones. It seems that it can only make no difference or cause problems, so no reason to keep it around. A) Unnecessary do-config phase "touches" removed. B) Several fixes added to diff patches to improve testsuite results on c, c++, and fortran for all platforms.
2012-01-08 12:17:07 +01:00
WRKSRC= ${WRKDIR}/gcc-${GCC_VERSION}
PKG_PREFIX= ${PREFIX}
CFG_SCRIPT= ${WRKSRC}/configure
BOOTSTRAP_PREFIX= ${WRKDIR}/bootstrap
REVFILE= ${WRKSRC}/gcc/REVISION
lang/gnat-aux: Upgrade to gcc 4.6.2, add Fortran, Objective-C Obvious additions: 1) Upgrades sync from gcc 4.6.1-RELEASE to gcc 4.6.2-RELEASE 2) New capability of building Fortran 3) New capability of building Objective-C 4) Building of all 5 languages (Ada,C,C++,ObjC,Fortran) now default 5) Fortran testsuite added 6) ObjC testsuite added Behind the scenes: 1) Previously GNAT-Aux was built from a custom-built tarball. Now real real gcc source files are used instead, but heavily patched. 2) The standard patch mechanism is not used. Composite diff files are generated by dragonlace.net and they are applied as needed, and are located in the "files" directory 3) This might be the only gcc that doesn't use the monolithic source tar ball. Depending on the options selected, the makefile updates its distfile list and only downloads what it needs, including testsuite files and dejagnu support. 4) All platforms are now built with unlimited stacksize command due to new issues with <platform>-stdint.h functionality. 5) All platforms use unlimited stacksize for Ada testing. Before it was limited to NetBSD x86_64. This may have introduced a failure on NetBSD i386 though. There were no other impacts according to the Ada testsuite results. 6) The PLIST automatic generation was significantly simplified, resulting in some variable deletion. 7) libstdc++ can't break testing now (forced to evaluate to true) 8) Unnecessary depends and USE_TOOLS removed 9) The includes-fixed directory is now removed from all platforms, arches now rather than problematic ones. It seems that it can only make no difference or cause problems, so no reason to keep it around. A) Unnecessary do-config phase "touches" removed. B) Several fixes added to diff patches to improve testsuite results on c, c++, and fortran for all platforms.
2012-01-08 12:17:07 +01:00
BASELIB= ${PREFIX}/lib
# testing if gnatgcc, gnatlink, gnatbind and gnatmake are in standard location
# exists function will NOT expand any variable, so it has to be hard-coded
.if exists(/usr/pkg/bin/gnatgcc) || exists(/opt/ipp/pkg/bin/gnatgcc)
.if exists(/usr/pkg/bin/gnatbind) || exists(/opt/ipp/pkg/bin/gnatbind)
.if exists(/usr/pkg/bin/gnatlink) || exists(/opt/ipp/pkg/bin/gnatlink)
.if exists(/usr/pkg/bin/gnatmake) || exists(/opt/ipp/pkg/bin/gnatmake)
FULL_GNATGCC=${PREFIX}/bin/gnatgcc
.endif #gnatmake
.endif #gnatlink
.endif #gnatbind
.endif #gnatgcc
.if ${FULL_GNATGCC} == "NOT SET"
# here we know we need to install the bootstrap compiler
INTENDED_COMPILER=BOOTSTRAP
FULL_GNATGCC=${BOOTSTRAP_PREFIX}/bin/gnatgcc
lang/gnat-aux: Upgrade to gcc 4.6.2, add Fortran, Objective-C Obvious additions: 1) Upgrades sync from gcc 4.6.1-RELEASE to gcc 4.6.2-RELEASE 2) New capability of building Fortran 3) New capability of building Objective-C 4) Building of all 5 languages (Ada,C,C++,ObjC,Fortran) now default 5) Fortran testsuite added 6) ObjC testsuite added Behind the scenes: 1) Previously GNAT-Aux was built from a custom-built tarball. Now real real gcc source files are used instead, but heavily patched. 2) The standard patch mechanism is not used. Composite diff files are generated by dragonlace.net and they are applied as needed, and are located in the "files" directory 3) This might be the only gcc that doesn't use the monolithic source tar ball. Depending on the options selected, the makefile updates its distfile list and only downloads what it needs, including testsuite files and dejagnu support. 4) All platforms are now built with unlimited stacksize command due to new issues with <platform>-stdint.h functionality. 5) All platforms use unlimited stacksize for Ada testing. Before it was limited to NetBSD x86_64. This may have introduced a failure on NetBSD i386 though. There were no other impacts according to the Ada testsuite results. 6) The PLIST automatic generation was significantly simplified, resulting in some variable deletion. 7) libstdc++ can't break testing now (forced to evaluate to true) 8) Unnecessary depends and USE_TOOLS removed 9) The includes-fixed directory is now removed from all platforms, arches now rather than problematic ones. It seems that it can only make no difference or cause problems, so no reason to keep it around. A) Unnecessary do-config phase "touches" removed. B) Several fixes added to diff patches to improve testsuite results on c, c++, and fortran for all platforms.
2012-01-08 12:17:07 +01:00
DISTFILES+= ${BOOTSTRAP_COMPILER}
SITES.${BOOTSTRAP_COMPILER}= ${BOOTSTRAP_SITES}
FULL_PATH=${BOOTSTRAP_PREFIX}/bin:/sbin:/bin:/usr/sbin:/usr/bin:${PREFIX}/sbin:${PREFIX}/bin
.endif
# For pkg maintenance, uncomment to invoke "bmake mdi PLUS_BOOTSTRAPS=1"
.if defined(PLUS_BOOTSTRAPS)
BS1= gnat-bootstrap.i386.dragonfly.tar.bz2
BS2= gnat-bootstrap.x86_64.dragonfly.tar.bz2
BS3= gnat-bootstrap.i386.netbsd.tar.bz2
BS4= gnat-bootstrap.x86_64.netbsd.tar.bz2
BS5= gnat-bootstrap.i386.solaris.tar.bz2
. for bsite in ${BS1} ${BS2} ${BS3} ${BS4} ${BS5}
SITES.${bsite}= ${BOOTSTRAP_SITES}
. endfor
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 \
${BS1} ${BS2} ${BS3} ${BS4} ${BS5}
.endif
# establish ada-aware compiler for use
MY_CONFIGURE_ENV= CC=${FULL_GNATGCC}
MY_CONFIGURE_ENV+= PATH=${FULL_PATH}
MY_CONFIGURE_ENV+= CONFIG_SHELL=${CONFIG_SHELL}
MY_MAKE_ENV= PATH=${FULL_PATH}
MY_MAKE_ENV+= LD_LIBRARY_PATH=${BUILDDIR}/gcc
# The standard configuration options
CONFIGURE_ARGS= --enable-languages=${LANGS:Q}
CONFIGURE_ARGS+= --build=${BLD_TARGET}
CONFIGURE_ARGS+= --program-prefix=gnat
CONFIGURE_ARGS+= --prefix=${PREFIX}
CONFIGURE_ARGS+= --with-system-zlib
CONFIGURE_ARGS+= --with-gmp=${BUILDLINK_PREFIX.gmp}
CONFIGURE_ARGS+= --with-mpfr=${BUILDLINK_PREFIX.mpfr}
CONFIGURE_ARGS+= --with-mpc=${BUILDLINK_PREFIX.mpcomplex}
CONFIGURE_ARGS+= --with-libiconv-prefix=${PKG_PREFIX}
CONFIGURE_ARGS+= --enable-shared
CONFIGURE_ARGS+= --enable-threads=${THREAD_MODEL}
CONFIGURE_ARGS+= --disable-bootstrap
lang/gnat-aux: Upgrade to gcc 4.6.2, add Fortran, Objective-C Obvious additions: 1) Upgrades sync from gcc 4.6.1-RELEASE to gcc 4.6.2-RELEASE 2) New capability of building Fortran 3) New capability of building Objective-C 4) Building of all 5 languages (Ada,C,C++,ObjC,Fortran) now default 5) Fortran testsuite added 6) ObjC testsuite added Behind the scenes: 1) Previously GNAT-Aux was built from a custom-built tarball. Now real real gcc source files are used instead, but heavily patched. 2) The standard patch mechanism is not used. Composite diff files are generated by dragonlace.net and they are applied as needed, and are located in the "files" directory 3) This might be the only gcc that doesn't use the monolithic source tar ball. Depending on the options selected, the makefile updates its distfile list and only downloads what it needs, including testsuite files and dejagnu support. 4) All platforms are now built with unlimited stacksize command due to new issues with <platform>-stdint.h functionality. 5) All platforms use unlimited stacksize for Ada testing. Before it was limited to NetBSD x86_64. This may have introduced a failure on NetBSD i386 though. There were no other impacts according to the Ada testsuite results. 6) The PLIST automatic generation was significantly simplified, resulting in some variable deletion. 7) libstdc++ can't break testing now (forced to evaluate to true) 8) Unnecessary depends and USE_TOOLS removed 9) The includes-fixed directory is now removed from all platforms, arches now rather than problematic ones. It seems that it can only make no difference or cause problems, so no reason to keep it around. A) Unnecessary do-config phase "touches" removed. B) Several fixes added to diff patches to improve testsuite results on c, c++, and fortran for all platforms.
2012-01-08 12:17:07 +01:00
CONFIGURE_ARGS+= ${QUADOPT}
CONFIGURE_ARGS+= --disable-libmudflap
CONFIGURE_ARGS+= --disable-libgomp
CONFIGURE_ARGS+= --disable-libssp
CONFIGURE_ARGS+= --disable-nls
# Automatic package list generation
GENERATE_PLIST= cd ${DESTDIR}${PREFIX};
lang/gnat-aux: Upgrade to gcc 4.6.2, add Fortran, Objective-C Obvious additions: 1) Upgrades sync from gcc 4.6.1-RELEASE to gcc 4.6.2-RELEASE 2) New capability of building Fortran 3) New capability of building Objective-C 4) Building of all 5 languages (Ada,C,C++,ObjC,Fortran) now default 5) Fortran testsuite added 6) ObjC testsuite added Behind the scenes: 1) Previously GNAT-Aux was built from a custom-built tarball. Now real real gcc source files are used instead, but heavily patched. 2) The standard patch mechanism is not used. Composite diff files are generated by dragonlace.net and they are applied as needed, and are located in the "files" directory 3) This might be the only gcc that doesn't use the monolithic source tar ball. Depending on the options selected, the makefile updates its distfile list and only downloads what it needs, including testsuite files and dejagnu support. 4) All platforms are now built with unlimited stacksize command due to new issues with <platform>-stdint.h functionality. 5) All platforms use unlimited stacksize for Ada testing. Before it was limited to NetBSD x86_64. This may have introduced a failure on NetBSD i386 though. There were no other impacts according to the Ada testsuite results. 6) The PLIST automatic generation was significantly simplified, resulting in some variable deletion. 7) libstdc++ can't break testing now (forced to evaluate to true) 8) Unnecessary depends and USE_TOOLS removed 9) The includes-fixed directory is now removed from all platforms, arches now rather than problematic ones. It seems that it can only make no difference or cause problems, so no reason to keep it around. A) Unnecessary do-config phase "touches" removed. B) Several fixes added to diff patches to improve testsuite results on c, c++, and fortran for all platforms.
2012-01-08 12:17:07 +01:00
GENERATE_PLIST+= ${FIND} * \( -type f -or -type l \) | ${SORT} -dr;
post-extract:
# Personalize GNAT for each different machine
@${ECHO} "-=> GNAT AUX ${OS_LABEL4VERS}" > ${REVFILE}
lang/gnat-aux: Upgrade to gcc 4.6.2, add Fortran, Objective-C Obvious additions: 1) Upgrades sync from gcc 4.6.1-RELEASE to gcc 4.6.2-RELEASE 2) New capability of building Fortran 3) New capability of building Objective-C 4) Building of all 5 languages (Ada,C,C++,ObjC,Fortran) now default 5) Fortran testsuite added 6) ObjC testsuite added Behind the scenes: 1) Previously GNAT-Aux was built from a custom-built tarball. Now real real gcc source files are used instead, but heavily patched. 2) The standard patch mechanism is not used. Composite diff files are generated by dragonlace.net and they are applied as needed, and are located in the "files" directory 3) This might be the only gcc that doesn't use the monolithic source tar ball. Depending on the options selected, the makefile updates its distfile list and only downloads what it needs, including testsuite files and dejagnu support. 4) All platforms are now built with unlimited stacksize command due to new issues with <platform>-stdint.h functionality. 5) All platforms use unlimited stacksize for Ada testing. Before it was limited to NetBSD x86_64. This may have introduced a failure on NetBSD i386 though. There were no other impacts according to the Ada testsuite results. 6) The PLIST automatic generation was significantly simplified, resulting in some variable deletion. 7) libstdc++ can't break testing now (forced to evaluate to true) 8) Unnecessary depends and USE_TOOLS removed 9) The includes-fixed directory is now removed from all platforms, arches now rather than problematic ones. It seems that it can only make no difference or cause problems, so no reason to keep it around. A) Unnecessary do-config phase "touches" removed. B) Several fixes added to diff patches to improve testsuite results on c, c++, and fortran for all platforms.
2012-01-08 12:17:07 +01:00
# Create new directories in preparation of applying diff files
.if !empty(PKG_OPTIONS:Mcxx)
${MKDIR} ${WRKSRC}/libstdc++-v3/config/locale/dragonfly
${MKDIR} ${WRKSRC}/libstdc++-v3/config/os/bsd/dragonfly
.endif
# Apply required composite diff files
.for suffix in ${APPLY_DIFFS}
@${ECHO} "Applying composite patch diff-${suffix}"
@${PATCH} -d ${WRKSRC} -s -E < ${FILESDIR}/diff-${suffix}
.endfor
.if ${INTENDED_COMPILER} == "BOOTSTRAP"
lang/gnat-aux: Upgrade to gcc 4.6.2, add Fortran, Objective-C Obvious additions: 1) Upgrades sync from gcc 4.6.1-RELEASE to gcc 4.6.2-RELEASE 2) New capability of building Fortran 3) New capability of building Objective-C 4) Building of all 5 languages (Ada,C,C++,ObjC,Fortran) now default 5) Fortran testsuite added 6) ObjC testsuite added Behind the scenes: 1) Previously GNAT-Aux was built from a custom-built tarball. Now real real gcc source files are used instead, but heavily patched. 2) The standard patch mechanism is not used. Composite diff files are generated by dragonlace.net and they are applied as needed, and are located in the "files" directory 3) This might be the only gcc that doesn't use the monolithic source tar ball. Depending on the options selected, the makefile updates its distfile list and only downloads what it needs, including testsuite files and dejagnu support. 4) All platforms are now built with unlimited stacksize command due to new issues with <platform>-stdint.h functionality. 5) All platforms use unlimited stacksize for Ada testing. Before it was limited to NetBSD x86_64. This may have introduced a failure on NetBSD i386 though. There were no other impacts according to the Ada testsuite results. 6) The PLIST automatic generation was significantly simplified, resulting in some variable deletion. 7) libstdc++ can't break testing now (forced to evaluate to true) 8) Unnecessary depends and USE_TOOLS removed 9) The includes-fixed directory is now removed from all platforms, arches now rather than problematic ones. It seems that it can only make no difference or cause problems, so no reason to keep it around. A) Unnecessary do-config phase "touches" removed. B) Several fixes added to diff patches to improve testsuite results on c, c++, and fortran for all platforms.
2012-01-08 12:17:07 +01:00
# 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.
# It is at least 28MB and doesn't come with shared libraries.
${MKDIR} ${BOOTSTRAP_PREFIX}
mv ${BOOTSTRAP_PREFIX}/../bin ${BOOTSTRAP_PREFIX}
mv ${BOOTSTRAP_PREFIX}/../lib ${BOOTSTRAP_PREFIX}
mv ${BOOTSTRAP_PREFIX}/../libexec ${BOOTSTRAP_PREFIX}
# Bootstrap compiler malfunctions in NetBSD 6 unless include-fixed
lang/gnat-aux: Upgrade to gcc 4.6.2, add Fortran, Objective-C Obvious additions: 1) Upgrades sync from gcc 4.6.1-RELEASE to gcc 4.6.2-RELEASE 2) New capability of building Fortran 3) New capability of building Objective-C 4) Building of all 5 languages (Ada,C,C++,ObjC,Fortran) now default 5) Fortran testsuite added 6) ObjC testsuite added Behind the scenes: 1) Previously GNAT-Aux was built from a custom-built tarball. Now real real gcc source files are used instead, but heavily patched. 2) The standard patch mechanism is not used. Composite diff files are generated by dragonlace.net and they are applied as needed, and are located in the "files" directory 3) This might be the only gcc that doesn't use the monolithic source tar ball. Depending on the options selected, the makefile updates its distfile list and only downloads what it needs, including testsuite files and dejagnu support. 4) All platforms are now built with unlimited stacksize command due to new issues with <platform>-stdint.h functionality. 5) All platforms use unlimited stacksize for Ada testing. Before it was limited to NetBSD x86_64. This may have introduced a failure on NetBSD i386 though. There were no other impacts according to the Ada testsuite results. 6) The PLIST automatic generation was significantly simplified, resulting in some variable deletion. 7) libstdc++ can't break testing now (forced to evaluate to true) 8) Unnecessary depends and USE_TOOLS removed 9) The includes-fixed directory is now removed from all platforms, arches now rather than problematic ones. It seems that it can only make no difference or cause problems, so no reason to keep it around. A) Unnecessary do-config phase "touches" removed. B) Several fixes added to diff patches to improve testsuite results on c, c++, and fortran for all platforms.
2012-01-08 12:17:07 +01:00
# directory is removed first. It will eventually cause problems
# for DragonFly and Solaris as well, so just unconditionally kill it.
${RM} -rf ${BOOTSTRAP_PREFIX}/lib/gcc/${BOOTSTRAP_TRIPLET}/include-fixed
.endif
pre-configure:
# NetBSD's system compiler is not configured to use dl_iterate_phdr which is
# required to build shared libraries if gnat-aux handles exceptions via
# dl_iterate_phdr. Therefore this functionality is disabled for NetBSD until
# further notice. DragonFly introduced this functionality with 2.11, but it's
# possible the shared libraries were built with an earlier compiler in the
# case of an upgrade. We need to detect this situation and stop the build
# if the libraries need to be rebuilt.
.if ${OPSYS} == "DragonFly"
@if ${GREP} dl_iterate_phdr ${LINK_HEADER} > /dev/null; then \
if ${GREP} ${OLD_EH} ${BASELIB}/libmpc.so > /dev/null; then \
${ERROR_MSG} "${REBUILD_LIB} math/mpcomplex"; \
exit 101; \
fi; \
if ${GREP} ${OLD_EH} ${BASELIB}/libmpfr.so > /dev/null; then \
${ERROR_MSG} "${REBUILD_LIB} math/mpfr"; \
exit 102; \
fi; \
if ${GREP} ${OLD_EH} ${BASELIB}/libgmp.so > /dev/null; then \
${ERROR_MSG} "${REBUILD_LIB} devel/gmp"; \
exit 103; \
fi; \
if ${GREP} ${OLD_EH} ${BASELIB}/libiconv.so > /dev/null; then \
${ERROR_MSG} "${REBUILD_LIB} converters/libiconv"; \
exit 104; \
fi; \
fi
.endif
do-configure:
${MKDIR} ${BUILDDIR}
cd ${BUILDDIR} && ${SETENV} ${MY_CONFIGURE_ENV} \
${CFG_SCRIPT} ${CONFIGURE_ARGS}
do-build:
lang/gnat-aux: Upgrade to gcc 4.6.2, add Fortran, Objective-C Obvious additions: 1) Upgrades sync from gcc 4.6.1-RELEASE to gcc 4.6.2-RELEASE 2) New capability of building Fortran 3) New capability of building Objective-C 4) Building of all 5 languages (Ada,C,C++,ObjC,Fortran) now default 5) Fortran testsuite added 6) ObjC testsuite added Behind the scenes: 1) Previously GNAT-Aux was built from a custom-built tarball. Now real real gcc source files are used instead, but heavily patched. 2) The standard patch mechanism is not used. Composite diff files are generated by dragonlace.net and they are applied as needed, and are located in the "files" directory 3) This might be the only gcc that doesn't use the monolithic source tar ball. Depending on the options selected, the makefile updates its distfile list and only downloads what it needs, including testsuite files and dejagnu support. 4) All platforms are now built with unlimited stacksize command due to new issues with <platform>-stdint.h functionality. 5) All platforms use unlimited stacksize for Ada testing. Before it was limited to NetBSD x86_64. This may have introduced a failure on NetBSD i386 though. There were no other impacts according to the Ada testsuite results. 6) The PLIST automatic generation was significantly simplified, resulting in some variable deletion. 7) libstdc++ can't break testing now (forced to evaluate to true) 8) Unnecessary depends and USE_TOOLS removed 9) The includes-fixed directory is now removed from all platforms, arches now rather than problematic ones. It seems that it can only make no difference or cause problems, so no reason to keep it around. A) Unnecessary do-config phase "touches" removed. B) Several fixes added to diff patches to improve testsuite results on c, c++, and fortran for all platforms.
2012-01-08 12:17:07 +01:00
# The unlimited stacksize is for NetBSD64
cd ${BUILDDIR} && \
${ULIMIT_CMD_stacksize} && \
${SETENV} ${MY_MAKE_ENV} ${GMAKE} -j${MAKE_JOBS:U1:Q} all
do-test: build
.if !empty(PKG_OPTIONS:Mtestada)
.if (${OPSYS} == "NetBSD") && (${MACHINE_ARCH} == "x86_64")
lang/gnat-aux: Upgrade to gcc 4.6.2, add Fortran, Objective-C Obvious additions: 1) Upgrades sync from gcc 4.6.1-RELEASE to gcc 4.6.2-RELEASE 2) New capability of building Fortran 3) New capability of building Objective-C 4) Building of all 5 languages (Ada,C,C++,ObjC,Fortran) now default 5) Fortran testsuite added 6) ObjC testsuite added Behind the scenes: 1) Previously GNAT-Aux was built from a custom-built tarball. Now real real gcc source files are used instead, but heavily patched. 2) The standard patch mechanism is not used. Composite diff files are generated by dragonlace.net and they are applied as needed, and are located in the "files" directory 3) This might be the only gcc that doesn't use the monolithic source tar ball. Depending on the options selected, the makefile updates its distfile list and only downloads what it needs, including testsuite files and dejagnu support. 4) All platforms are now built with unlimited stacksize command due to new issues with <platform>-stdint.h functionality. 5) All platforms use unlimited stacksize for Ada testing. Before it was limited to NetBSD x86_64. This may have introduced a failure on NetBSD i386 though. There were no other impacts according to the Ada testsuite results. 6) The PLIST automatic generation was significantly simplified, resulting in some variable deletion. 7) libstdc++ can't break testing now (forced to evaluate to true) 8) Unnecessary depends and USE_TOOLS removed 9) The includes-fixed directory is now removed from all platforms, arches now rather than problematic ones. It seems that it can only make no difference or cause problems, so no reason to keep it around. A) Unnecessary do-config phase "touches" removed. B) Several fixes added to diff patches to improve testsuite results on c, c++, and fortran for all platforms.
2012-01-08 12:17:07 +01:00
# NetBSD has an extremely small default stacksize of 2MB, which is
# insufficient for the gnat.dg testsuite.
# specifically: entry_queues test on AMD64
# Unlimiting stack resources on i386-netbsdelf* will result in
# failure of gnat.dg/task_stack_align.adb execution test.
cd ${BUILDDIR} && \
${ULIMIT_CMD_stacksize} && \
${SETENV} ${MY_MAKE_ENV} ${GMAKE} -sk check-ada
.else
cd ${BUILDDIR} && ${SETENV} ${MY_MAKE_ENV} ${GMAKE} -sk check-ada
.endif
2012-01-09 10:31:33 +01:00
.endif
lang/gnat-aux: Upgrade to gcc 4.6.2, add Fortran, Objective-C Obvious additions: 1) Upgrades sync from gcc 4.6.1-RELEASE to gcc 4.6.2-RELEASE 2) New capability of building Fortran 3) New capability of building Objective-C 4) Building of all 5 languages (Ada,C,C++,ObjC,Fortran) now default 5) Fortran testsuite added 6) ObjC testsuite added Behind the scenes: 1) Previously GNAT-Aux was built from a custom-built tarball. Now real real gcc source files are used instead, but heavily patched. 2) The standard patch mechanism is not used. Composite diff files are generated by dragonlace.net and they are applied as needed, and are located in the "files" directory 3) This might be the only gcc that doesn't use the monolithic source tar ball. Depending on the options selected, the makefile updates its distfile list and only downloads what it needs, including testsuite files and dejagnu support. 4) All platforms are now built with unlimited stacksize command due to new issues with <platform>-stdint.h functionality. 5) All platforms use unlimited stacksize for Ada testing. Before it was limited to NetBSD x86_64. This may have introduced a failure on NetBSD i386 though. There were no other impacts according to the Ada testsuite results. 6) The PLIST automatic generation was significantly simplified, resulting in some variable deletion. 7) libstdc++ can't break testing now (forced to evaluate to true) 8) Unnecessary depends and USE_TOOLS removed 9) The includes-fixed directory is now removed from all platforms, arches now rather than problematic ones. It seems that it can only make no difference or cause problems, so no reason to keep it around. A) Unnecessary do-config phase "touches" removed. B) Several fixes added to diff patches to improve testsuite results on c, c++, and fortran for all platforms.
2012-01-08 12:17:07 +01:00
.if !empty(PKG_OPTIONS:Mfortran) && !empty(PKG_OPTIONS:Mtestfortran)
cd ${BUILDDIR} && ${SETENV} ${MY_MAKE_ENV} ${GMAKE} -sk check-fortran
.endif
.if !empty(PKG_OPTIONS:Mobjc) && !empty(PKG_OPTIONS:Mtestobjc)
cd ${BUILDDIR} && ${SETENV} ${MY_MAKE_ENV} ${GMAKE} -sk check-objc
.endif
lang/gnat-aux: Upgrade to gcc 4.6.2, add Fortran, Objective-C Obvious additions: 1) Upgrades sync from gcc 4.6.1-RELEASE to gcc 4.6.2-RELEASE 2) New capability of building Fortran 3) New capability of building Objective-C 4) Building of all 5 languages (Ada,C,C++,ObjC,Fortran) now default 5) Fortran testsuite added 6) ObjC testsuite added Behind the scenes: 1) Previously GNAT-Aux was built from a custom-built tarball. Now real real gcc source files are used instead, but heavily patched. 2) The standard patch mechanism is not used. Composite diff files are generated by dragonlace.net and they are applied as needed, and are located in the "files" directory 3) This might be the only gcc that doesn't use the monolithic source tar ball. Depending on the options selected, the makefile updates its distfile list and only downloads what it needs, including testsuite files and dejagnu support. 4) All platforms are now built with unlimited stacksize command due to new issues with <platform>-stdint.h functionality. 5) All platforms use unlimited stacksize for Ada testing. Before it was limited to NetBSD x86_64. This may have introduced a failure on NetBSD i386 though. There were no other impacts according to the Ada testsuite results. 6) The PLIST automatic generation was significantly simplified, resulting in some variable deletion. 7) libstdc++ can't break testing now (forced to evaluate to true) 8) Unnecessary depends and USE_TOOLS removed 9) The includes-fixed directory is now removed from all platforms, arches now rather than problematic ones. It seems that it can only make no difference or cause problems, so no reason to keep it around. A) Unnecessary do-config phase "touches" removed. B) Several fixes added to diff patches to improve testsuite results on c, c++, and fortran for all platforms.
2012-01-08 12:17:07 +01:00
.if !empty(PKG_OPTIONS:Mcxx) && !empty(PKG_OPTIONS:Mtestcxx)
# libstdc++ always ends with error status, so ignore it
cd ${BUILDDIR} && ${SETENV} ${MY_MAKE_ENV} ${GMAKE} -sk \
check-c++ || ${TRUE}
.endif
.if !empty(PKG_OPTIONS:Mtestgcc)
cd ${BUILDDIR} && ${SETENV} ${MY_MAKE_ENV} ${GMAKE} -sk check-c
.endif
do-install:
cd ${BUILDDIR} && ${SETENV} ${MY_MAKE_ENV} ${GMAKE} install-strip \
DESTDIR=${DESTDIR}
.include "../../devel/zlib/buildlink3.mk"
.include "../../devel/gmp/buildlink3.mk"
.include "../../math/mpfr/buildlink3.mk"
.include "../../math/mpcomplex/buildlink3.mk"
.include "../../converters/libiconv/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"