Changeset c59712e


Ignore:
Timestamp:
Aug 3, 2018, 11:25:46 AM (3 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
aaron-thesis, arm-eh, cleanup-dtors, deferred_resn, demangler, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer
Children:
ff1e0f38
Parents:
25a9b5a
Message:

Parent make now seems to properly call libcfa

Files:
10 added
26 edited

Legend:

Unmodified
Added
Removed
  • Makefile.am

    r25a9b5a rc59712e  
    1515###############################################################################
    1616
    17 AUTOMAKE_OPTIONS = foreign              # do not require all the GNU file names
    18 SUBDIRS = driver src libcfa/prelude libcfa/src # order important, src before prelude because cfa-cpp used to build prelude
    19 EXTRA_DIST = Docs                       # non-source files
    20 BACKEND_CC = @BACKEND_CC@               # C compiler used to compile Cforall programs, versus C++ compiler used to build cfa command
     17AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
     18BACKEND_CC = @BACKEND_CC@     # C compiler used to compile Cforall programs, versus C++ compiler used to build cfa command
    2119
    2220MAINTAINERCLEANFILES = lib/* bin/* tests/.deps/* tests/.out/*
     21 # order important
     22
     23SUBDIRS = driver src . @LIBCFA_TARGET_DIRS@
     24
     25@LIBCFA_TARGET_MAKEFILES@ :
     26        ls $(dir $@)/config.data || (echo "Missing config.data, re-run configure script again" && false)
     27        cd $(dir $@) && $(abs_top_srcdir)/libcfa/configure $(cat config.data)
     28
     29noinst_DATA = @LIBCFA_TARGET_MAKEFILES@
    2330
    2431man1_MANS = doc/man/cfa.1
  • Makefile.in

    r25a9b5a rc59712e  
    1717######################## -*- Mode: Makefile-Automake -*- ######################
    1818###############################################################################
     19
    1920VPATH = @srcdir@
    2021am__is_gnu_make = { \
     
    162163NROFF = nroff
    163164MANS = $(man1_MANS)
     165DATA = $(noinst_DATA)
    164166RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
    165167  distclean-recursive maintainer-clean-recursive
     
    249251AUTOMAKE = @AUTOMAKE@
    250252AWK = @AWK@
    251 BACKEND_CC = @BACKEND_CC@               # C compiler used to compile Cforall programs, versus C++ compiler used to build cfa command
     253BACKEND_CC = @BACKEND_CC@     # C compiler used to compile Cforall programs, versus C++ compiler used to build cfa command
    252254BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@
    253255BUILD_IN_TREE_FLAGS_NOLIB = @BUILD_IN_TREE_FLAGS_NOLIB@
     
    291293LEXLIB = @LEXLIB@
    292294LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
     295LIBCFA_TARGET_DIRS = @LIBCFA_TARGET_DIRS@
     296LIBCFA_TARGET_MAKEFILES = @LIBCFA_TARGET_MAKEFILES@
    293297LIBOBJS = @LIBOBJS@
    294298LIBS = @LIBS@
    295299LTLIBOBJS = @LTLIBOBJS@
    296 MACHINE_TYPE = @MACHINE_TYPE@
    297300MAKEINFO = @MAKEINFO@
    298301MKDIR_P = @MKDIR_P@
     
    310313SHELL = @SHELL@
    311314STRIP = @STRIP@
     315TARGET_HOSTS = @TARGET_HOSTS@
    312316VERSION = @VERSION@
    313317YACC = @YACC@
     
    365369top_builddir = @top_builddir@
    366370top_srcdir = @top_srcdir@
    367 AUTOMAKE_OPTIONS = foreign              # do not require all the GNU file names
    368 SUBDIRS = driver src libcfa/prelude libcfa/src # order important, src before prelude because cfa-cpp used to build prelude
    369 EXTRA_DIST = Docs                       # non-source files
     371AUTOMAKE_OPTIONS = foreign    # do not require all the GNU file names
    370372MAINTAINERCLEANFILES = lib/* bin/* tests/.deps/* tests/.out/*
     373SUBDIRS = driver src . @LIBCFA_TARGET_DIRS@
     374noinst_DATA = @LIBCFA_TARGET_MAKEFILES@
    371375man1_MANS = doc/man/cfa.1
    372376all: config.h
     
    760764check-am: all-am
    761765check: check-recursive
    762 all-am: Makefile $(MANS) config.h
     766all-am: Makefile $(MANS) $(DATA) config.h
    763767installdirs: installdirs-recursive
    764768installdirs-am:
     
    888892.PRECIOUS: Makefile
    889893
     894 # order important
     895
     896@LIBCFA_TARGET_MAKEFILES@ :
     897        ls $(dir $@)/config.data || (echo "Missing config.data, re-run configure script again" && false)
     898        cd $(dir $@) && $(abs_top_srcdir)/libcfa/configure $(cat config.data)
    890899
    891900# Tell versions [3.59,3.63) of GNU make to not export all variables.
  • aclocal.m4

    r25a9b5a rc59712e  
    127127# Expand $ac_aux_dir to an absolute path.
    128128am_aux_dir=`cd "$ac_aux_dir" && pwd`
    129 ])
    130 
    131 # AM_COND_IF                                            -*- Autoconf -*-
    132 
    133 # Copyright (C) 2008-2014 Free Software Foundation, Inc.
    134 #
    135 # This file is free software; the Free Software Foundation
    136 # gives unlimited permission to copy and/or distribute it,
    137 # with or without modifications, as long as this notice is preserved.
    138 
    139 # _AM_COND_IF
    140 # _AM_COND_ELSE
    141 # _AM_COND_ENDIF
    142 # --------------
    143 # These macros are only used for tracing.
    144 m4_define([_AM_COND_IF])
    145 m4_define([_AM_COND_ELSE])
    146 m4_define([_AM_COND_ENDIF])
    147 
    148 # AM_COND_IF(COND, [IF-TRUE], [IF-FALSE])
    149 # ---------------------------------------
    150 # If the shell condition COND is true, execute IF-TRUE, otherwise execute
    151 # IF-FALSE.  Allow automake to learn about conditional instantiating macros
    152 # (the AC_CONFIG_FOOS).
    153 AC_DEFUN([AM_COND_IF],
    154 [m4_ifndef([_AM_COND_VALUE_$1],
    155            [m4_fatal([$0: no such condition "$1"])])dnl
    156 _AM_COND_IF([$1])dnl
    157 if test -z "$$1_TRUE"; then :
    158   m4_n([$2])[]dnl
    159 m4_ifval([$3],
    160 [_AM_COND_ELSE([$1])dnl
    161 else
    162   $3
    163 ])dnl
    164 _AM_COND_ENDIF([$1])dnl
    165 fi[]dnl
    166129])
    167130
  • automake/compile

    • Property mode changed from 100755 to 120000
    r25a9b5a rc59712e  
    1 #! /bin/sh
    2 # Wrapper for compilers which do not understand '-c -o'.
    3 
    4 scriptversion=2012-10-14.11; # UTC
    5 
    6 # Copyright (C) 1999-2014 Free Software Foundation, Inc.
    7 # Written by Tom Tromey <tromey@cygnus.com>.
    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 # This file is maintained in Automake, please report
    28 # bugs to <bug-automake@gnu.org> or send patches to
    29 # <automake-patches@gnu.org>.
    30 
    31 nl='
    32 '
    33 
    34 # We need space, tab and new line, in precisely that order.  Quoting is
    35 # there to prevent tools from complaining about whitespace usage.
    36 IFS=" ""        $nl"
    37 
    38 file_conv=
    39 
    40 # func_file_conv build_file lazy
    41 # Convert a $build file to $host form and store it in $file
    42 # Currently only supports Windows hosts. If the determined conversion
    43 # type is listed in (the comma separated) LAZY, no conversion will
    44 # take place.
    45 func_file_conv ()
    46 {
    47   file=$1
    48   case $file in
    49     / | /[!/]*) # absolute file, and not a UNC file
    50       if test -z "$file_conv"; then
    51         # lazily determine how to convert abs files
    52         case `uname -s` in
    53           MINGW*)
    54             file_conv=mingw
    55             ;;
    56           CYGWIN*)
    57             file_conv=cygwin
    58             ;;
    59           *)
    60             file_conv=wine
    61             ;;
    62         esac
    63       fi
    64       case $file_conv/,$2, in
    65         *,$file_conv,*)
    66           ;;
    67         mingw/*)
    68           file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
    69           ;;
    70         cygwin/*)
    71           file=`cygpath -m "$file" || echo "$file"`
    72           ;;
    73         wine/*)
    74           file=`winepath -w "$file" || echo "$file"`
    75           ;;
    76       esac
    77       ;;
    78   esac
    79 }
    80 
    81 # func_cl_dashL linkdir
    82 # Make cl look for libraries in LINKDIR
    83 func_cl_dashL ()
    84 {
    85   func_file_conv "$1"
    86   if test -z "$lib_path"; then
    87     lib_path=$file
    88   else
    89     lib_path="$lib_path;$file"
    90   fi
    91   linker_opts="$linker_opts -LIBPATH:$file"
    92 }
    93 
    94 # func_cl_dashl library
    95 # Do a library search-path lookup for cl
    96 func_cl_dashl ()
    97 {
    98   lib=$1
    99   found=no
    100   save_IFS=$IFS
    101   IFS=';'
    102   for dir in $lib_path $LIB
    103   do
    104     IFS=$save_IFS
    105     if $shared && test -f "$dir/$lib.dll.lib"; then
    106       found=yes
    107       lib=$dir/$lib.dll.lib
    108       break
    109     fi
    110     if test -f "$dir/$lib.lib"; then
    111       found=yes
    112       lib=$dir/$lib.lib
    113       break
    114     fi
    115     if test -f "$dir/lib$lib.a"; then
    116       found=yes
    117       lib=$dir/lib$lib.a
    118       break
    119     fi
    120   done
    121   IFS=$save_IFS
    122 
    123   if test "$found" != yes; then
    124     lib=$lib.lib
    125   fi
    126 }
    127 
    128 # func_cl_wrapper cl arg...
    129 # Adjust compile command to suit cl
    130 func_cl_wrapper ()
    131 {
    132   # Assume a capable shell
    133   lib_path=
    134   shared=:
    135   linker_opts=
    136   for arg
    137   do
    138     if test -n "$eat"; then
    139       eat=
    140     else
    141       case $1 in
    142         -o)
    143           # configure might choose to run compile as 'compile cc -o foo foo.c'.
    144           eat=1
    145           case $2 in
    146             *.o | *.[oO][bB][jJ])
    147               func_file_conv "$2"
    148               set x "$@" -Fo"$file"
    149               shift
    150               ;;
    151             *)
    152               func_file_conv "$2"
    153               set x "$@" -Fe"$file"
    154               shift
    155               ;;
    156           esac
    157           ;;
    158         -I)
    159           eat=1
    160           func_file_conv "$2" mingw
    161           set x "$@" -I"$file"
    162           shift
    163           ;;
    164         -I*)
    165           func_file_conv "${1#-I}" mingw
    166           set x "$@" -I"$file"
    167           shift
    168           ;;
    169         -l)
    170           eat=1
    171           func_cl_dashl "$2"
    172           set x "$@" "$lib"
    173           shift
    174           ;;
    175         -l*)
    176           func_cl_dashl "${1#-l}"
    177           set x "$@" "$lib"
    178           shift
    179           ;;
    180         -L)
    181           eat=1
    182           func_cl_dashL "$2"
    183           ;;
    184         -L*)
    185           func_cl_dashL "${1#-L}"
    186           ;;
    187         -static)
    188           shared=false
    189           ;;
    190         -Wl,*)
    191           arg=${1#-Wl,}
    192           save_ifs="$IFS"; IFS=','
    193           for flag in $arg; do
    194             IFS="$save_ifs"
    195             linker_opts="$linker_opts $flag"
    196           done
    197           IFS="$save_ifs"
    198           ;;
    199         -Xlinker)
    200           eat=1
    201           linker_opts="$linker_opts $2"
    202           ;;
    203         -*)
    204           set x "$@" "$1"
    205           shift
    206           ;;
    207         *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
    208           func_file_conv "$1"
    209           set x "$@" -Tp"$file"
    210           shift
    211           ;;
    212         *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
    213           func_file_conv "$1" mingw
    214           set x "$@" "$file"
    215           shift
    216           ;;
    217         *)
    218           set x "$@" "$1"
    219           shift
    220           ;;
    221       esac
    222     fi
    223     shift
    224   done
    225   if test -n "$linker_opts"; then
    226     linker_opts="-link$linker_opts"
    227   fi
    228   exec "$@" $linker_opts
    229   exit 1
    230 }
    231 
    232 eat=
    233 
    234 case $1 in
    235   '')
    236      echo "$0: No command.  Try '$0 --help' for more information." 1>&2
    237      exit 1;
    238      ;;
    239   -h | --h*)
    240     cat <<\EOF
    241 Usage: compile [--help] [--version] PROGRAM [ARGS]
    242 
    243 Wrapper for compilers which do not understand '-c -o'.
    244 Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
    245 arguments, and rename the output as expected.
    246 
    247 If you are trying to build a whole package this is not the
    248 right script to run: please start by reading the file 'INSTALL'.
    249 
    250 Report bugs to <bug-automake@gnu.org>.
    251 EOF
    252     exit $?
    253     ;;
    254   -v | --v*)
    255     echo "compile $scriptversion"
    256     exit $?
    257     ;;
    258   cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
    259     func_cl_wrapper "$@"      # Doesn't return...
    260     ;;
    261 esac
    262 
    263 ofile=
    264 cfile=
    265 
    266 for arg
    267 do
    268   if test -n "$eat"; then
    269     eat=
    270   else
    271     case $1 in
    272       -o)
    273         # configure might choose to run compile as 'compile cc -o foo foo.c'.
    274         # So we strip '-o arg' only if arg is an object.
    275         eat=1
    276         case $2 in
    277           *.o | *.obj)
    278             ofile=$2
    279             ;;
    280           *)
    281             set x "$@" -o "$2"
    282             shift
    283             ;;
    284         esac
    285         ;;
    286       *.c)
    287         cfile=$1
    288         set x "$@" "$1"
    289         shift
    290         ;;
    291       *)
    292         set x "$@" "$1"
    293         shift
    294         ;;
    295     esac
    296   fi
    297   shift
    298 done
    299 
    300 if test -z "$ofile" || test -z "$cfile"; then
    301   # If no '-o' option was seen then we might have been invoked from a
    302   # pattern rule where we don't need one.  That is ok -- this is a
    303   # normal compilation that the losing compiler can handle.  If no
    304   # '.c' file was seen then we are probably linking.  That is also
    305   # ok.
    306   exec "$@"
    307 fi
    308 
    309 # Name of file we expect compiler to create.
    310 cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
    311 
    312 # Create the lock directory.
    313 # Note: use '[/\\:.-]' here to ensure that we don't use the same name
    314 # that we are using for the .o file.  Also, base the name on the expected
    315 # object file name, since that is what matters with a parallel build.
    316 lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
    317 while true; do
    318   if mkdir "$lockdir" >/dev/null 2>&1; then
    319     break
    320   fi
    321   sleep 1
    322 done
    323 # FIXME: race condition here if user kills between mkdir and trap.
    324 trap "rmdir '$lockdir'; exit 1" 1 2 15
    325 
    326 # Run the compile.
    327 "$@"
    328 ret=$?
    329 
    330 if test -f "$cofile"; then
    331   test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
    332 elif test -f "${cofile}bj"; then
    333   test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
    334 fi
    335 
    336 rmdir "$lockdir"
    337 exit $ret
    338 
    339 # Local Variables:
    340 # mode: shell-script
    341 # sh-indentation: 2
    342 # eval: (add-hook 'write-file-hooks 'time-stamp)
    343 # time-stamp-start: "scriptversion="
    344 # time-stamp-format: "%:y-%02m-%02d.%02H"
    345 # time-stamp-time-zone: "UTC"
    346 # time-stamp-end: "; # UTC"
    347 # End:
     1/usr/share/automake-1.15/compile
  • automake/config.guess

    • Property mode changed from 100755 to 120000
    r25a9b5a rc59712e  
    1 #! /bin/sh
    2 # Attempt to guess a canonical system name.
    3 #   Copyright 1992-2015 Free Software Foundation, Inc.
    4 
    5 timestamp='2015-08-20'
    6 
    7 # This file is free software; you can redistribute it and/or modify it
    8 # under the terms of the GNU General Public License as published by
    9 # the Free Software Foundation; either version 3 of the License, or
    10 # (at your option) any later version.
    11 #
    12 # This program is distributed in the hope that it will be useful, but
    13 # WITHOUT ANY WARRANTY; without even the implied warranty of
    14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    15 # General Public License for more details.
    16 #
    17 # You should have received a copy of the GNU General Public License
    18 # along with this program; if not, see <http://www.gnu.org/licenses/>.
    19 #
    20 # As a special exception to the GNU General Public License, if you
    21 # distribute this file as part of a program that contains a
    22 # configuration script generated by Autoconf, you may include it under
    23 # the same distribution terms that you use for the rest of that
    24 # program.  This Exception is an additional permission under section 7
    25 # of the GNU General Public License, version 3 ("GPLv3").
    26 #
    27 # Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
    28 #
    29 # You can get the latest version of this script from:
    30 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
    31 #
    32 # Please send patches to <config-patches@gnu.org>.
    33 
    34 
    35 me=`echo "$0" | sed -e 's,.*/,,'`
    36 
    37 usage="\
    38 Usage: $0 [OPTION]
    39 
    40 Output the configuration name of the system \`$me' is run on.
    41 
    42 Operation modes:
    43   -h, --help         print this help, then exit
    44   -t, --time-stamp   print date of last modification, then exit
    45   -v, --version      print version number, then exit
    46 
    47 Report bugs and patches to <config-patches@gnu.org>."
    48 
    49 version="\
    50 GNU config.guess ($timestamp)
    51 
    52 Originally written by Per Bothner.
    53 Copyright 1992-2015 Free Software Foundation, Inc.
    54 
    55 This is free software; see the source for copying conditions.  There is NO
    56 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
    57 
    58 help="
    59 Try \`$me --help' for more information."
    60 
    61 # Parse command line
    62 while test $# -gt 0 ; do
    63   case $1 in
    64     --time-stamp | --time* | -t )
    65        echo "$timestamp" ; exit ;;
    66     --version | -v )
    67        echo "$version" ; exit ;;
    68     --help | --h* | -h )
    69        echo "$usage"; exit ;;
    70     -- )     # Stop option processing
    71        shift; break ;;
    72     - ) # Use stdin as input.
    73        break ;;
    74     -* )
    75        echo "$me: invalid option $1$help" >&2
    76        exit 1 ;;
    77     * )
    78        break ;;
    79   esac
    80 done
    81 
    82 if test $# != 0; then
    83   echo "$me: too many arguments$help" >&2
    84   exit 1
    85 fi
    86 
    87 trap 'exit 1' 1 2 15
    88 
    89 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
    90 # compiler to aid in system detection is discouraged as it requires
    91 # temporary files to be created and, as you can see below, it is a
    92 # headache to deal with in a portable fashion.
    93 
    94 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
    95 # use `HOST_CC' if defined, but it is deprecated.
    96 
    97 # Portable tmp directory creation inspired by the Autoconf team.
    98 
    99 set_cc_for_build='
    100 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
    101 trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
    102 : ${TMPDIR=/tmp} ;
    103  { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
    104  { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
    105  { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
    106  { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
    107 dummy=$tmp/dummy ;
    108 tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
    109 case $CC_FOR_BUILD,$HOST_CC,$CC in
    110  ,,)    echo "int x;" > $dummy.c ;
    111         for c in cc gcc c89 c99 ; do
    112           if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
    113              CC_FOR_BUILD="$c"; break ;
    114           fi ;
    115         done ;
    116         if test x"$CC_FOR_BUILD" = x ; then
    117           CC_FOR_BUILD=no_compiler_found ;
    118         fi
    119         ;;
    120  ,,*)   CC_FOR_BUILD=$CC ;;
    121  ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
    122 esac ; set_cc_for_build= ;'
    123 
    124 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
    125 # (ghazi@noc.rutgers.edu 1994-08-24)
    126 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
    127         PATH=$PATH:/.attbin ; export PATH
    128 fi
    129 
    130 UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
    131 UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
    132 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
    133 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
    134 
    135 case "${UNAME_SYSTEM}" in
    136 Linux|GNU|GNU/*)
    137         # If the system lacks a compiler, then just pick glibc.
    138         # We could probably try harder.
    139         LIBC=gnu
    140 
    141         eval $set_cc_for_build
    142         cat <<-EOF > $dummy.c
    143         #include <features.h>
    144         #if defined(__UCLIBC__)
    145         LIBC=uclibc
    146         #elif defined(__dietlibc__)
    147         LIBC=dietlibc
    148         #else
    149         LIBC=gnu
    150         #endif
    151         EOF
    152         eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
    153         ;;
    154 esac
    155 
    156 # Note: order is significant - the case branches are not exclusive.
    157 
    158 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
    159     *:NetBSD:*:*)
    160         # NetBSD (nbsd) targets should (where applicable) match one or
    161         # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
    162         # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
    163         # switched to ELF, *-*-netbsd* would select the old
    164         # object file format.  This provides both forward
    165         # compatibility and a consistent mechanism for selecting the
    166         # object file format.
    167         #
    168         # Note: NetBSD doesn't particularly care about the vendor
    169         # portion of the name.  We always set it to "unknown".
    170         sysctl="sysctl -n hw.machine_arch"
    171         UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
    172             /sbin/$sysctl 2>/dev/null || \
    173             /usr/sbin/$sysctl 2>/dev/null || \
    174             echo unknown)`
    175         case "${UNAME_MACHINE_ARCH}" in
    176             armeb) machine=armeb-unknown ;;
    177             arm*) machine=arm-unknown ;;
    178             sh3el) machine=shl-unknown ;;
    179             sh3eb) machine=sh-unknown ;;
    180             sh5el) machine=sh5le-unknown ;;
    181             earmv*)
    182                 arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
    183                 endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
    184                 machine=${arch}${endian}-unknown
    185                 ;;
    186             *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
    187         esac
    188         # The Operating System including object format, if it has switched
    189         # to ELF recently, or will in the future.
    190         case "${UNAME_MACHINE_ARCH}" in
    191             arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax)
    192                 eval $set_cc_for_build
    193                 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
    194                         | grep -q __ELF__
    195                 then
    196                     # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
    197                     # Return netbsd for either.  FIX?
    198                     os=netbsd
    199                 else
    200                     os=netbsdelf
    201                 fi
    202                 ;;
    203             *)
    204                 os=netbsd
    205                 ;;
    206         esac
    207         # Determine ABI tags.
    208         case "${UNAME_MACHINE_ARCH}" in
    209             earm*)
    210                 expr='s/^earmv[0-9]/-eabi/;s/eb$//'
    211                 abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
    212                 ;;
    213         esac
    214         # The OS release
    215         # Debian GNU/NetBSD machines have a different userland, and
    216         # thus, need a distinct triplet. However, they do not need
    217         # kernel version information, so it can be replaced with a
    218         # suitable tag, in the style of linux-gnu.
    219         case "${UNAME_VERSION}" in
    220             Debian*)
    221                 release='-gnu'
    222                 ;;
    223             *)
    224                 release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
    225                 ;;
    226         esac
    227         # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
    228         # contains redundant information, the shorter form:
    229         # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
    230         echo "${machine}-${os}${release}${abi}"
    231         exit ;;
    232     *:Bitrig:*:*)
    233         UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
    234         echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
    235         exit ;;
    236     *:OpenBSD:*:*)
    237         UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
    238         echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
    239         exit ;;
    240     *:ekkoBSD:*:*)
    241         echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
    242         exit ;;
    243     *:SolidBSD:*:*)
    244         echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
    245         exit ;;
    246     macppc:MirBSD:*:*)
    247         echo powerpc-unknown-mirbsd${UNAME_RELEASE}
    248         exit ;;
    249     *:MirBSD:*:*)
    250         echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
    251         exit ;;
    252     *:Sortix:*:*)
    253         echo ${UNAME_MACHINE}-unknown-sortix
    254         exit ;;
    255     alpha:OSF1:*:*)
    256         case $UNAME_RELEASE in
    257         *4.0)
    258                 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
    259                 ;;
    260         *5.*)
    261                 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
    262                 ;;
    263         esac
    264         # According to Compaq, /usr/sbin/psrinfo has been available on
    265         # OSF/1 and Tru64 systems produced since 1995.  I hope that
    266         # covers most systems running today.  This code pipes the CPU
    267         # types through head -n 1, so we only detect the type of CPU 0.
    268         ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
    269         case "$ALPHA_CPU_TYPE" in
    270             "EV4 (21064)")
    271                 UNAME_MACHINE="alpha" ;;
    272             "EV4.5 (21064)")
    273                 UNAME_MACHINE="alpha" ;;
    274             "LCA4 (21066/21068)")
    275                 UNAME_MACHINE="alpha" ;;
    276             "EV5 (21164)")
    277                 UNAME_MACHINE="alphaev5" ;;
    278             "EV5.6 (21164A)")
    279                 UNAME_MACHINE="alphaev56" ;;
    280             "EV5.6 (21164PC)")
    281                 UNAME_MACHINE="alphapca56" ;;
    282             "EV5.7 (21164PC)")
    283                 UNAME_MACHINE="alphapca57" ;;
    284             "EV6 (21264)")
    285                 UNAME_MACHINE="alphaev6" ;;
    286             "EV6.7 (21264A)")
    287                 UNAME_MACHINE="alphaev67" ;;
    288             "EV6.8CB (21264C)")
    289                 UNAME_MACHINE="alphaev68" ;;
    290             "EV6.8AL (21264B)")
    291                 UNAME_MACHINE="alphaev68" ;;
    292             "EV6.8CX (21264D)")
    293                 UNAME_MACHINE="alphaev68" ;;
    294             "EV6.9A (21264/EV69A)")
    295                 UNAME_MACHINE="alphaev69" ;;
    296             "EV7 (21364)")
    297                 UNAME_MACHINE="alphaev7" ;;
    298             "EV7.9 (21364A)")
    299                 UNAME_MACHINE="alphaev79" ;;
    300         esac
    301         # A Pn.n version is a patched version.
    302         # A Vn.n version is a released version.
    303         # A Tn.n version is a released field test version.
    304         # A Xn.n version is an unreleased experimental baselevel.
    305         # 1.2 uses "1.2" for uname -r.
    306         echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
    307         # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
    308         exitcode=$?
    309         trap '' 0
    310         exit $exitcode ;;
    311     Alpha\ *:Windows_NT*:*)
    312         # How do we know it's Interix rather than the generic POSIX subsystem?
    313         # Should we change UNAME_MACHINE based on the output of uname instead
    314         # of the specific Alpha model?
    315         echo alpha-pc-interix
    316         exit ;;
    317     21064:Windows_NT:50:3)
    318         echo alpha-dec-winnt3.5
    319         exit ;;
    320     Amiga*:UNIX_System_V:4.0:*)
    321         echo m68k-unknown-sysv4
    322         exit ;;
    323     *:[Aa]miga[Oo][Ss]:*:*)
    324         echo ${UNAME_MACHINE}-unknown-amigaos
    325         exit ;;
    326     *:[Mm]orph[Oo][Ss]:*:*)
    327         echo ${UNAME_MACHINE}-unknown-morphos
    328         exit ;;
    329     *:OS/390:*:*)
    330         echo i370-ibm-openedition
    331         exit ;;
    332     *:z/VM:*:*)
    333         echo s390-ibm-zvmoe
    334         exit ;;
    335     *:OS400:*:*)
    336         echo powerpc-ibm-os400
    337         exit ;;
    338     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
    339         echo arm-acorn-riscix${UNAME_RELEASE}
    340         exit ;;
    341     arm*:riscos:*:*|arm*:RISCOS:*:*)
    342         echo arm-unknown-riscos
    343         exit ;;
    344     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
    345         echo hppa1.1-hitachi-hiuxmpp
    346         exit ;;
    347     Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
    348         # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
    349         if test "`(/bin/universe) 2>/dev/null`" = att ; then
    350                 echo pyramid-pyramid-sysv3
    351         else
    352                 echo pyramid-pyramid-bsd
    353         fi
    354         exit ;;
    355     NILE*:*:*:dcosx)
    356         echo pyramid-pyramid-svr4
    357         exit ;;
    358     DRS?6000:unix:4.0:6*)
    359         echo sparc-icl-nx6
    360         exit ;;
    361     DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
    362         case `/usr/bin/uname -p` in
    363             sparc) echo sparc-icl-nx7; exit ;;
    364         esac ;;
    365     s390x:SunOS:*:*)
    366         echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
    367         exit ;;
    368     sun4H:SunOS:5.*:*)
    369         echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
    370         exit ;;
    371     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
    372         echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
    373         exit ;;
    374     i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
    375         echo i386-pc-auroraux${UNAME_RELEASE}
    376         exit ;;
    377     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
    378         eval $set_cc_for_build
    379         SUN_ARCH="i386"
    380         # If there is a compiler, see if it is configured for 64-bit objects.
    381         # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
    382         # This test works for both compilers.
    383         if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
    384             if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
    385                 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
    386                 grep IS_64BIT_ARCH >/dev/null
    387             then
    388                 SUN_ARCH="x86_64"
    389             fi
    390         fi
    391         echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
    392         exit ;;
    393     sun4*:SunOS:6*:*)
    394         # According to config.sub, this is the proper way to canonicalize
    395         # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
    396         # it's likely to be more like Solaris than SunOS4.
    397         echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
    398         exit ;;
    399     sun4*:SunOS:*:*)
    400         case "`/usr/bin/arch -k`" in
    401             Series*|S4*)
    402                 UNAME_RELEASE=`uname -v`
    403                 ;;
    404         esac
    405         # Japanese Language versions have a version number like `4.1.3-JL'.
    406         echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
    407         exit ;;
    408     sun3*:SunOS:*:*)
    409         echo m68k-sun-sunos${UNAME_RELEASE}
    410         exit ;;
    411     sun*:*:4.2BSD:*)
    412         UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
    413         test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
    414         case "`/bin/arch`" in
    415             sun3)
    416                 echo m68k-sun-sunos${UNAME_RELEASE}
    417                 ;;
    418             sun4)
    419                 echo sparc-sun-sunos${UNAME_RELEASE}
    420                 ;;
    421         esac
    422         exit ;;
    423     aushp:SunOS:*:*)
    424         echo sparc-auspex-sunos${UNAME_RELEASE}
    425         exit ;;
    426     # The situation for MiNT is a little confusing.  The machine name
    427     # can be virtually everything (everything which is not
    428     # "atarist" or "atariste" at least should have a processor
    429     # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
    430     # to the lowercase version "mint" (or "freemint").  Finally
    431     # the system name "TOS" denotes a system which is actually not
    432     # MiNT.  But MiNT is downward compatible to TOS, so this should
    433     # be no problem.
    434     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
    435         echo m68k-atari-mint${UNAME_RELEASE}
    436         exit ;;
    437     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
    438         echo m68k-atari-mint${UNAME_RELEASE}
    439         exit ;;
    440     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
    441         echo m68k-atari-mint${UNAME_RELEASE}
    442         exit ;;
    443     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
    444         echo m68k-milan-mint${UNAME_RELEASE}
    445         exit ;;
    446     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
    447         echo m68k-hades-mint${UNAME_RELEASE}
    448         exit ;;
    449     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
    450         echo m68k-unknown-mint${UNAME_RELEASE}
    451         exit ;;
    452     m68k:machten:*:*)
    453         echo m68k-apple-machten${UNAME_RELEASE}
    454         exit ;;
    455     powerpc:machten:*:*)
    456         echo powerpc-apple-machten${UNAME_RELEASE}
    457         exit ;;
    458     RISC*:Mach:*:*)
    459         echo mips-dec-mach_bsd4.3
    460         exit ;;
    461     RISC*:ULTRIX:*:*)
    462         echo mips-dec-ultrix${UNAME_RELEASE}
    463         exit ;;
    464     VAX*:ULTRIX*:*:*)
    465         echo vax-dec-ultrix${UNAME_RELEASE}
    466         exit ;;
    467     2020:CLIX:*:* | 2430:CLIX:*:*)
    468         echo clipper-intergraph-clix${UNAME_RELEASE}
    469         exit ;;
    470     mips:*:*:UMIPS | mips:*:*:RISCos)
    471         eval $set_cc_for_build
    472         sed 's/^        //' << EOF >$dummy.c
    473 #ifdef __cplusplus
    474 #include <stdio.h>  /* for printf() prototype */
    475         int main (int argc, char *argv[]) {
    476 #else
    477         int main (argc, argv) int argc; char *argv[]; {
    478 #endif
    479         #if defined (host_mips) && defined (MIPSEB)
    480         #if defined (SYSTYPE_SYSV)
    481           printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
    482         #endif
    483         #if defined (SYSTYPE_SVR4)
    484           printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
    485         #endif
    486         #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
    487           printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
    488         #endif
    489         #endif
    490           exit (-1);
    491         }
    492 EOF
    493         $CC_FOR_BUILD -o $dummy $dummy.c &&
    494           dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
    495           SYSTEM_NAME=`$dummy $dummyarg` &&
    496             { echo "$SYSTEM_NAME"; exit; }
    497         echo mips-mips-riscos${UNAME_RELEASE}
    498         exit ;;
    499     Motorola:PowerMAX_OS:*:*)
    500         echo powerpc-motorola-powermax
    501         exit ;;
    502     Motorola:*:4.3:PL8-*)
    503         echo powerpc-harris-powermax
    504         exit ;;
    505     Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
    506         echo powerpc-harris-powermax
    507         exit ;;
    508     Night_Hawk:Power_UNIX:*:*)
    509         echo powerpc-harris-powerunix
    510         exit ;;
    511     m88k:CX/UX:7*:*)
    512         echo m88k-harris-cxux7
    513         exit ;;
    514     m88k:*:4*:R4*)
    515         echo m88k-motorola-sysv4
    516         exit ;;
    517     m88k:*:3*:R3*)
    518         echo m88k-motorola-sysv3
    519         exit ;;
    520     AViiON:dgux:*:*)
    521         # DG/UX returns AViiON for all architectures
    522         UNAME_PROCESSOR=`/usr/bin/uname -p`
    523         if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
    524         then
    525             if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
    526                [ ${TARGET_BINARY_INTERFACE}x = x ]
    527             then
    528                 echo m88k-dg-dgux${UNAME_RELEASE}
    529             else
    530                 echo m88k-dg-dguxbcs${UNAME_RELEASE}
    531             fi
    532         else
    533             echo i586-dg-dgux${UNAME_RELEASE}
    534         fi
    535         exit ;;
    536     M88*:DolphinOS:*:*) # DolphinOS (SVR3)
    537         echo m88k-dolphin-sysv3
    538         exit ;;
    539     M88*:*:R3*:*)
    540         # Delta 88k system running SVR3
    541         echo m88k-motorola-sysv3
    542         exit ;;
    543     XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
    544         echo m88k-tektronix-sysv3
    545         exit ;;
    546     Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
    547         echo m68k-tektronix-bsd
    548         exit ;;
    549     *:IRIX*:*:*)
    550         echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
    551         exit ;;
    552     ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
    553         echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
    554         exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
    555     i*86:AIX:*:*)
    556         echo i386-ibm-aix
    557         exit ;;
    558     ia64:AIX:*:*)
    559         if [ -x /usr/bin/oslevel ] ; then
    560                 IBM_REV=`/usr/bin/oslevel`
    561         else
    562                 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
    563         fi
    564         echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
    565         exit ;;
    566     *:AIX:2:3)
    567         if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
    568                 eval $set_cc_for_build
    569                 sed 's/^                //' << EOF >$dummy.c
    570                 #include <sys/systemcfg.h>
    571 
    572                 main()
    573                         {
    574                         if (!__power_pc())
    575                                 exit(1);
    576                         puts("powerpc-ibm-aix3.2.5");
    577                         exit(0);
    578                         }
    579 EOF
    580                 if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
    581                 then
    582                         echo "$SYSTEM_NAME"
    583                 else
    584                         echo rs6000-ibm-aix3.2.5
    585                 fi
    586         elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
    587                 echo rs6000-ibm-aix3.2.4
    588         else
    589                 echo rs6000-ibm-aix3.2
    590         fi
    591         exit ;;
    592     *:AIX:*:[4567])
    593         IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
    594         if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
    595                 IBM_ARCH=rs6000
    596         else
    597                 IBM_ARCH=powerpc
    598         fi
    599         if [ -x /usr/bin/lslpp ] ; then
    600                 IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
    601                            awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
    602         else
    603                 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
    604         fi
    605         echo ${IBM_ARCH}-ibm-aix${IBM_REV}
    606         exit ;;
    607     *:AIX:*:*)
    608         echo rs6000-ibm-aix
    609         exit ;;
    610     ibmrt:4.4BSD:*|romp-ibm:BSD:*)
    611         echo romp-ibm-bsd4.4
    612         exit ;;
    613     ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
    614         echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
    615         exit ;;                             # report: romp-ibm BSD 4.3
    616     *:BOSX:*:*)
    617         echo rs6000-bull-bosx
    618         exit ;;
    619     DPX/2?00:B.O.S.:*:*)
    620         echo m68k-bull-sysv3
    621         exit ;;
    622     9000/[34]??:4.3bsd:1.*:*)
    623         echo m68k-hp-bsd
    624         exit ;;
    625     hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
    626         echo m68k-hp-bsd4.4
    627         exit ;;
    628     9000/[34678]??:HP-UX:*:*)
    629         HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
    630         case "${UNAME_MACHINE}" in
    631             9000/31? )            HP_ARCH=m68000 ;;
    632             9000/[34]?? )         HP_ARCH=m68k ;;
    633             9000/[678][0-9][0-9])
    634                 if [ -x /usr/bin/getconf ]; then
    635                     sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
    636                     sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
    637                     case "${sc_cpu_version}" in
    638                       523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
    639                       528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
    640                       532)                      # CPU_PA_RISC2_0
    641                         case "${sc_kernel_bits}" in
    642                           32) HP_ARCH="hppa2.0n" ;;
    643                           64) HP_ARCH="hppa2.0w" ;;
    644                           '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
    645                         esac ;;
    646                     esac
    647                 fi
    648                 if [ "${HP_ARCH}" = "" ]; then
    649                     eval $set_cc_for_build
    650                     sed 's/^            //' << EOF >$dummy.c
    651 
    652                 #define _HPUX_SOURCE
    653                 #include <stdlib.h>
    654                 #include <unistd.h>
    655 
    656                 int main ()
    657                 {
    658                 #if defined(_SC_KERNEL_BITS)
    659                     long bits = sysconf(_SC_KERNEL_BITS);
    660                 #endif
    661                     long cpu  = sysconf (_SC_CPU_VERSION);
    662 
    663                     switch (cpu)
    664                         {
    665                         case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
    666                         case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
    667                         case CPU_PA_RISC2_0:
    668                 #if defined(_SC_KERNEL_BITS)
    669                             switch (bits)
    670                                 {
    671                                 case 64: puts ("hppa2.0w"); break;
    672                                 case 32: puts ("hppa2.0n"); break;
    673                                 default: puts ("hppa2.0"); break;
    674                                 } break;
    675                 #else  /* !defined(_SC_KERNEL_BITS) */
    676                             puts ("hppa2.0"); break;
    677                 #endif
    678                         default: puts ("hppa1.0"); break;
    679                         }
    680                     exit (0);
    681                 }
    682 EOF
    683                     (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
    684                     test -z "$HP_ARCH" && HP_ARCH=hppa
    685                 fi ;;
    686         esac
    687         if [ ${HP_ARCH} = "hppa2.0w" ]
    688         then
    689             eval $set_cc_for_build
    690 
    691             # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
    692             # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
    693             # generating 64-bit code.  GNU and HP use different nomenclature:
    694             #
    695             # $ CC_FOR_BUILD=cc ./config.guess
    696             # => hppa2.0w-hp-hpux11.23
    697             # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
    698             # => hppa64-hp-hpux11.23
    699 
    700             if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
    701                 grep -q __LP64__
    702             then
    703                 HP_ARCH="hppa2.0w"
    704             else
    705                 HP_ARCH="hppa64"
    706             fi
    707         fi
    708         echo ${HP_ARCH}-hp-hpux${HPUX_REV}
    709         exit ;;
    710     ia64:HP-UX:*:*)
    711         HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
    712         echo ia64-hp-hpux${HPUX_REV}
    713         exit ;;
    714     3050*:HI-UX:*:*)
    715         eval $set_cc_for_build
    716         sed 's/^        //' << EOF >$dummy.c
    717         #include <unistd.h>
    718         int
    719         main ()
    720         {
    721           long cpu = sysconf (_SC_CPU_VERSION);
    722           /* The order matters, because CPU_IS_HP_MC68K erroneously returns
    723              true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
    724              results, however.  */
    725           if (CPU_IS_PA_RISC (cpu))
    726             {
    727               switch (cpu)
    728                 {
    729                   case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
    730                   case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
    731                   case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
    732                   default: puts ("hppa-hitachi-hiuxwe2"); break;
    733                 }
    734             }
    735           else if (CPU_IS_HP_MC68K (cpu))
    736             puts ("m68k-hitachi-hiuxwe2");
    737           else puts ("unknown-hitachi-hiuxwe2");
    738           exit (0);
    739         }
    740 EOF
    741         $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
    742                 { echo "$SYSTEM_NAME"; exit; }
    743         echo unknown-hitachi-hiuxwe2
    744         exit ;;
    745     9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
    746         echo hppa1.1-hp-bsd
    747         exit ;;
    748     9000/8??:4.3bsd:*:*)
    749         echo hppa1.0-hp-bsd
    750         exit ;;
    751     *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
    752         echo hppa1.0-hp-mpeix
    753         exit ;;
    754     hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
    755         echo hppa1.1-hp-osf
    756         exit ;;
    757     hp8??:OSF1:*:*)
    758         echo hppa1.0-hp-osf
    759         exit ;;
    760     i*86:OSF1:*:*)
    761         if [ -x /usr/sbin/sysversion ] ; then
    762             echo ${UNAME_MACHINE}-unknown-osf1mk
    763         else
    764             echo ${UNAME_MACHINE}-unknown-osf1
    765         fi
    766         exit ;;
    767     parisc*:Lites*:*:*)
    768         echo hppa1.1-hp-lites
    769         exit ;;
    770     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
    771         echo c1-convex-bsd
    772         exit ;;
    773     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
    774         if getsysinfo -f scalar_acc
    775         then echo c32-convex-bsd
    776         else echo c2-convex-bsd
    777         fi
    778         exit ;;
    779     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
    780         echo c34-convex-bsd
    781         exit ;;
    782     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
    783         echo c38-convex-bsd
    784         exit ;;
    785     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
    786         echo c4-convex-bsd
    787         exit ;;
    788     CRAY*Y-MP:*:*:*)
    789         echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
    790         exit ;;
    791     CRAY*[A-Z]90:*:*:*)
    792         echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
    793         | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
    794               -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
    795               -e 's/\.[^.]*$/.X/'
    796         exit ;;
    797     CRAY*TS:*:*:*)
    798         echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
    799         exit ;;
    800     CRAY*T3E:*:*:*)
    801         echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
    802         exit ;;
    803     CRAY*SV1:*:*:*)
    804         echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
    805         exit ;;
    806     *:UNICOS/mp:*:*)
    807         echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
    808         exit ;;
    809     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
    810         FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
    811         FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
    812         FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
    813         echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
    814         exit ;;
    815     5000:UNIX_System_V:4.*:*)
    816         FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
    817         FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
    818         echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
    819         exit ;;
    820     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
    821         echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
    822         exit ;;
    823     sparc*:BSD/OS:*:*)
    824         echo sparc-unknown-bsdi${UNAME_RELEASE}
    825         exit ;;
    826     *:BSD/OS:*:*)
    827         echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
    828         exit ;;
    829     *:FreeBSD:*:*)
    830         UNAME_PROCESSOR=`/usr/bin/uname -p`
    831         case ${UNAME_PROCESSOR} in
    832             amd64)
    833                 echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
    834             *)
    835                 echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
    836         esac
    837         exit ;;
    838     i*:CYGWIN*:*)
    839         echo ${UNAME_MACHINE}-pc-cygwin
    840         exit ;;
    841     *:MINGW64*:*)
    842         echo ${UNAME_MACHINE}-pc-mingw64
    843         exit ;;
    844     *:MINGW*:*)
    845         echo ${UNAME_MACHINE}-pc-mingw32
    846         exit ;;
    847     *:MSYS*:*)
    848         echo ${UNAME_MACHINE}-pc-msys
    849         exit ;;
    850     i*:windows32*:*)
    851         # uname -m includes "-pc" on this system.
    852         echo ${UNAME_MACHINE}-mingw32
    853         exit ;;
    854     i*:PW*:*)
    855         echo ${UNAME_MACHINE}-pc-pw32
    856         exit ;;
    857     *:Interix*:*)
    858         case ${UNAME_MACHINE} in
    859             x86)
    860                 echo i586-pc-interix${UNAME_RELEASE}
    861                 exit ;;
    862             authenticamd | genuineintel | EM64T)
    863                 echo x86_64-unknown-interix${UNAME_RELEASE}
    864                 exit ;;
    865             IA64)
    866                 echo ia64-unknown-interix${UNAME_RELEASE}
    867                 exit ;;
    868         esac ;;
    869     [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
    870         echo i${UNAME_MACHINE}-pc-mks
    871         exit ;;
    872     8664:Windows_NT:*)
    873         echo x86_64-pc-mks
    874         exit ;;
    875     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
    876         # How do we know it's Interix rather than the generic POSIX subsystem?
    877         # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
    878         # UNAME_MACHINE based on the output of uname instead of i386?
    879         echo i586-pc-interix
    880         exit ;;
    881     i*:UWIN*:*)
    882         echo ${UNAME_MACHINE}-pc-uwin
    883         exit ;;
    884     amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
    885         echo x86_64-unknown-cygwin
    886         exit ;;
    887     p*:CYGWIN*:*)
    888         echo powerpcle-unknown-cygwin
    889         exit ;;
    890     prep*:SunOS:5.*:*)
    891         echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
    892         exit ;;
    893     *:GNU:*:*)
    894         # the GNU system
    895         echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
    896         exit ;;
    897     *:GNU/*:*:*)
    898         # other systems with GNU libc and userland
    899         echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
    900         exit ;;
    901     i*86:Minix:*:*)
    902         echo ${UNAME_MACHINE}-pc-minix
    903         exit ;;
    904     aarch64:Linux:*:*)
    905         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    906         exit ;;
    907     aarch64_be:Linux:*:*)
    908         UNAME_MACHINE=aarch64_be
    909         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    910         exit ;;
    911     alpha:Linux:*:*)
    912         case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
    913           EV5)   UNAME_MACHINE=alphaev5 ;;
    914           EV56)  UNAME_MACHINE=alphaev56 ;;
    915           PCA56) UNAME_MACHINE=alphapca56 ;;
    916           PCA57) UNAME_MACHINE=alphapca56 ;;
    917           EV6)   UNAME_MACHINE=alphaev6 ;;
    918           EV67)  UNAME_MACHINE=alphaev67 ;;
    919           EV68*) UNAME_MACHINE=alphaev68 ;;
    920         esac
    921         objdump --private-headers /bin/sh | grep -q ld.so.1
    922         if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
    923         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    924         exit ;;
    925     arc:Linux:*:* | arceb:Linux:*:*)
    926         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    927         exit ;;
    928     arm*:Linux:*:*)
    929         eval $set_cc_for_build
    930         if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
    931             | grep -q __ARM_EABI__
    932         then
    933             echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    934         else
    935             if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
    936                 | grep -q __ARM_PCS_VFP
    937             then
    938                 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
    939             else
    940                 echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
    941             fi
    942         fi
    943         exit ;;
    944     avr32*:Linux:*:*)
    945         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    946         exit ;;
    947     cris:Linux:*:*)
    948         echo ${UNAME_MACHINE}-axis-linux-${LIBC}
    949         exit ;;
    950     crisv32:Linux:*:*)
    951         echo ${UNAME_MACHINE}-axis-linux-${LIBC}
    952         exit ;;
    953     e2k:Linux:*:*)
    954         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    955         exit ;;
    956     frv:Linux:*:*)
    957         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    958         exit ;;
    959     hexagon:Linux:*:*)
    960         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    961         exit ;;
    962     i*86:Linux:*:*)
    963         echo ${UNAME_MACHINE}-pc-linux-${LIBC}
    964         exit ;;
    965     ia64:Linux:*:*)
    966         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    967         exit ;;
    968     m32r*:Linux:*:*)
    969         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    970         exit ;;
    971     m68*:Linux:*:*)
    972         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    973         exit ;;
    974     mips:Linux:*:* | mips64:Linux:*:*)
    975         eval $set_cc_for_build
    976         sed 's/^        //' << EOF >$dummy.c
    977         #undef CPU
    978         #undef ${UNAME_MACHINE}
    979         #undef ${UNAME_MACHINE}el
    980         #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
    981         CPU=${UNAME_MACHINE}el
    982         #else
    983         #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
    984         CPU=${UNAME_MACHINE}
    985         #else
    986         CPU=
    987         #endif
    988         #endif
    989 EOF
    990         eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
    991         test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
    992         ;;
    993     openrisc*:Linux:*:*)
    994         echo or1k-unknown-linux-${LIBC}
    995         exit ;;
    996     or32:Linux:*:* | or1k*:Linux:*:*)
    997         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    998         exit ;;
    999     padre:Linux:*:*)
    1000         echo sparc-unknown-linux-${LIBC}
    1001         exit ;;
    1002     parisc64:Linux:*:* | hppa64:Linux:*:*)
    1003         echo hppa64-unknown-linux-${LIBC}
    1004         exit ;;
    1005     parisc:Linux:*:* | hppa:Linux:*:*)
    1006         # Look for CPU level
    1007         case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
    1008           PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
    1009           PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
    1010           *)    echo hppa-unknown-linux-${LIBC} ;;
    1011         esac
    1012         exit ;;
    1013     ppc64:Linux:*:*)
    1014         echo powerpc64-unknown-linux-${LIBC}
    1015         exit ;;
    1016     ppc:Linux:*:*)
    1017         echo powerpc-unknown-linux-${LIBC}
    1018         exit ;;
    1019     ppc64le:Linux:*:*)
    1020         echo powerpc64le-unknown-linux-${LIBC}
    1021         exit ;;
    1022     ppcle:Linux:*:*)
    1023         echo powerpcle-unknown-linux-${LIBC}
    1024         exit ;;
    1025     s390:Linux:*:* | s390x:Linux:*:*)
    1026         echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
    1027         exit ;;
    1028     sh64*:Linux:*:*)
    1029         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    1030         exit ;;
    1031     sh*:Linux:*:*)
    1032         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    1033         exit ;;
    1034     sparc:Linux:*:* | sparc64:Linux:*:*)
    1035         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    1036         exit ;;
    1037     tile*:Linux:*:*)
    1038         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    1039         exit ;;
    1040     vax:Linux:*:*)
    1041         echo ${UNAME_MACHINE}-dec-linux-${LIBC}
    1042         exit ;;
    1043     x86_64:Linux:*:*)
    1044         echo ${UNAME_MACHINE}-pc-linux-${LIBC}
    1045         exit ;;
    1046     xtensa*:Linux:*:*)
    1047         echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
    1048         exit ;;
    1049     i*86:DYNIX/ptx:4*:*)
    1050         # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
    1051         # earlier versions are messed up and put the nodename in both
    1052         # sysname and nodename.
    1053         echo i386-sequent-sysv4
    1054         exit ;;
    1055     i*86:UNIX_SV:4.2MP:2.*)
    1056         # Unixware is an offshoot of SVR4, but it has its own version
    1057         # number series starting with 2...
    1058         # I am not positive that other SVR4 systems won't match this,
    1059         # I just have to hope.  -- rms.
    1060         # Use sysv4.2uw... so that sysv4* matches it.
    1061         echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
    1062         exit ;;
    1063     i*86:OS/2:*:*)
    1064         # If we were able to find `uname', then EMX Unix compatibility
    1065         # is probably installed.
    1066         echo ${UNAME_MACHINE}-pc-os2-emx
    1067         exit ;;
    1068     i*86:XTS-300:*:STOP)
    1069         echo ${UNAME_MACHINE}-unknown-stop
    1070         exit ;;
    1071     i*86:atheos:*:*)
    1072         echo ${UNAME_MACHINE}-unknown-atheos
    1073         exit ;;
    1074     i*86:syllable:*:*)
    1075         echo ${UNAME_MACHINE}-pc-syllable
    1076         exit ;;
    1077     i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
    1078         echo i386-unknown-lynxos${UNAME_RELEASE}
    1079         exit ;;
    1080     i*86:*DOS:*:*)
    1081         echo ${UNAME_MACHINE}-pc-msdosdjgpp
    1082         exit ;;
    1083     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
    1084         UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
    1085         if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
    1086                 echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
    1087         else
    1088                 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
    1089         fi
    1090         exit ;;
    1091     i*86:*:5:[678]*)
    1092         # UnixWare 7.x, OpenUNIX and OpenServer 6.
    1093         case `/bin/uname -X | grep "^Machine"` in
    1094             *486*)           UNAME_MACHINE=i486 ;;
    1095             *Pentium)        UNAME_MACHINE=i586 ;;
    1096             *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
    1097         esac
    1098         echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
    1099         exit ;;
    1100     i*86:*:3.2:*)
    1101         if test -f /usr/options/cb.name; then
    1102                 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
    1103                 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
    1104         elif /bin/uname -X 2>/dev/null >/dev/null ; then
    1105                 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
    1106                 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
    1107                 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
    1108                         && UNAME_MACHINE=i586
    1109                 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
    1110                         && UNAME_MACHINE=i686
    1111                 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
    1112                         && UNAME_MACHINE=i686
    1113                 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
    1114         else
    1115                 echo ${UNAME_MACHINE}-pc-sysv32
    1116         fi
    1117         exit ;;
    1118     pc:*:*:*)
    1119         # Left here for compatibility:
    1120         # uname -m prints for DJGPP always 'pc', but it prints nothing about
    1121         # the processor, so we play safe by assuming i586.
    1122         # Note: whatever this is, it MUST be the same as what config.sub
    1123         # prints for the "djgpp" host, or else GDB configury will decide that
    1124         # this is a cross-build.
    1125         echo i586-pc-msdosdjgpp
    1126         exit ;;
    1127     Intel:Mach:3*:*)
    1128         echo i386-pc-mach3
    1129         exit ;;
    1130     paragon:*:*:*)
    1131         echo i860-intel-osf1
    1132         exit ;;
    1133     i860:*:4.*:*) # i860-SVR4
    1134         if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
    1135           echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
    1136         else # Add other i860-SVR4 vendors below as they are discovered.
    1137           echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
    1138         fi
    1139         exit ;;
    1140     mini*:CTIX:SYS*5:*)
    1141         # "miniframe"
    1142         echo m68010-convergent-sysv
    1143         exit ;;
    1144     mc68k:UNIX:SYSTEM5:3.51m)
    1145         echo m68k-convergent-sysv
    1146         exit ;;
    1147     M680?0:D-NIX:5.3:*)
    1148         echo m68k-diab-dnix
    1149         exit ;;
    1150     M68*:*:R3V[5678]*:*)
    1151         test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
    1152     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)
    1153         OS_REL=''
    1154         test -r /etc/.relid \
    1155         && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
    1156         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
    1157           && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
    1158         /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
    1159           && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
    1160     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
    1161         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
    1162           && { echo i486-ncr-sysv4; exit; } ;;
    1163     NCR*:*:4.2:* | MPRAS*:*:4.2:*)
    1164         OS_REL='.3'
    1165         test -r /etc/.relid \
    1166             && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
    1167         /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
    1168             && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
    1169         /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
    1170             && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
    1171         /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
    1172             && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
    1173     m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
    1174         echo m68k-unknown-lynxos${UNAME_RELEASE}
    1175         exit ;;
    1176     mc68030:UNIX_System_V:4.*:*)
    1177         echo m68k-atari-sysv4
    1178         exit ;;
    1179     TSUNAMI:LynxOS:2.*:*)
    1180         echo sparc-unknown-lynxos${UNAME_RELEASE}
    1181         exit ;;
    1182     rs6000:LynxOS:2.*:*)
    1183         echo rs6000-unknown-lynxos${UNAME_RELEASE}
    1184         exit ;;
    1185     PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
    1186         echo powerpc-unknown-lynxos${UNAME_RELEASE}
    1187         exit ;;
    1188     SM[BE]S:UNIX_SV:*:*)
    1189         echo mips-dde-sysv${UNAME_RELEASE}
    1190         exit ;;
    1191     RM*:ReliantUNIX-*:*:*)
    1192         echo mips-sni-sysv4
    1193         exit ;;
    1194     RM*:SINIX-*:*:*)
    1195         echo mips-sni-sysv4
    1196         exit ;;
    1197     *:SINIX-*:*:*)
    1198         if uname -p 2>/dev/null >/dev/null ; then
    1199                 UNAME_MACHINE=`(uname -p) 2>/dev/null`
    1200                 echo ${UNAME_MACHINE}-sni-sysv4
    1201         else
    1202                 echo ns32k-sni-sysv
    1203         fi
    1204         exit ;;
    1205     PENTIUM:*:4.0*:*)   # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
    1206                         # says <Richard.M.Bartel@ccMail.Census.GOV>
    1207         echo i586-unisys-sysv4
    1208         exit ;;
    1209     *:UNIX_System_V:4*:FTX*)
    1210         # From Gerald Hewes <hewes@openmarket.com>.
    1211         # How about differentiating between stratus architectures? -djm
    1212         echo hppa1.1-stratus-sysv4
    1213         exit ;;
    1214     *:*:*:FTX*)
    1215         # From seanf@swdc.stratus.com.
    1216         echo i860-stratus-sysv4
    1217         exit ;;
    1218     i*86:VOS:*:*)
    1219         # From Paul.Green@stratus.com.
    1220         echo ${UNAME_MACHINE}-stratus-vos
    1221         exit ;;
    1222     *:VOS:*:*)
    1223         # From Paul.Green@stratus.com.
    1224         echo hppa1.1-stratus-vos
    1225         exit ;;
    1226     mc68*:A/UX:*:*)
    1227         echo m68k-apple-aux${UNAME_RELEASE}
    1228         exit ;;
    1229     news*:NEWS-OS:6*:*)
    1230         echo mips-sony-newsos6
    1231         exit ;;
    1232     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
    1233         if [ -d /usr/nec ]; then
    1234                 echo mips-nec-sysv${UNAME_RELEASE}
    1235         else
    1236                 echo mips-unknown-sysv${UNAME_RELEASE}
    1237         fi
    1238         exit ;;
    1239     BeBox:BeOS:*:*)     # BeOS running on hardware made by Be, PPC only.
    1240         echo powerpc-be-beos
    1241         exit ;;
    1242     BeMac:BeOS:*:*)     # BeOS running on Mac or Mac clone, PPC only.
    1243         echo powerpc-apple-beos
    1244         exit ;;
    1245     BePC:BeOS:*:*)      # BeOS running on Intel PC compatible.
    1246         echo i586-pc-beos
    1247         exit ;;
    1248     BePC:Haiku:*:*)     # Haiku running on Intel PC compatible.
    1249         echo i586-pc-haiku
    1250         exit ;;
    1251     x86_64:Haiku:*:*)
    1252         echo x86_64-unknown-haiku
    1253         exit ;;
    1254     SX-4:SUPER-UX:*:*)
    1255         echo sx4-nec-superux${UNAME_RELEASE}
    1256         exit ;;
    1257     SX-5:SUPER-UX:*:*)
    1258         echo sx5-nec-superux${UNAME_RELEASE}
    1259         exit ;;
    1260     SX-6:SUPER-UX:*:*)
    1261         echo sx6-nec-superux${UNAME_RELEASE}
    1262         exit ;;
    1263     SX-7:SUPER-UX:*:*)
    1264         echo sx7-nec-superux${UNAME_RELEASE}
    1265         exit ;;
    1266     SX-8:SUPER-UX:*:*)
    1267         echo sx8-nec-superux${UNAME_RELEASE}
    1268         exit ;;
    1269     SX-8R:SUPER-UX:*:*)
    1270         echo sx8r-nec-superux${UNAME_RELEASE}
    1271         exit ;;
    1272     Power*:Rhapsody:*:*)
    1273         echo powerpc-apple-rhapsody${UNAME_RELEASE}
    1274         exit ;;
    1275     *:Rhapsody:*:*)
    1276         echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
    1277         exit ;;
    1278     *:Darwin:*:*)
    1279         UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
    1280         eval $set_cc_for_build
    1281         if test "$UNAME_PROCESSOR" = unknown ; then
    1282             UNAME_PROCESSOR=powerpc
    1283         fi
    1284         if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
    1285             if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
    1286                 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
    1287                     (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
    1288                     grep IS_64BIT_ARCH >/dev/null
    1289                 then
    1290                     case $UNAME_PROCESSOR in
    1291                         i386) UNAME_PROCESSOR=x86_64 ;;
    1292                         powerpc) UNAME_PROCESSOR=powerpc64 ;;
    1293                     esac
    1294                 fi
    1295             fi
    1296         elif test "$UNAME_PROCESSOR" = i386 ; then
    1297             # Avoid executing cc on OS X 10.9, as it ships with a stub
    1298             # that puts up a graphical alert prompting to install
    1299             # developer tools.  Any system running Mac OS X 10.7 or
    1300             # later (Darwin 11 and later) is required to have a 64-bit
    1301             # processor. This is not true of the ARM version of Darwin
    1302             # that Apple uses in portable devices.
    1303             UNAME_PROCESSOR=x86_64
    1304         fi
    1305         echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
    1306         exit ;;
    1307     *:procnto*:*:* | *:QNX:[0123456789]*:*)
    1308         UNAME_PROCESSOR=`uname -p`
    1309         if test "$UNAME_PROCESSOR" = "x86"; then
    1310                 UNAME_PROCESSOR=i386
    1311                 UNAME_MACHINE=pc
    1312         fi
    1313         echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
    1314         exit ;;
    1315     *:QNX:*:4*)
    1316         echo i386-pc-qnx
    1317         exit ;;
    1318     NEO-?:NONSTOP_KERNEL:*:*)
    1319         echo neo-tandem-nsk${UNAME_RELEASE}
    1320         exit ;;
    1321     NSE-*:NONSTOP_KERNEL:*:*)
    1322         echo nse-tandem-nsk${UNAME_RELEASE}
    1323         exit ;;
    1324     NSR-?:NONSTOP_KERNEL:*:*)
    1325         echo nsr-tandem-nsk${UNAME_RELEASE}
    1326         exit ;;
    1327     *:NonStop-UX:*:*)
    1328         echo mips-compaq-nonstopux
    1329         exit ;;
    1330     BS2000:POSIX*:*:*)
    1331         echo bs2000-siemens-sysv
    1332         exit ;;
    1333     DS/*:UNIX_System_V:*:*)
    1334         echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
    1335         exit ;;
    1336     *:Plan9:*:*)
    1337         # "uname -m" is not consistent, so use $cputype instead. 386
    1338         # is converted to i386 for consistency with other x86
    1339         # operating systems.
    1340         if test "$cputype" = "386"; then
    1341             UNAME_MACHINE=i386
    1342         else
    1343             UNAME_MACHINE="$cputype"
    1344         fi
    1345         echo ${UNAME_MACHINE}-unknown-plan9
    1346         exit ;;
    1347     *:TOPS-10:*:*)
    1348         echo pdp10-unknown-tops10
    1349         exit ;;
    1350     *:TENEX:*:*)
    1351         echo pdp10-unknown-tenex
    1352         exit ;;
    1353     KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
    1354         echo pdp10-dec-tops20
    1355         exit ;;
    1356     XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
    1357         echo pdp10-xkl-tops20
    1358         exit ;;
    1359     *:TOPS-20:*:*)
    1360         echo pdp10-unknown-tops20
    1361         exit ;;
    1362     *:ITS:*:*)
    1363         echo pdp10-unknown-its
    1364         exit ;;
    1365     SEI:*:*:SEIUX)
    1366         echo mips-sei-seiux${UNAME_RELEASE}
    1367         exit ;;
    1368     *:DragonFly:*:*)
    1369         echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
    1370         exit ;;
    1371     *:*VMS:*:*)
    1372         UNAME_MACHINE=`(uname -p) 2>/dev/null`
    1373         case "${UNAME_MACHINE}" in
    1374             A*) echo alpha-dec-vms ; exit ;;
    1375             I*) echo ia64-dec-vms ; exit ;;
    1376             V*) echo vax-dec-vms ; exit ;;
    1377         esac ;;
    1378     *:XENIX:*:SysV)
    1379         echo i386-pc-xenix
    1380         exit ;;
    1381     i*86:skyos:*:*)
    1382         echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
    1383         exit ;;
    1384     i*86:rdos:*:*)
    1385         echo ${UNAME_MACHINE}-pc-rdos
    1386         exit ;;
    1387     i*86:AROS:*:*)
    1388         echo ${UNAME_MACHINE}-pc-aros
    1389         exit ;;
    1390     x86_64:VMkernel:*:*)
    1391         echo ${UNAME_MACHINE}-unknown-esx
    1392         exit ;;
    1393 esac
    1394 
    1395 cat >&2 <<EOF
    1396 $0: unable to guess system type
    1397 
    1398 This script, last modified $timestamp, has failed to recognize
    1399 the operating system you are using. It is advised that you
    1400 download the most up to date version of the config scripts from
    1401 
    1402   http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
    1403 and
    1404   http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
    1405 
    1406 If the version you run ($0) is already up to date, please
    1407 send the following data and any information you think might be
    1408 pertinent to <config-patches@gnu.org> in order to provide the needed
    1409 information to handle your system.
    1410 
    1411 config.guess timestamp = $timestamp
    1412 
    1413 uname -m = `(uname -m) 2>/dev/null || echo unknown`
    1414 uname -r = `(uname -r) 2>/dev/null || echo unknown`
    1415 uname -s = `(uname -s) 2>/dev/null || echo unknown`
    1416 uname -v = `(uname -v) 2>/dev/null || echo unknown`
    1417 
    1418 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
    1419 /bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
    1420 
    1421 hostinfo               = `(hostinfo) 2>/dev/null`
    1422 /bin/universe          = `(/bin/universe) 2>/dev/null`
    1423 /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
    1424 /bin/arch              = `(/bin/arch) 2>/dev/null`
    1425 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
    1426 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
    1427 
    1428 UNAME_MACHINE = ${UNAME_MACHINE}
    1429 UNAME_RELEASE = ${UNAME_RELEASE}
    1430 UNAME_SYSTEM  = ${UNAME_SYSTEM}
    1431 UNAME_VERSION = ${UNAME_VERSION}
    1432 EOF
    1433 
    1434 exit 1
    1435 
    1436 # Local variables:
    1437 # eval: (add-hook 'write-file-hooks 'time-stamp)
    1438 # time-stamp-start: "timestamp='"
    1439 # time-stamp-format: "%:y-%02m-%02d"
    1440 # time-stamp-end: "'"
    1441 # End:
     1/usr/share/automake-1.15/config.guess
  • automake/config.sub

    • Property mode changed from 100755 to 120000
    r25a9b5a rc59712e  
    1 #! /bin/sh
    2 # Configuration validation subroutine script.
    3 #   Copyright 1992-2015 Free Software Foundation, Inc.
    4 
    5 timestamp='2015-08-20'
    6 
    7 # This file is free software; you can redistribute it and/or modify it
    8 # under the terms of the GNU General Public License as published by
    9 # the Free Software Foundation; either version 3 of the License, or
    10 # (at your option) any later version.
    11 #
    12 # This program is distributed in the hope that it will be useful, but
    13 # WITHOUT ANY WARRANTY; without even the implied warranty of
    14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    15 # General Public License for more details.
    16 #
    17 # You should have received a copy of the GNU General Public License
    18 # along with this program; if not, see <http://www.gnu.org/licenses/>.
    19 #
    20 # As a special exception to the GNU General Public License, if you
    21 # distribute this file as part of a program that contains a
    22 # configuration script generated by Autoconf, you may include it under
    23 # the same distribution terms that you use for the rest of that
    24 # program.  This Exception is an additional permission under section 7
    25 # of the GNU General Public License, version 3 ("GPLv3").
    26 
    27 
    28 # Please send patches to <config-patches@gnu.org>.
    29 #
    30 # Configuration subroutine to validate and canonicalize a configuration type.
    31 # Supply the specified configuration type as an argument.
    32 # If it is invalid, we print an error message on stderr and exit with code 1.
    33 # Otherwise, we print the canonical config type on stdout and succeed.
    34 
    35 # You can get the latest version of this script from:
    36 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
    37 
    38 # This file is supposed to be the same for all GNU packages
    39 # and recognize all the CPU types, system types and aliases
    40 # that are meaningful with *any* GNU software.
    41 # Each package is responsible for reporting which valid configurations
    42 # it does not support.  The user should be able to distinguish
    43 # a failure to support a valid configuration from a meaningless
    44 # configuration.
    45 
    46 # The goal of this file is to map all the various variations of a given
    47 # machine specification into a single specification in the form:
    48 #       CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
    49 # or in some cases, the newer four-part form:
    50 #       CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
    51 # It is wrong to echo any other type of specification.
    52 
    53 me=`echo "$0" | sed -e 's,.*/,,'`
    54 
    55 usage="\
    56 Usage: $0 [OPTION] CPU-MFR-OPSYS
    57        $0 [OPTION] ALIAS
    58 
    59 Canonicalize a configuration name.
    60 
    61 Operation modes:
    62   -h, --help         print this help, then exit
    63   -t, --time-stamp   print date of last modification, then exit
    64   -v, --version      print version number, then exit
    65 
    66 Report bugs and patches to <config-patches@gnu.org>."
    67 
    68 version="\
    69 GNU config.sub ($timestamp)
    70 
    71 Copyright 1992-2015 Free Software Foundation, Inc.
    72 
    73 This is free software; see the source for copying conditions.  There is NO
    74 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
    75 
    76 help="
    77 Try \`$me --help' for more information."
    78 
    79 # Parse command line
    80 while test $# -gt 0 ; do
    81   case $1 in
    82     --time-stamp | --time* | -t )
    83        echo "$timestamp" ; exit ;;
    84     --version | -v )
    85        echo "$version" ; exit ;;
    86     --help | --h* | -h )
    87        echo "$usage"; exit ;;
    88     -- )     # Stop option processing
    89        shift; break ;;
    90     - ) # Use stdin as input.
    91        break ;;
    92     -* )
    93        echo "$me: invalid option $1$help"
    94        exit 1 ;;
    95 
    96     *local*)
    97        # First pass through any local machine types.
    98        echo $1
    99        exit ;;
    100 
    101     * )
    102        break ;;
    103   esac
    104 done
    105 
    106 case $# in
    107  0) echo "$me: missing argument$help" >&2
    108     exit 1;;
    109  1) ;;
    110  *) echo "$me: too many arguments$help" >&2
    111     exit 1;;
    112 esac
    113 
    114 # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
    115 # Here we must recognize all the valid KERNEL-OS combinations.
    116 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
    117 case $maybe_os in
    118   nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
    119   linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
    120   knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
    121   kopensolaris*-gnu* | \
    122   storm-chaos* | os2-emx* | rtmk-nova*)
    123     os=-$maybe_os
    124     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
    125     ;;
    126   android-linux)
    127     os=-linux-android
    128     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
    129     ;;
    130   *)
    131     basic_machine=`echo $1 | sed 's/-[^-]*$//'`
    132     if [ $basic_machine != $1 ]
    133     then os=`echo $1 | sed 's/.*-/-/'`
    134     else os=; fi
    135     ;;
    136 esac
    137 
    138 ### Let's recognize common machines as not being operating systems so
    139 ### that things like config.sub decstation-3100 work.  We also
    140 ### recognize some manufacturers as not being operating systems, so we
    141 ### can provide default operating systems below.
    142 case $os in
    143         -sun*os*)
    144                 # Prevent following clause from handling this invalid input.
    145                 ;;
    146         -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
    147         -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
    148         -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
    149         -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
    150         -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
    151         -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
    152         -apple | -axis | -knuth | -cray | -microblaze*)
    153                 os=
    154                 basic_machine=$1
    155                 ;;
    156         -bluegene*)
    157                 os=-cnk
    158                 ;;
    159         -sim | -cisco | -oki | -wec | -winbond)
    160                 os=
    161                 basic_machine=$1
    162                 ;;
    163         -scout)
    164                 ;;
    165         -wrs)
    166                 os=-vxworks
    167                 basic_machine=$1
    168                 ;;
    169         -chorusos*)
    170                 os=-chorusos
    171                 basic_machine=$1
    172                 ;;
    173         -chorusrdb)
    174                 os=-chorusrdb
    175                 basic_machine=$1
    176                 ;;
    177         -hiux*)
    178                 os=-hiuxwe2
    179                 ;;
    180         -sco6)
    181                 os=-sco5v6
    182                 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    183                 ;;
    184         -sco5)
    185                 os=-sco3.2v5
    186                 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    187                 ;;
    188         -sco4)
    189                 os=-sco3.2v4
    190                 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    191                 ;;
    192         -sco3.2.[4-9]*)
    193                 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
    194                 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    195                 ;;
    196         -sco3.2v[4-9]*)
    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         -sco5v6*)
    201                 # Don't forget version if it is 3.2v4 or newer.
    202                 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    203                 ;;
    204         -sco*)
    205                 os=-sco3.2v2
    206                 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    207                 ;;
    208         -udk*)
    209                 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    210                 ;;
    211         -isc)
    212                 os=-isc2.2
    213                 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    214                 ;;
    215         -clix*)
    216                 basic_machine=clipper-intergraph
    217                 ;;
    218         -isc*)
    219                 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
    220                 ;;
    221         -lynx*178)
    222                 os=-lynxos178
    223                 ;;
    224         -lynx*5)
    225                 os=-lynxos5
    226                 ;;
    227         -lynx*)
    228                 os=-lynxos
    229                 ;;
    230         -ptx*)
    231                 basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
    232                 ;;
    233         -windowsnt*)
    234                 os=`echo $os | sed -e 's/windowsnt/winnt/'`
    235                 ;;
    236         -psos*)
    237                 os=-psos
    238                 ;;
    239         -mint | -mint[0-9]*)
    240                 basic_machine=m68k-atari
    241                 os=-mint
    242                 ;;
    243 esac
    244 
    245 # Decode aliases for certain CPU-COMPANY combinations.
    246 case $basic_machine in
    247         # Recognize the basic CPU types without company name.
    248         # Some are omitted here because they have special meanings below.
    249         1750a | 580 \
    250         | a29k \
    251         | aarch64 | aarch64_be \
    252         | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
    253         | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
    254         | am33_2.0 \
    255         | arc | arceb \
    256         | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
    257         | avr | avr32 \
    258         | ba \
    259         | be32 | be64 \
    260         | bfin \
    261         | c4x | c8051 | clipper \
    262         | d10v | d30v | dlx | dsp16xx \
    263         | e2k | epiphany \
    264         | fido | fr30 | frv | ft32 \
    265         | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
    266         | hexagon \
    267         | i370 | i860 | i960 | ia64 \
    268         | ip2k | iq2000 \
    269         | k1om \
    270         | le32 | le64 \
    271         | lm32 \
    272         | m32c | m32r | m32rle | m68000 | m68k | m88k \
    273         | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
    274         | mips | mipsbe | mipseb | mipsel | mipsle \
    275         | mips16 \
    276         | mips64 | mips64el \
    277         | mips64octeon | mips64octeonel \
    278         | mips64orion | mips64orionel \
    279         | mips64r5900 | mips64r5900el \
    280         | mips64vr | mips64vrel \
    281         | mips64vr4100 | mips64vr4100el \
    282         | mips64vr4300 | mips64vr4300el \
    283         | mips64vr5000 | mips64vr5000el \
    284         | mips64vr5900 | mips64vr5900el \
    285         | mipsisa32 | mipsisa32el \
    286         | mipsisa32r2 | mipsisa32r2el \
    287         | mipsisa32r6 | mipsisa32r6el \
    288         | mipsisa64 | mipsisa64el \
    289         | mipsisa64r2 | mipsisa64r2el \
    290         | mipsisa64r6 | mipsisa64r6el \
    291         | mipsisa64sb1 | mipsisa64sb1el \
    292         | mipsisa64sr71k | mipsisa64sr71kel \
    293         | mipsr5900 | mipsr5900el \
    294         | mipstx39 | mipstx39el \
    295         | mn10200 | mn10300 \
    296         | moxie \
    297         | mt \
    298         | msp430 \
    299         | nds32 | nds32le | nds32be \
    300         | nios | nios2 | nios2eb | nios2el \
    301         | ns16k | ns32k \
    302         | open8 | or1k | or1knd | or32 \
    303         | pdp10 | pdp11 | pj | pjl \
    304         | powerpc | powerpc64 | powerpc64le | powerpcle \
    305         | pyramid \
    306         | riscv32 | riscv64 \
    307         | rl78 | rx \
    308         | score \
    309         | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
    310         | sh64 | sh64le \
    311         | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
    312         | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
    313         | spu \
    314         | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
    315         | ubicom32 \
    316         | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
    317         | visium \
    318         | we32k \
    319         | x86 | xc16x | xstormy16 | xtensa \
    320         | z8k | z80)
    321                 basic_machine=$basic_machine-unknown
    322                 ;;
    323         c54x)
    324                 basic_machine=tic54x-unknown
    325                 ;;
    326         c55x)
    327                 basic_machine=tic55x-unknown
    328                 ;;
    329         c6x)
    330                 basic_machine=tic6x-unknown
    331                 ;;
    332         leon|leon[3-9])
    333                 basic_machine=sparc-$basic_machine
    334                 ;;
    335         m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
    336                 basic_machine=$basic_machine-unknown
    337                 os=-none
    338                 ;;
    339         m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
    340                 ;;
    341         ms1)
    342                 basic_machine=mt-unknown
    343                 ;;
    344 
    345         strongarm | thumb | xscale)
    346                 basic_machine=arm-unknown
    347                 ;;
    348         xgate)
    349                 basic_machine=$basic_machine-unknown
    350                 os=-none
    351                 ;;
    352         xscaleeb)
    353                 basic_machine=armeb-unknown
    354                 ;;
    355 
    356         xscaleel)
    357                 basic_machine=armel-unknown
    358                 ;;
    359 
    360         # We use `pc' rather than `unknown'
    361         # because (1) that's what they normally are, and
    362         # (2) the word "unknown" tends to confuse beginning users.
    363         i*86 | x86_64)
    364           basic_machine=$basic_machine-pc
    365           ;;
    366         # Object if more than one company name word.
    367         *-*-*)
    368                 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
    369                 exit 1
    370                 ;;
    371         # Recognize the basic CPU types with company name.
    372         580-* \
    373         | a29k-* \
    374         | aarch64-* | aarch64_be-* \
    375         | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
    376         | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
    377         | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
    378         | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
    379         | avr-* | avr32-* \
    380         | ba-* \
    381         | be32-* | be64-* \
    382         | bfin-* | bs2000-* \
    383         | c[123]* | c30-* | [cjt]90-* | c4x-* \
    384         | c8051-* | clipper-* | craynv-* | cydra-* \
    385         | d10v-* | d30v-* | dlx-* \
    386         | e2k-* | elxsi-* \
    387         | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
    388         | h8300-* | h8500-* \
    389         | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
    390         | hexagon-* \
    391         | i*86-* | i860-* | i960-* | ia64-* \
    392         | ip2k-* | iq2000-* \
    393         | k1om-* \
    394         | le32-* | le64-* \
    395         | lm32-* \
    396         | m32c-* | m32r-* | m32rle-* \
    397         | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
    398         | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
    399         | microblaze-* | microblazeel-* \
    400         | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
    401         | mips16-* \
    402         | mips64-* | mips64el-* \
    403         | mips64octeon-* | mips64octeonel-* \
    404         | mips64orion-* | mips64orionel-* \
    405         | mips64r5900-* | mips64r5900el-* \
    406         | mips64vr-* | mips64vrel-* \
    407         | mips64vr4100-* | mips64vr4100el-* \
    408         | mips64vr4300-* | mips64vr4300el-* \
    409         | mips64vr5000-* | mips64vr5000el-* \
    410         | mips64vr5900-* | mips64vr5900el-* \
    411         | mipsisa32-* | mipsisa32el-* \
    412         | mipsisa32r2-* | mipsisa32r2el-* \
    413         | mipsisa32r6-* | mipsisa32r6el-* \
    414         | mipsisa64-* | mipsisa64el-* \
    415         | mipsisa64r2-* | mipsisa64r2el-* \
    416         | mipsisa64r6-* | mipsisa64r6el-* \
    417         | mipsisa64sb1-* | mipsisa64sb1el-* \
    418         | mipsisa64sr71k-* | mipsisa64sr71kel-* \
    419         | mipsr5900-* | mipsr5900el-* \
    420         | mipstx39-* | mipstx39el-* \
    421         | mmix-* \
    422         | mt-* \
    423         | msp430-* \
    424         | nds32-* | nds32le-* | nds32be-* \
    425         | nios-* | nios2-* | nios2eb-* | nios2el-* \
    426         | none-* | np1-* | ns16k-* | ns32k-* \
    427         | open8-* \
    428         | or1k*-* \
    429         | orion-* \
    430         | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
    431         | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
    432         | pyramid-* \
    433         | riscv32-* | riscv64-* \
    434         | rl78-* | romp-* | rs6000-* | rx-* \
    435         | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
    436         | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
    437         | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
    438         | sparclite-* \
    439         | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
    440         | tahoe-* \
    441         | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
    442         | tile*-* \
    443         | tron-* \
    444         | ubicom32-* \
    445         | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
    446         | vax-* \
    447         | visium-* \
    448         | we32k-* \
    449         | x86-* | x86_64-* | xc16x-* | xps100-* \
    450         | xstormy16-* | xtensa*-* \
    451         | ymp-* \
    452         | z8k-* | z80-*)
    453                 ;;
    454         # Recognize the basic CPU types without company name, with glob match.
    455         xtensa*)
    456                 basic_machine=$basic_machine-unknown
    457                 ;;
    458         # Recognize the various machine names and aliases which stand
    459         # for a CPU type and a company and sometimes even an OS.
    460         386bsd)
    461                 basic_machine=i386-unknown
    462                 os=-bsd
    463                 ;;
    464         3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
    465                 basic_machine=m68000-att
    466                 ;;
    467         3b*)
    468                 basic_machine=we32k-att
    469                 ;;
    470         a29khif)
    471                 basic_machine=a29k-amd
    472                 os=-udi
    473                 ;;
    474         abacus)
    475                 basic_machine=abacus-unknown
    476                 ;;
    477         adobe68k)
    478                 basic_machine=m68010-adobe
    479                 os=-scout
    480                 ;;
    481         alliant | fx80)
    482                 basic_machine=fx80-alliant
    483                 ;;
    484         altos | altos3068)
    485                 basic_machine=m68k-altos
    486                 ;;
    487         am29k)
    488                 basic_machine=a29k-none
    489                 os=-bsd
    490                 ;;
    491         amd64)
    492                 basic_machine=x86_64-pc
    493                 ;;
    494         amd64-*)
    495                 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
    496                 ;;
    497         amdahl)
    498                 basic_machine=580-amdahl
    499                 os=-sysv
    500                 ;;
    501         amiga | amiga-*)
    502                 basic_machine=m68k-unknown
    503                 ;;
    504         amigaos | amigados)
    505                 basic_machine=m68k-unknown
    506                 os=-amigaos
    507                 ;;
    508         amigaunix | amix)
    509                 basic_machine=m68k-unknown
    510                 os=-sysv4
    511                 ;;
    512         apollo68)
    513                 basic_machine=m68k-apollo
    514                 os=-sysv
    515                 ;;
    516         apollo68bsd)
    517                 basic_machine=m68k-apollo
    518                 os=-bsd
    519                 ;;
    520         aros)
    521                 basic_machine=i386-pc
    522                 os=-aros
    523                 ;;
    524         asmjs)
    525                 basic_machine=asmjs-unknown
    526                 ;;
    527         aux)
    528                 basic_machine=m68k-apple
    529                 os=-aux
    530                 ;;
    531         balance)
    532                 basic_machine=ns32k-sequent
    533                 os=-dynix
    534                 ;;
    535         blackfin)
    536                 basic_machine=bfin-unknown
    537                 os=-linux
    538                 ;;
    539         blackfin-*)
    540                 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
    541                 os=-linux
    542                 ;;
    543         bluegene*)
    544                 basic_machine=powerpc-ibm
    545                 os=-cnk
    546                 ;;
    547         c54x-*)
    548                 basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
    549                 ;;
    550         c55x-*)
    551                 basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
    552                 ;;
    553         c6x-*)
    554                 basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
    555                 ;;
    556         c90)
    557                 basic_machine=c90-cray
    558                 os=-unicos
    559                 ;;
    560         cegcc)
    561                 basic_machine=arm-unknown
    562                 os=-cegcc
    563                 ;;
    564         convex-c1)
    565                 basic_machine=c1-convex
    566                 os=-bsd
    567                 ;;
    568         convex-c2)
    569                 basic_machine=c2-convex
    570                 os=-bsd
    571                 ;;
    572         convex-c32)
    573                 basic_machine=c32-convex
    574                 os=-bsd
    575                 ;;
    576         convex-c34)
    577                 basic_machine=c34-convex
    578                 os=-bsd
    579                 ;;
    580         convex-c38)
    581                 basic_machine=c38-convex
    582                 os=-bsd
    583                 ;;
    584         cray | j90)
    585                 basic_machine=j90-cray
    586                 os=-unicos
    587                 ;;
    588         craynv)
    589                 basic_machine=craynv-cray
    590                 os=-unicosmp
    591                 ;;
    592         cr16 | cr16-*)
    593                 basic_machine=cr16-unknown
    594                 os=-elf
    595                 ;;
    596         crds | unos)
    597                 basic_machine=m68k-crds
    598                 ;;
    599         crisv32 | crisv32-* | etraxfs*)
    600                 basic_machine=crisv32-axis
    601                 ;;
    602         cris | cris-* | etrax*)
    603                 basic_machine=cris-axis
    604                 ;;
    605         crx)
    606                 basic_machine=crx-unknown
    607                 os=-elf
    608                 ;;
    609         da30 | da30-*)
    610                 basic_machine=m68k-da30
    611                 ;;
    612         decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
    613                 basic_machine=mips-dec
    614                 ;;
    615         decsystem10* | dec10*)
    616                 basic_machine=pdp10-dec
    617                 os=-tops10
    618                 ;;
    619         decsystem20* | dec20*)
    620                 basic_machine=pdp10-dec
    621                 os=-tops20
    622                 ;;
    623         delta | 3300 | motorola-3300 | motorola-delta \
    624               | 3300-motorola | delta-motorola)
    625                 basic_machine=m68k-motorola
    626                 ;;
    627         delta88)
    628                 basic_machine=m88k-motorola
    629                 os=-sysv3
    630                 ;;
    631         dicos)
    632                 basic_machine=i686-pc
    633                 os=-dicos
    634                 ;;
    635         djgpp)
    636                 basic_machine=i586-pc
    637                 os=-msdosdjgpp
    638                 ;;
    639         dpx20 | dpx20-*)
    640                 basic_machine=rs6000-bull
    641                 os=-bosx
    642                 ;;
    643         dpx2* | dpx2*-bull)
    644                 basic_machine=m68k-bull
    645                 os=-sysv3
    646                 ;;
    647         ebmon29k)
    648                 basic_machine=a29k-amd
    649                 os=-ebmon
    650                 ;;
    651         elxsi)
    652                 basic_machine=elxsi-elxsi
    653                 os=-bsd
    654                 ;;
    655         encore | umax | mmax)
    656                 basic_machine=ns32k-encore
    657                 ;;
    658         es1800 | OSE68k | ose68k | ose | OSE)
    659                 basic_machine=m68k-ericsson
    660                 os=-ose
    661                 ;;
    662         fx2800)
    663                 basic_machine=i860-alliant
    664                 ;;
    665         genix)
    666                 basic_machine=ns32k-ns
    667                 ;;
    668         gmicro)
    669                 basic_machine=tron-gmicro
    670                 os=-sysv
    671                 ;;
    672         go32)
    673                 basic_machine=i386-pc
    674                 os=-go32
    675                 ;;
    676         h3050r* | hiux*)
    677                 basic_machine=hppa1.1-hitachi
    678                 os=-hiuxwe2
    679                 ;;
    680         h8300hms)
    681                 basic_machine=h8300-hitachi
    682                 os=-hms
    683                 ;;
    684         h8300xray)
    685                 basic_machine=h8300-hitachi
    686                 os=-xray
    687                 ;;
    688         h8500hms)
    689                 basic_machine=h8500-hitachi
    690                 os=-hms
    691                 ;;
    692         harris)
    693                 basic_machine=m88k-harris
    694                 os=-sysv3
    695                 ;;
    696         hp300-*)
    697                 basic_machine=m68k-hp
    698                 ;;
    699         hp300bsd)
    700                 basic_machine=m68k-hp
    701                 os=-bsd
    702                 ;;
    703         hp300hpux)
    704                 basic_machine=m68k-hp
    705                 os=-hpux
    706                 ;;
    707         hp3k9[0-9][0-9] | hp9[0-9][0-9])
    708                 basic_machine=hppa1.0-hp
    709                 ;;
    710         hp9k2[0-9][0-9] | hp9k31[0-9])
    711                 basic_machine=m68000-hp
    712                 ;;
    713         hp9k3[2-9][0-9])
    714                 basic_machine=m68k-hp
    715                 ;;
    716         hp9k6[0-9][0-9] | hp6[0-9][0-9])
    717                 basic_machine=hppa1.0-hp
    718                 ;;
    719         hp9k7[0-79][0-9] | hp7[0-79][0-9])
    720                 basic_machine=hppa1.1-hp
    721                 ;;
    722         hp9k78[0-9] | hp78[0-9])
    723                 # FIXME: really hppa2.0-hp
    724                 basic_machine=hppa1.1-hp
    725                 ;;
    726         hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
    727                 # FIXME: really hppa2.0-hp
    728                 basic_machine=hppa1.1-hp
    729                 ;;
    730         hp9k8[0-9][13679] | hp8[0-9][13679])
    731                 basic_machine=hppa1.1-hp
    732                 ;;
    733         hp9k8[0-9][0-9] | hp8[0-9][0-9])
    734                 basic_machine=hppa1.0-hp
    735                 ;;
    736         hppa-next)
    737                 os=-nextstep3
    738                 ;;
    739         hppaosf)
    740                 basic_machine=hppa1.1-hp
    741                 os=-osf
    742                 ;;
    743         hppro)
    744                 basic_machine=hppa1.1-hp
    745                 os=-proelf
    746                 ;;
    747         i370-ibm* | ibm*)
    748                 basic_machine=i370-ibm
    749                 ;;
    750         i*86v32)
    751                 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
    752                 os=-sysv32
    753                 ;;
    754         i*86v4*)
    755                 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
    756                 os=-sysv4
    757                 ;;
    758         i*86v)
    759                 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
    760                 os=-sysv
    761                 ;;
    762         i*86sol2)
    763                 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
    764                 os=-solaris2
    765                 ;;
    766         i386mach)
    767                 basic_machine=i386-mach
    768                 os=-mach
    769                 ;;
    770         i386-vsta | vsta)
    771                 basic_machine=i386-unknown
    772                 os=-vsta
    773                 ;;
    774         iris | iris4d)
    775                 basic_machine=mips-sgi
    776                 case $os in
    777                     -irix*)
    778                         ;;
    779                     *)
    780                         os=-irix4
    781                         ;;
    782                 esac
    783                 ;;
    784         isi68 | isi)
    785                 basic_machine=m68k-isi
    786                 os=-sysv
    787                 ;;
    788         leon-*|leon[3-9]-*)
    789                 basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
    790                 ;;
    791         m68knommu)
    792                 basic_machine=m68k-unknown
    793                 os=-linux
    794                 ;;
    795         m68knommu-*)
    796                 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
    797                 os=-linux
    798                 ;;
    799         m88k-omron*)
    800                 basic_machine=m88k-omron
    801                 ;;
    802         magnum | m3230)
    803                 basic_machine=mips-mips
    804                 os=-sysv
    805                 ;;
    806         merlin)
    807                 basic_machine=ns32k-utek
    808                 os=-sysv
    809                 ;;
    810         microblaze*)
    811                 basic_machine=microblaze-xilinx
    812                 ;;
    813         mingw64)
    814                 basic_machine=x86_64-pc
    815                 os=-mingw64
    816                 ;;
    817         mingw32)
    818                 basic_machine=i686-pc
    819                 os=-mingw32
    820                 ;;
    821         mingw32ce)
    822                 basic_machine=arm-unknown
    823                 os=-mingw32ce
    824                 ;;
    825         miniframe)
    826                 basic_machine=m68000-convergent
    827                 ;;
    828         *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
    829                 basic_machine=m68k-atari
    830                 os=-mint
    831                 ;;
    832         mips3*-*)
    833                 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
    834                 ;;
    835         mips3*)
    836                 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
    837                 ;;
    838         monitor)
    839                 basic_machine=m68k-rom68k
    840                 os=-coff
    841                 ;;
    842         morphos)
    843                 basic_machine=powerpc-unknown
    844                 os=-morphos
    845                 ;;
    846         moxiebox)
    847                 basic_machine=moxie-unknown
    848                 os=-moxiebox
    849                 ;;
    850         msdos)
    851                 basic_machine=i386-pc
    852                 os=-msdos
    853                 ;;
    854         ms1-*)
    855                 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
    856                 ;;
    857         msys)
    858                 basic_machine=i686-pc
    859                 os=-msys
    860                 ;;
    861         mvs)
    862                 basic_machine=i370-ibm
    863                 os=-mvs
    864                 ;;
    865         nacl)
    866                 basic_machine=le32-unknown
    867                 os=-nacl
    868                 ;;
    869         ncr3000)
    870                 basic_machine=i486-ncr
    871                 os=-sysv4
    872                 ;;
    873         netbsd386)
    874                 basic_machine=i386-unknown
    875                 os=-netbsd
    876                 ;;
    877         netwinder)
    878                 basic_machine=armv4l-rebel
    879                 os=-linux
    880                 ;;
    881         news | news700 | news800 | news900)
    882                 basic_machine=m68k-sony
    883                 os=-newsos
    884                 ;;
    885         news1000)
    886                 basic_machine=m68030-sony
    887                 os=-newsos
    888                 ;;
    889         news-3600 | risc-news)
    890                 basic_machine=mips-sony
    891                 os=-newsos
    892                 ;;
    893         necv70)
    894                 basic_machine=v70-nec
    895                 os=-sysv
    896                 ;;
    897         next | m*-next )
    898                 basic_machine=m68k-next
    899                 case $os in
    900                     -nextstep* )
    901                         ;;
    902                     -ns2*)
    903                       os=-nextstep2
    904                         ;;
    905                     *)
    906                       os=-nextstep3
    907                         ;;
    908                 esac
    909                 ;;
    910         nh3000)
    911                 basic_machine=m68k-harris
    912                 os=-cxux
    913                 ;;
    914         nh[45]000)
    915                 basic_machine=m88k-harris
    916                 os=-cxux
    917                 ;;
    918         nindy960)
    919                 basic_machine=i960-intel
    920                 os=-nindy
    921                 ;;
    922         mon960)
    923                 basic_machine=i960-intel
    924                 os=-mon960
    925                 ;;
    926         nonstopux)
    927                 basic_machine=mips-compaq
    928                 os=-nonstopux
    929                 ;;
    930         np1)
    931                 basic_machine=np1-gould
    932                 ;;
    933         neo-tandem)
    934                 basic_machine=neo-tandem
    935                 ;;
    936         nse-tandem)
    937                 basic_machine=nse-tandem
    938                 ;;
    939         nsr-tandem)
    940                 basic_machine=nsr-tandem
    941                 ;;
    942         op50n-* | op60c-*)
    943                 basic_machine=hppa1.1-oki
    944                 os=-proelf
    945                 ;;
    946         openrisc | openrisc-*)
    947                 basic_machine=or32-unknown
    948                 ;;
    949         os400)
    950                 basic_machine=powerpc-ibm
    951                 os=-os400
    952                 ;;
    953         OSE68000 | ose68000)
    954                 basic_machine=m68000-ericsson
    955                 os=-ose
    956                 ;;
    957         os68k)
    958                 basic_machine=m68k-none
    959                 os=-os68k
    960                 ;;
    961         pa-hitachi)
    962                 basic_machine=hppa1.1-hitachi
    963                 os=-hiuxwe2
    964                 ;;
    965         paragon)
    966                 basic_machine=i860-intel
    967                 os=-osf
    968                 ;;
    969         parisc)
    970                 basic_machine=hppa-unknown
    971                 os=-linux
    972                 ;;
    973         parisc-*)
    974                 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
    975                 os=-linux
    976                 ;;
    977         pbd)
    978                 basic_machine=sparc-tti
    979                 ;;
    980         pbb)
    981                 basic_machine=m68k-tti
    982                 ;;
    983         pc532 | pc532-*)
    984                 basic_machine=ns32k-pc532
    985                 ;;
    986         pc98)
    987                 basic_machine=i386-pc
    988                 ;;
    989         pc98-*)
    990                 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
    991                 ;;
    992         pentium | p5 | k5 | k6 | nexgen | viac3)
    993                 basic_machine=i586-pc
    994                 ;;
    995         pentiumpro | p6 | 6x86 | athlon | athlon_*)
    996                 basic_machine=i686-pc
    997                 ;;
    998         pentiumii | pentium2 | pentiumiii | pentium3)
    999                 basic_machine=i686-pc
    1000                 ;;
    1001         pentium4)
    1002                 basic_machine=i786-pc
    1003                 ;;
    1004         pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
    1005                 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
    1006                 ;;
    1007         pentiumpro-* | p6-* | 6x86-* | athlon-*)
    1008                 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
    1009                 ;;
    1010         pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
    1011                 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
    1012                 ;;
    1013         pentium4-*)
    1014                 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
    1015                 ;;
    1016         pn)
    1017                 basic_machine=pn-gould
    1018                 ;;
    1019         power)  basic_machine=power-ibm
    1020                 ;;
    1021         ppc | ppcbe)    basic_machine=powerpc-unknown
    1022                 ;;
    1023         ppc-* | ppcbe-*)
    1024                 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
    1025                 ;;
    1026         ppcle | powerpclittle | ppc-le | powerpc-little)
    1027                 basic_machine=powerpcle-unknown
    1028                 ;;
    1029         ppcle-* | powerpclittle-*)
    1030                 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
    1031                 ;;
    1032         ppc64)  basic_machine=powerpc64-unknown
    1033                 ;;
    1034         ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
    1035                 ;;
    1036         ppc64le | powerpc64little | ppc64-le | powerpc64-little)
    1037                 basic_machine=powerpc64le-unknown
    1038                 ;;
    1039         ppc64le-* | powerpc64little-*)
    1040                 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
    1041                 ;;
    1042         ps2)
    1043                 basic_machine=i386-ibm
    1044                 ;;
    1045         pw32)
    1046                 basic_machine=i586-unknown
    1047                 os=-pw32
    1048                 ;;
    1049         rdos | rdos64)
    1050                 basic_machine=x86_64-pc
    1051                 os=-rdos
    1052                 ;;
    1053         rdos32)
    1054                 basic_machine=i386-pc
    1055                 os=-rdos
    1056                 ;;
    1057         rom68k)
    1058                 basic_machine=m68k-rom68k
    1059                 os=-coff
    1060                 ;;
    1061         rm[46]00)
    1062                 basic_machine=mips-siemens
    1063                 ;;
    1064         rtpc | rtpc-*)
    1065                 basic_machine=romp-ibm
    1066                 ;;
    1067         s390 | s390-*)
    1068                 basic_machine=s390-ibm
    1069                 ;;
    1070         s390x | s390x-*)
    1071                 basic_machine=s390x-ibm
    1072                 ;;
    1073         sa29200)
    1074                 basic_machine=a29k-amd
    1075                 os=-udi
    1076                 ;;
    1077         sb1)
    1078                 basic_machine=mipsisa64sb1-unknown
    1079                 ;;
    1080         sb1el)
    1081                 basic_machine=mipsisa64sb1el-unknown
    1082                 ;;
    1083         sde)
    1084                 basic_machine=mipsisa32-sde
    1085                 os=-elf
    1086                 ;;
    1087         sei)
    1088                 basic_machine=mips-sei
    1089                 os=-seiux
    1090                 ;;
    1091         sequent)
    1092                 basic_machine=i386-sequent
    1093                 ;;
    1094         sh)
    1095                 basic_machine=sh-hitachi
    1096                 os=-hms
    1097                 ;;
    1098         sh5el)
    1099                 basic_machine=sh5le-unknown
    1100                 ;;
    1101         sh64)
    1102                 basic_machine=sh64-unknown
    1103                 ;;
    1104         sparclite-wrs | simso-wrs)
    1105                 basic_machine=sparclite-wrs
    1106                 os=-vxworks
    1107                 ;;
    1108         sps7)
    1109                 basic_machine=m68k-bull
    1110                 os=-sysv2
    1111                 ;;
    1112         spur)
    1113                 basic_machine=spur-unknown
    1114                 ;;
    1115         st2000)
    1116                 basic_machine=m68k-tandem
    1117                 ;;
    1118         stratus)
    1119                 basic_machine=i860-stratus
    1120                 os=-sysv4
    1121                 ;;
    1122         strongarm-* | thumb-*)
    1123                 basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
    1124                 ;;
    1125         sun2)
    1126                 basic_machine=m68000-sun
    1127                 ;;
    1128         sun2os3)
    1129                 basic_machine=m68000-sun
    1130                 os=-sunos3
    1131                 ;;
    1132         sun2os4)
    1133                 basic_machine=m68000-sun
    1134                 os=-sunos4
    1135                 ;;
    1136         sun3os3)
    1137                 basic_machine=m68k-sun
    1138                 os=-sunos3
    1139                 ;;
    1140         sun3os4)
    1141                 basic_machine=m68k-sun
    1142                 os=-sunos4
    1143                 ;;
    1144         sun4os3)
    1145                 basic_machine=sparc-sun
    1146                 os=-sunos3
    1147                 ;;
    1148         sun4os4)
    1149                 basic_machine=sparc-sun
    1150                 os=-sunos4
    1151                 ;;
    1152         sun4sol2)
    1153                 basic_machine=sparc-sun
    1154                 os=-solaris2
    1155                 ;;
    1156         sun3 | sun3-*)
    1157                 basic_machine=m68k-sun
    1158                 ;;
    1159         sun4)
    1160                 basic_machine=sparc-sun
    1161                 ;;
    1162         sun386 | sun386i | roadrunner)
    1163                 basic_machine=i386-sun
    1164                 ;;
    1165         sv1)
    1166                 basic_machine=sv1-cray
    1167                 os=-unicos
    1168                 ;;
    1169         symmetry)
    1170                 basic_machine=i386-sequent
    1171                 os=-dynix
    1172                 ;;
    1173         t3e)
    1174                 basic_machine=alphaev5-cray
    1175                 os=-unicos
    1176                 ;;
    1177         t90)
    1178                 basic_machine=t90-cray
    1179                 os=-unicos
    1180                 ;;
    1181         tile*)
    1182                 basic_machine=$basic_machine-unknown
    1183                 os=-linux-gnu
    1184                 ;;
    1185         tx39)
    1186                 basic_machine=mipstx39-unknown
    1187                 ;;
    1188         tx39el)
    1189                 basic_machine=mipstx39el-unknown
    1190                 ;;
    1191         toad1)
    1192                 basic_machine=pdp10-xkl
    1193                 os=-tops20
    1194                 ;;
    1195         tower | tower-32)
    1196                 basic_machine=m68k-ncr
    1197                 ;;
    1198         tpf)
    1199                 basic_machine=s390x-ibm
    1200                 os=-tpf
    1201                 ;;
    1202         udi29k)
    1203                 basic_machine=a29k-amd
    1204                 os=-udi
    1205                 ;;
    1206         ultra3)
    1207                 basic_machine=a29k-nyu
    1208                 os=-sym1
    1209                 ;;
    1210         v810 | necv810)
    1211                 basic_machine=v810-nec
    1212                 os=-none
    1213                 ;;
    1214         vaxv)
    1215                 basic_machine=vax-dec
    1216                 os=-sysv
    1217                 ;;
    1218         vms)
    1219                 basic_machine=vax-dec
    1220                 os=-vms
    1221                 ;;
    1222         vpp*|vx|vx-*)
    1223                 basic_machine=f301-fujitsu
    1224                 ;;
    1225         vxworks960)
    1226                 basic_machine=i960-wrs
    1227                 os=-vxworks
    1228                 ;;
    1229         vxworks68)
    1230                 basic_machine=m68k-wrs
    1231                 os=-vxworks
    1232                 ;;
    1233         vxworks29k)
    1234                 basic_machine=a29k-wrs
    1235                 os=-vxworks
    1236                 ;;
    1237         w65*)
    1238                 basic_machine=w65-wdc
    1239                 os=-none
    1240                 ;;
    1241         w89k-*)
    1242                 basic_machine=hppa1.1-winbond
    1243                 os=-proelf
    1244                 ;;
    1245         xbox)
    1246                 basic_machine=i686-pc
    1247                 os=-mingw32
    1248                 ;;
    1249         xps | xps100)
    1250                 basic_machine=xps100-honeywell
    1251                 ;;
    1252         xscale-* | xscalee[bl]-*)
    1253                 basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
    1254                 ;;
    1255         ymp)
    1256                 basic_machine=ymp-cray
    1257                 os=-unicos
    1258                 ;;
    1259         z8k-*-coff)
    1260                 basic_machine=z8k-unknown
    1261                 os=-sim
    1262                 ;;
    1263         z80-*-coff)
    1264                 basic_machine=z80-unknown
    1265                 os=-sim
    1266                 ;;
    1267         none)
    1268                 basic_machine=none-none
    1269                 os=-none
    1270                 ;;
    1271 
    1272 # Here we handle the default manufacturer of certain CPU types.  It is in
    1273 # some cases the only manufacturer, in others, it is the most popular.
    1274         w89k)
    1275                 basic_machine=hppa1.1-winbond
    1276                 ;;
    1277         op50n)
    1278                 basic_machine=hppa1.1-oki
    1279                 ;;
    1280         op60c)
    1281                 basic_machine=hppa1.1-oki
    1282                 ;;
    1283         romp)
    1284                 basic_machine=romp-ibm
    1285                 ;;
    1286         mmix)
    1287                 basic_machine=mmix-knuth
    1288                 ;;
    1289         rs6000)
    1290                 basic_machine=rs6000-ibm
    1291                 ;;
    1292         vax)
    1293                 basic_machine=vax-dec
    1294                 ;;
    1295         pdp10)
    1296                 # there are many clones, so DEC is not a safe bet
    1297                 basic_machine=pdp10-unknown
    1298                 ;;
    1299         pdp11)
    1300                 basic_machine=pdp11-dec
    1301                 ;;
    1302         we32k)
    1303                 basic_machine=we32k-att
    1304                 ;;
    1305         sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
    1306                 basic_machine=sh-unknown
    1307                 ;;
    1308         sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
    1309                 basic_machine=sparc-sun
    1310                 ;;
    1311         cydra)
    1312                 basic_machine=cydra-cydrome
    1313                 ;;
    1314         orion)
    1315                 basic_machine=orion-highlevel
    1316                 ;;
    1317         orion105)
    1318                 basic_machine=clipper-highlevel
    1319                 ;;
    1320         mac | mpw | mac-mpw)
    1321                 basic_machine=m68k-apple
    1322                 ;;
    1323         pmac | pmac-mpw)
    1324                 basic_machine=powerpc-apple
    1325                 ;;
    1326         *-unknown)
    1327                 # Make sure to match an already-canonicalized machine name.
    1328                 ;;
    1329         *)
    1330                 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
    1331                 exit 1
    1332                 ;;
    1333 esac
    1334 
    1335 # Here we canonicalize certain aliases for manufacturers.
    1336 case $basic_machine in
    1337         *-digital*)
    1338                 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
    1339                 ;;
    1340         *-commodore*)
    1341                 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
    1342                 ;;
    1343         *)
    1344                 ;;
    1345 esac
    1346 
    1347 # Decode manufacturer-specific aliases for certain operating systems.
    1348 
    1349 if [ x"$os" != x"" ]
    1350 then
    1351 case $os in
    1352         # First match some system type aliases
    1353         # that might get confused with valid system types.
    1354         # -solaris* is a basic system type, with this one exception.
    1355         -auroraux)
    1356                 os=-auroraux
    1357                 ;;
    1358         -solaris1 | -solaris1.*)
    1359                 os=`echo $os | sed -e 's|solaris1|sunos4|'`
    1360                 ;;
    1361         -solaris)
    1362                 os=-solaris2
    1363                 ;;
    1364         -svr4*)
    1365                 os=-sysv4
    1366                 ;;
    1367         -unixware*)
    1368                 os=-sysv4.2uw
    1369                 ;;
    1370         -gnu/linux*)
    1371                 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
    1372                 ;;
    1373         # First accept the basic system types.
    1374         # The portable systems comes first.
    1375         # Each alternative MUST END IN A *, to match a version number.
    1376         # -sysv* is not here because it comes later, after sysvr4.
    1377         -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
    1378               | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
    1379               | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
    1380               | -sym* | -kopensolaris* | -plan9* \
    1381               | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
    1382               | -aos* | -aros* | -cloudabi* | -sortix* \
    1383               | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
    1384               | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
    1385               | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
    1386               | -bitrig* | -openbsd* | -solidbsd* \
    1387               | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
    1388               | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
    1389               | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
    1390               | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
    1391               | -chorusos* | -chorusrdb* | -cegcc* \
    1392               | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
    1393               | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
    1394               | -linux-newlib* | -linux-musl* | -linux-uclibc* \
    1395               | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
    1396               | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
    1397               | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
    1398               | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
    1399               | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
    1400               | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
    1401               | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
    1402               | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
    1403         # Remember, each alternative MUST END IN *, to match a version number.
    1404                 ;;
    1405         -qnx*)
    1406                 case $basic_machine in
    1407                     x86-* | i*86-*)
    1408                         ;;
    1409                     *)
    1410                         os=-nto$os
    1411                         ;;
    1412                 esac
    1413                 ;;
    1414         -nto-qnx*)
    1415                 ;;
    1416         -nto*)
    1417                 os=`echo $os | sed -e 's|nto|nto-qnx|'`
    1418                 ;;
    1419         -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
    1420               | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
    1421               | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
    1422                 ;;
    1423         -mac*)
    1424                 os=`echo $os | sed -e 's|mac|macos|'`
    1425                 ;;
    1426         -linux-dietlibc)
    1427                 os=-linux-dietlibc
    1428                 ;;
    1429         -linux*)
    1430                 os=`echo $os | sed -e 's|linux|linux-gnu|'`
    1431                 ;;
    1432         -sunos5*)
    1433                 os=`echo $os | sed -e 's|sunos5|solaris2|'`
    1434                 ;;
    1435         -sunos6*)
    1436                 os=`echo $os | sed -e 's|sunos6|solaris3|'`
    1437                 ;;
    1438         -opened*)
    1439                 os=-openedition
    1440                 ;;
    1441         -os400*)
    1442                 os=-os400
    1443                 ;;
    1444         -wince*)
    1445                 os=-wince
    1446                 ;;
    1447         -osfrose*)
    1448                 os=-osfrose
    1449                 ;;
    1450         -osf*)
    1451                 os=-osf
    1452                 ;;
    1453         -utek*)
    1454                 os=-bsd
    1455                 ;;
    1456         -dynix*)
    1457                 os=-bsd
    1458                 ;;
    1459         -acis*)
    1460                 os=-aos
    1461                 ;;
    1462         -atheos*)
    1463                 os=-atheos
    1464                 ;;
    1465         -syllable*)
    1466                 os=-syllable
    1467                 ;;
    1468         -386bsd)
    1469                 os=-bsd
    1470                 ;;
    1471         -ctix* | -uts*)
    1472                 os=-sysv
    1473                 ;;
    1474         -nova*)
    1475                 os=-rtmk-nova
    1476                 ;;
    1477         -ns2 )
    1478                 os=-nextstep2
    1479                 ;;
    1480         -nsk*)
    1481                 os=-nsk
    1482                 ;;
    1483         # Preserve the version number of sinix5.
    1484         -sinix5.*)
    1485                 os=`echo $os | sed -e 's|sinix|sysv|'`
    1486                 ;;
    1487         -sinix*)
    1488                 os=-sysv4
    1489                 ;;
    1490         -tpf*)
    1491                 os=-tpf
    1492                 ;;
    1493         -triton*)
    1494                 os=-sysv3
    1495                 ;;
    1496         -oss*)
    1497                 os=-sysv3
    1498                 ;;
    1499         -svr4)
    1500                 os=-sysv4
    1501                 ;;
    1502         -svr3)
    1503                 os=-sysv3
    1504                 ;;
    1505         -sysvr4)
    1506                 os=-sysv4
    1507                 ;;
    1508         # This must come after -sysvr4.
    1509         -sysv*)
    1510                 ;;
    1511         -ose*)
    1512                 os=-ose
    1513                 ;;
    1514         -es1800*)
    1515                 os=-ose
    1516                 ;;
    1517         -xenix)
    1518                 os=-xenix
    1519                 ;;
    1520         -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
    1521                 os=-mint
    1522                 ;;
    1523         -aros*)
    1524                 os=-aros
    1525                 ;;
    1526         -zvmoe)
    1527                 os=-zvmoe
    1528                 ;;
    1529         -dicos*)
    1530                 os=-dicos
    1531                 ;;
    1532         -nacl*)
    1533                 ;;
    1534         -none)
    1535                 ;;
    1536         *)
    1537                 # Get rid of the `-' at the beginning of $os.
    1538                 os=`echo $os | sed 's/[^-]*-//'`
    1539                 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
    1540                 exit 1
    1541                 ;;
    1542 esac
    1543 else
    1544 
    1545 # Here we handle the default operating systems that come with various machines.
    1546 # The value should be what the vendor currently ships out the door with their
    1547 # machine or put another way, the most popular os provided with the machine.
    1548 
    1549 # Note that if you're going to try to match "-MANUFACTURER" here (say,
    1550 # "-sun"), then you have to tell the case statement up towards the top
    1551 # that MANUFACTURER isn't an operating system.  Otherwise, code above
    1552 # will signal an error saying that MANUFACTURER isn't an operating
    1553 # system, and we'll never get to this point.
    1554 
    1555 case $basic_machine in
    1556         score-*)
    1557                 os=-elf
    1558                 ;;
    1559         spu-*)
    1560                 os=-elf
    1561                 ;;
    1562         *-acorn)
    1563                 os=-riscix1.2
    1564                 ;;
    1565         arm*-rebel)
    1566                 os=-linux
    1567                 ;;
    1568         arm*-semi)
    1569                 os=-aout
    1570                 ;;
    1571         c4x-* | tic4x-*)
    1572                 os=-coff
    1573                 ;;
    1574         c8051-*)
    1575                 os=-elf
    1576                 ;;
    1577         hexagon-*)
    1578                 os=-elf
    1579                 ;;
    1580         tic54x-*)
    1581                 os=-coff
    1582                 ;;
    1583         tic55x-*)
    1584                 os=-coff
    1585                 ;;
    1586         tic6x-*)
    1587                 os=-coff
    1588                 ;;
    1589         # This must come before the *-dec entry.
    1590         pdp10-*)
    1591                 os=-tops20
    1592                 ;;
    1593         pdp11-*)
    1594                 os=-none
    1595                 ;;
    1596         *-dec | vax-*)
    1597                 os=-ultrix4.2
    1598                 ;;
    1599         m68*-apollo)
    1600                 os=-domain
    1601                 ;;
    1602         i386-sun)
    1603                 os=-sunos4.0.2
    1604                 ;;
    1605         m68000-sun)
    1606                 os=-sunos3
    1607                 ;;
    1608         m68*-cisco)
    1609                 os=-aout
    1610                 ;;
    1611         mep-*)
    1612                 os=-elf
    1613                 ;;
    1614         mips*-cisco)
    1615                 os=-elf
    1616                 ;;
    1617         mips*-*)
    1618                 os=-elf
    1619                 ;;
    1620         or32-*)
    1621                 os=-coff
    1622                 ;;
    1623         *-tti)  # must be before sparc entry or we get the wrong os.
    1624                 os=-sysv3
    1625                 ;;
    1626         sparc-* | *-sun)
    1627                 os=-sunos4.1.1
    1628                 ;;
    1629         *-be)
    1630                 os=-beos
    1631                 ;;
    1632         *-haiku)
    1633                 os=-haiku
    1634                 ;;
    1635         *-ibm)
    1636                 os=-aix
    1637                 ;;
    1638         *-knuth)
    1639                 os=-mmixware
    1640                 ;;
    1641         *-wec)
    1642                 os=-proelf
    1643                 ;;
    1644         *-winbond)
    1645                 os=-proelf
    1646                 ;;
    1647         *-oki)
    1648                 os=-proelf
    1649                 ;;
    1650         *-hp)
    1651                 os=-hpux
    1652                 ;;
    1653         *-hitachi)
    1654                 os=-hiux
    1655                 ;;
    1656         i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
    1657                 os=-sysv
    1658                 ;;
    1659         *-cbm)
    1660                 os=-amigaos
    1661                 ;;
    1662         *-dg)
    1663                 os=-dgux
    1664                 ;;
    1665         *-dolphin)
    1666                 os=-sysv3
    1667                 ;;
    1668         m68k-ccur)
    1669                 os=-rtu
    1670                 ;;
    1671         m88k-omron*)
    1672                 os=-luna
    1673                 ;;
    1674         *-next )
    1675                 os=-nextstep
    1676                 ;;
    1677         *-sequent)
    1678                 os=-ptx
    1679                 ;;
    1680         *-crds)
    1681                 os=-unos
    1682                 ;;
    1683         *-ns)
    1684                 os=-genix
    1685                 ;;
    1686         i370-*)
    1687                 os=-mvs
    1688                 ;;
    1689         *-next)
    1690                 os=-nextstep3
    1691                 ;;
    1692         *-gould)
    1693                 os=-sysv
    1694                 ;;
    1695         *-highlevel)
    1696                 os=-bsd
    1697                 ;;
    1698         *-encore)
    1699                 os=-bsd
    1700                 ;;
    1701         *-sgi)
    1702                 os=-irix
    1703                 ;;
    1704         *-siemens)
    1705                 os=-sysv4
    1706                 ;;
    1707         *-masscomp)
    1708                 os=-rtu
    1709                 ;;
    1710         f30[01]-fujitsu | f700-fujitsu)
    1711                 os=-uxpv
    1712                 ;;
    1713         *-rom68k)
    1714                 os=-coff
    1715                 ;;
    1716         *-*bug)
    1717                 os=-coff
    1718                 ;;
    1719         *-apple)
    1720                 os=-macos
    1721                 ;;
    1722         *-atari*)
    1723                 os=-mint
    1724                 ;;
    1725         *)
    1726                 os=-none
    1727                 ;;
    1728 esac
    1729 fi
    1730 
    1731 # Here we handle the case where we know the os, and the CPU type, but not the
    1732 # manufacturer.  We pick the logical manufacturer.
    1733 vendor=unknown
    1734 case $basic_machine in
    1735         *-unknown)
    1736                 case $os in
    1737                         -riscix*)
    1738                                 vendor=acorn
    1739                                 ;;
    1740                         -sunos*)
    1741                                 vendor=sun
    1742                                 ;;
    1743                         -cnk*|-aix*)
    1744                                 vendor=ibm
    1745                                 ;;
    1746                         -beos*)
    1747                                 vendor=be
    1748                                 ;;
    1749                         -hpux*)
    1750                                 vendor=hp
    1751                                 ;;
    1752                         -mpeix*)
    1753                                 vendor=hp
    1754                                 ;;
    1755                         -hiux*)
    1756                                 vendor=hitachi
    1757                                 ;;
    1758                         -unos*)
    1759                                 vendor=crds
    1760                                 ;;
    1761                         -dgux*)
    1762                                 vendor=dg
    1763                                 ;;
    1764                         -luna*)
    1765                                 vendor=omron
    1766                                 ;;
    1767                         -genix*)
    1768                                 vendor=ns
    1769                                 ;;
    1770                         -mvs* | -opened*)
    1771                                 vendor=ibm
    1772                                 ;;
    1773                         -os400*)
    1774                                 vendor=ibm
    1775                                 ;;
    1776                         -ptx*)
    1777                                 vendor=sequent
    1778                                 ;;
    1779                         -tpf*)
    1780                                 vendor=ibm
    1781                                 ;;
    1782                         -vxsim* | -vxworks* | -windiss*)
    1783                                 vendor=wrs
    1784                                 ;;
    1785                         -aux*)
    1786                                 vendor=apple
    1787                                 ;;
    1788                         -hms*)
    1789                                 vendor=hitachi
    1790                                 ;;
    1791                         -mpw* | -macos*)
    1792                                 vendor=apple
    1793                                 ;;
    1794                         -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
    1795                                 vendor=atari
    1796                                 ;;
    1797                         -vos*)
    1798                                 vendor=stratus
    1799                                 ;;
    1800                 esac
    1801                 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
    1802                 ;;
    1803 esac
    1804 
    1805 echo $basic_machine$os
    1806 exit
    1807 
    1808 # Local variables:
    1809 # eval: (add-hook 'write-file-hooks 'time-stamp)
    1810 # time-stamp-start: "timestamp='"
    1811 # time-stamp-format: "%:y-%02m-%02d"
    1812 # time-stamp-end: "'"
    1813 # End:
     1/usr/share/automake-1.15/config.sub
  • automake/depcomp

    • Property mode changed from 100755 to 120000
    r25a9b5a rc59712e  
    1 #! /bin/sh
    2 # depcomp - compile a program generating dependencies as side-effects
    3 
    4 scriptversion=2013-05-30.07; # UTC
    5 
    6 # Copyright (C) 1999-2014 Free 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 outputting 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 # Get the directory component of the given path, and save it in the
    60 # global variables '$dir'.  Note that this directory component will
    61 # be either empty or ending with a '/' character.  This is deliberate.
    62 set_dir_from ()
    63 {
    64   case $1 in
    65     */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
    66       *) dir=;;
    67   esac
    68 }
    69 
    70 # Get the suffix-stripped basename of the given path, and save it the
    71 # global variable '$base'.
    72 set_base_from ()
    73 {
    74   base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
    75 }
    76 
    77 # If no dependency file was actually created by the compiler invocation,
    78 # we still have to create a dummy depfile, to avoid errors with the
    79 # Makefile "include basename.Plo" scheme.
    80 make_dummy_depfile ()
    81 {
    82   echo "#dummy" > "$depfile"
    83 }
    84 
    85 # Factor out some common post-processing of the generated depfile.
    86 # Requires the auxiliary global variable '$tmpdepfile' to be set.
    87 aix_post_process_depfile ()
    88 {
    89   # If the compiler actually managed to produce a dependency file,
    90   # post-process it.
    91   if test -f "$tmpdepfile"; then
    92     # Each line is of the form 'foo.o: dependency.h'.
    93     # Do two passes, one to just change these to
    94     #   $object: dependency.h
    95     # and one to simply output
    96     #   dependency.h:
    97     # which is needed to avoid the deleted-header problem.
    98     { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
    99       sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
    100     } > "$depfile"
    101     rm -f "$tmpdepfile"
    102   else
    103     make_dummy_depfile
    104   fi
    105 }
    106 
    107 # A tabulation character.
    108 tab='   '
    109 # A newline character.
    110 nl='
    111 '
    112 # Character ranges might be problematic outside the C locale.
    113 # These definitions help.
    114 upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
    115 lower=abcdefghijklmnopqrstuvwxyz
    116 digits=0123456789
    117 alpha=${upper}${lower}
    118 
    119 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
    120   echo "depcomp: Variables source, object and depmode must be set" 1>&2
    121   exit 1
    122 fi
    123 
    124 # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
    125 depfile=${depfile-`echo "$object" |
    126   sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
    127 tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
    128 
    129 rm -f "$tmpdepfile"
    130 
    131 # Avoid interferences from the environment.
    132 gccflag= dashmflag=
    133 
    134 # Some modes work just like other modes, but use different flags.  We
    135 # parameterize here, but still list the modes in the big case below,
    136 # to make depend.m4 easier to write.  Note that we *cannot* use a case
    137 # here, because this file can only contain one case statement.
    138 if test "$depmode" = hp; then
    139   # HP compiler uses -M and no extra arg.
    140   gccflag=-M
    141   depmode=gcc
    142 fi
    143 
    144 if test "$depmode" = dashXmstdout; then
    145   # This is just like dashmstdout with a different argument.
    146   dashmflag=-xM
    147   depmode=dashmstdout
    148 fi
    149 
    150 cygpath_u="cygpath -u -f -"
    151 if test "$depmode" = msvcmsys; then
    152   # This is just like msvisualcpp but w/o cygpath translation.
    153   # Just convert the backslash-escaped backslashes to single forward
    154   # slashes to satisfy depend.m4
    155   cygpath_u='sed s,\\\\,/,g'
    156   depmode=msvisualcpp
    157 fi
    158 
    159 if test "$depmode" = msvc7msys; then
    160   # This is just like msvc7 but w/o cygpath translation.
    161   # Just convert the backslash-escaped backslashes to single forward
    162   # slashes to satisfy depend.m4
    163   cygpath_u='sed s,\\\\,/,g'
    164   depmode=msvc7
    165 fi
    166 
    167 if test "$depmode" = xlc; then
    168   # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
    169   gccflag=-qmakedep=gcc,-MF
    170   depmode=gcc
    171 fi
    172 
    173 case "$depmode" in
    174 gcc3)
    175 ## gcc 3 implements dependency tracking that does exactly what
    176 ## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
    177 ## it if -MD -MP comes after the -MF stuff.  Hmm.
    178 ## Unfortunately, FreeBSD c89 acceptance of flags depends upon
    179 ## the command line argument order; so add the flags where they
    180 ## appear in depend2.am.  Note that the slowdown incurred here
    181 ## affects only configure: in makefiles, %FASTDEP% shortcuts this.
    182   for arg
    183   do
    184     case $arg in
    185     -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
    186     *)  set fnord "$@" "$arg" ;;
    187     esac
    188     shift # fnord
    189     shift # $arg
    190   done
    191   "$@"
    192   stat=$?
    193   if test $stat -ne 0; then
    194     rm -f "$tmpdepfile"
    195     exit $stat
    196   fi
    197   mv "$tmpdepfile" "$depfile"
    198   ;;
    199 
    200 gcc)
    201 ## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
    202 ## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
    203 ## (see the conditional assignment to $gccflag above).
    204 ## There are various ways to get dependency output from gcc.  Here's
    205 ## why we pick this rather obscure method:
    206 ## - Don't want to use -MD because we'd like the dependencies to end
    207 ##   up in a subdir.  Having to rename by hand is ugly.
    208 ##   (We might end up doing this anyway to support other compilers.)
    209 ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
    210 ##   -MM, not -M (despite what the docs say).  Also, it might not be
    211 ##   supported by the other compilers which use the 'gcc' depmode.
    212 ## - Using -M directly means running the compiler twice (even worse
    213 ##   than renaming).
    214   if test -z "$gccflag"; then
    215     gccflag=-MD,
    216   fi
    217   "$@" -Wp,"$gccflag$tmpdepfile"
    218   stat=$?
    219   if test $stat -ne 0; then
    220     rm -f "$tmpdepfile"
    221     exit $stat
    222   fi
    223   rm -f "$depfile"
    224   echo "$object : \\" > "$depfile"
    225   # The second -e expression handles DOS-style file names with drive
    226   # letters.
    227   sed -e 's/^[^:]*: / /' \
    228       -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
    229 ## This next piece of magic avoids the "deleted header file" problem.
    230 ## The problem is that when a header file which appears in a .P file
    231 ## is deleted, the dependency causes make to die (because there is
    232 ## typically no way to rebuild the header).  We avoid this by adding
    233 ## dummy dependencies for each header file.  Too bad gcc doesn't do
    234 ## this for us directly.
    235 ## Some versions of gcc put a space before the ':'.  On the theory
    236 ## that the space means something, we add a space to the output as
    237 ## well.  hp depmode also adds that space, but also prefixes the VPATH
    238 ## to the object.  Take care to not repeat it in the output.
    239 ## Some versions of the HPUX 10.20 sed can't process this invocation
    240 ## correctly.  Breaking it into two sed invocations is a workaround.
    241   tr ' ' "$nl" < "$tmpdepfile" \
    242     | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
    243     | sed -e 's/$/ :/' >> "$depfile"
    244   rm -f "$tmpdepfile"
    245   ;;
    246 
    247 hp)
    248   # This case exists only to let depend.m4 do its work.  It works by
    249   # looking at the text of this script.  This case will never be run,
    250   # since it is checked for above.
    251   exit 1
    252   ;;
    253 
    254 sgi)
    255   if test "$libtool" = yes; then
    256     "$@" "-Wp,-MDupdate,$tmpdepfile"
    257   else
    258     "$@" -MDupdate "$tmpdepfile"
    259   fi
    260   stat=$?
    261   if test $stat -ne 0; then
    262     rm -f "$tmpdepfile"
    263     exit $stat
    264   fi
    265   rm -f "$depfile"
    266 
    267   if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
    268     echo "$object : \\" > "$depfile"
    269     # Clip off the initial element (the dependent).  Don't try to be
    270     # clever and replace this with sed code, as IRIX sed won't handle
    271     # lines with more than a fixed number of characters (4096 in
    272     # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
    273     # the IRIX cc adds comments like '#:fec' to the end of the
    274     # dependency line.
    275     tr ' ' "$nl" < "$tmpdepfile" \
    276       | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
    277       | tr "$nl" ' ' >> "$depfile"
    278     echo >> "$depfile"
    279     # The second pass generates a dummy entry for each header file.
    280     tr ' ' "$nl" < "$tmpdepfile" \
    281       | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
    282       >> "$depfile"
    283   else
    284     make_dummy_depfile
    285   fi
    286   rm -f "$tmpdepfile"
    287   ;;
    288 
    289 xlc)
    290   # This case exists only to let depend.m4 do its work.  It works by
    291   # looking at the text of this script.  This case will never be run,
    292   # since it is checked for above.
    293   exit 1
    294   ;;
    295 
    296 aix)
    297   # The C for AIX Compiler uses -M and outputs the dependencies
    298   # in a .u file.  In older versions, this file always lives in the
    299   # current directory.  Also, the AIX compiler puts '$object:' at the
    300   # start of each line; $object doesn't have directory information.
    301   # Version 6 uses the directory in both cases.
    302   set_dir_from "$object"
    303   set_base_from "$object"
    304   if test "$libtool" = yes; then
    305     tmpdepfile1=$dir$base.u
    306     tmpdepfile2=$base.u
    307     tmpdepfile3=$dir.libs/$base.u
    308     "$@" -Wc,-M
    309   else
    310     tmpdepfile1=$dir$base.u
    311     tmpdepfile2=$dir$base.u
    312     tmpdepfile3=$dir$base.u
    313     "$@" -M
    314   fi
    315   stat=$?
    316   if test $stat -ne 0; then
    317     rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
    318     exit $stat
    319   fi
    320 
    321   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
    322   do
    323     test -f "$tmpdepfile" && break
    324   done
    325   aix_post_process_depfile
    326   ;;
    327 
    328 tcc)
    329   # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
    330   # FIXME: That version still under development at the moment of writing.
    331   #        Make that this statement remains true also for stable, released
    332   #        versions.
    333   # It will wrap lines (doesn't matter whether long or short) with a
    334   # trailing '\', as in:
    335   #
    336   #   foo.o : \
    337   #    foo.c \
    338   #    foo.h \
    339   #
    340   # It will put a trailing '\' even on the last line, and will use leading
    341   # spaces rather than leading tabs (at least since its commit 0394caf7
    342   # "Emit spaces for -MD").
    343   "$@" -MD -MF "$tmpdepfile"
    344   stat=$?
    345   if test $stat -ne 0; then
    346     rm -f "$tmpdepfile"
    347     exit $stat
    348   fi
    349   rm -f "$depfile"
    350   # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
    351   # We have to change lines of the first kind to '$object: \'.
    352   sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
    353   # And for each line of the second kind, we have to emit a 'dep.h:'
    354   # dummy dependency, to avoid the deleted-header problem.
    355   sed -n -e 's|^  *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
    356   rm -f "$tmpdepfile"
    357   ;;
    358 
    359 ## The order of this option in the case statement is important, since the
    360 ## shell code in configure will try each of these formats in the order
    361 ## listed in this file.  A plain '-MD' option would be understood by many
    362 ## compilers, so we must ensure this comes after the gcc and icc options.
    363 pgcc)
    364   # Portland's C compiler understands '-MD'.
    365   # Will always output deps to 'file.d' where file is the root name of the
    366   # source file under compilation, even if file resides in a subdirectory.
    367   # The object file name does not affect the name of the '.d' file.
    368   # pgcc 10.2 will output
    369   #    foo.o: sub/foo.c sub/foo.h
    370   # and will wrap long lines using '\' :
    371   #    foo.o: sub/foo.c ... \
    372   #     sub/foo.h ... \
    373   #     ...
    374   set_dir_from "$object"
    375   # Use the source, not the object, to determine the base name, since
    376   # that's sadly what pgcc will do too.
    377   set_base_from "$source"
    378   tmpdepfile=$base.d
    379 
    380   # For projects that build the same source file twice into different object
    381   # files, the pgcc approach of using the *source* file root name can cause
    382   # problems in parallel builds.  Use a locking strategy to avoid stomping on
    383   # the same $tmpdepfile.
    384   lockdir=$base.d-lock
    385   trap "
    386     echo '$0: caught signal, cleaning up...' >&2
    387     rmdir '$lockdir'
    388     exit 1
    389   " 1 2 13 15
    390   numtries=100
    391   i=$numtries
    392   while test $i -gt 0; do
    393     # mkdir is a portable test-and-set.
    394     if mkdir "$lockdir" 2>/dev/null; then
    395       # This process acquired the lock.
    396       "$@" -MD
    397       stat=$?
    398       # Release the lock.
    399       rmdir "$lockdir"
    400       break
    401     else
    402       # If the lock is being held by a different process, wait
    403       # until the winning process is done or we timeout.
    404       while test -d "$lockdir" && test $i -gt 0; do
    405         sleep 1
    406         i=`expr $i - 1`
    407       done
    408     fi
    409     i=`expr $i - 1`
    410   done
    411   trap - 1 2 13 15
    412   if test $i -le 0; then
    413     echo "$0: failed to acquire lock after $numtries attempts" >&2
    414     echo "$0: check lockdir '$lockdir'" >&2
    415     exit 1
    416   fi
    417 
    418   if test $stat -ne 0; then
    419     rm -f "$tmpdepfile"
    420     exit $stat
    421   fi
    422   rm -f "$depfile"
    423   # Each line is of the form `foo.o: dependent.h',
    424   # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
    425   # Do two passes, one to just change these to
    426   # `$object: dependent.h' and one to simply `dependent.h:'.
    427   sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
    428   # Some versions of the HPUX 10.20 sed can't process this invocation
    429   # correctly.  Breaking it into two sed invocations is a workaround.
    430   sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
    431     | sed -e 's/$/ :/' >> "$depfile"
    432   rm -f "$tmpdepfile"
    433   ;;
    434 
    435 hp2)
    436   # The "hp" stanza above does not work with aCC (C++) and HP's ia64
    437   # compilers, which have integrated preprocessors.  The correct option
    438   # to use with these is +Maked; it writes dependencies to a file named
    439   # 'foo.d', which lands next to the object file, wherever that
    440   # happens to be.
    441   # Much of this is similar to the tru64 case; see comments there.
    442   set_dir_from  "$object"
    443   set_base_from "$object"
    444   if test "$libtool" = yes; then
    445     tmpdepfile1=$dir$base.d
    446     tmpdepfile2=$dir.libs/$base.d
    447     "$@" -Wc,+Maked
    448   else
    449     tmpdepfile1=$dir$base.d
    450     tmpdepfile2=$dir$base.d
    451     "$@" +Maked
    452   fi
    453   stat=$?
    454   if test $stat -ne 0; then
    455      rm -f "$tmpdepfile1" "$tmpdepfile2"
    456      exit $stat
    457   fi
    458 
    459   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
    460   do
    461     test -f "$tmpdepfile" && break
    462   done
    463   if test -f "$tmpdepfile"; then
    464     sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
    465     # Add 'dependent.h:' lines.
    466     sed -ne '2,${
    467                s/^ *//
    468                s/ \\*$//
    469                s/$/:/
    470                p
    471              }' "$tmpdepfile" >> "$depfile"
    472   else
    473     make_dummy_depfile
    474   fi
    475   rm -f "$tmpdepfile" "$tmpdepfile2"
    476   ;;
    477 
    478 tru64)
    479   # The Tru64 compiler uses -MD to generate dependencies as a side
    480   # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
    481   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
    482   # dependencies in 'foo.d' instead, so we check for that too.
    483   # Subdirectories are respected.
    484   set_dir_from  "$object"
    485   set_base_from "$object"
    486 
    487   if test "$libtool" = yes; then
    488     # Libtool generates 2 separate objects for the 2 libraries.  These
    489     # two compilations output dependencies in $dir.libs/$base.o.d and
    490     # in $dir$base.o.d.  We have to check for both files, because
    491     # one of the two compilations can be disabled.  We should prefer
    492     # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
    493     # automatically cleaned when .libs/ is deleted, while ignoring
    494     # the former would cause a distcleancheck panic.
    495     tmpdepfile1=$dir$base.o.d          # libtool 1.5
    496     tmpdepfile2=$dir.libs/$base.o.d    # Likewise.
    497     tmpdepfile3=$dir.libs/$base.d      # Compaq CCC V6.2-504
    498     "$@" -Wc,-MD
    499   else
    500     tmpdepfile1=$dir$base.d
    501     tmpdepfile2=$dir$base.d
    502     tmpdepfile3=$dir$base.d
    503     "$@" -MD
    504   fi
    505 
    506   stat=$?
    507   if test $stat -ne 0; then
    508     rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
    509     exit $stat
    510   fi
    511 
    512   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
    513   do
    514     test -f "$tmpdepfile" && break
    515   done
    516   # Same post-processing that is required for AIX mode.
    517   aix_post_process_depfile
    518   ;;
    519 
    520 msvc7)
    521   if test "$libtool" = yes; then
    522     showIncludes=-Wc,-showIncludes
    523   else
    524     showIncludes=-showIncludes
    525   fi
    526   "$@" $showIncludes > "$tmpdepfile"
    527   stat=$?
    528   grep -v '^Note: including file: ' "$tmpdepfile"
    529   if test $stat -ne 0; then
    530     rm -f "$tmpdepfile"
    531     exit $stat
    532   fi
    533   rm -f "$depfile"
    534   echo "$object : \\" > "$depfile"
    535   # The first sed program below extracts the file names and escapes
    536   # backslashes for cygpath.  The second sed program outputs the file
    537   # name when reading, but also accumulates all include files in the
    538   # hold buffer in order to output them again at the end.  This only
    539   # works with sed implementations that can handle large buffers.
    540   sed < "$tmpdepfile" -n '
    541 /^Note: including file:  *\(.*\)/ {
    542   s//\1/
    543   s/\\/\\\\/g
    544   p
    545 }' | $cygpath_u | sort -u | sed -n '
    546 s/ /\\ /g
    547 s/\(.*\)/'"$tab"'\1 \\/p
    548 s/.\(.*\) \\/\1:/
    549 H
    550 $ {
    551   s/.*/'"$tab"'/
    552   G
    553   p
    554 }' >> "$depfile"
    555   echo >> "$depfile" # make sure the fragment doesn't end with a backslash
    556   rm -f "$tmpdepfile"
    557   ;;
    558 
    559 msvc7msys)
    560   # This case exists only to let depend.m4 do its work.  It works by
    561   # looking at the text of this script.  This case will never be run,
    562   # since it is checked for above.
    563   exit 1
    564   ;;
    565 
    566 #nosideeffect)
    567   # This comment above is used by automake to tell side-effect
    568   # dependency tracking mechanisms from slower ones.
    569 
    570 dashmstdout)
    571   # Important note: in order to support this mode, a compiler *must*
    572   # always write the preprocessed file to stdout, regardless of -o.
    573   "$@" || exit $?
    574 
    575   # Remove the call to Libtool.
    576   if test "$libtool" = yes; then
    577     while test "X$1" != 'X--mode=compile'; do
    578       shift
    579     done
    580     shift
    581   fi
    582 
    583   # Remove '-o $object'.
    584   IFS=" "
    585   for arg
    586   do
    587     case $arg in
    588     -o)
    589       shift
    590       ;;
    591     $object)
    592       shift
    593       ;;
    594     *)
    595       set fnord "$@" "$arg"
    596       shift # fnord
    597       shift # $arg
    598       ;;
    599     esac
    600   done
    601 
    602   test -z "$dashmflag" && dashmflag=-M
    603   # Require at least two characters before searching for ':'
    604   # in the target name.  This is to cope with DOS-style filenames:
    605   # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
    606   "$@" $dashmflag |
    607     sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
    608   rm -f "$depfile"
    609   cat < "$tmpdepfile" > "$depfile"
    610   # Some versions of the HPUX 10.20 sed can't process this sed invocation
    611   # correctly.  Breaking it into two sed invocations is a workaround.
    612   tr ' ' "$nl" < "$tmpdepfile" \
    613     | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
    614     | sed -e 's/$/ :/' >> "$depfile"
    615   rm -f "$tmpdepfile"
    616   ;;
    617 
    618 dashXmstdout)
    619   # This case only exists to satisfy depend.m4.  It is never actually
    620   # run, as this mode is specially recognized in the preamble.
    621   exit 1
    622   ;;
    623 
    624 makedepend)
    625   "$@" || exit $?
    626   # Remove any Libtool call
    627   if test "$libtool" = yes; then
    628     while test "X$1" != 'X--mode=compile'; do
    629       shift
    630     done
    631     shift
    632   fi
    633   # X makedepend
    634   shift
    635   cleared=no eat=no
    636   for arg
    637   do
    638     case $cleared in
    639     no)
    640       set ""; shift
    641       cleared=yes ;;
    642     esac
    643     if test $eat = yes; then
    644       eat=no
    645       continue
    646     fi
    647     case "$arg" in
    648     -D*|-I*)
    649       set fnord "$@" "$arg"; shift ;;
    650     # Strip any option that makedepend may not understand.  Remove
    651     # the object too, otherwise makedepend will parse it as a source file.
    652     -arch)
    653       eat=yes ;;
    654     -*|$object)
    655       ;;
    656     *)
    657       set fnord "$@" "$arg"; shift ;;
    658     esac
    659   done
    660   obj_suffix=`echo "$object" | sed 's/^.*\././'`
    661   touch "$tmpdepfile"
    662   ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
    663   rm -f "$depfile"
    664   # makedepend may prepend the VPATH from the source file name to the object.
    665   # No need to regex-escape $object, excess matching of '.' is harmless.
    666   sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
    667   # Some versions of the HPUX 10.20 sed can't process the last invocation
    668   # correctly.  Breaking it into two sed invocations is a workaround.
    669   sed '1,2d' "$tmpdepfile" \
    670     | tr ' ' "$nl" \
    671     | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
    672     | sed -e 's/$/ :/' >> "$depfile"
    673   rm -f "$tmpdepfile" "$tmpdepfile".bak
    674   ;;
    675 
    676 cpp)
    677   # Important note: in order to support this mode, a compiler *must*
    678   # always write the preprocessed file to stdout.
    679   "$@" || exit $?
    680 
    681   # Remove the call to Libtool.
    682   if test "$libtool" = yes; then
    683     while test "X$1" != 'X--mode=compile'; do
    684       shift
    685     done
    686     shift
    687   fi
    688 
    689   # Remove '-o $object'.
    690   IFS=" "
    691   for arg
    692   do
    693     case $arg in
    694     -o)
    695       shift
    696       ;;
    697     $object)
    698       shift
    699       ;;
    700     *)
    701       set fnord "$@" "$arg"
    702       shift # fnord
    703       shift # $arg
    704       ;;
    705     esac
    706   done
    707 
    708   "$@" -E \
    709     | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
    710              -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
    711     | sed '$ s: \\$::' > "$tmpdepfile"
    712   rm -f "$depfile"
    713   echo "$object : \\" > "$depfile"
    714   cat < "$tmpdepfile" >> "$depfile"
    715   sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
    716   rm -f "$tmpdepfile"
    717   ;;
    718 
    719 msvisualcpp)
    720   # Important note: in order to support this mode, a compiler *must*
    721   # always write the preprocessed file to stdout.
    722   "$@" || exit $?
    723 
    724   # Remove the call to Libtool.
    725   if test "$libtool" = yes; then
    726     while test "X$1" != 'X--mode=compile'; do
    727       shift
    728     done
    729     shift
    730   fi
    731 
    732   IFS=" "
    733   for arg
    734   do
    735     case "$arg" in
    736     -o)
    737       shift
    738       ;;
    739     $object)
    740       shift
    741       ;;
    742     "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
    743         set fnord "$@"
    744         shift
    745         shift
    746         ;;
    747     *)
    748         set fnord "$@" "$arg"
    749         shift
    750         shift
    751         ;;
    752     esac
    753   done
    754   "$@" -E 2>/dev/null |
    755   sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
    756   rm -f "$depfile"
    757   echo "$object : \\" > "$depfile"
    758   sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
    759   echo "$tab" >> "$depfile"
    760   sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
    761   rm -f "$tmpdepfile"
    762   ;;
    763 
    764 msvcmsys)
    765   # This case exists only to let depend.m4 do its work.  It works by
    766   # looking at the text of this script.  This case will never be run,
    767   # since it is checked for above.
    768   exit 1
    769   ;;
    770 
    771 none)
    772   exec "$@"
    773   ;;
    774 
    775 *)
    776   echo "Unknown depmode $depmode" 1>&2
    777   exit 1
    778   ;;
    779 esac
    780 
    781 exit 0
    782 
    783 # Local Variables:
    784 # mode: shell-script
    785 # sh-indentation: 2
    786 # eval: (add-hook 'write-file-hooks 'time-stamp)
    787 # time-stamp-start: "scriptversion="
    788 # time-stamp-format: "%:y-%02m-%02d.%02H"
    789 # time-stamp-time-zone: "UTC"
    790 # time-stamp-end: "; # UTC"
    791 # End:
     1/usr/share/automake-1.15/depcomp
  • automake/install-sh

    • Property mode changed from 100755 to 120000
    r25a9b5a rc59712e  
    1 #!/bin/sh
    2 # install - install a program, script, or datafile
    3 
    4 scriptversion=2014-09-12.12; # UTC
    5 
    6 # This originates from X11R5 (mit/util/scripts/install.sh), which was
    7 # later released in X11R6 (xc/config/util/install.sh) with the
    8 # following copyright and license.
    9 #
    10 # Copyright (C) 1994 X Consortium
    11 #
    12 # Permission is hereby granted, free of charge, to any person obtaining a copy
    13 # of this software and associated documentation files (the "Software"), to
    14 # deal in the Software without restriction, including without limitation the
    15 # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
    16 # sell copies of the Software, and to permit persons to whom the Software is
    17 # furnished to do so, subject to the following conditions:
    18 #
    19 # The above copyright notice and this permission notice shall be included in
    20 # all copies or substantial portions of the Software.
    21 #
    22 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    23 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    24 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
    25 # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
    26 # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
    27 # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    28 #
    29 # Except as contained in this notice, the name of the X Consortium shall not
    30 # be used in advertising or otherwise to promote the sale, use or other deal-
    31 # ings in this Software without prior written authorization from the X Consor-
    32 # tium.
    33 #
    34 #
    35 # FSF changes to this file are in the public domain.
    36 #
    37 # Calling this script install-sh is preferred over install.sh, to prevent
    38 # 'make' implicit rules from creating a file called install from it
    39 # when there is no Makefile.
    40 #
    41 # This script is compatible with the BSD install script, but was written
    42 # from scratch.
    43 
    44 tab='   '
    45 nl='
    46 '
    47 IFS=" $tab$nl"
    48 
    49 # Set DOITPROG to "echo" to test this script.
    50 
    51 doit=${DOITPROG-}
    52 doit_exec=${doit:-exec}
    53 
    54 # Put in absolute file names if you don't have them in your path;
    55 # or use environment vars.
    56 
    57 chgrpprog=${CHGRPPROG-chgrp}
    58 chmodprog=${CHMODPROG-chmod}
    59 chownprog=${CHOWNPROG-chown}
    60 cmpprog=${CMPPROG-cmp}
    61 cpprog=${CPPROG-cp}
    62 mkdirprog=${MKDIRPROG-mkdir}
    63 mvprog=${MVPROG-mv}
    64 rmprog=${RMPROG-rm}
    65 stripprog=${STRIPPROG-strip}
    66 
    67 posix_mkdir=
    68 
    69 # Desired mode of installed file.
    70 mode=0755
    71 
    72 chgrpcmd=
    73 chmodcmd=$chmodprog
    74 chowncmd=
    75 mvcmd=$mvprog
    76 rmcmd="$rmprog -f"
    77 stripcmd=
    78 
    79 src=
    80 dst=
    81 dir_arg=
    82 dst_arg=
    83 
    84 copy_on_change=false
    85 is_target_a_directory=possibly
    86 
    87 usage="\
    88 Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
    89    or: $0 [OPTION]... SRCFILES... DIRECTORY
    90    or: $0 [OPTION]... -t DIRECTORY SRCFILES...
    91    or: $0 [OPTION]... -d DIRECTORIES...
    92 
    93 In the 1st form, copy SRCFILE to DSTFILE.
    94 In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
    95 In the 4th, create DIRECTORIES.
    96 
    97 Options:
    98      --help     display this help and exit.
    99      --version  display version info and exit.
    100 
    101   -c            (ignored)
    102   -C            install only if different (preserve the last data modification time)
    103   -d            create directories instead of installing files.
    104   -g GROUP      $chgrpprog installed files to GROUP.
    105   -m MODE       $chmodprog installed files to MODE.
    106   -o USER       $chownprog installed files to USER.
    107   -s            $stripprog installed files.
    108   -t DIRECTORY  install into DIRECTORY.
    109   -T            report an error if DSTFILE is a directory.
    110 
    111 Environment variables override the default commands:
    112   CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
    113   RMPROG STRIPPROG
    114 "
    115 
    116 while test $# -ne 0; do
    117   case $1 in
    118     -c) ;;
    119 
    120     -C) copy_on_change=true;;
    121 
    122     -d) dir_arg=true;;
    123 
    124     -g) chgrpcmd="$chgrpprog $2"
    125         shift;;
    126 
    127     --help) echo "$usage"; exit $?;;
    128 
    129     -m) mode=$2
    130         case $mode in
    131           *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
    132             echo "$0: invalid mode: $mode" >&2
    133             exit 1;;
    134         esac
    135         shift;;
    136 
    137     -o) chowncmd="$chownprog $2"
    138         shift;;
    139 
    140     -s) stripcmd=$stripprog;;
    141 
    142     -t)
    143         is_target_a_directory=always
    144         dst_arg=$2
    145         # Protect names problematic for 'test' and other utilities.
    146         case $dst_arg in
    147           -* | [=\(\)!]) dst_arg=./$dst_arg;;
    148         esac
    149         shift;;
    150 
    151     -T) is_target_a_directory=never;;
    152 
    153     --version) echo "$0 $scriptversion"; exit $?;;
    154 
    155     --) shift
    156         break;;
    157 
    158     -*) echo "$0: invalid option: $1" >&2
    159         exit 1;;
    160 
    161     *)  break;;
    162   esac
    163   shift
    164 done
    165 
    166 # We allow the use of options -d and -T together, by making -d
    167 # take the precedence; this is for compatibility with GNU install.
    168 
    169 if test -n "$dir_arg"; then
    170   if test -n "$dst_arg"; then
    171     echo "$0: target directory not allowed when installing a directory." >&2
    172     exit 1
    173   fi
    174 fi
    175 
    176 if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
    177   # When -d is used, all remaining arguments are directories to create.
    178   # When -t is used, the destination is already specified.
    179   # Otherwise, the last argument is the destination.  Remove it from $@.
    180   for arg
    181   do
    182     if test -n "$dst_arg"; then
    183       # $@ is not empty: it contains at least $arg.
    184       set fnord "$@" "$dst_arg"
    185       shift # fnord
    186     fi
    187     shift # arg
    188     dst_arg=$arg
    189     # Protect names problematic for 'test' and other utilities.
    190     case $dst_arg in
    191       -* | [=\(\)!]) dst_arg=./$dst_arg;;
    192     esac
    193   done
    194 fi
    195 
    196 if test $# -eq 0; then
    197   if test -z "$dir_arg"; then
    198     echo "$0: no input file specified." >&2
    199     exit 1
    200   fi
    201   # It's OK to call 'install-sh -d' without argument.
    202   # This can happen when creating conditional directories.
    203   exit 0
    204 fi
    205 
    206 if test -z "$dir_arg"; then
    207   if test $# -gt 1 || test "$is_target_a_directory" = always; then
    208     if test ! -d "$dst_arg"; then
    209       echo "$0: $dst_arg: Is not a directory." >&2
    210       exit 1
    211     fi
    212   fi
    213 fi
    214 
    215 if test -z "$dir_arg"; then
    216   do_exit='(exit $ret); exit $ret'
    217   trap "ret=129; $do_exit" 1
    218   trap "ret=130; $do_exit" 2
    219   trap "ret=141; $do_exit" 13
    220   trap "ret=143; $do_exit" 15
    221 
    222   # Set umask so as not to create temps with too-generous modes.
    223   # However, 'strip' requires both read and write access to temps.
    224   case $mode in
    225     # Optimize common cases.
    226     *644) cp_umask=133;;
    227     *755) cp_umask=22;;
    228 
    229     *[0-7])
    230       if test -z "$stripcmd"; then
    231         u_plus_rw=
    232       else
    233         u_plus_rw='% 200'
    234       fi
    235       cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
    236     *)
    237       if test -z "$stripcmd"; then
    238         u_plus_rw=
    239       else
    240         u_plus_rw=,u+rw
    241       fi
    242       cp_umask=$mode$u_plus_rw;;
    243   esac
    244 fi
    245 
    246 for src
    247 do
    248   # Protect names problematic for 'test' and other utilities.
    249   case $src in
    250     -* | [=\(\)!]) src=./$src;;
    251   esac
    252 
    253   if test -n "$dir_arg"; then
    254     dst=$src
    255     dstdir=$dst
    256     test -d "$dstdir"
    257     dstdir_status=$?
    258   else
    259 
    260     # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
    261     # might cause directories to be created, which would be especially bad
    262     # if $src (and thus $dsttmp) contains '*'.
    263     if test ! -f "$src" && test ! -d "$src"; then
    264       echo "$0: $src does not exist." >&2
    265       exit 1
    266     fi
    267 
    268     if test -z "$dst_arg"; then
    269       echo "$0: no destination specified." >&2
    270       exit 1
    271     fi
    272     dst=$dst_arg
    273 
    274     # If destination is a directory, append the input filename; won't work
    275     # if double slashes aren't ignored.
    276     if test -d "$dst"; then
    277       if test "$is_target_a_directory" = never; then
    278         echo "$0: $dst_arg: Is a directory" >&2
    279         exit 1
    280       fi
    281       dstdir=$dst
    282       dst=$dstdir/`basename "$src"`
    283       dstdir_status=0
    284     else
    285       dstdir=`dirname "$dst"`
    286       test -d "$dstdir"
    287       dstdir_status=$?
    288     fi
    289   fi
    290 
    291   obsolete_mkdir_used=false
    292 
    293   if test $dstdir_status != 0; then
    294     case $posix_mkdir in
    295       '')
    296         # Create intermediate dirs using mode 755 as modified by the umask.
    297         # This is like FreeBSD 'install' as of 1997-10-28.
    298         umask=`umask`
    299         case $stripcmd.$umask in
    300           # Optimize common cases.
    301           *[2367][2367]) mkdir_umask=$umask;;
    302           .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
    303 
    304           *[0-7])
    305             mkdir_umask=`expr $umask + 22 \
    306               - $umask % 100 % 40 + $umask % 20 \
    307               - $umask % 10 % 4 + $umask % 2
    308             `;;
    309           *) mkdir_umask=$umask,go-w;;
    310         esac
    311 
    312         # With -d, create the new directory with the user-specified mode.
    313         # Otherwise, rely on $mkdir_umask.
    314         if test -n "$dir_arg"; then
    315           mkdir_mode=-m$mode
    316         else
    317           mkdir_mode=
    318         fi
    319 
    320         posix_mkdir=false
    321         case $umask in
    322           *[123567][0-7][0-7])
    323             # POSIX mkdir -p sets u+wx bits regardless of umask, which
    324             # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
    325             ;;
    326           *)
    327             # $RANDOM is not portable (e.g. dash);  use it when possible to
    328             # lower collision chance
    329             tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
    330             trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
    331 
    332             # As "mkdir -p" follows symlinks and we work in /tmp possibly;  so
    333             # create the $tmpdir first (and fail if unsuccessful) to make sure
    334             # that nobody tries to guess the $tmpdir name.
    335             if (umask $mkdir_umask &&
    336                 $mkdirprog $mkdir_mode "$tmpdir" &&
    337                 exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
    338             then
    339               if test -z "$dir_arg" || {
    340                    # Check for POSIX incompatibilities with -m.
    341                    # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
    342                    # other-writable bit of parent directory when it shouldn't.
    343                    # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
    344                    test_tmpdir="$tmpdir/a"
    345                    ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
    346                    case $ls_ld_tmpdir in
    347                      d????-?r-*) different_mode=700;;
    348                      d????-?--*) different_mode=755;;
    349                      *) false;;
    350                    esac &&
    351                    $mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
    352                      ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
    353                      test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
    354                    }
    355                  }
    356               then posix_mkdir=:
    357               fi
    358               rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
    359             else
    360               # Remove any dirs left behind by ancient mkdir implementations.
    361               rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
    362             fi
    363             trap '' 0;;
    364         esac;;
    365     esac
    366 
    367     if
    368       $posix_mkdir && (
    369         umask $mkdir_umask &&
    370         $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
    371       )
    372     then :
    373     else
    374 
    375       # The umask is ridiculous, or mkdir does not conform to POSIX,
    376       # or it failed possibly due to a race condition.  Create the
    377       # directory the slow way, step by step, checking for races as we go.
    378 
    379       case $dstdir in
    380         /*) prefix='/';;
    381         [-=\(\)!]*) prefix='./';;
    382         *)  prefix='';;
    383       esac
    384 
    385       oIFS=$IFS
    386       IFS=/
    387       set -f
    388       set fnord $dstdir
    389       shift
    390       set +f
    391       IFS=$oIFS
    392 
    393       prefixes=
    394 
    395       for d
    396       do
    397         test X"$d" = X && continue
    398 
    399         prefix=$prefix$d
    400         if test -d "$prefix"; then
    401           prefixes=
    402         else
    403           if $posix_mkdir; then
    404             (umask=$mkdir_umask &&
    405              $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
    406             # Don't fail if two instances are running concurrently.
    407             test -d "$prefix" || exit 1
    408           else
    409             case $prefix in
    410               *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
    411               *) qprefix=$prefix;;
    412             esac
    413             prefixes="$prefixes '$qprefix'"
    414           fi
    415         fi
    416         prefix=$prefix/
    417       done
    418 
    419       if test -n "$prefixes"; then
    420         # Don't fail if two instances are running concurrently.
    421         (umask $mkdir_umask &&
    422          eval "\$doit_exec \$mkdirprog $prefixes") ||
    423           test -d "$dstdir" || exit 1
    424         obsolete_mkdir_used=true
    425       fi
    426     fi
    427   fi
    428 
    429   if test -n "$dir_arg"; then
    430     { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
    431     { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
    432     { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
    433       test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
    434   else
    435 
    436     # Make a couple of temp file names in the proper directory.
    437     dsttmp=$dstdir/_inst.$$_
    438     rmtmp=$dstdir/_rm.$$_
    439 
    440     # Trap to clean up those temp files at exit.
    441     trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
    442 
    443     # Copy the file name to the temp name.
    444     (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
    445 
    446     # and set any options; do chmod last to preserve setuid bits.
    447     #
    448     # If any of these fail, we abort the whole thing.  If we want to
    449     # ignore errors from any of these, just make sure not to ignore
    450     # errors from the above "$doit $cpprog $src $dsttmp" command.
    451     #
    452     { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
    453     { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
    454     { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
    455     { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
    456 
    457     # If -C, don't bother to copy if it wouldn't change the file.
    458     if $copy_on_change &&
    459        old=`LC_ALL=C ls -dlL "$dst"     2>/dev/null` &&
    460        new=`LC_ALL=C ls -dlL "$dsttmp"  2>/dev/null` &&
    461        set -f &&
    462        set X $old && old=:$2:$4:$5:$6 &&
    463        set X $new && new=:$2:$4:$5:$6 &&
    464        set +f &&
    465        test "$old" = "$new" &&
    466        $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
    467     then
    468       rm -f "$dsttmp"
    469     else
    470       # Rename the file to the real destination.
    471       $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
    472 
    473       # The rename failed, perhaps because mv can't rename something else
    474       # to itself, or perhaps because mv is so ancient that it does not
    475       # support -f.
    476       {
    477         # Now remove or move aside any old file at destination location.
    478         # We try this two ways since rm can't unlink itself on some
    479         # systems and the destination file might be busy for other
    480         # reasons.  In this case, the final cleanup might fail but the new
    481         # file should still install successfully.
    482         {
    483           test ! -f "$dst" ||
    484           $doit $rmcmd -f "$dst" 2>/dev/null ||
    485           { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
    486             { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
    487           } ||
    488           { echo "$0: cannot unlink or rename $dst" >&2
    489             (exit 1); exit 1
    490           }
    491         } &&
    492 
    493         # Now rename the file to the real destination.
    494         $doit $mvcmd "$dsttmp" "$dst"
    495       }
    496     fi || exit 1
    497 
    498     trap '' 0
    499   fi
    500 done
    501 
    502 # Local variables:
    503 # eval: (add-hook 'write-file-hooks 'time-stamp)
    504 # time-stamp-start: "scriptversion="
    505 # time-stamp-format: "%:y-%02m-%02d.%02H"
    506 # time-stamp-time-zone: "UTC"
    507 # time-stamp-end: "; # UTC"
    508 # End:
     1/usr/share/automake-1.15/install-sh
  • automake/missing

    • Property mode changed from 100755 to 120000
    r25a9b5a rc59712e  
    1 #! /bin/sh
    2 # Common wrapper for a few potentially missing GNU programs.
    3 
    4 scriptversion=2013-10-28.13; # UTC
    5 
    6 # Copyright (C) 1996-2014 Free Software Foundation, Inc.
    7 # Originally written 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 case $1 in
    33 
    34   --is-lightweight)
    35     # Used by our autoconf macros to check whether the available missing
    36     # script is modern enough.
    37     exit 0
    38     ;;
    39 
    40   --run)
    41     # Back-compat with the calling convention used by older automake.
    42     shift
    43     ;;
    44 
    45   -h|--h|--he|--hel|--help)
    46     echo "\
    47 $0 [OPTION]... PROGRAM [ARGUMENT]...
    48 
    49 Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
    50 to PROGRAM being missing or too old.
    51 
    52 Options:
    53   -h, --help      display this help and exit
    54   -v, --version   output version information and exit
    55 
    56 Supported PROGRAM values:
    57   aclocal   autoconf  autoheader   autom4te  automake  makeinfo
    58   bison     yacc      flex         lex       help2man
    59 
    60 Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
    61 'g' are ignored when checking the name.
    62 
    63 Send bug reports to <bug-automake@gnu.org>."
    64     exit $?
    65     ;;
    66 
    67   -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
    68     echo "missing $scriptversion (GNU Automake)"
    69     exit $?
    70     ;;
    71 
    72   -*)
    73     echo 1>&2 "$0: unknown '$1' option"
    74     echo 1>&2 "Try '$0 --help' for more information"
    75     exit 1
    76     ;;
    77 
    78 esac
    79 
    80 # Run the given program, remember its exit status.
    81 "$@"; st=$?
    82 
    83 # If it succeeded, we are done.
    84 test $st -eq 0 && exit 0
    85 
    86 # Also exit now if we it failed (or wasn't found), and '--version' was
    87 # passed; such an option is passed most likely to detect whether the
    88 # program is present and works.
    89 case $2 in --version|--help) exit $st;; esac
    90 
    91 # Exit code 63 means version mismatch.  This often happens when the user
    92 # tries to use an ancient version of a tool on a file that requires a
    93 # minimum version.
    94 if test $st -eq 63; then
    95   msg="probably too old"
    96 elif test $st -eq 127; then
    97   # Program was missing.
    98   msg="missing on your system"
    99 else
    100   # Program was found and executed, but failed.  Give up.
    101   exit $st
    102 fi
    103 
    104 perl_URL=http://www.perl.org/
    105 flex_URL=http://flex.sourceforge.net/
    106 gnu_software_URL=http://www.gnu.org/software
    107 
    108 program_details ()
    109 {
    110   case $1 in
    111     aclocal|automake)
    112       echo "The '$1' program is part of the GNU Automake package:"
    113       echo "<$gnu_software_URL/automake>"
    114       echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
    115       echo "<$gnu_software_URL/autoconf>"
    116       echo "<$gnu_software_URL/m4/>"
    117       echo "<$perl_URL>"
    118       ;;
    119     autoconf|autom4te|autoheader)
    120       echo "The '$1' program is part of the GNU Autoconf package:"
    121       echo "<$gnu_software_URL/autoconf/>"
    122       echo "It also requires GNU m4 and Perl in order to run:"
    123       echo "<$gnu_software_URL/m4/>"
    124       echo "<$perl_URL>"
    125       ;;
    126   esac
    127 }
    128 
    129 give_advice ()
    130 {
    131   # Normalize program name to check for.
    132   normalized_program=`echo "$1" | sed '
    133     s/^gnu-//; t
    134     s/^gnu//; t
    135     s/^g//; t'`
    136 
    137   printf '%s\n' "'$1' is $msg."
    138 
    139   configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
    140   case $normalized_program in
    141     autoconf*)
    142       echo "You should only need it if you modified 'configure.ac',"
    143       echo "or m4 files included by it."
    144       program_details 'autoconf'
    145       ;;
    146     autoheader*)
    147       echo "You should only need it if you modified 'acconfig.h' or"
    148       echo "$configure_deps."
    149       program_details 'autoheader'
    150       ;;
    151     automake*)
    152       echo "You should only need it if you modified 'Makefile.am' or"
    153       echo "$configure_deps."
    154       program_details 'automake'
    155       ;;
    156     aclocal*)
    157       echo "You should only need it if you modified 'acinclude.m4' or"
    158       echo "$configure_deps."
    159       program_details 'aclocal'
    160       ;;
    161    autom4te*)
    162       echo "You might have modified some maintainer files that require"
    163       echo "the 'autom4te' program to be rebuilt."
    164       program_details 'autom4te'
    165       ;;
    166     bison*|yacc*)
    167       echo "You should only need it if you modified a '.y' file."
    168       echo "You may want to install the GNU Bison package:"
    169       echo "<$gnu_software_URL/bison/>"
    170       ;;
    171     lex*|flex*)
    172       echo "You should only need it if you modified a '.l' file."
    173       echo "You may want to install the Fast Lexical Analyzer package:"
    174       echo "<$flex_URL>"
    175       ;;
    176     help2man*)
    177       echo "You should only need it if you modified a dependency" \
    178            "of a man page."
    179       echo "You may want to install the GNU Help2man package:"
    180       echo "<$gnu_software_URL/help2man/>"
    181     ;;
    182     makeinfo*)
    183       echo "You should only need it if you modified a '.texi' file, or"
    184       echo "any other file indirectly affecting the aspect of the manual."
    185       echo "You might want to install the Texinfo package:"
    186       echo "<$gnu_software_URL/texinfo/>"
    187       echo "The spurious makeinfo call might also be the consequence of"
    188       echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
    189       echo "want to install GNU make:"
    190       echo "<$gnu_software_URL/make/>"
    191       ;;
    192     *)
    193       echo "You might have modified some files without having the proper"
    194       echo "tools for further handling them.  Check the 'README' file, it"
    195       echo "often tells you about the needed prerequisites for installing"
    196       echo "this package.  You may also peek at any GNU archive site, in"
    197       echo "case some other package contains this missing '$1' program."
    198       ;;
    199   esac
    200 }
    201 
    202 give_advice "$1" | sed -e '1s/^/WARNING: /' \
    203                        -e '2,$s/^/         /' >&2
    204 
    205 # Propagate the correct exit status (expected to be 127 for a program
    206 # not found, 63 for a program that failed due to version mismatch).
    207 exit $st
    208 
    209 # Local variables:
    210 # eval: (add-hook 'write-file-hooks 'time-stamp)
    211 # time-stamp-start: "scriptversion="
    212 # time-stamp-format: "%:y-%02m-%02d.%02H"
    213 # time-stamp-time-zone: "UTC"
    214 # time-stamp-end: "; # UTC"
    215 # End:
     1/usr/share/automake-1.15/missing
  • automake/test-driver

    • Property mode changed from 100755 to 120000
    r25a9b5a rc59712e  
    1 #! /bin/sh
    2 # test-driver - basic testsuite driver script.
    3 
    4 scriptversion=2013-07-13.22; # UTC
    5 
    6 # Copyright (C) 2011-2014 Free 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 # This file is maintained in Automake, please report
    27 # bugs to <bug-automake@gnu.org> or send patches to
    28 # <automake-patches@gnu.org>.
    29 
    30 # Make unconditional expansion of undefined variables an error.  This
    31 # helps a lot in preventing typo-related bugs.
    32 set -u
    33 
    34 usage_error ()
    35 {
    36   echo "$0: $*" >&2
    37   print_usage >&2
    38   exit 2
    39 }
    40 
    41 print_usage ()
    42 {
    43   cat <<END
    44 Usage:
    45   test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
    46               [--expect-failure={yes|no}] [--color-tests={yes|no}]
    47               [--enable-hard-errors={yes|no}] [--]
    48               TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
    49 The '--test-name', '--log-file' and '--trs-file' options are mandatory.
    50 END
    51 }
    52 
    53 test_name= # Used for reporting.
    54 log_file=  # Where to save the output of the test script.
    55 trs_file=  # Where to save the metadata of the test run.
    56 expect_failure=no
    57 color_tests=no
    58 enable_hard_errors=yes
    59 while test $# -gt 0; do
    60   case $1 in
    61   --help) print_usage; exit $?;;
    62   --version) echo "test-driver $scriptversion"; exit $?;;
    63   --test-name) test_name=$2; shift;;
    64   --log-file) log_file=$2; shift;;
    65   --trs-file) trs_file=$2; shift;;
    66   --color-tests) color_tests=$2; shift;;
    67   --expect-failure) expect_failure=$2; shift;;
    68   --enable-hard-errors) enable_hard_errors=$2; shift;;
    69   --) shift; break;;
    70   -*) usage_error "invalid option: '$1'";;
    71    *) break;;
    72   esac
    73   shift
    74 done
    75 
    76 missing_opts=
    77 test x"$test_name" = x && missing_opts="$missing_opts --test-name"
    78 test x"$log_file"  = x && missing_opts="$missing_opts --log-file"
    79 test x"$trs_file"  = x && missing_opts="$missing_opts --trs-file"
    80 if test x"$missing_opts" != x; then
    81   usage_error "the following mandatory options are missing:$missing_opts"
    82 fi
    83 
    84 if test $# -eq 0; then
    85   usage_error "missing argument"
    86 fi
    87 
    88 if test $color_tests = yes; then
    89   # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
    90   red='[0;31m' # Red.
    91   grn='[0;32m' # Green.
    92   lgn='[1;32m' # Light green.
    93   blu='[1;34m' # Blue.
    94   mgn='[0;35m' # Magenta.
    95   std='[m'     # No color.
    96 else
    97   red= grn= lgn= blu= mgn= std=
    98 fi
    99 
    100 do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
    101 trap "st=129; $do_exit" 1
    102 trap "st=130; $do_exit" 2
    103 trap "st=141; $do_exit" 13
    104 trap "st=143; $do_exit" 15
    105 
    106 # Test script is run here.
    107 "$@" >$log_file 2>&1
    108 estatus=$?
    109 
    110 if test $enable_hard_errors = no && test $estatus -eq 99; then
    111   tweaked_estatus=1
    112 else
    113   tweaked_estatus=$estatus
    114 fi
    115 
    116 case $tweaked_estatus:$expect_failure in
    117   0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
    118   0:*)   col=$grn res=PASS  recheck=no  gcopy=no;;
    119   77:*)  col=$blu res=SKIP  recheck=no  gcopy=yes;;
    120   99:*)  col=$mgn res=ERROR recheck=yes gcopy=yes;;
    121   *:yes) col=$lgn res=XFAIL recheck=no  gcopy=yes;;
    122   *:*)   col=$red res=FAIL  recheck=yes gcopy=yes;;
    123 esac
    124 
    125 # Report the test outcome and exit status in the logs, so that one can
    126 # know whether the test passed or failed simply by looking at the '.log'
    127 # file, without the need of also peaking into the corresponding '.trs'
    128 # file (automake bug#11814).
    129 echo "$res $test_name (exit status: $estatus)" >>$log_file
    130 
    131 # Report outcome to console.
    132 echo "${col}${res}${std}: $test_name"
    133 
    134 # Register the test result, and other relevant metadata.
    135 echo ":test-result: $res" > $trs_file
    136 echo ":global-test-result: $res" >> $trs_file
    137 echo ":recheck: $recheck" >> $trs_file
    138 echo ":copy-in-global-log: $gcopy" >> $trs_file
    139 
    140 # Local Variables:
    141 # mode: shell-script
    142 # sh-indentation: 2
    143 # eval: (add-hook 'write-file-hooks 'time-stamp)
    144 # time-stamp-start: "scriptversion="
    145 # time-stamp-format: "%:y-%02m-%02d.%02H"
    146 # time-stamp-time-zone: "UTC"
    147 # time-stamp-end: "; # UTC"
    148 # End:
     1/usr/share/automake-1.15/test-driver
  • automake/ylwrap

    • Property mode changed from 100755 to 120000
    r25a9b5a rc59712e  
    1 #! /bin/sh
    2 # ylwrap - wrapper for lex/yacc invocations.
    3 
    4 scriptversion=2013-01-12.17; # UTC
    5 
    6 # Copyright (C) 1996-2014 Free Software Foundation, Inc.
    7 #
    8 # Written by Tom Tromey <tromey@cygnus.com>.
    9 #
    10 # This program is free software; you can redistribute it and/or modify
    11 # it under the terms of the GNU General Public License as published by
    12 # the Free Software Foundation; either version 2, or (at your option)
    13 # any later version.
    14 #
    15 # This program is distributed in the hope that it will be useful,
    16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
    17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    18 # GNU General Public License for more details.
    19 #
    20 # You should have received a copy of the GNU General Public License
    21 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
    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 # This file is maintained in Automake, please report
    29 # bugs to <bug-automake@gnu.org> or send patches to
    30 # <automake-patches@gnu.org>.
    31 
    32 get_dirname ()
    33 {
    34   case $1 in
    35     */*|*\\*) printf '%s\n' "$1" | sed -e 's|\([\\/]\)[^\\/]*$|\1|';;
    36     # Otherwise,  we want the empty string (not ".").
    37   esac
    38 }
    39 
    40 # guard FILE
    41 # ----------
    42 # The CPP macro used to guard inclusion of FILE.
    43 guard ()
    44 {
    45   printf '%s\n' "$1"                                                    \
    46     | sed                                                               \
    47         -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'   \
    48         -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'                        \
    49         -e 's/__*/_/g'
    50 }
    51 
    52 # quote_for_sed [STRING]
    53 # ----------------------
    54 # Return STRING (or stdin) quoted to be used as a sed pattern.
    55 quote_for_sed ()
    56 {
    57   case $# in
    58     0) cat;;
    59     1) printf '%s\n' "$1";;
    60   esac \
    61     | sed -e 's|[][\\.*]|\\&|g'
    62 }
    63 
    64 case "$1" in
    65   '')
    66     echo "$0: No files given.  Try '$0 --help' for more information." 1>&2
    67     exit 1
    68     ;;
    69   --basedir)
    70     basedir=$2
    71     shift 2
    72     ;;
    73   -h|--h*)
    74     cat <<\EOF
    75 Usage: ylwrap [--help|--version] INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]...
    76 
    77 Wrapper for lex/yacc invocations, renaming files as desired.
    78 
    79   INPUT is the input file
    80   OUTPUT is one file PROG generates
    81   DESIRED is the file we actually want instead of OUTPUT
    82   PROGRAM is program to run
    83   ARGS are passed to PROG
    84 
    85 Any number of OUTPUT,DESIRED pairs may be used.
    86 
    87 Report bugs to <bug-automake@gnu.org>.
    88 EOF
    89     exit $?
    90     ;;
    91   -v|--v*)
    92     echo "ylwrap $scriptversion"
    93     exit $?
    94     ;;
    95 esac
    96 
    97 
    98 # The input.
    99 input=$1
    100 shift
    101 # We'll later need for a correct munging of "#line" directives.
    102 input_sub_rx=`get_dirname "$input" | quote_for_sed`
    103 case $input in
    104   [\\/]* | ?:[\\/]*)
    105     # Absolute path; do nothing.
    106     ;;
    107   *)
    108     # Relative path.  Make it absolute.
    109     input=`pwd`/$input
    110     ;;
    111 esac
    112 input_rx=`get_dirname "$input" | quote_for_sed`
    113 
    114 # Since DOS filename conventions don't allow two dots,
    115 # the DOS version of Bison writes out y_tab.c instead of y.tab.c
    116 # and y_tab.h instead of y.tab.h. Test to see if this is the case.
    117 y_tab_nodot=false
    118 if test -f y_tab.c || test -f y_tab.h; then
    119   y_tab_nodot=true
    120 fi
    121 
    122 # The parser itself, the first file, is the destination of the .y.c
    123 # rule in the Makefile.
    124 parser=$1
    125 
    126 # A sed program to s/FROM/TO/g for all the FROM/TO so that, for
    127 # instance, we rename #include "y.tab.h" into #include "parse.h"
    128 # during the conversion from y.tab.c to parse.c.
    129 sed_fix_filenames=
    130 
    131 # Also rename header guards, as Bison 2.7 for instance uses its header
    132 # guard in its implementation file.
    133 sed_fix_header_guards=
    134 
    135 while test $# -ne 0; do
    136   if test x"$1" = x"--"; then
    137     shift
    138     break
    139   fi
    140   from=$1
    141   # Handle y_tab.c and y_tab.h output by DOS
    142   if $y_tab_nodot; then
    143     case $from in
    144       "y.tab.c") from=y_tab.c;;
    145       "y.tab.h") from=y_tab.h;;
    146     esac
    147   fi
    148   shift
    149   to=$1
    150   shift
    151   sed_fix_filenames="${sed_fix_filenames}s|"`quote_for_sed "$from"`"|$to|g;"
    152   sed_fix_header_guards="${sed_fix_header_guards}s|"`guard "$from"`"|"`guard "$to"`"|g;"
    153 done
    154 
    155 # The program to run.
    156 prog=$1
    157 shift
    158 # Make any relative path in $prog absolute.
    159 case $prog in
    160   [\\/]* | ?:[\\/]*) ;;
    161   *[\\/]*) prog=`pwd`/$prog ;;
    162 esac
    163 
    164 dirname=ylwrap$$
    165 do_exit="cd '`pwd`' && rm -rf $dirname > /dev/null 2>&1;"' (exit $ret); exit $ret'
    166 trap "ret=129; $do_exit" 1
    167 trap "ret=130; $do_exit" 2
    168 trap "ret=141; $do_exit" 13
    169 trap "ret=143; $do_exit" 15
    170 mkdir $dirname || exit 1
    171 
    172 cd $dirname
    173 
    174 case $# in
    175   0) "$prog" "$input" ;;
    176   *) "$prog" "$@" "$input" ;;
    177 esac
    178 ret=$?
    179 
    180 if test $ret -eq 0; then
    181   for from in *
    182   do
    183     to=`printf '%s\n' "$from" | sed "$sed_fix_filenames"`
    184     if test -f "$from"; then
    185       # If $2 is an absolute path name, then just use that,
    186       # otherwise prepend '../'.
    187       case $to in
    188         [\\/]* | ?:[\\/]*) target=$to;;
    189         *) target=../$to;;
    190       esac
    191 
    192       # Do not overwrite unchanged header files to avoid useless
    193       # recompilations.  Always update the parser itself: it is the
    194       # destination of the .y.c rule in the Makefile.  Divert the
    195       # output of all other files to a temporary file so we can
    196       # compare them to existing versions.
    197       if test $from != $parser; then
    198         realtarget=$target
    199         target=tmp-`printf '%s\n' "$target" | sed 's|.*[\\/]||g'`
    200       fi
    201 
    202       # Munge "#line" or "#" directives.  Don't let the resulting
    203       # debug information point at an absolute srcdir.  Use the real
    204       # output file name, not yy.lex.c for instance.  Adjust the
    205       # include guards too.
    206       sed -e "/^#/!b"                           \
    207           -e "s|$input_rx|$input_sub_rx|"       \
    208           -e "$sed_fix_filenames"               \
    209           -e "$sed_fix_header_guards"           \
    210         "$from" >"$target" || ret=$?
    211 
    212       # Check whether files must be updated.
    213       if test "$from" != "$parser"; then
    214         if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then
    215           echo "$to is unchanged"
    216           rm -f "$target"
    217         else
    218           echo "updating $to"
    219           mv -f "$target" "$realtarget"
    220         fi
    221       fi
    222     else
    223       # A missing file is only an error for the parser.  This is a
    224       # blatant hack to let us support using "yacc -d".  If -d is not
    225       # specified, don't fail when the header file is "missing".
    226       if test "$from" = "$parser"; then
    227         ret=1
    228       fi
    229     fi
    230   done
    231 fi
    232 
    233 # Remove the directory.
    234 cd ..
    235 rm -rf $dirname
    236 
    237 exit $ret
    238 
    239 # Local Variables:
    240 # mode: shell-script
    241 # sh-indentation: 2
    242 # eval: (add-hook 'write-file-hooks 'time-stamp)
    243 # time-stamp-start: "scriptversion="
    244 # time-stamp-format: "%:y-%02m-%02d.%02H"
    245 # time-stamp-time-zone: "UTC"
    246 # time-stamp-end: "; # UTC"
    247 # End:
     1/usr/share/automake-1.15/ylwrap
  • benchmark/Makefile.in

    r25a9b5a rc59712e  
    178178LEXLIB = @LEXLIB@
    179179LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
     180LIBCFA_TARGET_DIRS = @LIBCFA_TARGET_DIRS@
     181LIBCFA_TARGET_MAKEFILES = @LIBCFA_TARGET_MAKEFILES@
    180182LIBOBJS = @LIBOBJS@
    181183LIBS = @LIBS@
    182184LTLIBOBJS = @LTLIBOBJS@
    183 MACHINE_TYPE = @MACHINE_TYPE@
    184185MAKEINFO = @MAKEINFO@
    185186MKDIR_P = @MKDIR_P@
     
    197198SHELL = @SHELL@
    198199STRIP = @STRIP@
     200TARGET_HOSTS = @TARGET_HOSTS@
    199201VERSION = @VERSION@
    200202YACC = @YACC@
  • configure

    </
    r25a9b5a rc59712e  
    665665CXX
    666666CFA_FLAGS
    667 MACHINE_TYPE
    668 host_os
    669 host_vendor
    670 host_cpu
    671 host
    672 build_os
    673 build_vendor
    674 build_cpu
    675 build
    676667BUILD_IN_TREE_FLAGS
    677668BUILD_IN_TREE_FLAGS_NOLIB
     
    683674CFA_INCDIR
    684675CFA_PREFIX
     676CFA_BACKEND_CC
     677BACKEND_CC
    685678DOendif
    686679DOifskipcompile
    687 BUILD_CONCURRENCY_FALSE
    688 BUILD_CONCURRENCY_TRUE
    689 BUILD_NO_LIB_FALSE
    690 BUILD_NO_LIB_TRUE
    691 BUILD_DEBUG_FALSE
    692 BUILD_DEBUG_TRUE
    693 BUILD_RELEASE_FALSE
    694 BUILD_RELEASE_TRUE
    695 CFA_BACKEND_CC
    696 BACKEND_CC
     680LIBCFA_TARGET_MAKEFILES
     681LIBCFA_TARGET_DIRS
     682TARGET_HOSTS
     683host_os
     684host_vendor
     685host_cpu
     686host
     687build_os
     688build_vendor
     689build_cpu
     690build
    697691CFA_NAME
    698692am__untar
     
    767761enable_silent_rules
    768762with_cfa_name
     763with_target_hosts
    769764with_backend_compiler
    770 enable_target_release
    771 enable_target_debug
    772 enable_threading
    773765enable_dependency_tracking
    774766'
     
    14201412  --enable-silent-rules   less verbose build output (undo: "make V=1")
    14211413  --disable-silent-rules  verbose build output (undo: "make V=0")
    1422   --enable-target-release Build and install the release target
    1423   --enable-target-debug   Build and install the debug target
    1424   --enable-threading      Build and install libcfa with threading support
    1425                           (Enabled by default)
    14261414  --enable-dependency-tracking
    14271415                          do not reject slow dependency extractors
     
    14331421  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
    14341422  --with-cfa-name=NAME     NAME too which cfa will be installed
     1423  --with-target-hosts=HOSTS     HOSTS comma seperated list of hosts to build for, format ARCH:debug|nodebug|nolib
    14351424  --with-backend-compiler=PROGRAM     PROGRAM that performs the final code compilation (must be gcc-compatible)
    14361425
     
    30773066
    30783067
     3068#==============================================================================
    30793069#Trasforming cc1 will break compilation
    30803070if test "${program_transform_name}" = ""; then
     
    30833073fi
    30843074
     3075#Define the new name of the installed command
    30853076
    30863077# Check whether --with-cfa-name was given.
     
    30923083
    30933084
    3094 #Define the new name of the installed command
    30953085CFA_NAME=${cfa_name}
    30963086
     3087
     3088#==============================================================================
     3089# handle the list of hosts to build for
     3090for var in $ac_configure_args
     3091do
     3092        #strip quotes surrouding values
     3093        var=$(echo $var | sed s/\'//g)
     3094        case $var in
     3095                # skip cross compilation related arguments
     3096                --host=*) ;; host_alias=*) ;; --build=*) ;; build_alias=*) ;; --target=*) ;; target_alias=*) ;;
     3097
     3098                # append all other arguments to the sub configure arguments
     3099                *) LIBCFA_GENERAL_ARGS="${LIBCFA_GENERAL_ARGS} $var";;
     3100        esac
     3101done
     3102
     3103echo $LIBCFA_GENERAL_ARGS
     3104
     3105#==============================================================================
     3106# handle the list of hosts to build for
     3107# Make sure we can run config.sub.
     3108$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
     3109  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
     3110
     3111{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
     3112$as_echo_n "checking build system type... " >&6; }
     3113if ${ac_cv_build+:} false; then :
     3114  $as_echo_n "(cached) " >&6
     3115else
     3116  ac_build_alias=$build_alias
     3117test "x$ac_build_alias" = x &&
     3118  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
     3119test "x$ac_build_alias" = x &&
     3120  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
     3121ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
     3122  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
     3123
     3124fi
     3125{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
     3126$as_echo "$ac_cv_build" >&6; }
     3127case $ac_cv_build in
     3128*-*-*) ;;
     3129*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
     3130esac
     3131build=$ac_cv_build
     3132ac_save_IFS=$IFS; IFS='-'
     3133set x $ac_cv_build
     3134shift
     3135build_cpu=$1
     3136build_vendor=$2
     3137shift; shift
     3138# Remember, the first character of IFS is used to create $*,
     3139# except with old shells:
     3140build_os=$*
     3141IFS=$ac_save_IFS
     3142case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
     3143
     3144
     3145{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
     3146$as_echo_n "checking host system type... " >&6; }
     3147if ${ac_cv_host+:} false; then :
     3148  $as_echo_n "(cached) " >&6
     3149else
     3150  if test "x$host_alias" = x; then
     3151  ac_cv_host=$ac_cv_build
     3152else
     3153  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
     3154    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
     3155fi
     3156
     3157fi
     3158{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
     3159$as_echo "$ac_cv_host" >&6; }
     3160case $ac_cv_host in
     3161*-*-*) ;;
     3162*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
     3163esac
     3164host=$ac_cv_host
     3165ac_save_IFS=$IFS; IFS='-'
     3166set x $ac_cv_host
     3167shift
     3168host_cpu=$1
     3169host_vendor=$2
     3170shift; shift
     3171# Remember, the first character of IFS is used to create $*,
     3172# except with old shells:
     3173host_os=$*
     3174IFS=$ac_save_IFS
     3175case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
     3176
     3177
     3178
     3179default_target="${host_cpu}:debug, ${host_cpu}:nodebug"
     3180
     3181# Check whether --with-target-hosts was given.
     3182if test "${with_target_hosts+set}" = set; then :
     3183  withval=$with_target_hosts; target_hosts=$withval
     3184else
     3185  target_hosts=${default_target}
     3186fi
     3187
     3188
     3189TARGET_HOSTS=${target_hosts}
     3190
     3191
     3192for i in $(echo $target_hosts | sed "s/,/ /g")
     3193do
     3194        # call your procedure/other scripts here below
     3195        lib_arch=$(echo $i | sed -r "s/:(.*)//g")
     3196        lib_config=$(echo $i | sed -r "s/(.*)://g")
     3197        lib_dir="libcfa-${lib_arch}-${lib_config}"
     3198
     3199        LIBCFA_TARGET_DIRS="${LIBCFA_TARGET_DIRS} ${lib_dir}"
     3200        LIBCFA_TARGET_MAKEFILES="${LIBCFA_TARGET_MAKEFILES} ${lib_dir}/Makefile"
     3201
     3202        mkdir -p libcfa-${lib_arch}-${lib_config}
     3203        echo -n "${LIBCFA_GENERAL_ARGS} " > libcfa-${lib_arch}-${lib_config}/config.data
     3204        echo -n "--host=${lib_arch} " >> libcfa-${lib_arch}-${lib_config}/config.data
     3205        echo -n "CONFIGURATION=${lib_config}" >> libcfa-${lib_arch}-${lib_config}/config.data
     3206done
     3207
     3208
     3209
     3210
     3211
     3212#==============================================================================
     3213# version information
    30973214
    30983215rm -f version
     
    31463263
    31473264
    3148 # Installation paths
    3149 
     3265#==============================================================================
     3266# HACK to be able to use conditionnals inside makefiles
     3267DOifskipcompile='ifeq ($(skipcompile),yes)
     3268else'
     3269
     3270
     3271
     3272DOendif='endif'
     3273
     3274
     3275
     3276#==============================================================================
     3277# backend compiler implementation
    31503278
    31513279# Check whether --with-backend-compiler was given.
     
    31573285
    31583286if test "x$backendcompiler" != "x"; then
    3159         BACKEND_CC=${backendcompiler}
    3160 else
    3161         # Extract the first word of "gcc", so it can be a program name with args.
     3287       BACKEND_CC=${backendcompiler}
     3288else
     3289       # Extract the first word of "gcc", so it can be a program name with args.
    31623290set dummy gcc; ac_word=$2
    31633291{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
     
    31983326fi
    31993327
    3200         # check gcc installed
    3201         if test "x$BACKEND_CC" = "x"; then
    3202                 as_fn_error $? "some version of gcc is needed. Get it at ftp://ftp.gnu.org" "$LINENO" 5
    3203                 exit 1
    3204         fi
     3328       # check gcc installed
     3329       if test "x$BACKEND_CC" = "x"; then
     3330               as_fn_error $? "some version of gcc is needed. Get it at ftp://ftp.gnu.org" "$LINENO" 5
     3331               exit 1
     3332       fi
    32053333fi
    32063334
     
    32113339
    32123340
    3213 
    3214 
    3215 # Check whether --enable-target-release was given.
    3216 if test "${enable_target_release+set}" = set; then :
    3217   enableval=$enable_target_release;
    3218 fi
    3219 
    3220 # Check whether --enable-target-debug was given.
    3221 if test "${enable_target_debug+set}" = set; then :
    3222   enableval=$enable_target_debug;
    3223 fi
    3224 
    3225 # Check whether --enable-threading was given.
    3226 if test "${enable_threading+set}" = set; then :
    3227   enableval=$enable_threading; case "${enableval}" in
    3228   yes) build_threading="yes" ;;
    3229   no)  build_threading="no" ;;
    3230   *) as_fn_error $? "bad value ${enableval} for --enable-debug" "$LINENO" 5 ;;
    3231 esac
    3232 else
    3233   build_threading="yes"
    3234 fi
    3235 
    3236 
    3237 case "$enable_target_release" in
    3238         yes)
    3239                 case "$enable_target_debug" in
    3240                         yes)
    3241                                 build_release="yes"
    3242                                 build_debug="yes"
    3243                                 ;;
    3244                         no)
    3245                                 build_release="yes"
    3246                                 build_debug="no"
    3247                                 ;;
    3248                         *)
    3249                                 build_release="yes"
    3250                                 build_debug="no"
    3251                                 ;;
    3252                 esac
    3253                 ;;
    3254         no)
    3255                 case "$enable_target_debug" in
    3256                         yes)
    3257                                 build_release="no"
    3258                                 build_debug="yes"
    3259                                 ;;
    3260                         no)
    3261                                 build_release="no"
    3262                                 build_debug="no"
    3263                                 ;;
    3264                         *)
    3265                                 build_release="no"
    3266                                 build_debug="yes"
    3267                                 ;;
    3268                 esac
    3269                 ;;
    3270         *)
    3271                 case "$enable_target_debug" in
    3272                         yes)
    3273                                 build_release="no"
    3274                                 build_debug="yes"
    3275                                 ;;
    3276                         no)
    3277                                 build_release="yes"
    3278                                 build_debug="no"
    3279                                 ;;
    3280                         *)
    3281                                 build_release="yes"
    3282                                 build_debug="yes"
    3283                                 ;;
    3284                 esac
    3285                 ;;
    3286 esac
    3287 
    3288  if test "x$build_release" = "xyes"; then
    3289   BUILD_RELEASE_TRUE=
    3290   BUILD_RELEASE_FALSE='#'
    3291 else
    3292   BUILD_RELEASE_TRUE='#'
    3293   BUILD_RELEASE_FALSE=
    3294 fi
    3295 
    3296  if test "x$build_debug" = "xyes"; then
    3297   BUILD_DEBUG_TRUE=
    3298   BUILD_DEBUG_FALSE='#'
    3299 else
    3300   BUILD_DEBUG_TRUE='#'
    3301   BUILD_DEBUG_FALSE=
    3302 fi
    3303 
    3304  if test "x$build_release$build_debug" = "xnono"; then
    3305   BUILD_NO_LIB_TRUE=
    3306   BUILD_NO_LIB_FALSE='#'
    3307 else
    3308   BUILD_NO_LIB_TRUE='#'
    3309   BUILD_NO_LIB_FALSE=
    3310 fi
    3311 
    3312  if test "x$build_threading" = "xyes"; then
    3313   BUILD_CONCURRENCY_TRUE=
    3314   BUILD_CONCURRENCY_FALSE='#'
    3315 else
    3316   BUILD_CONCURRENCY_TRUE='#'
    3317   BUILD_CONCURRENCY_FALSE=
    3318 fi
    3319 
    3320 
    3321 DOifskipcompile='ifeq ($(skipcompile),yes)
    3322 else'
    3323 
    3324 
    3325 
    3326 DOendif='endif'
    3327 
    3328 
    3329 
     3341#==============================================================================
     3342# Installation paths
    33303343if test "x$prefix" = "xNONE"; then
    33313344        cfa_prefix=${ac_default_prefix}
     
    33803393
    33813394
     3395#==============================================================================
    33823396# Create variables for commonly used targets
    33833397DRIVER_DIR='$(top_builddir)/driver'
     
    34033417
    34043418
     3419#==============================================================================
    34053420# Flag variables needed to build in tree
    34063421LIBCFA_SRC='$(top_srcdir)/libcfa/src'
     
    34113426
    34123427
    3413 # Make sure we can run config.sub.
    3414 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
    3415   as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
    3416 
    3417 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
    3418 $as_echo_n "checking build system type... " >&6; }
    3419 if ${ac_cv_build+:} false; then :
    3420   $as_echo_n "(cached) " >&6
    3421 else
    3422   ac_build_alias=$build_alias
    3423 test "x$ac_build_alias" = x &&
    3424   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
    3425 test "x$ac_build_alias" = x &&
    3426   as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
    3427 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
    3428   as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
    3429 
    3430 fi
    3431 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
    3432 $as_echo "$ac_cv_build" >&6; }
    3433 case $ac_cv_build in
    3434 *-*-*) ;;
    3435 *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
    3436 esac
    3437 build=$ac_cv_build
    3438 ac_save_IFS=$IFS; IFS='-'
    3439 set x $ac_cv_build
    3440 shift
    3441 build_cpu=$1
    3442 build_vendor=$2
    3443 shift; shift
    3444 # Remember, the first character of IFS is used to create $*,
    3445 # except with old shells:
    3446 build_os=$*
    3447 IFS=$ac_save_IFS
    3448 case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
    3449 
    3450 
    3451 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
    3452 $as_echo_n "checking host system type... " >&6; }
    3453 if ${ac_cv_host+:} false; then :
    3454   $as_echo_n "(cached) " >&6
    3455 else
    3456   if test "x$host_alias" = x; then
    3457   ac_cv_host=$ac_cv_build
    3458 else
    3459   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
    3460     as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
    3461 fi
    3462 
    3463 fi
    3464 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
    3465 $as_echo "$ac_cv_host" >&6; }
    3466 case $ac_cv_host in
    3467 *-*-*) ;;
    3468 *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
    3469 esac
    3470 host=$ac_cv_host
    3471 ac_save_IFS=$IFS; IFS='-'
    3472 set x $ac_cv_host
    3473 shift
    3474 host_cpu=$1
    3475 host_vendor=$2
    3476 shift; shift
    3477 # Remember, the first character of IFS is used to create $*,
    3478 # except with old shells:
    3479 host_os=$*
    3480 IFS=$ac_save_IFS
    3481 case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
    3482 
    3483 
    3484 MACHINE_TYPE=$host_cpu
    3485 
    3486 
    3487 if ! test "$host_cpu" = "$build_cpu"; then
    3488         case $host_cpu in
    3489                 i386)
    3490                         CFLAGS+=" -m32 "
    3491                         CXXFLAGS+=" -m32 "
    3492                         CFAFLAGS+=" -m32 "
    3493                         LDFLAGS+=" -m32 "
    3494                         ;;
    3495                 i686)
    3496                         CFLAGS+=" -m32 "
    3497                   CXXFLAGS+=" -m32 "
    3498                   CFAFLAGS+=" -m32 "
    3499                   LDFLAGS+=" -m32 "
    3500                         ;;
    3501                 x86_64)
    3502                         CFLAGS+=" -m64 "
    3503                         CXXFLAGS+=" -m64 "
    3504                         CFAFLAGS+=" -m64 "
    3505                         LDFLAGS+=" -m64 "
    3506                         ;;
    3507         esac
    3508 fi
    3509 
     3428#==============================================================================
     3429# CAFLAGS
    35103430
    35113431cat >>confdefs.h <<_ACEOF
     
    35163436
    35173437
     3438#==============================================================================
    35183439# Checks for programs.
    35193440ac_ext=cpp
     
    62986219
    62996220
    6300 ac_config_files="$ac_config_files Makefile driver/Makefile src/Makefile benchmark/Makefile tests/Makefile tests/preempt_longrun/Makefile libcfa/prelude/Makefile libcfa/src/Makefile tools/Makefile tools/prettyprinter/Makefile"
     6221#==============================================================================
     6222ac_config_files="$ac_config_files Makefile driver/Makefile src/Makefile benchmark/Makefile tests/Makefile tests/preempt_longrun/Makefile tools/Makefile tools/prettyprinter/Makefile"
    63016223
    63026224
     
    64316353fi
    64326354
    6433 if test -z "${BUILD_RELEASE_TRUE}" && test -z "${BUILD_RELEASE_FALSE}"; then
    6434   as_fn_error $? "conditional \"BUILD_RELEASE\" was never defined.
    6435 Usually this means the macro was only invoked conditionally." "$LINENO" 5
    6436 fi
    6437 if test -z "${BUILD_DEBUG_TRUE}" && test -z "${BUILD_DEBUG_FALSE}"; then
    6438   as_fn_error $? "conditional \"BUILD_DEBUG\" was never defined.
    6439 Usually this means the macro was only invoked conditionally." "$LINENO" 5