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) AC_PREREQ([2.71])
868b2b66 (kx 2024-12-20 16:11:07 +0300   3) 
868b2b66 (kx 2024-12-20 16:11:07 +0300   4) AC_LIBMPU_HEADLINE([libmpu], [MPU Emulation Library],dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   5) [LIBMPU_VERSION], [configure.ac],dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   6) [Copyright (c) 1999-2024 Andrey V.Kosteltsev])dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300   7) 
868b2b66 (kx 2024-12-20 16:11:07 +0300   8) 
001d3090 (kx 2025-01-05 15:59:34 +0300   9) AC_INIT([MPU Library],[1.0.15],[Andrey V.Kosteltsev <support@radix-linux.su>],[libmpu],[https://radix-linux.su])
868b2b66 (kx 2024-12-20 16:11:07 +0300  10) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  11) AC_MSG_CFG_PART(Getting the canonical system type)
868b2b66 (kx 2024-12-20 16:11:07 +0300  12) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  13) dnl NOTE: Следующие вызовы должны осуществляться строго до
868b2b66 (kx 2024-12-20 16:11:07 +0300  14) dnl       вызова AM_INIT_AUTOMAKE .
868b2b66 (kx 2024-12-20 16:11:07 +0300  15) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  16) dnl Для библиотеки достаточно вызвать AC_CANONICAL_HOST и при этом
868b2b66 (kx 2024-12-20 16:11:07 +0300  17) dnl будут определены build_alias и host_alias. Однако опция --target
868b2b66 (kx 2024-12-20 16:11:07 +0300  18) dnl будет запрещена.
868b2b66 (kx 2024-12-20 16:11:07 +0300  19) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  20) dnl Для программ достаточно задать AC_CANONICAL_TARGET и при этом
868b2b66 (kx 2024-12-20 16:11:07 +0300  21) dnl будут определены build_alias, host_alias и target_alias. Естественно
868b2b66 (kx 2024-12-20 16:11:07 +0300  22) dnl будут доступны все три опции: --build, --host, и --target .
868b2b66 (kx 2024-12-20 16:11:07 +0300  23) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300  24) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  25) AC_CANONICAL_HOST
868b2b66 (kx 2024-12-20 16:11:07 +0300  26) AC_CANONICAL_TARGET
868b2b66 (kx 2024-12-20 16:11:07 +0300  27) AC_USE_SYSTEM_EXTENSIONS
868b2b66 (kx 2024-12-20 16:11:07 +0300  28) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  29) dnl Должна вызываться строго после AC_CANONICAL_TARGET .
868b2b66 (kx 2024-12-20 16:11:07 +0300  30) AC_ARG_PROGRAM
868b2b66 (kx 2024-12-20 16:11:07 +0300  31) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  32) AC_MSG_CFG_PART(Init Automake environment)
868b2b66 (kx 2024-12-20 16:11:07 +0300  33) AM_INIT_AUTOMAKE([dist-xz no-dist-gzip])
868b2b66 (kx 2024-12-20 16:11:07 +0300  34) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  35) AC_CONFIG_SRCDIR(acsite.m4)
868b2b66 (kx 2024-12-20 16:11:07 +0300  36) AC_CONFIG_HEADERS(config.h)
868b2b66 (kx 2024-12-20 16:11:07 +0300  37) AC_CONFIG_MACRO_DIRS([m4])
868b2b66 (kx 2024-12-20 16:11:07 +0300  38) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  39) AC_MSG_CFG_PART(Test for GNU Compiler Colection)
868b2b66 (kx 2024-12-20 16:11:07 +0300  40) AC_PROG_CC
868b2b66 (kx 2024-12-20 16:11:07 +0300  41) if test $ac_cv_c_compiler_gnu != yes; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  42)    AC_MSG_ERROR([
868b2b66 (kx 2024-12-20 16:11:07 +0300  43) ********   ${TB}The MPU Library should be compiled using the GNU compiler only.${TN}])
868b2b66 (kx 2024-12-20 16:11:07 +0300  44) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  45) AC_SUBST(cross_compiling)
868b2b66 (kx 2024-12-20 16:11:07 +0300  46) AC_PROG_CPP
868b2b66 (kx 2024-12-20 16:11:07 +0300  47) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  48) AC_MSG_CFG_PART(Test for alias attribute)
868b2b66 (kx 2024-12-20 16:11:07 +0300  49) LIBMPU_ALIAS_ATTRIBUTE
868b2b66 (kx 2024-12-20 16:11:07 +0300  50) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  51) AC_MSG_CFG_PART(Test for hidden visibility attribute)
868b2b66 (kx 2024-12-20 16:11:07 +0300  52) LIBMPU_HIDDEN_VISIBILITY_ATTRIBUTE
868b2b66 (kx 2024-12-20 16:11:07 +0300  53) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  54) AC_MSG_CFG_PART(Test for Target Machine Data Types)
868b2b66 (kx 2024-12-20 16:11:07 +0300  55) AC_GCC_TYPES
868b2b66 (kx 2024-12-20 16:11:07 +0300  56) AC_MSG_CFG_PART(Test for Target Machine Size of Data Types)
868b2b66 (kx 2024-12-20 16:11:07 +0300  57) AC_GCC_SIZEOF_TYPES
868b2b66 (kx 2024-12-20 16:11:07 +0300  58) AC_GCC_WIDTH_OF_TYPES
868b2b66 (kx 2024-12-20 16:11:07 +0300  59) AC_MSG_CFG_PART(Test for Target Machine Byte Order)
868b2b66 (kx 2024-12-20 16:11:07 +0300  60) AC_GCC_BYTE_ORDER
868b2b66 (kx 2024-12-20 16:11:07 +0300  61) AC_GCC_FLOAT_WORD_ORDER
868b2b66 (kx 2024-12-20 16:11:07 +0300  62) AC_MSG_CFG_PART(Test for Target Machine Programming Model)
868b2b66 (kx 2024-12-20 16:11:07 +0300  63) AC_GCC_PROGRAMMING_MODEL
868b2b66 (kx 2024-12-20 16:11:07 +0300  64) AC_MSG_CFG_PART(Test for Target Machine Register Width)
868b2b66 (kx 2024-12-20 16:11:07 +0300  65) AC_GCC_REGISTER_WIDTH
868b2b66 (kx 2024-12-20 16:11:07 +0300  66) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  67) AC_MSG_CFG_PART(Test for GNU Binutils)
868b2b66 (kx 2024-12-20 16:11:07 +0300  68) LIBMPU_PROG_BINUTILS
868b2b66 (kx 2024-12-20 16:11:07 +0300  69) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  70) AC_MSG_CFG_PART(Test how to build C programs using POSIX threads)
868b2b66 (kx 2024-12-20 16:11:07 +0300  71) AX_PTHREAD([
868b2b66 (kx 2024-12-20 16:11:07 +0300  72)    LIBS="$PTHREAD_LIBS $LIBS"
868b2b66 (kx 2024-12-20 16:11:07 +0300  73)    CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
868b2b66 (kx 2024-12-20 16:11:07 +0300  74)    CC="$PTHREAD_CC"])
868b2b66 (kx 2024-12-20 16:11:07 +0300  75) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  76) AC_MSG_CFG_PART(Test for GNU Source)
868b2b66 (kx 2024-12-20 16:11:07 +0300  77) AC_USE_SYSTEM_EXTENSIONS
868b2b66 (kx 2024-12-20 16:11:07 +0300  78) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  79) if test $host != $build; then
868b2b66 (kx 2024-12-20 16:11:07 +0300  80)   AC_MSG_CFG_PART(Test for Build Machile Compiler)
868b2b66 (kx 2024-12-20 16:11:07 +0300  81)   AC_PROG_BUILD_CC
868b2b66 (kx 2024-12-20 16:11:07 +0300  82)   AC_PATH_PROG_BUILD_STRIP_S
868b2b66 (kx 2024-12-20 16:11:07 +0300  83) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300  84) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  85) AC_SUBST(BUILD_CFLAGS)
868b2b66 (kx 2024-12-20 16:11:07 +0300  86) AC_SUBST(BUILD_LDFLAGS)
868b2b66 (kx 2024-12-20 16:11:07 +0300  87) AC_ARG_VAR([BUILD_CC],[Build C compiler command])
868b2b66 (kx 2024-12-20 16:11:07 +0300  88) AC_ARG_VAR([BUILD_CFLAGS],[Build C compiler flags])
868b2b66 (kx 2024-12-20 16:11:07 +0300  89) AC_ARG_VAR([BUILD_LDFLAGS],[Build linker flags, e.g. -L<lib dir> if you have libraries in a
868b2b66 (kx 2024-12-20 16:11:07 +0300  90)                             nonstandard directory <lib dir>])
868b2b66 (kx 2024-12-20 16:11:07 +0300  91) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  92) AC_MSG_CFG_PART(Test for GCC builtin functions)
868b2b66 (kx 2024-12-20 16:11:07 +0300  93) AX_GCC_BUILTIN([__builtin_popcount])
868b2b66 (kx 2024-12-20 16:11:07 +0300  94) AX_GCC_BUILTIN([__builtin_parity])
868b2b66 (kx 2024-12-20 16:11:07 +0300  95) 
868b2b66 (kx 2024-12-20 16:11:07 +0300  96) AC_MSG_CFG_PART(Test for GNU Gettext)
868b2b66 (kx 2024-12-20 16:11:07 +0300  97) AM_GNU_GETTEXT([external])
868b2b66 (kx 2024-12-20 16:11:07 +0300  98) AM_GNU_GETTEXT_VERSION
868b2b66 (kx 2024-12-20 16:11:07 +0300  99) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 100) AC_MSG_CFG_PART(Test for GNU libtool)
868b2b66 (kx 2024-12-20 16:11:07 +0300 101) LT_PREREQ([2.4.6])
868b2b66 (kx 2024-12-20 16:11:07 +0300 102) LT_INIT
868b2b66 (kx 2024-12-20 16:11:07 +0300 103) AC_SUBST([LIBTOOL_DEPS])
868b2b66 (kx 2024-12-20 16:11:07 +0300 104) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 105) AC_MSG_CFG_PART(Test for libtool VERSION Information)
868b2b66 (kx 2024-12-20 16:11:07 +0300 106) AC_LIBMPU_LT_VERSION_INFO
868b2b66 (kx 2024-12-20 16:11:07 +0300 107) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 108) AC_MSG_CFG_PART(Test for LD_LIBRARY_PATH Environment Variable)
868b2b66 (kx 2024-12-20 16:11:07 +0300 109) AC_LD_LIBRARY_PATH
868b2b66 (kx 2024-12-20 16:11:07 +0300 110) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 111) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300 112) dnl Arguments to specify presence of other packages/features:
868b2b66 (kx 2024-12-20 16:11:07 +0300 113) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300 114) AC_MSG_CFG_PART(Setting a limit of the real number's size)
868b2b66 (kx 2024-12-20 16:11:07 +0300 115) AC_ARG_WITH([headers],
868b2b66 (kx 2024-12-20 16:11:07 +0300 116)   AS_HELP_STRING([--with-headers=PATH],[location of system headers to use
868b2b66 (kx 2024-12-20 16:11:07 +0300 117)                  (for example /usr/src/linux/include)
868b2b66 (kx 2024-12-20 16:11:07 +0300 118)                  @<:@default=compiler default@:>@]),
868b2b66 (kx 2024-12-20 16:11:07 +0300 119)   [sysheaders=$withval],
868b2b66 (kx 2024-12-20 16:11:07 +0300 120)   [sysheaders=''])
868b2b66 (kx 2024-12-20 16:11:07 +0300 121) AC_SUBST(sysheaders)
868b2b66 (kx 2024-12-20 16:11:07 +0300 122) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 123) AC_ARG_WITH([real-io-limit],
868b2b66 (kx 2024-12-20 16:11:07 +0300 124) AS_HELP_STRING([],[])
868b2b66 (kx 2024-12-20 16:11:07 +0300 125) AS_HELP_STRING([--with-real-io-limit=SIZE_OF_REAL_NUMBER_IN_BITS],[maximum size of real numbers in bits for input/output(IO) operations.
868b2b66 (kx 2024-12-20 16:11:07 +0300 126)                   Only the following values of argument are admissible:])
868b2b66 (kx 2024-12-20 16:11:07 +0300 127) dnl AS_HELP_STRING([],[])
868b2b66 (kx 2024-12-20 16:11:07 +0300 128)   AS_HELP_STRING([],[1024, 2048, 4096, 8192, 16384, 32768, 65536.])
868b2b66 (kx 2024-12-20 16:11:07 +0300 129) dnl AS_HELP_STRING([],[])
868b2b66 (kx 2024-12-20 16:11:07 +0300 130) AS_HELP_STRING([],[Maximum value is 65536. @<:@default=65536@:>@]),
868b2b66 (kx 2024-12-20 16:11:07 +0300 131)   [real_io_limit=$withval],
868b2b66 (kx 2024-12-20 16:11:07 +0300 132)   [real_io_limit=65536])
868b2b66 (kx 2024-12-20 16:11:07 +0300 133) case $real_io_limit in
868b2b66 (kx 2024-12-20 16:11:07 +0300 134)    1024) ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300 135)    2048) ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300 136)    4096) ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300 137)    8192) ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300 138)   16384) ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300 139)   32768) ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300 140)   65536) ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300 141)       *)
868b2b66 (kx 2024-12-20 16:11:07 +0300 142) AC_MSG_WARN([
868b2b66 (kx 2024-12-20 16:11:07 +0300 143) ********   ${TB}Invalid value of real_io_limit: $real_io_limit${TN}
868b2b66 (kx 2024-12-20 16:11:07 +0300 144) ********   ${TB}for real number IO operations.${TN}
868b2b66 (kx 2024-12-20 16:11:07 +0300 145) ********   ${TB}The value of real_io_limit is set to 65536.${TN}])
868b2b66 (kx 2024-12-20 16:11:07 +0300 146)     real_io_limit=65536
868b2b66 (kx 2024-12-20 16:11:07 +0300 147)          ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300 148) esac
868b2b66 (kx 2024-12-20 16:11:07 +0300 149) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 150) AC_ARG_WITH([real-math-f-limit],
868b2b66 (kx 2024-12-20 16:11:07 +0300 151) AS_HELP_STRING([],[])
868b2b66 (kx 2024-12-20 16:11:07 +0300 152) AS_HELP_STRING([--with-real-math-f-limit=SIZE_OF_REAL_NUMBER_IN_BITS],[maximum size of real numbers in bits for mathematic functions.
868b2b66 (kx 2024-12-20 16:11:07 +0300 153)                 This value has a higher priority than the value REAL_IO_LIMIT,
868b2b66 (kx 2024-12-20 16:11:07 +0300 154)                 so])
868b2b66 (kx 2024-12-20 16:11:07 +0300 155) dnl AS_HELP_STRING([],[])
868b2b66 (kx 2024-12-20 16:11:07 +0300 156)   AS_HELP_STRING([],[if real_io_limit < real_math_f_limit ; then])
868b2b66 (kx 2024-12-20 16:11:07 +0300 157)     AS_HELP_STRING([],[real_io_limit = real_math_f_limit])
868b2b66 (kx 2024-12-20 16:11:07 +0300 158)   AS_HELP_STRING([],[fi])
868b2b66 (kx 2024-12-20 16:11:07 +0300 159) dnl AS_HELP_STRING([],[])
868b2b66 (kx 2024-12-20 16:11:07 +0300 160) AS_HELP_STRING([],[Only the following values of argument are admissible:])
868b2b66 (kx 2024-12-20 16:11:07 +0300 161) dnl AS_HELP_STRING([],[])
868b2b66 (kx 2024-12-20 16:11:07 +0300 162)   AS_HELP_STRING([],[1024, 2048, 4096, 8192, 16384.])
868b2b66 (kx 2024-12-20 16:11:07 +0300 163) dnl AS_HELP_STRING([],[])
868b2b66 (kx 2024-12-20 16:11:07 +0300 164) AS_HELP_STRING([],[Maximum value is 16384. @<:@default=16384@:>@])
868b2b66 (kx 2024-12-20 16:11:07 +0300 165) AS_HELP_STRING([],[]),
868b2b66 (kx 2024-12-20 16:11:07 +0300 166)   [real_math_f_limit=$withval],
868b2b66 (kx 2024-12-20 16:11:07 +0300 167)   [real_math_f_limit=16384])
868b2b66 (kx 2024-12-20 16:11:07 +0300 168) case $real_math_f_limit in
868b2b66 (kx 2024-12-20 16:11:07 +0300 169)    1024) ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300 170)    2048) ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300 171)    4096) ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300 172)    8192) ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300 173)   16384) ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300 174)       *)
868b2b66 (kx 2024-12-20 16:11:07 +0300 175) AC_MSG_WARN([
868b2b66 (kx 2024-12-20 16:11:07 +0300 176) ********   ${TB}Invalid value of real_math_f_limit: $real_math_f_limit${TN}
868b2b66 (kx 2024-12-20 16:11:07 +0300 177) ********   ${TB}for mathematic operations.${TN}
868b2b66 (kx 2024-12-20 16:11:07 +0300 178) ********   ${TB}The value of real_math_f_limit is set to 16384.${TN}])
868b2b66 (kx 2024-12-20 16:11:07 +0300 179)     real_math_f_limit=16384
868b2b66 (kx 2024-12-20 16:11:07 +0300 180)          ;;
868b2b66 (kx 2024-12-20 16:11:07 +0300 181) esac
868b2b66 (kx 2024-12-20 16:11:07 +0300 182) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 183) test $real_io_limit -lt $real_math_f_limit && real_io_limit=$real_math_f_limit
868b2b66 (kx 2024-12-20 16:11:07 +0300 184) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 185) AC_MSG_CHECKING([the maximum size of real numbers for IO operations])
868b2b66 (kx 2024-12-20 16:11:07 +0300 186) AC_MSG_RESULT([${TB}$real_io_limit${TN}])
868b2b66 (kx 2024-12-20 16:11:07 +0300 187) AC_MSG_CHECKING([the maximum size of real numbers for mathematic operations])
868b2b66 (kx 2024-12-20 16:11:07 +0300 188) AC_MSG_RESULT([${TB}$real_math_f_limit${TN}])
868b2b66 (kx 2024-12-20 16:11:07 +0300 189) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 190) AC_SUBST(LIBMPU_REAL_IO_LIMIT, $real_io_limit)
868b2b66 (kx 2024-12-20 16:11:07 +0300 191) AC_SUBST(LIBMPU_REAL_MATH_F_LIMIT, $real_math_f_limit)
868b2b66 (kx 2024-12-20 16:11:07 +0300 192) AC_SUBST(LIBMPU_REAL_MAX_WIDTH, $real_io_limit)
868b2b66 (kx 2024-12-20 16:11:07 +0300 193) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 194) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 195) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 196) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 197) dnl End of arguments to specify other packages/features.
868b2b66 (kx 2024-12-20 16:11:07 +0300 198) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300 199) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 200) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 201) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 202) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300 203) dnl Locate tools:
868b2b66 (kx 2024-12-20 16:11:07 +0300 204) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300 205) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 206) AC_MSG_CFG_PART(Test for Header files)
868b2b66 (kx 2024-12-20 16:11:07 +0300 207) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 208) dnl  Check for system header files.
868b2b66 (kx 2024-12-20 16:11:07 +0300 209) dnl  =============================
868b2b66 (kx 2024-12-20 16:11:07 +0300 210) dnl  /* GetText частично проверил. Но мы делаем для себя. */
868b2b66 (kx 2024-12-20 16:11:07 +0300 211) AC_CHECK_INCLUDES_DEFAULT
868b2b66 (kx 2024-12-20 16:11:07 +0300 212) AC_PROG_EGREP
868b2b66 (kx 2024-12-20 16:11:07 +0300 213) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 214) AC_CHECK_HEADERS( locale.h )
868b2b66 (kx 2024-12-20 16:11:07 +0300 215) AC_CHECK_HEADERS( sys/types.h sys/stat.h stdlib.h stddef.h )
868b2b66 (kx 2024-12-20 16:11:07 +0300 216) AC_CHECK_HEADERS( memory.h string.h strings.h )
868b2b66 (kx 2024-12-20 16:11:07 +0300 217) AC_CHECK_HEADERS( inntypes.h stdint.h unistd.h )
868b2b66 (kx 2024-12-20 16:11:07 +0300 218) AC_CHECK_HEADERS( fcntl.h errno.h )
868b2b66 (kx 2024-12-20 16:11:07 +0300 219) AC_CHECK_HEADERS( sys/file.h )
868b2b66 (kx 2024-12-20 16:11:07 +0300 220) AC_CHECK_HEADERS( sys/uio.h )
868b2b66 (kx 2024-12-20 16:11:07 +0300 221) AC_CHECK_HEADERS( sys/wait.h )
868b2b66 (kx 2024-12-20 16:11:07 +0300 222) AC_CHECK_HEADERS( stdarg.h )
868b2b66 (kx 2024-12-20 16:11:07 +0300 223) AC_CHECK_HEADERS( sys/time.h )
868b2b66 (kx 2024-12-20 16:11:07 +0300 224) AC_CHECK_HEADERS( limits.h )
868b2b66 (kx 2024-12-20 16:11:07 +0300 225) AC_CHECK_HEADERS( endian.h )
868b2b66 (kx 2024-12-20 16:11:07 +0300 226) AC_CHECK_HEADERS_ONCE([sys/time.h])
868b2b66 (kx 2024-12-20 16:11:07 +0300 227) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 228) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 229) AC_MSG_CFG_PART(Test for Libc functions)
868b2b66 (kx 2024-12-20 16:11:07 +0300 230) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 231) dnl  Check for glibc funcs.
868b2b66 (kx 2024-12-20 16:11:07 +0300 232) dnl  =============================
868b2b66 (kx 2024-12-20 16:11:07 +0300 233) dnl  /* GetText частично проверил. Но мы делаем для себя. */
868b2b66 (kx 2024-12-20 16:11:07 +0300 234) AC_CHECK_FUNCS([iconv putenv setenv setlocale])
868b2b66 (kx 2024-12-20 16:11:07 +0300 235) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 236) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 237) # TODO: check programs
868b2b66 (kx 2024-12-20 16:11:07 +0300 238) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 239) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 240) test -n "$critic_missing" && AC_MSG_ERROR([
868b2b66 (kx 2024-12-20 16:11:07 +0300 241) ********   ${TB}These critical programs are missing or too old: $critic_missing${TN}
868b2b66 (kx 2024-12-20 16:11:07 +0300 242) ********   ${TB}Check the INSTALL file for required versions.${TN}])
868b2b66 (kx 2024-12-20 16:11:07 +0300 243) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 244) test -n "$aux_missing" && AC_MSG_WARN([
868b2b66 (kx 2024-12-20 16:11:07 +0300 245) ********   ${TB}These auxiliary programs are missing or too old: $aux_missing${TN}
868b2b66 (kx 2024-12-20 16:11:07 +0300 246) ********   ${TB}some features will be disabled.${TN}
868b2b66 (kx 2024-12-20 16:11:07 +0300 247) ********   ${TB}Check the INSTALL file for required versions.${TN}])
868b2b66 (kx 2024-12-20 16:11:07 +0300 248) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 249) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 250) dnl End of locate tools:
868b2b66 (kx 2024-12-20 16:11:07 +0300 251) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300 252) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 253) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 254) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300 255) dnl Define variables accoring to arguments:
868b2b66 (kx 2024-12-20 16:11:07 +0300 256) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300 257) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 258) # if using special system headers, find out the compiler's sekrit
868b2b66 (kx 2024-12-20 16:11:07 +0300 259) # header directory and add that to the list.  NOTE: Only does the
868b2b66 (kx 2024-12-20 16:11:07 +0300 260) # right thing on a system that doesn't need fixincludes.
868b2b66 (kx 2024-12-20 16:11:07 +0300 261) # (Not presently a problem.)
868b2b66 (kx 2024-12-20 16:11:07 +0300 262) if test -n "$sysheaders"; then
868b2b66 (kx 2024-12-20 16:11:07 +0300 263)   SYSINCLUDES=-nostdinc
868b2b66 (kx 2024-12-20 16:11:07 +0300 264)   for d in include include-fixed; do
868b2b66 (kx 2024-12-20 16:11:07 +0300 265)     i=`$CC -print-file-name="$d"` && test "x$i" != x && test "x$i" != "x$d" &&
868b2b66 (kx 2024-12-20 16:11:07 +0300 266)     SYSINCLUDES="$SYSINCLUDES -isystem $i"
868b2b66 (kx 2024-12-20 16:11:07 +0300 267)   done
868b2b66 (kx 2024-12-20 16:11:07 +0300 268)   SYSINCLUDES="$SYSINCLUDES -isystem `echo $sysheaders | sed 's/:/ -isystem /g'`"
868b2b66 (kx 2024-12-20 16:11:07 +0300 269) fi
868b2b66 (kx 2024-12-20 16:11:07 +0300 270) AC_SUBST(SYSINCLUDES)
868b2b66 (kx 2024-12-20 16:11:07 +0300 271) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 272) dnl
868b2b66 (kx 2024-12-20 16:11:07 +0300 273) dnl End of variables definition.
868b2b66 (kx 2024-12-20 16:11:07 +0300 274) dnl ============================================================
868b2b66 (kx 2024-12-20 16:11:07 +0300 275) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 276) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 277) AC_MSG_CFG_PART(OUTPUT Substitutions)
868b2b66 (kx 2024-12-20 16:11:07 +0300 278) AC_CONFIG_FILES([ po/Makefile.in
868b2b66 (kx 2024-12-20 16:11:07 +0300 279)                   Makefile
868b2b66 (kx 2024-12-20 16:11:07 +0300 280)                   mpu/Makefile
868b2b66 (kx 2024-12-20 16:11:07 +0300 281)                   include/libmpu.h
868b2b66 (kx 2024-12-20 16:11:07 +0300 282)                   mpu-config
07a2b481 (kx 2024-12-28 08:20:38 +0300 283)                   mpu.pc
07a2b481 (kx 2024-12-28 08:20:38 +0300 284)                   man/Makefile
07a2b481 (kx 2024-12-28 08:20:38 +0300 285)                   man/ru/Makefile])
868b2b66 (kx 2024-12-20 16:11:07 +0300 286) AC_OUTPUT
868b2b66 (kx 2024-12-20 16:11:07 +0300 287) 
868b2b66 (kx 2024-12-20 16:11:07 +0300 288) if test -f "config.h"; then
868b2b66 (kx 2024-12-20 16:11:07 +0300 289)   echo ""
868b2b66 (kx 2024-12-20 16:11:07 +0300 290)   echo "Now you can run:"
868b2b66 (kx 2024-12-20 16:11:07 +0300 291)   echo "  \`${TB}make${TN}'           to compile,"
868b2b66 (kx 2024-12-20 16:11:07 +0300 292)   echo "  \`${TB}make install${TN}'   to make and install ${TB}libmpu${TN},"
868b2b66 (kx 2024-12-20 16:11:07 +0300 293)   echo "  \`${TB}make dist${TN}'      to create distributable tarballs, or"
868b2b66 (kx 2024-12-20 16:11:07 +0300 294)   echo "  \`${TB}make distclean${TN}' to clean before configure for another target."
868b2b66 (kx 2024-12-20 16:11:07 +0300 295)   echo "Good luck."
868b2b66 (kx 2024-12-20 16:11:07 +0300 296)   echo ""
868b2b66 (kx 2024-12-20 16:11:07 +0300 297) fi