diff options
Diffstat (limited to 'bootstrap')
-rwxr-xr-x | bootstrap/bootstrap | 99 |
1 files changed, 75 insertions, 24 deletions
diff --git a/bootstrap/bootstrap b/bootstrap/bootstrap index 32ea30be397..cf2c8ddd03f 100755 --- a/bootstrap/bootstrap +++ b/bootstrap/bootstrap @@ -1,6 +1,6 @@ #! /bin/sh -# $NetBSD: bootstrap,v 1.32 2005/03/08 15:43:10 tv Exp $ +# $NetBSD: bootstrap,v 1.33 2005/04/10 21:54:13 jschauma Exp $ # # # Copyright (c) 2001-2002 Alistair G. Crooks. All rights reserved. @@ -35,7 +35,7 @@ # #set -x -BOOTSTRAP_VERSION=20041008 +BOOTSTRAP_VERSION=20050410 # set defaults for system locations prefix=/usr/pkg @@ -45,18 +45,21 @@ sysconfdir=${prefix}/etc ignorecasecheck=no ignoreusercheck=no +preserve_path=no + # where the building takes place wrkdir=work # default: relative to pkgsrc/bootstrap bootstrapdir=`pwd` pkgsrcdir=`dirname $bootstrapdir` usage="Usage: $0 "' - [ --workdir=<workdir> ] - [ --prefix=<prefix> ] - [ --pkgdbdir=<pkgdbdir> ] - [ --sysconfdir=<sysconfdir> ] + [ --workdir <workdir> ] + [ --prefix <prefix> ] + [ --pkgdbdir <pkgdbdir> ] + [ --sysconfdir <sysconfdir> ] [ --ignore-case-check ] [ --ignore-user-check ] + [ --preserve-path ] [ --help ]' # this replicates some of the logic in bsd.prefs.mk. until @@ -77,6 +80,34 @@ echo_msg() echo "===> $@" } +# see if we're using gcc. If so, set $compiler_is_gnu to '1'. +get_compiler() +{ + testcc="${CC}" + # normally, we'd just use 'cc', but certain configure tools look + # for gcc specifically, so we have to see if that comes first + if [ -z "${testcc}" ]; then + save_IFS="${IFS}" + IFS=':' + for dir in ${PATH}; do + test -z "$dir" && dir=. + if [ -x "$dir/gcc" ]; then + testcc="$dir/gcc" + break + fi + done + IFS="${save_IFS}" + fi + + cat >${wrkdir}/$$.c <<EOF +#ifdef __GNUC__ +indeed +#endif +EOF + compiler_is_gnu=`${testcc:-cc} -E ${wrkdir}/$$.c 2>/dev/null | grep -c indeed` + rm -f ${wrkdir}/$$.c + +} get_abi() { abi_opsys=$@ @@ -198,8 +229,25 @@ build_start=`date` echo_msg "bootstrap command: $0 $@" echo_msg "bootstrap started: $build_start" -if [ "x${PRESERVE_PATH}" != "xyes" ]; then - PATH="${PATH}:/sbin:/usr/sbin" +while [ $# -gt 0 ]; do + case $1 in + --workdir) wrkdir="$2"; shift ;; + --prefix) prefix="$2"; shift; + sysconfdir=${prefix}/etc ;; + --pkgdbdir) pkgdbdir="$2"; shift ;; + --sysconfdir) sysconfdir="$2"; shift ;; + --ignore-case-check) ignorecasecheck=yes ;; + --ignore-user-check) ignoreusercheck=yes ;; + --preserve-path) preserve_path=yes ;; + --help) echo "$usage"; exit ;; + -h) echo "$usage"; exit ;; + --*) echo "$usage"; exit 1 ;; + esac + shift +done + +if [ "x$preserve_path" != "xyes" ]; then + PATH="$PATH:/sbin:/usr/sbin" fi overpath="" @@ -260,6 +308,7 @@ IRIX*) need_sed=yes set_opsys=yes machine_arch=mipseb + check_compiler=yes ;; Linux) if [ -f /etc/debian_version ]; then @@ -383,7 +432,7 @@ if [ "${machine_arch}" != "" ]; then export MACHINE_ARCH fi -if [ "x${PRESERVE_PATH}" != "xyes" ]; then +if [ "x$preserve_path" != "xyes" ]; then PATH="$overpath:$PATH" fi @@ -398,21 +447,6 @@ check_prog sedprog sed check_prog shprog sh check_prog whoamiprog whoami -while [ $# -gt 0 ]; do - case $1 in - --workdir=*) wrkdir=`echo $1 | $sedprog -e 's|--workdir=||'` ;; - --prefix=*) prefix=`echo $1 | $sedprog -e 's|--prefix=||'` - sysconfdir=${prefix}/etc ;; - --pkgdbdir=*) pkgdbdir=`echo $1 | $sedprog -e 's|--pkgdbdir=||'` ;; - --sysconfdir=*) sysconfdir=`echo $1 | $sedprog -e 's|--sysconfdir=||'`;; - --ignore-case-check) ignorecasecheck=yes ;; - --ignore-user-check) ignoreusercheck=yes ;; - --help) echo "$usage"; exit ;; - -h) echo "$usage"; exit ;; - --*) echo "$usage"; exit 1 ;; - esac - shift -done if [ ! -d ${wrkdir} ]; then if mkdir ${wrkdir}; then @@ -430,6 +464,19 @@ else fi echo "Working directory is: ${wrkdir}" +if [ x"$check_compiler" = x"yes" ]; then + get_compiler + if [ $compiler_is_gnu -gt 0 ]; then + compiler="gcc" + else + case "$opsys" in + IRIX) + compiler="mipspro" + ;; + esac + fi +fi + if [ ! -x ${wrkdir}/install-sh ]; then run_cmd "$sedprog -e 's|@DEFAULT_INSTALL_MODE@|'${default_install_mode-0755}'|' files/install-sh.in > $wrkdir/install-sh" run_cmd "$chmodprog +x $wrkdir/install-sh" @@ -507,6 +554,10 @@ fi if [ ! -z "$abi" ]; then echo "ABI=$abi" >> ${MKCONF_EXAMPLE} fi +if [ ! -z "$compiler" ]; then + echo "PKGSRC_COMPILER=$compiler" >> ${MKCONF_EXAMPLE} +fi + # save environment in example mk.conf echo "PKG_DBDIR=$pkgdbdir" >> ${MKCONF_EXAMPLE} |