2001-02-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>

* configure.in: Reworked for Canadian Cross support.
	* Makefile.am: Reflect changes to configure.in.
	* config.guess, config.sub: Update from subversions.gnu.org.
	* README.cdn-X: New file.
	* tools/Makefile.am: Remove build, tools from SUBDIRS.
This commit is contained in:
Joel Sherrill
2001-03-01 20:46:21 +00:00
parent b50b3c841a
commit 48ad47cc70
10 changed files with 431 additions and 391 deletions

View File

@@ -1,3 +1,11 @@
2001-02-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.in: Reworked for Canadian Cross support.
* Makefile.am: Reflect changes to configure.in.
* config.guess, config.sub: Update from subversions.gnu.org.
* README.cdn-X: New file.
* tools/Makefile.am: Remove build, tools from SUBDIRS.
2001-02-20 Ralf Corsepius <corsepiu@faw.uni-ulm.de> 2001-02-20 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* aclocal/config-subdirs.m4: Let CC default to $host_alias-gcc in * aclocal/config-subdirs.m4: Let CC default to $host_alias-gcc in

View File

@@ -9,7 +9,7 @@
AUTOMAKE_OPTIONS = foreign 1.4 AUTOMAKE_OPTIONS = foreign 1.4
ACLOCAL_AMFLAGS = -I aclocal ACLOCAL_AMFLAGS = -I aclocal
SUBDIRS = doc make tools $(HOST_SUBDIRS) $(TARGET_SUBDIRS) SUBDIRS = doc make tools $(BUILD_SUBDIRS) $(TARGET_SUBDIRS)
AUTOMAKE_FILES = automake/compile.am automake/host.am automake/lib.am \ AUTOMAKE_FILES = automake/compile.am automake/host.am automake/lib.am \
automake/local.am automake/multilib.am automake/subdirs.am automake/local.am automake/multilib.am automake/subdirs.am

78
README.cdn-X Normal file
View File

@@ -0,0 +1,78 @@
Building RTEMS Canadian Cross
=============================
RTEMS now contains experimental and yet incomplete support for building
it Canadian Cross.
1. Introduction
---------------
If you don't know what Canadian Cross Building means, you probably don't want
to apply it and should consider stop reading here.
Interested readers might want to read Ian Lance Taylor's article at
http://www.airs.com/ian/configure for underlaying details and working
principles.
2. RTEMS
--------
Example: Building RTEMS for sparc-rtems under i386-pc-linux-gnu to be hosted
on a i386-cygwin platform.
2.1 Required tools
------------------
* A i386-pc-linux-gnu cross sparc-rtems toolchain.
* A i386-pc-linux-gnu cross i386-cygwin toolchain.
* A i386-pc-linux-gnu native toolchain.
We further on assume these to be installed to these locations:
/opt/rtems .. linux cross sparc-rtems toolchain
/opt/i386-cygwin .. linux cross i386-cygwin cross toolchain
/usr .. linux native toolchain and further tools.
2.2 Building sparc-rtems
------------------------
The first step is to build RTEMS for sparc-rtems under linux.
mkdir build
cd build
<path>/rtems/configure [options] \
--target=sparc-rtems \
--prefix=/opt/i386-cygwin/rtems/sparc-rtems
make
make install
This will build a standard sparc-rtems RTEMS to the given PREFIX.
2.3 Building i386-cygwin host support
-------------------------------------
The next step is to build RTEMS host support for i386-cygwin.
This basically means to cross-build the host tools contained in RTEMS.
mkdir host
cd host
<path>/rtems/configure [options] \
--target=sparc-rtems \
--build=`<path>/rtems/config.guess` \
--host=i386-cygwin \
--prefix=/opt/i386-cygwin/rtems
3. Known issues
---------------
* At present time, building RTEMS Canadian Cross is known to be immature, and
to require additional work. Do not expect this to work.
* The configure scripts expect to find a native c-compiler called "cc". If
your host doesn't have such a "cc" (e.g. Cygwin) or has a non-functional
"cc" (eg. Solaris) try introducing a symlink <functional-cc> -> cc.
(Eg. ln -s <path-to>/gcc /opt/rtems/bin/cc) and make sure this cc can be
found on $PATH.
* It will *not* work for all targets requiring BSP-specific host-tools
(Unfortunately, this comprizes i386-rtems/pcx86 and all powerpc BSPs).
* Incomplete support for *_FOR_TARGET, *_FOR_HOST, *_FOR_BUILD environment
variables.
* The <toplevel>/make/ directory hierarchy is not treated correctly.

View File

@@ -20,3 +20,4 @@
*link: *link:
%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N -e _start} %{!qrtems: %(old_link)} %{qrtems: -dc -dp -N -e _start}

303
config.guess vendored
View File

@@ -1,9 +1,9 @@
#! /bin/sh #! /bin/sh
# Attempt to guess a canonical system name. # Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
version='2000-10-03' timestamp='2001-02-13'
# This file is free software; you can redistribute it and/or modify it # This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by # under the terms of the GNU General Public License as published by
@@ -32,30 +32,41 @@ version='2000-10-03'
# exits with 0. Otherwise, it exits with 1. # exits with 0. Otherwise, it exits with 1.
# #
# The plan is that this can be called by configure scripts if you # The plan is that this can be called by configure scripts if you
# don't specify an explicit system type (host/target name). # don't specify an explicit build system type.
#
# Only a few systems have been added to this list; please add others
# (but try to keep the structure clean).
#
me=`echo "$0" | sed -e 's,.*/,,'` me=`echo "$0" | sed -e 's,.*/,,'`
usage="\ usage="\
Usage: $0 [OPTION] Usage: $0 [OPTION]
Output the configuration name of this system. Output the configuration name of the system \`$me' is run on.
Operation modes: Operation modes:
-h, --help print this help, then exit -h, --help print this help, then exit
-V, --version print version number, then exit" -t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 99, 2000
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help=" help="
Try \`$me --help' for more information." Try \`$me --help' for more information."
# Parse command line # Parse command line
while test $# -gt 0 ; do while test $# -gt 0 ; do
case "$1" in case $1 in
--version | --vers* | -V ) --time-stamp | --time* | -t )
echo "$timestamp" ; exit 0 ;;
--version | -v )
echo "$version" ; exit 0 ;; echo "$version" ; exit 0 ;;
--help | --h* | -h ) --help | --h* | -h )
echo "$usage"; exit 0 ;; echo "$usage"; exit 0 ;;
@@ -64,9 +75,7 @@ while test $# -gt 0 ; do
- ) # Use stdin as input. - ) # Use stdin as input.
break ;; break ;;
-* ) -* )
exec >&2 echo "$me: invalid option $1$help" >&2
echo "$me: invalid option $1"
echo "$help"
exit 1 ;; exit 1 ;;
* ) * )
break ;; break ;;
@@ -78,19 +87,30 @@ if test $# != 0; then
exit 1 exit 1
fi fi
# Use $HOST_CC if defined. $CC may point to a cross-compiler
if test x"$CC_FOR_BUILD" = x; then
if test x"$HOST_CC" != x; then
CC_FOR_BUILD="$HOST_CC"
else
if test x"$CC" != x; then
CC_FOR_BUILD="$CC"
else
CC_FOR_BUILD=cc
fi
fi
fi
dummy=dummy-$$
trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
# CC_FOR_BUILD -- compiler used by this script.
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
# use `HOST_CC' if defined, but it is deprecated.
case $CC_FOR_BUILD,$HOST_CC,$CC in
,,) echo "int dummy(){}" > $dummy.c
for c in cc gcc c89 ; do
($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1
if test $? = 0 ; then
CC_FOR_BUILD="$c"; break
fi
done
rm -f $dummy.c $dummy.o $dummy.rel
if test x"$CC_FOR_BUILD" = x ; then
CC_FOR_BUILD=no_compiler_found
fi
;;
,,*) CC_FOR_BUILD=$CC ;;
,*,*) CC_FOR_BUILD=$HOST_CC ;;
esac
# This is needed to find uname on a Pyramid OSx when run in the BSD universe. # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 8/24/94.) # (ghazi@noc.rutgers.edu 8/24/94.)
@@ -103,9 +123,6 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
dummy=dummy-$$
trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15
# Note: order is significant - the case branches are not exclusive. # Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
@@ -129,7 +146,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
ibmrt|romp-ibm) machine=romp-ibm ;; ibmrt|romp-ibm) machine=romp-ibm ;;
*) machine=${UNAME_MACHINE}-unknown ;; *) machine=${UNAME_MACHINE}-unknown ;;
esac esac
# The Operating System including object format. # The Operating System including object format, if it has switched
# to ELF recently, or will in the future.
case "${UNAME_MACHINE}" in
i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep __ELF__ >/dev/null | grep __ELF__ >/dev/null
then then
@@ -139,6 +159,11 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
else else
os=netbsdelf os=netbsdelf
fi fi
;;
*)
os=netbsd
;;
esac
# The OS release # The OS release
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
@@ -247,7 +272,7 @@ EOF
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE} echo arm-acorn-riscix${UNAME_RELEASE}
exit 0;; exit 0;;
SR2?01:HI-UX/MPP:*:*) SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp echo hppa1.1-hitachi-hiuxmpp
exit 0;; exit 0;;
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
@@ -437,6 +462,14 @@ EOF
i?86:AIX:*:*) i?86:AIX:*:*)
echo i386-ibm-aix echo i386-ibm-aix
exit 0 ;; exit 0 ;;
ia64:AIX:*:*)
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
else
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
exit 0 ;;
*:AIX:2:3) *:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
sed 's/^ //' << EOF >$dummy.c sed 's/^ //' << EOF >$dummy.c
@@ -459,9 +492,9 @@ EOF
echo rs6000-ibm-aix3.2 echo rs6000-ibm-aix3.2
fi fi
exit 0 ;; exit 0 ;;
*:AIX:*:4) *:AIX:*:[45])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER >/dev/null 2>&1; then if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000 IBM_ARCH=rs6000
else else
IBM_ARCH=powerpc IBM_ARCH=powerpc
@@ -469,7 +502,7 @@ EOF
if [ -x /usr/bin/oslevel ] ; then if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel` IBM_REV=`/usr/bin/oslevel`
else else
IBM_REV=4.${UNAME_RELEASE} IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi fi
echo ${IBM_ARCH}-ibm-aix${IBM_REV} echo ${IBM_ARCH}-ibm-aix${IBM_REV}
exit 0 ;; exit 0 ;;
@@ -495,10 +528,28 @@ EOF
echo m68k-hp-bsd4.4 echo m68k-hp-bsd4.4
exit 0 ;; exit 0 ;;
9000/[34678]??:HP-UX:*:*) 9000/[34678]??:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
case "${UNAME_MACHINE}" in case "${UNAME_MACHINE}" in
9000/31? ) HP_ARCH=m68000 ;; 9000/31? ) HP_ARCH=m68000 ;;
9000/[34]?? ) HP_ARCH=m68k ;; 9000/[34]?? ) HP_ARCH=m68k ;;
9000/[678][0-9][0-9]) 9000/[678][0-9][0-9])
case "${HPUX_REV}" in
11.[0-9][0-9])
if [ -x /usr/bin/getconf ]; then
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
case "${sc_cpu_version}" in
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
532) # CPU_PA_RISC2_0
case "${sc_kernel_bits}" in
32) HP_ARCH="hppa2.0n" ;;
64) HP_ARCH="hppa2.0w" ;;
esac ;;
esac
fi ;;
esac
if [ "${HP_ARCH}" = "" ]; then
sed 's/^ //' << EOF >$dummy.c sed 's/^ //' << EOF >$dummy.c
#define _HPUX_SOURCE #define _HPUX_SOURCE
@@ -533,11 +584,16 @@ EOF
} }
EOF EOF
(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
rm -f $dummy.c $dummy rm -f $dummy.c $dummy
fi ;;
esac esac
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
echo ${HP_ARCH}-hp-hpux${HPUX_REV} echo ${HP_ARCH}-hp-hpux${HPUX_REV}
exit 0 ;; exit 0 ;;
ia64:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
echo ia64-hp-hpux${HPUX_REV}
exit 0 ;;
3050*:HI-UX:*:*) 3050*:HI-UX:*:*)
sed 's/^ //' << EOF >$dummy.c sed 's/^ //' << EOF >$dummy.c
#include <unistd.h> #include <unistd.h>
@@ -628,22 +684,23 @@ EOF
CRAY*TS:*:*:*) CRAY*TS:*:*:*)
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;; exit 0 ;;
CRAY*T3E:*:*:*) CRAY*T3D:*:*:*)
echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;; exit 0 ;;
CRAY*T3E:*:*:*)
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
CRAY*SV1:*:*:*) CRAY*SV1:*:*:*)
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;; exit 0 ;;
CRAY-2:*:*:*) CRAY-2:*:*:*)
echo cray2-cray-unicos echo cray2-cray-unicos
exit 0 ;; exit 0 ;;
F300:UNIX_System_V:*:*) F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit 0 ;;
F301:UNIX_System_V:*:*)
echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
exit 0 ;; exit 0 ;;
hp300:OpenBSD:*:*) hp300:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE} echo m68k-unknown-openbsd${UNAME_RELEASE}
@@ -693,8 +750,50 @@ EOF
i*86:Minix:*:*) i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix echo ${UNAME_MACHINE}-pc-minix
exit 0 ;; exit 0 ;;
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux
exit 0 ;;
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux
exit 0 ;;
mips:Linux:*:*)
cat >$dummy.c <<EOF
#ifdef __cplusplus
#include <stdio.h> /* for printf() prototype */
int main (int argc, char *argv[]) {
#else
int main (argc, argv) int argc; char *argv[]; {
#endif
#ifdef __MIPSEB__
printf ("%s-unknown-linux-gnu\n", argv[1]);
#endif
#ifdef __MIPSEL__
printf ("%sel-unknown-linux-gnu\n", argv[1]);
#endif
return 0;
}
EOF
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
;;
x86_64:Linux:*:*)
echo x86_64-unknown-linux-gnu
exit 0 ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
PA7*) echo hppa1.1-unknown-linux-gnu ;;
PA8*) echo hppa2.0-unknown-linux-gnu ;;
*) echo hppa-unknown-linux-gnu ;;
esac
exit 0 ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
echo hppa64-unknown-linux-gnu
exit 0 ;;
sh*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
*:Linux:*:*) *:Linux:*:*)
# The BFD linker knows what the default object file format is, so # The BFD linker knows what the default object file format is, so
# first see if it will tell us. cd to the root directory to prevent # first see if it will tell us. cd to the root directory to prevent
# problems with other programs or directories called `ld' in the path. # problems with other programs or directories called `ld' in the path.
@@ -705,10 +804,6 @@ EOF
s/ .*// s/ .*//
p'` p'`
case "$ld_supported_emulations" in case "$ld_supported_emulations" in
*ia64)
echo "${UNAME_MACHINE}-unknown-linux"
exit 0
;;
i?86linux) i?86linux)
echo "${UNAME_MACHINE}-pc-linux-gnuaout" echo "${UNAME_MACHINE}-pc-linux-gnuaout"
exit 0 exit 0
@@ -724,6 +819,10 @@ EOF
echo "${UNAME_MACHINE}-unknown-linux-gnuaout" echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
exit 0 exit 0
;; ;;
elf32_sparc)
echo "${UNAME_MACHINE}-unknown-linux-gnu"
exit 0
;;
armlinux) armlinux)
echo "${UNAME_MACHINE}-unknown-linux-gnuaout" echo "${UNAME_MACHINE}-unknown-linux-gnuaout"
exit 0 exit 0
@@ -772,10 +871,6 @@ EOF
echo powerpc-unknown-linux-gnu${LIBC} echo powerpc-unknown-linux-gnu${LIBC}
exit 0 exit 0
;; ;;
shelf_linux)
echo "${UNAME_MACHINE}-unknown-linux-gnu"
exit 0
;;
esac esac
if test "${UNAME_MACHINE}" = "alpha" ; then if test "${UNAME_MACHINE}" = "alpha" ; then
@@ -808,24 +903,12 @@ EOF
$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
if test "$?" = 0 ; then if test "$?" = 0 ; then
case `./$dummy` in case `./$dummy` in
0-0) 0-0) UNAME_MACHINE="alpha" ;;
UNAME_MACHINE="alpha" 1-0) UNAME_MACHINE="alphaev5" ;;
;; 1-1) UNAME_MACHINE="alphaev56" ;;
1-0) 1-101) UNAME_MACHINE="alphapca56" ;;
UNAME_MACHINE="alphaev5" 2-303) UNAME_MACHINE="alphaev6" ;;
;; 2-307) UNAME_MACHINE="alphaev67" ;;
1-1)
UNAME_MACHINE="alphaev56"
;;
1-101)
UNAME_MACHINE="alphapca56"
;;
2-303)
UNAME_MACHINE="alphaev6"
;;
2-307)
UNAME_MACHINE="alphaev67"
;;
esac esac
objdump --private-headers $dummy | \ objdump --private-headers $dummy | \
@@ -836,29 +919,6 @@ EOF
fi fi
rm -f $dummy.s $dummy rm -f $dummy.s $dummy
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
elif test "${UNAME_MACHINE}" = "mips" ; then
cat >$dummy.c <<EOF
#ifdef __cplusplus
#include <stdio.h> /* for printf() prototype */
int main (int argc, char *argv[]) {
#else
int main (argc, argv) int argc; char *argv[]; {
#endif
#ifdef __MIPSEB__
printf ("%s-unknown-linux-gnu\n", argv[1]);
#endif
#ifdef __MIPSEL__
printf ("%sel-unknown-linux-gnu\n", argv[1]);
#endif
return 0;
}
EOF
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
elif test "${UNAME_MACHINE}" = "s390"; then
echo s390-ibm-linux && exit 0
elif test "${UNAME_MACHINE}" = "x86_64"; then
echo x86_64-unknown-linux-gnu && exit 0
else else
# Either a pre-BFD a.out linker (linux-gnuoldld) # Either a pre-BFD a.out linker (linux-gnuoldld)
# or one that does not give us useful --help. # or one that does not give us useful --help.
@@ -981,7 +1041,7 @@ EOF
exit 0 ;; exit 0 ;;
M68*:*:R3V[567]*:*) M68*:*:R3V[567]*:*)
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0) 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
OS_REL='' OS_REL=''
test -r /etc/.relid \ test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
@@ -1004,9 +1064,12 @@ EOF
TSUNAMI:LynxOS:2.*:*) TSUNAMI:LynxOS:2.*:*)
echo sparc-unknown-lynxos${UNAME_RELEASE} echo sparc-unknown-lynxos${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*) rs6000:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE} echo rs6000-unknown-lynxos${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:*)
echo powerpc-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
SM[BE]S:UNIX_SV:*:*) SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE} echo mips-dde-sysv${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
@@ -1086,6 +1149,9 @@ EOF
NSR-[KW]:NONSTOP_KERNEL:*:*) NSR-[KW]:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE} echo nsr-tandem-nsk${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
*:NonStop-UX:*:*)
echo mips-compaq-nonstopux
exit 0 ;;
BS2000:POSIX*:*:*) BS2000:POSIX*:*:*)
echo bs2000-siemens-sysv echo bs2000-siemens-sysv
exit 0 ;; exit 0 ;;
@@ -1103,6 +1169,29 @@ EOF
fi fi
echo ${UNAME_MACHINE}-unknown-plan9 echo ${UNAME_MACHINE}-unknown-plan9
exit 0 ;; exit 0 ;;
i?86:OS/2:*:*)
# If we were able to find `uname', then EMX Unix compatibility
# is probably installed.
echo ${UNAME_MACHINE}-pc-os2-emx
exit 0 ;;
*:TOPS-10:*:*)
echo pdp10-unknown-tops10
exit 0 ;;
*:TENEX:*:*)
echo pdp10-unknown-tenex
exit 0 ;;
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
echo pdp10-dec-tops20
exit 0 ;;
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
echo pdp10-xkl-tops20
exit 0 ;;
*:TOPS-20:*:*)
echo pdp10-unknown-tops20
exit 0 ;;
*:ITS:*:*)
echo pdp10-unknown-its
exit 0 ;;
esac esac
#echo '(No uname command or uname output not recognized.)' 1>&2 #echo '(No uname command or uname output not recognized.)' 1>&2
@@ -1194,11 +1283,24 @@ main ()
#endif #endif
#if defined (vax) #if defined (vax)
#if !defined (ultrix) # if !defined (ultrix)
# include <sys/param.h>
# if defined (BSD)
# if BSD == 43
printf ("vax-dec-bsd4.3\n"); exit (0);
# else
# if BSD == 199006
printf ("vax-dec-bsd4.3reno\n"); exit (0);
# else
printf ("vax-dec-bsd\n"); exit (0); printf ("vax-dec-bsd\n"); exit (0);
#else # endif
# endif
# else
printf ("vax-dec-bsd\n"); exit (0);
# endif
# else
printf ("vax-dec-ultrix\n"); exit (0); printf ("vax-dec-ultrix\n"); exit (0);
#endif # endif
#endif #endif
#if defined (alliant) && defined (i860) #if defined (alliant) && defined (i860)
@@ -1245,8 +1347,9 @@ fi
cat >&2 <<EOF cat >&2 <<EOF
$0: unable to guess system type $0: unable to guess system type
The $version version of this script cannot recognize your system type. This script, last modified $timestamp, has failed to recognize
Please download the most up to date version of the config scripts: the operating system you are using. It is advised that you
download the most up to date version of the config scripts from
ftp://ftp.gnu.org/pub/gnu/config/ ftp://ftp.gnu.org/pub/gnu/config/
@@ -1255,7 +1358,7 @@ send the following data and any information you think might be
pertinent to <config-patches@gnu.org> in order to provide the needed pertinent to <config-patches@gnu.org> in order to provide the needed
information to handle your system. information to handle your system.
config.guess version = $version config.guess timestamp = $timestamp
uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown`
@@ -1282,7 +1385,7 @@ exit 1
# Local variables: # Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp) # eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "version='" # time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d" # time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'" # time-stamp-end: "'"
# End: # End:

118
config.sub vendored
View File

@@ -1,9 +1,9 @@
#! /bin/sh #! /bin/sh
# Configuration validation subroutine script, version 1.1. # Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
version='2000-09-11' timestamp='2001-02-16'
# This file is (in principle) common to ALL GNU software. # This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software # The presence of a machine in this file suggests that SOME GNU software
@@ -61,15 +61,29 @@ Canonicalize a configuration name.
Operation modes: Operation modes:
-h, --help print this help, then exit -h, --help print this help, then exit
-V, --version print version number, then exit" -t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help=" help="
Try \`$me --help' for more information." Try \`$me --help' for more information."
# Parse command line # Parse command line
while test $# -gt 0 ; do while test $# -gt 0 ; do
case "$1" in case $1 in
--version | --vers* | -V ) --time-stamp | --time* | -t )
echo "$timestamp" ; exit 0 ;;
--version | -v )
echo "$version" ; exit 0 ;; echo "$version" ; exit 0 ;;
--help | --h* | -h ) --help | --h* | -h )
echo "$usage"; exit 0 ;; echo "$usage"; exit 0 ;;
@@ -78,9 +92,7 @@ while test $# -gt 0 ; do
- ) # Use stdin as input. - ) # Use stdin as input.
break ;; break ;;
-* ) -* )
exec >&2 echo "$me: invalid option $1$help"
echo "$me: invalid option $1"
echo "$help"
exit 1 ;; exit 1 ;;
*local*) *local*)
@@ -105,7 +117,7 @@ esac
# Here we must recognize all the valid KERNEL-OS combinations. # Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in case $maybe_os in
nto-qnx* | linux-gnu*) nto-qnx* | linux-gnu* | storm-chaos* | os2-emx*)
os=-$maybe_os os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;; ;;
@@ -203,22 +215,24 @@ esac
case $basic_machine in case $basic_machine in
# Recognize the basic CPU types without company name. # Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below. # Some are omitted here because they have special meanings below.
tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \ tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \
| arme[lb] | armv[2345] | armv[345][lb] | pyramid | mn10200 | mn10300 | tron | a29k \ | arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \
| pyramid | mn10200 | mn10300 | tron | a29k \
| 580 | i960 | h8300 \ | 580 | i960 | h8300 \
| x86 | ppcbe | mipsbe | mipsle | shbe | shle | armbe | armle \ | x86 | ppcbe | mipsbe | mipsle | shbe | shle \
| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \ | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
| hppa64 \ | hppa64 \
| alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \ | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
| alphaev6[78] \ | alphaev6[78] \
| we32k | ns16k | clipper | i370 | sh | sh[34] \ | we32k | ns16k | clipper | i370 | sh | sh[34] \
| powerpc | powerpcle \ | powerpc | powerpcle \
| 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \ | 1750a | dsp16xx | pdp10 | pdp11 \
| mips16 | mips64 | mipsel | mips64el \
| mips64orion | mips64orionel | mipstx39 | mipstx39el \ | mips64orion | mips64orionel | mipstx39 | mipstx39el \
| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
| mips64vr5000 | miprs64vr5000el | mcore \ | mips64vr5000 | miprs64vr5000el | mcore \
| sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \ | sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
| thumb | d10v | d30v | fr30 | avr) | thumb | d10v | d30v | fr30 | avr | openrisc)
basic_machine=$basic_machine-unknown basic_machine=$basic_machine-unknown
;; ;;
m6811 | m68hc11 | m6812 | m68hc12) m6811 | m68hc11 | m6812 | m68hc12)
@@ -243,23 +257,25 @@ case $basic_machine in
# Recognize the basic CPU types with company name. # Recognize the basic CPU types with company name.
# FIXME: clean up the formatting here. # FIXME: clean up the formatting here.
vax-* | tahoe-* | i[234567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \ vax-* | tahoe-* | i[234567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \ | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \
| arm-* | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
| power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \ | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
| xmp-* | ymp-* \ | xmp-* | ymp-* \
| x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* | armbe-* | armle-* \ | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \
| hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \ | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
| hppa2.0n-* | hppa64-* \ | hppa2.0n-* | hppa64-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
| alphaev6[78]-* \ | alphaev6[78]-* \
| we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \ | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
| clipper-* | orion-* \ | clipper-* | orion-* \
| sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \ | sparclite-* | pdp10-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
| sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \ | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
| mips64el-* | mips64orion-* | mips64orionel-* \ | mips64el-* | mips64orion-* | mips64orionel-* \
| mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \ | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
| mipstx39-* | mipstx39el-* | mcore-* \ | mipstx39-* | mipstx39el-* | mcore-* \
| f301-* | armv*-* | s390-* | sv1-* | t3e-* \ | f30[01]-* | f700-* | s390-* | s390x-* | sv1-* | t3e-* \
| [cjt]90-* \
| m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \ | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
| thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* \ | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* \
| bs2000-* | tic54x-* | c54x-* | x86_64-*) | bs2000-* | tic54x-* | c54x-* | x86_64-*)
@@ -353,8 +369,8 @@ case $basic_machine in
basic_machine=cray2-cray basic_machine=cray2-cray
os=-unicos os=-unicos
;; ;;
[ctj]90-cray) [cjt]90)
basic_machine=c90-cray basic_machine=${basic_machine}-cray
os=-unicos os=-unicos
;; ;;
crds | unos) crds | unos)
@@ -410,6 +426,10 @@ case $basic_machine in
basic_machine=tron-gmicro basic_machine=tron-gmicro
os=-sysv os=-sysv
;; ;;
go32)
basic_machine=i386-pc
os=-go32
;;
h3050r* | hiux*) h3050r* | hiux*)
basic_machine=hppa1.1-hitachi basic_machine=hppa1.1-hitachi
os=-hiuxwe2 os=-hiuxwe2
@@ -509,18 +529,6 @@ case $basic_machine in
basic_machine=i386-unknown basic_machine=i386-unknown
os=-vsta os=-vsta
;; ;;
i386-go32 | go32)
basic_machine=i386-unknown
os=-go32
;;
i386-mingw32 | mingw32)
basic_machine=i386-unknown
os=-mingw32
;;
i[34567]86-pw32 | pw32)
basic_machine=i586-unknown
os=-pw32
;;
iris | iris4d) iris | iris4d)
basic_machine=mips-sgi basic_machine=mips-sgi
case $os in case $os in
@@ -546,6 +554,10 @@ case $basic_machine in
basic_machine=ns32k-utek basic_machine=ns32k-utek
os=-sysv os=-sysv
;; ;;
mingw32)
basic_machine=i386-pc
os=-mingw32
;;
miniframe) miniframe)
basic_machine=m68000-convergent basic_machine=m68000-convergent
;; ;;
@@ -576,7 +588,7 @@ case $basic_machine in
os=-coff os=-coff
;; ;;
msdos) msdos)
basic_machine=i386-unknown basic_machine=i386-pc
os=-msdos os=-msdos
;; ;;
mvs) mvs)
@@ -640,6 +652,10 @@ case $basic_machine in
basic_machine=i960-intel basic_machine=i960-intel
os=-mon960 os=-mon960
;; ;;
nonstopux)
basic_machine=mips-compaq
os=-nonstopux
;;
np1) np1)
basic_machine=np1-gould basic_machine=np1-gould
;; ;;
@@ -675,28 +691,28 @@ case $basic_machine in
pc532 | pc532-*) pc532 | pc532-*)
basic_machine=ns32k-pc532 basic_machine=ns32k-pc532
;; ;;
pentium | p5 | k5 | k6 | nexen) pentium | p5 | k5 | k6 | nexgen)
basic_machine=i586-pc basic_machine=i586-pc
;; ;;
pentiumpro | p6 | 6x86 | athlon) pentiumpro | p6 | 6x86 | athlon)
basic_machine=i686-pc basic_machine=i686-pc
;; ;;
pentiumii | pentium2) pentiumii | pentium2)
basic_machine=i786-pc basic_machine=i686-pc
;; ;;
pentium-* | p5-* | k5-* | k6-* | nexen-*) pentium-* | p5-* | k5-* | k6-* | nexgen-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
pentiumpro-* | p6-* | 6x86-* | athlon-*) pentiumpro-* | p6-* | 6x86-* | athlon-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
pentiumii-* | pentium2-*) pentiumii-* | pentium2-*)
basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
pn) pn)
basic_machine=pn-gould basic_machine=pn-gould
;; ;;
power) basic_machine=rs6000-ibm power) basic_machine=power-ibm
;; ;;
ppc) basic_machine=powerpc-unknown ppc) basic_machine=powerpc-unknown
;; ;;
@@ -711,6 +727,10 @@ case $basic_machine in
ps2) ps2)
basic_machine=i386-ibm basic_machine=i386-ibm
;; ;;
pw32)
basic_machine=i586-unknown
os=-pw32
;;
rom68k) rom68k)
basic_machine=m68k-rom68k basic_machine=m68k-rom68k
os=-coff os=-coff
@@ -901,6 +921,10 @@ case $basic_machine in
vax) vax)
basic_machine=vax-dec basic_machine=vax-dec
;; ;;
pdp10)
# there are many clones, so DEC is not a safe bet
basic_machine=pdp10-unknown
;;
pdp11) pdp11)
basic_machine=pdp11-dec basic_machine=pdp11-dec
;; ;;
@@ -908,7 +932,7 @@ case $basic_machine in
basic_machine=we32k-att basic_machine=we32k-att
;; ;;
sh3 | sh4) sh3 | sh4)
base_machine=sh-unknown basic_machine=sh-unknown
;; ;;
sparc | sparcv9) sparc | sparcv9)
basic_machine=sparc-sun basic_machine=sparc-sun
@@ -991,7 +1015,8 @@ case $os in
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32*) | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*)
# Remember, each alternative MUST END IN *, to match a version number. # Remember, each alternative MUST END IN *, to match a version number.
;; ;;
-qnx*) -qnx*)
@@ -1089,7 +1114,7 @@ case $os in
-xenix) -xenix)
os=-xenix os=-xenix
;; ;;
-*mint | -*MiNT) -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
os=-mint os=-mint
;; ;;
-none) -none)
@@ -1123,6 +1148,9 @@ case $basic_machine in
arm*-semi) arm*-semi)
os=-aout os=-aout
;; ;;
pdp10-*)
os=-tops20
;;
pdp11-*) pdp11-*)
os=-none os=-none
;; ;;
@@ -1231,7 +1259,7 @@ case $basic_machine in
*-masscomp) *-masscomp)
os=-rtu os=-rtu
;; ;;
f301-fujitsu) f30[01]-fujitsu | f700-fujitsu)
os=-uxpv os=-uxpv
;; ;;
*-rom68k) *-rom68k)
@@ -1309,7 +1337,7 @@ case $basic_machine in
-mpw* | -macos*) -mpw* | -macos*)
vendor=apple vendor=apple
;; ;;
-*mint | -*MiNT) -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
vendor=atari vendor=atari
;; ;;
esac esac
@@ -1322,7 +1350,7 @@ exit 0
# Local variables: # Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp) # eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "version='" # time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d" # time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'" # time-stamp-end: "'"
# End: # End:

View File

@@ -31,18 +31,36 @@ RTEMS_ENABLE_GCC28
RTEMS_ENABLE_LIBCDIR RTEMS_ENABLE_LIBCDIR
RTEMS_ENABLE_TESTS RTEMS_ENABLE_TESTS
RTEMS_ENABLE_RTEMS_DEBUG RTEMS_ENABLE_RTEMS_DEBUG
RTEMS_ENABLE_RTEMSBSP(dummy)
if test $host != $build; then
AC_MSG_WARN([]
[*** *** *** WARNING *** *** ***]
[]
[Entering BEYOND BLEEDING EDGE TERRITORY]
[]
[You are trying to build RTEMS Canadian cross]
[If you really mean it, feel free to continue ...]
[*** *** *** *** *** *** *** ***])
fi
## NOTES:
## The tools/*-directories situation is unclear
## * tools/build are host-native tools to be installed on the host.
## * tools/cpu are host-native or host-cross-target-tools
## * tools/update are build-host-native tools
# these tools are built for the build environment # these tools are built for the build environment
# #
build_tools="tools/build tools/update tools/cpu" build_tools="tools/update"
# these libraries are used for the host environment # these libraries are built for the host environment
# #
host_libs="" host_libs=""
# these tools are built for the host environment # these tools are built for the host environment
# #
host_tools="" host_tools="tools/build tools/cpu"
# these libraries are built for the target environment, and are built after # these libraries are built for the target environment, and are built after
# the host libraries and the host tools (which may be a cross compiler) # the host libraries and the host tools (which may be a cross compiler)
@@ -54,53 +72,44 @@ target_libs="c"
# #
target_tools="" target_tools=""
## All tools belong in one of the four categories, and are assigned above ## All tools belong in one of the five categories, and are assigned above.
## We assign ${configdirs} this way to remove all embedded newlines. This ## ${host_configdirs} is directories we build using the host tools.
## is important because configure will choke if they ever get through.
## ${configdirs} is directories we build using the host tools.
## ${target_configdirs} is directories we build using the target tools. ## ${target_configdirs} is directories we build using the target tools.
# #
configdirs="${host_libs} ${host_tools}" host_configdirs="${host_libs} ${host_tools}"
AC_SUBST(configdirs) AC_SUBST(host_configdirs)
target_configdirs="${target_libs} ${target_tools}" target_configdirs="${target_libs} ${target_tools}"
AC_SUBST(target_configdirs) AC_SUBST(target_configdirs)
# Record target_configdirs and the configure arguments in Makefile. RTEMS_TARGET_CONFIG_PREPARE
targargs=`echo "${ac_configure_args}" | \
sed -e 's/--no[^ ]*//' \
-e 's/--cache[a-z-]*=[^ ]*//' \
-e 's/--ho[a-z-]*=[^ ]*//' \
-e 's/--bu[a-z-]*=[^ ]*//' \
-e 's/--ta[a-z-]*=[^ ]*//'`;
targargs="--host=${target_alias} --build=${build} ${targargs}"
AC_SUBST(targargs)
target_subdir=${target_alias} target_subdir=${target_alias}
changequote(,)dnl RTEMS_HOST_CONFIG_PREPARE
if test $target = $host; host_subdir=${host_alias}
if test $build = $host;
then then
HOST_SUBDIRS="$configdirs $target_configdirs" BUILD_SUBDIRS="$build_tools $host_configdirs"
TARGET_SUBDIRS=""
else if test $build = $target;
HOST_SUBDIRS="$configdirs" then
BUILD_SUBDIRS="$BUILD_SUBDIRS $target_configdirs";
else
TARGET_SUBDIRS=`echo "$target_configdirs" | \ TARGET_SUBDIRS=`echo "$target_configdirs" | \
sed -e "s%\([^ ]\+\)%$target_alias/\1%g"` sed -e "s%\([[^ ]][[^ ]]*\)%$target_alias/\1%g"`
fi fi
changequote([,])dnl
if test $host = $build;
then
HOST_SUBDIRS="$build_tools $HOST_SUBDIRS"
else else
build_configdirs="$build_tools" ## If building Canadian cross, disable the target directories
target_configdirs=""
BUILD_SUBDIRS="$build_tools"
TARGET_SUBDIRS=`echo "$host_configdirs" | \
sed -e "s%\([[^ ]][[^ ]]*\)%$host_alias/\1%g"`
fi fi
AC_CONFIG_SUBDIRS($HOST_SUBDIRS) AC_CONFIG_SUBDIRS($BUILD_SUBDIRS)
AC_SUBST(TARGET_SUBDIRS) AC_SUBST(TARGET_SUBDIRS)
AC_SUBST(HOST_SUBDIRS) AC_SUBST(BUILD_SUBDIRS)
AC_OUTPUT( AC_OUTPUT(
Makefile Makefile
@@ -111,192 +120,5 @@ make/Templates/Makefile
make/compilers/Makefile make/compilers/Makefile
doc/Makefile) doc/Makefile)
if test "$no_recursion" != yes; then RTEMS_TARGET_CONFIG_SUBDIRS
RTEMS_HOST_CONFIG_SUBDIRS
if test $target != $host; then
# Remove --srcdir arguments so they do not pile up.
ac_sub_configure_args=
ac_prev=
for ac_arg in $targargs; do
if test -n "$ac_prev"; then
ac_prev=
continue
fi
case "$ac_arg" in
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
;;
*) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;;
esac
done
test -d $target_subdir || mkdir $target_subdir
for ac_config_dir in $target_configdirs; do
# Do not complain, so a configure script can configure whichever
# parts of a large source tree are present.
if test ! -d $srcdir/$ac_config_dir; then
continue
fi
echo configuring in $target_subdir/$ac_config_dir
case "$srcdir" in
.) ;;
*)
if test -d $target_subdir/$ac_config_dir || mkdir $target_subdir/$ac_config_dir; then :;
else
AC_MSG_ERROR(can not create `pwd`/$target_subdir/$ac_config_dir)
fi
;;
esac
ac_popdir=`pwd`
cd $target_subdir/$ac_config_dir
changequote(, )dnl
# A "../" for each directory in /$ac_config_dir.
ac_dots=`echo $target_subdir/$ac_config_dir|sed -e 's%^\./%%' -e 's%[^/]$%&/%' -e 's%[^/]*/%../%g'`
changequote([, ])dnl
case "$srcdir" in
.) # No --srcdir option. We are building in place.
ac_sub_srcdir=$srcdir ;;
/*) # Absolute path.
ac_sub_srcdir=$srcdir/$ac_config_dir ;;
*) # Relative path.
ac_sub_srcdir=$ac_dots$srcdir/$ac_config_dir ;;
esac
# Check for configure
if test -f $ac_sub_srcdir/configure; then
ac_sub_configure=$ac_sub_srcdir/configure
else
AC_MSG_WARN(no configuration information is in $ac_config_dir)
ac_sub_configure=
fi
# The recursion is here.
if test -n "$ac_sub_configure"; then
# Make the cache file name correct relative to the subdirectory.
ac_sub_cache_file=$cache_file
ifdef([AC_PROVIDE_AC_PROG_INSTALL],
[ case "$ac_given_INSTALL" in
changequote(, )dnl
[/$]*) INSTALL="$ac_given_INSTALL" ;;
changequote([, ])dnl
*) INSTALL="$ac_dots$ac_given_INSTALL" ;;
esac
])dnl
echo "[running ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file] --srcdir=$ac_sub_srcdir"
# The eval makes quoting arguments work.
if eval ${CONFIG_SHELL-/bin/sh} $ac_sub_configure \
$ac_sub_configure_args --srcdir=$ac_sub_srcdir \
--with-target-subdir=$target_subdir \
--cache-file=$ac_sub_cache_file \
--libdir='${exec_prefix}'/$target_alias/lib
then :
else
AC_MSG_ERROR($ac_sub_configure failed for $ac_config_dir)
fi
fi
cd $ac_popdir
done
fi
if test $build != $host; then
# Remove --srcdir arguments so they do not pile up.
ac_sub_configure_args=
ac_prev=
for ac_arg in $targargs; do
if test -n "$ac_prev"; then
ac_prev=
continue
fi
case "$ac_arg" in
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
;;
*) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;;
esac
done
# test -d $target_subdir || mkdir $target_subdir
for ac_config_dir in $build_configdirs; do
# Do not complain, so a configure script can configure whichever
# parts of a large source tree are present.
if test ! -d $srcdir/$ac_config_dir; then
continue
fi
echo configuring in $ac_config_dir
case "$srcdir" in
.) ;;
*)
if test -d $ac_config_dir || mkdir $ac_config_dir; then :;
else
AC_MSG_ERROR(can not create `pwd`/$ac_config_dir)
fi
;;
esac
ac_popdir=`pwd`
cd $ac_config_dir
changequote(, )dnl
# A "../" for each directory in /$ac_config_dir.
ac_dots=`echo $ac_config_dir|sed -e 's%^\./%%' -e 's%[^/]$%&/%' -e 's%[^/]*/%../%g'`
changequote([, ])dnl
case "$srcdir" in
.) # No --srcdir option. We are building in place.
ac_sub_srcdir=$srcdir ;;
/*) # Absolute path.
ac_sub_srcdir=$srcdir/$ac_config_dir ;;
*) # Relative path.
ac_sub_srcdir=$ac_dots$srcdir/$ac_config_dir ;;
esac
# Check for configure
if test -f $ac_sub_srcdir/configure; then
ac_sub_configure=$ac_sub_srcdir/configure
else
AC_MSG_WARN(no configuration information is in $ac_config_dir)
ac_sub_configure=
fi
# The recursion is here.
if test -n "$ac_sub_configure"; then
# Make the cache file name correct relative to the subdirectory.
ac_sub_cache_file=$cache_file
ifdef([AC_PROVIDE_AC_PROG_INSTALL],
[ case "$ac_given_INSTALL" in
changequote(, )dnl
[/$]*) INSTALL="$ac_given_INSTALL" ;;
changequote([, ])dnl
*) INSTALL="$ac_dots$ac_given_INSTALL" ;;
esac
])dnl
echo "[running ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file] --srcdir=$ac_sub_srcdir"
# The eval makes quoting arguments work.
if eval ${CONFIG_SHELL-/bin/sh} $ac_sub_configure \
$ac_sub_configure_args --srcdir=$ac_sub_srcdir \
--cache-file=$ac_sub_cache_file \
--build=$build --host=$build
then :
else
AC_MSG_ERROR($ac_sub_configure failed for $ac_config_dir)
fi
fi
cd $ac_popdir
done
fi
fi

View File

@@ -35,8 +35,8 @@ CFLAGS_DEBUG_V = -O1
#CFLAGS_DEBUG_V = -O1 -mmultiple -mstring -mstrict-align #CFLAGS_DEBUG_V = -O1 -mmultiple -mstring -mstrict-align
define make-exe define make-exe
$(CC) -v -static -Wl,-Map -Wl,Mapfile -Wl,-T -Wl,linkcmds -Wl,-N -o $(basename $@).obj $(LINK_OBJS) $(LINK_LIBS) $(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) -o $(basename $@).obj \
# $(LINK.c) $(LDLIBS) -o $@ $(LINK_OBJS) $(LINK_LIBS) $(LINK_OBJS) $(LINK_LIBS)
$(OBJCOPY) -O binary \ $(OBJCOPY) -O binary \
--only-section=.text \ --only-section=.text \
--only-section=.data \ --only-section=.data \

View File

@@ -7,10 +7,10 @@ binutils_version=2.10
binutils_patch_version=20001102 binutils_patch_version=20001102
binutils_rpm_release=3 binutils_rpm_release=3
newlib_version=1.9.0 newlib_version=1.9.0
newlib_patch_version=20001219 newlib_patch_version=20010221
gcc_version=2.95.2 gcc_version=2.95.2
gcc_patch_version=20001226 gcc_patch_version=20010221
gccnewlib_rpm_release=1 gccnewlib_rpm_release=2
gdb_version=5.0 gdb_version=5.0
gdb_patch_version=20000718 gdb_patch_version=20000718
gdb_rpm_release=2 gdb_rpm_release=2

View File

@@ -2,7 +2,7 @@
AUTOMAKE_OPTIONS = foreign 1.4 AUTOMAKE_OPTIONS = foreign 1.4
SUBDIRS = build cpu update SUBDIRS = update
include $(top_srcdir)/automake/subdirs.am include $(top_srcdir)/automake/subdirs.am
include $(top_srcdir)/automake/host.am include $(top_srcdir)/automake/host.am