dnl ============================================================ dnl We define the macro GLIBC_PROVIDES to do an AC_PROVIDE for dnl each macro which appears in configure.ac before the sysdep dnl configure scripts are run. Each sysdep configure.ac does dnl LIBMPU_PROVIDES first, to avoid any AC_REQUIREs or dnl AC_BEFOREs duplicating their code. dnl ============================================================ define([LIBMPU_PROVIDES], [dnl AC_PROVIDE([AC_CONFIG_AUX_DIR_DEFAULT])dnl AC_PROVIDE([AC_CONFIG_SUBDIRS])dnl AC_PROVIDE([_AS_ECHO_N_PREPARE])dnl AC_PROVIDE([_AS_ECHO_PREPARE])dnl AC_PROVIDE([_AS_CR_PREPARE])dnl AC_PROVIDE([_AS_TR_SH_PREPARE])dnl AC_PROVIDE([_AS_VAR_ARITH_PREPARE])dnl AC_PROVIDE([AC_PROG_INSTALL])dnl AC_PROVIDE([AC_PROG_CC])dnl AC_PROVIDE([AC_PROG_CPP])dnl AC_PROVIDE([_AS_PATH_SEPARATOR_PREPARE])dnl AC_PROVIDE([_AS_TEST_PREPARE])dnl AC_PROVIDE([_AS_BASENAME_PREPARE])dnl AC_PROVIDE([_AS_ME_PREPARE])dnl AC_PROVIDE([_AS_LINENO_PREPARE])dnl AC_PROVIDE([AS_SHELL_FN_as_fn_set_status])dnl AC_PROVIDE([AS_SHELL_FN_as_fn_exit])dnl AC_PROVIDE([AS_SHELL_FN_as_fn_arith])dnl AC_PROVIDE([AS_SHELL_FN_ac_fn_c_try_compile])dnl define([AS_MESSAGE_LOG_FD],5)dnl define([AS_MESSAGE_FD],6)dnl dnl Ripped out of AS_INIT, which does more cruft we do not want. m4_wrap([m4_divert_pop([BODY])[]]) m4_divert_push([BODY])[]dnl dnl End of ripped out of AS_INIT. # This file is generated from configure.ac by Autoconf. DO NOT EDIT! define([_AC_LANG], [C])dnl ])dnl dnl ============================================================ dnl Support for Configuration Headers dnl dnl configure.ac: dnl AC_LIBMPU_HEADLINE(, , dnl , , dnl ) dnl dnl NOTE: dnl ==== dnl See the paragraph 8.3.3 of Autoconf Documentation at: dnl dnl https://www.gnu.org/software/autoconf/manual/autoconf.html#Diversion-support dnl dnl ============================================================ m4_define([AC_LIBMPU_HEADLINE], [dnl m4_divert_push([M4SH-SANITIZE])dnl { if test ".`echo dummy [$]@ | grep help`" = .; then ####### bootstrapping version-tool ac_prog=[$]0 changequote(, )dnl ac_srcdir=`echo $ac_prog | sed -e 's%/[^/][^/]*$%%' -e 's%\([^/]\)/*$%\1%'` changequote([, ])dnl test ".$ac_srcdir" = ".$ac_prog" && ac_srcdir=. ac_version_tool="${CONFIG_SHELL-/bin/sh} $ac_srcdir/version-tool" ####### нахождение escape последовательностей для ####### обозначения начала и конца выделяемого текста ####### Use a `Quadrigaph'. '@<:@' gives you [ and '@:>@' gives you ] : TB=`echo -n -e '\033@<:@1m'` TN=`echo -n -e '\033@<:@0m'` ####### чтение короткого номера версии продукта (например, "1.0.0") $3="`$ac_version_tool $ac_srcdir/$4`" AC_SUBST($3) ####### печать заголовка echo "Configuring:" echo "" echo "${TB}$1${TN} ($2), Version ${TB}${$3}${TN}" echo "$5" echo "" ####### чтение шестнадцатеричного номера версии продукта (например, 0x100200) # $3_HEX="`$ac_version_tool version -lc -dhex $ac_srcdir/$4`" # AC_SUBST($3_HEX) fi } m4_divert_pop([M4SH-SANITIZE])dnl ])dnl dnl ============================================================ dnl Display Configuration Headers dnl dnl configure.ac: dnl AC_MSG_CFG_PART() dnl ============================================================ AC_DEFUN([AC_MSG_CFG_PART],[dnl AC_MSG_RESULT() AC_MSG_RESULT([${TB}$1:${TN}]) ])dnl dnl ============================================================ dnl Check for weak symbols too: dnl ============================================================ AC_DEFUN([LIBMPU_ALIAS_ATTRIBUTE], [AC_CACHE_CHECK(for broken __attribute__((alias())), libmpu_cv_broken_alias_attribute, [cat > conftest.c <&AS_MESSAGE_LOG_FD); then if grep 'xyzzy' conftest.s >/dev/null && grep 'abccb' conftest.s >/dev/null; then libmpu_cv_broken_alias_attribute=no fi fi rm -f conftest.c conftest.s ]) if test $libmpu_cv_broken_alias_attribute = yes; then AC_MSG_ERROR([ ******** ${TB}Working alias attribute support required.${TN}]) else AC_DEFINE(HAVE_WEAK_SYMBOLS, 1, [Defined if supports weak symbols.]) fi ]) dnl ============================================================ dnl Check for hidden visibility attribute: dnl ============================================================ AC_DEFUN([LIBMPU_HIDDEN_VISIBILITY_ATTRIBUTE], [AC_CACHE_CHECK(for __attribute__((visibility("hidden"))), libmpu_cv_hidden_visibility_attribute, [cat > conftest.c <&AS_MESSAGE_LOG_FD); then if grep '\.hidden.*foo' conftest.s >/dev/null; then libmpu_cv_hidden_visibility_attribute=yes fi fi rm -f conftest.c conftest.s ]) if test $libmpu_cv_hidden_visibility_attribute = yes; then AC_DEFINE([HAVE_HIDDEN_VISIBILITY_ATTRIBUTE], [1], [Defined if __attribute__((visibility("hidden"))) supported.]) fi ]) dnl ============================================================ dnl Check GNU Binutils dnl dnl configure.ac: dnl LIBMPU_PROG_BINUTILS dnl ============================================================ AC_DEFUN([LIBMPU_PROG_FOO_GNU], [# Most GNU programs take a -v and spit out some text including # the word 'GNU'. Some try to read stdin, so give them /dev/null. if $1 -o conftest -v &1 | grep GNU > /dev/null 2>&1; then $2 else $3 fi rm -fr contest*]) AC_DEFUN([LIBMPU_PROG_BINUTILS], [dnl AS=`$CC -print-prog-name=as` LD=`$CC -print-prog-name=ld` AR=`$CC -print-prog-name=ar` AC_SUBST(AR) AC_SUBST(AS) OBJDUMP=`$CC -print-prog-name=objdump` AC_SUBST(OBJDUMP) OBJCOPY=`$CC -print-prog-name=objcopy` AC_SUBST(OBJCOPY) # ranlib has to be treated a bit differently since it might not exist at all. RANLIB=`$CC -print-prog-name=ranlib` if test $RANLIB = ranlib; then # This extra check has to happen since gcc simply echos the parameter in # case it cannot find the value in its own directories. AC_CHECK_TOOL(RANLIB, ranlib, :) fi AC_SUBST(RANLIB) # readelf has to be treated a bit differently since it might not exist at all. READELF=`$CC -print-prog-name=readelf` if test $READELF = readelf; then # This extra check has to happen since gcc simply echos the parameter in # case it cannot find the value in its own directories. AC_CHECK_TOOL(READELF, readelf, :) fi AC_SUBST(READELF) # nm has to be treated a bit differently since it might not exist at all. NM=`$CC -print-prog-name=nm` if test $NM = nm; then # This extra check has to happen since gcc simply echos the parameter in # case it cannot find the value in its own directories. AC_CHECK_TOOL(NM, nm, :) fi AC_SUBST(NM) # strip has to be treated a bit differently since it might not exist at all. STRIP=`$CC -print-prog-name=strip` if test $STRIP = strip; then # This extra check has to happen since gcc simply echos the parameter in # case it cannot find the value in its own directories. AC_CHECK_TOOL(STRIP, strip, :) fi AC_SUBST(STRIP) # Determine whether we are using GNU binutils. AC_CACHE_CHECK(whether $AS is GNU as, libmpu_cv_prog_as_gnu, [LIBMPU_PROG_FOO_GNU($AS, libmpu_cv_prog_as_gnu=yes, libmpu_cv_prog_as_gnu=no)]) rm -f a.out gnu_as=$libmpu_cv_prog_as_gnu AC_CACHE_CHECK(whether $LD is GNU ld, libmpu_cv_prog_ld_gnu, [LIBMPU_PROG_FOO_GNU($LD, libmpu_cv_prog_ld_gnu=yes, libmpu_cv_prog_ld_gnu=no)]) gnu_ld=$libmpu_cv_prog_ld_gnu ]) dnl ============================================================ dnl Test for build_cc: dnl ================= dnl dnl configure.ac: dnl if test $host != $build; then dnl AC_PROG_BUILD_CC dnl fi dnl dnl ============================================================ AC_DEFUN([AC_PROG_BUILD_CC], [ac_test_BUILD_CFLAGS=${BUILD_CFLAGS+set} ac_save_BUILD_CFLAGS=$BUILD_CFLAGS AC_CHECK_PROGS(BUILD_CC, gcc cc) AC_MSG_CHECKING(whether $BUILD_CC works on build machine) AC_CACHE_VAL(ac_cv_prog_build_cc, [rm -f conftest cat > conftest.c < conftest.c </dev/null then rm -f conftest conftest.c ac_cv_path_prog_STRIP_S="$BUILD_STRIP -s" else rm -f conftest conftest.c ac_cv_path_prog_STRIP_S="$BUILD_STRIP" fi])dnl BUILD_STRIP_S="$ac_cv_path_prog_STRIP_S" if test "$ac_cv_path_prog_STRIP_S" = "$BUILD_STRIP -s"; then AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi AC_SUBST(BUILD_STRIP)dnl AC_SUBST(BUILD_STRIP_S)dnl ]) dnl ============================================================ dnl Test for WIDTH of MACHINE REGISTER using GCC predefines: dnl ================== dnl dnl configure.ac: dnl AC_GCC_REGISTER_WIDTH dnl dnl ============================================================ AC_DEFUN([AC_GCC_REGISTER_WIDTH], [dnl AC_MSG_CHECKING(for CPP predefined macro __INT_FAST32_WIDTH__ ) AC_CACHE_VAL(ac_cv_int_fast32_width, [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 if test "$ac_cv_int_fast32_width" != ""; then AC_MSG_RESULT($ac_cv_int_fast32_width) else AC_MSG_RESULT(not defined) fi AC_MSG_CHECKING(for CPP predefined macro __INT_FAST64_WIDTH__ ) AC_CACHE_VAL(ac_cv_int_fast64_width, [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 if test "$ac_cv_int_fast64_width" != ""; then AC_MSG_RESULT($ac_cv_int_fast64_width) else AC_MSG_RESULT(not defined) fi AC_MSG_CHECKING(for MACHINE REGISTER WIDTH ) AC_CACHE_VAL(ac_cv_machine_register_width, [dnl if test "$ac_cv_int_fast64_width" != "" -a "$ac_cv_int_fast32_width" != "" ; then if test "$ac_cv_int_fast64_width" -gt "$ac_cv_int_fast32_width" ; then ac_cv_machine_register_width=$ac_cv_int_fast32_width else ac_cv_machine_register_width=$ac_cv_int_fast64_width fi elif test "$ac_cv_int_fast64_width" != "" ; then ac_cv_machine_register_width=$ac_cv_int_fast64_width elif test "$ac_cv_int_fast32_width" != "" ; then ac_cv_machine_register_width=$ac_cv_int_fast32_width else ac_cv_machine_register_width=32 fi ])dnl if test "$ac_cv_machine_register_width" != ""; then MACHINE_REGISTER_WIDTH=$ac_cv_machine_register_width AC_MSG_RESULT($ac_cv_machine_register_width) else MACHINE_REGISTER_WIDTH= AC_MSG_RESULT(not defined) fi AC_SUBST(MACHINE_REGISTER_WIDTH)dnl AC_DEFINE_UNQUOTED([MACHINE_REGISTER_WIDTH], [$ac_cv_machine_register_width], [The size of Machine Register in bits.])dnl ]) dnl ============================================================ dnl Test for GCC Types: dnl ================== dnl dnl configure.ac: dnl AC_GCC_TYPES dnl dnl ============================================================ AC_DEFUN([AC_GCC_TYPES], [dnl AC_MSG_CHECKING(for CPP predefined macro __CHAR16_TYPE__ ) AC_CACHE_VAL(ac_cv_char16_type, [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 if test "$ac_cv_char16_type" != ""; then GCC_CHAR16_TYPE=$ac_cv_char16_type AC_MSG_RESULT($ac_cv_char16_type) else GCC_CHAR16_TYPE= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_CHAR16_TYPE)dnl AC_MSG_CHECKING(for CPP predefined macro __CHAR32_TYPE__ ) AC_CACHE_VAL(ac_cv_char32_type, [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 if test "$ac_cv_char32_type" != ""; then GCC_CHAR32_TYPE=$ac_cv_char32_type AC_MSG_RESULT($ac_cv_char32_type) else GCC_CHAR32_TYPE= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_CHAR32_TYPE)dnl AC_MSG_CHECKING(for CPP predefined macro __WCHAR_TYPE__ ) AC_CACHE_VAL(ac_cv_wchar_type, [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 if test "$ac_cv_wchar_type" != ""; then GCC_WCHAR_TYPE=$ac_cv_wchar_type AC_MSG_RESULT($ac_cv_wchar_type) else GCC_WCHAR_TYPE= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_WCHAR_TYPE)dnl AC_MSG_CHECKING(for CPP predefined macro __INT8_TYPE__ ) AC_CACHE_VAL(ac_cv_int8_type, [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 if test "$ac_cv_int8_type" != ""; then GCC_INT8_TYPE=$ac_cv_int8_type AC_MSG_RESULT($ac_cv_int8_type) else GCC_INT8_TYPE= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_INT8_TYPE)dnl AC_MSG_CHECKING(for CPP predefined macro __UINT8_TYPE__ ) AC_CACHE_VAL(ac_cv_uint8_type, [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 if test "$ac_cv_uint8_type" != ""; then GCC_UINT8_TYPE=$ac_cv_uint8_type AC_MSG_RESULT($ac_cv_uint8_type) else GCC_UINT8_TYPE= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_UINT8_TYPE)dnl AC_MSG_CHECKING(for CPP predefined macro __INT16_TYPE__ ) AC_CACHE_VAL(ac_cv_int16_type, [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 if test "$ac_cv_int16_type" != ""; then GCC_INT16_TYPE=$ac_cv_int16_type AC_MSG_RESULT($ac_cv_int16_type) else GCC_INT16_TYPE= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_INT16_TYPE)dnl AC_MSG_CHECKING(for CPP predefined macro __UINT16_TYPE__ ) AC_CACHE_VAL(ac_cv_uint16_type, [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 if test "$ac_cv_uint16_type" != ""; then GCC_UINT16_TYPE=$ac_cv_uint16_type AC_MSG_RESULT($ac_cv_uint16_type) else GCC_UINT16_TYPE= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_UINT16_TYPE)dnl AC_MSG_CHECKING(for CPP predefined macro __INT32_TYPE__ ) AC_CACHE_VAL(ac_cv_int32_type, [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 if test "$ac_cv_int32_type" != ""; then GCC_INT32_TYPE=$ac_cv_int32_type AC_MSG_RESULT($ac_cv_int32_type) else GCC_INT32_TYPE= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_INT32_TYPE)dnl AC_MSG_CHECKING(for CPP predefined macro __UINT32_TYPE__ ) AC_CACHE_VAL(ac_cv_uint32_type, [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 AC_CACHE_VAL(ac_cv_uint32_const_suffix, [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 if test "$ac_cv_uint32_type" != ""; then GCC_UINT32_TYPE=$ac_cv_uint32_type AC_MSG_RESULT($ac_cv_uint32_type) else GCC_UINT32_TYPE= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_UINT32_TYPE)dnl AC_MSG_CHECKING(for CPP predefined macro __INT64_TYPE__ ) AC_CACHE_VAL(ac_cv_int64_type, [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 if test "$ac_cv_int64_type" != ""; then GCC_INT64_TYPE=$ac_cv_int64_type AC_MSG_RESULT($ac_cv_int64_type) else GCC_INT64_TYPE= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_INT64_TYPE)dnl AC_MSG_CHECKING(for CPP predefined macro __UINT64_TYPE__ ) AC_CACHE_VAL(ac_cv_uint64_type, [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 AC_CACHE_VAL(ac_cv_uint64_const_suffix, [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 if test "$ac_cv_uint64_type" != ""; then GCC_UINT64_TYPE=$ac_cv_uint64_type AC_MSG_RESULT($ac_cv_uint64_type) else GCC_UINT64_TYPE= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_UINT64_TYPE)dnl AC_MSG_CHECKING(for CPP predefined macro __WINT_TYPE__ ) AC_CACHE_VAL(ac_cv_wint_type, [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 if test "$ac_cv_wint_type" != ""; then GCC_WINT_TYPE=$ac_cv_wint_type AC_MSG_RESULT($ac_cv_wint_type) else GCC_WINT_TYPE= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_WINT_TYPE)dnl AC_MSG_CHECKING(for CPP predefined macro __INTMAX_TYPE__ ) AC_CACHE_VAL(ac_cv_intmax_type, [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 if test "$ac_cv_intmax_type" != ""; then GCC_INTMAX_TYPE=$ac_cv_intmax_type AC_MSG_RESULT($ac_cv_intmax_type) else GCC_INTMAX_TYPE= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_INTMAX_TYPE)dnl AC_MSG_CHECKING(for CPP predefined macro __UINTMAX_TYPE__ ) AC_CACHE_VAL(ac_cv_uintmax_type, [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 if test "$ac_cv_uintmax_type" != ""; then GCC_UINTMAX_TYPE=$ac_cv_uintmax_type AC_MSG_RESULT($ac_cv_uintmax_type) else GCC_UINTMAX_TYPE= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_UINTMAX_TYPE)dnl AC_MSG_CHECKING(for CPP predefined macro __SIZE_TYPE__ ) AC_CACHE_VAL(ac_cv_size_type, [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 if test "$ac_cv_size_type" != ""; then GCC_SIZE_TYPE=$ac_cv_size_type AC_MSG_RESULT($ac_cv_size_type) else GCC_SIZE_TYPE= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_SIZE_TYPE)dnl AC_MSG_CHECKING(for CPP predefined macro __INTPTR_TYPE__ ) AC_CACHE_VAL(ac_cv_intptr_type, [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 if test "$ac_cv_intptr_type" != ""; then GCC_INTPTR_TYPE=$ac_cv_intptr_type AC_MSG_RESULT($ac_cv_intptr_type) else GCC_INTPTR_TYPE= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_INTPTR_TYPE)dnl AC_MSG_CHECKING(for CPP predefined macro __UINTPTR_TYPE__ ) AC_CACHE_VAL(ac_cv_uintptr_type, [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 if test "$ac_cv_uintptr_type" != ""; then GCC_UINTPTR_TYPE=$ac_cv_uintptr_type AC_MSG_RESULT($ac_cv_uintptr_type) else GCC_UINTPTR_TYPE= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_UINTPTR_TYPE)dnl AC_MSG_CHECKING(for CPP predefined macro __PTRDIFF_TYPE__ ) AC_CACHE_VAL(ac_cv_ptrdiff_type, [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 if test "$ac_cv_ptrdiff_type" != ""; then GCC_PTRDIFF_TYPE=$ac_cv_ptrdiff_type AC_MSG_RESULT($ac_cv_ptrdiff_type) else GCC_PTRDIFF_TYPE= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_PTRDIFF_TYPE)dnl AC_MSG_CHECKING(for CPP predefined macro __SIG_ATOMIC_TYPE__ ) AC_CACHE_VAL(ac_cv_sig_atomic_type, [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 if test "$ac_cv_sig_atomic_type" != ""; then GCC_SIG_ATOMIC_TYPE=$ac_cv_sig_atomic_type AC_MSG_RESULT($ac_cv_sig_atomic_type) else GCC_SIG_ATOMIC_TYPE= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_SIG_ATOMIC_TYPE)dnl ]) dnl ============================================================ dnl Test for GCC Sizeof Types: dnl ========================= dnl dnl configure.ac: dnl AC_GCC_SIZEOF_TYPES dnl dnl ============================================================ AC_DEFUN([AC_GCC_SIZEOF_TYPES], [dnl AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_WCHAR_T__ ) AC_CACHE_VAL(ac_cv_sizeof_wchar_t, [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 if test "$ac_cv_sizeof_wchar_t" != ""; then GCC_SIZEOF_WCHAR_T=$ac_cv_sizeof_wchar_t AC_MSG_RESULT($ac_cv_sizeof_wchar_t) else GCC_SIZEOF_WCHAR_T= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_SIZEOF_WCHAR_T)dnl AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_SHORT__ ) AC_CACHE_VAL(ac_cv_sizeof_short, [ac_cv_sizeof_short=`$CC -dM -E - < /dev/null | grep __SIZEOF_SHORT__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl if test "$ac_cv_sizeof_short" != ""; then GCC_SIZEOF_SHORT=$ac_cv_sizeof_short AC_MSG_RESULT($ac_cv_sizeof_short) else GCC_SIZEOF_SHORT= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_SIZEOF_SHORT)dnl AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_INT__ ) AC_CACHE_VAL(ac_cv_sizeof_int, [ac_cv_sizeof_int=`$CC -dM -E - < /dev/null | grep __SIZEOF_INT__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl if test "$ac_cv_sizeof_int" != ""; then GCC_SIZEOF_INT=$ac_cv_sizeof_int AC_MSG_RESULT($ac_cv_sizeof_int) else GCC_SIZEOF_INT= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_SIZEOF_INT)dnl AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_WINT_T__ ) AC_CACHE_VAL(ac_cv_sizeof_wint_t, [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 if test "$ac_cv_sizeof_wint_t" != ""; then GCC_SIZEOF_WINT_T=$ac_cv_sizeof_wint_t AC_MSG_RESULT($ac_cv_sizeof_wint_t) else GCC_SIZEOF_WINT_T= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_SIZEOF_WINT_T)dnl AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_LONG__ ) AC_CACHE_VAL(ac_cv_sizeof_long, [ac_cv_sizeof_long=`$CC -dM -E - < /dev/null | grep __SIZEOF_LONG__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl if test "$ac_cv_sizeof_long" != ""; then GCC_SIZEOF_LONG=$ac_cv_sizeof_long AC_MSG_RESULT($ac_cv_sizeof_long) else GCC_SIZEOF_LONG= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_SIZEOF_LONG)dnl AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_LONG_LONG__ ) AC_CACHE_VAL(ac_cv_sizeof_long_long, [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 if test "$ac_cv_sizeof_long_long" != ""; then GCC_SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long AC_MSG_RESULT($ac_cv_sizeof_long_long) else GCC_SIZEOF_LONG_LONG= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_SIZEOF_LONG_LONG)dnl AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_FLOAT__ ) AC_CACHE_VAL(ac_cv_sizeof_float, [ac_cv_sizeof_float=`$CC -dM -E - < /dev/null | grep __SIZEOF_FLOAT__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl if test "$ac_cv_sizeof_float" != ""; then GCC_SIZEOF_FLOAT=$ac_cv_sizeof_float AC_MSG_RESULT($ac_cv_sizeof_float) else GCC_SIZEOF_FLOAT= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_SIZEOF_FLOAT)dnl AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_DOUBLE__ ) AC_CACHE_VAL(ac_cv_sizeof_double, [ac_cv_sizeof_double=`$CC -dM -E - < /dev/null | grep __SIZEOF_DOUBLE__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl if test "$ac_cv_sizeof_double" != ""; then GCC_SIZEOF_DOUBLE=$ac_cv_sizeof_double AC_MSG_RESULT($ac_cv_sizeof_double) else GCC_SIZEOF_DOUBLE= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_SIZEOF_DOUBLE)dnl AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_LONG_DOUBLE__ ) AC_CACHE_VAL(ac_cv_sizeof_long_double, [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 if test "$ac_cv_sizeof_long_double" != ""; then GCC_SIZEOF_LONG_DOUBLE=$ac_cv_sizeof_long_double AC_MSG_RESULT($ac_cv_sizeof_long_double) else GCC_SIZEOF_LONG_DOUBLE= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_SIZEOF_LONG_DOUBLE)dnl AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_SIZE_T__ ) AC_CACHE_VAL(ac_cv_sizeof_size_t, [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 if test "$ac_cv_sizeof_size_t" != ""; then GCC_SIZEOF_SIZE_T=$ac_cv_sizeof_size_t AC_MSG_RESULT($ac_cv_sizeof_size_t) else GCC_SIZEOF_SIZE_T= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_SIZEOF_SIZE_T)dnl AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_POINTER__ ) AC_CACHE_VAL(ac_cv_sizeof_pointer, [ac_cv_sizeof_pointer=`$CC -dM -E - < /dev/null | grep __SIZEOF_POINTER__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl if test "$ac_cv_sizeof_pointer" != ""; then GCC_SIZEOF_POINTER=$ac_cv_sizeof_pointer AC_MSG_RESULT($ac_cv_sizeof_pointer) else GCC_SIZEOF_POINTER= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_SIZEOF_POINTER)dnl AC_MSG_CHECKING(for CPP predefined macro __SIZEOF_PTRDIFF_T__ ) AC_CACHE_VAL(ac_cv_sizeof_ptrdiff_t, [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 if test "$ac_cv_sizeof_ptrdiff_t" != ""; then GCC_SIZEOF_PTRDIFF_T=$ac_cv_sizeof_ptrdiff_t AC_MSG_RESULT($ac_cv_sizeof_ptrdiff_t) else GCC_SIZEOF_PTRDIFF_T= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_SIZEOF_PTRDIFF_T)dnl ]) dnl ============================================================ dnl Test for GCC Width of Types: dnl =========================== dnl dnl configure.ac: dnl AC_GCC_WIDTH_OF_TYPES dnl dnl ============================================================ AC_DEFUN([AC_GCC_WIDTH_OF_TYPES], [dnl AC_MSG_CHECKING(for CPP predefined macro __CHAR_BIT__ ) AC_CACHE_VAL(ac_cv_char_width, [ac_cv_char_width=`$CC -dM -E - < /dev/null | grep __CHAR_BIT__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl if test "$ac_cv_char_width" != ""; then GCC_CHAR_WIDTH=$ac_cv_char_width AC_MSG_RESULT($ac_cv_char_width) else GCC_CHAR_WIDTH= AC_MSG_RESULT(not defined) fi AC_SUBST(GCC_CHAR_WIDTH)dnl ]) dnl ============================================================ dnl Test for GCC Byte Order: dnl ======================= dnl dnl configure.ac: dnl AC_GCC_BYTE_ORDER dnl dnl ============================================================ AC_DEFUN([AC_GCC_BYTE_ORDER], [dnl AC_MSG_CHECKING(for CPP predefined macro __BYTE_ORDER__ ) AC_CACHE_VAL(ac_cv_order_little_endian, [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 AC_CACHE_VAL(ac_cv_order_big_endian, [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 AC_CACHE_VAL(ac_cv_byte_order, [ac_cv_byte_order=`$CC -dM -E - < /dev/null | grep __BYTE_ORDER__ | cut -f3 -d' ' | tr '\n' ' ' | sed 's,^[ \t]*,,;s,[ \t]*$,,'`])dnl if test "$ac_cv_byte_order" = "__ORDER_LITTLE_ENDIAN__"; then GCC_BYTE_ORDER=1234 GCC_BYTE_ORDER_LITTLE_ENDIAN=1 GCC_BYTE_ORDER_BIG_ENDIAN=0 AC_MSG_RESULT(Little-endian) else GCC_BYTE_ORDER=4321 GCC_BYTE_ORDER_LITTLE_ENDIAN=0 GCC_BYTE_ORDER_BIG_ENDIAN=1 AC_MSG_RESULT(Big-endian) fi AC_SUBST(GCC_BYTE_ORDER)dnl AC_SUBST(GCC_BYTE_ORDER_LITTLE_ENDIAN)dnl AC_SUBST(GCC_BYTE_ORDER_BIG_ENDIAN)dnl ]) dnl ============================================================ dnl Test for GCC Float Word Order: dnl ============================= dnl dnl configure.ac: dnl AC_GCC_FLOAT_WORD_ORDER dnl dnl ============================================================ AC_DEFUN([AC_GCC_FLOAT_WORD_ORDER], [dnl AC_MSG_CHECKING(for CPP predefined macro __FLOAT_WORD_ORDER__ ) AC_CACHE_VAL(ac_cv_order_little_endian, [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 AC_CACHE_VAL(ac_cv_order_big_endian, [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 AC_CACHE_VAL(ac_cv_float_word_order, [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 if test "$ac_cv_float_word_order" = "__ORDER_LITTLE_ENDIAN__"; then GCC_FLOAT_WORD_ORDER=1234 GCC_FLOAT_WORD_ORDER_LITTLE_ENDIAN=1 GCC_FLOAT_WORD_ORDER_BIG_ENDIAN=0 AC_MSG_RESULT(Little-endian) else GCC_FLOAT_WORD_ORDER=4321 GCC_FLOAT_WORD_ORDER_LITTLE_ENDIAN=0 GCC_FLOAT_WORD_ORDER_BIG_ENDIAN=1 AC_MSG_RESULT(Big-endian) fi AC_SUBST(GCC_FLOAT_WORD_ORDER)dnl AC_SUBST(GCC_FLOAT_WORD_ORDER_LITTLE_ENDIAN)dnl AC_SUBST(GCC_FLOAT_WORD_ORDER_BIG_ENDIAN)dnl ]) dnl ======================================================================= dnl AC_GCC_PROGRAMMING_MODEL dnl dnl Determine programming model corresponding to following list: dnl dnl PROGRAMMING MODELS: dnl ------------------ dnl dnl PM: | 1 | 2 | 3 | 4 | 5 | 6 dnl -----------+-------+-------+-----------+-------+-----------+-------- dnl | LP32 | ILP32 | LP64 | ILP64 | LLP64 | SILP64 dnl Data type | | | (I32LP64) | | (IL32P64) | dnl ===========|=======|=======|===========|=======|===========|======== dnl char | 8 | 8 | 8 | 8 | 8 | 8 dnl -----------+-------+-------+-----------+-------+-----------+-------- dnl short | 16 | 16 | 16 | 16 | 16 | 64 dnl -----------+-------+-------+-----------+-------+-----------+-------- dnl int | 16 | 32 | 32 | 64 | 32 | 64 dnl -----------+-------+-------+-----------+-------+-----------+-------- dnl long | 32 | 32 | 64 | 64 | 32 | 64 dnl -----------+-------+-------+-----------+-------+-----------+-------- dnl long long | 64 dnl -----------+-------+-------+-----------+-------+-----------+-------- dnl pointer | 32 | 32 | 64 | 64 | 64 | 64 dnl -----------+-------+-------+-----------+-------+-----------+-------- dnl ptrdiff_t | 32 | 32 | 64 | 64 | 64 | 64 dnl ===========+=======+=======+===========+=======+===========+======== dnl CPU: | | i686 | x86_64 | | | dnl dnl Many 64-bit platforms today use an LP64 model (including Solaris, dnl AIX, HP-UX, Linux, macOS, BSD, and IBM z/OS). Microsoft Windows dnl uses an LLP64 model. The disadvantage of the LP64 model is that dnl storing a long into an int may overflow. On the other hand, dnl converting a pointer to a long will “work” in LP64. In the LLP64 dnl model, the reverse is true. These are not problems which affect dnl fully standard-compliant code, but code is often written with dnl implicit assumptions about the widths of data types. C code dnl should prefer (u)intptr_t instead of long when casting pointers dnl into integer objects. dnl dnl ======================================================================= AC_DEFUN([AC_GCC_PROGRAMMING_MODEL], [AC_REQUIRE([AC_GCC_TYPES])dnl AC_REQUIRE([AC_GCC_SIZEOF_TYPES])dnl AC_CACHE_CHECK(for Target Machine Programming Model, ac_cv_gcc_programming_model, ac_cv_gcc_programming_model=unknown dnl Initialize to unknown [ silp=${ac_cv_sizeof_short}${ac_cv_sizeof_int}${ac_cv_sizeof_long}${ac_cv_sizeof_pointer} changequote(,)dnl case "$silp" in 2244) ac_cv_gcc_programming_model=LP32 ac_cv_gcc_programming_model_silp=2244 ac_cv_gcc_programming_model_id=1 ;; 2444) ac_cv_gcc_programming_model=ILP32 ac_cv_gcc_programming_model_silp=2444 ac_cv_gcc_programming_model_id=2 ;; 2488) ac_cv_gcc_programming_model=LP64 ac_cv_gcc_programming_model_silp=2488 ac_cv_gcc_programming_model_id=3 ;; 2888) ac_cv_gcc_programming_model=ILP64 ac_cv_gcc_programming_model_silp=2888 ac_cv_gcc_programming_model_id=4 ;; 2448) ac_cv_gcc_programming_model=LLP64 ac_cv_gcc_programming_model_silp=2448 ac_cv_gcc_programming_model_id=5 ;; 8888) ac_cv_gcc_programming_model=SILP64 ac_cv_gcc_programming_model_silp=8888 ac_cv_gcc_programming_model_id=6 ;; *) changequote([,])dnl ac_cv_c_programming_model=unknown ;; esac ] if test $ac_cv_gcc_programming_model = unknown ; then AC_MSG_ERROR([ ******** ${TB}Not able to determine programming model.${TN}]) elif test $ac_cv_gcc_programming_model = LP32 ; then AC_MSG_ERROR([ ******** ${TB}MPU Library does not support LP32 programming model.${TN}]) elif test $ac_cv_gcc_programming_model = IPL64 ; then AC_MSG_ERROR([ ******** ${TB}MPU Library does not support IPL64 programming model.${TN}]) elif test $ac_cv_gcc_programming_model = SIPL64 ; then AC_MSG_ERROR([ ******** ${TB}MPU Library does not support SIPL64 programming model.${TN}]) fi ) dnl ======================================================================= dnl Programming model IDs: dnl ======================================================================= AC_SUBST(PM_LP32, 1) AC_SUBST(PM_ILP32, 2) AC_SUBST(PM_LP64, 3) AC_SUBST(PM_ILP64, 4) AC_SUBST(PM_LLP64, 5) AC_SUBST(PM_SILP64, 6) AC_DEFINE([__PM_LP32], [1], [The ID of LP32 programming model.])dnl AC_DEFINE([__PM_ILP32], [2], [The ID of ILP32 programming model.])dnl AC_DEFINE([__PM_LP64], [3], [The ID of LP64 programming model.])dnl AC_DEFINE([__PM_ILP64], [4], [The ID of ILP64 programming model.])dnl AC_DEFINE([__PM_LLP64], [5], [The ID of LLP64 programming model.])dnl AC_DEFINE([__PM_SILP64], [6], [The ID of SILP64 programming model.])dnl dnl ======================================================================= dnl EMUSHORT, EMULONG Types: dnl ======================================================================= AC_SUBST(LIBMPU_EMUSHORT_TYPE, $ac_cv_int32_type) AC_SUBST(LIBMPU_UINT32_CONST_SUFFIX, $ac_cv_uint32_const_suffix) AC_SUBST(LIBMPU_SIZEOF_EMUSHORT, 4) AC_SUBST(LIBMPU_EMUSHORT_WIDTH, 32) AC_DEFINE_UNQUOTED([EMUSHORT], [$ac_cv_uint32_type], [The type of unsigned 32-bit integer variables.])dnl AC_DEFINE_UNQUOTED([EMUSHORT_C(c)], [c ## $ac_cv_uint32_const_suffix], [The macro for expand the EMUSHORT value to constant expression.])dnl AC_DEFINE([SIZE_OF_EMUSHORT], [4], [The size of EMUSHORT type in bytes.])dnl AC_DEFINE([BITS_PER_EMUSHORT], [32], [The size of EMUSHORT type in bits.])dnl AC_SUBST(LIBMPU_EMUPART_TYPE, $ac_cv_int32_type) AC_SUBST(LIBMPU_SIZEOF_EMUPART, 4) AC_SUBST(LIBMPU_EMUPART_WIDTH, 32) AC_DEFINE_UNQUOTED([EMUPART], [$ac_cv_uint32_type], [The type of unsigned 32-bit integer variables.])dnl AC_DEFINE_UNQUOTED([EMUPART_C(c)], [c ## $ac_cv_uint32_const_suffix], [The macro for expand the EMUPART value to constant expression.])dnl AC_DEFINE([SIZE_OF_EMUPART], [4], [The size of EMUPART type in bytes.])dnl AC_DEFINE([BITS_PER_EMUPART], [32], [The size of EMUPART type in bits.])dnl AC_SUBST(LIBMPU_EMULONG_TYPE, $ac_cv_int64_type) AC_SUBST(LIBMPU_UINT64_CONST_SUFFIX, $ac_cv_uint64_const_suffix) AC_SUBST(LIBMPU_SIZEOF_EMULONG, 8) AC_SUBST(LIBMPU_EMULONG_WIDTH, 64) AC_DEFINE_UNQUOTED([EMULONG], [$ac_cv_uint64_type], [The type of unsigned 64-bit integer variables.])dnl AC_DEFINE_UNQUOTED([EMULONG_C(c)], [c ## $ac_cv_uint64_const_suffix], [The macro for expand the EMULONG value to constant expression.])dnl AC_DEFINE([SIZE_OF_EMULONG], [8], [The size of EMULONG type in bytes.])dnl AC_DEFINE([BITS_PER_EMULONG], [64], [The size of EMULONG type in bits.])dnl AC_DEFINE_UNQUOTED([BITS_PER_BYTE], [$ac_cv_char_width], [The size of BYTE or UNIT type in bits.])dnl AC_SUBST(GCC_PROGRAMMING_MODEL, $ac_cv_gcc_programming_model) AC_SUBST(GCC_PROGRAMMING_MODEL_SILP, $ac_cv_gcc_programming_model_silp) AC_SUBST(GCC_PROGRAMMING_MODEL_ID, $ac_cv_gcc_programming_model_id) AC_DEFINE_UNQUOTED([__PROGRAMMING_MODEL], [$ac_cv_gcc_programming_model], [The programming model name.])dnl AC_DEFINE_UNQUOTED([__PROGRAMMING_MODEL_SILP], [$ac_cv_gcc_programming_model_silp], [The programming model sizes of short, int, long, pointer types.])dnl AC_DEFINE_UNQUOTED([__PROGRAMMING_MODEL_ID], [$ac_cv_gcc_programming_model_id], [The programming model identificator.])dnl ]) AC_DEFUN([AC_LIBMPU_LT_VERSION_INFO], [AC_MSG_CHECKING(for MPU Library Version Information) # # Made LT_VERSION_INFO so that library version matches PACKAGE_VERSION: # major=`echo ${PACKAGE_VERSION} | cut -f1 -d'.'` minor=`echo ${PACKAGE_VERSION} | cut -f2 -d'.'` patch=`echo ${PACKAGE_VERSION} | cut -f3 -d'.'` current=$( expr ${major} + ${patch} ) revision=${minor} age=${patch} ac_cv_libmpu_lt_release="${major}.${minor}" ac_cv_libmpu_lt_current="${current}" ac_cv_libmpu_lt_revision="${revision}" ac_cv_libmpu_lt_age="${age}" ac_cv_libmpu_lt_version_info="${major}:${age}:${revision}" AC_SUBST(LIBMPU_LT_RELEASE, $ac_cv_libmpu_lt_release) AC_SUBST(LIBMPU_LT_VERSION_INFO, $ac_cv_libmpu_lt_version_info) AC_SUBST(LIBMPU_LT_CURRENT, $ac_cv_libmpu_lt_current) AC_SUBST(LIBMPU_LT_REVISION, $ac_cv_libmpu_lt_revision) AC_SUBST(LIBMPU_LT_AGE, $ac_cv_libmpu_lt_age) AC_MSG_RESULT($ac_cv_libmpu_lt_version_info) if test "$ac_cv_libmpu_lt_version_info" = ""; then AC_MSG_ERROR([ ******** ${TB}The MPU Library Version Information does not declared.${TN}]) fi ]) dnl ============================================================ dnl Test if LD_LIBRARY_PATH contains the notation for the dnl current directory since this would lead to problems dnl installing/building kxlibc . dnl dnl LD_LIBRARY_PATH contains the current directory if one dnl of the following is true: dnl - one of the terminals (":" and ";") is the first or dnl last sign; dnl - two terminals occur directly after each other; dnl - the path contains an element with a dot in it . dnl ============================================================ AC_DEFUN([AC_LD_LIBRARY_PATH], [AC_MSG_CHECKING(for LD_LIBRARY_PATH does not contain current directory) changequote(,)dnl case ${LD_LIBRARY_PATH} in [:\;]* | *[:\;] | *[:\;][:\;]* | *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* ) ld_library_path_setting="contains current directory" ;; *) ld_library_path_setting="ok" ;; esac changequote([,])dnl AC_MSG_RESULT($ld_library_path_setting) if test "$ld_library_path_setting" != "ok"; then AC_MSG_ERROR([ ******** ${TB}LD_LIBRARY_PATH shouldn't contain the current directory when${TN} ******** ${TB}building MPU Library. Please change the environment variable${TN} ******** ${TB}and run configure again.${TN}]) fi ])