Import NetBSD tools and build.sh

This commit finalizes support for cross compilation. The tools
directory are all links to the actual tools and are built on the
host system to build Minix. build.sh is the work horse that takes
care of all environment settings. It's slightly adjusted for Minix.
The /usr/src/Makefile has additional targets needed for cross
compilation.
This commit is contained in:
Thomas Veerman
2012-06-06 14:46:00 +00:00
parent 2ed11343a6
commit c8a0e2f4c6
140 changed files with 26869 additions and 0 deletions

74
tools/binutils/Makefile Normal file
View File

@@ -0,0 +1,74 @@
# $NetBSD: Makefile,v 1.22 2012/04/15 08:37:32 mrg Exp $
.include <bsd.own.mk>
MODULE= binutils
GNUHOSTDIST= ${.CURDIR}/../../external/gpl3/binutils/dist
BRANDING?= \
--with-pkgversion="NetBSD Binutils nb1" \
--with-bugurl="http://www.NetBSD.org/support/send-pr.html" \
--with-lib-path="=/usr/lib" --with-sysroot
CONFIGURE_ARGS= --target=${MACHINE_GNU_PLATFORM} --disable-nls \
--program-transform-name="s,^,${MACHINE_GNU_PLATFORM}-," \
--disable-werror \
--target=i386-elf-minix \
${BRANDING}
MAKE_ARGS= MACHINE= MAKEINFO=${TOOL_MAKEINFO:Q}
ALL_TARGET= all-binutils all-gas all-ld
INSTALL_TARGET= install-binutils install-gas install-ld
.if ${MKCROSSGPROF:Uno} != "no"
ALL_TARGET+= all-gprof
INSTALL_TARGET+=install-gprof
.endif
.include "${.CURDIR}/../Makefile.gnuhost"
CCADDFLAGS= -I${DESTDIR}/usr/include -L${DESTDIR}/lib -L${DESTDIR}/usr/lib -B${DESTDIR}/usr/lib/
# Force avoiding possibly non-executable install-sh.
CONFIGURE_ENV+= ac_cv_path_mkdir="${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-install -d"
NEWCONFIGDIR?= ${.CURDIR}/../..
MKNATIVE?= ${.CURDIR}/mknative-binutils
native-binutils: .native/.configure_done
@echo 'Extracting GNU binutils configury for a native toolchain.'
MAKE=${MAKE:Q} ${HOST_SH} ${MKNATIVE} binutils \
${.OBJDIR}/.native ${NEWCONFIGDIR} ${MACHINE_GNU_PLATFORM}
.native/.configure_done: ${_GNU_CFGSRC} ${.CURDIR}/Makefile
mkdir .native 2>/dev/null || true
PATH=${TOOLDIR}/bin:$$PATH; export PATH; \
(cd .native && ${CONFIGURE_ENV:NC*:NLD*} \
CC_FOR_BUILD=${HOST_CC:Q} \
CC=${CC:Q}' '${CCADDFLAGS:Q} \
CXX=${CXX:Q}' '${CCADDFLAGS:Q} \
CPP=${CPP:Q}' '-I${DESTDIR}/usr/include \
CFLAGS= CPPFLAGS= CXXFLAGS= LDFLAGS= \
MSGFMT=${TOOLDIR}/bin/${_TOOL_PREFIX}msgfmt \
XGETTEXT=${TOOLDIR}/bin/${_TOOL_PREFIX}xgettext \
LIBS=-lintl \
ac_cv_prog_cc_cross=yes \
ac_cv_func_strcoll_works=yes \
${HOST_SH} ${GNUHOSTDIST}/configure \
--build=`${GNUHOSTDIST}/config.guess` \
--host=${MACHINE_GNU_PLATFORM} \
--target=${MACHINE_GNU_PLATFORM} \
${BRANDING} \
)
PATH=${TOOLDIR}/bin:$$PATH; export PATH; \
(cd .native && ${MAKE} configure-host)
PATH=${TOOLDIR}/bin:$$PATH; export PATH; \
(cd .native/bfd && ${MAKE} bfd.h bfdver.h)
PATH=${TOOLDIR}/bin:$$PATH; export PATH; \
(cd .native/ld && ${MAKE} ldemul-list.h)
@touch $@
clean: clean.native
clean.native:
-rm -r -f .native