1dnl Process this file with autoconf to produce a configure script.
2AC_INIT(yafic.c)
3AM_INIT_AUTOMAKE(yafic, 1.2.2)
4AM_CONFIG_HEADER(config.h)
5
6dnl Checks for programs.
7AC_PROG_CC
8
9AC_ARG_ENABLE(crypto,
10AC_HELP_STRING([--disable-crypto],[disable database signing/verification]),,
11enable_crypto=yes)
12
13if test "$enable_crypto" = "yes"; then
14  AC_PATH_PROG(OPENSSL, openssl, notfound)
15  if test "$OPENSSL" != "notfound"; then
16    AC_DEFINE([YAFIC_CRYPTO], 1, [Define to 1 if using OpenSSL's libcrypto.])
17    CRYPTO_PROGRAMS="yafic-sign"
18    CRYPTO_MANS="yafic-sign.1"
19  fi
20fi
21AC_SUBST(CRYPTO_PROGRAMS)
22AC_SUBST(CRYPTO_MANS)
23
24dnl Checks for libraries.
25APS_SEARCH_BDB_185_HEADER
26if test "$aps_cv_bdb_header" = "not found"; then
27  AC_MSG_ERROR([cannot find Berkeley DB 1.xx header])
28fi
29YAFIC_DB_HEADER=$aps_cv_bdb_header
30AC_SUBST(YAFIC_DB_HEADER)
31APS_SEARCH_BDB_185_LIB
32if test "$aps_cv_bdb_lib" = "no"; then
33  AC_MSG_ERROR([cannot find Berkeley DB 1.xx library])
34fi
35if test "$enable_crypto" = "yes"; then
36  if test "$OPENSSL" != "notfound"; then
37    AC_SEARCH_LIBS([EVP_SignFinal], crypto)
38  fi
39fi
40
41dnl Checks for header files.
42AC_HEADER_DIRENT
43AC_CHECK_HEADERS(libgen.h)
44
45dnl Checks for typedefs, structures, and compiler characteristics.
46AC_C_BIGENDIAN
47AC_C_CONST
48AC_C_INLINE
49AC_TYPE_SIZE_T
50AC_CHECK_TYPE([uint8_t],,
51[AC_DEFINE([uint8_t], [unsigned char],
52[Define to `unsigned char' if not defined.])])
53AC_CHECK_TYPE([uint32_t],,
54[AC_DEFINE([uint32_t], [unsigned int],
55[Define to `unsigned int' if not defined.])])
56AC_CHECK_TYPE([uint64_t],,
57[AC_DEFINE([uint64_t], [unsigned long long],
58[Define to `unsigned long long' if not defined.])])
59
60dnl Figure out the size of relevant stat fields.
61APS_CHECK_STAT_SIZEOF(st_mode, 4)
62APS_CHECK_STAT_SIZEOF(st_ino, 4)
63APS_CHECK_STAT_SIZEOF(st_nlink, 4)
64APS_CHECK_STAT_SIZEOF(st_uid, 4)
65APS_CHECK_STAT_SIZEOF(st_gid, 4)
66APS_CHECK_STAT_SIZEOF(st_size, 4)
67APS_CHECK_STAT_SIZEOF(st_atime, 4)
68APS_CHECK_STAT_SIZEOF(st_mtime, 4)
69APS_CHECK_STAT_SIZEOF(st_ctime, 4)
70
71dnl Checks for library functions.
72AC_FUNC_SETVBUF_REVERSED
73AC_REPLACE_FUNCS(dirname strlcat strlcpy)
74if test "$enable_crypto" = "yes"; then
75  if test "$OPENSSL" != "notfound"; then
76    AC_CHECK_FUNCS(EVP_MD_CTX_init EVP_MD_CTX_cleanup)
77    APS_FUNC_EVP_DIGESTINIT_VOID
78  fi
79fi
80
81AC_OUTPUT([Makefile yafic-db.h])
82