1132451Sroberto# Process this file with autoconf to produce a configure script.
2132451SrobertoAC_INIT(main.c)
3132451SrobertoAM_INIT_AUTOMAKE([msntp],[1.6])
4132451SrobertoAC_CONFIG_SRCDIR([header.h])
5182007SrobertoAC_CANONICAL_HOST
6182007SrobertoAM_CONFIG_HEADER(config.h)
7132451Sroberto
8132451Sroberto# Checks for programs.
9132451SrobertoAC_PROG_CC
10132451Sroberto
11182007Sroberto# So far, the only shared library we might use is libopts.
12182007Sroberto# It's a small library - we might as well use a static version of it.
13182007SrobertoAC_DISABLE_SHARED
14182007Sroberto
15200576Srobertom4_defun([_LT_AC_LANG_CXX_CONFIG], [:])
16200576Srobertom4_defun([_LT_AC_LANG_F77_CONFIG], [:])
17200576Sroberto
18182007SrobertoAC_PROG_LIBTOOL
19182007Sroberto
20182007Sroberto# NTP has (so far) been relying on leading-edge autogen.
21182007Sroberto# Therefore, by default:
22182007Sroberto# - use the version we ship with
23182007Sroberto# - do not install it
24182007Sroberto# - build a static copy (AC_DISABLE_SHARED - done earlier)
25182007Srobertocase "${enable_local_libopts+set}" in
26182007Sroberto set) ;;
27182007Sroberto *) enable_local_libopts=yes ;;
28182007Srobertoesac
29182007Srobertocase "${enable_libopts_install+set}" in
30182007Sroberto set) ;;
31182007Sroberto *) enable_libopts_install=no ;;
32182007Srobertoesac
33182007SrobertoLIBOPTS_CHECK
34182007Sroberto
35182007SrobertoAC_MSG_CHECKING([[if $CC can handle #warning]])
36182007SrobertoAC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[#warning foo]])],[ac_cv_cpp_warning=yes],[ac_cv_cpp_warning=no])
37182007SrobertoAC_MSG_RESULT([$ac_cv_cpp_warning])
38182007Sroberto
39182007Srobertocase "$ac_cv_cpp_warning" in
40182007Sroberto no)
41182007Sroberto    AC_DEFINE([NO_OPTION_NAME_WARNINGS], [1], [Should we avoid #warning on option name collisions?])
42182007Sroberto    AC_MSG_RESULT([[Enabling NO_OPTION_NAME_WARNINGS as #warning does not work]])
43182007Sroberto    ;;
44182007Srobertoesac
45182007Sroberto
46200576SrobertoAC_C_INLINE
47200576Sroberto
48200576Srobertocase "$ac_cv_c_inline" in
49200576Sroberto '')
50200576Sroberto    ;;
51200576Sroberto *)
52200576Sroberto    AC_DEFINE(HAVE_INLINE,1,[inline keyword or macro available])
53200576Sroberto    AC_SUBST(HAVE_INLINE)
54200576Srobertoesac
55200576Sroberto
56200576Sroberto
57132451Sroberto# Checks for libraries.
58132451Sroberto
59132451Sroberto# Checks for header files.
60132451SrobertoAC_HEADER_STDC
61132451SrobertoAC_CHECK_HEADERS([arpa/inet.h fcntl.h float.h limits.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h syslog.h unistd.h])
62132451Sroberto
63132451Sroberto# Checks for typedefs, structures, and compiler characteristics.
64132451SrobertoAC_C_CONST
65132451SrobertoAC_TYPE_SIZE_T
66132451SrobertoAC_HEADER_TIME
67132451SrobertoAC_STRUCT_TM
68132451Sroberto
69132451SrobertoAC_CACHE_CHECK([for ss_family field in struct sockaddr_storage],
70132451Sroberto		ac_cv_have_ss_family_in_struct_ss, [
71132451Sroberto	AC_TRY_COMPILE(
72132451Sroberto		[
73132451Sroberto#include <sys/types.h>
74132451Sroberto#include <sys/socket.h>
75132451Sroberto		],
76132451Sroberto		[ struct sockaddr_storage s; s.ss_family = 1; ],
77132451Sroberto		[ ac_cv_have_ss_family_in_struct_ss="yes" ],
78132451Sroberto		[ ac_cv_have_ss_family_in_struct_ss="no" ],
79132451Sroberto	)
80132451Sroberto])
81182007Srobertocase "$ac_cv_have_ss_family_in_struct_ss" in
82182007Sroberto yes)
83182007Sroberto    AC_DEFINE(HAVE_SS_FAMILY_IN_SS, 1, [Does struct sockaddr_storage have ss_family?])
84182007Sroberto    ;;
85182007Srobertoesac
86132451Sroberto
87132451SrobertoAC_CACHE_CHECK([for __ss_family field in struct sockaddr_storage],
88132451Sroberto		ac_cv_have___ss_family_in_struct_ss, [
89132451Sroberto	AC_TRY_COMPILE(
90132451Sroberto		[
91132451Sroberto#include <sys/types.h>
92132451Sroberto#include <sys/socket.h>
93132451Sroberto		],
94132451Sroberto		[ struct sockaddr_storage s; s.__ss_family = 1; ],
95132451Sroberto		[ ac_cv_have___ss_family_in_struct_ss="yes" ],
96132451Sroberto		[ ac_cv_have___ss_family_in_struct_ss="no" ]
97132451Sroberto	)
98132451Sroberto])
99182007Srobertocase "$ac_cv_have___ss_family_in_struct_ss" in
100182007Sroberto yes)
101182007Sroberto    AC_DEFINE(HAVE___SS_FAMILY_IN_SS, 1, [Does struct sockaddr_storage have __ss_family?])
102182007Sroberto    ;;
103182007Srobertoesac
104132451Sroberto
105132451Srobertocase "$ac_cv_have_ss_family_in_struct_ss$ac_cv_have___ss_family_in_struct_ss" in
106132451Sroberto noyes)
107182007Sroberto    AC_DEFINE_UNQUOTED([ss_family], [__ss_family], [normalize ss_family access])
108182007Sroberto    AC_DEFINE_UNQUOTED([ss_len], [__ss_len], [normalize ss_len access])
109132451Sroberto    ;;
110132451Srobertoesac
111132451Sroberto
112132451Sroberto# Checks for library functions.
113200576Sroberto#AC_FUNC_MEMCMP	 dnl HMS: we don't have a memcmp.c to use here, so why bother?
114132451SrobertoAC_FUNC_SETVBUF_REVERSED
115132451SrobertoAC_TYPE_SIGNAL
116132451SrobertoAC_CHECK_FUNCS([alarm])
117200576SrobertoAC_CHECK_FUNC([gethostent], , AC_SEARCH_LIBS([gethostent], [nsl], , , [-lsocket]))
118132451SrobertoAC_CHECK_FUNCS([gettimeofday inet_ntoa memset])
119200576SrobertoAC_CHECK_FUNCS([socket], , AC_SEARCH_LIBS([socket], [socket]))
120200576SrobertoAC_CHECK_FUNCS([sqrt], , AC_SEARCH_LIBS([sqrt], [m]))
121132451SrobertoAC_CHECK_FUNCS([strrchr])
122132451Sroberto
123132451Srobertocase "$host" in
124182007Sroberto *-*-hpux10.*)	# at least for hppa2.0-hp-hpux10.20
125182007Sroberto    case "$GCC" in
126182007Sroberto     yes)
127182007Sroberto	;;
128182007Sroberto     *) CFLAGS="$CFLAGS -Wp,-H18816"
129182007Sroberto	;;
130182007Sroberto    esac
131182007Sroberto    ;;
132132451Sroberto *-*-linux*)
133132451Sroberto    CFLAGS="$CFLAGS -DADJTIME_MISSING"
134132451Sroberto    ;;
135132451Sroberto *-*-sunos*)
136132451Sroberto    CFLAGS="$CFLAGS -DNONBLOCK_BROKEN"
137132451Sroberto    ;;
138132451Srobertoesac
139132451Sroberto
140182007SrobertoAC_MSG_CHECKING(for bin subdirectory)
141182007SrobertoAC_ARG_WITH(binsubdir,
142182007Sroberto	AC_HELP_STRING([--with-binsubdir], [bin ={bin,sbin}]),
143182007Sroberto	use_binsubdir="$withval", use_binsubdir="bin")
144182007Sroberto
145182007Srobertocase "$use_binsubdir" in
146182007Sroberto bin)
147182007Sroberto    ;;
148182007Sroberto sbin)
149182007Sroberto    ;;
150182007Sroberto *)
151182007Sroberto    AC_MSG_ERROR([<$use_binsubdir> is illegal - must be "bin" or "sbin"])
152182007Sroberto    ;;
153182007Srobertoesac
154182007SrobertoAC_MSG_RESULT($use_binsubdir)
155182007SrobertoBINSUBDIR=$use_binsubdir
156182007SrobertoAC_SUBST(BINSUBDIR)
157182007Sroberto
158132451SrobertoAC_CONFIG_FILES([Makefile])
159132451SrobertoAC_OUTPUT
160