aboutsummaryrefslogtreecommitdiffstats
path: root/lang/gnat-aux/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'lang/gnat-aux/Makefile')
-rw-r--r--lang/gnat-aux/Makefile119
1 files changed, 89 insertions, 30 deletions
diff --git a/lang/gnat-aux/Makefile b/lang/gnat-aux/Makefile
index 5622be829edf..6dc86cd6783c 100644
--- a/lang/gnat-aux/Makefile
+++ b/lang/gnat-aux/Makefile
@@ -7,10 +7,12 @@
PORTNAME= gnat-aux
PORTVERSION= ${SNAPSHOT}
-PORTREVISION= 1
CATEGORIES= lang
-MASTER_SITES= http://downloads.dragonlace.net/src/ \
- http://dragonlace.mirrors.ada.cx/src/
+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
MAINTAINER= draco@marino.st
COMMENT= GNAT Ada compiler based on GCC ${GCC_BRANCH}
@@ -25,18 +27,17 @@ 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
MAKE_JOBS_SAFE= yes
-SNAPSHOT= 20110627
+SNAPSHOT= 20111026
GCC_BRANCH= 4.6
-GCC_POINT= 1
+GCC_POINT= 2
+GCC_VERSION= ${GCC_BRANCH}.${GCC_POINT}
LANGS= c
+APPLY_DIFFS= core
-THREAD_MODEL= posix
INTENDED_COMPILER= NATIVE
BOOTSTRAP_COMPILER= NOT_REQUIRED
BOOTSTRAP_TRIPLET= NOT_SET
@@ -44,8 +45,12 @@ FULL_GNATGCC= NOT_SET
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 <bsd.port.pre.mk>
@@ -63,18 +68,18 @@ 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}
+PLIST_SUB+= GCC_VER=${GCC_VERSION}
-WRKSRC= ${WRKDIR}/gcc-${GCC_BRANCH}-${SNAPSHOT}
+WRKSRC= ${WRKDIR}/gcc-${GCC_VERSION}
BUILDDIR= ${WRKDIR}/build
CFG_SCRIPT= ${WRKSRC}/configure
REVFILE= ${WRKSRC}/gcc/REVISION
BOOTSTRAP_PREFIX= ${WRKDIR}/bootstrap
PKG_PREFIX= ${PREFIX}
-LPATH= lib/gcc/${BLD_TARGET}/${GCC_BRANCH}.${GCC_POINT}
-LEPATH= libexec/gcc/${BLD_TARGET}/${GCC_BRANCH}.${GCC_POINT}
+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
-MAN7= fsf-funding.7 gfdl.7 gpl.7
MAN1PREFIX= ${PREFIX}/share
MAN7PREFIX= ${PREFIX}/share
NO_MANCOMPRESS= yes
@@ -97,7 +102,7 @@ FULL_PATH=/sbin:/bin:/usr/sbin:/usr/bin:${PREFIX}/bin
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}
+DISTFILES+= ${BOOTSTRAP_COMPILER}:boot
.endif
###########
@@ -106,6 +111,11 @@ DISTFILES=${PORTNAME}-${SNAPSHOT}.tar.bz2 ${BOOTSTRAP_COMPILER}
.if defined(WITH_ADA)
LANGS+= ada
+APPLY_DIFFS+= ada
+DISTFILES+= gcc-ada-${GCC_VERSION}.tar.bz2
+PLIST_SUB+= ADA=""
+.else
+PLIST_SUB+= ADA="@comment "
.endif
###########
@@ -114,22 +124,61 @@ LANGS+= ada
.if defined(WITH_CXX)
LANGS+= c++
+APPLY_DIFFS+= cxx
+DISTFILES+= gcc-g++-${GCC_VERSION}.tar.bz2
MAN1+= gnatg++.1
-LCXXPATH= include/c++/${GCC_BRANCH}.${GCC_POINT}
-LSHRPATH= share/gcc-${GCC_BRANCH}.${GCC_POINT}
+LCXXPATH= include/c++/${GCC_VERSION}
+LSHRPATH= share/gcc-${GCC_VERSION}
PLIST_SUB+= CXX=""
.else
PLIST_SUB+= CXX="@comment "
.endif
+###############
+## Fortran ##
+###############
+
+.if defined(WITH_FORT)
+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)
+LANGS+= objc
+DISTFILES+= gcc-objc-${GCC_VERSION}.tar.bz2
+.endif
+
##################
## Testsuites ##
##################
.if defined(WITH_TS_ADA) \
|| defined(WITH_TS_CXX) \
+ || defined(WITH_TS_FOR) \
+ || defined(WITH_TS_OBC) \
|| defined(WITH_TS_GCC)
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+= gcc-testsuite
+.endif
.endif
# for port maintenance, uncomment to invoke "make makesum"
@@ -155,9 +204,9 @@ 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+= --enable-threads=posix
CONFIGURE_ARGS+= --disable-bootstrap
-CONFIGURE_ARGS+= --disable-libquadmath
+CONFIGURE_ARGS+= ${QUADOPT}
CONFIGURE_ARGS+= --disable-libmudflap
CONFIGURE_ARGS+= --disable-libgomp
CONFIGURE_ARGS+= --disable-libssp
@@ -167,6 +216,18 @@ post-extract:
# Personalize GNAT for each different machine
@${ECHO} "-=> GNAT AUX ${OS_LABEL4VERS}" > ${REVFILE}
+ # Create new directories in preparation of applying diff files
+.if defined(WITH_CXX)
+ ${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"
${MKDIR} ${BOOTSTRAP_PREFIX}
${MV} ${BOOTSTRAP_PREFIX}/../bin ${BOOTSTRAP_PREFIX}
@@ -175,8 +236,6 @@ 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 FBSD 9.0 upgrades libc, a compat8x requirement could be added
- # for FreeBSD 7.x and 8.x
.if ${OSVERSION} > 900000
# Since June 7, bootstrap compiler's include-fixed headers have been
@@ -186,11 +245,6 @@ post-extract:
.endif
do-configure:
- #reset timestamps
- cd ${WRKSRC}; contrib/gcc_update --touch
- ${RM} -f ${WRKSRC}/gcc/*/*.info*
- ${TOUCH} ${WRKSRC}/gcc/cstamp-h.in
-
${MKDIR} ${BUILDDIR}
cd ${BUILDDIR} && ${SETENV} ${ADA_CONFIGURE_ENV} \
${CFG_SCRIPT} ${CONFIGURE_ARGS}
@@ -199,13 +253,18 @@ do-build:
cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} ${_MAKE_JOBS} all
test: build
-.if defined(WITH_TS_ADA)
+.if defined(WITH_ADA) && defined(WITH_TS_ADA)
cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-ada
.endif
-.if defined(WITH_TS_CXX)
- cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-c++
- cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} \
- ${GMAKE} -sk check-target-libstdc++-v3
+.if defined(WITH_FORT) && defined(WITH_TS_FOR)
+ cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-fortran
+.endif
+.if defined(WITH_OBJC) && defined(WITH_TS_OBC)
+ cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-objc
+.endif
+.if defined(WITH_CXX) && defined(WITH_TS_CXX)
+ # 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)
cd ${BUILDDIR} && ${SETENV} ${ADA_MAKE_ENV} ${GMAKE} -sk check-c