diff options
Diffstat (limited to 'base')
-rw-r--r-- | base/README | 18 | ||||
-rw-r--r-- | base/binutils/Makefile | 37 | ||||
-rw-r--r-- | base/binutils/pkg-plist.sparc64 | 59 |
3 files changed, 114 insertions, 0 deletions
diff --git a/base/README b/base/README new file mode 100644 index 000000000000..66431f7cd167 --- /dev/null +++ b/base/README @@ -0,0 +1,18 @@ +# $FreeBSD$ + +How to cross build initial toolchain + +Example with sparc64 + +1/ install a cross toolchain +pkg install sparc64-xtoolchain-gcc + +2/ cross build world +make CROSS_TOOLCHAIN=sparc64-gcc TARGET=sparc64 TARGET_ARCH=sparc64 buildworld + +3/ install the world in a sysroot +make CROSS_TOOLCHAIN=sparc64-gcc TARGET=sparc64 TARGET_ARCH=sparc64 installworld DESTDIR=/sysroots/sparc64 + +4/ build the required port +$ cd base/binutils +make CROSS_TOOLCHAIN=sparc64-gcc CROSS_SYSROOT=/sysroot/sparc64 package diff --git a/base/binutils/Makefile b/base/binutils/Makefile new file mode 100644 index 000000000000..efc61270d52c --- /dev/null +++ b/base/binutils/Makefile @@ -0,0 +1,37 @@ +# $FreeBSD$ + +PORTEPOCH= 0 +CATEGORIES= base +PKGNAMEPREFIX= ${OPSYS}- +VALID_CATEGORIES= base + +COMMENT= GNU binary tools for base + +MASTERDIR= ${.CURDIR}/../..//devel/binutils +PLIST= ${.CURDIR}/pkg-plist.${TARGET_ARCH} + +.if !defined(CROSS_TOOLCHAIN) +.error Please define CROSS_TOOLCHAIN before building +.endif + +.if !defined(CROSS_SYSROOT) +.error Please define CROSS_SYSROOT before building +.endif + +TARGET_ARCH= ${CROSS_TOOLCHAIN:C,-.*$,,} +BUTARGET= ${TARGET_ARCH}-${OPSYS:tl} +CONFIGURE_ARGS+= --host=${BUTARGET} \ + --disable-host-shared +PREFIX= /usr + +.include "${MASTERDIR}/Makefile" +.include "${LOCALBASE}/share/toolchains/${CROSS_TOOLCHAIN}.mk" + +PKG_ENV+= ABI_FILE=${CROSS_SYSROOT}/bin/sh +CFLAGS+= --sysroot=${CROSS_SYSROOT} -isystem ${CROSS_SYSROOT}/usr/include +CXXFLAGS+= --sysroot=${CROSS_SYSROOT} +CC= ${XCC} +CXX= ${XCXX} +.for tool in AS AR LD NM OBJCOPY RANLIB SIZE STRINGS +${tool}= ${CROSS_BINUTILS_PREFIX}/${tool} +.endfor diff --git a/base/binutils/pkg-plist.sparc64 b/base/binutils/pkg-plist.sparc64 new file mode 100644 index 000000000000..67f68b3c868c --- /dev/null +++ b/base/binutils/pkg-plist.sparc64 @@ -0,0 +1,59 @@ +bin/as +bin/ld +bin/ld.bfd +bin/objcopy +bin/objdump +share/man/man1/as.1.gz +share/man/man1/ld.1.gz +share/man/man1/objcopy.1.gz +share/man/man1/objdump.1.gz +sparc64-freebsd/bin/ar +sparc64-freebsd/bin/as +sparc64-freebsd/bin/ld +sparc64-freebsd/bin/ld.bfd +sparc64-freebsd/bin/nm +sparc64-freebsd/bin/objcopy +sparc64-freebsd/bin/objdump +sparc64-freebsd/bin/ranlib +sparc64-freebsd/bin/readelf +sparc64-freebsd/bin/size +sparc64-freebsd/bin/strip +sparc64-freebsd/lib/ldscripts/elf32_sparc.x +sparc64-freebsd/lib/ldscripts/elf32_sparc.xbn +sparc64-freebsd/lib/ldscripts/elf32_sparc.xc +sparc64-freebsd/lib/ldscripts/elf32_sparc.xd +sparc64-freebsd/lib/ldscripts/elf32_sparc.xdc +sparc64-freebsd/lib/ldscripts/elf32_sparc.xdw +sparc64-freebsd/lib/ldscripts/elf32_sparc.xn +sparc64-freebsd/lib/ldscripts/elf32_sparc.xr +sparc64-freebsd/lib/ldscripts/elf32_sparc.xs +sparc64-freebsd/lib/ldscripts/elf32_sparc.xsc +sparc64-freebsd/lib/ldscripts/elf32_sparc.xsw +sparc64-freebsd/lib/ldscripts/elf32_sparc.xu +sparc64-freebsd/lib/ldscripts/elf32_sparc.xw +sparc64-freebsd/lib/ldscripts/elf64_sparc.x +sparc64-freebsd/lib/ldscripts/elf64_sparc.xbn +sparc64-freebsd/lib/ldscripts/elf64_sparc.xc +sparc64-freebsd/lib/ldscripts/elf64_sparc.xd +sparc64-freebsd/lib/ldscripts/elf64_sparc.xdc +sparc64-freebsd/lib/ldscripts/elf64_sparc.xdw +sparc64-freebsd/lib/ldscripts/elf64_sparc.xn +sparc64-freebsd/lib/ldscripts/elf64_sparc.xr +sparc64-freebsd/lib/ldscripts/elf64_sparc.xs +sparc64-freebsd/lib/ldscripts/elf64_sparc.xsc +sparc64-freebsd/lib/ldscripts/elf64_sparc.xsw +sparc64-freebsd/lib/ldscripts/elf64_sparc.xu +sparc64-freebsd/lib/ldscripts/elf64_sparc.xw +sparc64-freebsd/lib/ldscripts/elf64_sparc_fbsd.x +sparc64-freebsd/lib/ldscripts/elf64_sparc_fbsd.xbn +sparc64-freebsd/lib/ldscripts/elf64_sparc_fbsd.xc +sparc64-freebsd/lib/ldscripts/elf64_sparc_fbsd.xd +sparc64-freebsd/lib/ldscripts/elf64_sparc_fbsd.xdc +sparc64-freebsd/lib/ldscripts/elf64_sparc_fbsd.xdw +sparc64-freebsd/lib/ldscripts/elf64_sparc_fbsd.xn +sparc64-freebsd/lib/ldscripts/elf64_sparc_fbsd.xr +sparc64-freebsd/lib/ldscripts/elf64_sparc_fbsd.xs +sparc64-freebsd/lib/ldscripts/elf64_sparc_fbsd.xsc +sparc64-freebsd/lib/ldscripts/elf64_sparc_fbsd.xsw +sparc64-freebsd/lib/ldscripts/elf64_sparc_fbsd.xu +sparc64-freebsd/lib/ldscripts/elf64_sparc_fbsd.xw |