configure.in 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. dnl Process this file with autoconf to produce a configure script.
  2. AC_PREREQ(2.61)
  3. AC_INIT([mcrypt], [2.6.8])
  4. dnl AC_CONFIG_HEADER(config.h)
  5. AC_CANONICAL_TARGET
  6. AM_INIT_AUTOMAKE([])
  7. AM_CONFIG_HEADER(config.h)
  8. AC_DEFINE_UNQUOTED(T_CPU, "$target_cpu", [target CPU])
  9. AC_DEFINE_UNQUOTED(T_VENDOR, "$target_vendor", [Vendor])
  10. AC_DEFINE_UNQUOTED(T_OS, "$target_os", [OS])
  11. AC_PROG_LIBTOOL
  12. AC_PROG_CC
  13. AM_PATH_LIBMCRYPT( 2.5.0,,
  14. AC_MSG_ERROR([[*** libmcrypt was not found]])
  15. )
  16. AC_CHECK_LIB(mhash, mhash_keygen, LIBS="${LIBS} -lmhash",
  17. AC_MSG_ERROR("You need at least libmhash 0.8.15 to compile this program. http://mhash.sf.net/"))
  18. AC_MSG_CHECKING([whether mhash >= 0.8.15])
  19. AC_TRY_RUN([
  20. #include <mhash.h>
  21. int main() {
  22. if (MHASH_API_VERSION >= 20020524)
  23. exit(0);
  24. else
  25. exit(-1);
  26. }
  27. ],
  28. dnl ************ CASE >= 0.8.15
  29. AC_MSG_RESULT(yes)
  30. ,
  31. dnl ************ CASE < 0.8.15
  32. AC_MSG_RESULT(no)
  33. AC_MSG_ERROR("You need at least libmhash 0.8.15 to compile this program. http://mhash.sf.net/")
  34. ,
  35. AC_MSG_RESULT(cross compiling)
  36. )
  37. dnl For GNU gettext
  38. ALL_LINGUAS="el cs pl de es_AR"
  39. AM_GNU_GETTEXT([external])
  40. AC_CHECK_LIB(z, compress,,AC_MSG_WARN(
  41. ***
  42. *** ZLIB was not found. You will not be able to use ZLIB compression
  43. *** in OpenPGP packets.))
  44. LIBS="${LIBS} ${LIBMCRYPT_LIBS}"
  45. CFLAGS="${CFLAGS} ${LIBMCRYPT_CFLAGS} -Wall"
  46. AC_C_CONST
  47. dnl Checks for programs.
  48. AC_PROG_INSTALL
  49. AC_PROG_LN_S
  50. AC_PATH_PROG(RM,rm)
  51. case "${target}" in
  52. *-cygwin*)
  53. ;;
  54. *-mingw*)
  55. ;;
  56. *)
  57. AC_PATH_PROG(GZIP,gzip)
  58. AC_DEFINE_UNQUOTED(GZIP, "$GZIP", [gzip pathname])
  59. AC_PATH_PROG(BZIP2, bzip2)
  60. AC_DEFINE_UNQUOTED(BZIP2, "$BZIP2", [bzip2 pathname])
  61. ;;
  62. esac
  63. dnl AC_PROG_MAKE_SET
  64. dnl From GNUPG
  65. AC_MSG_CHECKING([whether use of /dev/random is requested])
  66. AC_ARG_ENABLE(dev-random,
  67. [ --disable-dev-random disable the use of dev random],
  68. try_dev_random=$enableval, try_dev_random=yes)
  69. AC_MSG_RESULT($try_dev_random)
  70. opt_static_link=no
  71. AC_MSG_CHECKING([whether static link is requested])
  72. AC_ARG_ENABLE(static-link,
  73. [ --enable-static-link link mcrypt statically (libmcrypt must also be a static library))],
  74. opt_static_link=$enableval)
  75. AC_MSG_RESULT($opt_static_link)
  76. opt_maintainer_mode=no
  77. AC_MSG_CHECKING([whether in maintanance mode])
  78. AC_ARG_ENABLE(maintainer-mode,
  79. [ --enable-maintainer-mode enable maintainer mode],
  80. opt_maintainer_mode=$enableval)
  81. AC_MSG_RESULT($opt_maintainer_mode)
  82. AC_MSG_CHECKING([whether included getpass is requested])
  83. AC_ARG_ENABLE(included-getpass,
  84. [ --disable-included-getpass disable-included-getpass],
  85. try_getpass=$enableval, try_getpass=yes)
  86. AC_MSG_RESULT($try_getpass)
  87. if test "$try_getpass" != yes ; then
  88. AC_DEFINE(NO_GETPASS, 1, [whether getpass was requested])
  89. fi
  90. case "${target}" in
  91. *-openbsd*)
  92. NAME_OF_DEV_RANDOM="/dev/srandom"
  93. NAME_OF_DEV_URANDOM="/dev/urandom"
  94. ;;
  95. *-cygwin*)
  96. AC_DEFINE(WIN32, 1, [win32])
  97. NAME_OF_DEV_RANDOM=""
  98. NAME_OF_DEV_URANDOM=""
  99. ;;
  100. *-mingw*)
  101. AC_DEFINE(WIN32, 1, [win32])
  102. NAME_OF_DEV_RANDOM=""
  103. NAME_OF_DEV_URANDOM=""
  104. ;;
  105. *)
  106. NAME_OF_DEV_RANDOM="/dev/random"
  107. NAME_OF_DEV_URANDOM="/dev/urandom"
  108. ;;
  109. esac
  110. AC_DEFINE_UNQUOTED(NAME_OF_DEV_RANDOM, "$NAME_OF_DEV_RANDOM", [path of random])
  111. AC_DEFINE_UNQUOTED(NAME_OF_DEV_URANDOM, "$NAME_OF_DEV_URANDOM", [path of urandom])
  112. dnl check whether we have a random device
  113. if test "$try_dev_random" = yes ; then
  114. AC_CACHE_CHECK(for random device, ac_cv_have_dev_random,
  115. [if test -c "/dev/random" && test -c "$NAME_OF_DEV_URANDOM" ; then
  116. ac_cv_have_dev_random=yes; else ac_cv_have_dev_random=no; fi])
  117. if test "$ac_cv_have_dev_random" = yes; then
  118. AC_DEFINE(HAVE_DEV_RANDOM, 1, [whether /dev/random exists])
  119. else
  120. AC_MSG_WARN(No random device found. No real random data can be used.)
  121. fi
  122. else
  123. AC_MSG_CHECKING(for random device)
  124. ac_cv_have_dev_random=no
  125. AC_MSG_RESULT(has been disabled)
  126. AC_MSG_WARN(Support for random device was disabled. No real random data can be used.)
  127. fi
  128. if test $ac_cv_c_compiler_gnu = yes; then
  129. if test $opt_maintainer_mode = yes; then
  130. CFLAGS=" -Wall -Wpointer-arith -O0 -ggdb3"
  131. fi
  132. fi
  133. if test "$opt_static_link" = yes; then
  134. if test -n "$GCC" || test "$ac_cv_c_compiler_gnu" = "yes"; then
  135. LDFLAGS="-static $LDFLAGS"
  136. fi
  137. fi
  138. AC_C_BIGENDIAN
  139. AC_TYPE_SIGNAL
  140. AC_CHECK_SIZEOF(unsigned long int, 4)
  141. AC_CHECK_SIZEOF(unsigned int, 4)
  142. AC_CHECK_SIZEOF(unsigned short int, 2)
  143. AC_CHECK_SIZEOF(unsigned char, 1)
  144. AC_CHECK_TYPE( off_t,
  145. AC_DEFINE( HAVE_OFF_T, 1, [have off_t type]),,
  146. )
  147. AC_SYS_LARGEFILE
  148. AC_HEADER_STDC
  149. AC_CHECK_HEADERS(unistd.h pwd.h locale.h strings.h mcrypt.h ctype.h)
  150. AC_CHECK_HEADERS(sys/stat.h sys/types.h fcntl.h sys/wait.h)
  151. AC_CHECK_HEADERS(utime.h signal.h)
  152. AC_CHECK_HEADERS(termios.h termio.h sgtty.h)
  153. AC_CHECK_FUNCS(bzero signal sigaction memset fsync siglongjmp strlcpy,,)
  154. AC_CHECK_FUNCS(umask utime memmove bcopy getpwuid waitpid kill ftime,,)
  155. AC_CHECK_FUNCS(lstat stat fseeko,,)
  156. AC_CONFIG_FILES([Makefile doc/Makefile src/Makefile po/Makefile.in])
  157. AC_CONFIG_COMMANDS([default],[[]],[[]])
  158. AC_OUTPUT