Imported Upstream version 2.6.1
Maximiliano Curia
8 years ago
0 | Installation Instructions | |
1 | ************************* | |
2 | ||
3 | Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free | |
4 | Software Foundation, Inc. | |
5 | ||
6 | This file is free documentation; the Free Software Foundation gives | |
7 | unlimited permission to copy, distribute and modify it. | |
8 | ||
9 | Basic Installation | |
10 | ================== | |
11 | ||
12 | These are generic installation instructions. | |
13 | ||
14 | The `configure' shell script attempts to guess correct values for | |
15 | various system-dependent variables used during compilation. It uses | |
16 | those values to create a `Makefile' in each directory of the package. | |
17 | It may also create one or more `.h' files containing system-dependent | |
18 | definitions. Finally, it creates a shell script `config.status' that | |
19 | you can run in the future to recreate the current configuration, and a | |
20 | file `config.log' containing compiler output (useful mainly for | |
21 | debugging `configure'). | |
22 | ||
23 | It can also use an optional file (typically called `config.cache' | |
24 | and enabled with `--cache-file=config.cache' or simply `-C') that saves | |
25 | the results of its tests to speed up reconfiguring. (Caching is | |
26 | disabled by default to prevent problems with accidental use of stale | |
27 | cache files.) | |
28 | ||
29 | If you need to do unusual things to compile the package, please try | |
30 | to figure out how `configure' could check whether to do them, and mail | |
31 | diffs or instructions to the address given in the `README' so they can | |
32 | be considered for the next release. If you are using the cache, and at | |
33 | some point `config.cache' contains results you don't want to keep, you | |
34 | may remove or edit it. | |
35 | ||
36 | The file `configure.ac' (or `configure.in') is used to create | |
37 | `configure' by a program called `autoconf'. You only need | |
38 | `configure.ac' if you want to change it or regenerate `configure' using | |
39 | a newer version of `autoconf'. | |
40 | ||
41 | The simplest way to compile this package is: | |
42 | ||
43 | 1. `cd' to the directory containing the package's source code and type | |
44 | `./configure' to configure the package for your system. If you're | |
45 | using `csh' on an old version of System V, you might need to type | |
46 | `sh ./configure' instead to prevent `csh' from trying to execute | |
47 | `configure' itself. | |
48 | ||
49 | Running `configure' takes awhile. While running, it prints some | |
50 | messages telling which features it is checking for. | |
51 | ||
52 | 2. Type `make' to compile the package. | |
53 | ||
54 | 3. Optionally, type `make check' to run any self-tests that come with | |
55 | the package. | |
56 | ||
57 | 4. Type `make install' to install the programs and any data files and | |
58 | documentation. | |
59 | ||
60 | 5. You can remove the program binaries and object files from the | |
61 | source code directory by typing `make clean'. To also remove the | |
62 | files that `configure' created (so you can compile the package for | |
63 | a different kind of computer), type `make distclean'. There is | |
64 | also a `make maintainer-clean' target, but that is intended mainly | |
65 | for the package's developers. If you use it, you may have to get | |
66 | all sorts of other programs in order to regenerate files that came | |
67 | with the distribution. | |
68 | ||
69 | Compilers and Options | |
70 | ===================== | |
71 | ||
72 | Some systems require unusual options for compilation or linking that the | |
73 | `configure' script does not know about. Run `./configure --help' for | |
74 | details on some of the pertinent environment variables. | |
75 | ||
76 | You can give `configure' initial values for configuration parameters | |
77 | by setting variables in the command line or in the environment. Here | |
78 | is an example: | |
79 | ||
80 | ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix | |
81 | ||
82 | *Note Defining Variables::, for more details. | |
83 | ||
84 | Compiling For Multiple Architectures | |
85 | ==================================== | |
86 | ||
87 | You can compile the package for more than one kind of computer at the | |
88 | same time, by placing the object files for each architecture in their | |
89 | own directory. To do this, you must use a version of `make' that | |
90 | supports the `VPATH' variable, such as GNU `make'. `cd' to the | |
91 | directory where you want the object files and executables to go and run | |
92 | the `configure' script. `configure' automatically checks for the | |
93 | source code in the directory that `configure' is in and in `..'. | |
94 | ||
95 | If you have to use a `make' that does not support the `VPATH' | |
96 | variable, you have to compile the package for one architecture at a | |
97 | time in the source code directory. After you have installed the | |
98 | package for one architecture, use `make distclean' before reconfiguring | |
99 | for another architecture. | |
100 | ||
101 | Installation Names | |
102 | ================== | |
103 | ||
104 | By default, `make install' installs the package's commands under | |
105 | `/usr/local/bin', include files under `/usr/local/include', etc. You | |
106 | can specify an installation prefix other than `/usr/local' by giving | |
107 | `configure' the option `--prefix=PREFIX'. | |
108 | ||
109 | You can specify separate installation prefixes for | |
110 | architecture-specific files and architecture-independent files. If you | |
111 | pass the option `--exec-prefix=PREFIX' to `configure', the package uses | |
112 | PREFIX as the prefix for installing programs and libraries. | |
113 | Documentation and other data files still use the regular prefix. | |
114 | ||
115 | In addition, if you use an unusual directory layout you can give | |
116 | options like `--bindir=DIR' to specify different values for particular | |
117 | kinds of files. Run `configure --help' for a list of the directories | |
118 | you can set and what kinds of files go in them. | |
119 | ||
120 | If the package supports it, you can cause programs to be installed | |
121 | with an extra prefix or suffix on their names by giving `configure' the | |
122 | option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. | |
123 | ||
124 | Optional Features | |
125 | ================= | |
126 | ||
127 | Some packages pay attention to `--enable-FEATURE' options to | |
128 | `configure', where FEATURE indicates an optional part of the package. | |
129 | They may also pay attention to `--with-PACKAGE' options, where PACKAGE | |
130 | is something like `gnu-as' or `x' (for the X Window System). The | |
131 | `README' should mention any `--enable-' and `--with-' options that the | |
132 | package recognizes. | |
133 | ||
134 | For packages that use the X Window System, `configure' can usually | |
135 | find the X include and library files automatically, but if it doesn't, | |
136 | you can use the `configure' options `--x-includes=DIR' and | |
137 | `--x-libraries=DIR' to specify their locations. | |
138 | ||
139 | Specifying the System Type | |
140 | ========================== | |
141 | ||
142 | There may be some features `configure' cannot figure out automatically, | |
143 | but needs to determine by the type of machine the package will run on. | |
144 | Usually, assuming the package is built to be run on the _same_ | |
145 | architectures, `configure' can figure that out, but if it prints a | |
146 | message saying it cannot guess the machine type, give it the | |
147 | `--build=TYPE' option. TYPE can either be a short name for the system | |
148 | type, such as `sun4', or a canonical name which has the form: | |
149 | ||
150 | CPU-COMPANY-SYSTEM | |
151 | ||
152 | where SYSTEM can have one of these forms: | |
153 | ||
154 | OS KERNEL-OS | |
155 | ||
156 | See the file `config.sub' for the possible values of each field. If | |
157 | `config.sub' isn't included in this package, then this package doesn't | |
158 | need to know the machine type. | |
159 | ||
160 | If you are _building_ compiler tools for cross-compiling, you should | |
161 | use the option `--target=TYPE' to select the type of system they will | |
162 | produce code for. | |
163 | ||
164 | If you want to _use_ a cross compiler, that generates code for a | |
165 | platform different from the build platform, you should specify the | |
166 | "host" platform (i.e., that on which the generated programs will | |
167 | eventually be run) with `--host=TYPE'. | |
168 | ||
169 | Sharing Defaults | |
170 | ================ | |
171 | ||
172 | If you want to set default values for `configure' scripts to share, you | |
173 | can create a site shell script called `config.site' that gives default | |
174 | values for variables like `CC', `cache_file', and `prefix'. | |
175 | `configure' looks for `PREFIX/share/config.site' if it exists, then | |
176 | `PREFIX/etc/config.site' if it exists. Or, you can set the | |
177 | `CONFIG_SITE' environment variable to the location of the site script. | |
178 | A warning: not all `configure' scripts look for a site script. | |
179 | ||
180 | Defining Variables | |
181 | ================== | |
182 | ||
183 | Variables not defined in a site shell script can be set in the | |
184 | environment passed to `configure'. However, some packages may run | |
185 | configure again during the build, and the customized values of these | |
186 | variables may be lost. In order to avoid this problem, you should set | |
187 | them in the `configure' command line, using `VAR=value'. For example: | |
188 | ||
189 | ./configure CC=/usr/local2/bin/gcc | |
190 | ||
191 | causes the specified `gcc' to be used as the C compiler (unless it is | |
192 | overridden in the site shell script). Here is a another example: | |
193 | ||
194 | /bin/bash ./configure CONFIG_SHELL=/bin/bash | |
195 | ||
196 | Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent | |
197 | configuration-related scripts to be executed by `/bin/bash'. | |
198 | ||
199 | `configure' Invocation | |
200 | ====================== | |
201 | ||
202 | `configure' recognizes the following options to control how it operates. | |
203 | ||
204 | `--help' | |
205 | `-h' | |
206 | Print a summary of the options to `configure', and exit. | |
207 | ||
208 | `--version' | |
209 | `-V' | |
210 | Print the version of Autoconf used to generate the `configure' | |
211 | script, and exit. | |
212 | ||
213 | `--cache-file=FILE' | |
214 | Enable the cache: use and save the results of the tests in FILE, | |
215 | traditionally `config.cache'. FILE defaults to `/dev/null' to | |
216 | disable caching. | |
217 | ||
218 | `--config-cache' | |
219 | `-C' | |
220 | Alias for `--cache-file=config.cache'. | |
221 | ||
222 | `--quiet' | |
223 | `--silent' | |
224 | `-q' | |
225 | Do not print messages saying which checks are being made. To | |
226 | suppress all normal output, redirect it to `/dev/null' (any error | |
227 | messages will still be shown). | |
228 | ||
229 | `--srcdir=DIR' | |
230 | Look for the package's source code in directory DIR. Usually | |
231 | `configure' can determine that directory automatically. | |
232 | ||
233 | `configure' also accepts some other, not widely useful, options. Run | |
234 | `configure --help' for more details. | |
235 |
0 | #! /bin/sh | |
1 | # Attempt to guess a canonical system name. | |
2 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, | |
3 | # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 | |
4 | # Free Software Foundation, Inc. | |
5 | ||
6 | timestamp='2009-04-27' | |
7 | ||
8 | # This file is free software; you can redistribute it and/or modify it | |
9 | # under the terms of the GNU General Public License as published by | |
10 | # the Free Software Foundation; either version 2 of the License, or | |
11 | # (at your option) any later version. | |
12 | # | |
13 | # This program is distributed in the hope that it will be useful, but | |
14 | # WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
16 | # General Public License for more details. | |
17 | # | |
18 | # You should have received a copy of the GNU General Public License | |
19 | # along with this program; if not, write to the Free Software | |
20 | # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA | |
21 | # 02110-1301, USA. | |
22 | # | |
23 | # As a special exception to the GNU General Public License, if you | |
24 | # distribute this file as part of a program that contains a | |
25 | # configuration script generated by Autoconf, you may include it under | |
26 | # the same distribution terms that you use for the rest of that program. | |
27 | ||
28 | ||
29 | # Originally written by Per Bothner <per@bothner.com>. | |
30 | # Please send patches to <config-patches@gnu.org>. Submit a context | |
31 | # diff and a properly formatted ChangeLog entry. | |
32 | # | |
33 | # This script attempts to guess a canonical system name similar to | |
34 | # config.sub. If it succeeds, it prints the system name on stdout, and | |
35 | # exits with 0. Otherwise, it exits with 1. | |
36 | # | |
37 | # The plan is that this can be called by configure scripts if you | |
38 | # don't specify an explicit build system type. | |
39 | ||
40 | me=`echo "$0" | sed -e 's,.*/,,'` | |
41 | ||
42 | usage="\ | |
43 | Usage: $0 [OPTION] | |
44 | ||
45 | Output the configuration name of the system \`$me' is run on. | |
46 | ||
47 | Operation modes: | |
48 | -h, --help print this help, then exit | |
49 | -t, --time-stamp print date of last modification, then exit | |
50 | -v, --version print version number, then exit | |
51 | ||
52 | Report bugs and patches to <config-patches@gnu.org>." | |
53 | ||
54 | version="\ | |
55 | GNU config.guess ($timestamp) | |
56 | ||
57 | Originally written by Per Bothner. | |
58 | Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, | |
59 | 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. | |
60 | ||
61 | This is free software; see the source for copying conditions. There is NO | |
62 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." | |
63 | ||
64 | help=" | |
65 | Try \`$me --help' for more information." | |
66 | ||
67 | # Parse command line | |
68 | while test $# -gt 0 ; do | |
69 | case $1 in | |
70 | --time-stamp | --time* | -t ) | |
71 | echo "$timestamp" ; exit ;; | |
72 | --version | -v ) | |
73 | echo "$version" ; exit ;; | |
74 | --help | --h* | -h ) | |
75 | echo "$usage"; exit ;; | |
76 | -- ) # Stop option processing | |
77 | shift; break ;; | |
78 | - ) # Use stdin as input. | |
79 | break ;; | |
80 | -* ) | |
81 | echo "$me: invalid option $1$help" >&2 | |
82 | exit 1 ;; | |
83 | * ) | |
84 | break ;; | |
85 | esac | |
86 | done | |
87 | ||
88 | if test $# != 0; then | |
89 | echo "$me: too many arguments$help" >&2 | |
90 | exit 1 | |
91 | fi | |
92 | ||
93 | trap 'exit 1' 1 2 15 | |
94 | ||
95 | # CC_FOR_BUILD -- compiler used by this script. Note that the use of a | |
96 | # compiler to aid in system detection is discouraged as it requires | |
97 | # temporary files to be created and, as you can see below, it is a | |
98 | # headache to deal with in a portable fashion. | |
99 | ||
100 | # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still | |
101 | # use `HOST_CC' if defined, but it is deprecated. | |
102 | ||
103 | # Portable tmp directory creation inspired by the Autoconf team. | |
104 | ||
105 | set_cc_for_build=' | |
106 | trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; | |
107 | trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; | |
108 | : ${TMPDIR=/tmp} ; | |
109 | { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || | |
110 | { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || | |
111 | { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || | |
112 | { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; | |
113 | dummy=$tmp/dummy ; | |
114 | tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; | |
115 | case $CC_FOR_BUILD,$HOST_CC,$CC in | |
116 | ,,) echo "int x;" > $dummy.c ; | |
117 | for c in cc gcc c89 c99 ; do | |
118 | if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then | |
119 | CC_FOR_BUILD="$c"; break ; | |
120 | fi ; | |
121 | done ; | |
122 | if test x"$CC_FOR_BUILD" = x ; then | |
123 | CC_FOR_BUILD=no_compiler_found ; | |
124 | fi | |
125 | ;; | |
126 | ,,*) CC_FOR_BUILD=$CC ;; | |
127 | ,*,*) CC_FOR_BUILD=$HOST_CC ;; | |
128 | esac ; set_cc_for_build= ;' | |
129 | ||
130 | # This is needed to find uname on a Pyramid OSx when run in the BSD universe. | |
131 | # (ghazi@noc.rutgers.edu 1994-08-24) | |
132 | if (test -f /.attbin/uname) >/dev/null 2>&1 ; then | |
133 | PATH=$PATH:/.attbin ; export PATH | |
134 | fi | |
135 | ||
136 | UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown | |
137 | UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown | |
138 | UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown | |
139 | UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown | |
140 | ||
141 | # Note: order is significant - the case branches are not exclusive. | |
142 | ||
143 | case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in | |
144 | *:NetBSD:*:*) | |
145 | # NetBSD (nbsd) targets should (where applicable) match one or | |
146 | # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, | |
147 | # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently | |
148 | # switched to ELF, *-*-netbsd* would select the old | |
149 | # object file format. This provides both forward | |
150 | # compatibility and a consistent mechanism for selecting the | |
151 | # object file format. | |
152 | # | |
153 | # Note: NetBSD doesn't particularly care about the vendor | |
154 | # portion of the name. We always set it to "unknown". | |
155 | sysctl="sysctl -n hw.machine_arch" | |
156 | UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ | |
157 | /usr/sbin/$sysctl 2>/dev/null || echo unknown)` | |
158 | case "${UNAME_MACHINE_ARCH}" in | |
159 | armeb) machine=armeb-unknown ;; | |
160 | arm*) machine=arm-unknown ;; | |
161 | sh3el) machine=shl-unknown ;; | |
162 | sh3eb) machine=sh-unknown ;; | |
163 | sh5el) machine=sh5le-unknown ;; | |
164 | *) machine=${UNAME_MACHINE_ARCH}-unknown ;; | |
165 | esac | |
166 | # The Operating System including object format, if it has switched | |
167 | # to ELF recently, or will in the future. | |
168 | case "${UNAME_MACHINE_ARCH}" in | |
169 | arm*|i386|m68k|ns32k|sh3*|sparc|vax) | |
170 | eval $set_cc_for_build | |
171 | if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | |
172 | | grep __ELF__ >/dev/null | |
173 | then | |
174 | # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). | |
175 | # Return netbsd for either. FIX? | |
176 | os=netbsd | |
177 | else | |
178 | os=netbsdelf | |
179 | fi | |
180 | ;; | |
181 | *) | |
182 | os=netbsd | |
183 | ;; | |
184 | esac | |
185 | # The OS release | |
186 | # Debian GNU/NetBSD machines have a different userland, and | |
187 | # thus, need a distinct triplet. However, they do not need | |
188 | # kernel version information, so it can be replaced with a | |
189 | # suitable tag, in the style of linux-gnu. | |
190 | case "${UNAME_VERSION}" in | |
191 | Debian*) | |
192 | release='-gnu' | |
193 | ;; | |
194 | *) | |
195 | release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` | |
196 | ;; | |
197 | esac | |
198 | # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: | |
199 | # contains redundant information, the shorter form: | |
200 | # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. | |
201 | echo "${machine}-${os}${release}" | |
202 | exit ;; | |
203 | *:OpenBSD:*:*) | |
204 | UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` | |
205 | echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} | |
206 | exit ;; | |
207 | *:ekkoBSD:*:*) | |
208 | echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} | |
209 | exit ;; | |
210 | *:SolidBSD:*:*) | |
211 | echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} | |
212 | exit ;; | |
213 | macppc:MirBSD:*:*) | |
214 | echo powerpc-unknown-mirbsd${UNAME_RELEASE} | |
215 | exit ;; | |
216 | *:MirBSD:*:*) | |
217 | echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} | |
218 | exit ;; | |
219 | alpha:OSF1:*:*) | |
220 | case $UNAME_RELEASE in | |
221 | *4.0) | |
222 | UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` | |
223 | ;; | |
224 | *5.*) | |
225 | UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` | |
226 | ;; | |
227 | esac | |
228 | # According to Compaq, /usr/sbin/psrinfo has been available on | |
229 | # OSF/1 and Tru64 systems produced since 1995. I hope that | |
230 | # covers most systems running today. This code pipes the CPU | |
231 | # types through head -n 1, so we only detect the type of CPU 0. | |
232 | ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` | |
233 | case "$ALPHA_CPU_TYPE" in | |
234 | "EV4 (21064)") | |
235 | UNAME_MACHINE="alpha" ;; | |
236 | "EV4.5 (21064)") | |
237 | UNAME_MACHINE="alpha" ;; | |
238 | "LCA4 (21066/21068)") | |
239 | UNAME_MACHINE="alpha" ;; | |
240 | "EV5 (21164)") | |
241 | UNAME_MACHINE="alphaev5" ;; | |
242 | "EV5.6 (21164A)") | |
243 | UNAME_MACHINE="alphaev56" ;; | |
244 | "EV5.6 (21164PC)") | |
245 | UNAME_MACHINE="alphapca56" ;; | |
246 | "EV5.7 (21164PC)") | |
247 | UNAME_MACHINE="alphapca57" ;; | |
248 | "EV6 (21264)") | |
249 | UNAME_MACHINE="alphaev6" ;; | |
250 | "EV6.7 (21264A)") | |
251 | UNAME_MACHINE="alphaev67" ;; | |
252 | "EV6.8CB (21264C)") | |
253 | UNAME_MACHINE="alphaev68" ;; | |
254 | "EV6.8AL (21264B)") | |
255 | UNAME_MACHINE="alphaev68" ;; | |
256 | "EV6.8CX (21264D)") | |
257 | UNAME_MACHINE="alphaev68" ;; | |
258 | "EV6.9A (21264/EV69A)") | |
259 | UNAME_MACHINE="alphaev69" ;; | |
260 | "EV7 (21364)") | |
261 | UNAME_MACHINE="alphaev7" ;; | |
262 | "EV7.9 (21364A)") | |
263 | UNAME_MACHINE="alphaev79" ;; | |
264 | esac | |
265 | # A Pn.n version is a patched version. | |
266 | # A Vn.n version is a released version. | |
267 | # A Tn.n version is a released field test version. | |
268 | # A Xn.n version is an unreleased experimental baselevel. | |
269 | # 1.2 uses "1.2" for uname -r. | |
270 | echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` | |
271 | exit ;; | |
272 | Alpha\ *:Windows_NT*:*) | |
273 | # How do we know it's Interix rather than the generic POSIX subsystem? | |
274 | # Should we change UNAME_MACHINE based on the output of uname instead | |
275 | # of the specific Alpha model? | |
276 | echo alpha-pc-interix | |
277 | exit ;; | |
278 | 21064:Windows_NT:50:3) | |
279 | echo alpha-dec-winnt3.5 | |
280 | exit ;; | |
281 | Amiga*:UNIX_System_V:4.0:*) | |
282 | echo m68k-unknown-sysv4 | |
283 | exit ;; | |
284 | *:[Aa]miga[Oo][Ss]:*:*) | |
285 | echo ${UNAME_MACHINE}-unknown-amigaos | |
286 | exit ;; | |
287 | *:[Mm]orph[Oo][Ss]:*:*) | |
288 | echo ${UNAME_MACHINE}-unknown-morphos | |
289 | exit ;; | |
290 | *:OS/390:*:*) | |
291 | echo i370-ibm-openedition | |
292 | exit ;; | |
293 | *:z/VM:*:*) | |
294 | echo s390-ibm-zvmoe | |
295 | exit ;; | |
296 | *:OS400:*:*) | |
297 | echo powerpc-ibm-os400 | |
298 | exit ;; | |
299 | arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) | |
300 | echo arm-acorn-riscix${UNAME_RELEASE} | |
301 | exit ;; | |
302 | arm:riscos:*:*|arm:RISCOS:*:*) | |
303 | echo arm-unknown-riscos | |
304 | exit ;; | |
305 | SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) | |
306 | echo hppa1.1-hitachi-hiuxmpp | |
307 | exit ;; | |
308 | Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) | |
309 | # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. | |
310 | if test "`(/bin/universe) 2>/dev/null`" = att ; then | |
311 | echo pyramid-pyramid-sysv3 | |
312 | else | |
313 | echo pyramid-pyramid-bsd | |
314 | fi | |
315 | exit ;; | |
316 | NILE*:*:*:dcosx) | |
317 | echo pyramid-pyramid-svr4 | |
318 | exit ;; | |
319 | DRS?6000:unix:4.0:6*) | |
320 | echo sparc-icl-nx6 | |
321 | exit ;; | |
322 | DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) | |
323 | case `/usr/bin/uname -p` in | |
324 | sparc) echo sparc-icl-nx7; exit ;; | |
325 | esac ;; | |
326 | s390x:SunOS:*:*) | |
327 | echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | |
328 | exit ;; | |
329 | sun4H:SunOS:5.*:*) | |
330 | echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | |
331 | exit ;; | |
332 | sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) | |
333 | echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | |
334 | exit ;; | |
335 | i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) | |
336 | eval $set_cc_for_build | |
337 | SUN_ARCH="i386" | |
338 | # If there is a compiler, see if it is configured for 64-bit objects. | |
339 | # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. | |
340 | # This test works for both compilers. | |
341 | if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then | |
342 | if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ | |
343 | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ | |
344 | grep IS_64BIT_ARCH >/dev/null | |
345 | then | |
346 | SUN_ARCH="x86_64" | |
347 | fi | |
348 | fi | |
349 | echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | |
350 | exit ;; | |
351 | sun4*:SunOS:6*:*) | |
352 | # According to config.sub, this is the proper way to canonicalize | |
353 | # SunOS6. Hard to guess exactly what SunOS6 will be like, but | |
354 | # it's likely to be more like Solaris than SunOS4. | |
355 | echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | |
356 | exit ;; | |
357 | sun4*:SunOS:*:*) | |
358 | case "`/usr/bin/arch -k`" in | |
359 | Series*|S4*) | |
360 | UNAME_RELEASE=`uname -v` | |
361 | ;; | |
362 | esac | |
363 | # Japanese Language versions have a version number like `4.1.3-JL'. | |
364 | echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` | |
365 | exit ;; | |
366 | sun3*:SunOS:*:*) | |
367 | echo m68k-sun-sunos${UNAME_RELEASE} | |
368 | exit ;; | |
369 | sun*:*:4.2BSD:*) | |
370 | UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` | |
371 | test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 | |
372 | case "`/bin/arch`" in | |
373 | sun3) | |
374 | echo m68k-sun-sunos${UNAME_RELEASE} | |
375 | ;; | |
376 | sun4) | |
377 | echo sparc-sun-sunos${UNAME_RELEASE} | |
378 | ;; | |
379 | esac | |
380 | exit ;; | |
381 | aushp:SunOS:*:*) | |
382 | echo sparc-auspex-sunos${UNAME_RELEASE} | |
383 | exit ;; | |
384 | # The situation for MiNT is a little confusing. The machine name | |
385 | # can be virtually everything (everything which is not | |
386 | # "atarist" or "atariste" at least should have a processor | |
387 | # > m68000). The system name ranges from "MiNT" over "FreeMiNT" | |
388 | # to the lowercase version "mint" (or "freemint"). Finally | |
389 | # the system name "TOS" denotes a system which is actually not | |
390 | # MiNT. But MiNT is downward compatible to TOS, so this should | |
391 | # be no problem. | |
392 | atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) | |
393 | echo m68k-atari-mint${UNAME_RELEASE} | |
394 | exit ;; | |
395 | atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) | |
396 | echo m68k-atari-mint${UNAME_RELEASE} | |
397 | exit ;; | |
398 | *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) | |
399 | echo m68k-atari-mint${UNAME_RELEASE} | |
400 | exit ;; | |
401 | milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) | |
402 | echo m68k-milan-mint${UNAME_RELEASE} | |
403 | exit ;; | |
404 | hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) | |
405 | echo m68k-hades-mint${UNAME_RELEASE} | |
406 | exit ;; | |
407 | *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) | |
408 | echo m68k-unknown-mint${UNAME_RELEASE} | |
409 | exit ;; | |
410 | m68k:machten:*:*) | |
411 | echo m68k-apple-machten${UNAME_RELEASE} | |
412 | exit ;; | |
413 | powerpc:machten:*:*) | |
414 | echo powerpc-apple-machten${UNAME_RELEASE} | |
415 | exit ;; | |
416 | RISC*:Mach:*:*) | |
417 | echo mips-dec-mach_bsd4.3 | |
418 | exit ;; | |
419 | RISC*:ULTRIX:*:*) | |
420 | echo mips-dec-ultrix${UNAME_RELEASE} | |
421 | exit ;; | |
422 | VAX*:ULTRIX*:*:*) | |
423 | echo vax-dec-ultrix${UNAME_RELEASE} | |
424 | exit ;; | |
425 | 2020:CLIX:*:* | 2430:CLIX:*:*) | |
426 | echo clipper-intergraph-clix${UNAME_RELEASE} | |
427 | exit ;; | |
428 | mips:*:*:UMIPS | mips:*:*:RISCos) | |
429 | eval $set_cc_for_build | |
430 | sed 's/^ //' << EOF >$dummy.c | |
431 | #ifdef __cplusplus | |
432 | #include <stdio.h> /* for printf() prototype */ | |
433 | int main (int argc, char *argv[]) { | |
434 | #else | |
435 | int main (argc, argv) int argc; char *argv[]; { | |
436 | #endif | |
437 | #if defined (host_mips) && defined (MIPSEB) | |
438 | #if defined (SYSTYPE_SYSV) | |
439 | printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); | |
440 | #endif | |
441 | #if defined (SYSTYPE_SVR4) | |
442 | printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); | |
443 | #endif | |
444 | #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) | |
445 | printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); | |
446 | #endif | |
447 | #endif | |
448 | exit (-1); | |
449 | } | |
450 | EOF | |
451 | $CC_FOR_BUILD -o $dummy $dummy.c && | |
452 | dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && | |
453 | SYSTEM_NAME=`$dummy $dummyarg` && | |
454 | { echo "$SYSTEM_NAME"; exit; } | |
455 | echo mips-mips-riscos${UNAME_RELEASE} | |
456 | exit ;; | |
457 | Motorola:PowerMAX_OS:*:*) | |
458 | echo powerpc-motorola-powermax | |
459 | exit ;; | |
460 | Motorola:*:4.3:PL8-*) | |
461 | echo powerpc-harris-powermax | |
462 | exit ;; | |
463 | Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) | |
464 | echo powerpc-harris-powermax | |
465 | exit ;; | |
466 | Night_Hawk:Power_UNIX:*:*) | |
467 | echo powerpc-harris-powerunix | |
468 | exit ;; | |
469 | m88k:CX/UX:7*:*) | |
470 | echo m88k-harris-cxux7 | |
471 | exit ;; | |
472 | m88k:*:4*:R4*) | |
473 | echo m88k-motorola-sysv4 | |
474 | exit ;; | |
475 | m88k:*:3*:R3*) | |
476 | echo m88k-motorola-sysv3 | |
477 | exit ;; | |
478 | AViiON:dgux:*:*) | |
479 | # DG/UX returns AViiON for all architectures | |
480 | UNAME_PROCESSOR=`/usr/bin/uname -p` | |
481 | if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] | |
482 | then | |
483 | if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ | |
484 | [ ${TARGET_BINARY_INTERFACE}x = x ] | |
485 | then | |
486 | echo m88k-dg-dgux${UNAME_RELEASE} | |
487 | else | |
488 | echo m88k-dg-dguxbcs${UNAME_RELEASE} | |
489 | fi | |
490 | else | |
491 | echo i586-dg-dgux${UNAME_RELEASE} | |
492 | fi | |
493 | exit ;; | |
494 | M88*:DolphinOS:*:*) # DolphinOS (SVR3) | |
495 | echo m88k-dolphin-sysv3 | |
496 | exit ;; | |
497 | M88*:*:R3*:*) | |
498 | # Delta 88k system running SVR3 | |
499 | echo m88k-motorola-sysv3 | |
500 | exit ;; | |
501 | XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) | |
502 | echo m88k-tektronix-sysv3 | |
503 | exit ;; | |
504 | Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) | |
505 | echo m68k-tektronix-bsd | |
506 | exit ;; | |
507 | *:IRIX*:*:*) | |
508 | echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` | |
509 | exit ;; | |
510 | ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. | |
511 | echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id | |
512 | exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' | |
513 | i*86:AIX:*:*) | |
514 | echo i386-ibm-aix | |
515 | exit ;; | |
516 | ia64:AIX:*:*) | |
517 | if [ -x /usr/bin/oslevel ] ; then | |
518 | IBM_REV=`/usr/bin/oslevel` | |
519 | else | |
520 | IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} | |
521 | fi | |
522 | echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} | |
523 | exit ;; | |
524 | *:AIX:2:3) | |
525 | if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then | |
526 | eval $set_cc_for_build | |
527 | sed 's/^ //' << EOF >$dummy.c | |
528 | #include <sys/systemcfg.h> | |
529 | ||
530 | main() | |
531 | { | |
532 | if (!__power_pc()) | |
533 | exit(1); | |
534 | puts("powerpc-ibm-aix3.2.5"); | |
535 | exit(0); | |
536 | } | |
537 | EOF | |
538 | if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` | |
539 | then | |
540 | echo "$SYSTEM_NAME" | |
541 | else | |
542 | echo rs6000-ibm-aix3.2.5 | |
543 | fi | |
544 | elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then | |
545 | echo rs6000-ibm-aix3.2.4 | |
546 | else | |
547 | echo rs6000-ibm-aix3.2 | |
548 | fi | |
549 | exit ;; | |
550 | *:AIX:*:[456]) | |
551 | IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` | |
552 | if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then | |
553 | IBM_ARCH=rs6000 | |
554 | else | |
555 | IBM_ARCH=powerpc | |
556 | fi | |
557 | if [ -x /usr/bin/oslevel ] ; then | |
558 | IBM_REV=`/usr/bin/oslevel` | |
559 | else | |
560 | IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} | |
561 | fi | |
562 | echo ${IBM_ARCH}-ibm-aix${IBM_REV} | |
563 | exit ;; | |
564 | *:AIX:*:*) | |
565 | echo rs6000-ibm-aix | |
566 | exit ;; | |
567 | ibmrt:4.4BSD:*|romp-ibm:BSD:*) | |
568 | echo romp-ibm-bsd4.4 | |
569 | exit ;; | |
570 | ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and | |
571 | echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to | |
572 | exit ;; # report: romp-ibm BSD 4.3 | |
573 | *:BOSX:*:*) | |
574 | echo rs6000-bull-bosx | |
575 | exit ;; | |
576 | DPX/2?00:B.O.S.:*:*) | |
577 | echo m68k-bull-sysv3 | |
578 | exit ;; | |
579 | 9000/[34]??:4.3bsd:1.*:*) | |
580 | echo m68k-hp-bsd | |
581 | exit ;; | |
582 | hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) | |
583 | echo m68k-hp-bsd4.4 | |
584 | exit ;; | |
585 | 9000/[34678]??:HP-UX:*:*) | |
586 | HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` | |
587 | case "${UNAME_MACHINE}" in | |
588 | 9000/31? ) HP_ARCH=m68000 ;; | |
589 | 9000/[34]?? ) HP_ARCH=m68k ;; | |
590 | 9000/[678][0-9][0-9]) | |
591 | if [ -x /usr/bin/getconf ]; then | |
592 | sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` | |
593 | sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` | |
594 | case "${sc_cpu_version}" in | |
595 | 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 | |
596 | 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 | |
597 | 532) # CPU_PA_RISC2_0 | |
598 | case "${sc_kernel_bits}" in | |
599 | 32) HP_ARCH="hppa2.0n" ;; | |
600 | 64) HP_ARCH="hppa2.0w" ;; | |
601 | '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 | |
602 | esac ;; | |
603 | esac | |
604 | fi | |
605 | if [ "${HP_ARCH}" = "" ]; then | |
606 | eval $set_cc_for_build | |
607 | sed 's/^ //' << EOF >$dummy.c | |
608 | ||
609 | #define _HPUX_SOURCE | |
610 | #include <stdlib.h> | |
611 | #include <unistd.h> | |
612 | ||
613 | int main () | |
614 | { | |
615 | #if defined(_SC_KERNEL_BITS) | |
616 | long bits = sysconf(_SC_KERNEL_BITS); | |
617 | #endif | |
618 | long cpu = sysconf (_SC_CPU_VERSION); | |
619 | ||
620 | switch (cpu) | |
621 | { | |
622 | case CPU_PA_RISC1_0: puts ("hppa1.0"); break; | |
623 | case CPU_PA_RISC1_1: puts ("hppa1.1"); break; | |
624 | case CPU_PA_RISC2_0: | |
625 | #if defined(_SC_KERNEL_BITS) | |
626 | switch (bits) | |
627 | { | |
628 | case 64: puts ("hppa2.0w"); break; | |
629 | case 32: puts ("hppa2.0n"); break; | |
630 | default: puts ("hppa2.0"); break; | |
631 | } break; | |
632 | #else /* !defined(_SC_KERNEL_BITS) */ | |
633 | puts ("hppa2.0"); break; | |
634 | #endif | |
635 | default: puts ("hppa1.0"); break; | |
636 | } | |
637 | exit (0); | |
638 | } | |
639 | EOF | |
640 | (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` | |
641 | test -z "$HP_ARCH" && HP_ARCH=hppa | |
642 | fi ;; | |
643 | esac | |
644 | if [ ${HP_ARCH} = "hppa2.0w" ] | |
645 | then | |
646 | eval $set_cc_for_build | |
647 | ||
648 | # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating | |
649 | # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler | |
650 | # generating 64-bit code. GNU and HP use different nomenclature: | |
651 | # | |
652 | # $ CC_FOR_BUILD=cc ./config.guess | |
653 | # => hppa2.0w-hp-hpux11.23 | |
654 | # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess | |
655 | # => hppa64-hp-hpux11.23 | |
656 | ||
657 | if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | | |
658 | grep __LP64__ >/dev/null | |
659 | then | |
660 | HP_ARCH="hppa2.0w" | |
661 | else | |
662 | HP_ARCH="hppa64" | |
663 | fi | |
664 | fi | |
665 | echo ${HP_ARCH}-hp-hpux${HPUX_REV} | |
666 | exit ;; | |
667 | ia64:HP-UX:*:*) | |
668 | HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` | |
669 | echo ia64-hp-hpux${HPUX_REV} | |
670 | exit ;; | |
671 | 3050*:HI-UX:*:*) | |
672 | eval $set_cc_for_build | |
673 | sed 's/^ //' << EOF >$dummy.c | |
674 | #include <unistd.h> | |
675 | int | |
676 | main () | |
677 | { | |
678 | long cpu = sysconf (_SC_CPU_VERSION); | |
679 | /* The order matters, because CPU_IS_HP_MC68K erroneously returns | |
680 | true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct | |
681 | results, however. */ | |
682 | if (CPU_IS_PA_RISC (cpu)) | |
683 | { | |
684 | switch (cpu) | |
685 | { | |
686 | case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; | |
687 | case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; | |
688 | case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; | |
689 | default: puts ("hppa-hitachi-hiuxwe2"); break; | |
690 | } | |
691 | } | |
692 | else if (CPU_IS_HP_MC68K (cpu)) | |
693 | puts ("m68k-hitachi-hiuxwe2"); | |
694 | else puts ("unknown-hitachi-hiuxwe2"); | |
695 | exit (0); | |
696 | } | |
697 | EOF | |
698 | $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && | |
699 | { echo "$SYSTEM_NAME"; exit; } | |
700 | echo unknown-hitachi-hiuxwe2 | |
701 | exit ;; | |
702 | 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) | |
703 | echo hppa1.1-hp-bsd | |
704 | exit ;; | |
705 | 9000/8??:4.3bsd:*:*) | |
706 | echo hppa1.0-hp-bsd | |
707 | exit ;; | |
708 | *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) | |
709 | echo hppa1.0-hp-mpeix | |
710 | exit ;; | |
711 | hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) | |
712 | echo hppa1.1-hp-osf | |
713 | exit ;; | |
714 | hp8??:OSF1:*:*) | |
715 | echo hppa1.0-hp-osf | |
716 | exit ;; | |
717 | i*86:OSF1:*:*) | |
718 | if [ -x /usr/sbin/sysversion ] ; then | |
719 | echo ${UNAME_MACHINE}-unknown-osf1mk | |
720 | else | |
721 | echo ${UNAME_MACHINE}-unknown-osf1 | |
722 | fi | |
723 | exit ;; | |
724 | parisc*:Lites*:*:*) | |
725 | echo hppa1.1-hp-lites | |
726 | exit ;; | |
727 | C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) | |
728 | echo c1-convex-bsd | |
729 | exit ;; | |
730 | C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) | |
731 | if getsysinfo -f scalar_acc | |
732 | then echo c32-convex-bsd | |
733 | else echo c2-convex-bsd | |
734 | fi | |
735 | exit ;; | |
736 | C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) | |
737 | echo c34-convex-bsd | |
738 | exit ;; | |
739 | C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) | |
740 | echo c38-convex-bsd | |
741 | exit ;; | |
742 | C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) | |
743 | echo c4-convex-bsd | |
744 | exit ;; | |
745 | CRAY*Y-MP:*:*:*) | |
746 | echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' | |
747 | exit ;; | |
748 | CRAY*[A-Z]90:*:*:*) | |
749 | echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | |
750 | | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ | |
751 | -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ | |
752 | -e 's/\.[^.]*$/.X/' | |
753 | exit ;; | |
754 | CRAY*TS:*:*:*) | |
755 | echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' | |
756 | exit ;; | |
757 | CRAY*T3E:*:*:*) | |
758 | echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' | |
759 | exit ;; | |
760 | CRAY*SV1:*:*:*) | |
761 | echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' | |
762 | exit ;; | |
763 | *:UNICOS/mp:*:*) | |
764 | echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' | |
765 | exit ;; | |
766 | F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) | |
767 | FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` | |
768 | FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` | |
769 | FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` | |
770 | echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" | |
771 | exit ;; | |
772 | 5000:UNIX_System_V:4.*:*) | |
773 | FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` | |
774 | FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` | |
775 | echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" | |
776 | exit ;; | |
777 | i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) | |
778 | echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} | |
779 | exit ;; | |
780 | sparc*:BSD/OS:*:*) | |
781 | echo sparc-unknown-bsdi${UNAME_RELEASE} | |
782 | exit ;; | |
783 | *:BSD/OS:*:*) | |
784 | echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} | |
785 | exit ;; | |
786 | *:FreeBSD:*:*) | |
787 | case ${UNAME_MACHINE} in | |
788 | pc98) | |
789 | echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; | |
790 | amd64) | |
791 | echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; | |
792 | *) | |
793 | echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; | |
794 | esac | |
795 | exit ;; | |
796 | i*:CYGWIN*:*) | |
797 | echo ${UNAME_MACHINE}-pc-cygwin | |
798 | exit ;; | |
799 | *:MINGW*:*) | |
800 | echo ${UNAME_MACHINE}-pc-mingw32 | |
801 | exit ;; | |
802 | i*:windows32*:*) | |
803 | # uname -m includes "-pc" on this system. | |
804 | echo ${UNAME_MACHINE}-mingw32 | |
805 | exit ;; | |
806 | i*:PW*:*) | |
807 | echo ${UNAME_MACHINE}-pc-pw32 | |
808 | exit ;; | |
809 | *:Interix*:[3456]*) | |
810 | case ${UNAME_MACHINE} in | |
811 | x86) | |
812 | echo i586-pc-interix${UNAME_RELEASE} | |
813 | exit ;; | |
814 | EM64T | authenticamd | genuineintel) | |
815 | echo x86_64-unknown-interix${UNAME_RELEASE} | |
816 | exit ;; | |
817 | IA64) | |
818 | echo ia64-unknown-interix${UNAME_RELEASE} | |
819 | exit ;; | |
820 | esac ;; | |
821 | [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) | |
822 | echo i${UNAME_MACHINE}-pc-mks | |
823 | exit ;; | |
824 | i*:Windows_NT*:* | Pentium*:Windows_NT*:*) | |
825 | # How do we know it's Interix rather than the generic POSIX subsystem? | |
826 | # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we | |
827 | # UNAME_MACHINE based on the output of uname instead of i386? | |
828 | echo i586-pc-interix | |
829 | exit ;; | |
830 | i*:UWIN*:*) | |
831 | echo ${UNAME_MACHINE}-pc-uwin | |
832 | exit ;; | |
833 | amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) | |
834 | echo x86_64-unknown-cygwin | |
835 | exit ;; | |
836 | p*:CYGWIN*:*) | |
837 | echo powerpcle-unknown-cygwin | |
838 | exit ;; | |
839 | prep*:SunOS:5.*:*) | |
840 | echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | |
841 | exit ;; | |
842 | *:GNU:*:*) | |
843 | # the GNU system | |
844 | echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` | |
845 | exit ;; | |
846 | *:GNU/*:*:*) | |
847 | # other systems with GNU libc and userland | |
848 | echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu | |
849 | exit ;; | |
850 | i*86:Minix:*:*) | |
851 | echo ${UNAME_MACHINE}-pc-minix | |
852 | exit ;; | |
853 | arm*:Linux:*:*) | |
854 | eval $set_cc_for_build | |
855 | if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | |
856 | | grep -q __ARM_EABI__ | |
857 | then | |
858 | echo ${UNAME_MACHINE}-unknown-linux-gnu | |
859 | else | |
860 | echo ${UNAME_MACHINE}-unknown-linux-gnueabi | |
861 | fi | |
862 | exit ;; | |
863 | avr32*:Linux:*:*) | |
864 | echo ${UNAME_MACHINE}-unknown-linux-gnu | |
865 | exit ;; | |
866 | cris:Linux:*:*) | |
867 | echo cris-axis-linux-gnu | |
868 | exit ;; | |
869 | crisv32:Linux:*:*) | |
870 | echo crisv32-axis-linux-gnu | |
871 | exit ;; | |
872 | frv:Linux:*:*) | |
873 | echo frv-unknown-linux-gnu | |
874 | exit ;; | |
875 | ia64:Linux:*:*) | |
876 | echo ${UNAME_MACHINE}-unknown-linux-gnu | |
877 | exit ;; | |
878 | m32r*:Linux:*:*) | |
879 | echo ${UNAME_MACHINE}-unknown-linux-gnu | |
880 | exit ;; | |
881 | m68*:Linux:*:*) | |
882 | echo ${UNAME_MACHINE}-unknown-linux-gnu | |
883 | exit ;; | |
884 | mips:Linux:*:*) | |
885 | eval $set_cc_for_build | |
886 | sed 's/^ //' << EOF >$dummy.c | |
887 | #undef CPU | |
888 | #undef mips | |
889 | #undef mipsel | |
890 | #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) | |
891 | CPU=mipsel | |
892 | #else | |
893 | #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) | |
894 | CPU=mips | |
895 | #else | |
896 | CPU= | |
897 | #endif | |
898 | #endif | |
899 | EOF | |
900 | eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' | |
901 | /^CPU/{ | |
902 | s: ::g | |
903 | p | |
904 | }'`" | |
905 | test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } | |
906 | ;; | |
907 | mips64:Linux:*:*) | |
908 | eval $set_cc_for_build | |
909 | sed 's/^ //' << EOF >$dummy.c | |
910 | #undef CPU | |
911 | #undef mips64 | |
912 | #undef mips64el | |
913 | #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) | |
914 | CPU=mips64el | |
915 | #else | |
916 | #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) | |
917 | CPU=mips64 | |
918 | #else | |
919 | CPU= | |
920 | #endif | |
921 | #endif | |
922 | EOF | |
923 | eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' | |
924 | /^CPU/{ | |
925 | s: ::g | |
926 | p | |
927 | }'`" | |
928 | test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } | |
929 | ;; | |
930 | or32:Linux:*:*) | |
931 | echo or32-unknown-linux-gnu | |
932 | exit ;; | |
933 | ppc:Linux:*:*) | |
934 | echo powerpc-unknown-linux-gnu | |
935 | exit ;; | |
936 | ppc64:Linux:*:*) | |
937 | echo powerpc64-unknown-linux-gnu | |
938 | exit ;; | |
939 | alpha:Linux:*:*) | |
940 | case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in | |
941 | EV5) UNAME_MACHINE=alphaev5 ;; | |
942 | EV56) UNAME_MACHINE=alphaev56 ;; | |
943 | PCA56) UNAME_MACHINE=alphapca56 ;; | |
944 | PCA57) UNAME_MACHINE=alphapca56 ;; | |
945 | EV6) UNAME_MACHINE=alphaev6 ;; | |
946 | EV67) UNAME_MACHINE=alphaev67 ;; | |
947 | EV68*) UNAME_MACHINE=alphaev68 ;; | |
948 | esac | |
949 | objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null | |
950 | if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi | |
951 | echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} | |
952 | exit ;; | |
953 | padre:Linux:*:*) | |
954 | echo sparc-unknown-linux-gnu | |
955 | exit ;; | |
956 | parisc:Linux:*:* | hppa:Linux:*:*) | |
957 | # Look for CPU level | |
958 | case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in | |
959 | PA7*) echo hppa1.1-unknown-linux-gnu ;; | |
960 | PA8*) echo hppa2.0-unknown-linux-gnu ;; | |
961 | *) echo hppa-unknown-linux-gnu ;; | |
962 | esac | |
963 | exit ;; | |
964 | parisc64:Linux:*:* | hppa64:Linux:*:*) | |
965 | echo hppa64-unknown-linux-gnu | |
966 | exit ;; | |
967 | s390:Linux:*:* | s390x:Linux:*:*) | |
968 | echo ${UNAME_MACHINE}-ibm-linux | |
969 | exit ;; | |
970 | sh64*:Linux:*:*) | |
971 | echo ${UNAME_MACHINE}-unknown-linux-gnu | |
972 | exit ;; | |
973 | sh*:Linux:*:*) | |
974 | echo ${UNAME_MACHINE}-unknown-linux-gnu | |
975 | exit ;; | |
976 | sparc:Linux:*:* | sparc64:Linux:*:*) | |
977 | echo ${UNAME_MACHINE}-unknown-linux-gnu | |
978 | exit ;; | |
979 | vax:Linux:*:*) | |
980 | echo ${UNAME_MACHINE}-dec-linux-gnu | |
981 | exit ;; | |
982 | x86_64:Linux:*:*) | |
983 | echo x86_64-unknown-linux-gnu | |
984 | exit ;; | |
985 | xtensa*:Linux:*:*) | |
986 | echo ${UNAME_MACHINE}-unknown-linux-gnu | |
987 | exit ;; | |
988 | i*86:Linux:*:*) | |
989 | # The BFD linker knows what the default object file format is, so | |
990 | # first see if it will tell us. cd to the root directory to prevent | |
991 | # problems with other programs or directories called `ld' in the path. | |
992 | # Set LC_ALL=C to ensure ld outputs messages in English. | |
993 | ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ | |
994 | | sed -ne '/supported targets:/!d | |
995 | s/[ ][ ]*/ /g | |
996 | s/.*supported targets: *// | |
997 | s/ .*// | |
998 | p'` | |
999 | case "$ld_supported_targets" in | |
1000 | elf32-i386) | |
1001 | TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" | |
1002 | ;; | |
1003 | a.out-i386-linux) | |
1004 | echo "${UNAME_MACHINE}-pc-linux-gnuaout" | |
1005 | exit ;; | |
1006 | "") | |
1007 | # Either a pre-BFD a.out linker (linux-gnuoldld) or | |
1008 | # one that does not give us useful --help. | |
1009 | echo "${UNAME_MACHINE}-pc-linux-gnuoldld" | |
1010 | exit ;; | |
1011 | esac | |
1012 | # Determine whether the default compiler is a.out or elf | |
1013 | eval $set_cc_for_build | |
1014 | sed 's/^ //' << EOF >$dummy.c | |
1015 | #include <features.h> | |
1016 | #ifdef __ELF__ | |
1017 | # ifdef __GLIBC__ | |
1018 | # if __GLIBC__ >= 2 | |
1019 | LIBC=gnu | |
1020 | # else | |
1021 | LIBC=gnulibc1 | |
1022 | # endif | |
1023 | # else | |
1024 | LIBC=gnulibc1 | |
1025 | # endif | |
1026 | #else | |
1027 | #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) | |
1028 | LIBC=gnu | |
1029 | #else | |
1030 | LIBC=gnuaout | |
1031 | #endif | |
1032 | #endif | |
1033 | #ifdef __dietlibc__ | |
1034 | LIBC=dietlibc | |
1035 | #endif | |
1036 | EOF | |
1037 | eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' | |
1038 | /^LIBC/{ | |
1039 | s: ::g | |
1040 | p | |
1041 | }'`" | |
1042 | test x"${LIBC}" != x && { | |
1043 | echo "${UNAME_MACHINE}-pc-linux-${LIBC}" | |
1044 | exit | |
1045 | } | |
1046 | test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } | |
1047 | ;; | |
1048 | i*86:DYNIX/ptx:4*:*) | |
1049 | # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. | |
1050 | # earlier versions are messed up and put the nodename in both | |
1051 | # sysname and nodename. | |
1052 | echo i386-sequent-sysv4 | |
1053 | exit ;; | |
1054 | i*86:UNIX_SV:4.2MP:2.*) | |
1055 | # Unixware is an offshoot of SVR4, but it has its own version | |
1056 | # number series starting with 2... | |
1057 | # I am not positive that other SVR4 systems won't match this, | |
1058 | # I just have to hope. -- rms. | |
1059 | # Use sysv4.2uw... so that sysv4* matches it. | |
1060 | echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} | |
1061 | exit ;; | |
1062 | i*86:OS/2:*:*) | |
1063 | # If we were able to find `uname', then EMX Unix compatibility | |
1064 | # is probably installed. | |
1065 | echo ${UNAME_MACHINE}-pc-os2-emx | |
1066 | exit ;; | |
1067 | i*86:XTS-300:*:STOP) | |
1068 | echo ${UNAME_MACHINE}-unknown-stop | |
1069 | exit ;; | |
1070 | i*86:atheos:*:*) | |
1071 | echo ${UNAME_MACHINE}-unknown-atheos | |
1072 | exit ;; | |
1073 | i*86:syllable:*:*) | |
1074 | echo ${UNAME_MACHINE}-pc-syllable | |
1075 | exit ;; | |
1076 | i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) | |
1077 | echo i386-unknown-lynxos${UNAME_RELEASE} | |
1078 | exit ;; | |
1079 | i*86:*DOS:*:*) | |
1080 | echo ${UNAME_MACHINE}-pc-msdosdjgpp | |
1081 | exit ;; | |
1082 | i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) | |
1083 | UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` | |
1084 | if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then | |
1085 | echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} | |
1086 | else | |
1087 | echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} | |
1088 | fi | |
1089 | exit ;; | |
1090 | i*86:*:5:[678]*) | |
1091 | # UnixWare 7.x, OpenUNIX and OpenServer 6. | |
1092 | case `/bin/uname -X | grep "^Machine"` in | |
1093 | *486*) UNAME_MACHINE=i486 ;; | |
1094 | *Pentium) UNAME_MACHINE=i586 ;; | |
1095 | *Pent*|*Celeron) UNAME_MACHINE=i686 ;; | |
1096 | esac | |
1097 | echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} | |
1098 | exit ;; | |
1099 | i*86:*:3.2:*) | |
1100 | if test -f /usr/options/cb.name; then | |
1101 | UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` | |
1102 | echo ${UNAME_MACHINE}-pc-isc$UNAME_REL | |
1103 | elif /bin/uname -X 2>/dev/null >/dev/null ; then | |
1104 | UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` | |
1105 | (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 | |
1106 | (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ | |
1107 | && UNAME_MACHINE=i586 | |
1108 | (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ | |
1109 | && UNAME_MACHINE=i686 | |
1110 | (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ | |
1111 | && UNAME_MACHINE=i686 | |
1112 | echo ${UNAME_MACHINE}-pc-sco$UNAME_REL | |
1113 | else | |
1114 | echo ${UNAME_MACHINE}-pc-sysv32 | |
1115 | fi | |
1116 | exit ;; | |
1117 | pc:*:*:*) | |
1118 | # Left here for compatibility: | |
1119 | # uname -m prints for DJGPP always 'pc', but it prints nothing about | |
1120 | # the processor, so we play safe by assuming i586. | |
1121 | # Note: whatever this is, it MUST be the same as what config.sub | |
1122 | # prints for the "djgpp" host, or else GDB configury will decide that | |
1123 | # this is a cross-build. | |
1124 | echo i586-pc-msdosdjgpp | |
1125 | exit ;; | |
1126 | Intel:Mach:3*:*) | |
1127 | echo i386-pc-mach3 | |
1128 | exit ;; | |
1129 | paragon:*:*:*) | |
1130 | echo i860-intel-osf1 | |
1131 | exit ;; | |
1132 | i860:*:4.*:*) # i860-SVR4 | |
1133 | if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then | |
1134 | echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 | |
1135 | else # Add other i860-SVR4 vendors below as they are discovered. | |
1136 | echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 | |
1137 | fi | |
1138 | exit ;; | |
1139 | mini*:CTIX:SYS*5:*) | |
1140 | # "miniframe" | |
1141 | echo m68010-convergent-sysv | |
1142 | exit ;; | |
1143 | mc68k:UNIX:SYSTEM5:3.51m) | |
1144 | echo m68k-convergent-sysv | |
1145 | exit ;; | |
1146 | M680?0:D-NIX:5.3:*) | |
1147 | echo m68k-diab-dnix | |
1148 | exit ;; | |
1149 | M68*:*:R3V[5678]*:*) | |
1150 | test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; | |
1151 | 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) | |
1152 | OS_REL='' | |
1153 | test -r /etc/.relid \ | |
1154 | && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` | |
1155 | /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ | |
1156 | && { echo i486-ncr-sysv4.3${OS_REL}; exit; } | |
1157 | /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ | |
1158 | && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; | |
1159 | 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) | |
1160 | /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ | |
1161 | && { echo i486-ncr-sysv4; exit; } ;; | |
1162 | NCR*:*:4.2:* | MPRAS*:*:4.2:*) | |
1163 | OS_REL='.3' | |
1164 | test -r /etc/.relid \ | |
1165 | && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` | |
1166 | /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ | |
1167 | && { echo i486-ncr-sysv4.3${OS_REL}; exit; } | |
1168 | /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ | |
1169 | && { echo i586-ncr-sysv4.3${OS_REL}; exit; } | |
1170 | /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ | |
1171 | && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; | |
1172 | m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) | |
1173 | echo m68k-unknown-lynxos${UNAME_RELEASE} | |
1174 | exit ;; | |
1175 | mc68030:UNIX_System_V:4.*:*) | |
1176 | echo m68k-atari-sysv4 | |
1177 | exit ;; | |
1178 | TSUNAMI:LynxOS:2.*:*) | |
1179 | echo sparc-unknown-lynxos${UNAME_RELEASE} | |
1180 | exit ;; | |
1181 | rs6000:LynxOS:2.*:*) | |
1182 | echo rs6000-unknown-lynxos${UNAME_RELEASE} | |
1183 | exit ;; | |
1184 | PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) | |
1185 | echo powerpc-unknown-lynxos${UNAME_RELEASE} | |
1186 | exit ;; | |
1187 | SM[BE]S:UNIX_SV:*:*) | |
1188 | echo mips-dde-sysv${UNAME_RELEASE} | |
1189 | exit ;; | |
1190 | RM*:ReliantUNIX-*:*:*) | |
1191 | echo mips-sni-sysv4 | |
1192 | exit ;; | |
1193 | RM*:SINIX-*:*:*) | |
1194 | echo mips-sni-sysv4 | |
1195 | exit ;; | |
1196 | *:SINIX-*:*:*) | |
1197 | if uname -p 2>/dev/null >/dev/null ; then | |
1198 | UNAME_MACHINE=`(uname -p) 2>/dev/null` | |
1199 | echo ${UNAME_MACHINE}-sni-sysv4 | |
1200 | else | |
1201 | echo ns32k-sni-sysv | |
1202 | fi | |
1203 | exit ;; | |
1204 | PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort | |
1205 | # says <Richard.M.Bartel@ccMail.Census.GOV> | |
1206 | echo i586-unisys-sysv4 | |
1207 | exit ;; | |
1208 | *:UNIX_System_V:4*:FTX*) | |
1209 | # From Gerald Hewes <hewes@openmarket.com>. | |
1210 | # How about differentiating between stratus architectures? -djm | |
1211 | echo hppa1.1-stratus-sysv4 | |
1212 | exit ;; | |
1213 | *:*:*:FTX*) | |
1214 | # From seanf@swdc.stratus.com. | |
1215 | echo i860-stratus-sysv4 | |
1216 | exit ;; | |
1217 | i*86:VOS:*:*) | |
1218 | # From Paul.Green@stratus.com. | |
1219 | echo ${UNAME_MACHINE}-stratus-vos | |
1220 | exit ;; | |
1221 | *:VOS:*:*) | |
1222 | # From Paul.Green@stratus.com. | |
1223 | echo hppa1.1-stratus-vos | |
1224 | exit ;; | |
1225 | mc68*:A/UX:*:*) | |
1226 | echo m68k-apple-aux${UNAME_RELEASE} | |
1227 | exit ;; | |
1228 | news*:NEWS-OS:6*:*) | |
1229 | echo mips-sony-newsos6 | |
1230 | exit ;; | |
1231 | R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) | |
1232 | if [ -d /usr/nec ]; then | |
1233 | echo mips-nec-sysv${UNAME_RELEASE} | |
1234 | else | |
1235 | echo mips-unknown-sysv${UNAME_RELEASE} | |
1236 | fi | |
1237 | exit ;; | |
1238 | BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. | |
1239 | echo powerpc-be-beos | |
1240 | exit ;; | |
1241 | BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. | |
1242 | echo powerpc-apple-beos | |
1243 | exit ;; | |
1244 | BePC:BeOS:*:*) # BeOS running on Intel PC compatible. | |
1245 | echo i586-pc-beos | |
1246 | exit ;; | |
1247 | BePC:Haiku:*:*) # Haiku running on Intel PC compatible. | |
1248 | echo i586-pc-haiku | |
1249 | exit ;; | |
1250 | SX-4:SUPER-UX:*:*) | |
1251 | echo sx4-nec-superux${UNAME_RELEASE} | |
1252 | exit ;; | |
1253 | SX-5:SUPER-UX:*:*) | |
1254 | echo sx5-nec-superux${UNAME_RELEASE} | |
1255 | exit ;; | |
1256 | SX-6:SUPER-UX:*:*) | |
1257 | echo sx6-nec-superux${UNAME_RELEASE} | |
1258 | exit ;; | |
1259 | SX-7:SUPER-UX:*:*) | |
1260 | echo sx7-nec-superux${UNAME_RELEASE} | |
1261 | exit ;; | |
1262 | SX-8:SUPER-UX:*:*) | |
1263 | echo sx8-nec-superux${UNAME_RELEASE} | |
1264 | exit ;; | |
1265 | SX-8R:SUPER-UX:*:*) | |
1266 | echo sx8r-nec-superux${UNAME_RELEASE} | |
1267 | exit ;; | |
1268 | Power*:Rhapsody:*:*) | |
1269 | echo powerpc-apple-rhapsody${UNAME_RELEASE} | |
1270 | exit ;; | |
1271 | *:Rhapsody:*:*) | |
1272 | echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} | |
1273 | exit ;; | |
1274 | *:Darwin:*:*) | |
1275 | UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown | |
1276 | case $UNAME_PROCESSOR in | |
1277 | unknown) UNAME_PROCESSOR=powerpc ;; | |
1278 | esac | |
1279 | echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} | |
1280 | exit ;; | |
1281 | *:procnto*:*:* | *:QNX:[0123456789]*:*) | |
1282 | UNAME_PROCESSOR=`uname -p` | |
1283 | if test "$UNAME_PROCESSOR" = "x86"; then | |
1284 | UNAME_PROCESSOR=i386 | |
1285 | UNAME_MACHINE=pc | |
1286 | fi | |
1287 | echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} | |
1288 | exit ;; | |
1289 | *:QNX:*:4*) | |
1290 | echo i386-pc-qnx | |
1291 | exit ;; | |
1292 | NSE-?:NONSTOP_KERNEL:*:*) | |
1293 | echo nse-tandem-nsk${UNAME_RELEASE} | |
1294 | exit ;; | |
1295 | NSR-?:NONSTOP_KERNEL:*:*) | |
1296 | echo nsr-tandem-nsk${UNAME_RELEASE} | |
1297 | exit ;; | |
1298 | *:NonStop-UX:*:*) | |
1299 | echo mips-compaq-nonstopux | |
1300 | exit ;; | |
1301 | BS2000:POSIX*:*:*) | |
1302 | echo bs2000-siemens-sysv | |
1303 | exit ;; | |
1304 | DS/*:UNIX_System_V:*:*) | |
1305 | echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} | |
1306 | exit ;; | |
1307 | *:Plan9:*:*) | |
1308 | # "uname -m" is not consistent, so use $cputype instead. 386 | |
1309 | # is converted to i386 for consistency with other x86 | |
1310 | # operating systems. | |
1311 | if test "$cputype" = "386"; then | |
1312 | UNAME_MACHINE=i386 | |
1313 | else | |
1314 | UNAME_MACHINE="$cputype" | |
1315 | fi | |
1316 | echo ${UNAME_MACHINE}-unknown-plan9 | |
1317 | exit ;; | |
1318 | *:TOPS-10:*:*) | |
1319 | echo pdp10-unknown-tops10 | |
1320 | exit ;; | |
1321 | *:TENEX:*:*) | |
1322 | echo pdp10-unknown-tenex | |
1323 | exit ;; | |
1324 | KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) | |
1325 | echo pdp10-dec-tops20 | |
1326 | exit ;; | |
1327 | XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) | |
1328 | echo pdp10-xkl-tops20 | |
1329 | exit ;; | |
1330 | *:TOPS-20:*:*) | |
1331 | echo pdp10-unknown-tops20 | |
1332 | exit ;; | |
1333 | *:ITS:*:*) | |
1334 | echo pdp10-unknown-its | |
1335 | exit ;; | |
1336 | SEI:*:*:SEIUX) | |
1337 | echo mips-sei-seiux${UNAME_RELEASE} | |
1338 | exit ;; | |
1339 | *:DragonFly:*:*) | |
1340 | echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` | |
1341 | exit ;; | |
1342 | *:*VMS:*:*) | |
1343 | UNAME_MACHINE=`(uname -p) 2>/dev/null` | |
1344 | case "${UNAME_MACHINE}" in | |
1345 | A*) echo alpha-dec-vms ; exit ;; | |
1346 | I*) echo ia64-dec-vms ; exit ;; | |
1347 | V*) echo vax-dec-vms ; exit ;; | |
1348 | esac ;; | |
1349 | *:XENIX:*:SysV) | |
1350 | echo i386-pc-xenix | |
1351 | exit ;; | |
1352 | i*86:skyos:*:*) | |
1353 | echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' | |
1354 | exit ;; | |
1355 | i*86:rdos:*:*) | |
1356 | echo ${UNAME_MACHINE}-pc-rdos | |
1357 | exit ;; | |
1358 | i*86:AROS:*:*) | |
1359 | echo ${UNAME_MACHINE}-pc-aros | |
1360 | exit ;; | |
1361 | esac | |
1362 | ||
1363 | #echo '(No uname command or uname output not recognized.)' 1>&2 | |
1364 | #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 | |
1365 | ||
1366 | eval $set_cc_for_build | |
1367 | cat >$dummy.c <<EOF | |
1368 | #ifdef _SEQUENT_ | |
1369 | # include <sys/types.h> | |
1370 | # include <sys/utsname.h> | |
1371 | #endif | |
1372 | main () | |
1373 | { | |
1374 | #if defined (sony) | |
1375 | #if defined (MIPSEB) | |
1376 | /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, | |
1377 | I don't know.... */ | |
1378 | printf ("mips-sony-bsd\n"); exit (0); | |
1379 | #else | |
1380 | #include <sys/param.h> | |
1381 | printf ("m68k-sony-newsos%s\n", | |
1382 | #ifdef NEWSOS4 | |
1383 | "4" | |
1384 | #else | |
1385 | "" | |
1386 | #endif | |
1387 | ); exit (0); | |
1388 | #endif | |
1389 | #endif | |
1390 | ||
1391 | #if defined (__arm) && defined (__acorn) && defined (__unix) | |
1392 | printf ("arm-acorn-riscix\n"); exit (0); | |
1393 | #endif | |
1394 | ||
1395 | #if defined (hp300) && !defined (hpux) | |
1396 | printf ("m68k-hp-bsd\n"); exit (0); | |
1397 | #endif | |
1398 | ||
1399 | #if defined (NeXT) | |
1400 | #if !defined (__ARCHITECTURE__) | |
1401 | #define __ARCHITECTURE__ "m68k" | |
1402 | #endif | |
1403 | int version; | |
1404 | version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; | |
1405 | if (version < 4) | |
1406 | printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); | |
1407 | else | |
1408 | printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); | |
1409 | exit (0); | |
1410 | #endif | |
1411 | ||
1412 | #if defined (MULTIMAX) || defined (n16) | |
1413 | #if defined (UMAXV) | |
1414 | printf ("ns32k-encore-sysv\n"); exit (0); | |
1415 | #else | |
1416 | #if defined (CMU) | |
1417 | printf ("ns32k-encore-mach\n"); exit (0); | |
1418 | #else | |
1419 | printf ("ns32k-encore-bsd\n"); exit (0); | |
1420 | #endif | |
1421 | #endif | |
1422 | #endif | |
1423 | ||
1424 | #if defined (__386BSD__) | |
1425 | printf ("i386-pc-bsd\n"); exit (0); | |
1426 | #endif | |
1427 | ||
1428 | #if defined (sequent) | |
1429 | #if defined (i386) | |
1430 | printf ("i386-sequent-dynix\n"); exit (0); | |
1431 | #endif | |
1432 | #if defined (ns32000) | |
1433 | printf ("ns32k-sequent-dynix\n"); exit (0); | |
1434 | #endif | |
1435 | #endif | |
1436 | ||
1437 | #if defined (_SEQUENT_) | |
1438 | struct utsname un; | |
1439 | ||
1440 | uname(&un); | |
1441 | ||
1442 | if (strncmp(un.version, "V2", 2) == 0) { | |
1443 | printf ("i386-sequent-ptx2\n"); exit (0); | |
1444 | } | |
1445 | if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ | |
1446 | printf ("i386-sequent-ptx1\n"); exit (0); | |
1447 | } | |
1448 | printf ("i386-sequent-ptx\n"); exit (0); | |
1449 | ||
1450 | #endif | |
1451 | ||
1452 | #if defined (vax) | |
1453 | # if !defined (ultrix) | |
1454 | # include <sys/param.h> | |
1455 | # if defined (BSD) | |
1456 | # if BSD == 43 | |
1457 | printf ("vax-dec-bsd4.3\n"); exit (0); | |
1458 | # else | |
1459 | # if BSD == 199006 | |
1460 | printf ("vax-dec-bsd4.3reno\n"); exit (0); | |
1461 | # else | |
1462 | printf ("vax-dec-bsd\n"); exit (0); | |
1463 | # endif | |
1464 | # endif | |
1465 | # else | |
1466 | printf ("vax-dec-bsd\n"); exit (0); | |
1467 | # endif | |
1468 | # else | |
1469 | printf ("vax-dec-ultrix\n"); exit (0); | |
1470 | # endif | |
1471 | #endif | |
1472 | ||
1473 | #if defined (alliant) && defined (i860) | |
1474 | printf ("i860-alliant-bsd\n"); exit (0); | |
1475 | #endif | |
1476 | ||
1477 | exit (1); | |
1478 | } | |
1479 | EOF | |
1480 | ||
1481 | $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && | |
1482 | { echo "$SYSTEM_NAME"; exit; } | |
1483 | ||
1484 | # Apollos put the system type in the environment. | |
1485 | ||
1486 | test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } | |
1487 | ||
1488 | # Convex versions that predate uname can use getsysinfo(1) | |
1489 | ||
1490 | if [ -x /usr/convex/getsysinfo ] | |
1491 | then | |
1492 | case `getsysinfo -f cpu_type` in | |
1493 | c1*) | |
1494 | echo c1-convex-bsd | |
1495 | exit ;; | |
1496 | c2*) | |
1497 | if getsysinfo -f scalar_acc | |
1498 | then echo c32-convex-bsd | |
1499 | else echo c2-convex-bsd | |
1500 | fi | |
1501 | exit ;; | |
1502 | c34*) | |
1503 | echo c34-convex-bsd | |
1504 | exit ;; | |
1505 | c38*) | |
1506 | echo c38-convex-bsd | |
1507 | exit ;; | |
1508 | c4*) | |
1509 | echo c4-convex-bsd | |
1510 | exit ;; | |
1511 | esac | |
1512 | fi | |
1513 | ||
1514 | cat >&2 <<EOF | |
1515 | $0: unable to guess system type | |
1516 | ||
1517 | This script, last modified $timestamp, has failed to recognize | |
1518 | the operating system you are using. It is advised that you | |
1519 | download the most up to date version of the config scripts from | |
1520 | ||
1521 | http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD | |
1522 | and | |
1523 | http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD | |
1524 | ||
1525 | If the version you run ($0) is already up to date, please | |
1526 | send the following data and any information you think might be | |
1527 | pertinent to <config-patches@gnu.org> in order to provide the needed | |
1528 | information to handle your system. | |
1529 | ||
1530 | config.guess timestamp = $timestamp | |
1531 | ||
1532 | uname -m = `(uname -m) 2>/dev/null || echo unknown` | |
1533 | uname -r = `(uname -r) 2>/dev/null || echo unknown` | |
1534 | uname -s = `(uname -s) 2>/dev/null || echo unknown` | |
1535 | uname -v = `(uname -v) 2>/dev/null || echo unknown` | |
1536 | ||
1537 | /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` | |
1538 | /bin/uname -X = `(/bin/uname -X) 2>/dev/null` | |
1539 | ||
1540 | hostinfo = `(hostinfo) 2>/dev/null` | |
1541 | /bin/universe = `(/bin/universe) 2>/dev/null` | |
1542 | /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` | |
1543 | /bin/arch = `(/bin/arch) 2>/dev/null` | |
1544 | /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` | |
1545 | /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` | |
1546 | ||
1547 | UNAME_MACHINE = ${UNAME_MACHINE} | |
1548 | UNAME_RELEASE = ${UNAME_RELEASE} | |
1549 | UNAME_SYSTEM = ${UNAME_SYSTEM} | |
1550 | UNAME_VERSION = ${UNAME_VERSION} | |
1551 | EOF | |
1552 | ||
1553 | exit 1 | |
1554 | ||
1555 | # Local variables: | |
1556 | # eval: (add-hook 'write-file-hooks 'time-stamp) | |
1557 | # time-stamp-start: "timestamp='" | |
1558 | # time-stamp-format: "%:y-%02m-%02d" | |
1559 | # time-stamp-end: "'" | |
1560 | # End: |
0 | #! /bin/sh | |
1 | # Configuration validation subroutine script. | |
2 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, | |
3 | # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 | |
4 | # Free Software Foundation, Inc. | |
5 | ||
6 | timestamp='2009-04-17' | |
7 | ||
8 | # This file is (in principle) common to ALL GNU software. | |
9 | # The presence of a machine in this file suggests that SOME GNU software | |
10 | # can handle that machine. It does not imply ALL GNU software can. | |
11 | # | |
12 | # This file is free software; you can redistribute it and/or modify | |
13 | # it under the terms of the GNU General Public License as published by | |
14 | # the Free Software Foundation; either version 2 of the License, or | |
15 | # (at your option) any later version. | |
16 | # | |
17 | # This program is distributed in the hope that it will be useful, | |
18 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 | # GNU General Public License for more details. | |
21 | # | |
22 | # You should have received a copy of the GNU General Public License | |
23 | # along with this program; if not, write to the Free Software | |
24 | # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA | |
25 | # 02110-1301, USA. | |
26 | # | |
27 | # As a special exception to the GNU General Public License, if you | |
28 | # distribute this file as part of a program that contains a | |
29 | # configuration script generated by Autoconf, you may include it under | |
30 | # the same distribution terms that you use for the rest of that program. | |
31 | ||
32 | ||
33 | # Please send patches to <config-patches@gnu.org>. Submit a context | |
34 | # diff and a properly formatted ChangeLog entry. | |
35 | # | |
36 | # Configuration subroutine to validate and canonicalize a configuration type. | |
37 | # Supply the specified configuration type as an argument. | |
38 | # If it is invalid, we print an error message on stderr and exit with code 1. | |
39 | # Otherwise, we print the canonical config type on stdout and succeed. | |
40 | ||
41 | # This file is supposed to be the same for all GNU packages | |
42 | # and recognize all the CPU types, system types and aliases | |
43 | # that are meaningful with *any* GNU software. | |
44 | # Each package is responsible for reporting which valid configurations | |
45 | # it does not support. The user should be able to distinguish | |
46 | # a failure to support a valid configuration from a meaningless | |
47 | # configuration. | |
48 | ||
49 | # The goal of this file is to map all the various variations of a given | |
50 | # machine specification into a single specification in the form: | |
51 | # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM | |
52 | # or in some cases, the newer four-part form: | |
53 | # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM | |
54 | # It is wrong to echo any other type of specification. | |
55 | ||
56 | me=`echo "$0" | sed -e 's,.*/,,'` | |
57 | ||
58 | usage="\ | |
59 | Usage: $0 [OPTION] CPU-MFR-OPSYS | |
60 | $0 [OPTION] ALIAS | |
61 | ||
62 | Canonicalize a configuration name. | |
63 | ||
64 | Operation modes: | |
65 | -h, --help print this help, then exit | |
66 | -t, --time-stamp print date of last modification, then exit | |
67 | -v, --version print version number, then exit | |
68 | ||
69 | Report bugs and patches to <config-patches@gnu.org>." | |
70 | ||
71 | version="\ | |
72 | GNU config.sub ($timestamp) | |
73 | ||
74 | Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, | |
75 | 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. | |
76 | ||
77 | This is free software; see the source for copying conditions. There is NO | |
78 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." | |
79 | ||
80 | help=" | |
81 | Try \`$me --help' for more information." | |
82 | ||
83 | # Parse command line | |
84 | while test $# -gt 0 ; do | |
85 | case $1 in | |
86 | --time-stamp | --time* | -t ) | |
87 | echo "$timestamp" ; exit ;; | |
88 | --version | -v ) | |
89 | echo "$version" ; exit ;; | |
90 | --help | --h* | -h ) | |
91 | echo "$usage"; exit ;; | |
92 | -- ) # Stop option processing | |
93 | shift; break ;; | |
94 | - ) # Use stdin as input. | |
95 | break ;; | |
96 | -* ) | |
97 | echo "$me: invalid option $1$help" | |
98 | exit 1 ;; | |
99 | ||
100 | *local*) | |
101 | # First pass through any local machine types. | |
102 | echo $1 | |
103 | exit ;; | |
104 | ||
105 | * ) | |
106 | break ;; | |
107 | esac | |
108 | done | |
109 | ||
110 | case $# in | |
111 | 0) echo "$me: missing argument$help" >&2 | |
112 | exit 1;; | |
113 | 1) ;; | |
114 | *) echo "$me: too many arguments$help" >&2 | |
115 | exit 1;; | |
116 | esac | |
117 | ||
118 | # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). | |
119 | # Here we must recognize all the valid KERNEL-OS combinations. | |
120 | maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` | |
121 | case $maybe_os in | |
122 | nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ | |
123 | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ | |
124 | kopensolaris*-gnu* | \ | |
125 | storm-chaos* | os2-emx* | rtmk-nova*) | |
126 | os=-$maybe_os | |
127 | basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` | |
128 | ;; | |
129 | *) | |
130 | basic_machine=`echo $1 | sed 's/-[^-]*$//'` | |
131 | if [ $basic_machine != $1 ] | |
132 | then os=`echo $1 | sed 's/.*-/-/'` | |
133 | else os=; fi | |
134 | ;; | |
135 | esac | |
136 | ||
137 | ### Let's recognize common machines as not being operating systems so | |
138 | ### that things like config.sub decstation-3100 work. We also | |
139 | ### recognize some manufacturers as not being operating systems, so we | |
140 | ### can provide default operating systems below. | |
141 | case $os in | |
142 | -sun*os*) | |
143 | # Prevent following clause from handling this invalid input. | |
144 | ;; | |
145 | -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ | |
146 | -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ | |
147 | -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ | |
148 | -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ | |
149 | -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ | |
150 | -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ | |
151 | -apple | -axis | -knuth | -cray) | |
152 | os= | |
153 | basic_machine=$1 | |
154 | ;; | |
155 | -sim | -cisco | -oki | -wec | -winbond) | |
156 | os= | |
157 | basic_machine=$1 | |
158 | ;; | |
159 | -scout) | |
160 | ;; | |
161 | -wrs) | |
162 | os=-vxworks | |
163 | basic_machine=$1 | |
164 | ;; | |
165 | -chorusos*) | |
166 | os=-chorusos | |
167 | basic_machine=$1 | |
168 | ;; | |
169 | -chorusrdb) | |
170 | os=-chorusrdb | |
171 | basic_machine=$1 | |
172 | ;; | |
173 | -hiux*) | |
174 | os=-hiuxwe2 | |
175 | ;; | |
176 | -sco6) | |
177 | os=-sco5v6 | |
178 | basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
179 | ;; | |
180 | -sco5) | |
181 | os=-sco3.2v5 | |
182 | basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
183 | ;; | |
184 | -sco4) | |
185 | os=-sco3.2v4 | |
186 | basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
187 | ;; | |
188 | -sco3.2.[4-9]*) | |
189 | os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` | |
190 | basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
191 | ;; | |
192 | -sco3.2v[4-9]*) | |
193 | # Don't forget version if it is 3.2v4 or newer. | |
194 | basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
195 | ;; | |
196 | -sco5v6*) | |
197 | # Don't forget version if it is 3.2v4 or newer. | |
198 | basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
199 | ;; | |
200 | -sco*) | |
201 | os=-sco3.2v2 | |
202 | basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
203 | ;; | |
204 | -udk*) | |
205 | basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
206 | ;; | |
207 | -isc) | |
208 | os=-isc2.2 | |
209 | basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
210 | ;; | |
211 | -clix*) | |
212 | basic_machine=clipper-intergraph | |
213 | ;; | |
214 | -isc*) | |
215 | basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
216 | ;; | |
217 | -lynx*) | |
218 | os=-lynxos | |
219 | ;; | |
220 | -ptx*) | |
221 | basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` | |
222 | ;; | |
223 | -windowsnt*) | |
224 | os=`echo $os | sed -e 's/windowsnt/winnt/'` | |
225 | ;; | |
226 | -psos*) | |
227 | os=-psos | |
228 | ;; | |
229 | -mint | -mint[0-9]*) | |
230 | basic_machine=m68k-atari | |
231 | os=-mint | |
232 | ;; | |
233 | esac | |
234 | ||
235 | # Decode aliases for certain CPU-COMPANY combinations. | |
236 | case $basic_machine in | |
237 | # Recognize the basic CPU types without company name. | |
238 | # Some are omitted here because they have special meanings below. | |
239 | 1750a | 580 \ | |
240 | | a29k \ | |
241 | | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | |
242 | | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | |
243 | | am33_2.0 \ | |
244 | | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | |
245 | | bfin \ | |
246 | | c4x | clipper \ | |
247 | | d10v | d30v | dlx | dsp16xx \ | |
248 | | fido | fr30 | frv \ | |
249 | | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | |
250 | | i370 | i860 | i960 | ia64 \ | |
251 | | ip2k | iq2000 \ | |
252 | | lm32 \ | |
253 | | m32c | m32r | m32rle | m68000 | m68k | m88k \ | |
254 | | maxq | mb | microblaze | mcore | mep | metag \ | |
255 | | mips | mipsbe | mipseb | mipsel | mipsle \ | |
256 | | mips16 \ | |
257 | | mips64 | mips64el \ | |
258 | | mips64octeon | mips64octeonel \ | |
259 | | mips64orion | mips64orionel \ | |
260 | | mips64r5900 | mips64r5900el \ | |
261 | | mips64vr | mips64vrel \ | |
262 | | mips64vr4100 | mips64vr4100el \ | |
263 | | mips64vr4300 | mips64vr4300el \ | |
264 | | mips64vr5000 | mips64vr5000el \ | |
265 | | mips64vr5900 | mips64vr5900el \ | |
266 | | mipsisa32 | mipsisa32el \ | |
267 | | mipsisa32r2 | mipsisa32r2el \ | |
268 | | mipsisa64 | mipsisa64el \ | |
269 | | mipsisa64r2 | mipsisa64r2el \ | |
270 | | mipsisa64sb1 | mipsisa64sb1el \ | |
271 | | mipsisa64sr71k | mipsisa64sr71kel \ | |
272 | | mipstx39 | mipstx39el \ | |
273 | | mn10200 | mn10300 \ | |
274 | | moxie \ | |
275 | | mt \ | |
276 | | msp430 \ | |
277 | | nios | nios2 \ | |
278 | | ns16k | ns32k \ | |
279 | | or32 \ | |
280 | | pdp10 | pdp11 | pj | pjl \ | |
281 | | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | |
282 | | pyramid \ | |
283 | | score \ | |
284 | | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | |
285 | | sh64 | sh64le \ | |
286 | | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | |
287 | | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | |
288 | | spu | strongarm \ | |
289 | | tahoe | thumb | tic4x | tic80 | tron \ | |
290 | | v850 | v850e \ | |
291 | | we32k \ | |
292 | | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | |
293 | | z8k | z80) | |
294 | basic_machine=$basic_machine-unknown | |
295 | ;; | |
296 | m6811 | m68hc11 | m6812 | m68hc12) | |
297 | # Motorola 68HC11/12. | |
298 | basic_machine=$basic_machine-unknown | |
299 | os=-none | |
300 | ;; | |
301 | m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) | |
302 | ;; | |
303 | ms1) | |
304 | basic_machine=mt-unknown | |
305 | ;; | |
306 | ||
307 | # We use `pc' rather than `unknown' | |
308 | # because (1) that's what they normally are, and | |
309 | # (2) the word "unknown" tends to confuse beginning users. | |
310 | i*86 | x86_64) | |
311 | basic_machine=$basic_machine-pc | |
312 | ;; | |
313 | # Object if more than one company name word. | |
314 | *-*-*) | |
315 | echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 | |
316 | exit 1 | |
317 | ;; | |
318 | # Recognize the basic CPU types with company name. | |
319 | 580-* \ | |
320 | | a29k-* \ | |
321 | | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | |
322 | | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | |
323 | | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | |
324 | | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | |
325 | | avr-* | avr32-* \ | |
326 | | bfin-* | bs2000-* \ | |
327 | | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | |
328 | | clipper-* | craynv-* | cydra-* \ | |
329 | | d10v-* | d30v-* | dlx-* \ | |
330 | | elxsi-* \ | |
331 | | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | |
332 | | h8300-* | h8500-* \ | |
333 | | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | |
334 | | i*86-* | i860-* | i960-* | ia64-* \ | |
335 | | ip2k-* | iq2000-* \ | |
336 | | lm32-* \ | |
337 | | m32c-* | m32r-* | m32rle-* \ | |
338 | | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | |
339 | | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | |
340 | | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | |
341 | | mips16-* \ | |
342 | | mips64-* | mips64el-* \ | |
343 | | mips64octeon-* | mips64octeonel-* \ | |
344 | | mips64orion-* | mips64orionel-* \ | |
345 | | mips64r5900-* | mips64r5900el-* \ | |
346 | | mips64vr-* | mips64vrel-* \ | |
347 | | mips64vr4100-* | mips64vr4100el-* \ | |
348 | | mips64vr4300-* | mips64vr4300el-* \ | |
349 | | mips64vr5000-* | mips64vr5000el-* \ | |
350 | | mips64vr5900-* | mips64vr5900el-* \ | |
351 | | mipsisa32-* | mipsisa32el-* \ | |
352 | | mipsisa32r2-* | mipsisa32r2el-* \ | |
353 | | mipsisa64-* | mipsisa64el-* \ | |
354 | | mipsisa64r2-* | mipsisa64r2el-* \ | |
355 | | mipsisa64sb1-* | mipsisa64sb1el-* \ | |
356 | | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | |
357 | | mipstx39-* | mipstx39el-* \ | |
358 | | mmix-* \ | |
359 | | mt-* \ | |
360 | | msp430-* \ | |
361 | | nios-* | nios2-* \ | |
362 | | none-* | np1-* | ns16k-* | ns32k-* \ | |
363 | | orion-* \ | |
364 | | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | |
365 | | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | |
366 | | pyramid-* \ | |
367 | | romp-* | rs6000-* \ | |
368 | | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | |
369 | | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | |
370 | | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | |
371 | | sparclite-* \ | |
372 | | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | |
373 | | tahoe-* | thumb-* \ | |
374 | | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ | |
375 | | tron-* \ | |
376 | | v850-* | v850e-* | vax-* \ | |
377 | | we32k-* \ | |
378 | | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | |
379 | | xstormy16-* | xtensa*-* \ | |
380 | | ymp-* \ | |
381 | | z8k-* | z80-*) | |
382 | ;; | |
383 | # Recognize the basic CPU types without company name, with glob match. | |
384 | xtensa*) | |
385 | basic_machine=$basic_machine-unknown | |
386 | ;; | |
387 | # Recognize the various machine names and aliases which stand | |
388 | # for a CPU type and a company and sometimes even an OS. | |
389 | 386bsd) | |
390 | basic_machine=i386-unknown | |
391 | os=-bsd | |
392 | ;; | |
393 | 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) | |
394 | basic_machine=m68000-att | |
395 | ;; | |
396 | 3b*) | |
397 | basic_machine=we32k-att | |
398 | ;; | |
399 | a29khif) | |
400 | basic_machine=a29k-amd | |
401 | os=-udi | |
402 | ;; | |
403 | abacus) | |
404 | basic_machine=abacus-unknown | |
405 | ;; | |
406 | adobe68k) | |
407 | basic_machine=m68010-adobe | |
408 | os=-scout | |
409 | ;; | |
410 | alliant | fx80) | |
411 | basic_machine=fx80-alliant | |
412 | ;; | |
413 | altos | altos3068) | |
414 | basic_machine=m68k-altos | |
415 | ;; | |
416 | am29k) | |
417 | basic_machine=a29k-none | |
418 | os=-bsd | |
419 | ;; | |
420 | amd64) | |
421 | basic_machine=x86_64-pc | |
422 | ;; | |
423 | amd64-*) | |
424 | basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` | |
425 | ;; | |
426 | amdahl) | |
427 | basic_machine=580-amdahl | |
428 | os=-sysv | |
429 | ;; | |
430 | amiga | amiga-*) | |
431 | basic_machine=m68k-unknown | |
432 | ;; | |
433 | amigaos | amigados) | |
434 | basic_machine=m68k-unknown | |
435 | os=-amigaos | |
436 | ;; | |
437 | amigaunix | amix) | |
438 | basic_machine=m68k-unknown | |
439 | os=-sysv4 | |
440 | ;; | |
441 | apollo68) | |
442 | basic_machine=m68k-apollo | |
443 | os=-sysv | |
444 | ;; | |
445 | apollo68bsd) | |
446 | basic_machine=m68k-apollo | |
447 | os=-bsd | |
448 | ;; | |
449 | aros) | |
450 | basic_machine=i386-pc | |
451 | os=-aros | |
452 | ;; | |
453 | aux) | |
454 | basic_machine=m68k-apple | |
455 | os=-aux | |
456 | ;; | |
457 | balance) | |
458 | basic_machine=ns32k-sequent | |
459 | os=-dynix | |
460 | ;; | |
461 | blackfin) | |
462 | basic_machine=bfin-unknown | |
463 | os=-linux | |
464 | ;; | |
465 | blackfin-*) | |
466 | basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` | |
467 | os=-linux | |
468 | ;; | |
469 | c90) | |
470 | basic_machine=c90-cray | |
471 | os=-unicos | |
472 | ;; | |
473 | cegcc) | |
474 | basic_machine=arm-unknown | |
475 | os=-cegcc | |
476 | ;; | |
477 | convex-c1) | |
478 | basic_machine=c1-convex | |
479 | os=-bsd | |
480 | ;; | |
481 | convex-c2) | |
482 | basic_machine=c2-convex | |
483 | os=-bsd | |
484 | ;; | |
485 | convex-c32) | |
486 | basic_machine=c32-convex | |
487 | os=-bsd | |
488 | ;; | |
489 | convex-c34) | |
490 | basic_machine=c34-convex | |
491 | os=-bsd | |
492 | ;; | |
493 | convex-c38) | |
494 | basic_machine=c38-convex | |
495 | os=-bsd | |
496 | ;; | |
497 | cray | j90) | |
498 | basic_machine=j90-cray | |
499 | os=-unicos | |
500 | ;; | |
501 | craynv) | |
502 | basic_machine=craynv-cray | |
503 | os=-unicosmp | |
504 | ;; | |
505 | cr16) | |
506 | basic_machine=cr16-unknown | |
507 | os=-elf | |
508 | ;; | |
509 | crds | unos) | |
510 | basic_machine=m68k-crds | |
511 | ;; | |
512 | crisv32 | crisv32-* | etraxfs*) | |
513 | basic_machine=crisv32-axis | |
514 | ;; | |
515 | cris | cris-* | etrax*) | |
516 | basic_machine=cris-axis | |
517 | ;; | |
518 | crx) | |
519 | basic_machine=crx-unknown | |
520 | os=-elf | |
521 | ;; | |
522 | da30 | da30-*) | |
523 | basic_machine=m68k-da30 | |
524 | ;; | |
525 | decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) | |
526 | basic_machine=mips-dec | |
527 | ;; | |
528 | decsystem10* | dec10*) | |
529 | basic_machine=pdp10-dec | |
530 | os=-tops10 | |
531 | ;; | |
532 | decsystem20* | dec20*) | |
533 | basic_machine=pdp10-dec | |
534 | os=-tops20 | |
535 | ;; | |
536 | delta | 3300 | motorola-3300 | motorola-delta \ | |
537 | | 3300-motorola | delta-motorola) | |
538 | basic_machine=m68k-motorola | |
539 | ;; | |
540 | delta88) | |
541 | basic_machine=m88k-motorola | |
542 | os=-sysv3 | |
543 | ;; | |
544 | dicos) | |
545 | basic_machine=i686-pc | |
546 | os=-dicos | |
547 | ;; | |
548 | djgpp) | |
549 | basic_machine=i586-pc | |
550 | os=-msdosdjgpp | |
551 | ;; | |
552 | dpx20 | dpx20-*) | |
553 | basic_machine=rs6000-bull | |
554 | os=-bosx | |
555 | ;; | |
556 | dpx2* | dpx2*-bull) | |
557 | basic_machine=m68k-bull | |
558 | os=-sysv3 | |
559 | ;; | |
560 | ebmon29k) | |
561 | basic_machine=a29k-amd | |
562 | os=-ebmon | |
563 | ;; | |
564 | elxsi) | |
565 | basic_machine=elxsi-elxsi | |
566 | os=-bsd | |
567 | ;; | |
568 | encore | umax | mmax) | |
569 | basic_machine=ns32k-encore | |
570 | ;; | |
571 | es1800 | OSE68k | ose68k | ose | OSE) | |
572 | basic_machine=m68k-ericsson | |
573 | os=-ose | |
574 | ;; | |
575 | fx2800) | |
576 | basic_machine=i860-alliant | |
577 | ;; | |
578 | genix) | |
579 | basic_machine=ns32k-ns | |
580 | ;; | |
581 | gmicro) | |
582 | basic_machine=tron-gmicro | |
583 | os=-sysv | |
584 | ;; | |
585 | go32) | |
586 | basic_machine=i386-pc | |
587 | os=-go32 | |
588 | ;; | |
589 | h3050r* | hiux*) | |
590 | basic_machine=hppa1.1-hitachi | |
591 | os=-hiuxwe2 | |
592 | ;; | |
593 | h8300hms) | |
594 | basic_machine=h8300-hitachi | |
595 | os=-hms | |
596 | ;; | |
597 | h8300xray) | |
598 | basic_machine=h8300-hitachi | |
599 | os=-xray | |
600 | ;; | |
601 | h8500hms) | |
602 | basic_machine=h8500-hitachi | |
603 | os=-hms | |
604 | ;; | |
605 | harris) | |
606 | basic_machine=m88k-harris | |
607 | os=-sysv3 | |
608 | ;; | |
609 | hp300-*) | |
610 | basic_machine=m68k-hp | |
611 | ;; | |
612 | hp300bsd) | |
613 | basic_machine=m68k-hp | |
614 | os=-bsd | |
615 | ;; | |
616 | hp300hpux) | |
617 | basic_machine=m68k-hp | |
618 | os=-hpux | |
619 | ;; | |
620 | hp3k9[0-9][0-9] | hp9[0-9][0-9]) | |
621 | basic_machine=hppa1.0-hp | |
622 | ;; | |
623 | hp9k2[0-9][0-9] | hp9k31[0-9]) | |
624 | basic_machine=m68000-hp | |
625 | ;; | |
626 | hp9k3[2-9][0-9]) | |
627 | basic_machine=m68k-hp | |
628 | ;; | |
629 | hp9k6[0-9][0-9] | hp6[0-9][0-9]) | |
630 | basic_machine=hppa1.0-hp | |
631 | ;; | |
632 | hp9k7[0-79][0-9] | hp7[0-79][0-9]) | |
633 | basic_machine=hppa1.1-hp | |
634 | ;; | |
635 | hp9k78[0-9] | hp78[0-9]) | |
636 | # FIXME: really hppa2.0-hp | |
637 | basic_machine=hppa1.1-hp | |
638 | ;; | |
639 | hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) | |
640 | # FIXME: really hppa2.0-hp | |
641 | basic_machine=hppa1.1-hp | |
642 | ;; | |
643 | hp9k8[0-9][13679] | hp8[0-9][13679]) | |
644 | basic_machine=hppa1.1-hp | |
645 | ;; | |
646 | hp9k8[0-9][0-9] | hp8[0-9][0-9]) | |
647 | basic_machine=hppa1.0-hp | |
648 | ;; | |
649 | hppa-next) | |
650 | os=-nextstep3 | |
651 | ;; | |
652 | hppaosf) | |
653 | basic_machine=hppa1.1-hp | |
654 | os=-osf | |
655 | ;; | |
656 | hppro) | |
657 | basic_machine=hppa1.1-hp | |
658 | os=-proelf | |
659 | ;; | |
660 | i370-ibm* | ibm*) | |
661 | basic_machine=i370-ibm | |
662 | ;; | |
663 | # I'm not sure what "Sysv32" means. Should this be sysv3.2? | |
664 | i*86v32) | |
665 | basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` | |
666 | os=-sysv32 | |
667 | ;; | |
668 | i*86v4*) | |
669 | basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` | |
670 | os=-sysv4 | |
671 | ;; | |
672 | i*86v) | |
673 | basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` | |
674 | os=-sysv | |
675 | ;; | |
676 | i*86sol2) | |
677 | basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` | |
678 | os=-solaris2 | |
679 | ;; | |
680 | i386mach) | |
681 | basic_machine=i386-mach | |
682 | os=-mach | |
683 | ;; | |
684 | i386-vsta | vsta) | |
685 | basic_machine=i386-unknown | |
686 | os=-vsta | |
687 | ;; | |
688 | iris | iris4d) | |
689 | basic_machine=mips-sgi | |
690 | case $os in | |
691 | -irix*) | |
692 | ;; | |
693 | *) | |
694 | os=-irix4 | |
695 | ;; | |
696 | esac | |
697 | ;; | |
698 | isi68 | isi) | |
699 | basic_machine=m68k-isi | |
700 | os=-sysv | |
701 | ;; | |
702 | m68knommu) | |
703 | basic_machine=m68k-unknown | |
704 | os=-linux | |
705 | ;; | |
706 | m68knommu-*) | |
707 | basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` | |
708 | os=-linux | |
709 | ;; | |
710 | m88k-omron*) | |
711 | basic_machine=m88k-omron | |
712 | ;; | |
713 | magnum | m3230) | |
714 | basic_machine=mips-mips | |
715 | os=-sysv | |
716 | ;; | |
717 | merlin) | |
718 | basic_machine=ns32k-utek | |
719 | os=-sysv | |
720 | ;; | |
721 | mingw32) | |
722 | basic_machine=i386-pc | |
723 | os=-mingw32 | |
724 | ;; | |
725 | mingw32ce) | |
726 | basic_machine=arm-unknown | |
727 | os=-mingw32ce | |
728 | ;; | |
729 | miniframe) | |
730 | basic_machine=m68000-convergent | |
731 | ;; | |
732 | *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) | |
733 | basic_machine=m68k-atari | |
734 | os=-mint | |
735 | ;; | |
736 | mips3*-*) | |
737 | basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` | |
738 | ;; | |
739 | mips3*) | |
740 | basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown | |
741 | ;; | |
742 | monitor) | |
743 | basic_machine=m68k-rom68k | |
744 | os=-coff | |
745 | ;; | |
746 | morphos) | |
747 | basic_machine=powerpc-unknown | |
748 | os=-morphos | |
749 | ;; | |
750 | msdos) | |
751 | basic_machine=i386-pc | |
752 | os=-msdos | |
753 | ;; | |
754 | ms1-*) | |
755 | basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` | |
756 | ;; | |
757 | mvs) | |
758 | basic_machine=i370-ibm | |
759 | os=-mvs | |
760 | ;; | |
761 | ncr3000) | |
762 | basic_machine=i486-ncr | |
763 | os=-sysv4 | |
764 | ;; | |
765 | netbsd386) | |
766 | basic_machine=i386-unknown | |
767 | os=-netbsd | |
768 | ;; | |
769 | netwinder) | |
770 | basic_machine=armv4l-rebel | |
771 | os=-linux | |
772 | ;; | |
773 | news | news700 | news800 | news900) | |
774 | basic_machine=m68k-sony | |
775 | os=-newsos | |
776 | ;; | |
777 | news1000) | |
778 | basic_machine=m68030-sony | |
779 | os=-newsos | |
780 | ;; | |
781 | news-3600 | risc-news) | |
782 | basic_machine=mips-sony | |
783 | os=-newsos | |
784 | ;; | |
785 | necv70) | |
786 | basic_machine=v70-nec | |
787 | os=-sysv | |
788 | ;; | |
789 | next | m*-next ) | |
790 | basic_machine=m68k-next | |
791 | case $os in | |
792 | -nextstep* ) | |
793 | ;; | |
794 | -ns2*) | |
795 | os=-nextstep2 | |
796 | ;; | |
797 | *) | |
798 | os=-nextstep3 | |
799 | ;; | |
800 | esac | |
801 | ;; | |
802 | nh3000) | |
803 | basic_machine=m68k-harris | |
804 | os=-cxux | |
805 | ;; | |
806 | nh[45]000) | |
807 | basic_machine=m88k-harris | |
808 | os=-cxux | |
809 | ;; | |
810 | nindy960) | |
811 | basic_machine=i960-intel | |
812 | os=-nindy | |
813 | ;; | |
814 | mon960) | |
815 | basic_machine=i960-intel | |
816 | os=-mon960 | |
817 | ;; | |
818 | nonstopux) | |
819 | basic_machine=mips-compaq | |
820 | os=-nonstopux | |
821 | ;; | |
822 | np1) | |
823 | basic_machine=np1-gould | |
824 | ;; | |
825 | nsr-tandem) | |
826 | basic_machine=nsr-tandem | |
827 | ;; | |
828 | op50n-* | op60c-*) | |
829 | basic_machine=hppa1.1-oki | |
830 | os=-proelf | |
831 | ;; | |
832 | openrisc | openrisc-*) | |
833 | basic_machine=or32-unknown | |
834 | ;; | |
835 | os400) | |
836 | basic_machine=powerpc-ibm | |
837 | os=-os400 | |
838 | ;; | |
839 | OSE68000 | ose68000) | |
840 | basic_machine=m68000-ericsson | |
841 | os=-ose | |
842 | ;; | |
843 | os68k) | |
844 | basic_machine=m68k-none | |
845 | os=-os68k | |
846 | ;; | |
847 | pa-hitachi) | |
848 | basic_machine=hppa1.1-hitachi | |
849 | os=-hiuxwe2 | |
850 | ;; | |
851 | paragon) | |
852 | basic_machine=i860-intel | |
853 | os=-osf | |
854 | ;; | |
855 | parisc) | |
856 | basic_machine=hppa-unknown | |
857 | os=-linux | |
858 | ;; | |
859 | parisc-*) | |
860 | basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` | |
861 | os=-linux | |
862 | ;; | |
863 | pbd) | |
864 | basic_machine=sparc-tti | |
865 | ;; | |
866 | pbb) | |
867 | basic_machine=m68k-tti | |
868 | ;; | |
869 | pc532 | pc532-*) | |
870 | basic_machine=ns32k-pc532 | |
871 | ;; | |
872 | pc98) | |
873 | basic_machine=i386-pc | |
874 | ;; | |
875 | pc98-*) | |
876 | basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` | |
877 | ;; | |
878 | pentium | p5 | k5 | k6 | nexgen | viac3) | |
879 | basic_machine=i586-pc | |
880 | ;; | |
881 | pentiumpro | p6 | 6x86 | athlon | athlon_*) | |
882 | basic_machine=i686-pc | |
883 | ;; | |
884 | pentiumii | pentium2 | pentiumiii | pentium3) | |
885 | basic_machine=i686-pc | |
886 | ;; | |
887 | pentium4) | |
888 | basic_machine=i786-pc | |
889 | ;; | |
890 | pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) | |
891 | basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` | |
892 | ;; | |
893 | pentiumpro-* | p6-* | 6x86-* | athlon-*) | |
894 | basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` | |
895 | ;; | |
896 | pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) | |
897 | basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` | |
898 | ;; | |
899 | pentium4-*) | |
900 | basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` | |
901 | ;; | |
902 | pn) | |
903 | basic_machine=pn-gould | |
904 | ;; | |
905 | power) basic_machine=power-ibm | |
906 | ;; | |
907 | ppc) basic_machine=powerpc-unknown | |
908 | ;; | |
909 | ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` | |
910 | ;; | |
911 | ppcle | powerpclittle | ppc-le | powerpc-little) | |
912 | basic_machine=powerpcle-unknown | |
913 | ;; | |
914 | ppcle-* | powerpclittle-*) | |
915 | basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` | |
916 | ;; | |
917 | ppc64) basic_machine=powerpc64-unknown | |
918 | ;; | |
919 | ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` | |
920 | ;; | |
921 | ppc64le | powerpc64little | ppc64-le | powerpc64-little) | |
922 | basic_machine=powerpc64le-unknown | |
923 | ;; | |
924 | ppc64le-* | powerpc64little-*) | |
925 | basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` | |
926 | ;; | |
927 | ps2) | |
928 | basic_machine=i386-ibm | |
929 | ;; | |
930 | pw32) | |
931 | basic_machine=i586-unknown | |
932 | os=-pw32 | |
933 | ;; | |
934 | rdos) | |
935 | basic_machine=i386-pc | |
936 | os=-rdos | |
937 | ;; | |
938 | rom68k) | |
939 | basic_machine=m68k-rom68k | |
940 | os=-coff | |
941 | ;; | |
942 | rm[46]00) | |
943 | basic_machine=mips-siemens | |
944 | ;; | |
945 | rtpc | rtpc-*) | |
946 | basic_machine=romp-ibm | |
947 | ;; | |
948 | s390 | s390-*) | |
949 | basic_machine=s390-ibm | |
950 | ;; | |
951 | s390x | s390x-*) | |
952 | basic_machine=s390x-ibm | |
953 | ;; | |
954 | sa29200) | |
955 | basic_machine=a29k-amd | |
956 | os=-udi | |
957 | ;; | |
958 | sb1) | |
959 | basic_machine=mipsisa64sb1-unknown | |
960 | ;; | |
961 | sb1el) | |
962 | basic_machine=mipsisa64sb1el-unknown | |
963 | ;; | |
964 | sde) | |
965 | basic_machine=mipsisa32-sde | |
966 | os=-elf | |
967 | ;; | |
968 | sei) | |
969 | basic_machine=mips-sei | |
970 | os=-seiux | |
971 | ;; | |
972 | sequent) | |
973 | basic_machine=i386-sequent | |
974 | ;; | |
975 | sh) | |
976 | basic_machine=sh-hitachi | |
977 | os=-hms | |
978 | ;; | |
979 | sh5el) | |
980 | basic_machine=sh5le-unknown | |
981 | ;; | |
982 | sh64) | |
983 | basic_machine=sh64-unknown | |
984 | ;; | |
985 | sparclite-wrs | simso-wrs) | |
986 | basic_machine=sparclite-wrs | |
987 | os=-vxworks | |
988 | ;; | |
989 | sps7) | |
990 | basic_machine=m68k-bull | |
991 | os=-sysv2 | |
992 | ;; | |
993 | spur) | |
994 | basic_machine=spur-unknown | |
995 | ;; | |
996 | st2000) | |
997 | basic_machine=m68k-tandem | |
998 | ;; | |
999 | stratus) | |
1000 | basic_machine=i860-stratus | |
1001 | os=-sysv4 | |
1002 | ;; | |
1003 | sun2) | |
1004 | basic_machine=m68000-sun | |
1005 | ;; | |
1006 | sun2os3) | |
1007 | basic_machine=m68000-sun | |
1008 | os=-sunos3 | |
1009 | ;; | |
1010 | sun2os4) | |
1011 | basic_machine=m68000-sun | |
1012 | os=-sunos4 | |
1013 | ;; | |
1014 | sun3os3) | |
1015 | basic_machine=m68k-sun | |
1016 | os=-sunos3 | |
1017 | ;; | |
1018 | sun3os4) | |
1019 | basic_machine=m68k-sun | |
1020 | os=-sunos4 | |
1021 | ;; | |
1022 | sun4os3) | |
1023 | basic_machine=sparc-sun | |
1024 | os=-sunos3 | |
1025 | ;; | |
1026 | sun4os4) | |
1027 | basic_machine=sparc-sun | |
1028 | os=-sunos4 | |
1029 | ;; | |
1030 | sun4sol2) | |
1031 | basic_machine=sparc-sun | |
1032 | os=-solaris2 | |
1033 | ;; | |
1034 | sun3 | sun3-*) | |
1035 | basic_machine=m68k-sun | |
1036 | ;; | |
1037 | sun4) | |
1038 | basic_machine=sparc-sun | |
1039 | ;; | |
1040 | sun386 | sun386i | roadrunner) | |
1041 | basic_machine=i386-sun | |
1042 | ;; | |
1043 | sv1) | |
1044 | basic_machine=sv1-cray | |
1045 | os=-unicos | |
1046 | ;; | |
1047 | symmetry) | |
1048 | basic_machine=i386-sequent | |
1049 | os=-dynix | |
1050 | ;; | |
1051 | t3e) | |
1052 | basic_machine=alphaev5-cray | |
1053 | os=-unicos | |
1054 | ;; | |
1055 | t90) | |
1056 | basic_machine=t90-cray | |
1057 | os=-unicos | |
1058 | ;; | |
1059 | tic54x | c54x*) | |
1060 | basic_machine=tic54x-unknown | |
1061 | os=-coff | |
1062 | ;; | |
1063 | tic55x | c55x*) | |
1064 | basic_machine=tic55x-unknown | |
1065 | os=-coff | |
1066 | ;; | |
1067 | tic6x | c6x*) | |
1068 | basic_machine=tic6x-unknown | |
1069 | os=-coff | |
1070 | ;; | |
1071 | tile*) | |
1072 | basic_machine=tile-unknown | |
1073 | os=-linux-gnu | |
1074 | ;; | |
1075 | tx39) | |
1076 | basic_machine=mipstx39-unknown | |
1077 | ;; | |
1078 | tx39el) | |
1079 | basic_machine=mipstx39el-unknown | |
1080 | ;; | |
1081 | toad1) | |
1082 | basic_machine=pdp10-xkl | |
1083 | os=-tops20 | |
1084 | ;; | |
1085 | tower | tower-32) | |
1086 | basic_machine=m68k-ncr | |
1087 | ;; | |
1088 | tpf) | |
1089 | basic_machine=s390x-ibm | |
1090 | os=-tpf | |
1091 | ;; | |
1092 | udi29k) | |
1093 | basic_machine=a29k-amd | |
1094 | os=-udi | |
1095 | ;; | |
1096 | ultra3) | |
1097 | basic_machine=a29k-nyu | |
1098 | os=-sym1 | |
1099 | ;; | |
1100 | v810 | necv810) | |
1101 | basic_machine=v810-nec | |
1102 | os=-none | |
1103 | ;; | |
1104 | vaxv) | |
1105 | basic_machine=vax-dec | |
1106 | os=-sysv | |
1107 | ;; | |
1108 | vms) | |
1109 | basic_machine=vax-dec | |
1110 | os=-vms | |
1111 | ;; | |
1112 | vpp*|vx|vx-*) | |
1113 | basic_machine=f301-fujitsu | |
1114 | ;; | |
1115 | vxworks960) | |
1116 | basic_machine=i960-wrs | |
1117 | os=-vxworks | |
1118 | ;; | |
1119 | vxworks68) | |
1120 | basic_machine=m68k-wrs | |
1121 | os=-vxworks | |
1122 | ;; | |
1123 | vxworks29k) | |
1124 | basic_machine=a29k-wrs | |
1125 | os=-vxworks | |
1126 | ;; | |
1127 | w65*) | |
1128 | basic_machine=w65-wdc | |
1129 | os=-none | |
1130 | ;; | |
1131 | w89k-*) | |
1132 | basic_machine=hppa1.1-winbond | |
1133 | os=-proelf | |
1134 | ;; | |
1135 | xbox) | |
1136 | basic_machine=i686-pc | |
1137 | os=-mingw32 | |
1138 | ;; | |
1139 | xps | xps100) | |
1140 | basic_machine=xps100-honeywell | |
1141 | ;; | |
1142 | ymp) | |
1143 | basic_machine=ymp-cray | |
1144 | os=-unicos | |
1145 | ;; | |
1146 | z8k-*-coff) | |
1147 | basic_machine=z8k-unknown | |
1148 | os=-sim | |
1149 | ;; | |
1150 | z80-*-coff) | |
1151 | basic_machine=z80-unknown | |
1152 | os=-sim | |
1153 | ;; | |
1154 | none) | |
1155 | basic_machine=none-none | |
1156 | os=-none | |
1157 | ;; | |
1158 | ||
1159 | # Here we handle the default manufacturer of certain CPU types. It is in | |
1160 | # some cases the only manufacturer, in others, it is the most popular. | |
1161 | w89k) | |
1162 | basic_machine=hppa1.1-winbond | |
1163 | ;; | |
1164 | op50n) | |
1165 | basic_machine=hppa1.1-oki | |
1166 | ;; | |
1167 | op60c) | |
1168 | basic_machine=hppa1.1-oki | |
1169 | ;; | |
1170 | romp) | |
1171 | basic_machine=romp-ibm | |
1172 | ;; | |
1173 | mmix) | |
1174 | basic_machine=mmix-knuth | |
1175 | ;; | |
1176 | rs6000) | |
1177 | basic_machine=rs6000-ibm | |
1178 | ;; | |
1179 | vax) | |
1180 | basic_machine=vax-dec | |
1181 | ;; | |
1182 | pdp10) | |
1183 | # there are many clones, so DEC is not a safe bet | |
1184 | basic_machine=pdp10-unknown | |
1185 | ;; | |
1186 | pdp11) | |
1187 | basic_machine=pdp11-dec | |
1188 | ;; | |
1189 | we32k) | |
1190 | basic_machine=we32k-att | |
1191 | ;; | |
1192 | sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) | |
1193 | basic_machine=sh-unknown | |
1194 | ;; | |
1195 | sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) | |
1196 | basic_machine=sparc-sun | |
1197 | ;; | |
1198 | cydra) | |
1199 | basic_machine=cydra-cydrome | |
1200 | ;; | |
1201 | orion) | |
1202 | basic_machine=orion-highlevel | |
1203 | ;; | |
1204 | orion105) | |
1205 | basic_machine=clipper-highlevel | |
1206 | ;; | |
1207 | mac | mpw | mac-mpw) | |
1208 | basic_machine=m68k-apple | |
1209 | ;; | |
1210 | pmac | pmac-mpw) | |
1211 | basic_machine=powerpc-apple | |
1212 | ;; | |
1213 | *-unknown) | |
1214 | # Make sure to match an already-canonicalized machine name. | |
1215 | ;; | |
1216 | *) | |
1217 | echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 | |
1218 | exit 1 | |
1219 | ;; | |
1220 | esac | |
1221 | ||
1222 | # Here we canonicalize certain aliases for manufacturers. | |
1223 | case $basic_machine in | |
1224 | *-digital*) | |
1225 | basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` | |
1226 | ;; | |
1227 | *-commodore*) | |
1228 | basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` | |
1229 | ;; | |
1230 | *) | |
1231 | ;; | |
1232 | esac | |
1233 | ||
1234 | # Decode manufacturer-specific aliases for certain operating systems. | |
1235 | ||
1236 | if [ x"$os" != x"" ] | |
1237 | then | |
1238 | case $os in | |
1239 | # First match some system type aliases | |
1240 | # that might get confused with valid system types. | |
1241 | # -solaris* is a basic system type, with this one exception. | |
1242 | -solaris1 | -solaris1.*) | |
1243 | os=`echo $os | sed -e 's|solaris1|sunos4|'` | |
1244 | ;; | |
1245 | -solaris) | |
1246 | os=-solaris2 | |
1247 | ;; | |
1248 | -svr4*) | |
1249 | os=-sysv4 | |
1250 | ;; | |
1251 | -unixware*) | |
1252 | os=-sysv4.2uw | |
1253 | ;; | |
1254 | -gnu/linux*) | |
1255 | os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` | |
1256 | ;; | |
1257 | # First accept the basic system types. | |
1258 | # The portable systems comes first. | |
1259 | # Each alternative MUST END IN A *, to match a version number. | |
1260 | # -sysv* is not here because it comes later, after sysvr4. | |
1261 | -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | |
1262 | | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | |
1263 | | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | |
1264 | | -kopensolaris* \ | |
1265 | | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | |
1266 | | -aos* | -aros* \ | |
1267 | | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | |
1268 | | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | |
1269 | | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | |
1270 | | -openbsd* | -solidbsd* \ | |
1271 | | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | |
1272 | | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | |
1273 | | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | |
1274 | | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | |
1275 | | -chorusos* | -chorusrdb* | -cegcc* \ | |
1276 | | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | |
1277 | | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | |
1278 | | -uxpv* | -beos* | -mpeix* | -udk* \ | |
1279 | | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | |
1280 | | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | |
1281 | | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | |
1282 | | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | |
1283 | | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | |
1284 | | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | |
1285 | | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) | |
1286 | # Remember, each alternative MUST END IN *, to match a version number. | |
1287 | ;; | |
1288 | -qnx*) | |
1289 | case $basic_machine in | |
1290 | x86-* | i*86-*) | |
1291 | ;; | |
1292 | *) | |
1293 | os=-nto$os | |
1294 | ;; | |
1295 | esac | |
1296 | ;; | |
1297 | -nto-qnx*) | |
1298 | ;; | |
1299 | -nto*) | |
1300 | os=`echo $os | sed -e 's|nto|nto-qnx|'` | |
1301 | ;; | |
1302 | -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | |
1303 | | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | |
1304 | | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) | |
1305 | ;; | |
1306 | -mac*) | |
1307 | os=`echo $os | sed -e 's|mac|macos|'` | |
1308 | ;; | |
1309 | -linux-dietlibc) | |
1310 | os=-linux-dietlibc | |
1311 | ;; | |
1312 | -linux*) | |
1313 | os=`echo $os | sed -e 's|linux|linux-gnu|'` | |
1314 | ;; | |
1315 | -sunos5*) | |
1316 | os=`echo $os | sed -e 's|sunos5|solaris2|'` | |
1317 | ;; | |
1318 | -sunos6*) | |
1319 | os=`echo $os | sed -e 's|sunos6|solaris3|'` | |
1320 | ;; | |
1321 | -opened*) | |
1322 | os=-openedition | |
1323 | ;; | |
1324 | -os400*) | |
1325 | os=-os400 | |
1326 | ;; | |
1327 | -wince*) | |
1328 | os=-wince | |
1329 | ;; | |
1330 | -osfrose*) | |
1331 | os=-osfrose | |
1332 | ;; | |
1333 | -osf*) | |
1334 | os=-osf | |
1335 | ;; | |
1336 | -utek*) | |
1337 | os=-bsd | |
1338 | ;; | |
1339 | -dynix*) | |
1340 | os=-bsd | |
1341 | ;; | |
1342 | -acis*) | |
1343 | os=-aos | |
1344 | ;; | |
1345 | -atheos*) | |
1346 | os=-atheos | |
1347 | ;; | |
1348 | -syllable*) | |
1349 | os=-syllable | |
1350 | ;; | |
1351 | -386bsd) | |
1352 | os=-bsd | |
1353 | ;; | |
1354 | -ctix* | -uts*) | |
1355 | os=-sysv | |
1356 | ;; | |
1357 | -nova*) | |
1358 | os=-rtmk-nova | |
1359 | ;; | |
1360 | -ns2 ) | |
1361 | os=-nextstep2 | |
1362 | ;; | |
1363 | -nsk*) | |
1364 | os=-nsk | |
1365 | ;; | |
1366 | # Preserve the version number of sinix5. | |
1367 | -sinix5.*) | |
1368 | os=`echo $os | sed -e 's|sinix|sysv|'` | |
1369 | ;; | |
1370 | -sinix*) | |
1371 | os=-sysv4 | |
1372 | ;; | |
1373 | -tpf*) | |
1374 | os=-tpf | |
1375 | ;; | |
1376 | -triton*) | |
1377 | os=-sysv3 | |
1378 | ;; | |
1379 | -oss*) | |
1380 | os=-sysv3 | |
1381 | ;; | |
1382 | -svr4) | |
1383 | os=-sysv4 | |
1384 | ;; | |
1385 | -svr3) | |
1386 | os=-sysv3 | |
1387 | ;; | |
1388 | -sysvr4) | |
1389 | os=-sysv4 | |
1390 | ;; | |
1391 | # This must come after -sysvr4. | |
1392 | -sysv*) | |
1393 | ;; | |
1394 | -ose*) | |
1395 | os=-ose | |
1396 | ;; | |
1397 | -es1800*) | |
1398 | os=-ose | |
1399 | ;; | |
1400 | -xenix) | |
1401 | os=-xenix | |
1402 | ;; | |
1403 | -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) | |
1404 | os=-mint | |
1405 | ;; | |
1406 | -aros*) | |
1407 | os=-aros | |
1408 | ;; | |
1409 | -kaos*) | |
1410 | os=-kaos | |
1411 | ;; | |
1412 | -zvmoe) | |
1413 | os=-zvmoe | |
1414 | ;; | |
1415 | -dicos*) | |
1416 | os=-dicos | |
1417 | ;; | |
1418 | -none) | |
1419 | ;; | |
1420 | *) | |
1421 | # Get rid of the `-' at the beginning of $os. | |
1422 | os=`echo $os | sed 's/[^-]*-//'` | |
1423 | echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 | |
1424 | exit 1 | |
1425 | ;; | |
1426 | esac | |
1427 | else | |
1428 | ||
1429 | # Here we handle the default operating systems that come with various machines. | |
1430 | # The value should be what the vendor currently ships out the door with their | |
1431 | # machine or put another way, the most popular os provided with the machine. | |
1432 | ||
1433 | # Note that if you're going to try to match "-MANUFACTURER" here (say, | |
1434 | # "-sun"), then you have to tell the case statement up towards the top | |
1435 | # that MANUFACTURER isn't an operating system. Otherwise, code above | |
1436 | # will signal an error saying that MANUFACTURER isn't an operating | |
1437 | # system, and we'll never get to this point. | |
1438 | ||
1439 | case $basic_machine in | |
1440 | score-*) | |
1441 | os=-elf | |
1442 | ;; | |
1443 | spu-*) | |
1444 | os=-elf | |
1445 | ;; | |
1446 | *-acorn) | |
1447 | os=-riscix1.2 | |
1448 | ;; | |
1449 | arm*-rebel) | |
1450 | os=-linux | |
1451 | ;; | |
1452 | arm*-semi) | |
1453 | os=-aout | |
1454 | ;; | |
1455 | c4x-* | tic4x-*) | |
1456 | os=-coff | |
1457 | ;; | |
1458 | # This must come before the *-dec entry. | |
1459 | pdp10-*) | |
1460 | os=-tops20 | |
1461 | ;; | |
1462 | pdp11-*) | |
1463 | os=-none | |
1464 | ;; | |
1465 | *-dec | vax-*) | |
1466 | os=-ultrix4.2 | |
1467 | ;; | |
1468 | m68*-apollo) | |
1469 | os=-domain | |
1470 | ;; | |
1471 | i386-sun) | |
1472 | os=-sunos4.0.2 | |
1473 | ;; | |
1474 | m68000-sun) | |
1475 | os=-sunos3 | |
1476 | # This also exists in the configure program, but was not the | |
1477 | # default. | |
1478 | # os=-sunos4 | |
1479 | ;; | |
1480 | m68*-cisco) | |
1481 | os=-aout | |
1482 | ;; | |
1483 | mep-*) | |
1484 | os=-elf | |
1485 | ;; | |
1486 | mips*-cisco) | |
1487 | os=-elf | |
1488 | ;; | |
1489 | mips*-*) | |
1490 | os=-elf | |
1491 | ;; | |
1492 | or32-*) | |
1493 | os=-coff | |
1494 | ;; | |
1495 | *-tti) # must be before sparc entry or we get the wrong os. | |
1496 | os=-sysv3 | |
1497 | ;; | |
1498 | sparc-* | *-sun) | |
1499 | os=-sunos4.1.1 | |
1500 | ;; | |
1501 | *-be) | |
1502 | os=-beos | |
1503 | ;; | |
1504 | *-haiku) | |
1505 | os=-haiku | |
1506 | ;; | |
1507 | *-ibm) | |
1508 | os=-aix | |
1509 | ;; | |
1510 | *-knuth) | |
1511 | os=-mmixware | |
1512 | ;; | |
1513 | *-wec) | |
1514 | os=-proelf | |
1515 | ;; | |
1516 | *-winbond) | |
1517 | os=-proelf | |
1518 | ;; | |
1519 | *-oki) | |
1520 | os=-proelf | |
1521 | ;; | |
1522 | *-hp) | |
1523 | os=-hpux | |
1524 | ;; | |
1525 | *-hitachi) | |
1526 | os=-hiux | |
1527 | ;; | |
1528 | i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) | |
1529 | os=-sysv | |
1530 | ;; | |
1531 | *-cbm) | |
1532 | os=-amigaos | |
1533 | ;; | |
1534 | *-dg) | |
1535 | os=-dgux | |
1536 | ;; | |
1537 | *-dolphin) | |
1538 | os=-sysv3 | |
1539 | ;; | |
1540 | m68k-ccur) | |
1541 | os=-rtu | |
1542 | ;; | |
1543 | m88k-omron*) | |
1544 | os=-luna | |
1545 | ;; | |
1546 | *-next ) | |
1547 | os=-nextstep | |
1548 | ;; | |
1549 | *-sequent) | |
1550 | os=-ptx | |
1551 | ;; | |
1552 | *-crds) | |
1553 | os=-unos | |
1554 | ;; | |
1555 | *-ns) | |
1556 | os=-genix | |
1557 | ;; | |
1558 | i370-*) | |
1559 | os=-mvs | |
1560 | ;; | |
1561 | *-next) | |
1562 | os=-nextstep3 | |
1563 | ;; | |
1564 | *-gould) | |
1565 | os=-sysv | |
1566 | ;; | |
1567 | *-highlevel) | |
1568 | os=-bsd | |
1569 | ;; | |
1570 | *-encore) | |
1571 | os=-bsd | |
1572 | ;; | |
1573 | *-sgi) | |
1574 | os=-irix | |
1575 | ;; | |
1576 | *-siemens) | |
1577 | os=-sysv4 | |
1578 | ;; | |
1579 | *-masscomp) | |
1580 | os=-rtu | |
1581 | ;; | |
1582 | f30[01]-fujitsu | f700-fujitsu) | |
1583 | os=-uxpv | |
1584 | ;; | |
1585 | *-rom68k) | |
1586 | os=-coff | |
1587 | ;; | |
1588 | *-*bug) | |
1589 | os=-coff | |
1590 | ;; | |
1591 | *-apple) | |
1592 | os=-macos | |
1593 | ;; | |
1594 | *-atari*) | |
1595 | os=-mint | |
1596 | ;; | |
1597 | *) | |
1598 | os=-none | |
1599 | ;; | |
1600 | esac | |
1601 | fi | |
1602 | ||
1603 | # Here we handle the case where we know the os, and the CPU type, but not the | |
1604 | # manufacturer. We pick the logical manufacturer. | |
1605 | vendor=unknown | |
1606 | case $basic_machine in | |
1607 | *-unknown) | |
1608 | case $os in | |
1609 | -riscix*) | |
1610 | vendor=acorn | |
1611 | ;; | |
1612 | -sunos*) | |
1613 | vendor=sun | |
1614 | ;; | |
1615 | -aix*) | |
1616 | vendor=ibm | |
1617 | ;; | |
1618 | -beos*) | |
1619 | vendor=be | |
1620 | ;; | |
1621 | -hpux*) | |
1622 | vendor=hp | |
1623 | ;; | |
1624 | -mpeix*) | |
1625 | vendor=hp | |
1626 | ;; | |
1627 | -hiux*) | |
1628 | vendor=hitachi | |
1629 | ;; | |
1630 | -unos*) | |
1631 | vendor=crds | |
1632 | ;; | |
1633 | -dgux*) | |
1634 | vendor=dg | |
1635 | ;; | |
1636 | -luna*) | |
1637 | vendor=omron | |
1638 | ;; | |
1639 | -genix*) | |
1640 | vendor=ns | |
1641 | ;; | |
1642 | -mvs* | -opened*) | |
1643 | vendor=ibm | |
1644 | ;; | |
1645 | -os400*) | |
1646 | vendor=ibm | |
1647 | ;; | |
1648 | -ptx*) | |
1649 | vendor=sequent | |
1650 | ;; | |
1651 | -tpf*) | |
1652 | vendor=ibm | |
1653 | ;; | |
1654 | -vxsim* | -vxworks* | -windiss*) | |
1655 | vendor=wrs | |
1656 | ;; | |
1657 | -aux*) | |
1658 | vendor=apple | |
1659 | ;; | |
1660 | -hms*) | |
1661 | vendor=hitachi | |
1662 | ;; | |
1663 | -mpw* | -macos*) | |
1664 | vendor=apple | |
1665 | ;; | |
1666 | -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) | |
1667 | vendor=atari | |
1668 | ;; | |
1669 | -vos*) | |
1670 | vendor=stratus | |
1671 | ;; | |
1672 | esac | |
1673 | basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` | |
1674 | ;; | |
1675 | esac | |
1676 | ||
1677 | echo $basic_machine$os | |
1678 | exit | |
1679 | ||
1680 | # Local variables: | |
1681 | # eval: (add-hook 'write-file-hooks 'time-stamp) | |
1682 | # time-stamp-start: "timestamp='" | |
1683 | # time-stamp-format: "%:y-%02m-%02d" | |
1684 | # time-stamp-end: "'" | |
1685 | # End: |
0 | 0 | # Initialization |
1 | 1 | |
2 | AC_INIT([nemo-fileroller],2.2.0) | |
2 | AC_INIT([nemo-fileroller],2.6.1) | |
3 | 3 | |
4 | 4 | AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) |
5 | 5 |
0 | #! /bin/sh | |
1 | # depcomp - compile a program generating dependencies as side-effects | |
2 | ||
3 | scriptversion=2009-04-28.21; # UTC | |
4 | ||
5 | # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free | |
6 | # Software Foundation, Inc. | |
7 | ||
8 | # This program is free software; you can redistribute it and/or modify | |
9 | # it under the terms of the GNU General Public License as published by | |
10 | # the Free Software Foundation; either version 2, or (at your option) | |
11 | # any later version. | |
12 | ||
13 | # This program is distributed in the hope that it will be useful, | |
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 | # GNU General Public License for more details. | |
17 | ||
18 | # You should have received a copy of the GNU General Public License | |
19 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
20 | ||
21 | # As a special exception to the GNU General Public License, if you | |
22 | # distribute this file as part of a program that contains a | |
23 | # configuration script generated by Autoconf, you may include it under | |
24 | # the same distribution terms that you use for the rest of that program. | |
25 | ||
26 | # Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>. | |
27 | ||
28 | case $1 in | |
29 | '') | |
30 | echo "$0: No command. Try \`$0 --help' for more information." 1>&2 | |
31 | exit 1; | |
32 | ;; | |
33 | -h | --h*) | |
34 | cat <<\EOF | |
35 | Usage: depcomp [--help] [--version] PROGRAM [ARGS] | |
36 | ||
37 | Run PROGRAMS ARGS to compile a file, generating dependencies | |
38 | as side-effects. | |
39 | ||
40 | Environment variables: | |
41 | depmode Dependency tracking mode. | |
42 | source Source file read by `PROGRAMS ARGS'. | |
43 | object Object file output by `PROGRAMS ARGS'. | |
44 | DEPDIR directory where to store dependencies. | |
45 | depfile Dependency file to output. | |
46 | tmpdepfile Temporary file to use when outputing dependencies. | |
47 | libtool Whether libtool is used (yes/no). | |
48 | ||
49 | Report bugs to <bug-automake@gnu.org>. | |
50 | EOF | |
51 | exit $? | |
52 | ;; | |
53 | -v | --v*) | |
54 | echo "depcomp $scriptversion" | |
55 | exit $? | |
56 | ;; | |
57 | esac | |
58 | ||
59 | if test -z "$depmode" || test -z "$source" || test -z "$object"; then | |
60 | echo "depcomp: Variables source, object and depmode must be set" 1>&2 | |
61 | exit 1 | |
62 | fi | |
63 | ||
64 | # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. | |
65 | depfile=${depfile-`echo "$object" | | |
66 | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} | |
67 | tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} | |
68 | ||
69 | rm -f "$tmpdepfile" | |
70 | ||
71 | # Some modes work just like other modes, but use different flags. We | |
72 | # parameterize here, but still list the modes in the big case below, | |
73 | # to make depend.m4 easier to write. Note that we *cannot* use a case | |
74 | # here, because this file can only contain one case statement. | |
75 | if test "$depmode" = hp; then | |
76 | # HP compiler uses -M and no extra arg. | |
77 | gccflag=-M | |
78 | depmode=gcc | |
79 | fi | |
80 | ||
81 | if test "$depmode" = dashXmstdout; then | |
82 | # This is just like dashmstdout with a different argument. | |
83 | dashmflag=-xM | |
84 | depmode=dashmstdout | |
85 | fi | |
86 | ||
87 | cygpath_u="cygpath -u -f -" | |
88 | if test "$depmode" = msvcmsys; then | |
89 | # This is just like msvisualcpp but w/o cygpath translation. | |
90 | # Just convert the backslash-escaped backslashes to single forward | |
91 | # slashes to satisfy depend.m4 | |
92 | cygpath_u="sed s,\\\\\\\\,/,g" | |
93 | depmode=msvisualcpp | |
94 | fi | |
95 | ||
96 | case "$depmode" in | |
97 | gcc3) | |
98 | ## gcc 3 implements dependency tracking that does exactly what | |
99 | ## we want. Yay! Note: for some reason libtool 1.4 doesn't like | |
100 | ## it if -MD -MP comes after the -MF stuff. Hmm. | |
101 | ## Unfortunately, FreeBSD c89 acceptance of flags depends upon | |
102 | ## the command line argument order; so add the flags where they | |
103 | ## appear in depend2.am. Note that the slowdown incurred here | |
104 | ## affects only configure: in makefiles, %FASTDEP% shortcuts this. | |
105 | for arg | |
106 | do | |
107 | case $arg in | |
108 | -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; | |
109 | *) set fnord "$@" "$arg" ;; | |
110 | esac | |
111 | shift # fnord | |
112 | shift # $arg | |
113 | done | |
114 | "$@" | |
115 | stat=$? | |
116 | if test $stat -eq 0; then : | |
117 | else | |
118 | rm -f "$tmpdepfile" | |
119 | exit $stat | |
120 | fi | |
121 | mv "$tmpdepfile" "$depfile" | |
122 | ;; | |
123 | ||
124 | gcc) | |
125 | ## There are various ways to get dependency output from gcc. Here's | |
126 | ## why we pick this rather obscure method: | |
127 | ## - Don't want to use -MD because we'd like the dependencies to end | |
128 | ## up in a subdir. Having to rename by hand is ugly. | |
129 | ## (We might end up doing this anyway to support other compilers.) | |
130 | ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like | |
131 | ## -MM, not -M (despite what the docs say). | |
132 | ## - Using -M directly means running the compiler twice (even worse | |
133 | ## than renaming). | |
134 | if test -z "$gccflag"; then | |
135 | gccflag=-MD, | |
136 | fi | |
137 | "$@" -Wp,"$gccflag$tmpdepfile" | |
138 | stat=$? | |
139 | if test $stat -eq 0; then : | |
140 | else | |
141 | rm -f "$tmpdepfile" | |
142 | exit $stat | |
143 | fi | |
144 | rm -f "$depfile" | |
145 | echo "$object : \\" > "$depfile" | |
146 | alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz | |
147 | ## The second -e expression handles DOS-style file names with drive letters. | |
148 | sed -e 's/^[^:]*: / /' \ | |
149 | -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" | |
150 | ## This next piece of magic avoids the `deleted header file' problem. | |
151 | ## The problem is that when a header file which appears in a .P file | |
152 | ## is deleted, the dependency causes make to die (because there is | |
153 | ## typically no way to rebuild the header). We avoid this by adding | |
154 | ## dummy dependencies for each header file. Too bad gcc doesn't do | |
155 | ## this for us directly. | |
156 | tr ' ' ' | |
157 | ' < "$tmpdepfile" | | |
158 | ## Some versions of gcc put a space before the `:'. On the theory | |
159 | ## that the space means something, we add a space to the output as | |
160 | ## well. | |
161 | ## Some versions of the HPUX 10.20 sed can't process this invocation | |
162 | ## correctly. Breaking it into two sed invocations is a workaround. | |
163 | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" | |
164 | rm -f "$tmpdepfile" | |
165 | ;; | |
166 | ||
167 | hp) | |
168 | # This case exists only to let depend.m4 do its work. It works by | |
169 | # looking at the text of this script. This case will never be run, | |
170 | # since it is checked for above. | |
171 | exit 1 | |
172 | ;; | |
173 | ||
174 | sgi) | |
175 | if test "$libtool" = yes; then | |
176 | "$@" "-Wp,-MDupdate,$tmpdepfile" | |
177 | else | |
178 | "$@" -MDupdate "$tmpdepfile" | |
179 | fi | |
180 | stat=$? | |
181 | if test $stat -eq 0; then : | |
182 | else | |
183 | rm -f "$tmpdepfile" | |
184 | exit $stat | |
185 | fi | |
186 | rm -f "$depfile" | |
187 | ||
188 | if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files | |
189 | echo "$object : \\" > "$depfile" | |
190 | ||
191 | # Clip off the initial element (the dependent). Don't try to be | |
192 | # clever and replace this with sed code, as IRIX sed won't handle | |
193 | # lines with more than a fixed number of characters (4096 in | |
194 | # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; | |
195 | # the IRIX cc adds comments like `#:fec' to the end of the | |
196 | # dependency line. | |
197 | tr ' ' ' | |
198 | ' < "$tmpdepfile" \ | |
199 | | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ | |
200 | tr ' | |
201 | ' ' ' >> "$depfile" | |
202 | echo >> "$depfile" | |
203 | ||
204 | # The second pass generates a dummy entry for each header file. | |
205 | tr ' ' ' | |
206 | ' < "$tmpdepfile" \ | |
207 | | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ | |
208 | >> "$depfile" | |
209 | else | |
210 | # The sourcefile does not contain any dependencies, so just | |
211 | # store a dummy comment line, to avoid errors with the Makefile | |
212 | # "include basename.Plo" scheme. | |
213 | echo "#dummy" > "$depfile" | |
214 | fi | |
215 | rm -f "$tmpdepfile" | |
216 | ;; | |
217 | ||
218 | aix) | |
219 | # The C for AIX Compiler uses -M and outputs the dependencies | |
220 | # in a .u file. In older versions, this file always lives in the | |
221 | # current directory. Also, the AIX compiler puts `$object:' at the | |
222 | # start of each line; $object doesn't have directory information. | |
223 | # Version 6 uses the directory in both cases. | |
224 | dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` | |
225 | test "x$dir" = "x$object" && dir= | |
226 | base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` | |
227 | if test "$libtool" = yes; then | |
228 | tmpdepfile1=$dir$base.u | |
229 | tmpdepfile2=$base.u | |
230 | tmpdepfile3=$dir.libs/$base.u | |
231 | "$@" -Wc,-M | |
232 | else | |
233 | tmpdepfile1=$dir$base.u | |
234 | tmpdepfile2=$dir$base.u | |
235 | tmpdepfile3=$dir$base.u | |
236 | "$@" -M | |
237 | fi | |
238 | stat=$? | |
239 | ||
240 | if test $stat -eq 0; then : | |
241 | else | |
242 | rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" | |
243 | exit $stat | |
244 | fi | |
245 | ||
246 | for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" | |
247 | do | |
248 | test -f "$tmpdepfile" && break | |
249 | done | |
250 | if test -f "$tmpdepfile"; then | |
251 | # Each line is of the form `foo.o: dependent.h'. | |
252 | # Do two passes, one to just change these to | |
253 | # `$object: dependent.h' and one to simply `dependent.h:'. | |
254 | sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" | |
255 | # That's a tab and a space in the []. | |
256 | sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" | |
257 | else | |
258 | # The sourcefile does not contain any dependencies, so just | |
259 | # store a dummy comment line, to avoid errors with the Makefile | |
260 | # "include basename.Plo" scheme. | |
261 | echo "#dummy" > "$depfile" | |
262 | fi | |
263 | rm -f "$tmpdepfile" | |
264 | ;; | |
265 | ||
266 | icc) | |
267 | # Intel's C compiler understands `-MD -MF file'. However on | |
268 | # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c | |
269 | # ICC 7.0 will fill foo.d with something like | |
270 | # foo.o: sub/foo.c | |
271 | # foo.o: sub/foo.h | |
272 | # which is wrong. We want: | |
273 | # sub/foo.o: sub/foo.c | |
274 | # sub/foo.o: sub/foo.h | |
275 | # sub/foo.c: | |
276 | # sub/foo.h: | |
277 | # ICC 7.1 will output | |
278 | # foo.o: sub/foo.c sub/foo.h | |
279 | # and will wrap long lines using \ : | |
280 | # foo.o: sub/foo.c ... \ | |
281 | # sub/foo.h ... \ | |
282 | # ... | |
283 | ||
284 | "$@" -MD -MF "$tmpdepfile" | |
285 | stat=$? | |
286 | if test $stat -eq 0; then : | |
287 | else | |
288 | rm -f "$tmpdepfile" | |
289 | exit $stat | |
290 | fi | |
291 | rm -f "$depfile" | |
292 | # Each line is of the form `foo.o: dependent.h', | |
293 | # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. | |
294 | # Do two passes, one to just change these to | |
295 | # `$object: dependent.h' and one to simply `dependent.h:'. | |
296 | sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" | |
297 | # Some versions of the HPUX 10.20 sed can't process this invocation | |
298 | # correctly. Breaking it into two sed invocations is a workaround. | |
299 | sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | | |
300 | sed -e 's/$/ :/' >> "$depfile" | |
301 | rm -f "$tmpdepfile" | |
302 | ;; | |
303 | ||
304 | hp2) | |
305 | # The "hp" stanza above does not work with aCC (C++) and HP's ia64 | |
306 | # compilers, which have integrated preprocessors. The correct option | |
307 | # to use with these is +Maked; it writes dependencies to a file named | |
308 | # 'foo.d', which lands next to the object file, wherever that | |
309 | # happens to be. | |
310 | # Much of this is similar to the tru64 case; see comments there. | |
311 | dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` | |
312 | test "x$dir" = "x$object" && dir= | |
313 | base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` | |
314 | if test "$libtool" = yes; then | |
315 | tmpdepfile1=$dir$base.d | |
316 | tmpdepfile2=$dir.libs/$base.d | |
317 | "$@" -Wc,+Maked | |
318 | else | |
319 | tmpdepfile1=$dir$base.d | |
320 | tmpdepfile2=$dir$base.d | |
321 | "$@" +Maked | |
322 | fi | |
323 | stat=$? | |
324 | if test $stat -eq 0; then : | |
325 | else | |
326 | rm -f "$tmpdepfile1" "$tmpdepfile2" | |
327 | exit $stat | |
328 | fi | |
329 | ||
330 | for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" | |
331 | do | |
332 | test -f "$tmpdepfile" && break | |
333 | done | |
334 | if test -f "$tmpdepfile"; then | |
335 | sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" | |
336 | # Add `dependent.h:' lines. | |
337 | sed -ne '2,${ | |
338 | s/^ *// | |
339 | s/ \\*$// | |
340 | s/$/:/ | |
341 | p | |
342 | }' "$tmpdepfile" >> "$depfile" | |
343 | else | |
344 | echo "#dummy" > "$depfile" | |
345 | fi | |
346 | rm -f "$tmpdepfile" "$tmpdepfile2" | |
347 | ;; | |
348 | ||
349 | tru64) | |
350 | # The Tru64 compiler uses -MD to generate dependencies as a side | |
351 | # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. | |
352 | # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put | |
353 | # dependencies in `foo.d' instead, so we check for that too. | |
354 | # Subdirectories are respected. | |
355 | dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` | |
356 | test "x$dir" = "x$object" && dir= | |
357 | base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` | |
358 | ||
359 | if test "$libtool" = yes; then | |
360 | # With Tru64 cc, shared objects can also be used to make a | |
361 | # static library. This mechanism is used in libtool 1.4 series to | |
362 | # handle both shared and static libraries in a single compilation. | |
363 | # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. | |
364 | # | |
365 | # With libtool 1.5 this exception was removed, and libtool now | |
366 | # generates 2 separate objects for the 2 libraries. These two | |
367 | # compilations output dependencies in $dir.libs/$base.o.d and | |
368 | # in $dir$base.o.d. We have to check for both files, because | |
369 | # one of the two compilations can be disabled. We should prefer | |
370 | # $dir$base.o.d over $dir.libs/$base.o.d because the latter is | |
371 | # automatically cleaned when .libs/ is deleted, while ignoring | |
372 | # the former would cause a distcleancheck panic. | |
373 | tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 | |
374 | tmpdepfile2=$dir$base.o.d # libtool 1.5 | |
375 | tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 | |
376 | tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 | |
377 | "$@" -Wc,-MD | |
378 | else | |
379 | tmpdepfile1=$dir$base.o.d | |
380 | tmpdepfile2=$dir$base.d | |
381 | tmpdepfile3=$dir$base.d | |
382 | tmpdepfile4=$dir$base.d | |
383 | "$@" -MD | |
384 | fi | |
385 | ||
386 | stat=$? | |
387 | if test $stat -eq 0; then : | |
388 | else | |
389 | rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" | |
390 | exit $stat | |
391 | fi | |
392 | ||
393 | for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" | |
394 | do | |
395 | test -f "$tmpdepfile" && break | |
396 | done | |
397 | if test -f "$tmpdepfile"; then | |
398 | sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" | |
399 | # That's a tab and a space in the []. | |
400 | sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" | |
401 | else | |
402 | echo "#dummy" > "$depfile" | |
403 | fi | |
404 | rm -f "$tmpdepfile" | |
405 | ;; | |
406 | ||
407 | #nosideeffect) | |
408 | # This comment above is used by automake to tell side-effect | |
409 | # dependency tracking mechanisms from slower ones. | |
410 | ||
411 | dashmstdout) | |
412 | # Important note: in order to support this mode, a compiler *must* | |
413 | # always write the preprocessed file to stdout, regardless of -o. | |
414 | "$@" || exit $? | |
415 | ||
416 | # Remove the call to Libtool. | |
417 | if test "$libtool" = yes; then | |
418 | while test "X$1" != 'X--mode=compile'; do | |
419 | shift | |
420 | done | |
421 | shift | |
422 | fi | |
423 | ||
424 | # Remove `-o $object'. | |
425 | IFS=" " | |
426 | for arg | |
427 | do | |
428 | case $arg in | |
429 | -o) | |
430 | shift | |
431 | ;; | |
432 | $object) | |
433 | shift | |
434 | ;; | |
435 | *) | |
436 | set fnord "$@" "$arg" | |
437 | shift # fnord | |
438 | shift # $arg | |
439 | ;; | |
440 | esac | |
441 | done | |
442 | ||
443 | test -z "$dashmflag" && dashmflag=-M | |
444 | # Require at least two characters before searching for `:' | |
445 | # in the target name. This is to cope with DOS-style filenames: | |
446 | # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. | |
447 | "$@" $dashmflag | | |
448 | sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" | |
449 | rm -f "$depfile" | |
450 | cat < "$tmpdepfile" > "$depfile" | |
451 | tr ' ' ' | |
452 | ' < "$tmpdepfile" | \ | |
453 | ## Some versions of the HPUX 10.20 sed can't process this invocation | |
454 | ## correctly. Breaking it into two sed invocations is a workaround. | |
455 | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" | |
456 | rm -f "$tmpdepfile" | |
457 | ;; | |
458 | ||
459 | dashXmstdout) | |
460 | # This case only exists to satisfy depend.m4. It is never actually | |
461 | # run, as this mode is specially recognized in the preamble. | |
462 | exit 1 | |
463 | ;; | |
464 | ||
465 | makedepend) | |
466 | "$@" || exit $? | |
467 | # Remove any Libtool call | |
468 | if test "$libtool" = yes; then | |
469 | while test "X$1" != 'X--mode=compile'; do | |
470 | shift | |
471 | done | |
472 | shift | |
473 | fi | |
474 | # X makedepend | |
475 | shift | |
476 | cleared=no eat=no | |
477 | for arg | |
478 | do | |
479 | case $cleared in | |
480 | no) | |
481 | set ""; shift | |
482 | cleared=yes ;; | |
483 | esac | |
484 | if test $eat = yes; then | |
485 | eat=no | |
486 | continue | |
487 | fi | |
488 | case "$arg" in | |
489 | -D*|-I*) | |
490 | set fnord "$@" "$arg"; shift ;; | |
491 | # Strip any option that makedepend may not understand. Remove | |
492 | # the object too, otherwise makedepend will parse it as a source file. | |
493 | -arch) | |
494 | eat=yes ;; | |
495 | -*|$object) | |
496 | ;; | |
497 | *) | |
498 | set fnord "$@" "$arg"; shift ;; | |
499 | esac | |
500 | done | |
501 | obj_suffix=`echo "$object" | sed 's/^.*\././'` | |
502 | touch "$tmpdepfile" | |
503 | ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" | |
504 | rm -f "$depfile" | |
505 | cat < "$tmpdepfile" > "$depfile" | |
506 | sed '1,2d' "$tmpdepfile" | tr ' ' ' | |
507 | ' | \ | |
508 | ## Some versions of the HPUX 10.20 sed can't process this invocation | |
509 | ## correctly. Breaking it into two sed invocations is a workaround. | |
510 | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" | |
511 | rm -f "$tmpdepfile" "$tmpdepfile".bak | |
512 | ;; | |
513 | ||
514 | cpp) | |
515 | # Important note: in order to support this mode, a compiler *must* | |
516 | # always write the preprocessed file to stdout. | |
517 | "$@" || exit $? | |
518 | ||
519 | # Remove the call to Libtool. | |
520 | if test "$libtool" = yes; then | |
521 | while test "X$1" != 'X--mode=compile'; do | |
522 | shift | |
523 | done | |
524 | shift | |
525 | fi | |
526 | ||
527 | # Remove `-o $object'. | |
528 | IFS=" " | |
529 | for arg | |
530 | do | |
531 | case $arg in | |
532 | -o) | |
533 | shift | |
534 | ;; | |
535 | $object) | |
536 | shift | |
537 | ;; | |
538 | *) | |
539 | set fnord "$@" "$arg" | |
540 | shift # fnord | |
541 | shift # $arg | |
542 | ;; | |
543 | esac | |
544 | done | |
545 | ||
546 | "$@" -E | | |
547 | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ | |
548 | -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | | |
549 | sed '$ s: \\$::' > "$tmpdepfile" | |
550 | rm -f "$depfile" | |
551 | echo "$object : \\" > "$depfile" | |
552 | cat < "$tmpdepfile" >> "$depfile" | |
553 | sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" | |
554 | rm -f "$tmpdepfile" | |
555 | ;; | |
556 | ||
557 | msvisualcpp) | |
558 | # Important note: in order to support this mode, a compiler *must* | |
559 | # always write the preprocessed file to stdout. | |
560 | "$@" || exit $? | |
561 | ||
562 | # Remove the call to Libtool. | |
563 | if test "$libtool" = yes; then | |
564 | while test "X$1" != 'X--mode=compile'; do | |
565 | shift | |
566 | done | |
567 | shift | |
568 | fi | |
569 | ||
570 | IFS=" " | |
571 | for arg | |
572 | do | |
573 | case "$arg" in | |
574 | -o) | |
575 | shift | |
576 | ;; | |
577 | $object) | |
578 | shift | |
579 | ;; | |
580 | "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") | |
581 | set fnord "$@" | |
582 | shift | |
583 | shift | |
584 | ;; | |
585 | *) | |
586 | set fnord "$@" "$arg" | |
587 | shift | |
588 | shift | |
589 | ;; | |
590 | esac | |
591 | done | |
592 | "$@" -E 2>/dev/null | | |
593 | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" | |
594 | rm -f "$depfile" | |
595 | echo "$object : \\" > "$depfile" | |
596 | sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" | |
597 | echo " " >> "$depfile" | |
598 | sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" | |
599 | rm -f "$tmpdepfile" | |
600 | ;; | |
601 | ||
602 | msvcmsys) | |
603 | # This case exists only to let depend.m4 do its work. It works by | |
604 | # looking at the text of this script. This case will never be run, | |
605 | # since it is checked for above. | |
606 | exit 1 | |
607 | ;; | |
608 | ||
609 | none) | |
610 | exec "$@" | |
611 | ;; | |
612 | ||
613 | *) | |
614 | echo "Unknown depmode $depmode" 1>&2 | |
615 | exit 1 | |
616 | ;; | |
617 | esac | |
618 | ||
619 | exit 0 | |
620 | ||
621 | # Local Variables: | |
622 | # mode: shell-script | |
623 | # sh-indentation: 2 | |
624 | # eval: (add-hook 'write-file-hooks 'time-stamp) | |
625 | # time-stamp-start: "scriptversion=" | |
626 | # time-stamp-format: "%:y-%02m-%02d.%02H" | |
627 | # time-stamp-time-zone: "UTC" | |
628 | # time-stamp-end: "; # UTC" | |
629 | # End: |
0 | #!/bin/sh | |
1 | # install - install a program, script, or datafile | |
2 | ||
3 | scriptversion=2009-04-28.21; # UTC | |
4 | ||
5 | # This originates from X11R5 (mit/util/scripts/install.sh), which was | |
6 | # later released in X11R6 (xc/config/util/install.sh) with the | |
7 | # following copyright and license. | |
8 | # | |
9 | # Copyright (C) 1994 X Consortium | |
10 | # | |
11 | # Permission is hereby granted, free of charge, to any person obtaining a copy | |
12 | # of this software and associated documentation files (the "Software"), to | |
13 | # deal in the Software without restriction, including without limitation the | |
14 | # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or | |
15 | # sell copies of the Software, and to permit persons to whom the Software is | |
16 | # furnished to do so, subject to the following conditions: | |
17 | # | |
18 | # The above copyright notice and this permission notice shall be included in | |
19 | # all copies or substantial portions of the Software. | |
20 | # | |
21 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
22 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
23 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
24 | # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | |
25 | # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- | |
26 | # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |
27 | # | |
28 | # Except as contained in this notice, the name of the X Consortium shall not | |
29 | # be used in advertising or otherwise to promote the sale, use or other deal- | |
30 | # ings in this Software without prior written authorization from the X Consor- | |
31 | # tium. | |
32 | # | |
33 | # | |
34 | # FSF changes to this file are in the public domain. | |
35 | # | |
36 | # Calling this script install-sh is preferred over install.sh, to prevent | |
37 | # `make' implicit rules from creating a file called install from it | |
38 | # when there is no Makefile. | |
39 | # | |
40 | # This script is compatible with the BSD install script, but was written | |
41 | # from scratch. | |
42 | ||
43 | nl=' | |
44 | ' | |
45 | IFS=" "" $nl" | |
46 | ||
47 | # set DOITPROG to echo to test this script | |
48 | ||
49 | # Don't use :- since 4.3BSD and earlier shells don't like it. | |
50 | doit=${DOITPROG-} | |
51 | if test -z "$doit"; then | |
52 | doit_exec=exec | |
53 | else | |
54 | doit_exec=$doit | |
55 | fi | |
56 | ||
57 | # Put in absolute file names if you don't have them in your path; | |
58 | # or use environment vars. | |
59 | ||
60 | chgrpprog=${CHGRPPROG-chgrp} | |
61 | chmodprog=${CHMODPROG-chmod} | |
62 | chownprog=${CHOWNPROG-chown} | |
63 | cmpprog=${CMPPROG-cmp} | |
64 | cpprog=${CPPROG-cp} | |
65 | mkdirprog=${MKDIRPROG-mkdir} | |
66 | mvprog=${MVPROG-mv} | |
67 | rmprog=${RMPROG-rm} | |
68 | stripprog=${STRIPPROG-strip} | |
69 | ||
70 | posix_glob='?' | |
71 | initialize_posix_glob=' | |
72 | test "$posix_glob" != "?" || { | |
73 | if (set -f) 2>/dev/null; then | |
74 | posix_glob= | |
75 | else | |
76 | posix_glob=: | |
77 | fi | |
78 | } | |
79 | ' | |
80 | ||
81 | posix_mkdir= | |
82 | ||
83 | # Desired mode of installed file. | |
84 | mode=0755 | |
85 | ||
86 | chgrpcmd= | |
87 | chmodcmd=$chmodprog | |
88 | chowncmd= | |
89 | mvcmd=$mvprog | |
90 | rmcmd="$rmprog -f" | |
91 | stripcmd= | |
92 | ||
93 | src= | |
94 | dst= | |
95 | dir_arg= | |
96 | dst_arg= | |
97 | ||
98 | copy_on_change=false | |
99 | no_target_directory= | |
100 | ||
101 | usage="\ | |
102 | Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE | |
103 | or: $0 [OPTION]... SRCFILES... DIRECTORY | |
104 | or: $0 [OPTION]... -t DIRECTORY SRCFILES... | |
105 | or: $0 [OPTION]... -d DIRECTORIES... | |
106 | ||
107 | In the 1st form, copy SRCFILE to DSTFILE. | |
108 | In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. | |
109 | In the 4th, create DIRECTORIES. | |
110 | ||
111 | Options: | |
112 | --help display this help and exit. | |
113 | --version display version info and exit. | |
114 | ||
115 | -c (ignored) | |
116 | -C install only if different (preserve the last data modification time) | |
117 | -d create directories instead of installing files. | |
118 | -g GROUP $chgrpprog installed files to GROUP. | |
119 | -m MODE $chmodprog installed files to MODE. | |
120 | -o USER $chownprog installed files to USER. | |
121 | -s $stripprog installed files. | |
122 | -t DIRECTORY install into DIRECTORY. | |
123 | -T report an error if DSTFILE is a directory. | |
124 | ||
125 | Environment variables override the default commands: | |
126 | CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG | |
127 | RMPROG STRIPPROG | |
128 | " | |
129 | ||
130 | while test $# -ne 0; do | |
131 | case $1 in | |
132 | -c) ;; | |
133 | ||
134 | -C) copy_on_change=true;; | |
135 | ||
136 | -d) dir_arg=true;; | |
137 | ||
138 | -g) chgrpcmd="$chgrpprog $2" | |
139 | shift;; | |
140 | ||
141 | --help) echo "$usage"; exit $?;; | |
142 | ||
143 | -m) mode=$2 | |
144 | case $mode in | |
145 | *' '* | *' '* | *' | |
146 | '* | *'*'* | *'?'* | *'['*) | |
147 | echo "$0: invalid mode: $mode" >&2 | |
148 | exit 1;; | |
149 | esac | |
150 | shift;; | |
151 | ||
152 | -o) chowncmd="$chownprog $2" | |
153 | shift;; | |
154 | ||
155 | -s) stripcmd=$stripprog;; | |
156 | ||
157 | -t) dst_arg=$2 | |
158 | shift;; | |
159 | ||
160 | -T) no_target_directory=true;; | |
161 | ||
162 | --version) echo "$0 $scriptversion"; exit $?;; | |
163 | ||
164 | --) shift | |
165 | break;; | |
166 | ||
167 | -*) echo "$0: invalid option: $1" >&2 | |
168 | exit 1;; | |
169 | ||
170 | *) break;; | |
171 | esac | |
172 | shift | |
173 | done | |
174 | ||
175 | if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then | |
176 | # When -d is used, all remaining arguments are directories to create. | |
177 | # When -t is used, the destination is already specified. | |
178 | # Otherwise, the last argument is the destination. Remove it from $@. | |
179 | for arg | |
180 | do | |
181 | if test -n "$dst_arg"; then | |
182 | # $@ is not empty: it contains at least $arg. | |
183 | set fnord "$@" "$dst_arg" | |
184 | shift # fnord | |
185 | fi | |
186 | shift # arg | |
187 | dst_arg=$arg | |
188 | done | |
189 | fi | |
190 | ||
191 | if test $# -eq 0; then | |
192 | if test -z "$dir_arg"; then | |
193 | echo "$0: no input file specified." >&2 | |
194 | exit 1 | |
195 | fi | |
196 | # It's OK to call `install-sh -d' without argument. | |
197 | # This can happen when creating conditional directories. | |
198 | exit 0 | |
199 | fi | |
200 | ||
201 | if test -z "$dir_arg"; then | |
202 | trap '(exit $?); exit' 1 2 13 15 | |
203 | ||
204 | # Set umask so as not to create temps with too-generous modes. | |
205 | # However, 'strip' requires both read and write access to temps. | |
206 | case $mode in | |
207 | # Optimize common cases. | |
208 | *644) cp_umask=133;; | |
209 | *755) cp_umask=22;; | |
210 | ||
211 | *[0-7]) | |
212 | if test -z "$stripcmd"; then | |
213 | u_plus_rw= | |
214 | else | |
215 | u_plus_rw='% 200' | |
216 | fi | |
217 | cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; | |
218 | *) | |
219 | if test -z "$stripcmd"; then | |
220 | u_plus_rw= | |
221 | else | |
222 | u_plus_rw=,u+rw | |
223 | fi | |
224 | cp_umask=$mode$u_plus_rw;; | |
225 | esac | |
226 | fi | |
227 | ||
228 | for src | |
229 | do | |
230 | # Protect names starting with `-'. | |
231 | case $src in | |
232 | -*) src=./$src;; | |
233 | esac | |
234 | ||
235 | if test -n "$dir_arg"; then | |
236 | dst=$src | |
237 | dstdir=$dst | |
238 | test -d "$dstdir" | |
239 | dstdir_status=$? | |
240 | else | |
241 | ||
242 | # Waiting for this to be detected by the "$cpprog $src $dsttmp" command | |
243 | # might cause directories to be created, which would be especially bad | |
244 | # if $src (and thus $dsttmp) contains '*'. | |
245 | if test ! -f "$src" && test ! -d "$src"; then | |
246 | echo "$0: $src does not exist." >&2 | |
247 | exit 1 | |
248 | fi | |
249 | ||
250 | if test -z "$dst_arg"; then | |
251 | echo "$0: no destination specified." >&2 | |
252 | exit 1 | |
253 | fi | |
254 | ||
255 | dst=$dst_arg | |
256 | # Protect names starting with `-'. | |
257 | case $dst in | |
258 | -*) dst=./$dst;; | |
259 | esac | |
260 | ||
261 | # If destination is a directory, append the input filename; won't work | |
262 | # if double slashes aren't ignored. | |
263 | if test -d "$dst"; then | |
264 | if test -n "$no_target_directory"; then | |
265 | echo "$0: $dst_arg: Is a directory" >&2 | |
266 | exit 1 | |
267 | fi | |
268 | dstdir=$dst | |
269 | dst=$dstdir/`basename "$src"` | |
270 | dstdir_status=0 | |
271 | else | |
272 | # Prefer dirname, but fall back on a substitute if dirname fails. | |
273 | dstdir=` | |
274 | (dirname "$dst") 2>/dev/null || | |
275 | expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ | |
276 | X"$dst" : 'X\(//\)[^/]' \| \ | |
277 | X"$dst" : 'X\(//\)$' \| \ | |
278 | X"$dst" : 'X\(/\)' \| . 2>/dev/null || | |
279 | echo X"$dst" | | |
280 | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ | |
281 | s//\1/ | |
282 | q | |
283 | } | |
284 | /^X\(\/\/\)[^/].*/{ | |
285 | s//\1/ | |
286 | q | |
287 | } | |
288 | /^X\(\/\/\)$/{ | |
289 | s//\1/ | |
290 | q | |
291 | } | |
292 | /^X\(\/\).*/{ | |
293 | s//\1/ | |
294 | q | |
295 | } | |
296 | s/.*/./; q' | |
297 | ` | |
298 | ||
299 | test -d "$dstdir" | |
300 | dstdir_status=$? | |
301 | fi | |
302 | fi | |
303 | ||
304 | obsolete_mkdir_used=false | |
305 | ||
306 | if test $dstdir_status != 0; then | |
307 | case $posix_mkdir in | |
308 | '') | |
309 | # Create intermediate dirs using mode 755 as modified by the umask. | |
310 | # This is like FreeBSD 'install' as of 1997-10-28. | |
311 | umask=`umask` | |
312 | case $stripcmd.$umask in | |
313 | # Optimize common cases. | |
314 | *[2367][2367]) mkdir_umask=$umask;; | |
315 | .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; | |
316 | ||
317 | *[0-7]) | |
318 | mkdir_umask=`expr $umask + 22 \ | |
319 | - $umask % 100 % 40 + $umask % 20 \ | |
320 | - $umask % 10 % 4 + $umask % 2 | |
321 | `;; | |
322 | *) mkdir_umask=$umask,go-w;; | |
323 | esac | |
324 | ||
325 | # With -d, create the new directory with the user-specified mode. | |
326 | # Otherwise, rely on $mkdir_umask. | |
327 | if test -n "$dir_arg"; then | |
328 | mkdir_mode=-m$mode | |
329 | else | |
330 | mkdir_mode= | |
331 | fi | |
332 | ||
333 | posix_mkdir=false | |
334 | case $umask in | |
335 | *[123567][0-7][0-7]) | |
336 | # POSIX mkdir -p sets u+wx bits regardless of umask, which | |
337 | # is incompatible with FreeBSD 'install' when (umask & 300) != 0. | |
338 | ;; | |
339 | *) | |
340 | tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ | |
341 | trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 | |
342 | ||
343 | if (umask $mkdir_umask && | |
344 | exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 | |
345 | then | |
346 | if test -z "$dir_arg" || { | |
347 | # Check for POSIX incompatibilities with -m. | |
348 | # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or | |
349 | # other-writeable bit of parent directory when it shouldn't. | |
350 | # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. | |
351 | ls_ld_tmpdir=`ls -ld "$tmpdir"` | |
352 | case $ls_ld_tmpdir in | |
353 | d????-?r-*) different_mode=700;; | |
354 | d????-?--*) different_mode=755;; | |
355 | *) false;; | |
356 | esac && | |
357 | $mkdirprog -m$different_mode -p -- "$tmpdir" && { | |
358 | ls_ld_tmpdir_1=`ls -ld "$tmpdir"` | |
359 | test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" | |
360 | } | |
361 | } | |
362 | then posix_mkdir=: | |
363 | fi | |
364 | rmdir "$tmpdir/d" "$tmpdir" | |
365 | else | |
366 | # Remove any dirs left behind by ancient mkdir implementations. | |
367 | rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null | |
368 | fi | |
369 | trap '' 0;; | |
370 | esac;; | |
371 | esac | |
372 | ||
373 | if | |
374 | $posix_mkdir && ( | |
375 | umask $mkdir_umask && | |
376 | $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" | |
377 | ) | |
378 | then : | |
379 | else | |
380 | ||
381 | # The umask is ridiculous, or mkdir does not conform to POSIX, | |
382 | # or it failed possibly due to a race condition. Create the | |
383 | # directory the slow way, step by step, checking for races as we go. | |
384 | ||
385 | case $dstdir in | |
386 | /*) prefix='/';; | |
387 | -*) prefix='./';; | |
388 | *) prefix='';; | |
389 | esac | |
390 | ||
391 | eval "$initialize_posix_glob" | |
392 | ||
393 | oIFS=$IFS | |
394 | IFS=/ | |
395 | $posix_glob set -f | |
396 | set fnord $dstdir | |
397 | shift | |
398 | $posix_glob set +f | |
399 | IFS=$oIFS | |
400 | ||
401 | prefixes= | |
402 | ||
403 | for d | |
404 | do | |
405 | test -z "$d" && continue | |
406 | ||
407 | prefix=$prefix$d | |
408 | if test -d "$prefix"; then | |
409 | prefixes= | |
410 | else | |
411 | if $posix_mkdir; then | |
412 | (umask=$mkdir_umask && | |
413 | $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break | |
414 | # Don't fail if two instances are running concurrently. | |
415 | test -d "$prefix" || exit 1 | |
416 | else | |
417 | case $prefix in | |
418 | *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; | |
419 | *) qprefix=$prefix;; | |
420 | esac | |
421 | prefixes="$prefixes '$qprefix'" | |
422 | fi | |
423 | fi | |
424 | prefix=$prefix/ | |
425 | done | |
426 | ||
427 | if test -n "$prefixes"; then | |
428 | # Don't fail if two instances are running concurrently. | |
429 | (umask $mkdir_umask && | |
430 | eval "\$doit_exec \$mkdirprog $prefixes") || | |
431 | test -d "$dstdir" || exit 1 | |
432 | obsolete_mkdir_used=true | |
433 | fi | |
434 | fi | |
435 | fi | |
436 | ||
437 | if test -n "$dir_arg"; then | |
438 | { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && | |
439 | { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && | |
440 | { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || | |
441 | test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 | |
442 | else | |
443 | ||
444 | # Make a couple of temp file names in the proper directory. | |
445 | dsttmp=$dstdir/_inst.$$_ | |
446 | rmtmp=$dstdir/_rm.$$_ | |
447 | ||
448 | # Trap to clean up those temp files at exit. | |
449 | trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 | |
450 | ||
451 | # Copy the file name to the temp name. | |
452 | (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && | |
453 | ||
454 | # and set any options; do chmod last to preserve setuid bits. | |
455 | # | |
456 | # If any of these fail, we abort the whole thing. If we want to | |
457 | # ignore errors from any of these, just make sure not to ignore | |
458 | # errors from the above "$doit $cpprog $src $dsttmp" command. | |
459 | # | |
460 | { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && | |
461 | { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && | |
462 | { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && | |
463 | { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && | |
464 | ||
465 | # If -C, don't bother to copy if it wouldn't change the file. | |
466 | if $copy_on_change && | |
467 | old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && | |
468 | new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && | |
469 | ||
470 | eval "$initialize_posix_glob" && | |
471 | $posix_glob set -f && | |
472 | set X $old && old=:$2:$4:$5:$6 && | |
473 | set X $new && new=:$2:$4:$5:$6 && | |
474 | $posix_glob set +f && | |
475 | ||
476 | test "$old" = "$new" && | |
477 | $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 | |
478 | then | |
479 | rm -f "$dsttmp" | |
480 | else | |
481 | # Rename the file to the real destination. | |
482 | $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || | |
483 | ||
484 | # The rename failed, perhaps because mv can't rename something else | |
485 | # to itself, or perhaps because mv is so ancient that it does not | |
486 | # support -f. | |
487 | { | |
488 | # Now remove or move aside any old file at destination location. | |
489 | # We try this two ways since rm can't unlink itself on some | |
490 | # systems and the destination file might be busy for other | |
491 | # reasons. In this case, the final cleanup might fail but the new | |
492 | # file should still install successfully. | |
493 | { | |
494 | test ! -f "$dst" || | |
495 | $doit $rmcmd -f "$dst" 2>/dev/null || | |
496 | { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && | |
497 | { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } | |
498 | } || | |
499 | { echo "$0: cannot unlink or rename $dst" >&2 | |
500 | (exit 1); exit 1 | |
501 | } | |
502 | } && | |
503 | ||
504 | # Now rename the file to the real destination. | |
505 | $doit $mvcmd "$dsttmp" "$dst" | |
506 | } | |
507 | fi || exit 1 | |
508 | ||
509 | trap '' 0 | |
510 | fi | |
511 | done | |
512 | ||
513 | # Local variables: | |
514 | # eval: (add-hook 'write-file-hooks 'time-stamp) | |
515 | # time-stamp-start: "scriptversion=" | |
516 | # time-stamp-format: "%:y-%02m-%02d.%02H" | |
517 | # time-stamp-time-zone: "UTC" | |
518 | # time-stamp-end: "; # UTC" | |
519 | # End: |
0 | #! /bin/sh | |
1 | # Common stub for a few missing GNU programs while installing. | |
2 | ||
3 | scriptversion=2009-04-28.21; # UTC | |
4 | ||
5 | # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, | |
6 | # 2008, 2009 Free Software Foundation, Inc. | |
7 | # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. | |
8 | ||
9 | # This program is free software; you can redistribute it and/or modify | |
10 | # it under the terms of the GNU General Public License as published by | |
11 | # the Free Software Foundation; either version 2, or (at your option) | |
12 | # any later version. | |
13 | ||
14 | # This program is distributed in the hope that it will be useful, | |
15 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 | # GNU General Public License for more details. | |
18 | ||
19 | # You should have received a copy of the GNU General Public License | |
20 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
21 | ||
22 | # As a special exception to the GNU General Public License, if you | |
23 | # distribute this file as part of a program that contains a | |
24 | # configuration script generated by Autoconf, you may include it under | |
25 | # the same distribution terms that you use for the rest of that program. | |
26 | ||
27 | if test $# -eq 0; then | |
28 | echo 1>&2 "Try \`$0 --help' for more information" | |
29 | exit 1 | |
30 | fi | |
31 | ||
32 | run=: | |
33 | sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' | |
34 | sed_minuso='s/.* -o \([^ ]*\).*/\1/p' | |
35 | ||
36 | # In the cases where this matters, `missing' is being run in the | |
37 | # srcdir already. | |
38 | if test -f configure.ac; then | |
39 | configure_ac=configure.ac | |
40 | else | |
41 | configure_ac=configure.in | |
42 | fi | |
43 | ||
44 | msg="missing on your system" | |
45 | ||
46 | case $1 in | |
47 | --run) | |
48 | # Try to run requested program, and just exit if it succeeds. | |
49 | run= | |
50 | shift | |
51 | "$@" && exit 0 | |
52 | # Exit code 63 means version mismatch. This often happens | |
53 | # when the user try to use an ancient version of a tool on | |
54 | # a file that requires a minimum version. In this case we | |
55 | # we should proceed has if the program had been absent, or | |
56 | # if --run hadn't been passed. | |
57 | if test $? = 63; then | |
58 | run=: | |
59 | msg="probably too old" | |
60 | fi | |
61 | ;; | |
62 | ||
63 | -h|--h|--he|--hel|--help) | |
64 | echo "\ | |
65 | $0 [OPTION]... PROGRAM [ARGUMENT]... | |
66 | ||
67 | Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an | |
68 | error status if there is no known handling for PROGRAM. | |
69 | ||
70 | Options: | |
71 | -h, --help display this help and exit | |
72 | -v, --version output version information and exit | |
73 | --run try to run the given command, and emulate it if it fails | |
74 | ||
75 | Supported PROGRAM values: | |
76 | aclocal touch file \`aclocal.m4' | |
77 | autoconf touch file \`configure' | |
78 | autoheader touch file \`config.h.in' | |
79 | autom4te touch the output file, or create a stub one | |
80 | automake touch all \`Makefile.in' files | |
81 | bison create \`y.tab.[ch]', if possible, from existing .[ch] | |
82 | flex create \`lex.yy.c', if possible, from existing .c | |
83 | help2man touch the output file | |
84 | lex create \`lex.yy.c', if possible, from existing .c | |
85 | makeinfo touch the output file | |
86 | tar try tar, gnutar, gtar, then tar without non-portable flags | |
87 | yacc create \`y.tab.[ch]', if possible, from existing .[ch] | |
88 | ||
89 | Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and | |
90 | \`g' are ignored when checking the name. | |
91 | ||
92 | Send bug reports to <bug-automake@gnu.org>." | |
93 | exit $? | |
94 | ;; | |
95 | ||
96 | -v|--v|--ve|--ver|--vers|--versi|--versio|--version) | |
97 | echo "missing $scriptversion (GNU Automake)" | |
98 | exit $? | |
99 | ;; | |
100 | ||
101 | -*) | |
102 | echo 1>&2 "$0: Unknown \`$1' option" | |
103 | echo 1>&2 "Try \`$0 --help' for more information" | |
104 | exit 1 | |
105 | ;; | |
106 | ||
107 | esac | |
108 | ||
109 | # normalize program name to check for. | |
110 | program=`echo "$1" | sed ' | |
111 | s/^gnu-//; t | |
112 | s/^gnu//; t | |
113 | s/^g//; t'` | |
114 | ||
115 | # Now exit if we have it, but it failed. Also exit now if we | |
116 | # don't have it and --version was passed (most likely to detect | |
117 | # the program). This is about non-GNU programs, so use $1 not | |
118 | # $program. | |
119 | case $1 in | |
120 | lex*|yacc*) | |
121 | # Not GNU programs, they don't have --version. | |
122 | ;; | |
123 | ||
124 | tar*) | |
125 | if test -n "$run"; then | |
126 | echo 1>&2 "ERROR: \`tar' requires --run" | |
127 | exit 1 | |
128 | elif test "x$2" = "x--version" || test "x$2" = "x--help"; then | |
129 | exit 1 | |
130 | fi | |
131 | ;; | |
132 | ||
133 | *) | |
134 | if test -z "$run" && ($1 --version) > /dev/null 2>&1; then | |
135 | # We have it, but it failed. | |
136 | exit 1 | |
137 | elif test "x$2" = "x--version" || test "x$2" = "x--help"; then | |
138 | # Could not run --version or --help. This is probably someone | |
139 | # running `$TOOL --version' or `$TOOL --help' to check whether | |
140 | # $TOOL exists and not knowing $TOOL uses missing. | |
141 | exit 1 | |
142 | fi | |
143 | ;; | |
144 | esac | |
145 | ||
146 | # If it does not exist, or fails to run (possibly an outdated version), | |
147 | # try to emulate it. | |
148 | case $program in | |
149 | aclocal*) | |
150 | echo 1>&2 "\ | |
151 | WARNING: \`$1' is $msg. You should only need it if | |
152 | you modified \`acinclude.m4' or \`${configure_ac}'. You might want | |
153 | to install the \`Automake' and \`Perl' packages. Grab them from | |
154 | any GNU archive site." | |
155 | touch aclocal.m4 | |
156 | ;; | |
157 | ||
158 | autoconf*) | |
159 | echo 1>&2 "\ | |
160 | WARNING: \`$1' is $msg. You should only need it if | |
161 | you modified \`${configure_ac}'. You might want to install the | |
162 | \`Autoconf' and \`GNU m4' packages. Grab them from any GNU | |
163 | archive site." | |
164 | touch configure | |
165 | ;; | |
166 | ||
167 | autoheader*) | |
168 | echo 1>&2 "\ | |
169 | WARNING: \`$1' is $msg. You should only need it if | |
170 | you modified \`acconfig.h' or \`${configure_ac}'. You might want | |
171 | to install the \`Autoconf' and \`GNU m4' packages. Grab them | |
172 | from any GNU archive site." | |
173 | files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` | |
174 | test -z "$files" && files="config.h" | |
175 | touch_files= | |
176 | for f in $files; do | |
177 | case $f in | |
178 | *:*) touch_files="$touch_files "`echo "$f" | | |
179 | sed -e 's/^[^:]*://' -e 's/:.*//'`;; | |
180 | *) touch_files="$touch_files $f.in";; | |
181 | esac | |
182 | done | |
183 | touch $touch_files | |
184 | ;; | |
185 | ||
186 | automake*) | |
187 | echo 1>&2 "\ | |
188 | WARNING: \`$1' is $msg. You should only need it if | |
189 | you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. | |
190 | You might want to install the \`Automake' and \`Perl' packages. | |
191 | Grab them from any GNU archive site." | |
192 | find . -type f -name Makefile.am -print | | |
193 | sed 's/\.am$/.in/' | | |
194 | while read f; do touch "$f"; done | |
195 | ;; | |
196 | ||
197 | autom4te*) | |
198 | echo 1>&2 "\ | |
199 | WARNING: \`$1' is needed, but is $msg. | |
200 | You might have modified some files without having the | |
201 | proper tools for further handling them. | |
202 | You can get \`$1' as part of \`Autoconf' from any GNU | |
203 | archive site." | |
204 | ||
205 | file=`echo "$*" | sed -n "$sed_output"` | |
206 | test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` | |
207 | if test -f "$file"; then | |
208 | touch $file | |
209 | else | |
210 | test -z "$file" || exec >$file | |
211 | echo "#! /bin/sh" | |
212 | echo "# Created by GNU Automake missing as a replacement of" | |
213 | echo "# $ $@" | |
214 | echo "exit 0" | |
215 | chmod +x $file | |
216 | exit 1 | |
217 | fi | |
218 | ;; | |
219 | ||
220 | bison*|yacc*) | |
221 | echo 1>&2 "\ | |
222 | WARNING: \`$1' $msg. You should only need it if | |
223 | you modified a \`.y' file. You may need the \`Bison' package | |
224 | in order for those modifications to take effect. You can get | |
225 | \`Bison' from any GNU archive site." | |
226 | rm -f y.tab.c y.tab.h | |
227 | if test $# -ne 1; then | |
228 | eval LASTARG="\${$#}" | |
229 | case $LASTARG in | |
230 | *.y) | |
231 | SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` | |
232 | if test -f "$SRCFILE"; then | |
233 | cp "$SRCFILE" y.tab.c | |
234 | fi | |
235 | SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` | |
236 | if test -f "$SRCFILE"; then | |
237 | cp "$SRCFILE" y.tab.h | |
238 | fi | |
239 | ;; | |
240 | esac | |
241 | fi | |
242 | if test ! -f y.tab.h; then | |
243 | echo >y.tab.h | |
244 | fi | |
245 | if test ! -f y.tab.c; then | |
246 | echo 'main() { return 0; }' >y.tab.c | |
247 | fi | |
248 | ;; | |
249 | ||
250 | lex*|flex*) | |
251 | echo 1>&2 "\ | |
252 | WARNING: \`$1' is $msg. You should only need it if | |
253 | you modified a \`.l' file. You may need the \`Flex' package | |
254 | in order for those modifications to take effect. You can get | |
255 | \`Flex' from any GNU archive site." | |
256 | rm -f lex.yy.c | |
257 | if test $# -ne 1; then | |
258 | eval LASTARG="\${$#}" | |
259 | case $LASTARG in | |
260 | *.l) | |
261 | SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` | |
262 | if test -f "$SRCFILE"; then | |
263 | cp "$SRCFILE" lex.yy.c | |
264 | fi | |
265 | ;; | |
266 | esac | |
267 | fi | |
268 | if test ! -f lex.yy.c; then | |
269 | echo 'main() { return 0; }' >lex.yy.c | |
270 | fi | |
271 | ;; | |
272 | ||
273 | help2man*) | |
274 | echo 1>&2 "\ | |
275 | WARNING: \`$1' is $msg. You should only need it if | |
276 | you modified a dependency of a manual page. You may need the | |
277 | \`Help2man' package in order for those modifications to take | |
278 | effect. You can get \`Help2man' from any GNU archive site." | |
279 | ||
280 | file=`echo "$*" | sed -n "$sed_output"` | |
281 | test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` | |
282 | if test -f "$file"; then | |
283 | touch $file | |
284 | else | |
285 | test -z "$file" || exec >$file | |
286 | echo ".ab help2man is required to generate this page" | |
287 | exit $? | |
288 | fi | |
289 | ;; | |
290 | ||
291 | makeinfo*) | |
292 | echo 1>&2 "\ | |
293 | WARNING: \`$1' is $msg. You should only need it if | |
294 | you modified a \`.texi' or \`.texinfo' file, or any other file | |
295 | indirectly affecting the aspect of the manual. The spurious | |
296 | call might also be the consequence of using a buggy \`make' (AIX, | |
297 | DU, IRIX). You might want to install the \`Texinfo' package or | |
298 | the \`GNU make' package. Grab either from any GNU archive site." | |
299 | # The file to touch is that specified with -o ... | |
300 | file=`echo "$*" | sed -n "$sed_output"` | |
301 | test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` | |
302 | if test -z "$file"; then | |
303 | # ... or it is the one specified with @setfilename ... | |
304 | infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` | |
305 | file=`sed -n ' | |
306 | /^@setfilename/{ | |
307 | s/.* \([^ ]*\) *$/\1/ | |
308 | p | |
309 | q | |
310 | }' $infile` | |
311 | # ... or it is derived from the source name (dir/f.texi becomes f.info) | |
312 | test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info | |
313 | fi | |
314 | # If the file does not exist, the user really needs makeinfo; | |
315 | # let's fail without touching anything. | |
316 | test -f $file || exit 1 | |
317 | touch $file | |
318 | ;; | |
319 | ||
320 | tar*) | |
321 | shift | |
322 | ||
323 | # We have already tried tar in the generic part. | |
324 | # Look for gnutar/gtar before invocation to avoid ugly error | |
325 | # messages. | |
326 | if (gnutar --version > /dev/null 2>&1); then | |
327 | gnutar "$@" && exit 0 | |
328 | fi | |
329 | if (gtar --version > /dev/null 2>&1); then | |
330 | gtar "$@" && exit 0 | |
331 | fi | |
332 | firstarg="$1" | |
333 | if shift; then | |
334 | case $firstarg in | |
335 | *o*) | |
336 | firstarg=`echo "$firstarg" | sed s/o//` | |
337 | tar "$firstarg" "$@" && exit 0 | |
338 | ;; | |
339 | esac | |
340 | case $firstarg in | |
341 | *h*) | |
342 | firstarg=`echo "$firstarg" | sed s/h//` | |
343 | tar "$firstarg" "$@" && exit 0 | |
344 | ;; | |
345 | esac | |
346 | fi | |
347 | ||
348 | echo 1>&2 "\ | |
349 | WARNING: I can't seem to be able to run \`tar' with the given arguments. | |
350 | You may want to install GNU tar or Free paxutils, or check the | |
351 | command line arguments." | |
352 | exit 1 | |
353 | ;; | |
354 | ||
355 | *) | |
356 | echo 1>&2 "\ | |
357 | WARNING: \`$1' is needed, and is $msg. | |
358 | You might have modified some files without having the | |
359 | proper tools for further handling them. Check the \`README' file, | |
360 | it often tells you about the needed prerequisites for installing | |
361 | this package. You may also peek at any GNU archive site, in case | |
362 | some other package would contain this missing \`$1' program." | |
363 | exit 1 | |
364 | ;; | |
365 | esac | |
366 | ||
367 | exit 0 | |
368 | ||
369 | # Local variables: | |
370 | # eval: (add-hook 'write-file-hooks 'time-stamp) | |
371 | # time-stamp-start: "scriptversion=" | |
372 | # time-stamp-format: "%:y-%02m-%02d.%02H" | |
373 | # time-stamp-time-zone: "UTC" | |
374 | # time-stamp-end: "; # UTC" | |
375 | # End: |
27 | 27 | #include <libnemo-extension/nemo-extension-types.h> |
28 | 28 | #include <libnemo-extension/nemo-file-info.h> |
29 | 29 | #include <libnemo-extension/nemo-menu-provider.h> |
30 | #include <libnemo-extension/nemo-name-and-desc-provider.h> | |
30 | 31 | #include "nemo-fileroller.h" |
31 | 32 | |
32 | 33 | |
33 | 34 | static GObjectClass *parent_class; |
34 | ||
35 | static gboolean always_show_extract_to = FALSE; | |
35 | 36 | |
36 | 37 | static void |
37 | 38 | extract_to_callback (NemoMenuItem *item, |
40 | 41 | GList *files; |
41 | 42 | NemoFileInfo *file; |
42 | 43 | char *uri, *default_dir; |
44 | char *quoted_uri, *quoted_default_dir; | |
43 | 45 | GString *cmd; |
44 | 46 | |
45 | 47 | files = g_object_get_data (G_OBJECT (item), "files"); |
47 | 49 | |
48 | 50 | uri = nemo_file_info_get_uri (file); |
49 | 51 | default_dir = nemo_file_info_get_parent_uri (file); |
52 | ||
53 | quoted_uri = g_shell_quote (uri); | |
54 | quoted_default_dir = g_shell_quote (default_dir); | |
50 | 55 | |
51 | 56 | cmd = g_string_new ("file-roller"); |
52 | 57 | g_string_append_printf (cmd, |
53 | 58 | " --default-dir=%s --extract %s", |
54 | g_shell_quote (default_dir), | |
55 | g_shell_quote (uri)); | |
59 | quoted_default_dir, | |
60 | quoted_uri); | |
56 | 61 | |
57 | 62 | #ifdef DEBUG |
58 | 63 | g_print ("EXEC: %s\n", cmd->str); |
63 | 68 | g_string_free (cmd, TRUE); |
64 | 69 | g_free (default_dir); |
65 | 70 | g_free (uri); |
71 | g_free (quoted_default_dir); | |
72 | g_free (quoted_uri); | |
66 | 73 | } |
67 | 74 | |
68 | 75 | |
71 | 78 | gpointer user_data) |
72 | 79 | { |
73 | 80 | GList *files, *scan; |
74 | NemoFileInfo *file; | |
75 | char *dir; | |
76 | 81 | GString *cmd; |
77 | 82 | |
78 | 83 | files = g_object_get_data (G_OBJECT (item), "files"); |
79 | file = files->data; | |
80 | ||
81 | dir = nemo_file_info_get_parent_uri (file); | |
82 | ||
83 | cmd = g_string_new ("file-roller"); | |
84 | g_string_append_printf (cmd," --extract-here"); | |
85 | ||
86 | g_free (dir); | |
84 | ||
85 | cmd = g_string_new ("file-roller --extract-here"); | |
87 | 86 | |
88 | 87 | for (scan = files; scan; scan = scan->next) { |
89 | 88 | NemoFileInfo *file = scan->data; |
90 | 89 | char *uri; |
90 | char *quoted_uri; | |
91 | 91 | |
92 | 92 | uri = nemo_file_info_get_uri (file); |
93 | g_string_append_printf (cmd, " %s", g_shell_quote (uri)); | |
93 | quoted_uri = g_shell_quote (uri); | |
94 | g_string_append_printf (cmd, " %s", quoted_uri); | |
94 | 95 | g_free (uri); |
96 | g_free (quoted_uri); | |
95 | 97 | } |
96 | 98 | |
97 | 99 | g_spawn_command_line_async (cmd->str, NULL); |
111 | 113 | GList *files, *scan; |
112 | 114 | NemoFileInfo *file; |
113 | 115 | char *uri, *dir; |
116 | char *quoted_uri, *quoted_dir; | |
114 | 117 | GString *cmd; |
115 | 118 | |
116 | 119 | files = g_object_get_data (G_OBJECT (item), "files"); |
118 | 121 | |
119 | 122 | uri = nemo_file_info_get_uri (file); |
120 | 123 | dir = g_path_get_dirname (uri); |
124 | quoted_dir = g_shell_quote (dir); | |
121 | 125 | |
122 | 126 | cmd = g_string_new ("file-roller"); |
123 | g_string_append_printf (cmd," --default-dir=%s --add", g_shell_quote (dir)); | |
124 | ||
127 | g_string_append_printf (cmd," --default-dir=%s --add", quoted_dir); | |
128 | ||
129 | g_free (uri); | |
125 | 130 | g_free (dir); |
126 | g_free (uri); | |
131 | g_free (quoted_dir); | |
127 | 132 | |
128 | 133 | for (scan = files; scan; scan = scan->next) { |
129 | 134 | NemoFileInfo *file = scan->data; |
130 | 135 | |
131 | 136 | uri = nemo_file_info_get_uri (file); |
132 | g_string_append_printf (cmd, " %s", g_shell_quote (uri)); | |
137 | quoted_uri = g_shell_quote (uri); | |
138 | g_string_append_printf (cmd, " %s", quoted_uri); | |
133 | 139 | g_free (uri); |
140 | g_free (quoted_uri); | |
134 | 141 | } |
135 | 142 | |
136 | 143 | g_spawn_command_line_async (cmd->str, NULL); |
285 | 292 | return NULL; |
286 | 293 | |
287 | 294 | if (unsupported_scheme ((NemoFileInfo *) files->data)) |
288 | return NULL; | |
295 | return NULL; | |
289 | 296 | |
290 | 297 | for (scan = files; scan; scan = scan->next) { |
291 | 298 | NemoFileInfo *file = scan->data; |
306 | 313 | NemoFileInfo *parent; |
307 | 314 | |
308 | 315 | parent = nemo_file_info_get_parent_info (file); |
309 | can_write = nemo_file_info_can_write (parent); | |
316 | can_write = nemo_file_info_can_write (parent); | |
317 | g_object_unref (parent); | |
310 | 318 | } |
311 | 319 | } |
312 | 320 | |
336 | 344 | |
337 | 345 | items = g_list_append (items, item); |
338 | 346 | } |
339 | else if (all_archives && ! can_write) { | |
347 | if (all_archives && | |
348 | (!can_write || always_show_extract_to)) { | |
340 | 349 | NemoMenuItem *item; |
341 | 350 | |
342 | 351 | item = nemo_menu_item_new ("NemoFr::extract_to", |
378 | 387 | return items; |
379 | 388 | } |
380 | 389 | |
390 | static GList * | |
391 | nemo_fr_get_name_and_desc (NemoNameAndDescProvider *provider) | |
392 | { | |
393 | GList *ret = NULL; | |
394 | ||
395 | ret = g_list_append (ret, _("Nemo Fileroller:::Allows managing of archives from the context menu")); | |
396 | ||
397 | return ret; | |
398 | } | |
381 | 399 | |
382 | 400 | static void |
383 | 401 | nemo_fr_menu_provider_iface_init (NemoMenuProviderIface *iface) |
385 | 403 | iface->get_file_items = nemo_fr_get_file_items; |
386 | 404 | } |
387 | 405 | |
406 | static void | |
407 | nemo_fr_nd_provider_iface_init (NemoNameAndDescProviderIface *iface) | |
408 | { | |
409 | iface->get_name_and_desc = nemo_fr_get_name_and_desc; | |
410 | } | |
388 | 411 | |
389 | 412 | static void |
390 | 413 | nemo_fr_instance_init (NemoFr *fr) |
391 | 414 | { |
415 | GSettings *settings = g_settings_new ("org.nemo.preferences"); | |
416 | ||
417 | gchar **keys = g_settings_list_keys (settings); | |
418 | int i; | |
419 | ||
420 | for (i = 0; i < g_strv_length (keys); i++) { | |
421 | if (g_strcmp0 (keys[i], "context-menus-show-all-actions")) { | |
422 | always_show_extract_to = g_settings_get_boolean (settings, "context-menus-show-all-actions"); | |
423 | break; | |
424 | } | |
425 | } | |
426 | g_strfreev (keys); | |
427 | g_object_unref (settings); | |
392 | 428 | } |
393 | 429 | |
394 | 430 | |
430 | 466 | NULL |
431 | 467 | }; |
432 | 468 | |
469 | static const GInterfaceInfo nd_provider_iface_info = { | |
470 | (GInterfaceInitFunc) nemo_fr_nd_provider_iface_init, | |
471 | NULL, | |
472 | NULL | |
473 | }; | |
474 | ||
433 | 475 | fr_type = g_type_module_register_type (module, |
434 | 476 | G_TYPE_OBJECT, |
435 | 477 | "NemoFileRoller", |
439 | 481 | fr_type, |
440 | 482 | NEMO_TYPE_MENU_PROVIDER, |
441 | 483 | &menu_provider_iface_info); |
442 | } | |
484 | ||
485 | g_type_module_add_interface (module, | |
486 | fr_type, | |
487 | NEMO_TYPE_NAME_AND_DESC_PROVIDER, | |
488 | &nd_provider_iface_info); | |
489 | } |