Math Processor Unit Library

libmpu – library of arithmetic functions for integer, real, and complex numbers of increased digit capacity

16 Commits   0 Branches   2 Tags
868b2b66 (kx 2024-12-20 16:11:07 +0300    1) 
868b2b66 (kx 2024-12-20 16:11:07 +0300    2) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300    3) dnl We define the macro GLIBC_PROVIDES to do an AC_PROVIDE for
868b2b66 (kx 2024-12-20 16:11:07 +0300    4) dnl each macro which appears in configure.ac before the sysdep
868b2b66 (kx 2024-12-20 16:11:07 +0300    5) dnl configure scripts are run. Each sysdep configure.ac does
868b2b66 (kx 2024-12-20 16:11:07 +0300    6) dnl LIBMPU_PROVIDES first, to avoid any AC_REQUIREs or
868b2b66 (kx 2024-12-20 16:11:07 +0300    7) dnl AC_BEFOREs duplicating their code.
868b2b66 (kx 2024-12-20 16:11:07 +0300    8) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300    9) define([LIBMPU_PROVIDES], [dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   10) AC_PROVIDE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   11) AC_PROVIDE([AC_CONFIG_SUBDIRS])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   12) AC_PROVIDE([_AS_ECHO_N_PREPARE])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   13) AC_PROVIDE([_AS_ECHO_PREPARE])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   14) AC_PROVIDE([_AS_CR_PREPARE])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   15) AC_PROVIDE([_AS_TR_SH_PREPARE])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   16) AC_PROVIDE([_AS_VAR_ARITH_PREPARE])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   17) AC_PROVIDE([AC_PROG_INSTALL])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   18) AC_PROVIDE([AC_PROG_CC])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   19) AC_PROVIDE([AC_PROG_CPP])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   20) AC_PROVIDE([_AS_PATH_SEPARATOR_PREPARE])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   21) AC_PROVIDE([_AS_TEST_PREPARE])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   22) AC_PROVIDE([_AS_BASENAME_PREPARE])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   23) AC_PROVIDE([_AS_ME_PREPARE])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   24) AC_PROVIDE([_AS_LINENO_PREPARE])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   25) AC_PROVIDE([AS_SHELL_FN_as_fn_set_status])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   26) AC_PROVIDE([AS_SHELL_FN_as_fn_exit])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   27) AC_PROVIDE([AS_SHELL_FN_as_fn_arith])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   28) AC_PROVIDE([AS_SHELL_FN_ac_fn_c_try_compile])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   29) define([AS_MESSAGE_LOG_FD],5)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   30) define([AS_MESSAGE_FD],6)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   31) dnl Ripped out of AS_INIT, which does more cruft we do not want.
868b2b66 (kx 2024-12-20 16:11:07 +0300   32) m4_wrap([m4_divert_pop([BODY])[]])
868b2b66 (kx 2024-12-20 16:11:07 +0300   33) m4_divert_push([BODY])[]dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   34) dnl End of ripped out of AS_INIT.
868b2b66 (kx 2024-12-20 16:11:07 +0300   35) # This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
868b2b66 (kx 2024-12-20 16:11:07 +0300   36) define([_AC_LANG], [C])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   37) ])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   38) 
868b2b66 (kx 2024-12-20 16:11:07 +0300   39) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300   40) dnl Support for Configuration Headers
868b2b66 (kx 2024-12-20 16:11:07 +0300   41) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   42) dnl    configure.ac:
868b2b66 (kx 2024-12-20 16:11:07 +0300   43) dnl       AC_LIBMPU_HEADLINE(<short-name>, <long-name>,
868b2b66 (kx 2024-12-20 16:11:07 +0300   44) dnl                          <vers-var>, <vers-file>,
868b2b66 (kx 2024-12-20 16:11:07 +0300   45) dnl                          <copyright>)
868b2b66 (kx 2024-12-20 16:11:07 +0300   46) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   47) dnl NOTE:
868b2b66 (kx 2024-12-20 16:11:07 +0300   48) dnl ====
868b2b66 (kx 2024-12-20 16:11:07 +0300   49) dnl   See the paragraph 8.3.3 of Autoconf Documentation at:
868b2b66 (kx 2024-12-20 16:11:07 +0300   50) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   51) dnl     https://www.gnu.org/software/autoconf/manual/autoconf.html#Diversion-support
868b2b66 (kx 2024-12-20 16:11:07 +0300   52) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   53) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300   54) m4_define([AC_LIBMPU_HEADLINE], [dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   55) m4_divert_push([M4SH-SANITIZE])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   56) {
868b2b66 (kx 2024-12-20 16:11:07 +0300   57)   if test ".`echo dummy [$]@ | grep help`" = .; then
868b2b66 (kx 2024-12-20 16:11:07 +0300   58)     ####### bootstrapping version-tool
868b2b66 (kx 2024-12-20 16:11:07 +0300   59)     ac_prog=[$]0
868b2b66 (kx 2024-12-20 16:11:07 +0300   60) changequote(, )dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   61)     ac_srcdir=`echo $ac_prog | sed -e 's%/[^/][^/]*$%%' -e 's%\([^/]\)/*$%\1%'`
868b2b66 (kx 2024-12-20 16:11:07 +0300   62) changequote([, ])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   63)     test ".$ac_srcdir" = ".$ac_prog" && ac_srcdir=.
868b2b66 (kx 2024-12-20 16:11:07 +0300   64)     ac_version_tool="${CONFIG_SHELL-/bin/sh} $ac_srcdir/version-tool"
868b2b66 (kx 2024-12-20 16:11:07 +0300   65) 
868b2b66 (kx 2024-12-20 16:11:07 +0300   66)     ####### нахождение escape последовательностей для
868b2b66 (kx 2024-12-20 16:11:07 +0300   67)     ####### обозначения начала и конца выделяемого текста
868b2b66 (kx 2024-12-20 16:11:07 +0300   68)     ####### Use a `Quadrigaph'. '@<:@' gives you [ and '@:>@' gives you ] :
868b2b66 (kx 2024-12-20 16:11:07 +0300   69)     TB=`echo -n -e '\033@<:@1m'`
868b2b66 (kx 2024-12-20 16:11:07 +0300   70)     TN=`echo -n -e '\033@<:@0m'`
868b2b66 (kx 2024-12-20 16:11:07 +0300   71) 
868b2b66 (kx 2024-12-20 16:11:07 +0300   72)     ####### чтение короткого номера версии продукта (например, "1.0.0")
868b2b66 (kx 2024-12-20 16:11:07 +0300   73)     $3="`$ac_version_tool $ac_srcdir/$4`"
868b2b66 (kx 2024-12-20 16:11:07 +0300   74)     AC_SUBST($3)
868b2b66 (kx 2024-12-20 16:11:07 +0300   75) 
868b2b66 (kx 2024-12-20 16:11:07 +0300   76)     ####### печать заголовка
868b2b66 (kx 2024-12-20 16:11:07 +0300   77)     echo "Configuring:"
868b2b66 (kx 2024-12-20 16:11:07 +0300   78)     echo ""
868b2b66 (kx 2024-12-20 16:11:07 +0300   79)     echo "${TB}$1${TN} ($2), Version ${TB}${$3}${TN}"
868b2b66 (kx 2024-12-20 16:11:07 +0300   80)     echo "$5"
868b2b66 (kx 2024-12-20 16:11:07 +0300   81)     echo ""
868b2b66 (kx 2024-12-20 16:11:07 +0300   82) 
868b2b66 (kx 2024-12-20 16:11:07 +0300   83)     ####### чтение шестнадцатеричного номера версии продукта (например, 0x100200)
868b2b66 (kx 2024-12-20 16:11:07 +0300   84) #    $3_HEX="`$ac_version_tool version -lc -dhex $ac_srcdir/$4`"
868b2b66 (kx 2024-12-20 16:11:07 +0300   85) #    AC_SUBST($3_HEX)
868b2b66 (kx 2024-12-20 16:11:07 +0300   86)   fi
868b2b66 (kx 2024-12-20 16:11:07 +0300   87) }
868b2b66 (kx 2024-12-20 16:11:07 +0300   88) m4_divert_pop([M4SH-SANITIZE])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   89) ])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   90) 
868b2b66 (kx 2024-12-20 16:11:07 +0300   91) 
868b2b66 (kx 2024-12-20 16:11:07 +0300   92) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300   93) dnl Display Configuration Headers
868b2b66 (kx 2024-12-20 16:11:07 +0300   94) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   95) dnl    configure.ac:
868b2b66 (kx 2024-12-20 16:11:07 +0300   96) dnl       AC_MSG_CFG_PART(<text>)
868b2b66 (kx 2024-12-20 16:11:07 +0300   97) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300   98) AC_DEFUN([AC_MSG_CFG_PART],[dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   99)    AC_MSG_RESULT()
868b2b66 (kx 2024-12-20 16:11:07 +0300  100)    AC_MSG_RESULT([${TB}$1:${TN}])
868b2b66 (kx 2024-12-20 16:11:07 +0300  101) ])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  102) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  103) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  104) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  105) dnl  Check for weak symbols too:
868b2b66 (kx 2024-12-20 16:11:07 +0300  106) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  107) AC_DEFUN([LIBMPU_ALIAS_ATTRIBUTE],
868b2b66 (kx 2024-12-20 16:11:07 +0300  108) [AC_CACHE_CHECK(for broken __attribute__((alias())),
868b2b66 (kx 2024-12-20 16:11:07 +0300  109)   libmpu_cv_broken_alias_attribute,
868b2b66 (kx 2024-12-20 16:11:07 +0300  110)   [cat > conftest.c <<EOF
868b2b66 (kx 2024-12-20 16:11:07 +0300  111)    extern int foo (int x) __asm ("xyzzy");
868b2b66 (kx 2024-12-20 16:11:07 +0300  112)    int bar (int x) { return x; }
868b2b66 (kx 2024-12-20 16:11:07 +0300  113)    extern __typeof (bar) foo __attribute ((weak, alias ("bar")));
868b2b66 (kx 2024-12-20 16:11:07 +0300  114)    extern int dfoo;
868b2b66 (kx 2024-12-20 16:11:07 +0300  115)    extern __typeof (dfoo) dfoo __asm ("abccb");
868b2b66 (kx 2024-12-20 16:11:07 +0300  116)    int dfoo = 1;
868b2b66 (kx 2024-12-20 16:11:07 +0300  117) EOF
868b2b66 (kx 2024-12-20 16:11:07 +0300  118)   libmpu_cv_broken_alias_attribute=yes
868b2b66 (kx 2024-12-20 16:11:07 +0300  119)   if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
868b2b66 (kx 2024-12-20 16:11:07 +0300  120)     if grep 'xyzzy' conftest.s >/dev/null &&
868b2b66 (kx 2024-12-20 16:11:07 +0300  121)        grep 'abccb' conftest.s >/dev/null; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  122)        libmpu_cv_broken_alias_attribute=no
868b2b66 (kx 2024-12-20 16:11:07 +0300  123)     fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  124)   fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  125)   rm -f conftest.c conftest.s
868b2b66 (kx 2024-12-20 16:11:07 +0300  126)   ])
868b2b66 (kx 2024-12-20 16:11:07 +0300  127) if test $libmpu_cv_broken_alias_attribute = yes; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  128)   AC_MSG_ERROR([
868b2b66 (kx 2024-12-20 16:11:07 +0300  129) ********   ${TB}Working alias attribute support required.${TN}])
868b2b66 (kx 2024-12-20 16:11:07 +0300  130) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  131)   AC_DEFINE(HAVE_WEAK_SYMBOLS, 1, [Defined if supports weak symbols.])
868b2b66 (kx 2024-12-20 16:11:07 +0300  132) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  133) ])
868b2b66 (kx 2024-12-20 16:11:07 +0300  134) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  135) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  136) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  137) dnl  Check for hidden visibility attribute:
868b2b66 (kx 2024-12-20 16:11:07 +0300  138) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  139) AC_DEFUN([LIBMPU_HIDDEN_VISIBILITY_ATTRIBUTE],
868b2b66 (kx 2024-12-20 16:11:07 +0300  140) [AC_CACHE_CHECK(for __attribute__((visibility("hidden"))),
868b2b66 (kx 2024-12-20 16:11:07 +0300  141)   libmpu_cv_hidden_visibility_attribute,
868b2b66 (kx 2024-12-20 16:11:07 +0300  142)   [cat > conftest.c <<EOF
868b2b66 (kx 2024-12-20 16:11:07 +0300  143)    int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }
868b2b66 (kx 2024-12-20 16:11:07 +0300  144) EOF
868b2b66 (kx 2024-12-20 16:11:07 +0300  145)   libmpu_cv_hidden_visibility_attribute=no
868b2b66 (kx 2024-12-20 16:11:07 +0300  146)   if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD); then
868b2b66 (kx 2024-12-20 16:11:07 +0300  147)     if grep '\.hidden.*foo' conftest.s >/dev/null; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  148)        libmpu_cv_hidden_visibility_attribute=yes
868b2b66 (kx 2024-12-20 16:11:07 +0300  149)     fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  150)   fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  151)   rm -f conftest.c conftest.s
868b2b66 (kx 2024-12-20 16:11:07 +0300  152)   ])
868b2b66 (kx 2024-12-20 16:11:07 +0300  153) if test $libmpu_cv_hidden_visibility_attribute = yes; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  154)   AC_DEFINE([HAVE_HIDDEN_VISIBILITY_ATTRIBUTE], [1],
868b2b66 (kx 2024-12-20 16:11:07 +0300  155)     [Defined if __attribute__((visibility("hidden"))) supported.])
868b2b66 (kx 2024-12-20 16:11:07 +0300  156) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  157) ])
868b2b66 (kx 2024-12-20 16:11:07 +0300  158) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  159) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  160) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  161) dnl Check GNU Binutils
868b2b66 (kx 2024-12-20 16:11:07 +0300  162) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  163) dnl    configure.ac:
868b2b66 (kx 2024-12-20 16:11:07 +0300  164) dnl       LIBMPU_PROG_BINUTILS
868b2b66 (kx 2024-12-20 16:11:07 +0300  165) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  166) AC_DEFUN([LIBMPU_PROG_FOO_GNU],
868b2b66 (kx 2024-12-20 16:11:07 +0300  167) [# Most GNU programs take a -v and spit out some text including
868b2b66 (kx 2024-12-20 16:11:07 +0300  168) # the word 'GNU'.  Some try to read stdin, so give them /dev/null.
868b2b66 (kx 2024-12-20 16:11:07 +0300  169) if $1 -o conftest -v </dev/null 2>&1 | grep GNU > /dev/null 2>&1; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  170)   $2
868b2b66 (kx 2024-12-20 16:11:07 +0300  171) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  172)   $3
868b2b66 (kx 2024-12-20 16:11:07 +0300  173) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  174) rm -fr contest*])
868b2b66 (kx 2024-12-20 16:11:07 +0300  175) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  176) AC_DEFUN([LIBMPU_PROG_BINUTILS],
868b2b66 (kx 2024-12-20 16:11:07 +0300  177) [dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  178) AS=`$CC -print-prog-name=as`
868b2b66 (kx 2024-12-20 16:11:07 +0300  179) LD=`$CC -print-prog-name=ld`
868b2b66 (kx 2024-12-20 16:11:07 +0300  180) AR=`$CC -print-prog-name=ar`
868b2b66 (kx 2024-12-20 16:11:07 +0300  181) AC_SUBST(AR)
868b2b66 (kx 2024-12-20 16:11:07 +0300  182) AC_SUBST(AS)
868b2b66 (kx 2024-12-20 16:11:07 +0300  183) OBJDUMP=`$CC -print-prog-name=objdump`
868b2b66 (kx 2024-12-20 16:11:07 +0300  184) AC_SUBST(OBJDUMP)
868b2b66 (kx 2024-12-20 16:11:07 +0300  185) OBJCOPY=`$CC -print-prog-name=objcopy`
868b2b66 (kx 2024-12-20 16:11:07 +0300  186) AC_SUBST(OBJCOPY)
868b2b66 (kx 2024-12-20 16:11:07 +0300  187) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  188) # ranlib has to be treated a bit differently since it might not exist at all.
868b2b66 (kx 2024-12-20 16:11:07 +0300  189) RANLIB=`$CC -print-prog-name=ranlib`
868b2b66 (kx 2024-12-20 16:11:07 +0300  190) if test $RANLIB = ranlib; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  191) # This extra check has to happen since gcc simply echos the parameter in
868b2b66 (kx 2024-12-20 16:11:07 +0300  192) # case it cannot find the value in its own directories.
868b2b66 (kx 2024-12-20 16:11:07 +0300  193) AC_CHECK_TOOL(RANLIB, ranlib, :)
868b2b66 (kx 2024-12-20 16:11:07 +0300  194) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  195) AC_SUBST(RANLIB)
868b2b66 (kx 2024-12-20 16:11:07 +0300  196) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  197) # readelf has to be treated a bit differently since it might not exist at all.
868b2b66 (kx 2024-12-20 16:11:07 +0300  198) READELF=`$CC -print-prog-name=readelf`
868b2b66 (kx 2024-12-20 16:11:07 +0300  199) if test $READELF = readelf; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  200) # This extra check has to happen since gcc simply echos the parameter in
868b2b66 (kx 2024-12-20 16:11:07 +0300  201) # case it cannot find the value in its own directories.
868b2b66 (kx 2024-12-20 16:11:07 +0300  202) AC_CHECK_TOOL(READELF, readelf, :)
868b2b66 (kx 2024-12-20 16:11:07 +0300  203) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  204) AC_SUBST(READELF)
868b2b66 (kx 2024-12-20 16:11:07 +0300  205) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  206) # nm has to be treated a bit differently since it might not exist at all.
868b2b66 (kx 2024-12-20 16:11:07 +0300  207) NM=`$CC -print-prog-name=nm`
868b2b66 (kx 2024-12-20 16:11:07 +0300  208) if test $NM = nm; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  209) # This extra check has to happen since gcc simply echos the parameter in
868b2b66 (kx 2024-12-20 16:11:07 +0300  210) # case it cannot find the value in its own directories.
868b2b66 (kx 2024-12-20 16:11:07 +0300  211) AC_CHECK_TOOL(NM, nm, :)
868b2b66 (kx 2024-12-20 16:11:07 +0300  212) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  213) AC_SUBST(NM)
868b2b66 (kx 2024-12-20 16:11:07 +0300  214) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  215) # strip has to be treated a bit differently since it might not exist at all.
868b2b66 (kx 2024-12-20 16:11:07 +0300  216) STRIP=`$CC -print-prog-name=strip`
868b2b66 (kx 2024-12-20 16:11:07 +0300  217) if test $STRIP = strip; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  218) # This extra check has to happen since gcc simply echos the parameter in
868b2b66 (kx 2024-12-20 16:11:07 +0300  219) # case it cannot find the value in its own directories.
868b2b66 (kx 2024-12-20 16:11:07 +0300  220) AC_CHECK_TOOL(STRIP, strip, :)
868b2b66 (kx 2024-12-20 16:11:07 +0300  221) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  222) AC_SUBST(STRIP)
868b2b66 (kx 2024-12-20 16:11:07 +0300  223) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  224) # Determine whether we are using GNU binutils.
868b2b66 (kx 2024-12-20 16:11:07 +0300  225) AC_CACHE_CHECK(whether $AS is GNU as, libmpu_cv_prog_as_gnu,
868b2b66 (kx 2024-12-20 16:11:07 +0300  226) [LIBMPU_PROG_FOO_GNU($AS, libmpu_cv_prog_as_gnu=yes, libmpu_cv_prog_as_gnu=no)])
868b2b66 (kx 2024-12-20 16:11:07 +0300  227) rm -f a.out
868b2b66 (kx 2024-12-20 16:11:07 +0300  228) gnu_as=$libmpu_cv_prog_as_gnu
868b2b66 (kx 2024-12-20 16:11:07 +0300  229) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  230) AC_CACHE_CHECK(whether $LD is GNU ld, libmpu_cv_prog_ld_gnu,
868b2b66 (kx 2024-12-20 16:11:07 +0300  231) [LIBMPU_PROG_FOO_GNU($LD, libmpu_cv_prog_ld_gnu=yes, libmpu_cv_prog_ld_gnu=no)])
868b2b66 (kx 2024-12-20 16:11:07 +0300  232) gnu_ld=$libmpu_cv_prog_ld_gnu
868b2b66 (kx 2024-12-20 16:11:07 +0300  233) ])
868b2b66 (kx 2024-12-20 16:11:07 +0300  234) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  235) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  236) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  237) dnl  Test for build_cc:
868b2b66 (kx 2024-12-20 16:11:07 +0300  238) dnl  =================
868b2b66 (kx 2024-12-20 16:11:07 +0300  239) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  240) dnl    configure.ac:
868b2b66 (kx 2024-12-20 16:11:07 +0300  241) dnl       if test $host != $build; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  242) dnl         AC_PROG_BUILD_CC
868b2b66 (kx 2024-12-20 16:11:07 +0300  243) dnl       fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  244) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  245) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  246) AC_DEFUN([AC_PROG_BUILD_CC],
868b2b66 (kx 2024-12-20 16:11:07 +0300  247) [ac_test_BUILD_CFLAGS=${BUILD_CFLAGS+set}
868b2b66 (kx 2024-12-20 16:11:07 +0300  248) ac_save_BUILD_CFLAGS=$BUILD_CFLAGS
868b2b66 (kx 2024-12-20 16:11:07 +0300  249) AC_CHECK_PROGS(BUILD_CC, gcc cc)
868b2b66 (kx 2024-12-20 16:11:07 +0300  250) AC_MSG_CHECKING(whether $BUILD_CC works on build machine)
868b2b66 (kx 2024-12-20 16:11:07 +0300  251) AC_CACHE_VAL(ac_cv_prog_build_cc,
868b2b66 (kx 2024-12-20 16:11:07 +0300  252) [rm -f conftest
868b2b66 (kx 2024-12-20 16:11:07 +0300  253) cat > conftest.c <<EOF
868b2b66 (kx 2024-12-20 16:11:07 +0300  254) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  255) int main()
868b2b66 (kx 2024-12-20 16:11:07 +0300  256) {
868b2b66 (kx 2024-12-20 16:11:07 +0300  257)    char *s = "strip";
868b2b66 (kx 2024-12-20 16:11:07 +0300  258) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  259)    return( 0 );
868b2b66 (kx 2024-12-20 16:11:07 +0300  260) }
868b2b66 (kx 2024-12-20 16:11:07 +0300  261) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  262) EOF
868b2b66 (kx 2024-12-20 16:11:07 +0300  263) $BUILD_CC -o conftest conftest.c
868b2b66 (kx 2024-12-20 16:11:07 +0300  264) if test -f conftest
868b2b66 (kx 2024-12-20 16:11:07 +0300  265) then
868b2b66 (kx 2024-12-20 16:11:07 +0300  266)    rm -f conftest conftest.c
868b2b66 (kx 2024-12-20 16:11:07 +0300  267)    ac_cv_prog_build_cc="$BUILD_CC"
868b2b66 (kx 2024-12-20 16:11:07 +0300  268) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  269)    rm -f conftest conftest.c
868b2b66 (kx 2024-12-20 16:11:07 +0300  270)    ac_cv_prog_build_cc=
868b2b66 (kx 2024-12-20 16:11:07 +0300  271) fi])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  272) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  273) if test "$ac_test_BUILD_CFLAGS" = set; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  274)   BUILD_CFLAGS=$ac_save_BUILD_CFLAGS
868b2b66 (kx 2024-12-20 16:11:07 +0300  275) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  276) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  277) BUILD_CC="$ac_cv_prog_build_cc"
868b2b66 (kx 2024-12-20 16:11:07 +0300  278) if test "$ac_cv_prog_build_cc" = "$BUILD_CC"; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  279)    AC_MSG_RESULT(yes)
868b2b66 (kx 2024-12-20 16:11:07 +0300  280) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  281)    AC_MSG_RESULT(no)
868b2b66 (kx 2024-12-20 16:11:07 +0300  282) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  283) AC_SUBST(BUILD_CC)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  284) ])
868b2b66 (kx 2024-12-20 16:11:07 +0300  285) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  286) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  287) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  288) dnl  Test for build_host `strip -s':
868b2b66 (kx 2024-12-20 16:11:07 +0300  289) dnl  ==============================
868b2b66 (kx 2024-12-20 16:11:07 +0300  290) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  291) dnl    configure.ac:
868b2b66 (kx 2024-12-20 16:11:07 +0300  292) dnl       if test $host != $build; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  293) dnl         AC_PATH_PROG_BUILD_STRIP_S
868b2b66 (kx 2024-12-20 16:11:07 +0300  294) dnl       fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  295) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  296) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  297) AC_DEFUN([AC_PATH_PROG_BUILD_STRIP_S],
868b2b66 (kx 2024-12-20 16:11:07 +0300  298) [AC_REQUIRE([AC_PROG_BUILD_CC])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  299) AC_PATH_PROG(BUILD_STRIP, strip, no, /usr/local/bin:/usr/bin:/bin:$PATH)
868b2b66 (kx 2024-12-20 16:11:07 +0300  300) AC_MSG_CHECKING(whether strip -s works on build machine)
868b2b66 (kx 2024-12-20 16:11:07 +0300  301) AC_CACHE_VAL(ac_cv_path_prog_STRIP_S,
868b2b66 (kx 2024-12-20 16:11:07 +0300  302) [rm -f conftest
868b2b66 (kx 2024-12-20 16:11:07 +0300  303) cat > conftest.c <<EOF
868b2b66 (kx 2024-12-20 16:11:07 +0300  304) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  305) int main()
868b2b66 (kx 2024-12-20 16:11:07 +0300  306) {
868b2b66 (kx 2024-12-20 16:11:07 +0300  307)    char *s = "strip";
868b2b66 (kx 2024-12-20 16:11:07 +0300  308) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  309)    return( 0 );
868b2b66 (kx 2024-12-20 16:11:07 +0300  310) }
868b2b66 (kx 2024-12-20 16:11:07 +0300  311) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  312) EOF
868b2b66 (kx 2024-12-20 16:11:07 +0300  313) $BUILD_CC -o conftest conftest.c
868b2b66 (kx 2024-12-20 16:11:07 +0300  314) if $BUILD_STRIP -s conftest 2>/dev/null
868b2b66 (kx 2024-12-20 16:11:07 +0300  315) then
868b2b66 (kx 2024-12-20 16:11:07 +0300  316)    rm -f conftest conftest.c
868b2b66 (kx 2024-12-20 16:11:07 +0300  317)    ac_cv_path_prog_STRIP_S="$BUILD_STRIP -s"
868b2b66 (kx 2024-12-20 16:11:07 +0300  318) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  319)    rm -f conftest conftest.c
868b2b66 (kx 2024-12-20 16:11:07 +0300  320)    ac_cv_path_prog_STRIP_S="$BUILD_STRIP"
868b2b66 (kx 2024-12-20 16:11:07 +0300  321) fi])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  322) BUILD_STRIP_S="$ac_cv_path_prog_STRIP_S"
868b2b66 (kx 2024-12-20 16:11:07 +0300  323) if test "$ac_cv_path_prog_STRIP_S" = "$BUILD_STRIP -s"; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  324)    AC_MSG_RESULT(yes)
868b2b66 (kx 2024-12-20 16:11:07 +0300  325) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  326)    AC_MSG_RESULT(no)
868b2b66 (kx 2024-12-20 16:11:07 +0300  327) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  328) AC_SUBST(BUILD_STRIP)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  329) AC_SUBST(BUILD_STRIP_S)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  330) ])
868b2b66 (kx 2024-12-20 16:11:07 +0300  331) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  332) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  333) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  334) dnl  Test for WIDTH of MACHINE REGISTER using GCC predefines:
868b2b66 (kx 2024-12-20 16:11:07 +0300  335) dnl  ==================
868b2b66 (kx 2024-12-20 16:11:07 +0300  336) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  337) dnl    configure.ac:
868b2b66 (kx 2024-12-20 16:11:07 +0300  338) dnl       AC_GCC_REGISTER_WIDTH
868b2b66 (kx 2024-12-20 16:11:07 +0300  339) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  340) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  341) AC_DEFUN([AC_GCC_REGISTER_WIDTH],
868b2b66 (kx 2024-12-20 16:11:07 +0300  342) [dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  343) AC_MSG_CHECKING(for CPP predefined macro __INT_FAST32_WIDTH__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  344) AC_CACHE_VAL(ac_cv_int_fast32_width,
868b2b66 (kx 2024-12-20 16:11:07 +0300  345) [ac_cv_int_fast32_width=`$CC -dM -E - < /dev/null | grep __INT_FAST32_WIDTH__ | cut -f3- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  346) if test "$ac_cv_int_fast32_width" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  347)   AC_MSG_RESULT($ac_cv_int_fast32_width)
868b2b66 (kx 2024-12-20 16:11:07 +0300  348) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  349)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  350) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  351) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  352) AC_MSG_CHECKING(for CPP predefined macro __INT_FAST64_WIDTH__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  353) AC_CACHE_VAL(ac_cv_int_fast64_width,
868b2b66 (kx 2024-12-20 16:11:07 +0300  354) [ac_cv_int_fast64_width=`$CC -dM -E - < /dev/null | grep __INT_FAST64_WIDTH__ | cut -f3- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  355) if test "$ac_cv_int_fast64_width" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  356)   AC_MSG_RESULT($ac_cv_int_fast64_width)
868b2b66 (kx 2024-12-20 16:11:07 +0300  357) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  358)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  359) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  360) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  361) AC_MSG_CHECKING(for MACHINE REGISTER WIDTH )
868b2b66 (kx 2024-12-20 16:11:07 +0300  362) AC_CACHE_VAL(ac_cv_machine_register_width,
868b2b66 (kx 2024-12-20 16:11:07 +0300  363) [dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  364) if test "$ac_cv_int_fast64_width" != "" -a "$ac_cv_int_fast32_width" != "" ; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  365)   if test "$ac_cv_int_fast64_width" -gt "$ac_cv_int_fast32_width" ; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  366)     ac_cv_machine_register_width=$ac_cv_int_fast32_width
868b2b66 (kx 2024-12-20 16:11:07 +0300  367)   else
868b2b66 (kx 2024-12-20 16:11:07 +0300  368)     ac_cv_machine_register_width=$ac_cv_int_fast64_width
868b2b66 (kx 2024-12-20 16:11:07 +0300  369)   fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  370) elif test "$ac_cv_int_fast64_width" != "" ; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  371)   ac_cv_machine_register_width=$ac_cv_int_fast64_width
868b2b66 (kx 2024-12-20 16:11:07 +0300  372) elif test "$ac_cv_int_fast32_width" != "" ; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  373)   ac_cv_machine_register_width=$ac_cv_int_fast32_width
868b2b66 (kx 2024-12-20 16:11:07 +0300  374) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  375)   ac_cv_machine_register_width=32
868b2b66 (kx 2024-12-20 16:11:07 +0300  376) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  377) ])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  378) if test "$ac_cv_machine_register_width" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  379)   MACHINE_REGISTER_WIDTH=$ac_cv_machine_register_width
868b2b66 (kx 2024-12-20 16:11:07 +0300  380)   AC_MSG_RESULT($ac_cv_machine_register_width)
868b2b66 (kx 2024-12-20 16:11:07 +0300  381) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  382)   MACHINE_REGISTER_WIDTH=
868b2b66 (kx 2024-12-20 16:11:07 +0300  383)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  384) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  385) AC_SUBST(MACHINE_REGISTER_WIDTH)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  386) AC_DEFINE_UNQUOTED([MACHINE_REGISTER_WIDTH], [$ac_cv_machine_register_width], [The size of Machine Register in bits.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  387) ])
868b2b66 (kx 2024-12-20 16:11:07 +0300  388) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  389) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  390) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  391) dnl  Test for GCC Types:
868b2b66 (kx 2024-12-20 16:11:07 +0300  392) dnl  ==================
868b2b66 (kx 2024-12-20 16:11:07 +0300  393) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  394) dnl    configure.ac:
868b2b66 (kx 2024-12-20 16:11:07 +0300  395) dnl       AC_GCC_TYPES
868b2b66 (kx 2024-12-20 16:11:07 +0300  396) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  397) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  398) AC_DEFUN([AC_GCC_TYPES],
868b2b66 (kx 2024-12-20 16:11:07 +0300  399) [dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  400) AC_MSG_CHECKING(for CPP predefined macro __CHAR16_TYPE__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  401) AC_CACHE_VAL(ac_cv_char16_type,
868b2b66 (kx 2024-12-20 16:11:07 +0300  402) [ac_cv_char16_type=`$CC -dM -E - < /dev/null | grep __CHAR16_TYPE__ | cut -f3- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  403) if test "$ac_cv_char16_type" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  404)   GCC_CHAR16_TYPE=$ac_cv_char16_type
868b2b66 (kx 2024-12-20 16:11:07 +0300  405)   AC_MSG_RESULT($ac_cv_char16_type)
868b2b66 (kx 2024-12-20 16:11:07 +0300  406) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  407)   GCC_CHAR16_TYPE=
868b2b66 (kx 2024-12-20 16:11:07 +0300  408)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  409) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  410) AC_SUBST(GCC_CHAR16_TYPE)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  411) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  412) AC_MSG_CHECKING(for CPP predefined macro __CHAR32_TYPE__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  413) AC_CACHE_VAL(ac_cv_char32_type,
868b2b66 (kx 2024-12-20 16:11:07 +0300  414) [ac_cv_char32_type=`$CC -dM -E - < /dev/null | grep __CHAR32_TYPE__ | cut -f3- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  415) if test "$ac_cv_char32_type" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  416)   GCC_CHAR32_TYPE=$ac_cv_char32_type
868b2b66 (kx 2024-12-20 16:11:07 +0300  417)   AC_MSG_RESULT($ac_cv_char32_type)
868b2b66 (kx 2024-12-20 16:11:07 +0300  418) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  419)   GCC_CHAR32_TYPE=
868b2b66 (kx 2024-12-20 16:11:07 +0300  420)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  421) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  422) AC_SUBST(GCC_CHAR32_TYPE)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  423) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  424) AC_MSG_CHECKING(for CPP predefined macro __WCHAR_TYPE__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  425) AC_CACHE_VAL(ac_cv_wchar_type,
868b2b66 (kx 2024-12-20 16:11:07 +0300  426) [ac_cv_wchar_type=`$CC -dM -E - < /dev/null | grep __WCHAR_TYPE__ | cut -f3- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  427) if test "$ac_cv_wchar_type" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  428)   GCC_WCHAR_TYPE=$ac_cv_wchar_type
868b2b66 (kx 2024-12-20 16:11:07 +0300  429)   AC_MSG_RESULT($ac_cv_wchar_type)
868b2b66 (kx 2024-12-20 16:11:07 +0300  430) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  431)   GCC_WCHAR_TYPE=
868b2b66 (kx 2024-12-20 16:11:07 +0300  432)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  433) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  434) AC_SUBST(GCC_WCHAR_TYPE)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  435) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  436) AC_MSG_CHECKING(for CPP predefined macro __INT8_TYPE__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  437) AC_CACHE_VAL(ac_cv_int8_type,
868b2b66 (kx 2024-12-20 16:11:07 +0300  438) [ac_cv_int8_type=`$CC -dM -E - < /dev/null | grep __INT8_TYPE__ | cut -f3- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  439) if test "$ac_cv_int8_type" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  440)   GCC_INT8_TYPE=$ac_cv_int8_type
868b2b66 (kx 2024-12-20 16:11:07 +0300  441)   AC_MSG_RESULT($ac_cv_int8_type)
868b2b66 (kx 2024-12-20 16:11:07 +0300  442) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  443)   GCC_INT8_TYPE=
868b2b66 (kx 2024-12-20 16:11:07 +0300  444)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  445) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  446) AC_SUBST(GCC_INT8_TYPE)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  447) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  448) AC_MSG_CHECKING(for CPP predefined macro __UINT8_TYPE__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  449) AC_CACHE_VAL(ac_cv_uint8_type,
868b2b66 (kx 2024-12-20 16:11:07 +0300  450) [ac_cv_uint8_type=`$CC -dM -E - < /dev/null | grep __UINT8_TYPE__ | cut -f3- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  451) if test "$ac_cv_uint8_type" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  452)   GCC_UINT8_TYPE=$ac_cv_uint8_type
868b2b66 (kx 2024-12-20 16:11:07 +0300  453)   AC_MSG_RESULT($ac_cv_uint8_type)
868b2b66 (kx 2024-12-20 16:11:07 +0300  454) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  455)   GCC_UINT8_TYPE=
868b2b66 (kx 2024-12-20 16:11:07 +0300  456)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  457) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  458) AC_SUBST(GCC_UINT8_TYPE)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  459) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  460) AC_MSG_CHECKING(for CPP predefined macro __INT16_TYPE__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  461) AC_CACHE_VAL(ac_cv_int16_type,
868b2b66 (kx 2024-12-20 16:11:07 +0300  462) [ac_cv_int16_type=`$CC -dM -E - < /dev/null | grep __INT16_TYPE__ | cut -f3- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  463) if test "$ac_cv_int16_type" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  464)   GCC_INT16_TYPE=$ac_cv_int16_type
868b2b66 (kx 2024-12-20 16:11:07 +0300  465)   AC_MSG_RESULT($ac_cv_int16_type)
868b2b66 (kx 2024-12-20 16:11:07 +0300  466) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  467)   GCC_INT16_TYPE=
868b2b66 (kx 2024-12-20 16:11:07 +0300  468)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  469) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  470) AC_SUBST(GCC_INT16_TYPE)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  471) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  472) AC_MSG_CHECKING(for CPP predefined macro __UINT16_TYPE__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  473) AC_CACHE_VAL(ac_cv_uint16_type,
868b2b66 (kx 2024-12-20 16:11:07 +0300  474) [ac_cv_uint16_type=`$CC -dM -E - < /dev/null | grep __UINT16_TYPE__ | cut -f3- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  475) if test "$ac_cv_uint16_type" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  476)   GCC_UINT16_TYPE=$ac_cv_uint16_type
868b2b66 (kx 2024-12-20 16:11:07 +0300  477)   AC_MSG_RESULT($ac_cv_uint16_type)
868b2b66 (kx 2024-12-20 16:11:07 +0300  478) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  479)   GCC_UINT16_TYPE=
868b2b66 (kx 2024-12-20 16:11:07 +0300  480)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  481) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  482) AC_SUBST(GCC_UINT16_TYPE)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  483) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  484) AC_MSG_CHECKING(for CPP predefined macro __INT32_TYPE__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  485) AC_CACHE_VAL(ac_cv_int32_type,
868b2b66 (kx 2024-12-20 16:11:07 +0300  486) [ac_cv_int32_type=`$CC -dM -E - < /dev/null | grep __INT32_TYPE__ | cut -f3- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  487) if test "$ac_cv_int32_type" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  488)   GCC_INT32_TYPE=$ac_cv_int32_type
868b2b66 (kx 2024-12-20 16:11:07 +0300  489)   AC_MSG_RESULT($ac_cv_int32_type)
868b2b66 (kx 2024-12-20 16:11:07 +0300  490) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  491)   GCC_INT32_TYPE=
868b2b66 (kx 2024-12-20 16:11:07 +0300  492)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  493) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  494) AC_SUBST(GCC_INT32_TYPE)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  495) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  496) AC_MSG_CHECKING(for CPP predefined macro __UINT32_TYPE__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  497) AC_CACHE_VAL(ac_cv_uint32_type,
868b2b66 (kx 2024-12-20 16:11:07 +0300  498) [ac_cv_uint32_type=`$CC -dM -E - < /dev/null | grep __UINT32_TYPE__ | cut -f3- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  499) AC_CACHE_VAL(ac_cv_uint32_const_suffix,
868b2b66 (kx 2024-12-20 16:11:07 +0300  500) [ac_cv_uint32_const_suffix=`$CC -dM -E - < /dev/null | grep __UINT32_C | cut -f5- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  501) if test "$ac_cv_uint32_type" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  502)   GCC_UINT32_TYPE=$ac_cv_uint32_type
868b2b66 (kx 2024-12-20 16:11:07 +0300  503)   AC_MSG_RESULT($ac_cv_uint32_type)
868b2b66 (kx 2024-12-20 16:11:07 +0300  504) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  505)   GCC_UINT32_TYPE=
868b2b66 (kx 2024-12-20 16:11:07 +0300  506)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  507) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  508) AC_SUBST(GCC_UINT32_TYPE)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  509) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  510) AC_MSG_CHECKING(for CPP predefined macro __INT64_TYPE__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  511) AC_CACHE_VAL(ac_cv_int64_type,
868b2b66 (kx 2024-12-20 16:11:07 +0300  512) [ac_cv_int64_type=`$CC -dM -E - < /dev/null | grep __INT64_TYPE__ | cut -f3- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  513) if test "$ac_cv_int64_type" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  514)   GCC_INT64_TYPE=$ac_cv_int64_type
868b2b66 (kx 2024-12-20 16:11:07 +0300  515)   AC_MSG_RESULT($ac_cv_int64_type)
868b2b66 (kx 2024-12-20 16:11:07 +0300  516) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  517)   GCC_INT64_TYPE=
868b2b66 (kx 2024-12-20 16:11:07 +0300  518)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  519) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  520) AC_SUBST(GCC_INT64_TYPE)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  521) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  522) AC_MSG_CHECKING(for CPP predefined macro __UINT64_TYPE__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  523) AC_CACHE_VAL(ac_cv_uint64_type,
868b2b66 (kx 2024-12-20 16:11:07 +0300  524) [ac_cv_uint64_type=`$CC -dM -E - < /dev/null | grep __UINT64_TYPE__ | cut -f3- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  525) AC_CACHE_VAL(ac_cv_uint64_const_suffix,
868b2b66 (kx 2024-12-20 16:11:07 +0300  526) [ac_cv_uint64_const_suffix=`$CC -dM -E - < /dev/null | grep __UINT64_C | cut -f5- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  527) if test "$ac_cv_uint64_type" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  528)   GCC_UINT64_TYPE=$ac_cv_uint64_type
868b2b66 (kx 2024-12-20 16:11:07 +0300  529)   AC_MSG_RESULT($ac_cv_uint64_type)
868b2b66 (kx 2024-12-20 16:11:07 +0300  530) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  531)   GCC_UINT64_TYPE=
868b2b66 (kx 2024-12-20 16:11:07 +0300  532)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  533) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  534) AC_SUBST(GCC_UINT64_TYPE)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  535) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  536) AC_MSG_CHECKING(for CPP predefined macro __WINT_TYPE__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  537) AC_CACHE_VAL(ac_cv_wint_type,
868b2b66 (kx 2024-12-20 16:11:07 +0300  538) [ac_cv_wint_type=`$CC -dM -E - < /dev/null | grep __WINT_TYPE__ | cut -f3- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  539) if test "$ac_cv_wint_type" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  540)   GCC_WINT_TYPE=$ac_cv_wint_type
868b2b66 (kx 2024-12-20 16:11:07 +0300  541)   AC_MSG_RESULT($ac_cv_wint_type)
868b2b66 (kx 2024-12-20 16:11:07 +0300  542) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  543)   GCC_WINT_TYPE=
868b2b66 (kx 2024-12-20 16:11:07 +0300  544)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  545) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  546) AC_SUBST(GCC_WINT_TYPE)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  547) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  548) AC_MSG_CHECKING(for CPP predefined macro __INTMAX_TYPE__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  549) AC_CACHE_VAL(ac_cv_intmax_type,
868b2b66 (kx 2024-12-20 16:11:07 +0300  550) [ac_cv_intmax_type=`$CC -dM -E - < /dev/null | grep __INTMAX_TYPE__ | cut -f3- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  551) if test "$ac_cv_intmax_type" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  552)   GCC_INTMAX_TYPE=$ac_cv_intmax_type
868b2b66 (kx 2024-12-20 16:11:07 +0300  553)   AC_MSG_RESULT($ac_cv_intmax_type)
868b2b66 (kx 2024-12-20 16:11:07 +0300  554) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  555)   GCC_INTMAX_TYPE=
868b2b66 (kx 2024-12-20 16:11:07 +0300  556)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  557) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  558) AC_SUBST(GCC_INTMAX_TYPE)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  559) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  560) AC_MSG_CHECKING(for CPP predefined macro __UINTMAX_TYPE__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  561) AC_CACHE_VAL(ac_cv_uintmax_type,
868b2b66 (kx 2024-12-20 16:11:07 +0300  562) [ac_cv_uintmax_type=`$CC -dM -E - < /dev/null | grep __UINTMAX_TYPE__ | cut -f3- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  563) if test "$ac_cv_uintmax_type" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  564)   GCC_UINTMAX_TYPE=$ac_cv_uintmax_type
868b2b66 (kx 2024-12-20 16:11:07 +0300  565)   AC_MSG_RESULT($ac_cv_uintmax_type)
868b2b66 (kx 2024-12-20 16:11:07 +0300  566) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  567)   GCC_UINTMAX_TYPE=
868b2b66 (kx 2024-12-20 16:11:07 +0300  568)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  569) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  570) AC_SUBST(GCC_UINTMAX_TYPE)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  571) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  572) AC_MSG_CHECKING(for CPP predefined macro __SIZE_TYPE__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  573) AC_CACHE_VAL(ac_cv_size_type,
868b2b66 (kx 2024-12-20 16:11:07 +0300  574) [ac_cv_size_type=`$CC -dM -E - < /dev/null | grep __SIZE_TYPE__ | cut -f3- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  575) if test "$ac_cv_size_type" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  576)   GCC_SIZE_TYPE=$ac_cv_size_type
868b2b66 (kx 2024-12-20 16:11:07 +0300  577)   AC_MSG_RESULT($ac_cv_size_type)
868b2b66 (kx 2024-12-20 16:11:07 +0300  578) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  579)   GCC_SIZE_TYPE=
868b2b66 (kx 2024-12-20 16:11:07 +0300  580)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  581) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  582) AC_SUBST(GCC_SIZE_TYPE)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  583) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  584) AC_MSG_CHECKING(for CPP predefined macro __INTPTR_TYPE__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  585) AC_CACHE_VAL(ac_cv_intptr_type,
868b2b66 (kx 2024-12-20 16:11:07 +0300  586) [ac_cv_intptr_type=`$CC -dM -E - < /dev/null | grep __INTPTR_TYPE__ | cut -f3- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  587) if test "$ac_cv_intptr_type" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  588)   GCC_INTPTR_TYPE=$ac_cv_intptr_type
868b2b66 (kx 2024-12-20 16:11:07 +0300  589)   AC_MSG_RESULT($ac_cv_intptr_type)
868b2b66 (kx 2024-12-20 16:11:07 +0300  590) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  591)   GCC_INTPTR_TYPE=
868b2b66 (kx 2024-12-20 16:11:07 +0300  592)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  593) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  594) AC_SUBST(GCC_INTPTR_TYPE)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  595) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  596) AC_MSG_CHECKING(for CPP predefined macro __UINTPTR_TYPE__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  597) AC_CACHE_VAL(ac_cv_uintptr_type,
868b2b66 (kx 2024-12-20 16:11:07 +0300  598) [ac_cv_uintptr_type=`$CC -dM -E - < /dev/null | grep __UINTPTR_TYPE__ | cut -f3- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  599) if test "$ac_cv_uintptr_type" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  600)   GCC_UINTPTR_TYPE=$ac_cv_uintptr_type
868b2b66 (kx 2024-12-20 16:11:07 +0300  601)   AC_MSG_RESULT($ac_cv_uintptr_type)
868b2b66 (kx 2024-12-20 16:11:07 +0300  602) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  603)   GCC_UINTPTR_TYPE=
868b2b66 (kx 2024-12-20 16:11:07 +0300  604)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  605) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  606) AC_SUBST(GCC_UINTPTR_TYPE)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  607) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  608) AC_MSG_CHECKING(for CPP predefined macro __PTRDIFF_TYPE__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  609) AC_CACHE_VAL(ac_cv_ptrdiff_type,
868b2b66 (kx 2024-12-20 16:11:07 +0300  610) [ac_cv_ptrdiff_type=`$CC -dM -E - < /dev/null | grep __PTRDIFF_TYPE__ | cut -f3- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  611) if test "$ac_cv_ptrdiff_type" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  612)   GCC_PTRDIFF_TYPE=$ac_cv_ptrdiff_type
868b2b66 (kx 2024-12-20 16:11:07 +0300  613)   AC_MSG_RESULT($ac_cv_ptrdiff_type)
868b2b66 (kx 2024-12-20 16:11:07 +0300  614) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  615)   GCC_PTRDIFF_TYPE=
868b2b66 (kx 2024-12-20 16:11:07 +0300  616)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  617) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  618) AC_SUBST(GCC_PTRDIFF_TYPE)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  619) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  620) AC_MSG_CHECKING(for CPP predefined macro __SIG_ATOMIC_TYPE__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  621) AC_CACHE_VAL(ac_cv_sig_atomic_type,
868b2b66 (kx 2024-12-20 16:11:07 +0300  622) [ac_cv_sig_atomic_type=`$CC -dM -E - < /dev/null | grep __SIG_ATOMIC_TYPE__ | cut -f3- -d' ' | tr '\n' ' ' | tr -s ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  623) if test "$ac_cv_sig_atomic_type" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  624)   GCC_SIG_ATOMIC_TYPE=$ac_cv_sig_atomic_type
868b2b66 (kx 2024-12-20 16:11:07 +0300  625)   AC_MSG_RESULT($ac_cv_sig_atomic_type)
868b2b66 (kx 2024-12-20 16:11:07 +0300  626) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  627)   GCC_SIG_ATOMIC_TYPE=
868b2b66 (kx 2024-12-20 16:11:07 +0300  628)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  629) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  630) AC_SUBST(GCC_SIG_ATOMIC_TYPE)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  631) ])
868b2b66 (kx 2024-12-20 16:11:07 +0300  632) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  633) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  634) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  635) dnl  Test for GCC Sizeof Types:
868b2b66 (kx 2024-12-20 16:11:07 +0300  636) dnl  =========================
868b2b66 (kx 2024-12-20 16:11:07 +0300  637) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  638) dnl    configure.ac:
868b2b66 (kx 2024-12-20 16:11:07 +0300  639) dnl       AC_GCC_SIZEOF_TYPES
868b2b66 (kx 2024-12-20 16:11:07 +0300  640) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  641) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  642) AC_DEFUN([AC_GCC_SIZEOF_TYPES],
868b2b66 (kx 2024-12-20 16:11:07 +0300  643) [dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  644) AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_WCHAR_T__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  645) AC_CACHE_VAL(ac_cv_sizeof_wchar_t,
868b2b66 (kx 2024-12-20 16:11:07 +0300  646) [ac_cv_sizeof_wchar_t=`$CC -dM -E - < /dev/null | grep __SIZEOF_WCHAR_T__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  647) if test "$ac_cv_sizeof_wchar_t" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  648)   GCC_SIZEOF_WCHAR_T=$ac_cv_sizeof_wchar_t
868b2b66 (kx 2024-12-20 16:11:07 +0300  649)   AC_MSG_RESULT($ac_cv_sizeof_wchar_t)
868b2b66 (kx 2024-12-20 16:11:07 +0300  650) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  651)   GCC_SIZEOF_WCHAR_T=
868b2b66 (kx 2024-12-20 16:11:07 +0300  652)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  653) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  654) AC_SUBST(GCC_SIZEOF_WCHAR_T)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  655) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  656) AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_SHORT__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  657) AC_CACHE_VAL(ac_cv_sizeof_short,
868b2b66 (kx 2024-12-20 16:11:07 +0300  658) [ac_cv_sizeof_short=`$CC -dM -E - < /dev/null | grep __SIZEOF_SHORT__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  659) if test "$ac_cv_sizeof_short" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  660)   GCC_SIZEOF_SHORT=$ac_cv_sizeof_short
868b2b66 (kx 2024-12-20 16:11:07 +0300  661)   AC_MSG_RESULT($ac_cv_sizeof_short)
868b2b66 (kx 2024-12-20 16:11:07 +0300  662) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  663)   GCC_SIZEOF_SHORT=
868b2b66 (kx 2024-12-20 16:11:07 +0300  664)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  665) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  666) AC_SUBST(GCC_SIZEOF_SHORT)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  667) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  668) AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_INT__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  669) AC_CACHE_VAL(ac_cv_sizeof_int,
868b2b66 (kx 2024-12-20 16:11:07 +0300  670) [ac_cv_sizeof_int=`$CC -dM -E - < /dev/null | grep __SIZEOF_INT__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  671) if test "$ac_cv_sizeof_int" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  672)   GCC_SIZEOF_INT=$ac_cv_sizeof_int
868b2b66 (kx 2024-12-20 16:11:07 +0300  673)   AC_MSG_RESULT($ac_cv_sizeof_int)
868b2b66 (kx 2024-12-20 16:11:07 +0300  674) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  675)   GCC_SIZEOF_INT=
868b2b66 (kx 2024-12-20 16:11:07 +0300  676)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  677) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  678) AC_SUBST(GCC_SIZEOF_INT)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  679) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  680) AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_WINT_T__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  681) AC_CACHE_VAL(ac_cv_sizeof_wint_t,
868b2b66 (kx 2024-12-20 16:11:07 +0300  682) [ac_cv_sizeof_wint_t=`$CC -dM -E - < /dev/null | grep __SIZEOF_WINT_T__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  683) if test "$ac_cv_sizeof_wint_t" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  684)   GCC_SIZEOF_WINT_T=$ac_cv_sizeof_wint_t
868b2b66 (kx 2024-12-20 16:11:07 +0300  685)   AC_MSG_RESULT($ac_cv_sizeof_wint_t)
868b2b66 (kx 2024-12-20 16:11:07 +0300  686) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  687)   GCC_SIZEOF_WINT_T=
868b2b66 (kx 2024-12-20 16:11:07 +0300  688)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  689) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  690) AC_SUBST(GCC_SIZEOF_WINT_T)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  691) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  692) AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_LONG__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  693) AC_CACHE_VAL(ac_cv_sizeof_long,
868b2b66 (kx 2024-12-20 16:11:07 +0300  694) [ac_cv_sizeof_long=`$CC -dM -E - < /dev/null | grep __SIZEOF_LONG__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  695) if test "$ac_cv_sizeof_long" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  696)   GCC_SIZEOF_LONG=$ac_cv_sizeof_long
868b2b66 (kx 2024-12-20 16:11:07 +0300  697)   AC_MSG_RESULT($ac_cv_sizeof_long)
868b2b66 (kx 2024-12-20 16:11:07 +0300  698) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  699)   GCC_SIZEOF_LONG=
868b2b66 (kx 2024-12-20 16:11:07 +0300  700)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  701) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  702) AC_SUBST(GCC_SIZEOF_LONG)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  703) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  704) AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_LONG_LONG__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  705) AC_CACHE_VAL(ac_cv_sizeof_long_long,
868b2b66 (kx 2024-12-20 16:11:07 +0300  706) [ac_cv_sizeof_long_long=`$CC -dM -E - < /dev/null | grep __SIZEOF_LONG_LONG__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  707) if test "$ac_cv_sizeof_long_long" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  708)   GCC_SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long
868b2b66 (kx 2024-12-20 16:11:07 +0300  709)   AC_MSG_RESULT($ac_cv_sizeof_long_long)
868b2b66 (kx 2024-12-20 16:11:07 +0300  710) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  711)   GCC_SIZEOF_LONG_LONG=
868b2b66 (kx 2024-12-20 16:11:07 +0300  712)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  713) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  714) AC_SUBST(GCC_SIZEOF_LONG_LONG)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  715) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  716) AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_FLOAT__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  717) AC_CACHE_VAL(ac_cv_sizeof_float,
868b2b66 (kx 2024-12-20 16:11:07 +0300  718) [ac_cv_sizeof_float=`$CC -dM -E - < /dev/null | grep __SIZEOF_FLOAT__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  719) if test "$ac_cv_sizeof_float" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  720)   GCC_SIZEOF_FLOAT=$ac_cv_sizeof_float
868b2b66 (kx 2024-12-20 16:11:07 +0300  721)   AC_MSG_RESULT($ac_cv_sizeof_float)
868b2b66 (kx 2024-12-20 16:11:07 +0300  722) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  723)   GCC_SIZEOF_FLOAT=
868b2b66 (kx 2024-12-20 16:11:07 +0300  724)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  725) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  726) AC_SUBST(GCC_SIZEOF_FLOAT)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  727) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  728) AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_DOUBLE__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  729) AC_CACHE_VAL(ac_cv_sizeof_double,
868b2b66 (kx 2024-12-20 16:11:07 +0300  730) [ac_cv_sizeof_double=`$CC -dM -E - < /dev/null | grep __SIZEOF_DOUBLE__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  731) if test "$ac_cv_sizeof_double" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  732)   GCC_SIZEOF_DOUBLE=$ac_cv_sizeof_double
868b2b66 (kx 2024-12-20 16:11:07 +0300  733)   AC_MSG_RESULT($ac_cv_sizeof_double)
868b2b66 (kx 2024-12-20 16:11:07 +0300  734) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  735)   GCC_SIZEOF_DOUBLE=
868b2b66 (kx 2024-12-20 16:11:07 +0300  736)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  737) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  738) AC_SUBST(GCC_SIZEOF_DOUBLE)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  739) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  740) AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_LONG_DOUBLE__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  741) AC_CACHE_VAL(ac_cv_sizeof_long_double,
868b2b66 (kx 2024-12-20 16:11:07 +0300  742) [ac_cv_sizeof_long_double=`$CC -dM -E - < /dev/null | grep __SIZEOF_LONG_DOUBLE__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  743) if test "$ac_cv_sizeof_long_double" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  744)   GCC_SIZEOF_LONG_DOUBLE=$ac_cv_sizeof_long_double
868b2b66 (kx 2024-12-20 16:11:07 +0300  745)   AC_MSG_RESULT($ac_cv_sizeof_long_double)
868b2b66 (kx 2024-12-20 16:11:07 +0300  746) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  747)   GCC_SIZEOF_LONG_DOUBLE=
868b2b66 (kx 2024-12-20 16:11:07 +0300  748)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  749) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  750) AC_SUBST(GCC_SIZEOF_LONG_DOUBLE)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  751) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  752) AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_SIZE_T__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  753) AC_CACHE_VAL(ac_cv_sizeof_size_t,
868b2b66 (kx 2024-12-20 16:11:07 +0300  754) [ac_cv_sizeof_size_t=`$CC -dM -E - < /dev/null | grep __SIZEOF_SIZE_T__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  755) if test "$ac_cv_sizeof_size_t" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  756)   GCC_SIZEOF_SIZE_T=$ac_cv_sizeof_size_t
868b2b66 (kx 2024-12-20 16:11:07 +0300  757)   AC_MSG_RESULT($ac_cv_sizeof_size_t)
868b2b66 (kx 2024-12-20 16:11:07 +0300  758) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  759)   GCC_SIZEOF_SIZE_T=
868b2b66 (kx 2024-12-20 16:11:07 +0300  760)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  761) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  762) AC_SUBST(GCC_SIZEOF_SIZE_T)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  763) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  764) AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_POINTER__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  765) AC_CACHE_VAL(ac_cv_sizeof_pointer,
868b2b66 (kx 2024-12-20 16:11:07 +0300  766) [ac_cv_sizeof_pointer=`$CC -dM -E - < /dev/null | grep __SIZEOF_POINTER__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  767) if test "$ac_cv_sizeof_pointer" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  768)   GCC_SIZEOF_POINTER=$ac_cv_sizeof_pointer
868b2b66 (kx 2024-12-20 16:11:07 +0300  769)   AC_MSG_RESULT($ac_cv_sizeof_pointer)
868b2b66 (kx 2024-12-20 16:11:07 +0300  770) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  771)   GCC_SIZEOF_POINTER=
868b2b66 (kx 2024-12-20 16:11:07 +0300  772)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  773) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  774) AC_SUBST(GCC_SIZEOF_POINTER)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  775) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  776) AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_PTRDIFF_T__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  777) AC_CACHE_VAL(ac_cv_sizeof_ptrdiff_t,
868b2b66 (kx 2024-12-20 16:11:07 +0300  778) [ac_cv_sizeof_ptrdiff_t=`$CC -dM -E - < /dev/null | grep __SIZEOF_PTRDIFF_T__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  779) if test "$ac_cv_sizeof_ptrdiff_t" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  780)   GCC_SIZEOF_PTRDIFF_T=$ac_cv_sizeof_ptrdiff_t
868b2b66 (kx 2024-12-20 16:11:07 +0300  781)   AC_MSG_RESULT($ac_cv_sizeof_ptrdiff_t)
868b2b66 (kx 2024-12-20 16:11:07 +0300  782) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  783)   GCC_SIZEOF_PTRDIFF_T=
868b2b66 (kx 2024-12-20 16:11:07 +0300  784)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  785) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  786) AC_SUBST(GCC_SIZEOF_PTRDIFF_T)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  787) ])
868b2b66 (kx 2024-12-20 16:11:07 +0300  788) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  789) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  790) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  791) dnl  Test for GCC Width of Types:
868b2b66 (kx 2024-12-20 16:11:07 +0300  792) dnl  ===========================
868b2b66 (kx 2024-12-20 16:11:07 +0300  793) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  794) dnl    configure.ac:
868b2b66 (kx 2024-12-20 16:11:07 +0300  795) dnl       AC_GCC_WIDTH_OF_TYPES
868b2b66 (kx 2024-12-20 16:11:07 +0300  796) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  797) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  798) AC_DEFUN([AC_GCC_WIDTH_OF_TYPES],
868b2b66 (kx 2024-12-20 16:11:07 +0300  799) [dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  800) AC_MSG_CHECKING(for CPP predefined macro __CHAR_BIT__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  801) AC_CACHE_VAL(ac_cv_char_width,
868b2b66 (kx 2024-12-20 16:11:07 +0300  802) [ac_cv_char_width=`$CC -dM -E - < /dev/null | grep __CHAR_BIT__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  803) if test "$ac_cv_char_width" != ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  804)   GCC_CHAR_WIDTH=$ac_cv_char_width
868b2b66 (kx 2024-12-20 16:11:07 +0300  805)   AC_MSG_RESULT($ac_cv_char_width)
868b2b66 (kx 2024-12-20 16:11:07 +0300  806) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  807)   GCC_CHAR_WIDTH=
868b2b66 (kx 2024-12-20 16:11:07 +0300  808)   AC_MSG_RESULT(not defined)
868b2b66 (kx 2024-12-20 16:11:07 +0300  809) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  810) AC_SUBST(GCC_CHAR_WIDTH)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  811) ])
868b2b66 (kx 2024-12-20 16:11:07 +0300  812) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  813) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  814) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  815) dnl  Test for GCC Byte Order:
868b2b66 (kx 2024-12-20 16:11:07 +0300  816) dnl  =======================
868b2b66 (kx 2024-12-20 16:11:07 +0300  817) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  818) dnl    configure.ac:
868b2b66 (kx 2024-12-20 16:11:07 +0300  819) dnl       AC_GCC_BYTE_ORDER
868b2b66 (kx 2024-12-20 16:11:07 +0300  820) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  821) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  822) AC_DEFUN([AC_GCC_BYTE_ORDER],
868b2b66 (kx 2024-12-20 16:11:07 +0300  823) [dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  824) AC_MSG_CHECKING(for CPP predefined macro __BYTE_ORDER__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  825) AC_CACHE_VAL(ac_cv_order_little_endian,
868b2b66 (kx 2024-12-20 16:11:07 +0300  826) [ac_cv_order_little_endian=`$CC -dM -E - < /dev/null | grep __ORDER_LITTLE_ENDIAN__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  827) AC_CACHE_VAL(ac_cv_order_big_endian,
868b2b66 (kx 2024-12-20 16:11:07 +0300  828) [ac_cv_order_big_endian=`$CC -dM -E - < /dev/null | grep __ORDER_BIG_ENDIAN__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  829) AC_CACHE_VAL(ac_cv_byte_order,
868b2b66 (kx 2024-12-20 16:11:07 +0300  830) [ac_cv_byte_order=`$CC -dM -E - < /dev/null | grep __BYTE_ORDER__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  831) if test "$ac_cv_byte_order" = "__ORDER_LITTLE_ENDIAN__"; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  832)   GCC_BYTE_ORDER=1234
868b2b66 (kx 2024-12-20 16:11:07 +0300  833)   GCC_BYTE_ORDER_LITTLE_ENDIAN=1
868b2b66 (kx 2024-12-20 16:11:07 +0300  834)   GCC_BYTE_ORDER_BIG_ENDIAN=0
868b2b66 (kx 2024-12-20 16:11:07 +0300  835)   AC_MSG_RESULT(Little-endian)
868b2b66 (kx 2024-12-20 16:11:07 +0300  836) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  837)   GCC_BYTE_ORDER=4321
868b2b66 (kx 2024-12-20 16:11:07 +0300  838)   GCC_BYTE_ORDER_LITTLE_ENDIAN=0
868b2b66 (kx 2024-12-20 16:11:07 +0300  839)   GCC_BYTE_ORDER_BIG_ENDIAN=1
868b2b66 (kx 2024-12-20 16:11:07 +0300  840)   AC_MSG_RESULT(Big-endian)
868b2b66 (kx 2024-12-20 16:11:07 +0300  841) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  842) AC_SUBST(GCC_BYTE_ORDER)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  843) AC_SUBST(GCC_BYTE_ORDER_LITTLE_ENDIAN)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  844) AC_SUBST(GCC_BYTE_ORDER_BIG_ENDIAN)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  845) ])
868b2b66 (kx 2024-12-20 16:11:07 +0300  846) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  847) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  848) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  849) dnl  Test for GCC Float Word Order:
868b2b66 (kx 2024-12-20 16:11:07 +0300  850) dnl  =============================
868b2b66 (kx 2024-12-20 16:11:07 +0300  851) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  852) dnl    configure.ac:
868b2b66 (kx 2024-12-20 16:11:07 +0300  853) dnl       AC_GCC_FLOAT_WORD_ORDER
868b2b66 (kx 2024-12-20 16:11:07 +0300  854) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  855) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  856) AC_DEFUN([AC_GCC_FLOAT_WORD_ORDER],
868b2b66 (kx 2024-12-20 16:11:07 +0300  857) [dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  858) AC_MSG_CHECKING(for CPP predefined macro __FLOAT_WORD_ORDER__ )
868b2b66 (kx 2024-12-20 16:11:07 +0300  859) AC_CACHE_VAL(ac_cv_order_little_endian,
868b2b66 (kx 2024-12-20 16:11:07 +0300  860) [ac_cv_order_little_endian=`$CC -dM -E - < /dev/null | grep __ORDER_LITTLE_ENDIAN__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  861) AC_CACHE_VAL(ac_cv_order_big_endian,
868b2b66 (kx 2024-12-20 16:11:07 +0300  862) [ac_cv_order_big_endian=`$CC -dM -E - < /dev/null | grep __ORDER_BIG_ENDIAN__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  863) AC_CACHE_VAL(ac_cv_float_word_order,
868b2b66 (kx 2024-12-20 16:11:07 +0300  864) [ac_cv_float_word_order=`$CC -dM -E - < /dev/null | grep __FLOAT_WORD_ORDER__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  865) if test "$ac_cv_float_word_order" = "__ORDER_LITTLE_ENDIAN__"; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  866)   GCC_FLOAT_WORD_ORDER=1234
868b2b66 (kx 2024-12-20 16:11:07 +0300  867)   GCC_FLOAT_WORD_ORDER_LITTLE_ENDIAN=1
868b2b66 (kx 2024-12-20 16:11:07 +0300  868)   GCC_FLOAT_WORD_ORDER_BIG_ENDIAN=0
868b2b66 (kx 2024-12-20 16:11:07 +0300  869)   AC_MSG_RESULT(Little-endian)
868b2b66 (kx 2024-12-20 16:11:07 +0300  870) else
868b2b66 (kx 2024-12-20 16:11:07 +0300  871)   GCC_FLOAT_WORD_ORDER=4321
868b2b66 (kx 2024-12-20 16:11:07 +0300  872)   GCC_FLOAT_WORD_ORDER_LITTLE_ENDIAN=0
868b2b66 (kx 2024-12-20 16:11:07 +0300  873)   GCC_FLOAT_WORD_ORDER_BIG_ENDIAN=1
868b2b66 (kx 2024-12-20 16:11:07 +0300  874)   AC_MSG_RESULT(Big-endian)
868b2b66 (kx 2024-12-20 16:11:07 +0300  875) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  876) AC_SUBST(GCC_FLOAT_WORD_ORDER)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  877) AC_SUBST(GCC_FLOAT_WORD_ORDER_LITTLE_ENDIAN)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  878) AC_SUBST(GCC_FLOAT_WORD_ORDER_BIG_ENDIAN)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  879) ])
868b2b66 (kx 2024-12-20 16:11:07 +0300  880) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  881) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  882) dnl =======================================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  883) dnl  AC_GCC_PROGRAMMING_MODEL
868b2b66 (kx 2024-12-20 16:11:07 +0300  884) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  885) dnl  Determine programming model corresponding to following list:
868b2b66 (kx 2024-12-20 16:11:07 +0300  886) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  887) dnl    PROGRAMMING MODELS:
868b2b66 (kx 2024-12-20 16:11:07 +0300  888) dnl    ------------------
868b2b66 (kx 2024-12-20 16:11:07 +0300  889) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  890) dnl           PM: |     1 |     2 |        3  |     4 |        5  |      6
868b2b66 (kx 2024-12-20 16:11:07 +0300  891) dnl    -----------+-------+-------+-----------+-------+-----------+--------
868b2b66 (kx 2024-12-20 16:11:07 +0300  892) dnl               |  LP32 | ILP32 |     LP64  | ILP64 |    LLP64  | SILP64
868b2b66 (kx 2024-12-20 16:11:07 +0300  893) dnl     Data type |       |       | (I32LP64) |       | (IL32P64) |
868b2b66 (kx 2024-12-20 16:11:07 +0300  894) dnl    ===========|=======|=======|===========|=======|===========|========
868b2b66 (kx 2024-12-20 16:11:07 +0300  895) dnl          char |     8 |     8 |         8 |     8 |         8 |      8
868b2b66 (kx 2024-12-20 16:11:07 +0300  896) dnl    -----------+-------+-------+-----------+-------+-----------+--------
868b2b66 (kx 2024-12-20 16:11:07 +0300  897) dnl         short |    16 |    16 |        16 |    16 |        16 |     64
868b2b66 (kx 2024-12-20 16:11:07 +0300  898) dnl    -----------+-------+-------+-----------+-------+-----------+--------
868b2b66 (kx 2024-12-20 16:11:07 +0300  899) dnl           int |    16 |    32 |        32 |    64 |        32 |     64
868b2b66 (kx 2024-12-20 16:11:07 +0300  900) dnl    -----------+-------+-------+-----------+-------+-----------+--------
868b2b66 (kx 2024-12-20 16:11:07 +0300  901) dnl          long |    32 |    32 |        64 |    64 |        32 |     64
868b2b66 (kx 2024-12-20 16:11:07 +0300  902) dnl    -----------+-------+-------+-----------+-------+-----------+--------
868b2b66 (kx 2024-12-20 16:11:07 +0300  903) dnl     long long |                     64
868b2b66 (kx 2024-12-20 16:11:07 +0300  904) dnl    -----------+-------+-------+-----------+-------+-----------+--------
868b2b66 (kx 2024-12-20 16:11:07 +0300  905) dnl       pointer |    32 |    32 |        64 |    64 |        64 |     64
868b2b66 (kx 2024-12-20 16:11:07 +0300  906) dnl    -----------+-------+-------+-----------+-------+-----------+--------
868b2b66 (kx 2024-12-20 16:11:07 +0300  907) dnl     ptrdiff_t |    32 |    32 |        64 |    64 |        64 |     64
868b2b66 (kx 2024-12-20 16:11:07 +0300  908) dnl    ===========+=======+=======+===========+=======+===========+========
868b2b66 (kx 2024-12-20 16:11:07 +0300  909) dnl          CPU: |       |  i686 |    x86_64 |       |           |
868b2b66 (kx 2024-12-20 16:11:07 +0300  910) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  911) dnl    Many 64-bit platforms today use an LP64 model (including Solaris,
868b2b66 (kx 2024-12-20 16:11:07 +0300  912) dnl    AIX, HP-UX, Linux, macOS, BSD, and IBM z/OS).  Microsoft Windows
868b2b66 (kx 2024-12-20 16:11:07 +0300  913) dnl    uses an LLP64 model.  The disadvantage of the LP64 model is that
868b2b66 (kx 2024-12-20 16:11:07 +0300  914) dnl    storing a long into an int may overflow.  On the other hand,
868b2b66 (kx 2024-12-20 16:11:07 +0300  915) dnl    converting a pointer to a long will “work” in LP64. In the LLP64
868b2b66 (kx 2024-12-20 16:11:07 +0300  916) dnl    model, the reverse is true.  These are not problems which affect
868b2b66 (kx 2024-12-20 16:11:07 +0300  917) dnl    fully standard-compliant code, but code is often written with
868b2b66 (kx 2024-12-20 16:11:07 +0300  918) dnl    implicit assumptions about the widths of data types. C code
868b2b66 (kx 2024-12-20 16:11:07 +0300  919) dnl    should prefer (u)intptr_t instead of long when casting pointers
868b2b66 (kx 2024-12-20 16:11:07 +0300  920) dnl    into integer objects.
868b2b66 (kx 2024-12-20 16:11:07 +0300  921) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  922) dnl =======================================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  923) AC_DEFUN([AC_GCC_PROGRAMMING_MODEL],
868b2b66 (kx 2024-12-20 16:11:07 +0300  924) [AC_REQUIRE([AC_GCC_TYPES])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  925) AC_REQUIRE([AC_GCC_SIZEOF_TYPES])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  926) AC_CACHE_CHECK(for Target Machine Programming Model, ac_cv_gcc_programming_model,
868b2b66 (kx 2024-12-20 16:11:07 +0300  927) ac_cv_gcc_programming_model=unknown  dnl Initialize to unknown
868b2b66 (kx 2024-12-20 16:11:07 +0300  928) [
868b2b66 (kx 2024-12-20 16:11:07 +0300  929) silp=${ac_cv_sizeof_short}${ac_cv_sizeof_int}${ac_cv_sizeof_long}${ac_cv_sizeof_pointer}
868b2b66 (kx 2024-12-20 16:11:07 +0300  930) changequote(,)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  931) case "$silp" in
868b2b66 (kx 2024-12-20 16:11:07 +0300  932)    2244)
868b2b66 (kx 2024-12-20 16:11:07 +0300  933)       ac_cv_gcc_programming_model=LP32
868b2b66 (kx 2024-12-20 16:11:07 +0300  934)       ac_cv_gcc_programming_model_silp=2244
868b2b66 (kx 2024-12-20 16:11:07 +0300  935)       ac_cv_gcc_programming_model_id=1
868b2b66 (kx 2024-12-20 16:11:07 +0300  936)       ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300  937)    2444)
868b2b66 (kx 2024-12-20 16:11:07 +0300  938)       ac_cv_gcc_programming_model=ILP32
868b2b66 (kx 2024-12-20 16:11:07 +0300  939)       ac_cv_gcc_programming_model_silp=2444
868b2b66 (kx 2024-12-20 16:11:07 +0300  940)       ac_cv_gcc_programming_model_id=2
868b2b66 (kx 2024-12-20 16:11:07 +0300  941)       ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300  942)    2488)
868b2b66 (kx 2024-12-20 16:11:07 +0300  943)       ac_cv_gcc_programming_model=LP64
868b2b66 (kx 2024-12-20 16:11:07 +0300  944)       ac_cv_gcc_programming_model_silp=2488
868b2b66 (kx 2024-12-20 16:11:07 +0300  945)       ac_cv_gcc_programming_model_id=3
868b2b66 (kx 2024-12-20 16:11:07 +0300  946)       ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300  947)    2888)
868b2b66 (kx 2024-12-20 16:11:07 +0300  948)       ac_cv_gcc_programming_model=ILP64
868b2b66 (kx 2024-12-20 16:11:07 +0300  949)       ac_cv_gcc_programming_model_silp=2888
868b2b66 (kx 2024-12-20 16:11:07 +0300  950)       ac_cv_gcc_programming_model_id=4
868b2b66 (kx 2024-12-20 16:11:07 +0300  951)       ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300  952)    2448)
868b2b66 (kx 2024-12-20 16:11:07 +0300  953)       ac_cv_gcc_programming_model=LLP64
868b2b66 (kx 2024-12-20 16:11:07 +0300  954)       ac_cv_gcc_programming_model_silp=2448
868b2b66 (kx 2024-12-20 16:11:07 +0300  955)       ac_cv_gcc_programming_model_id=5
868b2b66 (kx 2024-12-20 16:11:07 +0300  956)       ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300  957)    8888)
868b2b66 (kx 2024-12-20 16:11:07 +0300  958)       ac_cv_gcc_programming_model=SILP64
868b2b66 (kx 2024-12-20 16:11:07 +0300  959)       ac_cv_gcc_programming_model_silp=8888
868b2b66 (kx 2024-12-20 16:11:07 +0300  960)       ac_cv_gcc_programming_model_id=6
868b2b66 (kx 2024-12-20 16:11:07 +0300  961)       ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300  962)    *)
868b2b66 (kx 2024-12-20 16:11:07 +0300  963) changequote([,])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  964)       ac_cv_c_programming_model=unknown
868b2b66 (kx 2024-12-20 16:11:07 +0300  965)       ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300  966) esac
868b2b66 (kx 2024-12-20 16:11:07 +0300  967) ]
868b2b66 (kx 2024-12-20 16:11:07 +0300  968) if test $ac_cv_gcc_programming_model = unknown ; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  969)   AC_MSG_ERROR([
868b2b66 (kx 2024-12-20 16:11:07 +0300  970) ********   ${TB}Not able to determine programming model.${TN}])
868b2b66 (kx 2024-12-20 16:11:07 +0300  971) elif test $ac_cv_gcc_programming_model = LP32 ; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  972)   AC_MSG_ERROR([
868b2b66 (kx 2024-12-20 16:11:07 +0300  973) ********   ${TB}MPU Library does not support LP32 programming model.${TN}])
868b2b66 (kx 2024-12-20 16:11:07 +0300  974) elif test $ac_cv_gcc_programming_model = IPL64 ; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  975)   AC_MSG_ERROR([
868b2b66 (kx 2024-12-20 16:11:07 +0300  976) ********   ${TB}MPU Library does not support IPL64 programming model.${TN}])
868b2b66 (kx 2024-12-20 16:11:07 +0300  977) elif test $ac_cv_gcc_programming_model = SIPL64 ; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  978)   AC_MSG_ERROR([
868b2b66 (kx 2024-12-20 16:11:07 +0300  979) ********   ${TB}MPU Library does not support SIPL64 programming model.${TN}])
868b2b66 (kx 2024-12-20 16:11:07 +0300  980) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  981) )
868b2b66 (kx 2024-12-20 16:11:07 +0300  982) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  983) dnl =======================================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  984) dnl Programming model IDs:
868b2b66 (kx 2024-12-20 16:11:07 +0300  985) dnl =======================================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300  986) AC_SUBST(PM_LP32, 1)
868b2b66 (kx 2024-12-20 16:11:07 +0300  987) AC_SUBST(PM_ILP32, 2)
868b2b66 (kx 2024-12-20 16:11:07 +0300  988) AC_SUBST(PM_LP64, 3)
868b2b66 (kx 2024-12-20 16:11:07 +0300  989) AC_SUBST(PM_ILP64, 4)
868b2b66 (kx 2024-12-20 16:11:07 +0300  990) AC_SUBST(PM_LLP64, 5)
868b2b66 (kx 2024-12-20 16:11:07 +0300  991) AC_SUBST(PM_SILP64, 6)
868b2b66 (kx 2024-12-20 16:11:07 +0300  992) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  993) AC_DEFINE([__PM_LP32], [1], [The ID of LP32 programming model.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  994) AC_DEFINE([__PM_ILP32], [2], [The ID of ILP32 programming model.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  995) AC_DEFINE([__PM_LP64], [3], [The ID of LP64 programming model.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  996) AC_DEFINE([__PM_ILP64], [4], [The ID of ILP64 programming model.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  997) AC_DEFINE([__PM_LLP64], [5], [The ID of LLP64 programming model.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  998) AC_DEFINE([__PM_SILP64], [6], [The ID of SILP64 programming model.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  999) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 1000) dnl =======================================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300 1001) dnl EMUSHORT, EMULONG Types:
868b2b66 (kx 2024-12-20 16:11:07 +0300 1002) dnl =======================================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300 1003) AC_SUBST(LIBMPU_EMUSHORT_TYPE, $ac_cv_int32_type)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1004) AC_SUBST(LIBMPU_UINT32_CONST_SUFFIX, $ac_cv_uint32_const_suffix)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1005) AC_SUBST(LIBMPU_SIZEOF_EMUSHORT, 4)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1006) AC_SUBST(LIBMPU_EMUSHORT_WIDTH, 32)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1007) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 1008) AC_DEFINE_UNQUOTED([EMUSHORT], [$ac_cv_uint32_type], [The type of unsigned 32-bit integer variables.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 1009) AC_DEFINE_UNQUOTED([EMUSHORT_C(c)], [c ## $ac_cv_uint32_const_suffix], [The macro for expand the EMUSHORT value to constant expression.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 1010) AC_DEFINE([SIZE_OF_EMUSHORT], [4], [The size of EMUSHORT type in bytes.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 1011) AC_DEFINE([BITS_PER_EMUSHORT], [32], [The size of EMUSHORT type in bits.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 1012) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 1013) AC_SUBST(LIBMPU_EMUPART_TYPE, $ac_cv_int32_type)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1014) AC_SUBST(LIBMPU_SIZEOF_EMUPART, 4)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1015) AC_SUBST(LIBMPU_EMUPART_WIDTH, 32)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1016) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 1017) AC_DEFINE_UNQUOTED([EMUPART], [$ac_cv_uint32_type], [The type of unsigned 32-bit integer variables.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 1018) AC_DEFINE_UNQUOTED([EMUPART_C(c)], [c ## $ac_cv_uint32_const_suffix], [The macro for expand the EMUPART value to constant expression.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 1019) AC_DEFINE([SIZE_OF_EMUPART], [4], [The size of EMUPART type in bytes.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 1020) AC_DEFINE([BITS_PER_EMUPART], [32], [The size of EMUPART type in bits.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 1021) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 1022) AC_SUBST(LIBMPU_EMULONG_TYPE, $ac_cv_int64_type)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1023) AC_SUBST(LIBMPU_UINT64_CONST_SUFFIX, $ac_cv_uint64_const_suffix)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1024) AC_SUBST(LIBMPU_SIZEOF_EMULONG, 8)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1025) AC_SUBST(LIBMPU_EMULONG_WIDTH, 64)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1026) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 1027) AC_DEFINE_UNQUOTED([EMULONG], [$ac_cv_uint64_type], [The type of unsigned 64-bit integer variables.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 1028) AC_DEFINE_UNQUOTED([EMULONG_C(c)], [c ## $ac_cv_uint64_const_suffix], [The macro for expand the EMULONG value to constant expression.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 1029) AC_DEFINE([SIZE_OF_EMULONG], [8], [The size of EMULONG type in bytes.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 1030) AC_DEFINE([BITS_PER_EMULONG], [64], [The size of EMULONG type in bits.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 1031) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 1032) AC_DEFINE_UNQUOTED([BITS_PER_BYTE], [$ac_cv_char_width], [The size of BYTE or UNIT type in bits.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 1033) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 1034) AC_SUBST(GCC_PROGRAMMING_MODEL, $ac_cv_gcc_programming_model)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1035) AC_SUBST(GCC_PROGRAMMING_MODEL_SILP, $ac_cv_gcc_programming_model_silp)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1036) AC_SUBST(GCC_PROGRAMMING_MODEL_ID, $ac_cv_gcc_programming_model_id)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1037) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 1038) AC_DEFINE_UNQUOTED([__PROGRAMMING_MODEL], [$ac_cv_gcc_programming_model], [The programming model name.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 1039) AC_DEFINE_UNQUOTED([__PROGRAMMING_MODEL_SILP], [$ac_cv_gcc_programming_model_silp], [The programming model sizes of short, int, long, pointer types.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 1040) AC_DEFINE_UNQUOTED([__PROGRAMMING_MODEL_ID], [$ac_cv_gcc_programming_model_id], [The programming model identificator.])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 1041) ])
868b2b66 (kx 2024-12-20 16:11:07 +0300 1042) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 1043) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 1044) AC_DEFUN([AC_LIBMPU_LT_VERSION_INFO],
868b2b66 (kx 2024-12-20 16:11:07 +0300 1045) [AC_MSG_CHECKING(for MPU Library Version Information)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1046) #
868b2b66 (kx 2024-12-20 16:11:07 +0300 1047) # Made LT_VERSION_INFO so that library version matches PACKAGE_VERSION:
868b2b66 (kx 2024-12-20 16:11:07 +0300 1048) #
868b2b66 (kx 2024-12-20 16:11:07 +0300 1049) major=`echo ${PACKAGE_VERSION} | cut -f1 -d'.'`
868b2b66 (kx 2024-12-20 16:11:07 +0300 1050) minor=`echo ${PACKAGE_VERSION} | cut -f2 -d'.'`
868b2b66 (kx 2024-12-20 16:11:07 +0300 1051) patch=`echo ${PACKAGE_VERSION} | cut -f3 -d'.'`
868b2b66 (kx 2024-12-20 16:11:07 +0300 1052) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 1053) current=$( expr ${major} + ${patch} )
868b2b66 (kx 2024-12-20 16:11:07 +0300 1054) revision=${minor}
868b2b66 (kx 2024-12-20 16:11:07 +0300 1055) age=${patch}
868b2b66 (kx 2024-12-20 16:11:07 +0300 1056) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 1057) ac_cv_libmpu_lt_release="${major}.${minor}"
868b2b66 (kx 2024-12-20 16:11:07 +0300 1058) ac_cv_libmpu_lt_current="${current}"
868b2b66 (kx 2024-12-20 16:11:07 +0300 1059) ac_cv_libmpu_lt_revision="${revision}"
868b2b66 (kx 2024-12-20 16:11:07 +0300 1060) ac_cv_libmpu_lt_age="${age}"
868b2b66 (kx 2024-12-20 16:11:07 +0300 1061) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 1062) ac_cv_libmpu_lt_version_info="${major}:${age}:${revision}"
868b2b66 (kx 2024-12-20 16:11:07 +0300 1063) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 1064) AC_SUBST(LIBMPU_LT_RELEASE, $ac_cv_libmpu_lt_release)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1065) AC_SUBST(LIBMPU_LT_VERSION_INFO, $ac_cv_libmpu_lt_version_info)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1066) AC_SUBST(LIBMPU_LT_CURRENT, $ac_cv_libmpu_lt_current)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1067) AC_SUBST(LIBMPU_LT_REVISION, $ac_cv_libmpu_lt_revision)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1068) AC_SUBST(LIBMPU_LT_AGE, $ac_cv_libmpu_lt_age)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1069) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 1070) AC_MSG_RESULT($ac_cv_libmpu_lt_version_info)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1071) if test "$ac_cv_libmpu_lt_version_info" = ""; then
868b2b66 (kx 2024-12-20 16:11:07 +0300 1072) AC_MSG_ERROR([
868b2b66 (kx 2024-12-20 16:11:07 +0300 1073) ********   ${TB}The MPU Library Version Information does not declared.${TN}])
868b2b66 (kx 2024-12-20 16:11:07 +0300 1074) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300 1075) ])
868b2b66 (kx 2024-12-20 16:11:07 +0300 1076) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 1077) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 1078) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300 1079) dnl  Test if LD_LIBRARY_PATH contains the notation for the
868b2b66 (kx 2024-12-20 16:11:07 +0300 1080) dnl  current directory since this would lead to problems
868b2b66 (kx 2024-12-20 16:11:07 +0300 1081) dnl  installing/building kxlibc .
868b2b66 (kx 2024-12-20 16:11:07 +0300 1082) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 1083) dnl  LD_LIBRARY_PATH contains the current directory if one
868b2b66 (kx 2024-12-20 16:11:07 +0300 1084) dnl  of the following is true:
868b2b66 (kx 2024-12-20 16:11:07 +0300 1085) dnl     - one of the terminals (":" and ";") is the first or
868b2b66 (kx 2024-12-20 16:11:07 +0300 1086) dnl       last sign;
868b2b66 (kx 2024-12-20 16:11:07 +0300 1087) dnl     - two terminals occur directly after each other;
868b2b66 (kx 2024-12-20 16:11:07 +0300 1088) dnl     - the path contains an element with a dot in it .
868b2b66 (kx 2024-12-20 16:11:07 +0300 1089) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300 1090) AC_DEFUN([AC_LD_LIBRARY_PATH],
868b2b66 (kx 2024-12-20 16:11:07 +0300 1091) [AC_MSG_CHECKING(for LD_LIBRARY_PATH does not contain current directory)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1092) changequote(,)dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 1093) case ${LD_LIBRARY_PATH} in
868b2b66 (kx 2024-12-20 16:11:07 +0300 1094)    [:\;]* | *[:\;] | *[:\;][:\;]* |  *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
868b2b66 (kx 2024-12-20 16:11:07 +0300 1095)       ld_library_path_setting="contains current directory"
868b2b66 (kx 2024-12-20 16:11:07 +0300 1096)       ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300 1097)    *)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1098)       ld_library_path_setting="ok"
868b2b66 (kx 2024-12-20 16:11:07 +0300 1099)       ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300 1100) esac
868b2b66 (kx 2024-12-20 16:11:07 +0300 1101) changequote([,])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 1102) AC_MSG_RESULT($ld_library_path_setting)
868b2b66 (kx 2024-12-20 16:11:07 +0300 1103) if test "$ld_library_path_setting" != "ok"; then
868b2b66 (kx 2024-12-20 16:11:07 +0300 1104) AC_MSG_ERROR([
868b2b66 (kx 2024-12-20 16:11:07 +0300 1105) ********   ${TB}LD_LIBRARY_PATH shouldn't contain the current directory when${TN}
868b2b66 (kx 2024-12-20 16:11:07 +0300 1106) ********   ${TB}building MPU Library. Please change the environment variable${TN}
868b2b66 (kx 2024-12-20 16:11:07 +0300 1107) ********   ${TB}and run configure again.${TN}])
868b2b66 (kx 2024-12-20 16:11:07 +0300 1108) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300 1109) ])