config.sub
上传用户:qaz666999
上传日期:2022-08-06
资源大小:2570k
文件大小:4k
源码类别:

数学计算

开发平台:

Unix_Linux

  1. #! /bin/sh
  2. #
  3. # GMP config.sub wrapper.
  4. # Copyright 2000, 2001, 2002, 2003, 2006 Free Software Foundation, Inc.
  5. #
  6. # This file is part of the GNU MP Library.
  7. #
  8. # The GNU MP Library is free software; you can redistribute it and/or modify
  9. # it under the terms of the GNU Lesser General Public License as published
  10. # by the Free Software Foundation; either version 3 of the License, or (at
  11. # your option) any later version.
  12. #
  13. # The GNU MP Library is distributed in the hope that it will be useful, but
  14. # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  15. # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
  16. # License for more details.
  17. #
  18. # You should have received a copy of the GNU Lesser General Public License
  19. # along with the GNU MP Library.  If not, see http://www.gnu.org/licenses/.
  20. # Usage: config.sub CPU-VENDOR-OS
  21. #        config.sub ALIAS
  22. #
  23. # Validate and canonicalize the given configuration name, with special
  24. # handling for GMP extra CPU names.
  25. #
  26. # When the CPU isn't special the whole name is simply passed straight
  27. # through to configfsf.sub.
  28. #
  29. # When the CPU is a GMP extra, configfsf.sub is run on a similar CPU that it
  30. # will recognise.  For example "athlon-pc-freebsd3.5" is validated using
  31. # "i386-pc-freebsd3.5".
  32. #
  33. # Any canonicalizations made by configfsf.sub are preserved.  For example
  34. # given "athlon-linux", configfsf.sub is called with "i386-linux" and will
  35. # give back "i386-pc-linux-gnu".  "athlon" is then reinstated, so we print
  36. # "athlon-pc-linux-gnu".
  37. # Expect to find configfsf.sub in the same directory as this config.sub
  38. configfsf_sub="`echo "$0" | sed 's/config.sub$/configfsf.sub/'`"
  39. if test "$configfsf_sub" = "$0"; then
  40.   echo "Cannot derive configfsf.sub from $0" 1>&2
  41.   exit 1
  42. fi
  43. if test -f "$configfsf_sub"; then
  44.   :
  45. else
  46.   echo "$configfsf_sub not found" 1>&2
  47.   exit 1
  48. fi
  49. # Always run configfsf.sub with $SHELL, like autoconf does for config.sub
  50. SHELL=${CONFIG_SHELL-/bin/sh}
  51. # Identify ourselves on --version, --help, etc
  52. case "$1" in
  53. "" | -*)
  54.   echo "(GNU MP wrapped config.sub)" 1>&2
  55.   $SHELL $configfsf_sub "$@"
  56.   exit
  57.   ;;
  58. esac
  59. given_full="$1"
  60. given_cpu=`echo "$given_full" | sed 's/-.*$//'`
  61. given_rest=`echo "$given_full" | sed 's/^[^-]*//'`
  62. # Aliases for GMP extras
  63. case "$given_cpu" in
  64.   # configfsf.sub turns p5 into i586, instead use our exact cpu type
  65.   p5 | p54)   given_cpu=pentium ;;
  66.   p55)        given_cpu=pentiummmx ;;
  67.   # configfsf.sub turns p6, pentiumii and pentiumiii into i686, instead use
  68.   # our exact cpu types
  69.   p6)         given_cpu=pentiumpro ;;
  70.   pentiumii)  given_cpu=pentium2 ;;
  71.   pentiumiii) given_cpu=pentium3 ;;
  72. esac
  73. given_full="$given_cpu$given_rest"
  74. # GMP extras and what to use for the config.sub test
  75. case "$given_cpu" in
  76. itanium | itanium2)
  77.   test_cpu=ia64 ;;
  78. pentium | pentiummmx | pentiumpro | pentium[234m] | k[56] | k6[23] | geode | athlon | viac3* | nano)
  79.   test_cpu=i386 ;;
  80. athlon64 | atom | core2 | corei | opteron)
  81.   test_cpu=x86_64 ;;
  82. power[2-9] | power2sc)
  83.   test_cpu=power ;;
  84. powerpc401 | powerpc403 | powerpc405 | 
  85. powerpc505 | 
  86. powerpc601 | powerpc602  | 
  87. powerpc603 | powerpc603e | 
  88. powerpc604 | powerpc604e | 
  89. powerpc620 | powerpc630  | powerpc970  | 
  90. powerpc740 | powerpc7400 | powerpc7450 | powerpc750  | 
  91. powerpc801 | powerpc821 | powerpc823  | powerpc860 | 
  92. powerpc64)
  93.   test_cpu=powerpc ;;
  94. sparcv8 | supersparc | microsparc | 
  95. ultrasparc | ultrasparc2 | ultrasparc2i | ultrasparc3 | ultrasparct1)
  96.   test_cpu=sparc ;;
  97. sh2)
  98.   test_cpu=sh ;;
  99. *)
  100.   # Don't need or want to change the given name, just run configfsf.sub
  101.   $SHELL $configfsf_sub "$given_full"
  102.   if test $? = 0; then
  103.     exit 0
  104.   else
  105.     echo "(GNU MP wrapped config.sub, testing "$given_full")"
  106.     exit 1
  107.   fi
  108. esac
  109. test_full="$test_cpu$given_rest"
  110. canonical_full=`$SHELL $configfsf_sub "$test_full"`
  111. if test $? = 0; then
  112.   :
  113. else
  114.   echo "(GNU MP wrapped config.sub, testing "$given_full" as "$test_full")"
  115.   exit 1
  116. fi
  117. canonical_rest=`echo "$canonical_full" | sed 's/^[^-]*//'`
  118. echo "$given_cpu$canonical_rest"
  119. exit 0
  120. # Local variables:
  121. # fill-column: 76
  122. # End: