-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathconfigure.ac
132 lines (106 loc) · 4.28 KB
/
configure.ac
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# Copyright (c) 2006-2014 Internet Initiative Japan Inc. All rights reserved.
#
# The terms and conditions of the accompanying program
# shall be provided separately by Internet Initiative Japan Inc.
# Any use, reproduction or distribution of the program are permitted
# provided that you agree to be bound to such terms and conditions.
#
# $Id$
AC_INIT([yenma],[2.0.0-beta4])
AM_INIT_AUTOMAKE([foreign])
AC_CONFIG_SRCDIR(yenma/yenma.c)
AC_CONFIG_HEADERS(config.h)
AC_USE_SYSTEM_EXTENSIONS
AM_MAINTAINER_MODE
AC_PROG_CC
AM_PROG_CC_C_O
AC_PROG_CXX
AC_PROG_CPP
AC_PROG_SED
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
LT_INIT
AC_CONFIG_MACRO_DIR([m4])
progname=yenma
# Checks for libraries.
AC_SEARCH_LIBS(socket, socket)
AC_SEARCH_LIBS(gethostbyname, nsl)
AC_SEARCH_LIBS(clock_gettime, rt)
# Checks for header files.
AC_CHECK_HEADERS(sys/prctl.h net/if_dl.h tcpd.h)
# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_STDBOOL
AC_C_INLINE
AC_TYPE_INT64_T
AC_TYPE_OFF_T
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_TYPE_SSIZE_T
AC_TYPE_UINT16_T
AC_TYPE_UINT32_T
AC_TYPE_UINT64_T
AC_TYPE_UINT8_T
AC_CHECK_TYPES([ptrdiff_t])
# Checks for library functions.
AC_CHECK_FUNCS([prctl])
ACX_PTHREAD([], AC_MSG_ERROR(POSIX thread not found))
LIBS="$PTHREAD_LIBS $LIBS"
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
CC="$PTHREAD_CC"
AC_ARG_WITH(libmilter,
AS_HELP_STRING([--with-libmilter=DIR],[specify libmilter base directory]),
[CPPFLAGS="$CPPFLAGS -I$withval/include" LDFLAGS="$LDFLAGS -L$withval/lib"],
[CPPFLAGS="$CPPFLAGS -I/usr/local/include" LDFLAGS="$LDFLAGS -L/usr/local/lib"])
AC_ARG_WITH(libbind,
AS_HELP_STRING([--with-libbind=DIR],[specify libbind base directory]),
[CPPFLAGS="$CPPFLAGS -I$withval/include/bind" LDFLAGS="$LDFLAGS -L$withval/lib"])
AC_ARG_WITH(ldns,
AS_HELP_STRING([--with-ldns=DIR],[specify ldns base directory]),
[CPPFLAGS="$CPPFLAGS -I$withval/include" LDFLAGS="$LDFLAGS -L$withval/lib"])
AC_ARG_WITH(ssl,
AS_HELP_STRING([--with-ssl=DIR],[specify OpenSSL base directory]),
[CPPFLAGS="$CPPFLAGS -I$withval/include" LDFLAGS="$LDFLAGS -L$withval/lib"],
[CPPFLAGS="$CPPFLAGS -I/usr/local/include" LDFLAGS="$LDFLAGS -L/usr/local/lib"])
AC_CHECK_LIB(crypto, EVP_DigestInit, [], [AC_MSG_ERROR(libcrypto not found)])
AC_CHECK_MEMBER([struct smfiDesc.xxfi_negotiate],
[AC_DEFINE([HAVE_MILTER_XXFI_NEGOTIATE], [1], [defined if smfiDesc struct has xxfi_negotiate member])], [],
[#include <libmilter/mfapi.h>])
dnl libbind built on Solaris 8 or later depends libmd5
AC_SEARCH_LIBS(MD5Init, md5)
AC_CHECK_LIB(ldns, ldns_resolver_new,
[AC_DEFINE(HAVE_LIBLDNS, [1], [Define to 1 if you have the `ldns' library (-lldns).])
LIBS="-lldns ${LIBS}"
RESOLVER_OBJ="ldnsresolver.lo ${RESOLVER_OBJ}"], [],
[-lcrypto])
AC_CHECK_LIB(bind, __res_ndestroy,
[AC_DEFINE(HAVE_LIBBIND, [1], [Define to 1 if you have the `bind' library (-lbind).])
LIBS="-lbind ${LIBS}"
RESOLVER_OBJ="bindresolver.lo ${RESOLVER_OBJ}" MILTER_LIBS="-lbind"])
AC_ARG_WITH(libresolv,
AS_HELP_STRING([--with-libresolv],[use libresolv as resolver instead of libbind (NOT RECOMMENDED)]),
[AC_DEFINE(USE_LIBRESOLV, [1], [Define to 1 if you have the `resolv' library (-lresolv).])
LIBS="-lresolv ${LIBS}"
RESOLVER_OBJ="bindresolver.lo ${RESOLVER_OBJ}" MILTER_LIBS="-lresolv"])
if test "x${RESOLVER_OBJ}" = x; then
AC_MSG_ERROR(no resolver library found)
fi
AC_CHECK_LIB(milter, smfi_main, [], [AC_MSG_ERROR(libmilter not found or not available)], [${MILTER_LIBS}])
AC_ARG_WITH(libwrap,
AS_HELP_STRING([--with-libwrap],[use tcpwrapper for control socket]),
AC_CHECK_LIB(wrap, hosts_access, [], [AC_MSG_ERROR(libwrap not found)])
)
expanded_sysconfdir=`eval echo "${sysconfdir}"`
dnl autoconf 2.70 or later will support ${runstatedir}
expanded_runstatedir=`eval echo "${localstatedir}/run"`
AC_SUBST(expanded_sysconfdir)
AC_SUBST(expanded_runstatedir)
AC_SUBST(RESOLVER_OBJ)
AC_SUBST(LIBTOOL_DEPS)
AC_SUBST(progname)
AC_CONFIG_FILES([Makefile common/Makefile yenma/Makefile tools/Makefile])
AC_CONFIG_FILES([libsauth/Makefile libsauth/base/Makefile libsauth/resolver/Makefile])
AC_CONFIG_FILES([libsauth/spf/Makefile libsauth/dkim/Makefile libsauth/dmarc/Makefile])
AC_CONFIG_FILES([etc/Makefile etc/yenma.conf])
AC_CONFIG_FILES([etc/rc.yenma], [chmod +x etc/rc.yenma])
AC_OUTPUT