2 # Process this file with autoconf to produce a configure script.
6 # 2008-06-27 initial setup
7 # 2008-06-29 add of BIND path checking
8 # 2008-06-30 add of arg checkings
9 # 2008-07-02 additional arg checkings
10 # 2008-07-04 check for getopt_long() added
11 # 2008-08-30 check for unsigned integer types
12 # 2008-10-01 if BIND_UTIL_PATH check failed, use config_zkt.h setting as last resort
13 # 2009-07-30 check for timegm() added
14 # 2009-12-02 the tr command in bind_version= didn't work well under solaris
15 # 2010-10-14 new option to specify BIND_UTIL_PATH on command line (thanks to Mans Nilsson)
16 # No build in default BIND_UTIL_PATH used anymore
21 ### Package name and current version
22 AC_INIT(ZKT, 1.1.3, Holger Zuleger hznet.de)
23 dnl AC_REVISION(Revision: 1.397 )
25 ### Files to test to check if src dir contains the package
26 AC_CONFIG_SRCDIR([zkt-signer.c])
27 AC_CONFIG_HEADER([config.h])
30 ### Checks for programs.
33 ### find out the path to BIND utils and version
34 AC_ARG_ENABLE([bind_util_path], AS_HELP_STRING( [--enable-bind_util_path=PATH], [Define path to BIND utilities, default is path to dnssec-signzone]), [bind_util_path=$enableval])
35 if test -n "$bind_util_path"
37 if test -x "$bind_util_path/dnssec-signzone"
39 AC_MSG_NOTICE([BIND utilities path successfully set to $bind_util_path.])
40 SIGNZONE_PROG=$bind_util_path/dnssec-signzone
42 AC_MSG_ERROR([*** 'BIND utility not found in $bind_util_path, please use --enable-bind_util_path= to set it manually' ***])
45 AC_PATH_PROG([SIGNZONE_PROG], dnssec-signzone)
46 AC_MSG_NOTICE([BIND utility $SIGNZONE_PROG found])
47 if test -n "$SIGNZONE_PROG"
49 bind_util_path=`dirname "$SIGNZONE_PROG"`
50 AC_MSG_NOTICE([BIND utilities path automatically set to $bind_util_path.])
52 AC_MSG_ERROR([*** 'could not determine BIND utility path, please use --enable-bind_util_path= ' to set it manually ***])
55 ### By now, we have a path. We'll use it.
56 # define BIND_UTIL_PATH in config.h.in
57 AC_DEFINE_UNQUOTED(BIND_UTIL_PATH, "$bind_util_path/", Path to BIND utilities)
59 # define BIND_VERSION in config.h.in
60 bind_version=`$SIGNZONE_PROG 2>&1 | awk -F: '/^Version:/ { split ($2, v, "."); printf ("%2d%02d%02d\n", atoi (v[[1]]), atoi (v[[2]]), atoi (v[[3]])); };'`
61 AC_MSG_NOTICE([BIND_VERSION string set to $bind_version.])
62 AC_DEFINE_UNQUOTED(BIND_VERSION, $bind_version, BIND version as integer number without dots)
63 if test $bind_version -lt "90800"
65 AC_MSG_ERROR([*** 'This version of ZKT requires a BIND version greater 9.7' ***])
69 AC_CHECK_TYPE(uint, unsigned int)
70 AC_CHECK_TYPE(ulong, unsigned long)
71 AC_CHECK_TYPE(ushort, unsigned short)
72 AC_CHECK_TYPE(uchar, unsigned char)
74 ### define configure arguments
75 AC_ARG_ENABLE([color_mode], AS_HELP_STRING([--disable-color-mode], [zkt without colors]))
77 AS_IF([test "$enable_color_mode" = "no"], [color_mode=0])
80 AS_HELP_STRING([--without-curses], [Ignore presence of curses and disable color mode]))
82 AS_IF([test "x$with_curses" != "xno"],
83 [AC_CHECK_LIB([ncurses],[tgetent])],
84 [HAVE_LIB_NCURSES=0; color_mode=0])
86 AC_DEFINE_UNQUOTED(COLOR_MODE, $color_mode, zkt-ls with colors)
89 dnl printtimezone is a default-disabled feature
90 AC_ARG_ENABLE([printtimezone], AS_HELP_STRING( [--enable-print-timezone], [print out timezone]))
92 AS_IF([test "$enable_printtimezone" = "yes"], [printtimezone=1])
93 AC_DEFINE_UNQUOTED(PRINT_TIMEZONE, $printtimezone, print out timezone)
95 AC_ARG_ENABLE([printyear], AS_HELP_STRING( [--enable-print-age], [print age with year]))
97 AS_IF([test "$enable_printyear" = "yes"], [printyear=1])
98 AC_DEFINE_UNQUOTED(PRINT_AGE_WITH_YEAR, $printyear, print age with year)
100 AC_ARG_ENABLE([logprogname], AS_HELP_STRING( [--enable-log-progname], [log with progname]))
102 AS_IF([test "$enable_logprogname" = "yes"], [logprogname=1])
103 AC_DEFINE_UNQUOTED(LOG_WITH_PROGNAME, $logprogname, log with progname)
105 dnl logtimestamp is a default-enabled feature
106 AC_ARG_ENABLE([logtimestamp], AS_HELP_STRING([--disable-log-timestamp], [do not log with timestamp]))
108 AS_IF([test "$enable_logtimestamp" = "no"], [logtimestamp=0])
109 AC_DEFINE_UNQUOTED(LOG_WITH_TIMESTAMP, $logtimestamp, log with timestamp)
111 AC_ARG_ENABLE([loglevel], AS_HELP_STRING([--disable-log-level], [do not log with level]))
113 AS_IF([test "$enable_loglevel" = "no"], [loglevel=0])
114 AC_DEFINE_UNQUOTED(LOG_WITH_LEVEL, $loglevel, log with level)
116 AC_ARG_ENABLE([ttl_in_keyfile], AS_HELP_STRING([--disable-ttl-in-keyfiles], [do not allow TTL values in keyfiles]))
118 AS_IF([test "$enable_ttl_in_keyfile" = "no"], [ttl_in_keyfile=0])
119 AC_DEFINE_UNQUOTED(TTL_IN_KEYFILE_ALLOWED, $ttl_in_keyfile, TTL in keyfiles allowed)
121 configpath="/var/named"
122 AC_ARG_ENABLE([configpath],
123 AS_HELP_STRING( [--enable-configpath=PATH], [set path of config file (defaults to /var/named)]),
124 [configpath=$enableval])
125 case "$configpath" in
127 configpath="/var/named"
135 AC_DEFINE_UNQUOTED(CONFIG_PATH, "$configpath/", [set path of config file (defaults to /var/named)])
139 AC_ARG_ENABLE([tree],
140 AS_HELP_STRING( [--disable-tree], [use single linked list instead of binary tree data structure for dnssec-zkt]),
141 [usetree=$enableval])
142 if test "$usetree" = no
147 AC_DEFINE_UNQUOTED(USE_TREE, $usetree, Use TREE data structure for dnssec-zkt)
149 AC_DEFINE_UNQUOTED(ZKT_VERSION, "$t$PACKAGE_VERSION", ZKT version string)
150 AC_DEFINE_UNQUOTED(ZKT_COPYRIGHT, "(c) Feb 2005 - Nov 2012 Holger Zuleger hznet.de", ZKT copyright string)
152 ### Checks for libraries.
154 ### Checks for header files.
157 AC_CHECK_HEADERS([fcntl.h netdb.h stdlib.h getopt.h string.h strings.h sys/socket.h sys/time.h sys/types.h syslog.h unistd.h utime.h term.h curses.h])
160 ### Checks for typedefs, structures, and compiler characteristics.
168 ### Checks for library functions.
170 AC_FUNC_CLOSEDIR_VOID
171 AC_FUNC_ERROR_AT_LINE
177 # 2008-07-04 getopt_long added
178 # 2009-07-30 timegm added
179 AC_CHECK_FUNCS([getopt_long gettimeofday memset putenv socket strcasecmp strchr strdup strerror strncasecmp strrchr tzset utime getuid timegm])
182 AC_CONFIG_FILES([Makefile])