aboutsummaryrefslogtreecommitdiff
path: root/lang/gnatdroid-armv7/Makefile
diff options
context:
space:
mode:
authorFrederic Culot <culot@FreeBSD.org>2011-09-07 11:09:09 +0000
committerFrederic Culot <culot@FreeBSD.org>2011-09-07 11:09:09 +0000
commit4075117e52f42393cf6925f8659b00b174f4b526 (patch)
tree6ec7c7c2b0f484a964b11cc2372c0a486532c7aa /lang/gnatdroid-armv7/Makefile
parente4df529e865c5304971655a9c4bd31b1c2a70bb0 (diff)
downloadports-4075117e52f42393cf6925f8659b00b174f4b526.tar.gz
ports-4075117e52f42393cf6925f8659b00b174f4b526.zip
The gnatdroid-armv7 port builds a C/Ada cross-compiler based on GCC 4.6 that
targets the Android operating system (version 2.3, API level 9) running on ARM architecture (version 7). This produces binaries that run natively on Android devices as well as the Android SDK emulator. WWW: http://www.dragonlace.net PR: ports/160427 Submitted by: John Marino <freebsdml@marino.st>
Notes
Notes: svn path=/head/; revision=281378
Diffstat (limited to 'lang/gnatdroid-armv7/Makefile')
-rw-r--r--lang/gnatdroid-armv7/Makefile123
1 files changed, 123 insertions, 0 deletions
diff --git a/lang/gnatdroid-armv7/Makefile b/lang/gnatdroid-armv7/Makefile
new file mode 100644
index 000000000000..5a9c167934d9
--- /dev/null
+++ b/lang/gnatdroid-armv7/Makefile
@@ -0,0 +1,123 @@
+# New ports collection makefile for: gnatdroid-armv7
+# Date created: 2011-07-20
+# Whom: John Marino <draco@marino>
+#
+# $FreeBSD$
+#
+
+PORTNAME= armv7
+PORTVERSION= 20110627
+CATEGORIES= lang
+MASTER_SITES= http://downloads.dragonlace.net/src/ \
+ http://dragonlace.mirrors.ada.cx/src/
+PKGNAMEPREFIX= gnatdroid-
+DISTNAME= arm-gnat-${PORTVERSION}
+
+MAINTAINER= draco@marino.st
+COMMENT= C/Ada cross-compiler, target: Android ARMv7
+
+BUILD_DEPENDS= gnatdroid-sysroot>=9:${PORTSDIR}/lang/gnatdroid-sysroot \
+ gnatdroid-binutils>=2.21:${PORTSDIR}/lang/gnatdroid-binutils \
+ ${LOCALBASE}/lib/libgmp.so:${PORTSDIR}/math/gmp \
+ ${LOCALBASE}/lib/libmpfr.so:${PORTSDIR}/math/mpfr \
+ ${LOCALBASE}/lib/libmpc.so:${PORTSDIR}/math/mpc
+RUN_DEPENDS:= ${BUILD_DEPENDS}
+BUILD_DEPENDS+= gnat-aux>=20110325:${PORTSDIR}/lang/gnat-aux
+
+USE_BZIP2= YES
+USE_GMAKE= YES
+HAS_CONFIGURE= YES
+USE_ICONV= YES
+USE_BISON= build
+ALL_TARGET= default
+NO_MTREE= YES
+MAKE_JOBS_SAFE= YES
+
+DROID_TARGET= arm-android-eabi
+DROID_ARCH= armv7-a
+ARMVERSION= ARMv7
+FPU= neon
+GCC_BRANCH= 4.6
+GCC_VERSION= 4.6.1
+WRKSRC= ${WRKDIR}/gcc-${GCC_BRANCH}-${PORTVERSION}
+BUILDDIR= ${WRKDIR}/build
+CFG_SCRIPT= ${WRKSRC}/configure
+REVFILE= ${WRKSRC}/gcc/REVISION
+SRPREFIX= ${LOCALBASE}/android9
+PREFIX= ${SRPREFIX}/${ARMVERSION}
+FULL_GNATGCC= ${LOCALBASE}/bin/gnatgcc
+PLIST_SUB+= TARGET="${DROID_TARGET}"
+PLIST_SUB+= GCCVERS="${GCC_VERSION}"
+
+ADA_CONFIGURE_ENV= CC=${FULL_GNATGCC}
+
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} == "amd64"
+OS_LABEL4VERS= "[FreeBSD64 x Android ${ARMVERSION}]"
+.else
+OS_LABEL4VERS= "[FreeBSD32 x Android ${ARMVERSION}]"
+.endif
+
+CONFIGURE_ARGS= --enable-languages=c,ada
+CONFIGURE_ARGS+= --target=${DROID_TARGET}
+CONFIGURE_ARGS+= --program-prefix=${DROID_TARGET}-
+CONFIGURE_ARGS+= --prefix=${PREFIX}
+CONFIGURE_ARGS+= --with-arch=${DROID_ARCH}
+CONFIGURE_ARGS+= --with-system-zlib
+CONFIGURE_ARGS+= --with-gmp=${LOCALBASE}
+CONFIGURE_ARGS+= --with-mpfr=${LOCALBASE}
+CONFIGURE_ARGS+= --with-mpc=${LOCALBASE}
+CONFIGURE_ARGS+= --with-libiconv-prefix=${LOCALBASE}
+CONFIGURE_ARGS+= --with-sysroot=${SRPREFIX}
+CONFIGURE_ARGS+= --with-float=soft
+CONFIGURE_ARGS+= --with-fpu=${FPU}
+CONFIGURE_ARGS+= --enable-target-optspace
+CONFIGURE_ARGS+= --enable-threads=posix
+CONFIGURE_ARGS+= --disable-bootstrap
+CONFIGURE_ARGS+= --disable-shared
+CONFIGURE_ARGS+= --disable-libssp
+CONFIGURE_ARGS+= --disable-libgomp
+CONFIGURE_ARGS+= --disable-libmudflap
+CONFIGURE_ARGS+= --disable-libquadmath
+CONFIGURE_ARGS+= --disable-libstdcxx-pch
+CONFIGURE_ARGS+= --disable-tls
+CONFIGURE_ARGS+= --disable-nls
+
+post-extract:
+ # Personalize GNAT for each different machine
+ @${ECHO} "-=> GNAT AUX ${OS_LABEL4VERS}" > ${REVFILE}
+
+do-configure:
+ ${MKDIR} ${BUILDDIR}
+ cd ${BUILDDIR} && ${SETENV} ${ADA_CONFIGURE_ENV} \
+ ${CFG_SCRIPT} ${CONFIGURE_ARGS}
+
+do-build:
+ cd ${BUILDDIR} && ${GMAKE} ${_MAKE_JOBS} all
+
+do-install:
+ cd ${BUILDDIR} && ${GMAKE} install-strip DESTDIR=${DESTDIR}
+ ${MV} ${PREFIX}/bin/${DROID_TARGET}-gcc \
+ ${PREFIX}/bin/${DROID_TARGET}-gnatgcc
+ ${MV} ${PREFIX}/${DROID_TARGET}/bin/gcc \
+ ${PREFIX}/${DROID_TARGET}/bin/gnatgcc
+
+post-install:
+.for d in lib/gcc libexec/gcc share
+ cd ${PREFIX}; ${FIND} $d \( -type f -or -type l \) | ${SORT} >> ${TMPPLIST}
+ cd ${PREFIX}; ${FIND} $d -type d | ${SORT} -dr | \
+ ${SED} -e 's/^/@dirrm /g' >> ${TMPPLIST}
+.endfor
+ @${ECHO} "@dirrm include" >> ${TMPPLIST}
+ @${ECHO} "@dirrm libexec" >> ${TMPPLIST}
+ @${ECHO} "@dirrm lib" >> ${TMPPLIST}
+
+ @${ECHO} "============================================================"
+ @${ECHO} " Add to path: ${PREFIX}/bin"
+ @${ECHO} " All binaries have prefix of ${DROID_TARGET}-"
+ @${ECHO} " e.g. ${DROID_TARGET}-gnatgcc"
+ @${ECHO} " ${DROID_TARGET}-gnatmake"
+ @${ECHO} "============================================================"
+
+.include <bsd.port.post.mk>