Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Feb 2017 05:50:24 +0000 (UTC)
From:      John Marino <marino@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r433191 - in head/lang: . gnatcross-aarch64 gnatcross-binutils-aarch64 gnatcross-sysroot-aarch64
Message-ID:  <201702030550.v135oOJd001829@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marino
Date: Fri Feb  3 05:50:24 2017
New Revision: 433191
URL: https://svnweb.freebsd.org/changeset/ports/433191

Log:
  Add gnatcross-aarch64, a slave port of gnatdroid (C/Ada cross-compiler)
  
  This is a FreeBSD/DF cross-compiler targeting FreeBSD/ARM64 (aarch64).
  It differs from devel/aarch64-none-elf-gcc in the following ways:
    1) uses FreeBSD/ARM64 headers and libs (true sysroot)
    2) Supports Ada front end
    3) Supports Fortran front end (optionally, default off)
    4) Supports ObjC front end (optionally, default off)
  
  It passes all but 5 ACATS tests:
    1) c34005o (GNAT ICE, expand_shift_1 at expmed.c:2490)
    2) c34007i (GNAT ICE, expand_shift_1 at expmed.c:2490)
    3) cb1010a (stack check related)
    4) cb1010c (stack check related)
    5) cb1010d (stack check related)
  
  Ideally this cross-compiler will lead to a fully native Ada compiler for
  FreeBSD/ARM64 which leads to lang/gcc6-aux support, enabling the Ada
  framework for that platform.

Added:
  head/lang/gnatcross-aarch64/
  head/lang/gnatcross-aarch64/Makefile   (contents, props changed)
  head/lang/gnatcross-aarch64/pkg-descr   (contents, props changed)
  head/lang/gnatcross-binutils-aarch64/
  head/lang/gnatcross-binutils-aarch64/Makefile   (contents, props changed)
  head/lang/gnatcross-binutils-aarch64/pkg-descr   (contents, props changed)
  head/lang/gnatcross-binutils-aarch64/pkg-plist   (contents, props changed)
  head/lang/gnatcross-sysroot-aarch64/
  head/lang/gnatcross-sysroot-aarch64/Makefile   (contents, props changed)
  head/lang/gnatcross-sysroot-aarch64/distinfo   (contents, props changed)
  head/lang/gnatcross-sysroot-aarch64/pkg-descr   (contents, props changed)
Modified:
  head/lang/Makefile

Modified: head/lang/Makefile
==============================================================================
--- head/lang/Makefile	Fri Feb  3 05:29:43 2017	(r433190)
+++ head/lang/Makefile	Fri Feb  3 05:50:24 2017	(r433191)
@@ -110,6 +110,9 @@
     SUBDIR += ghc
     SUBDIR += gjs
     SUBDIR += gnat_util
+    SUBDIR += gnatcross-aarch64
+    SUBDIR += gnatcross-binutils-aarch64
+    SUBDIR += gnatcross-sysroot-aarch64
     SUBDIR += gnatdroid-armv7
     SUBDIR += gnatdroid-binutils
     SUBDIR += gnatdroid-binutils-x86

Added: head/lang/gnatcross-aarch64/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/gnatcross-aarch64/Makefile	Fri Feb  3 05:50:24 2017	(r433191)
@@ -0,0 +1,24 @@
+# Created by: John Marino <marino@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME=	aarch64
+PORTREVISION=	${ARM64_PR}
+PKGNAMEPREFIX=	gnatcross-
+
+MAINTAINER=	marino@FreeBSD.org
+COMMENT=	C/Ada cross-compiler, target: ${LABEL_TARGET}
+
+LABEL_TARGET=	FreeBSD/ARM64
+DROID_TARGET=	aarch64-aux-freebsd11.0
+ARG_ARCH=	# don't specify
+ARG_FPU=	# don't specify
+ARG_FLOATSOFT=	# don't specify
+SRPREFIX=	${LOCALBASE}/FreeBSD_ARM64/sysroot
+GNATPREFIX=	${LOCALBASE}/FreeBSD_ARM64
+SYSROOT=	gnatcross-sysroot-aarch64
+GDBINUTILS=	gnatcross-binutils-aarch64
+MASTERDIR=	${.CURDIR}/../../lang/gnatdroid-armv7
+PATCHDIR=	${.CURDIR}/files
+DESCR=		${.CURDIR}/pkg-descr
+
+.include "${MASTERDIR}/Makefile"

Added: head/lang/gnatcross-aarch64/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/gnatcross-aarch64/pkg-descr	Fri Feb  3 05:50:24 2017	(r433191)
@@ -0,0 +1,4 @@
+The gnatcross-aarch64 port builds a C/Ada cross-compiler based on GCC 6
+that targets the FreeBSD/ARM64 operating system.
+
+WWW: http://www.dragonlace.net

Added: head/lang/gnatcross-binutils-aarch64/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/gnatcross-binutils-aarch64/Makefile	Fri Feb  3 05:50:24 2017	(r433191)
@@ -0,0 +1,22 @@
+# Created by: John Marino <marino@FreeBSD.org>
+# $FreeBSD$
+
+PORTREVISION=	0
+PKGNAMEPREFIX=	gnatcross-
+PKGNAMESUFFIX=	-aarch64
+
+MAINTAINER=	marino@FreeBSD.org
+COMMENT=	Infrastructure for C/Ada FreeBSD cross-compiler (aarch64)
+
+BRANCH2=	# Assume aarch64 will always be only CPU for FreeBSD/ARM64
+XCCTARGET=	aarch64-aux-freebsd11.0
+PREFIX=		${LOCALBASE}/FreeBSD_ARM64
+SRPREFIX=	${PREFIX}/sysroot
+SYSROOT=	gnatcross-sysroot-aarch64
+MASTERDIR=	${.CURDIR}/../../lang/gnatdroid-binutils
+PLIST=		${.CURDIR}/pkg-plist
+DESCR=		${.CURDIR}/pkg-descr
+
+PLIST_SUB=	AMD64=${ARCH:S/i386/"@comment "/:S/${ARCH}/""/}
+
+.include "${MASTERDIR}/Makefile"

Added: head/lang/gnatcross-binutils-aarch64/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/gnatcross-binutils-aarch64/pkg-descr	Fri Feb  3 05:50:24 2017	(r433191)
@@ -0,0 +1,5 @@
+This package is a dependency of lang/gnatdroid-x86. It provides the
+cross-tools required to build the GNAT FreeBSD->x86 cross-compiler that
+is gnatdroid, as well as any binaries that it produces.
+
+WWW: http://www.dragonlace.net

Added: head/lang/gnatcross-binutils-aarch64/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/gnatcross-binutils-aarch64/pkg-plist	Fri Feb  3 05:50:24 2017	(r433191)
@@ -0,0 +1,65 @@
+%%TARGET%%/bin/ar
+%%TARGET%%/bin/as
+%%TARGET%%/bin/ld
+%%TARGET%%/bin/ld.bfd
+%%TARGET%%/bin/nm
+%%TARGET%%/bin/objcopy
+%%TARGET%%/bin/objdump
+%%TARGET%%/bin/ranlib
+%%TARGET%%/bin/readelf
+%%TARGET%%/bin/strip
+%%TARGET%%/lib/ldscripts/aarch64elf.x
+%%TARGET%%/lib/ldscripts/aarch64elf.xbn
+%%TARGET%%/lib/ldscripts/aarch64elf.xc
+%%TARGET%%/lib/ldscripts/aarch64elf.xd
+%%TARGET%%/lib/ldscripts/aarch64elf.xdc
+%%TARGET%%/lib/ldscripts/aarch64elf.xdw
+%%TARGET%%/lib/ldscripts/aarch64elf.xn
+%%TARGET%%/lib/ldscripts/aarch64elf.xr
+%%TARGET%%/lib/ldscripts/aarch64elf.xs
+%%TARGET%%/lib/ldscripts/aarch64elf.xsc
+%%TARGET%%/lib/ldscripts/aarch64elf.xsw
+%%TARGET%%/lib/ldscripts/aarch64elf.xu
+%%TARGET%%/lib/ldscripts/aarch64elf.xw
+%%TARGET%%/lib/ldscripts/aarch64fbsd.x
+%%TARGET%%/lib/ldscripts/aarch64fbsd.xbn
+%%TARGET%%/lib/ldscripts/aarch64fbsd.xc
+%%TARGET%%/lib/ldscripts/aarch64fbsd.xd
+%%TARGET%%/lib/ldscripts/aarch64fbsd.xdc
+%%TARGET%%/lib/ldscripts/aarch64fbsd.xdw
+%%TARGET%%/lib/ldscripts/aarch64fbsd.xn
+%%TARGET%%/lib/ldscripts/aarch64fbsd.xr
+%%TARGET%%/lib/ldscripts/aarch64fbsd.xs
+%%TARGET%%/lib/ldscripts/aarch64fbsd.xsc
+%%TARGET%%/lib/ldscripts/aarch64fbsd.xsw
+%%TARGET%%/lib/ldscripts/aarch64fbsd.xu
+%%TARGET%%/lib/ldscripts/aarch64fbsd.xw
+%%TARGET%%/lib/ldscripts/aarch64fbsdb.x
+%%TARGET%%/lib/ldscripts/aarch64fbsdb.xbn
+%%TARGET%%/lib/ldscripts/aarch64fbsdb.xc
+%%TARGET%%/lib/ldscripts/aarch64fbsdb.xd
+%%TARGET%%/lib/ldscripts/aarch64fbsdb.xdc
+%%TARGET%%/lib/ldscripts/aarch64fbsdb.xdw
+%%TARGET%%/lib/ldscripts/aarch64fbsdb.xn
+%%TARGET%%/lib/ldscripts/aarch64fbsdb.xr
+%%TARGET%%/lib/ldscripts/aarch64fbsdb.xs
+%%TARGET%%/lib/ldscripts/aarch64fbsdb.xsc
+%%TARGET%%/lib/ldscripts/aarch64fbsdb.xsw
+%%TARGET%%/lib/ldscripts/aarch64fbsdb.xu
+%%TARGET%%/lib/ldscripts/aarch64fbsdb.xw
+bin/%%TARGET%%-addr2line
+bin/%%TARGET%%-ar
+bin/%%TARGET%%-as
+bin/%%TARGET%%-c++filt
+bin/%%TARGET%%-elfedit
+bin/%%TARGET%%-gprof
+bin/%%TARGET%%-ld
+bin/%%TARGET%%-ld.bfd
+bin/%%TARGET%%-nm
+bin/%%TARGET%%-objcopy
+bin/%%TARGET%%-objdump
+bin/%%TARGET%%-ranlib
+bin/%%TARGET%%-readelf
+bin/%%TARGET%%-size
+bin/%%TARGET%%-strings
+bin/%%TARGET%%-strip

Added: head/lang/gnatcross-sysroot-aarch64/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/gnatcross-sysroot-aarch64/Makefile	Fri Feb  3 05:50:24 2017	(r433191)
@@ -0,0 +1,44 @@
+# Created by: John Marino <marino@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME=	sysroot
+PORTVERSION=	1
+CATEGORIES=	lang
+MASTER_SITES=	${PUB_FREEBSD}/releases/arm64/aarch64/11.0-RELEASE/:R11
+PKGNAMEPREFIX=	gnatcross-
+PKGNAMESUFFIX=	-aarch64
+DIST_SUBDIR=	gnatcross/arm64-aarch64/${RELEASE}
+
+MAINTAINER=	marino@FreeBSD.org
+COMMENT=	FreeBSD sysroots for C/Ada cross-compiler (${ARCH})
+
+NO_BUILD=	yes
+NO_MTREE=	yes
+
+PUB_FREEBSD=	ftp://ftp.freebsd.org/pub/FreeBSD
+PREFIX=		${LOCALBASE}/FreeBSD_ARM64
+
+ONLY_FOR_ARCHS=		i386 amd64	# avoid aarch64 x aarch64
+EXTRACT_AFTER_ARGS=	lib/ usr/include/ usr/lib/
+
+OPTIONS_SINGLE=		SG1
+OPTIONS_SINGLE_SG1=	RELEASE_11_0
+OPTIONS_DEFAULT=	RELEASE_11_0
+
+RELEASE_11_0_DESC=	FreeBSD 11.0 Release
+RELEASE_11_0_DISTFILES=	base.txz:R11
+RELEASE_11_0_VARS=	RELEASE=R11_0 CTARGET=aarch64-aux-freebsd11.0
+
+post-extract:
+	/bin/chflags -R noschg ${WRKDIR}
+
+do-install:
+	@${MKDIR} ${STAGEDIR}${PREFIX}/sysroot
+	@${MV} ${WRKDIR}/lib ${STAGEDIR}${PREFIX}/sysroot
+	@${MV} ${WRKDIR}/usr ${STAGEDIR}${PREFIX}/sysroot
+	@echo ${CTARGET} > ${STAGEDIR}${PREFIX}/sysroot/target_triplet
+	@(cd ${STAGEDIR}${PREFIX}; ${FIND} sysroot -type d -empty -delete)
+	@(cd ${STAGEDIR}${PREFIX}; ${FIND} sysroot \( -type f -or -type l \) \
+		| ${SORT} >> ${TMPPLIST})
+
+.include <bsd.port.mk>

Added: head/lang/gnatcross-sysroot-aarch64/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/gnatcross-sysroot-aarch64/distinfo	Fri Feb  3 05:50:24 2017	(r433191)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1486033400
+SHA256 (gnatcross/arm64-aarch64/R11_0/base.txz) = 16e9d744c39ef8ead3584815071a9086db10e71ef93e0108d5f490fe103b4bba
+SIZE (gnatcross/arm64-aarch64/R11_0/base.txz) = 78856068

Added: head/lang/gnatcross-sysroot-aarch64/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/gnatcross-sysroot-aarch64/pkg-descr	Fri Feb  3 05:50:24 2017	(r433191)
@@ -0,0 +1,4 @@
+This package is used by the lang/gnatcross-aarch64 Ada cross-compiler to
+install the system root of FreeBSD ARM64 (aarch64).  
+
+WWW: http://www.dragonlace.net



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201702030550.v135oOJd001829>