configure.in 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. AC_INIT(src/isync.h)
  2. AM_CONFIG_HEADER(config.h)
  3. AM_INIT_AUTOMAKE(isync, 1.1.0)
  4. AM_MAINTAINER_MODE
  5. AM_PROG_CC_STDC
  6. if test "$GCC" = yes; then
  7. CFLAGS="$CFLAGS -pipe -W -Wall -Wshadow -Wstrict-prototypes -ansi -pedantic -Wno-overlength-strings"
  8. fi
  9. CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
  10. AC_CHECK_HEADERS(sys/poll.h sys/select.h)
  11. AC_CHECK_FUNCS(vasprintf)
  12. AC_CHECK_LIB(socket, socket, [SOCK_LIBS="-lsocket"])
  13. AC_CHECK_LIB(nsl, inet_ntoa, [SOCK_LIBS="$SOCK_LIBS -lnsl"])
  14. AC_SUBST(SOCK_LIBS)
  15. m4_ifdef([AS_HELP_STRING], , [m4_define([AS_HELP_STRING], m4_defn([AC_HELP_STRING]))])
  16. have_ssl_paths=
  17. AC_ARG_WITH(ssl,
  18. AS_HELP_STRING([--with-ssl[=PATH]], [where to look for SSL [detect]]),
  19. [ob_cv_with_ssl=$withval])
  20. if test "x$ob_cv_with_ssl" != xno; then
  21. case $ob_cv_with_ssl in
  22. ""|yes)
  23. dnl Detect the pkg-config tool, as it may have extra info about the openssl
  24. dnl installation we can use. I *believe* this is what we are expected to do
  25. dnl on really recent Redhat Linux hosts.
  26. AC_PATH_PROG(PKGCONFIG, pkg-config, no, $PATH:/usr/bin:/usr/local/bin)
  27. if test "$PKGCONFIG" != "no" ; then
  28. AC_MSG_CHECKING([OpenSSL presence with pkg-config])
  29. if $PKGCONFIG --exists openssl; then
  30. SSL_LIBS=`$PKGCONFIG --libs-only-l openssl`
  31. SSL_LDFLAGS=`$PKGCONFIG --libs-only-L openssl`
  32. SSL_CPPFLAGS=`$PKGCONFIG --cflags-only-I openssl`
  33. have_ssl_paths=yes
  34. AC_MSG_RESULT([found])
  35. else
  36. AC_MSG_RESULT([not found])
  37. fi
  38. fi
  39. ;;
  40. *)
  41. SSL_LDFLAGS=-L$ob_cv_with_ssl/lib$libsuff
  42. SSL_CPPFLAGS=-I$ob_cv_with_ssl/include
  43. ;;
  44. esac
  45. if test -z "$have_ssl_paths"; then
  46. sav_LDFLAGS=$LDFLAGS
  47. LDFLAGS="$LDFLAGS $SSL_LDFLAGS"
  48. AC_CHECK_LIB(dl, dlopen, [LIBDL=-ldl])
  49. AC_CHECK_LIB(crypto, CRYPTO_lock, [LIBCRYPTO=-lcrypto])
  50. AC_CHECK_LIB(ssl, SSL_connect,
  51. [SSL_LIBS="-lssl $LIBCRYPTO $LIBDL" have_ssl_paths=yes])
  52. LDFLAGS=$sav_LDFLAGS
  53. fi
  54. sav_CPPFLAGS=$CPPFLAGS
  55. CPPFLAGS="$CPPFLAGS $SSL_CPPFLAGS"
  56. AC_CHECK_HEADER(openssl/ssl.h, , [have_ssl_paths=])
  57. CPPFLAGS=$sav_CPPFLAGS
  58. if test -z "$have_ssl_paths"; then
  59. if test -n "$ob_cv_with_ssl"; then
  60. AC_MSG_ERROR([OpenSSL libs and/or includes were not found where specified])
  61. fi
  62. else
  63. AC_DEFINE(HAVE_LIBSSL, 1, [if you have the OpenSSL libraries])
  64. CPPFLAGS="$CPPFLAGS $SSL_CPPFLAGS"
  65. LDFLAGS="$LDFLAGS $SSL_LDFLAGS"
  66. fi
  67. fi
  68. AC_SUBST(SSL_LIBS)
  69. AC_CACHE_CHECK([for Berkley DB 4.2], ac_cv_berkdb4,
  70. [ac_cv_berkdb4=no
  71. AC_TRY_LINK([#include <db.h>],
  72. [DB *db;
  73. db->truncate(db, 0, 0, 0);
  74. db->open(db, 0, "foo", "foo", DB_HASH, DB_CREATE, 0)],
  75. [ac_cv_berkdb4=yes])])
  76. if test "x$ac_cv_berkdb4" = xno; then
  77. AC_MSG_ERROR([Berkley DB 4.2 not found.
  78. You must install libdb4.2 including the respective development files/headers.])
  79. fi
  80. AC_ARG_ENABLE(compat,
  81. AS_HELP_STRING([--disable-compat], [don't include isync compatibility wrapper [no]]),
  82. [ob_cv_enable_compat=$enableval])
  83. if test "x$ob_cv_enable_compat" != xno; then
  84. AC_CHECK_FUNCS(getopt_long)
  85. fi
  86. AM_CONDITIONAL(with_compat, test "x$ob_cv_enable_compat" != xno)
  87. AC_OUTPUT(Makefile src/Makefile src/compat/Makefile isync.spec)
  88. if test -n "$have_ssl_paths"; then
  89. AC_MSG_RESULT([
  90. Using SSL
  91. ])
  92. else
  93. AC_MSG_RESULT([
  94. Not using SSL
  95. ])
  96. fi