1
2dnl Process this file with autoconf to produce a configure script.
3AC_INIT(ez-ipupdate.c)
4AM_CONFIG_HEADER(config.h)
5AM_INIT_AUTOMAKE(ez-ipupdate,3.0.11b7)
6
7
8dnl Checks for programs.
9
10AC_ARG_PROGRAM
11AC_PROG_CC
12AC_PROG_CPP
13AC_PROG_INSTALL
14
15AC_TYPE_SIGNAL
16
17dnl Checks for libraries.
18
19AC_CHECK_FUNC(gethostbyname)
20if test $ac_cv_func_gethostbyname = no; then
21    AC_CHECK_LIB(nsl, gethostbyname)
22fi
23AC_CHECK_FUNC(connect)
24if test $ac_cv_func_connect = no; then
25    AC_CHECK_LIB(socket, connect)
26fi
27
28AC_CHECK_FUNCS( socket \
29		strdup \
30		getopt_long \
31                gethostbyaddr \
32	        getservbyname \
33	        inet_addr \
34		inet_ntoa \
35		snprintf \
36		vfprintf \
37                stat \
38		vsprintf \
39		vsnprintf \
40		strerror \
41		strftime \
42		wait \
43		waitpid \
44		getpid \
45		fork \
46		vfork \
47		getuid \
48		geteuid \
49		setuid \
50		seteuid \
51		getgid \
52		getegid \
53		setgid \
54		setegid \
55		inet_aton \
56		herror )
57
58dnl Checks for header files.
59AC_CHECK_HEADERS( arpa/inet.h \
60		  sys/types.h \
61		  sys/time.h \
62		  sys/stat.h \
63		  fcntl.h \
64		  signal.h \
65		  syslog.h \
66		  pwd.h \
67		  stdarg.h \
68		  grp.h \
69		  errno.h \
70		  sys/sockio.h \
71		  sys/wait.h \
72		  getopt.h )
73AC_CHECK_HEADERS( unistd.h \
74		  netinet/in.h \
75		  netdb.h \
76		  sys/socket.h
77                  ,,
78                  AC_MSG_ERROR(could not locate neccessary system header files) )
79
80AC_CHECK_LIB(c, sys_errlist, AC_DEFINE(HAVE_SYS_ERRLIST))
81
82dnl you need at least to have getopt, but getopt_long will be used if it
83dnl is present
84AC_CHECK_FUNCS(getopt)
85if test "$ac_cv_func_getopt" != yes; then
86  AC_MSG_ERROR(getopt is needed for this program to work)
87fi
88
89AC_CHECK_FUNC(getpass, AC_DEFINE(HAVE_GETPASS),
90    [EXTRASRC="$EXTRASRC \$(srcdir)/getpass.c"]
91    [EXTRAOBJ="$EXTRAOBJ \$(srcdir)/getpass.o"] )
92
93dnl Get system canonical name
94AC_CANONICAL_HOST
95AC_DEFINE_UNQUOTED(OS, "${host}")
96
97dnl allow selection of the default service
98dnl the default is to use ez-ip
99AC_MSG_CHECKING(for user supplied default service)
100AC_ARG_ENABLE(default-service,
101              [  --enable-default-service=SERVICE
102                          the default service type to use
103                          possibilities are: ezip, pgpow, justlinux, dhs, dnsomatic,
104                          dyndns, dyndns-static, ods, tzo, gnudip, easydns, easydns-partner, dyns, hn, zoneedit, heipv6tb],
105	      [ use_SERVICE=$enableval;
106		AC_MSG_RESULT(yes) ],
107	      [ AC_MSG_RESULT(no) 
108                use_SERVICE=null
109                AC_MSG_WARN(not setting default service) ]   )
110case "$use_SERVICE" in
111  ezip ) AC_DEFINE(DEF_SERVICE, "ezip");;
112  ez-ip ) AC_DEFINE(DEF_SERVICE, "ezip");;
113  pgpow ) AC_DEFINE(DEF_SERVICE, "pgpow");;
114  penguinpowered ) AC_DEFINE(DEF_SERVICE, "pgpow");;
115  justlinux ) AC_DEFINE(DEF_SERVICE, "justlinux");;
116  dhs ) AC_DEFINE(DEF_SERVICE, "dhs");;
117  dnsomatic ) AC_DEFINE(DEF_SERVICE, "dnsomatic");;
118  dyndns ) AC_DEFINE(DEF_SERVICE, "dyndns");;
119  dyndns-stat ) AC_DEFINE(DEF_SERVICE, "dyndns-stat");;
120  dyndns-static ) AC_DEFINE(DEF_SERVICE, "dyndns-static");;
121  ods ) AC_DEFINE(DEF_SERVICE, "ods");;
122  tzo ) AC_DEFINE(DEF_SERVICE, "tzo");;
123  gnudip ) AC_DEFINE(DEF_SERVICE, "gnudip");;
124  easydns ) AC_DEFINE(DEF_SERVICE, "easydns");;
125  easydns-partner ) AC_DEFINE(DEF_SERVICE, "easydns-partner");;
126  dyns ) AC_DEFINE(DEF_SERVICE, "dyns");;
127  hn ) AC_DEFINE(DEF_SERVICE, "hn");;
128  zoneedit ) AC_DEFINE(DEF_SERVICE, "zoneedit");;
129  heipv6tb ) AC_DEFINE(DEF_SERVICE, "heipv6tb");;
130  null ) AC_DEFINE(DEF_SERVICE, "NULL");;
131  "" ) ;;
132  * ) AC_MSG_ERROR(unknown default service type);;
133esac
134
135dnl check weather we want debugging support
136dnl the default is to NOT use debugging support
137AC_MSG_CHECKING(whether user wants debugging support)
138AC_ARG_ENABLE(debug,
139	      [  --enable-debug          include support for debugging],
140	      [ AC_DEFINE(DEBUG)
141		AC_MSG_RESULT(yes) ],
142	      [ AC_MSG_RESULT(no) ]   )
143
144dnl check weather we want to disable MD5 support
145AC_MSG_CHECKING(whether user wants to dissable MD5 support)
146AC_ARG_ENABLE(md5,
147	      [  --disable-md5           disable MD5 support],
148	      [ AC_MSG_RESULT(yes) ],
149	      [ AC_DEFINE(USE_MD5)
150                AC_MSG_RESULT(no) ]   )
151
152AC_SUBST(EXTRASRC)
153AC_SUBST(EXTRAOBJ)
154
155AC_OUTPUT(Makefile)
156
157