Home | History | Annotate | Line # | Download | only in config
      1 # Copyright (C) 2010-2022 Free Software Foundation, Inc.
      2 
      3 # This file is part of GCC.
      4 
      5 # GCC is free software; you can redistribute it and/or modify it under
      6 # the terms of the GNU General Public License as published by the Free
      7 # Software Foundation; either version 3, or (at your option) any
      8 # later version.
      9 
     10 # GCC is distributed in the hope that it will be useful, but WITHOUT
     11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
     12 # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
     13 # License for more details.
     14 
     15 # You should have received a copy of the GNU General Public License
     16 # along with GCC; see the file COPYING3.  If not see
     17 # <http://www.gnu.org/licenses/>.
     18 
     19 dnl @synopsis GCC_AC_ENABLE_DECIMAL_FLOAT([target triplet])
     20 dnl
     21 dnl Enable C extension for decimal float if target supports it.
     22 dnl
     23 dnl @author Andreas Krebbel  <Andreas.Krebbel (a] de.ibm.com>
     24 
     25 AC_DEFUN([GCC_AC_ENABLE_DECIMAL_FLOAT],
     26 [
     27 AC_ARG_ENABLE(decimal-float,
     28 [  --enable-decimal-float={no,yes,bid,dpd}
     29 			enable decimal float extension to C.  Selecting 'bid'
     30 			or 'dpd' choses which decimal floating point format
     31 			to use],
     32 [
     33   case $enable_decimal_float in
     34     yes | no | bid | dpd) default_decimal_float=$enable_decimal_float ;;
     35     *) AC_MSG_ERROR(['$enable_decimal_float' is an invalid value for --enable-decimal-float.
     36 Valid choices are 'yes', 'bid', 'dpd', and 'no'.]) ;;
     37   esac
     38 ],
     39 [
     40   case $1 in
     41     aarch64* | \
     42     powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | s390*-*-linux* | \
     43     i?86*-*-elfiamcu | i?86*-*-gnu* | x86_64*-*-gnu* | \
     44     i?86*-*-mingw* | x86_64*-*-mingw* | \
     45     i?86*-*-cygwin* | x86_64*-*-cygwin*)
     46       enable_decimal_float=yes
     47       ;;
     48     *)
     49       AC_MSG_WARN([decimal float is not supported for this target, ignored])
     50       enable_decimal_float=no
     51       ;;
     52   esac
     53 ])
     54 
     55 # x86's use BID format instead of DPD
     56 case x$enable_decimal_float in
     57   xyes)
     58     case $1 in
     59       aarch64* | i?86*-*-* | x86_64*-*-*)
     60 	enable_decimal_float=bid
     61 	;;
     62       *)
     63 	enable_decimal_float=dpd
     64 	;;
     65     esac
     66     default_decimal_float=$enable_decimal_float
     67     ;;
     68   xno)
     69     # ENABLE_DECIMAL_FLOAT is set to 0. But we have to have proper
     70     # dependency on libdecnumber.
     71     default_decimal_float=dpd
     72     ;;
     73 esac
     74 AC_SUBST(enable_decimal_float)
     75 
     76 ])
     77