head 1.10; access; symbols othersrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.10 date 2002.11.23.22.28.08; author jdolecek; state dead; branches; next 1.9; 1.9 date 2001.05.09.08.27.43; author garbled; state Exp; branches; next 1.8; 1.8 date 2000.11.14.05.59.10; author thorpej; state Exp; branches; next 1.7; 1.7 date 2000.11.09.06.34.38; author thorpej; state Exp; branches; next 1.6; 1.6 date 2000.11.08.23.05.56; author soren; state Exp; branches; next 1.5; 1.5 date 2000.11.08.22.40.12; author soren; state Exp; branches; next 1.4; 1.4 date 2000.11.05.06.53.16; author garbled; state Exp; branches; next 1.3; 1.3 date 2000.07.31.23.11.54; author garbled; state Exp; branches; next 1.2; 1.2 date 2000.07.30.08.15.52; author garbled; state Exp; branches; next 1.1; 1.1 date 2000.07.29.08.26.26; author garbled; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2000.07.29.08.26.26; author garbled; state Exp; branches; next ; desc @@ 1.10 log @g/c, obsoleted by build.sh @ text @#! /bin/sh # $NetBSD: cross.sh,v 1.9 2001/05/09 08:27:43 garbled Exp $ # Copyright (c) 2000 The NetBSD Foundation, Inc. # All rights reserved. # # This code is derived from software contributed to The NetBSD Foundation # by Bill Sommerfeld and Tim Rightnour # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by the NetBSD # Foundation, Inc. and its contributors. # 4. Neither the name of The NetBSD Foundation nor the names of its # contributors may be used to endorse or promote products derived # from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # # cross-compilation fun DOUPDATE=no PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/X11R6/bin:/usr/pkg/bin export PATH ROOT=`/bin/pwd` if [ -f ${ROOT}/cross-is-running ]; then echo "A crosscompile is allready running in ${ROOT}. Aborting" exit 1 else touch ${ROOT}/cross-is-running trap "rm -f ${ROOT}/cross-is-running" 0 fi vnconfig -u vnd0 BSDSRCDIR=${ROOT}/src args=`getopt utgsd: $*` if test $? != 0 then echo 'Usage: ...' exit 2 fi set -- $args for i do case "$i" in -t) SKIPTOOLS=yes; shift ;; -d) SUBDIR=$2; shift; shift ;; -u) DOUPDATE=yes; shift ;; -s) SKIPSUP=yes; shift ;; -g) SKIPGAMES=yes; shift ;; --) shift; break;; esac done # begin anoncvs update if [ -z "$SKIPSUP" ]; then CVSROOT=:pserver:anoncvs@@anoncvs.netbsd.org:/cvsroot export CVSROOT if [ ! -f ${BSDSRCDIR}/Makefile ]; then cvs checkout -P src else cvs update -dPA src | grep -v 'cvs server: Updating' fi fi HOST_ARCH=$(uname -m) TA_ARCH=${1-${HOST_ARCH}} TARGET_MACHINE=$2 # XXX type gmake if [ "$?" != "0" ]; then echo "You need to have gmake installed and in your PATH in order" echo "to bootstrap build make. Please install the devel/gmake" echo "package and rerun the cross-script." exit 1 fi if [ -z "$TARGET_MACHINE" -o -z "$TA_ARCH" ]; then echo "You must supply a target machine and arch on the command" echo "line to continue. Example:" echo "cross.sh powerpc prep" exit 1 fi # phase 0.. cross-build make.. dammit. echo "BEGIN: Phase 0, build make" BSDSRCDIR=${ROOT}/src CROSS=cross-${HOST_ARCH}-to-${TA_ARCH} DESTDIR=${ROOT}/${TARGET_MACHINE}/tools BSDOBJDIR=${ROOT}/${TARGET_MACHINE}/tools/obj export MAKECONF=${ROOT}/${TARGET_MACHINE}/Makeconf MAKEDIR=${BSDSRCDIR}/share/mk mkdir -p ${DESTDIR} mkdir -p ${DESTDIR}/usr/bin mkdir -p ${DESTDIR}/usr/sbin mkdir -p ${DESTDIR}/usr/libexec mkdir -p ${DESTDIR}/usr/share/doc/psd/12.make mkdir -p ${DESTDIR}/usr/share/info mkdir -p ${DESTDIR}/usr/share/misc mkdir -p ${DESTDIR}/usr/share/ldscripts mkdir -p ${DESTDIR}/usr/share/man/man1 mkdir -p ${DESTDIR}/usr/libdata/lint mkdir -p ${DESTDIR}/usr/lib mkdir -p ${BSDOBJDIR} BLDUSER=$(id -u -n) BLDGROUP=$(id -g -n) MAKE="gmake -m ${MAKEDIR}" cd ${BSDSRCDIR} TOOLDIRS="usr.bin/make" # static-link the cross-tools just to avoid lossage. cat << EOF > ${MAKECONF} TA_ARCH=${TA_ARCH} MACHINE_ARCH=${TA_ARCH} MACHINE=${TARGET_MACHINE} BSDSRCDIR=${BSDSRCDIR} BSDOBJDIR=${BSDOBJDIR} OBJMACHINE=1 # USROBJMACHINE=1 MKLINKLIB=yes MKPROFILE=no MKLINT=no MKPIC=no MKMAN=no MKINFO=no LIBCRTBEGIN=${LIBCRTBEGIN} LIBCRTEND=${LIBCRTEND} BINOWN=${BLDUSER} BINGRP=${BLDGROUP} DOCOWN=${BLDUSER} DOCGRP=${BLDGROUP} INFOOWN=${BLDUSER} INFOGRP=${BLDGROUP} LIBOWN=${BLDUSER} LIBGRP=${BLDGROUP} MANOWN=${BLDUSER} MANGRP=${BLDGROUP} EOF if [ -z "$BUILDAOUT" ]; then cat << EOF >> ${MAKECONF} BOOTSTRAP_ELF=1 EOF fi export MAKEOBJDIR=xobj.${TARGET_MACHINE} if [ -z "$SKIPTOOLS" ] then for subdir in ${TOOLDIRS} do ((cd ${subdir} unset DESTDIR for target in clean bmake do echo "BUILDING $target in $subdir" pwd MACHINE_ARCH=${TA_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} -f Makefile.boot ${target} || exit 1 done) && (cd ${subdir} for target in install do # MACHINE_ARCH=${TA_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} \ # DESTDIR=${DESTDIR} ${target} || exit 1 cp bmake ${DESTDIR}/usr/bin/make done)) || exit 1 done fi echo "Rebuilding MAKE with make" BSDSRCDIR=${ROOT}/src CROSS=cross-${HOST_ARCH}-to-${TA_ARCH} DESTDIR=${ROOT}/${TARGET_MACHINE}/tools BSDOBJDIR=${ROOT}/${TARGET_MACHINE}/tools/obj export MAKECONF=${ROOT}/${TARGET_MACHINE}/Makeconf MAKEDIR=${BSDSRCDIR}/share/mk mkdir -p ${DESTDIR} mkdir -p ${DESTDIR}/usr/bin mkdir -p ${DESTDIR}/usr/sbin mkdir -p ${DESTDIR}/usr/libexec mkdir -p ${DESTDIR}/usr/share/doc/psd/12.make mkdir -p ${DESTDIR}/usr/share/info mkdir -p ${DESTDIR}/usr/share/misc mkdir -p ${DESTDIR}/usr/share/ldscripts mkdir -p ${DESTDIR}/usr/share/man/man1 mkdir -p ${DESTDIR}/usr/libdata/lint mkdir -p ${DESTDIR}/usr/lib mkdir -p ${BSDOBJDIR} BLDUSER=$(id -u -n) BLDGROUP=$(id -g -n) MAKE="${DESTDIR}/usr/bin/make -m ${MAKEDIR}" export MAKE cd ${BSDSRCDIR} TOOLDIRS="usr.bin/make" # static-link the cross-tools just to avoid lossage. cat << EOF > ${MAKECONF} TA_ARCH=${TA_ARCH} MACHINE_ARCH=${TA_ARCH} MACHINE=${TARGET_MACHINE} BSDSRCDIR=${BSDSRCDIR} BSDOBJDIR=${BSDOBJDIR} OBJMACHINE=1 # USROBJMACHINE=1 MKLINKLIB=yes MKPROFILE=no MKLINT=no MKPIC=no MKMAN=no MKINFO=no LIBCRTBEGIN=${LIBCRTBEGIN} LIBCRTEND=${LIBCRTEND} BINOWN=${BLDUSER} BINGRP=${BLDGROUP} DOCOWN=${BLDUSER} DOCGRP=${BLDGROUP} INFOOWN=${BLDUSER} INFOGRP=${BLDGROUP} LIBOWN=${BLDUSER} LIBGRP=${BLDGROUP} MANOWN=${BLDUSER} MANGRP=${BLDGROUP} EOF if [ -z "$BUILDAOUT" ]; then cat << EOF >> ${MAKECONF} BOOTSTRAP_ELF=1 EOF fi export MAKEOBJDIR=xobj.${TARGET_MACHINE} if [ -z "$SKIPTOOLS" ] then for subdir in ${TOOLDIRS} do (cd ${subdir} unset DESTDIR MACHINE_ARCH=${TA_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} obj ) done for subdir in ${TOOLDIRS} do ((cd ${subdir} unset DESTDIR for target in cleandir depend all do echo "BUILDING $target in $subdir" MACHINE_ARCH=${TA_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} ${target} || exit 1 done) && (cd ${subdir} for target in install do MACHINE_ARCH=${TA_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} \ DESTDIR=${DESTDIR} ${target} || exit 1 done)) || exit 1 done fi # phase 1: build cross-tools echo "BUILDING BEGIN: Stage 1" BLDUSER=$(id -u -n) BLDGROUP=$(id -g -n) MAKE="${DESTDIR}/usr/bin/make -m ${MAKEDIR}" export MAKE cd ${BSDSRCDIR} AS=gas.new LD=ld.new #TOOLDIRS=gnu/lib/libbfd gnu/usr.bin/${AS} gnu/usr.bin/${LD} gnu/usr.bin/gcc TOOLDIRS="usr.bin/make gnu/lib/libbfd gnu/usr.bin/${AS} gnu/usr.bin/${LD} gnu/usr.bin/egcs gnu/usr.bin/binutils usr.bin/xinstall usr.sbin/config usr.bin/rpcgen usr.bin/menuc usr.bin/msgc usr.bin/xlint lib/libvers usr.bin/compile_et usr.bin/crunch/crunchgen" # static-link the cross-tools just to avoid lossage. cat << EOF > ${MAKECONF} TA_ARCH=${TA_ARCH} MACHINE_ARCH=${TA_ARCH} MACHINE=${TARGET_MACHINE} COMPILER_EXEC_PREFIX=${ROOT}/${TARGET_MACHINE}/tools BSDSRCDIR=${BSDSRCDIR} BSDOBJDIR=${BSDOBJDIR} OBJMACHINE=1 # USROBJMACHINE=1 BOOTSTRAP_ELF=1 MKLINKLIB=yes MKPROFILE=no MKLINT=no MKPIC=no MKMAN=no MKINFO=no LIBCRTBEGIN=${LIBCRTBEGIN} LIBCRTEND=${LIBCRTEND} BINOWN=${BLDUSER} BINGRP=${BLDGROUP} DOCOWN=${BLDUSER} DOCGRP=${BLDGROUP} INFOOWN=${BLDUSER} INFOGRP=${BLDGROUP} LIBOWN=${BLDUSER} LIBGRP=${BLDGROUP} MANOWN=${BLDUSER} MANGRP=${BLDGROUP} NOGCCERROR=yes # Some cross toolchains make alot of noise EOF export MAKEOBJDIR=xobj.${TARGET_MACHINE} if [ -z "$SKIPTOOLS" ] then for subdir in ${TOOLDIRS} do (cd ${subdir} unset DESTDIR MACHINE_ARCH=${TA_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} obj ) done for subdir in ${TOOLDIRS} do ((cd ${subdir} unset DESTDIR for target in cleandir depend all do echo BUILDING $target in $subdir MACHINE_ARCH=${TA_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} ${target} || exit 1 done) && (cd ${subdir} for target in install do MACHINE_ARCH=${TA_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} \ DESTDIR=${DESTDIR} ${target} || exit 1 done)) || exit 1 done fi # phase 2: cross-build the world.. echo "BUILDING BEGIN: Stage 2" unset MAKEOBJDIR TOOLDIR=${ROOT}/${TARGET_MACHINE}/tools DESTDIR=${ROOT}/${TARGET_MACHINE}/root RELEASEDIR=${ROOT}/${TARGET_MACHINE}/release BSDOBJDIR=${ROOT}/${TARGET_MACHINE}/obj MAKE="${TOOLDIR}/usr/bin/make -m ${MAKEDIR}" export MAKE mkdir -p ${DESTDIR} mkdir -p ${RELEASEDIR} mkdir -p ${BSDOBJDIR} cp ${TOOLDIR}/usr/bin/as ${TOOLDIR}/usr/libexec/ cp ${TOOLDIR}/usr/bin/ld ${TOOLDIR}/usr/libexec/ cat << EOF > ${MAKECONF} AR=${TOOLDIR}/usr/bin/ar AS=${TOOLDIR}/usr/bin/as CC=${TOOLDIR}/usr/bin/cc -B${TOOLDIR}/usr/libexec/ CPP=${TOOLDIR}/usr/bin/cpp -B${TOOLDIR}/usr/libexec/ CXX=${TOOLDIR}/usr/bin/c++ -B${TOOLDIR}/usr/libexec/ FC=${TOOLDIR}/usr/bin/f77 -B${TOOLDIR}/usr/libexec/ LD=${TOOLDIR}/usr/bin/ld LDFLAGS+=-nostdlib NM=${TOOLDIR}/usr/bin/nm OBJCOPY=${TOOLDIR}/usr/bin/objcopy OBJDUMP=${TOOLDIR}/usr/bin/objdump RANLIB=${TOOLDIR}/usr/bin/ranlib MENUC=${TOOLDIR}/usr/bin/menuc MSGC=${TOOLDIR}/usr/bin/msgc SIZE=${TOOLDIR}/usr/bin/size STRINGS=${TOOLDIR}/usr/bin/strings STRIP=${TOOLDIR}/usr/bin/strip CONFIG=${TOOLDIR}/usr/sbin/config RPCGEN=${TOOLDIR}/usr/bin/rpcgen LINT=${TOOLDIR}/usr/bin/lint LINTFLAGS+= -B${TOOLDIR}/usr/libexec -L${DESTDIR}/usr/libdata/lint COMPILE_ET=${TOOLDIR}/usr/bin/compile_et CRUNCHGEN=${TOOLDIR}/usr/bin/crunchgen TA_ARCH=${TA_ARCH} MACHINE_ARCH=${TA_ARCH} MACHINE=${TARGET_MACHINE} BSDSRCDIR=${BSDSRCDIR} BSDOBJDIR=${BSDOBJDIR} OBJMACHINE=1 # USROBJMACHINE=1 DESTDIR=${DESTDIR} OBJECT_FMT=ELF MAKEDIR=${BSDSRCDIR}/share/mk MAKE=${TOOLDIR}/usr/bin/make -m ${MAKEDIR} MKCRYPTO=yes KERBEROS=yes KERBEROS5=yes EOF case ${BLDUSER} in root) ;; *) cat <>${MAKECONF} INSTALL=${TOOLDIR}/usr/bin/install -U USER_INSTALL=1 EOF ;; esac cd ${BSDSRCDIR} export STRIP=${TOOLDIR}/usr/bin/strip export CC=${TOOLDIR}/usr/bin/cc export MACHINE_ARCH=${TA_ARCH} MACHINE=${TARGET_MACHINE} #menuc msgc export MENUDEF=${TOOLDIR}/usr/share/misc export MSGDEF=${TOOLDIR}/usr/share/misc export CRUNCHGEN=${TOOLDIR}/usr/bin/crunchgen export DESTDIR if [ "$SKIPGAMES" = "yes" ]; then mv ${BSDSRCDIR}/games ${BSDSRCDIR}/nogames fi if [ ! -z "$SUBDIR" ] then cd $SUBDIR case $DOUPDATE in no) ${MAKE} cleandir && rmdir obj.${TARGET_MACHINE} && ${MAKE} cleandir && ${MAKE} obj && ${MAKE} cleandir ${MAKE} includes && ${MAKE} depend ;; yes) ;; esac ${MAKE} all else case $DOUPDATE in no) ${MAKE} cleandir && ${MAKE} obj && ${MAKE} beforeinstall && ${MAKE} includes && (cd ${BSDSRCDIR}/lib/csu && ${MAKE} && ${MAKE} install) && (cd ${BSDSRCDIR}/lib/libc && ${MAKE} && ${MAKE} install) && (cd ${BSDSRCDIR}/lib/libintl && ${MAKE} && ${MAKE} install) && ${MAKE} build && cd etc && ${MAKE} release RELEASEDIR=${RELEASEDIR} ;; yes) # ${MAKE} obj && ${MAKE} build UPDATE=1 ;; esac fi if [ "$SKIPGAMES" = "yes" ]; then mv ${BSDSRCDIR}/nogames ${BSDSRCDIR}/games fi @ 1.9 log @Deal with users not providing proper input better, and add lib/libvers from Rafal Boni. This fixes it up to the point where it bombs building the magic database. @ text @d2 1 a2 1 # $NetBSD: cross.sh,v 1.8 2000/11/14 05:59:10 thorpej Exp $ @ 1.8 log @STRIPPPROG -> STRIP @ text @d2 1 a2 1 # $NetBSD: cross.sh,v 1.7 2000/11/09 06:34:38 thorpej Exp $ d94 1 a94 1 cvs checkout -P src-crypto-all d104 15 d322 1 a322 1 TOOLDIRS="usr.bin/make gnu/lib/libbfd gnu/usr.bin/${AS} gnu/usr.bin/${LD} gnu/usr.bin/egcs gnu/usr.bin/binutils usr.bin/xinstall usr.sbin/config usr.bin/rpcgen usr.bin/menuc usr.bin/msgc usr.bin/xlint usr.bin/compile_et usr.bin/crunch/crunchgen" d353 1 d467 1 @ 1.7 log @Set COMPILER_EXEC_PREFIX so that the compiler gets the correct C pre-processor. Cross-building for MIPS seems to work now. Also, use /bin/pwd to determine the "root". @ text @d2 1 a2 1 # $NetBSD: cross.sh,v 1.6 2000/11/08 23:05:56 soren Exp $ d408 1 a408 1 STRIPPROG=${TOOLDIR}/usr/bin/strip @ 1.6 log @s/sup/anoncvs/ in comment. @ text @d2 1 a2 1 # $NetBSD: cross.sh,v 1.5 2000/11/08 22:40:12 soren Exp $ d43 1 a43 3 # XXX You will need to edit the line below! ROOT=/build # XXX d314 1 @ 1.5 log @crypto-us is gone. @ text @d2 1 a2 1 # $NetBSD: cross.sh,v 1.4 2000/11/05 06:53:16 garbled Exp $ d91 1 a91 1 # begin sup pull @ 1.4 log @Lots of changes: fix TARGET_ARCH problems on mips. build libintl after libc. make crunchgen a crosstool. Other minor nits, get rid of the -o cruft now that it's not needed. Feel free to try this out and commit fixes! @ text @d2 1 a2 1 # $NetBSD: cross.sh,v 1.3 2000/07/31 23:11:54 garbled Exp $ d309 1 a309 1 TOOLDIRS="usr.bin/make gnu/lib/libbfd gnu/usr.bin/${AS} gnu/usr.bin/${LD} gnu/usr.bin/egcs gnu/usr.bin/binutils usr.bin/xinstall usr.sbin/config usr.bin/rpcgen usr.bin/menuc usr.bin/msgc usr.bin/xlint crypto-us/usr.bin/compile_et usr.bin/crunch/crunchgen" @ 1.3 log @Add ${RPCGEN} (how did I forget that?) and MKCRYPTO=yes @ text @d2 1 a2 1 # $NetBSD$ a39 1 vnconfig -u vnd0 d47 9 d58 1 a58 1 args=`getopt outgsd: $*` a68 3 -o) ONEBUILD=yes; shift ;; d82 1 a82 1 DOGAMES=yes; shift d84 2 a85 4 # -o) # oarg=$2; shift; shift;; --) shift; break;; d103 1 a103 1 TARGET_ARCH=${1-${HOST_ARCH}} d111 1 a111 1 CROSS=cross-${HOST_ARCH}-to-${TARGET_ARCH} d141 2 a142 2 TARGET_ARCH=${TARGET_ARCH} MACHINE_ARCH=${TARGET_ARCH} a179 7 (cd ${subdir} unset DESTDIR MACHINE_ARCH=${TARGET_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} -f Makefile.boot obj ) done for subdir in ${TOOLDIRS} do d186 1 a186 1 MACHINE_ARCH=${TARGET_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} -f Makefile.boot ${target} || exit 1 d191 1 a191 1 # MACHINE_ARCH=${TARGET_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} \ d201 1 a201 1 CROSS=cross-${HOST_ARCH}-to-${TARGET_ARCH} d224 1 d232 2 a233 2 TARGET_ARCH=${TARGET_ARCH} MACHINE_ARCH=${TARGET_ARCH} d273 1 a273 1 MACHINE_ARCH=${TARGET_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} obj ) d283 1 a283 1 MACHINE_ARCH=${TARGET_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} ${target} || exit 1 d288 1 a288 1 MACHINE_ARCH=${TARGET_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} \ d302 1 d309 1 a309 1 TOOLDIRS="usr.bin/make gnu/lib/libbfd gnu/usr.bin/${AS} gnu/usr.bin/${LD} gnu/usr.bin/egcs gnu/usr.bin/binutils usr.bin/xinstall usr.sbin/config usr.bin/rpcgen usr.bin/menuc usr.bin/msgc usr.bin/xlint crypto-us/usr.bin/compile_et" d313 2 a314 2 TARGET_ARCH=${TARGET_ARCH} MACHINE_ARCH=${TARGET_ARCH} d349 1 a349 1 MACHINE_ARCH=${TARGET_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} obj ) d359 1 a359 1 MACHINE_ARCH=${TARGET_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} ${target} || exit 1 d364 1 a364 1 MACHINE_ARCH=${TARGET_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} \ d383 1 d415 1 d417 2 a418 2 TARGET_ARCH=${TARGET_ARCH} MACHINE_ARCH=${TARGET_ARCH} d447 1 a447 1 export MACHINE_ARCH=${TARGET_ARCH} MACHINE=${TARGET_MACHINE} d451 1 d453 1 a453 1 if [ -z "$DOGAMES" ]; then d481 1 d492 1 a492 1 if [ -z "$DOGAMES" ]; then a493 66 fi # do we perform the anti-crypto build? if [ ! -z "$ONEBUILD" ]; then exit 0 fi # phase 3: lameass crypto setup. echo "BUILDING BEGIN: Stage 3" cat << EOF > ${MAKECONF} AR=${TOOLDIR}/usr/bin/ar AS=${TOOLDIR}/usr/bin/as CC=${TOOLDIR}/usr/bin/cc -B${TOOLDIR}/usr/libexec/ CPP=${TOOLDIR}/usr/bin/cpp -B${TOOLDIR}/usr/libexec/ CXX=${TOOLDIR}/usr/bin/c++ -B${TOOLDIR}/usr/libexec/ FC=${TOOLDIR}/usr/bin/f77 -B${TOOLDIR}/usr/libexec/ LD=${TOOLDIR}/usr/bin/ld NM=${TOOLDIR}/usr/bin/nm OBJCOPY=${TOOLDIR}/usr/bin/objcopy OBJDUMP=${TOOLDIR}/usr/bin/objdump RANLIB=${TOOLDIR}/usr/bin/ranlib MENUC=${TOOLDIR}/usr/bin/menuc MSGC=${TOOLDIR}/usr/bin/msgc SIZE=${TOOLDIR}/usr/bin/size STRINGS=${TOOLDIR}/usr/bin/strings STRIPPROG=${TOOLDIR}/usr/bin/strip INSTALL=${TOOLDIR}/usr/bin/install CONFIG=${TOOLDIR}/usr/sbin/config LINT=${TOOLDIR}/usr/bin/lint LINTFLAGS+= -B${TOOLDIR}/usr/libexec -L${DESTDIR}/usr/libdata/lint COMPILE_ET=${TOOLDIR}/usr/bin/compile_et TARGET_ARCH=${TARGET_ARCH} MACHINE_ARCH=${TARGET_ARCH} MACHINE=${TARGET_MACHINE} BSDSRCDIR=${BSDSRCDIR} BSDOBJDIR=${BSDOBJDIR} OBJMACHINE=1 # USROBJMACHINE=1 DESTDIR=${DESTDIR} OBJECT_FMT=ELF MAKEDIR=${BSDSRCDIR}/share/mk MAKE=${TOOLDIR}/usr/bin/make -m ${MAKEDIR} KERBEROS=no KERBEROS5=no CRYPTOBASE=none EOF cd ${BSDSRCDIR} if [ ! -z "$SUBDIR" ] then cd $SUBDIR ${MAKE} cleandir && rmdir obj.${TARGET_MACHINE} && ${MAKE} cleandir && ${MAKE} obj && ${MAKE} cleandir ${MAKE} includes && ${MAKE} depend ${MAKE} all else ${MAKE} cleandir && ${MAKE} obj && ${MAKE} build && cd etc && ${MAKE} release RELEASEDIR=${RELEASEDIR} @ 1.2 log @Fix a bug in the cross scripts. I accidentally imported an older version that was hiding somewhere.. I guess this kinda gives a bit more revision history to it though. ;) @ text @d95 1 a95 1 cvs update -dPA src d412 1 d428 1 @ 1.1 log @Initial revision @ text @d100 1 a100 1 TA_ARCH=${1-${HOST_ARCH}} d103 3 d107 2 a108 2 # phase 0.. cross-build make.. dammit. CROSS=cross-${HOST_ARCH}-to-${TA_ARCH} d130 1 a130 1 MAKE="make -m ${MAKEDIR}" a133 3 AS=gas.new LD=ld.new #TOOLDIRS=gnu/lib/libbfd gnu/usr.bin/${AS} gnu/usr.bin/${LD} gnu/usr.bin/gcc d138 2 a139 2 TA_ARCH=${TA_ARCH} MACHINE_ARCH=${TA_ARCH} d145 22 a166 1 NOGCCERROR=1 d168 74 d262 6 d276 1 a276 1 MACHINE_ARCH=${TA_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} obj ) d286 1 a286 1 MACHINE_ARCH=${TA_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} ${target} || exit 1 d291 1 a291 1 MACHINE_ARCH=${TA_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} \ d296 1 d315 2 a316 2 TA_ARCH=${TA_ARCH} MACHINE_ARCH=${TA_ARCH} d351 1 a351 1 MACHINE_ARCH=${TA_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} obj ) d361 1 a361 1 MACHINE_ARCH=${TA_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} ${target} || exit 1 d366 1 a366 1 MACHINE_ARCH=${TA_ARCH} MACHINE=${TARGET_MACHINE} ${MAKE} \ d416 2 a417 2 TA_ARCH=${TA_ARCH} MACHINE_ARCH=${TA_ARCH} d445 1 a445 1 export MACHINE_ARCH=${TA_ARCH} MACHINE=${TARGET_MACHINE} d524 2 a525 2 TA_ARCH=${TA_ARCH} MACHINE_ARCH=${TA_ARCH} @ 1.1.1.1 log @Add my and Bill Sommerfeld's cross-compiling scripts to othersrc. It will likely never be beautiful enough for the main tree, and in the meantime, is still extremely useful. The documentation for this currently resides in the README file. Please feel free to use, expand, clean up, and otherwise better this code. @ text @@