Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/build.sh,v rcsdiff: /ftp/cvs/cvsroot/src/build.sh,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.198.2.1 retrieving revision 1.198.2.3 diff -u -p -r1.198.2.1 -r1.198.2.3 --- src/build.sh 2009/01/09 02:04:43 1.198.2.1 +++ src/build.sh 2009/03/18 05:39:06 1.198.2.3 @@ -1,5 +1,5 @@ #! /usr/bin/env sh -# $NetBSD: build.sh,v 1.198.2.1 2009/01/09 02:04:43 snj Exp $ +# $NetBSD: build.sh,v 1.198.2.3 2009/03/18 05:39:06 snj Exp $ # # Copyright (c) 2001-2008 The NetBSD Foundation, Inc. # All rights reserved. @@ -163,14 +163,23 @@ initdefaults() [ -f share/mk/bsd.own.mk ] || bomb "src/share/mk is missing; please re-fetch the source tree" - # Find information about the build platform. Note that "uname -p" - # is not part of POSIX, but NetBSD's uname -p prints MACHINE_ARCH, - # while uname -m prints MACHINE. + # Find information about the build platform. This should be + # kept in sync with _HOST_OSNAME, _HOST_OSREL, and _HOST_ARCH + # variables in share/mk/bsd.sys.mk. + # + # Note that "uname -p" is not part of POSIX, but we want uname_p + # to be set to the host MACHINE_ARCH, if possible. On systems + # where "uname -p" fails, prints "unknown", or prints a string + # that does not look like an identifier, fall back to using the + # output from "uname -m" instead. # uname_s=$(uname -s 2>/dev/null) uname_r=$(uname -r 2>/dev/null) uname_m=$(uname -m 2>/dev/null) - uname_p=$(uname -p 2>/dev/null || uname -m 2>/dev/null) + uname_p=$(uname -p 2>/dev/null || echo "unknown") + case "${uname_p}" in + ''|unknown|*[^-_A-Za-z0-9]*) uname_p="${uname_m}" ;; + esac # If $PWD is a valid name of the current directory, POSIX mandates # that pwd return it by default which causes problems in the @@ -1200,7 +1209,7 @@ createmakewrapper() eval cat <