aboutsummaryrefslogtreecommitdiff
path: root/base
diff options
context:
space:
mode:
Diffstat (limited to 'base')
-rw-r--r--base/README18
-rw-r--r--base/binutils/Makefile37
-rw-r--r--base/binutils/pkg-plist.sparc6459
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