mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-06 06:30:19 +00:00
Add gnatdroid-x86 (3 new ports), X-compiler to Android-x86
Similar to lang/gnatdroid-armv7, lang/gnatdroid-x86 is a cross-compiler targetting Android. The former targets ARMv7 processors while the latter targets Android on x86 (32-bit). The latter also runs on Virtualbox as a bonus. The new ports are implemented as slaves to the ARMv7 versions. The GNAT ACATS were run, and it passed every test except CXG2024, "accuracy of multiplication and division of mixed decimal and binary fixed point numbers". subtest 13: expected -51.00 got 50.0 subtest 14: expected 51.0 got 50.0 This is probably a rounding error unique to 32-bit x86. Overall this version passed better than gnatdroid-armv7 because unwind is supported, enabling check check support. Also added: lang/gnatdroid-sysroot-x86 (KitKat and Lollipop API) lang/gnatdroid-binutils-x86 Despite the desciption, C++, Fortran and Objective-C should also work well (in addition to advertised C and Ada frontends). === The gnatdroid-x86 port builds a C/Ada cross-compiler based on GCC 4.9 that targets the Android operating system (up to version 5.0, API level 21) running on x86 or x86_64 architecture (version 7). This produces binaries that run natively on x86-based Android devices.
This commit is contained in:
parent
bf321e1073
commit
82cfb486dc
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=402635
@ -105,7 +105,10 @@
|
||||
SUBDIR += gnat_util
|
||||
SUBDIR += gnatdroid-armv7
|
||||
SUBDIR += gnatdroid-binutils
|
||||
SUBDIR += gnatdroid-binutils-x86
|
||||
SUBDIR += gnatdroid-sysroot
|
||||
SUBDIR += gnatdroid-sysroot-x86
|
||||
SUBDIR += gnatdroid-x86
|
||||
SUBDIR += gnu-cobol
|
||||
SUBDIR += gnustep-base
|
||||
SUBDIR += go
|
||||
|
@ -7,6 +7,7 @@ SNAPSHOT= 20150626
|
||||
MAIN_PR= 0
|
||||
UTIL_PR= 0
|
||||
ARMV7_PR= 1
|
||||
X86_PR= 0
|
||||
|
||||
# Snapshot naming pattern
|
||||
#IDENTIFICATION= gcc-${GCC_BRANCH}-${SNAPSHOT}
|
||||
|
@ -2358,17 +2358,6 @@
|
||||
/*---------------------- PPC AIX/PPC Lynx 178/Older Darwin ------------------*/
|
||||
#elif ((defined (_POWER) && defined (_AIX)) || \
|
||||
(defined (__powerpc__) && defined (__Lynx__) && !defined(__ELF__)) || \
|
||||
--- gcc/ada/gcc-interface/Make-lang.in.orig
|
||||
+++ gcc/ada/gcc-interface/Make-lang.in
|
||||
@@ -584,7 +584,7 @@
|
||||
ada/widechar.o
|
||||
|
||||
# Language-independent object files.
|
||||
-ADA_BACKEND = $(BACKEND) attribs.o
|
||||
+ADA_BACKEND = $(BACKEND2) attribs.o
|
||||
|
||||
# List of target dependent sources, overridden below as necessary
|
||||
TARGET_ADA_SRCS =
|
||||
--- gcc/ada/gcc-interface/Makefile.in.orig
|
||||
+++ gcc/ada/gcc-interface/Makefile.in
|
||||
@@ -1044,6 +1044,7 @@
|
||||
@ -2410,7 +2399,47 @@
|
||||
THREADSLIB = -lposix4 -lthread
|
||||
MISCLIB = -lposix4 -lnsl -lsocket
|
||||
SO_OPTS = -Wl,-h,
|
||||
@@ -1330,8 +1332,11 @@
|
||||
@@ -1266,6 +1268,39 @@
|
||||
LIBRARY_VERSION := $(LIB_VERSION)
|
||||
endif
|
||||
|
||||
+# x86 android
|
||||
+ifeq ($(strip $(filter-out %86 linux-android,$(target_cpu) $(target_os))),)
|
||||
+ LIBGNAT_TARGET_PAIRS = \
|
||||
+ a-intnam.ads<a-intnam-linux.ads \
|
||||
+ g-socthi.adb<g-socthi-bsd.adb \
|
||||
+ s-inmaop.adb<s-inmaop-posix.adb \
|
||||
+ s-intman.adb<s-intman-posix.adb \
|
||||
+ s-linux.ads<s-linux-android.ads \
|
||||
+ s-osinte.adb<s-osinte-android.adb \
|
||||
+ s-osinte.ads<s-osinte-android.ads \
|
||||
+ s-osprim.adb<s-osprim-posix.adb \
|
||||
+ s-taprop.adb<s-taprop-posix.adb \
|
||||
+ s-taspri.ads<s-taspri-posix.ads \
|
||||
+ s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
|
||||
+ $(ATOMICS_TARGET_PAIRS) \
|
||||
+ $(X86_TARGET_PAIRS) \
|
||||
+ system.ads<system-linux-x86.ads
|
||||
+
|
||||
+ TOOLS_TARGET_PAIRS = \
|
||||
+ mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
|
||||
+ indepsw.adb<indepsw-gnu.adb
|
||||
+
|
||||
+ EXTRA_LIBGNAT_OBJS=
|
||||
+ EXTRA_GNATRTL_TASKING_OBJS=s-linux.o
|
||||
+ EXTRA_GNATRTL_NONTASKING_OBJS=
|
||||
+ EH_MECHANISM=-gcc
|
||||
+ THREADSLIB=
|
||||
+ MISCLIB=
|
||||
+ GMEM_LIB=
|
||||
+ GNATLIB_SHARED = gnatlib-shared-dual
|
||||
+ LIBRARY_VERSION := $(LIB_VERSION)
|
||||
+endif
|
||||
+
|
||||
# x86 kfreebsd
|
||||
ifeq ($(strip $(filter-out %86 kfreebsd%,$(target_cpu) $(target_os))),)
|
||||
LIBGNAT_TARGET_PAIRS = \
|
||||
@@ -1330,8 +1365,11 @@
|
||||
ifeq ($(strip $(filter-out %86 freebsd%,$(target_cpu) $(target_os))),)
|
||||
LIBGNAT_TARGET_PAIRS = \
|
||||
a-intnam.ads<a-intnam-freebsd.ads \
|
||||
@ -2422,7 +2451,7 @@
|
||||
s-osinte.adb<s-osinte-freebsd.adb \
|
||||
s-osinte.ads<s-osinte-freebsd.ads \
|
||||
s-osprim.adb<s-osprim-posix.adb \
|
||||
@@ -1346,6 +1351,8 @@
|
||||
@@ -1346,6 +1384,8 @@
|
||||
mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb
|
||||
GNATLIB_SHARED = gnatlib-shared-dual
|
||||
|
||||
@ -2431,7 +2460,7 @@
|
||||
EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o
|
||||
|
||||
EH_MECHANISM=-gcc
|
||||
@@ -1359,8 +1366,11 @@
|
||||
@@ -1359,8 +1399,11 @@
|
||||
ifeq ($(strip $(filter-out %86_64 freebsd%,$(target_cpu) $(target_os))),)
|
||||
LIBGNAT_TARGET_PAIRS = \
|
||||
a-intnam.ads<a-intnam-freebsd.ads \
|
||||
@ -2443,7 +2472,7 @@
|
||||
s-osinte.adb<s-osinte-freebsd.adb \
|
||||
s-osinte.ads<s-osinte-freebsd.ads \
|
||||
s-osprim.adb<s-osprim-posix.adb \
|
||||
@@ -1375,6 +1385,181 @@
|
||||
@@ -1375,6 +1418,181 @@
|
||||
mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb
|
||||
GNATLIB_SHARED = gnatlib-shared-dual
|
||||
|
||||
@ -2625,6 +2654,17 @@
|
||||
EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o
|
||||
|
||||
EH_MECHANISM=-gcc
|
||||
--- gcc/ada/gcc-interface/Make-lang.in.orig
|
||||
+++ gcc/ada/gcc-interface/Make-lang.in
|
||||
@@ -584,7 +584,7 @@
|
||||
ada/widechar.o
|
||||
|
||||
# Language-independent object files.
|
||||
-ADA_BACKEND = $(BACKEND) attribs.o
|
||||
+ADA_BACKEND = $(BACKEND2) attribs.o
|
||||
|
||||
# List of target dependent sources, overridden below as necessary
|
||||
TARGET_ADA_SRCS =
|
||||
--- gnattools/configure.ac.orig
|
||||
+++ gnattools/configure.ac
|
||||
@@ -79,11 +79,27 @@
|
||||
|
@ -126,7 +126,7 @@
|
||||
+gccflags="-O2"
|
||||
+gnatflags="-gnatws"
|
||||
+tabtarget="/data/local/testsuite"
|
||||
+STRIP="arm-aux-linux-androideabi-strip"
|
||||
+STRIP="@REMOTE_TARGET@-strip"
|
||||
+
|
||||
+target_run () {
|
||||
+ # Run on rooted tablet (port 22 vs port 2222)
|
||||
@ -180,8 +180,8 @@
|
||||
+fi
|
||||
+
|
||||
+target_gnatmake () {
|
||||
+ echo gnatmake-cross --GCC=\"$GCC\" $gnatflags $gccflags $* -largs $EXTERNAL_OBJECTS --GCC=\"$GCC\"
|
||||
+ gnatmake-cross --GCC="$GCC" $gnatflags $gccflags $* -largs $EXTERNAL_OBJECTS --GCC="$GCC"
|
||||
+ echo gnatmake-cross --GCC=\"$GCC\" $gnatflags $gccflags $* -largs $EXTERNAL_OBJECTS --GCC=\"$GCC\" -fPIE -pie
|
||||
+ gnatmake-cross --GCC="$GCC" $gnatflags $gccflags $* -largs $EXTERNAL_OBJECTS --GCC="$GCC" -fPIE -pie
|
||||
+}
|
||||
+
|
||||
+target_gcc () {
|
||||
|
@ -970,9 +970,30 @@
|
||||
+ dragonfly*)
|
||||
+ os_include_dir="os/bsd/dragonfly"
|
||||
+ ;;
|
||||
+ linux-androideabi)
|
||||
+ linux-android*)
|
||||
+ os_include_dir="os/bionic"
|
||||
+ ;;
|
||||
bsd*)
|
||||
# Plain BSD attempts to share FreeBSD files.
|
||||
os_include_dir="os/bsd/freebsd"
|
||||
--- libstdc++-v3/config/os/bionic/ctype_base.h.orig
|
||||
+++ libstdc++-v3/config/os/bionic/ctype_base.h
|
||||
@@ -40,6 +40,18 @@
|
||||
// Non-standard typedefs.
|
||||
typedef const int* __to_type;
|
||||
|
||||
+#ifdef _CTYPE_U
|
||||
+#define _U _CTYPE_U
|
||||
+#define _L _CTYPE_L
|
||||
+#define _D _CTYPE_D
|
||||
+#define _S _CTYPE_S
|
||||
+#define _P _CTYPE_P
|
||||
+#define _C _CTYPE_C
|
||||
+#define _X _CTYPE_X
|
||||
+#define _B _CTYPE_B
|
||||
+#define _N _CTYPE_D
|
||||
+#endif
|
||||
+
|
||||
// NB: Offsets into ctype<char>::_M_table force a particular size
|
||||
// on the mask type. Because of this, we don't use an enum.
|
||||
typedef char mask;
|
||||
|
@ -1,21 +0,0 @@
|
||||
--- libstdc++-v3/config/os/bionic/ctype_base.h.orig 2014-01-02 22:30:10 UTC
|
||||
+++ libstdc++-v3/config/os/bionic/ctype_base.h
|
||||
@@ -40,6 +40,18 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
// Non-standard typedefs.
|
||||
typedef const int* __to_type;
|
||||
|
||||
+#ifdef _CTYPE_U
|
||||
+#define _U _CTYPE_U
|
||||
+#define _L _CTYPE_L
|
||||
+#define _D _CTYPE_D
|
||||
+#define _S _CTYPE_S
|
||||
+#define _P _CTYPE_P
|
||||
+#define _C _CTYPE_C
|
||||
+#define _X _CTYPE_X
|
||||
+#define _B _CTYPE_B
|
||||
+#define _N _CTYPE_D
|
||||
+#endif
|
||||
+
|
||||
// NB: Offsets into ctype<char>::_M_table force a particular size
|
||||
// on the mask type. Because of this, we don't use an enum.
|
||||
typedef char mask;
|
@ -1,22 +1,22 @@
|
||||
# Created by: John Marino <marino@FreeBSD.org>
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= armv7
|
||||
PORTNAME?= armv7
|
||||
PORTVERSION= ${SNAPSHOT}
|
||||
PORTREVISION= ${ARMV7_PR}
|
||||
PORTREVISION?= ${ARMV7_PR}
|
||||
CATEGORIES= lang
|
||||
MASTER_SITES= GCC/releases/gcc-${GCC_VERSION}
|
||||
PKGNAMEPREFIX= gnatdroid-
|
||||
DISTFILES= ${IDENTIFICATION}.tar.bz2
|
||||
|
||||
MAINTAINER= marino@FreeBSD.org
|
||||
COMMENT= C/Ada cross-compiler, target: Android ARMv7
|
||||
MAINTAINER?= marino@FreeBSD.org
|
||||
COMMENT?= C/Ada cross-compiler, target: Android ARMv7
|
||||
|
||||
LICENSE= GPLv3 GPLv3RLE
|
||||
LICENSE_COMB= multi
|
||||
|
||||
BUILD_DEPENDS= gnatdroid-sysroot>=19:${PORTSDIR}/lang/gnatdroid-sysroot \
|
||||
gnatdroid-binutils>=2.21:${PORTSDIR}/lang/gnatdroid-binutils
|
||||
BUILD_DEPENDS= ${SYSROOT}>=19:${PORTSDIR}/lang/${SYSROOT} \
|
||||
${GDBINUTILS}>=2.21:${PORTSDIR}/lang/${GDBINUTILS}
|
||||
RUN_DEPENDS:= ${BUILD_DEPENDS}
|
||||
|
||||
NO_LICENSES_INSTALL= yes
|
||||
@ -34,21 +34,24 @@ OPTIONS_SUB= yes
|
||||
FORT_DESC= Also build Fortran language
|
||||
OBJC_DESC= Also build Objective-C language
|
||||
|
||||
DROID_TARGET= arm-aux-linux-androideabi
|
||||
DROID_ARCH= armv7-a
|
||||
ARMVERSION= ARMv7
|
||||
FPU= neon
|
||||
DROID_TARGET?= arm-aux-linux-androideabi
|
||||
CPUVERSION?= ARMv7
|
||||
ARG_ARCH?= --with-arch=armv7-a
|
||||
ARG_FPU?= --with-fpu=neon
|
||||
ARG_FLOATSOFT?= --with-float=soft
|
||||
ALL_TARGET= all
|
||||
GARCH= ${ARCH:S/amd64/x86_64/}
|
||||
BITS= ${GARCH:S/x86_64/64/:S/i386/32/}
|
||||
OS_LABEL4VERS= [${OPSYS}${BITS} x Android ${ARMVERSION}]
|
||||
OS_LABEL4VERS= [${OPSYS}${BITS} x Android ${CPUVERSION}]
|
||||
WRKSRC= ${WRKDIR}/${IDENTIFICATION}
|
||||
BUILD_WRKSRC= ${WRKDIR}/build
|
||||
PATCHDIR= ${.CURDIR}/../gcc-aux/files
|
||||
CFG_SCRIPT= ${WRKSRC}/configure
|
||||
REVFILE= ${WRKSRC}/gcc/REVISION
|
||||
SRPREFIX= ${LOCALBASE}/android
|
||||
PREFIX= ${SRPREFIX}/${ARMVERSION}
|
||||
SRPREFIX?= ${LOCALBASE}/android
|
||||
PREFIX= ${SRPREFIX}/${CPUVERSION}
|
||||
SYSROOT?= gnatdroid-sysroot
|
||||
GDBINUTILS?= gnatdroid-binutils
|
||||
PLIST_SUB+= TARGET="${DROID_TARGET}"
|
||||
PLIST_SUB+= GCCVERS="${GCC_VERSION}"
|
||||
SUB_FILES= pkg-message
|
||||
@ -59,10 +62,6 @@ CROSS= gnat gnatbind gnatchop gnatclean gnatfind gnatkr \
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
.if ${OPSYS} == FreeBSD && ${OSREL:R:M8}
|
||||
BROKEN= multiple definition of __x86.get_pc_thunk.cx on FreeBSD 8
|
||||
.endif
|
||||
|
||||
.if ${PORT_OPTIONS:MFORT}
|
||||
LANGS+= fortran
|
||||
APPLY_DIFFS+= fortran
|
||||
@ -72,21 +71,21 @@ APPLY_DIFFS+= fortran
|
||||
LANGS+= objc
|
||||
.endif
|
||||
|
||||
INSTALL_ENV= ${MAKE_ENV:C/^PATH=/&${SRPREFIX}\/${ARMVERSION}\/bin:/}
|
||||
INSTALL_ENV= ${MAKE_ENV:C/^PATH=/&${SRPREFIX}\/${CPUVERSION}\/bin:/}
|
||||
|
||||
ADA_CONFIG_ARGS= --enable-languages=${LANGS:Q}
|
||||
ADA_CONFIG_ARGS+= --target=${DROID_TARGET}
|
||||
ADA_CONFIG_ARGS+= --program-prefix=${DROID_TARGET}-
|
||||
ADA_CONFIG_ARGS+= --prefix=${PREFIX}
|
||||
ADA_CONFIG_ARGS+= --with-arch=${DROID_ARCH}
|
||||
ADA_CONFIG_ARGS+= ${ARG_ARCH}
|
||||
ADA_CONFIG_ARGS+= --with-system-zlib
|
||||
ADA_CONFIG_ARGS+= --with-gmp=${LOCALBASE}
|
||||
ADA_CONFIG_ARGS+= --with-mpfr=${LOCALBASE}
|
||||
ADA_CONFIG_ARGS+= --with-mpc=${LOCALBASE}
|
||||
ADA_CONFIG_ARGS+= ${ICONV_CONFIGURE_ARG}
|
||||
ADA_CONFIG_ARGS+= --with-sysroot=${SRPREFIX}
|
||||
ADA_CONFIG_ARGS+= --with-float=soft
|
||||
ADA_CONFIG_ARGS+= --with-fpu=${FPU}
|
||||
ADA_CONFIG_ARGS+= ${ARG_FLOATSOFT}
|
||||
ADA_CONFIG_ARGS+= ${ARG_FPU}
|
||||
ADA_CONFIG_ARGS+= --enable-target-optspace
|
||||
ADA_CONFIG_ARGS+= --enable-threads=posix
|
||||
ADA_CONFIG_ARGS+= --enable-cxx-flags=-frtti
|
||||
@ -114,6 +113,8 @@ post-extract:
|
||||
.endfor
|
||||
@(cd ${WRKSRC}/gcc/testsuite/ada/acats && \
|
||||
${CP} run_remote.sh run_all.sh)
|
||||
${REINPLACE_CMD} -e 's|@REMOTE_TARGET@|${DROID_TARGET}|' \
|
||||
${WRKSRC}/gcc/testsuite/ada/acats/run_all.sh
|
||||
${REINPLACE_CMD} -e 's|<syscall.h>|<sys/syscall.h>|' \
|
||||
${WRKSRC}/libstdc++-v3/libsupc++/guard.cc
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
The gnatdroid-armv7 port builds a C/Ada cross-compiler based on GCC 4.7 that
|
||||
targets the Android operating system (version 4.4, API level 19) running on
|
||||
ARM architecture (version 7). This produces binaries that run natively on
|
||||
Android devices built with Cortex-A series chips.
|
||||
The gnatdroid-armv7 port builds a C/Ada cross-compiler based on GCC 4.9
|
||||
that targets the Android operating system (up to version 5.0, API level
|
||||
21) running on ARM architecture (version 7). This produces binaries that
|
||||
run natively on Android devices built with Cortex-A series chips.
|
||||
|
||||
WWW: http://www.dragonlace.net
|
||||
|
18
lang/gnatdroid-binutils-x86/Makefile
Normal file
18
lang/gnatdroid-binutils-x86/Makefile
Normal file
@ -0,0 +1,18 @@
|
||||
# Created by: John Marino <marino@FreeBSD.org>
|
||||
# $FreeBSD$
|
||||
|
||||
PORTREVISION= 0
|
||||
PKGNAMESUFFIX= -x86
|
||||
|
||||
MAINTAINER= marino@FreeBSD.org
|
||||
COMMENT= Infrastructure for C/Ada Android cross-compiler (x86)
|
||||
|
||||
BRANCH2= x86_32
|
||||
XCCTARGET= i686-aux-linux-android
|
||||
PREFIX= ${LOCALBASE}/android-x86
|
||||
SYSROOT= gnatdroid-sysroot-x86
|
||||
MASTERDIR= ${.CURDIR}/../../lang/gnatdroid-binutils
|
||||
PLIST= ${.CURDIR}/pkg-plist
|
||||
DESCR= ${.CURDIR}/pkg-descr
|
||||
|
||||
.include "${MASTERDIR}/Makefile"
|
5
lang/gnatdroid-binutils-x86/pkg-descr
Normal file
5
lang/gnatdroid-binutils-x86/pkg-descr
Normal file
@ -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
|
95
lang/gnatdroid-binutils-x86/pkg-plist
Normal file
95
lang/gnatdroid-binutils-x86/pkg-plist
Normal file
@ -0,0 +1,95 @@
|
||||
%%BRANCH2%%/bin/%%TARGET%%-addr2line
|
||||
%%BRANCH2%%/bin/%%TARGET%%-ar
|
||||
%%BRANCH2%%/bin/%%TARGET%%-as
|
||||
%%BRANCH2%%/bin/%%TARGET%%-c++filt
|
||||
%%BRANCH2%%/bin/%%TARGET%%-elfedit
|
||||
%%BRANCH2%%/bin/%%TARGET%%-gprof
|
||||
%%BRANCH2%%/bin/%%TARGET%%-ld
|
||||
%%BRANCH2%%/bin/%%TARGET%%-ld.bfd
|
||||
%%BRANCH2%%/bin/%%TARGET%%-nm
|
||||
%%BRANCH2%%/bin/%%TARGET%%-objcopy
|
||||
%%BRANCH2%%/bin/%%TARGET%%-objdump
|
||||
%%BRANCH2%%/bin/%%TARGET%%-ranlib
|
||||
%%BRANCH2%%/bin/%%TARGET%%-readelf
|
||||
%%BRANCH2%%/bin/%%TARGET%%-size
|
||||
%%BRANCH2%%/bin/%%TARGET%%-strings
|
||||
%%BRANCH2%%/bin/%%TARGET%%-strip
|
||||
%%BRANCH2%%/%%TARGET%%/bin/ar
|
||||
%%BRANCH2%%/%%TARGET%%/bin/as
|
||||
%%BRANCH2%%/%%TARGET%%/bin/ld
|
||||
%%BRANCH2%%/%%TARGET%%/bin/ld.bfd
|
||||
%%BRANCH2%%/%%TARGET%%/bin/nm
|
||||
%%BRANCH2%%/%%TARGET%%/bin/objcopy
|
||||
%%BRANCH2%%/%%TARGET%%/bin/objdump
|
||||
%%BRANCH2%%/%%TARGET%%/bin/ranlib
|
||||
%%BRANCH2%%/%%TARGET%%/bin/strip
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf32_x86_64.x
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf32_x86_64.xbn
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf32_x86_64.xc
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf32_x86_64.xd
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf32_x86_64.xdc
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf32_x86_64.xdw
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf32_x86_64.xn
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf32_x86_64.xr
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf32_x86_64.xs
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf32_x86_64.xsc
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf32_x86_64.xsw
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf32_x86_64.xu
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf32_x86_64.xw
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_i386.x
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_i386.xbn
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_i386.xc
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_i386.xd
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_i386.xdc
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_i386.xdw
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_i386.xn
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_i386.xr
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_i386.xs
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_i386.xsc
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_i386.xsw
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_i386.xu
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_i386.xw
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_k1om.x
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_k1om.xbn
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_k1om.xc
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_k1om.xd
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_k1om.xdc
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_k1om.xdw
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_k1om.xn
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_k1om.xr
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_k1om.xs
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_k1om.xsc
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_k1om.xsw
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_k1om.xu
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_k1om.xw
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_l1om.x
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_l1om.xbn
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_l1om.xc
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_l1om.xd
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_l1om.xdc
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_l1om.xdw
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_l1om.xn
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_l1om.xr
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_l1om.xs
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_l1om.xsc
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_l1om.xsw
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_l1om.xu
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_l1om.xw
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_x86_64.x
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_x86_64.xbn
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_x86_64.xc
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_x86_64.xd
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_x86_64.xdc
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_x86_64.xdw
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_x86_64.xn
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_x86_64.xr
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_x86_64.xs
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_x86_64.xsc
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_x86_64.xsw
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_x86_64.xu
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/elf_x86_64.xw
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/i386linux.x
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/i386linux.xbn
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/i386linux.xn
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/i386linux.xr
|
||||
%%BRANCH2%%/%%TARGET%%/lib/ldscripts/i386linux.xu
|
@ -3,18 +3,18 @@
|
||||
|
||||
PORTNAME= binutils
|
||||
PORTVERSION= 2.25.1
|
||||
PORTREVISION= 1
|
||||
PORTREVISION?= 1
|
||||
CATEGORIES= lang
|
||||
MASTER_SITES= SOURCEWARE/binutils/releases
|
||||
PKGNAMEPREFIX= gnatdroid-
|
||||
|
||||
MAINTAINER= marino@FreeBSD.org
|
||||
COMMENT= Infrastructure for C/Ada Android cross-compiler
|
||||
MAINTAINER?= marino@FreeBSD.org
|
||||
COMMENT?= Infrastructure for C/Ada Android cross-compiler (ARMv7)
|
||||
|
||||
LICENSE= GPLv3 LGPL3
|
||||
LICENSE_COMB= multi
|
||||
|
||||
BUILD_DEPENDS= gnatdroid-sysroot>=19:${PORTSDIR}/lang/gnatdroid-sysroot \
|
||||
BUILD_DEPENDS= ${SYSROOT}>=19:${PORTSDIR}/lang/${SYSROOT} \
|
||||
${LOCALBASE}/lib/libgmp.so:${PORTSDIR}/math/gmp \
|
||||
${LOCALBASE}/lib/libmpfr.so:${PORTSDIR}/math/mpfr
|
||||
RUN_DEPENDS:= ${BUILD_DEPENDS}
|
||||
@ -26,14 +26,15 @@ NO_MTREE= yes
|
||||
NO_LICENSES_INSTALL= yes
|
||||
|
||||
WRKSRC= ${WRKDIR}/binutils-${PORTVERSION}
|
||||
PREFIX= ${LOCALBASE}/android
|
||||
BRANCH2= ARMv7
|
||||
PREFIX?= ${LOCALBASE}/android
|
||||
BRANCH2?= ARMv7
|
||||
BR2_PREFIX= ${PREFIX}/${BRANCH2}
|
||||
ARMTARGET= arm-aux-linux-androideabi
|
||||
PLIST_SUB+= TARGET="${ARMTARGET}"
|
||||
XCCTARGET?= arm-aux-linux-androideabi
|
||||
SYSROOT?= gnatdroid-sysroot
|
||||
PLIST_SUB+= TARGET="${XCCTARGET}"
|
||||
PLIST_SUB+= BRANCH2="${BRANCH2}"
|
||||
|
||||
CONFIGURE_ARGS+= --target=${ARMTARGET}
|
||||
CONFIGURE_ARGS+= --target=${XCCTARGET}
|
||||
CONFIGURE_ARGS+= --prefix=${BR2_PREFIX}
|
||||
CONFIGURE_ARGS+= --with-sysroot=${PREFIX}
|
||||
CONFIGURE_ARGS+= --with-gmp=${LOCALBASE}
|
||||
|
49
lang/gnatdroid-sysroot-x86/Makefile
Normal file
49
lang/gnatdroid-sysroot-x86/Makefile
Normal file
@ -0,0 +1,49 @@
|
||||
# Created by: John Marino <marino@FreeBSD.org>
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= sysroot
|
||||
PORTVERSION= 21
|
||||
CATEGORIES= lang
|
||||
MASTER_SITES= http://downloads.dragonlace.net/src/
|
||||
PKGNAMEPREFIX= gnatdroid-
|
||||
PKGNAMESUFFIX= -x86
|
||||
DISTNAME= android-${API}-x86
|
||||
|
||||
MAINTAINER= marino@FreeBSD.org
|
||||
COMMENT= Android sysroots for C/Ada Android cross-compiler (x86)
|
||||
|
||||
USES= tar:bzip2
|
||||
NO_BUILD= yes
|
||||
NO_MTREE= yes
|
||||
|
||||
PREFIX= ${LOCALBASE}/android-x86
|
||||
STAT_PATCH= ${FILESDIR}/extra-stat.h
|
||||
EXTRA_PATCHES= ${STAT_PATCH}
|
||||
|
||||
OPTIONS_SINGLE= SG1
|
||||
OPTIONS_SINGLE_SG1= KITKAT LOLLIPOP
|
||||
OPTIONS_DEFAULT= KITKAT
|
||||
|
||||
KITKAT_DESC= Android 4.4 - API level 19 - Kitkat
|
||||
LOLLIPOP_DESC= Android 5.0 - API level 21 - Lollipop
|
||||
|
||||
.include <bsd.port.options.mk>
|
||||
|
||||
.if ${PORT_OPTIONS:MKITKAT}
|
||||
API= 19
|
||||
.elif ${PORT_OPTIONS:MLOLLIPOP}
|
||||
API= 21
|
||||
STAT_PATCH= ${FILESDIR}/extra-21-stat.h
|
||||
.else
|
||||
IGNORE= the API option is improperly selected
|
||||
.endif
|
||||
|
||||
do-install:
|
||||
@${MKDIR} ${STAGEDIR}${PREFIX}
|
||||
(cd ${WRKSRC} && ${COPYTREE_SHARE} usr ${STAGEDIR}${PREFIX})
|
||||
|
||||
post-install:
|
||||
@(cd ${STAGEDIR}${PREFIX}; ${FIND} usr \( -type f -or -type l \) | \
|
||||
${SORT} >> ${TMPPLIST})
|
||||
|
||||
.include <bsd.port.mk>
|
4
lang/gnatdroid-sysroot-x86/distinfo
Normal file
4
lang/gnatdroid-sysroot-x86/distinfo
Normal file
@ -0,0 +1,4 @@
|
||||
SHA256 (android-19-x86.tar.bz2) = 35c5e6fdebe54373d2103e500034d620fbda8a7b79148fc6a5e507a25ff17f24
|
||||
SIZE (android-19-x86.tar.bz2) = 5554684
|
||||
SHA256 (android-21-x86.tar.bz2) = 48c306569d4d27ba595c930bfe3ac69208868b2a1d2598b57e8f8ded293a7478
|
||||
SIZE (android-21-x86.tar.bz2) = 7261178
|
10
lang/gnatdroid-sysroot-x86/files/extra-21-stat.h
Normal file
10
lang/gnatdroid-sysroot-x86/files/extra-21-stat.h
Normal file
@ -0,0 +1,10 @@
|
||||
--- usr/include/linux/stat.h.orig 2014-10-15 02:53:49 UTC
|
||||
+++ usr/include/linux/stat.h
|
||||
@@ -57,5 +57,7 @@
|
||||
#define S_IWOTH 00002
|
||||
/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
|
||||
#define S_IXOTH 00001
|
||||
+#define S_IREAD S_IRUSR
|
||||
+#define S_IWRITE S_IWUSR
|
||||
#endif
|
||||
#endif
|
12
lang/gnatdroid-sysroot-x86/files/extra-stat.h
Normal file
12
lang/gnatdroid-sysroot-x86/files/extra-stat.h
Normal file
@ -0,0 +1,12 @@
|
||||
--- usr/include/linux/stat.h.orig 2011-07-17 20:54:19.000000000 +0200
|
||||
+++ usr/include/linux/stat.h 2011-07-17 20:55:15.000000000 +0200
|
||||
@@ -39,6 +39,9 @@
|
||||
#define S_IWUSR 00200
|
||||
#define S_IXUSR 00100
|
||||
|
||||
+#define S_IREAD S_IRUSR
|
||||
+#define S_IWRITE S_IWUSR
|
||||
+
|
||||
#define S_IRWXG 00070
|
||||
#define S_IRGRP 00040
|
||||
#define S_IWGRP 00020
|
6
lang/gnatdroid-sysroot-x86/pkg-descr
Normal file
6
lang/gnatdroid-sysroot-x86/pkg-descr
Normal file
@ -0,0 +1,6 @@
|
||||
This package is used by lang/gnatdroid to install the system root of
|
||||
Android 2.2 to 5.0 (API Level 8 to API Level 21) of the x86 architecture.
|
||||
The x86 cross-tools are built using these files, which in turn is required
|
||||
for the GNAT FreeBSD->Android(x86) cross-compiler that is gnatdroid.
|
||||
|
||||
WWW: http://www.dragonlace.net
|
21
lang/gnatdroid-x86/Makefile
Normal file
21
lang/gnatdroid-x86/Makefile
Normal file
@ -0,0 +1,21 @@
|
||||
# Created by: John Marino <marino@FreeBSD.org>
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= x86
|
||||
PORTREVISION= ${X86_PR}
|
||||
|
||||
MAINTAINER= marino@FreeBSD.org
|
||||
COMMENT= C/Ada cross-compiler, target: Android x86
|
||||
|
||||
DROID_TARGET= i686-aux-linux-android
|
||||
CPUVERSION= x86_32
|
||||
ARG_ARCH= # don't specify
|
||||
ARG_FPU= # don't specify
|
||||
ARG_FLOATSOFT= # don't specify
|
||||
SRPREFIX= ${LOCALBASE}/android-x86
|
||||
SYSROOT= gnatdroid-sysroot-x86
|
||||
GDBINUTILS= gnatdroid-binutils-x86
|
||||
MASTERDIR= ${.CURDIR}/../../lang/gnatdroid-armv7
|
||||
DESCR= ${.CURDIR}/pkg-descr
|
||||
|
||||
.include "${MASTERDIR}/Makefile"
|
6
lang/gnatdroid-x86/pkg-descr
Normal file
6
lang/gnatdroid-x86/pkg-descr
Normal file
@ -0,0 +1,6 @@
|
||||
The gnatdroid-x86 port builds a C/Ada cross-compiler based on GCC 4.9
|
||||
that targets the Android operating system (up to version 5.0, API level
|
||||
21) running on x86 or x86_64 architecture (version 7). This produces
|
||||
binaries that run natively on x86-based Android devices.
|
||||
|
||||
WWW: http://www.dragonlace.net
|
Loading…
Reference in New Issue
Block a user