roken-frag.m4 revision 225736
1243789Sdimdnl $Id: roken-frag.m4 20639 2007-05-10 17:22:58Z lha $
2243789Sdimdnl
3243789Sdimdnl some code to get roken working
4243789Sdimdnl
5243789Sdimdnl rk_ROKEN(subdir)
6243789Sdimdnl
7243789SdimAC_DEFUN([rk_ROKEN], [
8243789Sdim
9243789SdimAC_REQUIRE([rk_CONFIG_HEADER])
10243789Sdim
11243789SdimDIR_roken=roken
12243789SdimLIB_roken='$(top_builddir)/$1/libroken.la'
13243789SdimINCLUDES_roken='-I$(top_builddir)/$1 -I$(top_srcdir)/$1'
14243789Sdim
15243789Sdimdnl Checks for programs
16243789SdimAC_REQUIRE([AC_PROG_CC])
17243789SdimAC_REQUIRE([AC_PROG_AWK])
18243789SdimAC_REQUIRE([AC_OBJEXT])
19243789SdimAC_REQUIRE([AC_EXEEXT])
20243789SdimAC_REQUIRE([AC_PROG_LIBTOOL])
21243789Sdim
22243789SdimAC_REQUIRE([AC_MIPS_ABI])
23243789Sdim
24243789Sdimdnl C characteristics
25252723Sdim
26243789SdimAC_REQUIRE([AC_C___ATTRIBUTE__])
27243789SdimAC_REQUIRE([AC_C_INLINE])
28243789SdimAC_REQUIRE([AC_C_CONST])
29243789Sdimrk_WFLAGS(-Wall -Wmissing-prototypes -Wpointer-arith -Wbad-function-cast -Wmissing-declarations -Wnested-externs)
30243789Sdim
31243789SdimAC_REQUIRE([rk_DB])
32243789Sdim
33252723Sdimdnl C types
34252723Sdim
35243789SdimAC_REQUIRE([AC_TYPE_SIZE_T])
36252723SdimAC_HAVE_TYPE([ssize_t],[#include <unistd.h>])
37243789SdimAC_REQUIRE([AC_TYPE_PID_T])
38243789SdimAC_REQUIRE([AC_TYPE_UID_T])
39252723SdimAC_HAVE_TYPE([long long])
40243789Sdim
41243789SdimAC_REQUIRE([rk_RETSIGTYPE])
42252723Sdim
43243789Sdimdnl Checks for header files.
44243789SdimAC_REQUIRE([AC_HEADER_STDC])
45263509SdimAC_REQUIRE([AC_HEADER_TIME])
46243789Sdim
47243789SdimAC_CHECK_HEADERS([\
48252723Sdim	arpa/inet.h				\
49252723Sdim	config.h				\
50252723Sdim	crypt.h					\
51243789Sdim	dirent.h				\
52243789Sdim	errno.h					\
53243789Sdim	err.h					\
54243789Sdim	fcntl.h					\
55252723Sdim	fnmatch.h				\
56252723Sdim	grp.h					\
57243789Sdim	ifaddrs.h				\
58243789Sdim	netinet/in.h				\
59243789Sdim	netinet/in6.h				\
60243789Sdim	netinet/in_systm.h			\
61243789Sdim	netinet6/in6.h				\
62243789Sdim	paths.h					\
63243789Sdim	poll.h					\
64243789Sdim	pwd.h					\
65243789Sdim	rpcsvc/ypclnt.h				\
66243789Sdim	shadow.h				\
67243789Sdim	stdint.h				\
68243789Sdim	sys/bswap.h				\
69243789Sdim	sys/ioctl.h				\
70243789Sdim	sys/mman.h				\
71252723Sdim	sys/param.h				\
72252723Sdim	sys/resource.h				\
73252723Sdim	sys/sockio.h				\
74243789Sdim	sys/stat.h				\
75243789Sdim	sys/time.h				\
76243789Sdim	sys/tty.h				\
77243789Sdim	sys/types.h				\
78252723Sdim	sys/uio.h				\
79243789Sdim	sys/utsname.h				\
80243789Sdim	sys/wait.h				\
81243789Sdim	syslog.h				\
82243789Sdim	termios.h				\
83243789Sdim	unistd.h				\
84243789Sdim	userconf.h				\
85243789Sdim	usersec.h				\
86243789Sdim	util.h					\
87243789Sdim])
88243789Sdim
89243789SdimAC_HAVE_TYPE([uintptr_t],[#ifdef HAVE_STDINT_H
90243789Sdim#include <stdint.h>
91243789Sdim#endif])
92243789Sdim
93243789Sdimdnl Sunpro 5.2 has a vis.h which is something different.
94243789SdimAC_CHECK_HEADERS(vis.h, , , [
95243789Sdim#include <vis.h>
96243789Sdim#ifndef VIS_SP
97243789Sdim#error invis
98243789Sdim#endif])
99243789Sdim	
100243789SdimAC_CHECK_HEADERS(netdb.h, , , [AC_INCLUDES_DEFAULT
101243789Sdim#ifdef HAVE_SYS_TYPES_H
102243789Sdim#include <sys/types.h>
103243789Sdim#endif
104243789Sdim])
105243789Sdim
106252723SdimAC_CHECK_HEADERS(sys/socket.h, , , [AC_INCLUDES_DEFAULT
107252723Sdim#ifdef HAVE_SYS_TYPES_H
108243789Sdim#include <sys/types.h>
109243789Sdim#endif
110252723Sdim])
111243789Sdim
112252723SdimAC_CHECK_HEADERS(net/if.h, , , [AC_INCLUDES_DEFAULT
113243789Sdim#ifdef HAVE_SYS_TYPES_H
114243789Sdim#include <sys/types.h>
115243789Sdim#endif
116243789Sdim#if HAVE_SYS_SOCKET_H
117243789Sdim#include <sys/socket.h>
118243789Sdim#endif])
119243789Sdim
120243789SdimAC_CHECK_HEADERS(netinet6/in6_var.h, , , [AC_INCLUDES_DEFAULT
121243789Sdim#ifdef HAVE_SYS_TYPES_H
122243789Sdim#include <sys/types.h>
123243789Sdim#endif
124243789Sdim#if HAVE_SYS_SOCKET_H
125243789Sdim#include <sys/socket.h>
126243789Sdim#endif
127243789Sdim#ifdef HAVE_NETINET6_IN6_H
128243789Sdim#include <netinet6/in6.h>
129243789Sdim#endif
130243789Sdim])
131243789Sdim
132243789SdimAC_CHECK_HEADERS(sys/sysctl.h, , , [AC_INCLUDES_DEFAULT
133243789Sdim#ifdef HAVE_SYS_PARAM_H
134243789Sdim#include <sys/param.h>
135243789Sdim#endif
136243789Sdim])
137243789Sdim
138243789SdimAC_CHECK_HEADERS(sys/proc.h, , , [AC_INCLUDES_DEFAULT
139243789Sdim#ifdef HAVE_SYS_PARAM_H
140243789Sdim#include <sys/param.h>
141243789Sdim#endif
142243789Sdim])
143243789Sdim
144243789SdimAC_REQUIRE([CHECK_NETINET_IP_AND_TCP])
145243789Sdim
146243789SdimAM_CONDITIONAL(have_err_h, test "$ac_cv_header_err_h" = yes)
147243789SdimAM_CONDITIONAL(have_ifaddrs_h, test "$ac_cv_header_ifaddrs_h" = yes)
148243789SdimAM_CONDITIONAL(have_vis_h, test "$ac_cv_header_vis_h" = yes)
149252723Sdim
150243789Sdimdnl Check for functions and libraries
151243789Sdim
152243789SdimAC_FIND_FUNC(socket, socket)
153243789SdimAC_FIND_FUNC(gethostbyname, nsl)
154243789SdimAC_FIND_FUNC(syslog, syslog)
155243789Sdim
156243789SdimAC_KRB_IPV6
157243789Sdim
158243789SdimAC_FIND_FUNC(gethostbyname2, inet6 ip6)
159243789Sdim
160243789Sdimrk_RESOLV
161243789Sdim
162243789SdimAC_BROKEN_SNPRINTF
163243789SdimAC_BROKEN_VSNPRINTF
164243789Sdim
165243789SdimAC_BROKEN_GLOB
166243789Sdimif test "$ac_cv_func_glob_working" != yes; then
167243789Sdim	AC_LIBOBJ(glob)
168243789Sdimfi
169243789SdimAM_CONDITIONAL(have_glob_h, test "$ac_cv_func_glob_working" = yes)
170243789Sdim
171243789Sdim
172243789SdimAC_CHECK_FUNCS([				\
173263509Sdim	asnprintf				\
174243789Sdim	asprintf				\
175243789Sdim	atexit					\
176243789Sdim	cgetent					\
177243789Sdim	getconfattr				\
178243789Sdim	getprogname				\
179243789Sdim	getrlimit				\
180243789Sdim	getspnam				\
181243789Sdim	initstate				\
182243789Sdim	issetugid				\
183243789Sdim	on_exit					\
184243789Sdim	poll					\
185243789Sdim	random					\
186243789Sdim	setprogname				\
187243789Sdim	setstate				\
188243789Sdim	strsvis					\
189243789Sdim	strunvis				\
190243789Sdim	strvis					\
191243789Sdim	strvisx					\
192243789Sdim	svis					\
193243789Sdim	sysconf					\
194243789Sdim	sysctl					\
195243789Sdim	uname					\
196243789Sdim	unvis					\
197243789Sdim	vasnprintf				\
198243789Sdim	vasprintf				\
199243789Sdim	vis					\
200243789Sdim])
201243789Sdim
202243789Sdimif test "$ac_cv_func_cgetent" = no; then
203243789Sdim	AC_LIBOBJ(getcap)
204252723Sdimfi
205243789SdimAM_CONDITIONAL(have_cgetent, test "$ac_cv_func_cgetent" = yes)
206243789Sdim
207252723SdimAC_REQUIRE([AC_FUNC_GETLOGIN])
208252723Sdim
209252723SdimAC_REQUIRE([AC_FUNC_MMAP])
210252723Sdim
211252723SdimAC_FIND_FUNC_NO_LIBS(getsockopt,,
212252723Sdim[#ifdef HAVE_SYS_TYPES_H
213252723Sdim#include <sys/types.h>
214243789Sdim#endif
215252723Sdim#ifdef HAVE_SYS_SOCKET_H
216252723Sdim#include <sys/socket.h>
217243789Sdim#endif],
218243789Sdim[0,0,0,0,0])
219243789SdimAC_FIND_FUNC_NO_LIBS(setsockopt,,
220252723Sdim[#ifdef HAVE_SYS_TYPES_H
221252723Sdim#include <sys/types.h>
222243789Sdim#endif
223243789Sdim#ifdef HAVE_SYS_SOCKET_H
224243789Sdim#include <sys/socket.h>
225243789Sdim#endif],
226252723Sdim[0,0,0,0,0])
227252723Sdim
228243789SdimAC_FIND_IF_NOT_BROKEN(hstrerror, resolv,
229243789Sdim[#ifdef HAVE_NETDB_H
230243789Sdim#include <netdb.h>
231252723Sdim#endif],
232252723Sdim17)
233243789SdimAC_NEED_PROTO([
234243789Sdim#ifdef HAVE_NETDB_H
235243789Sdim#include <netdb.h>
236243789Sdim#endif],
237243789Sdimhstrerror)
238243789Sdim
239243789SdimAC_FOREACH([rk_func], [asprintf vasprintf asnprintf vasnprintf],
240243789Sdim	[AC_NEED_PROTO([
241243789Sdim	#include <stdio.h>
242243789Sdim	#include <string.h>],
243243789Sdim	rk_func)])
244243789Sdim
245243789SdimAC_FIND_FUNC_NO_LIBS(bswap16,,
246243789Sdim[#ifdef HAVE_SYS_BSWAP_H
247243789Sdim#include <sys/bswap.h>
248243789Sdim#endif],0)
249243789Sdim
250252723SdimAC_FIND_FUNC_NO_LIBS(bswap32,,
251252723Sdim[#ifdef HAVE_SYS_BSWAP_H
252243789Sdim#include <sys/bswap.h>
253252723Sdim#endif],0)
254252723Sdim
255252723SdimAC_FIND_FUNC_NO_LIBS(pidfile,util,
256243789Sdim[#ifdef HAVE_UTIL_H
257243789Sdim#include <util.h>
258243789Sdim#endif],0)
259243789Sdim
260243789SdimAC_FIND_IF_NOT_BROKEN(getaddrinfo,,
261243789Sdim[#ifdef HAVE_NETDB_H
262243789Sdim#include <netdb.h>
263243789Sdim#endif],[0,0,0,0])
264243789Sdim
265243789SdimAC_FIND_IF_NOT_BROKEN(getnameinfo,,
266252723Sdim[#ifdef HAVE_NETDB_H
267243789Sdim#include <netdb.h>
268243789Sdim#endif],[0,0,0,0,0,0,0])
269243789Sdim
270243789SdimAC_FIND_IF_NOT_BROKEN(freeaddrinfo,,
271243789Sdim[#ifdef HAVE_NETDB_H
272243789Sdim#include <netdb.h>
273243789Sdim#endif],[0])
274243789Sdim
275243789SdimAC_FIND_IF_NOT_BROKEN(gai_strerror,,
276243789Sdim[#ifdef HAVE_NETDB_H
277243789Sdim#include <netdb.h>
278252723Sdim#endif],[0])
279243789Sdim
280252723SdimAC_BROKEN([					\
281243789Sdim	chown					\
282243789Sdim	copyhostent				\
283243789Sdim	closefrom				\
284252723Sdim	daemon					\
285243789Sdim	ecalloc					\
286252723Sdim	emalloc					\
287243789Sdim	erealloc				\
288243789Sdim	estrdup					\
289243789Sdim	err					\
290243789Sdim	errx					\
291243789Sdim	fchown					\
292243789Sdim	flock					\
293243789Sdim	fnmatch					\
294243789Sdim	freehostent				\
295243789Sdim	getcwd					\
296243789Sdim	getdtablesize				\
297243789Sdim	getegid					\
298243789Sdim	geteuid					\
299243789Sdim	getgid					\
300243789Sdim	gethostname				\
301243789Sdim	getifaddrs				\
302243789Sdim	getipnodebyaddr				\
303252723Sdim	getipnodebyname				\
304252723Sdim	getopt					\
305243789Sdim	gettimeofday				\
306243789Sdim	getuid					\
307243789Sdim	getusershell				\
308243789Sdim	initgroups				\
309243789Sdim	innetgr					\
310243789Sdim	iruserok				\
311252723Sdim	localtime_r				\
312243789Sdim	lstat					\
313263509Sdim	memmove					\
314263509Sdim	mkstemp					\
315263509Sdim	putenv					\
316243789Sdim	rcmd					\
317252723Sdim	readv					\
318243789Sdim	recvmsg					\
319243789Sdim	sendmsg					\
320252723Sdim	setegid					\
321252723Sdim	setenv					\
322252723Sdim	seteuid					\
323252723Sdim	strcasecmp				\
324252723Sdim	strdup					\
325243789Sdim	strerror				\
326243789Sdim	strftime				\
327243789Sdim	strlcat					\
328243789Sdim	strlcpy					\
329252723Sdim	strlwr					\
330252723Sdim	strncasecmp				\
331252723Sdim	strndup					\
332252723Sdim	strnlen					\
333252723Sdim	strptime				\
334252723Sdim	strsep					\
335252723Sdim	strsep_copy				\
336252723Sdim	strtok_r				\
337243789Sdim	strupr					\
338243789Sdim	swab					\
339252723Sdim	timegm					\
340252723Sdim	unsetenv				\
341252723Sdim	verr					\
342252723Sdim	verrx					\
343252723Sdim	vsyslog					\
344252723Sdim	vwarn					\
345252723Sdim	vwarnx					\
346252723Sdim	warn					\
347243789Sdim	warnx					\
348243789Sdim	writev					\
349243789Sdim])
350243789Sdim
351243789SdimAM_CONDITIONAL(have_fnmatch_h,
352243789Sdim	test "$ac_cv_header_fnmatch_h" = yes -a "$ac_cv_func_fnmatch" = yes)
353252723Sdim
354252723SdimAC_FOREACH([rk_func], [strndup strsep strtok_r],
355243789Sdim	[AC_NEED_PROTO([#include <string.h>], rk_func)])
356243789Sdim
357243789SdimAC_FOREACH([rk_func], [strsvis strunvis strvis strvisx svis unvis vis],
358243789Sdim[AC_NEED_PROTO([#ifdef HAVE_VIS_H
359243789Sdim#include <vis.h>
360243789Sdim#endif], rk_func)])
361243789Sdim
362243789SdimAC_BROKEN2(inet_aton,
363252723Sdim[#ifdef HAVE_SYS_TYPES_H
364252723Sdim#include <sys/types.h>
365243789Sdim#endif
366243789Sdim#ifdef HAVE_SYS_SOCKET_H
367243789Sdim#include <sys/socket.h>
368252723Sdim#endif
369243789Sdim#ifdef HAVE_NETINET_IN_H
370252723Sdim#include <netinet/in.h>
371243789Sdim#endif
372252723Sdim#ifdef HAVE_ARPA_INET_H
373243789Sdim#include <arpa/inet.h>
374243789Sdim#endif],
375243789Sdim[0,0])
376243789Sdim
377252723SdimAC_BROKEN2(inet_ntop,
378243789Sdim[#ifdef HAVE_SYS_TYPES_H
379252723Sdim#include <sys/types.h>
380243789Sdim#endif
381252723Sdim#ifdef HAVE_SYS_SOCKET_H
382243789Sdim#include <sys/socket.h>
383243789Sdim#endif
384243789Sdim#ifdef HAVE_NETINET_IN_H
385243789Sdim#include <netinet/in.h>
386243789Sdim#endif
387243789Sdim#ifdef HAVE_ARPA_INET_H
388243789Sdim#include <arpa/inet.h>
389243789Sdim#endif],
390243789Sdim[0, 0, 0, 0])
391243789Sdim
392243789SdimAC_BROKEN2(inet_pton,
393243789Sdim[#ifdef HAVE_SYS_TYPES_H
394243789Sdim#include <sys/types.h>
395243789Sdim#endif
396243789Sdim#ifdef HAVE_SYS_SOCKET_H
397243789Sdim#include <sys/socket.h>
398243789Sdim#endif
399243789Sdim#ifdef HAVE_NETINET_IN_H
400243789Sdim#include <netinet/in.h>
401243789Sdim#endif
402243789Sdim#ifdef HAVE_ARPA_INET_H
403243789Sdim#include <arpa/inet.h>
404243789Sdim#endif],
405252723Sdim[0,0,0])
406243789Sdim
407252723Sdimdnl
408243789Sdimdnl Check for sa_len in struct sockaddr, 
409243789Sdimdnl needs to come before the getnameinfo test
410243789Sdimdnl
411243789SdimAC_HAVE_STRUCT_FIELD(struct sockaddr, sa_len, [#include <sys/types.h>
412243789Sdim#include <sys/socket.h>])
413243789Sdim
414243789Sdimif test "$ac_cv_func_getaddrinfo" = "yes"; then
415243789Sdim  rk_BROKEN_GETADDRINFO
416252723Sdim  if test "$ac_cv_func_getaddrinfo_numserv" = no; then
417243789Sdim	AC_LIBOBJ(getaddrinfo)
418243789Sdim	AC_LIBOBJ(freeaddrinfo)
419243789Sdim  fi
420243789Sdimfi
421243789Sdim
422243789SdimAC_NEED_PROTO([#include <stdlib.h>], setenv)
423243789SdimAC_NEED_PROTO([#include <stdlib.h>], unsetenv)
424243789SdimAC_NEED_PROTO([#include <unistd.h>], gethostname)
425243789SdimAC_NEED_PROTO([#include <unistd.h>], mkstemp)
426243789SdimAC_NEED_PROTO([#include <unistd.h>], getusershell)
427243789SdimAC_NEED_PROTO([#include <unistd.h>], daemon)
428243789SdimAC_NEED_PROTO([
429243789Sdim#ifdef HAVE_SYS_TYPES_H
430243789Sdim#include <sys/types.h>
431243789Sdim#endif
432263509Sdim#ifdef HAVE_SYS_SOCKET_H
433263509Sdim#include <sys/socket.h>
434263509Sdim#endif
435263509Sdim#ifdef HAVE_NETINET_IN_H
436243789Sdim#include <netinet/in.h>
437263509Sdim#endif
438263509Sdim#ifdef HAVE_ARPA_INET_H
439263509Sdim#include <arpa/inet.h>
440263509Sdim#endif
441243789Sdim#ifdef HAVE_NETDB_H
442243789Sdim#include <netdb.h>
443243789Sdim#endif
444243789Sdim#ifdef HAVE_UNISTD_H
445243789Sdim#include <unistd.h>
446243789Sdim#endif],
447243789Sdimiruserok)
448243789Sdim
449243789SdimAC_NEED_PROTO([
450243789Sdim#ifdef HAVE_SYS_TYPES_H
451243789Sdim#include <sys/types.h>
452243789Sdim#endif
453263509Sdim#ifdef HAVE_SYS_SOCKET_H
454243789Sdim#include <sys/socket.h>
455243789Sdim#endif
456243789Sdim#ifdef HAVE_NETINET_IN_H
457243789Sdim#include <netinet/in.h>
458243789Sdim#endif
459263509Sdim#ifdef HAVE_ARPA_INET_H
460263509Sdim#include <arpa/inet.h>
461243789Sdim#endif],
462243789Sdiminet_aton)
463243789Sdim
464243789SdimAC_FIND_FUNC_NO_LIBS(crypt, crypt)dnl
465243789Sdim
466243789SdimAC_REQUIRE([rk_BROKEN_REALLOC])dnl
467243789Sdim
468243789Sdimdnl AC_KRB_FUNC_GETCWD_BROKEN
469243789Sdim
470243789Sdimdnl
471243789Sdimdnl Checks for prototypes and declarations
472243789Sdimdnl
473243789Sdim
474243789SdimAC_PROTO_COMPAT([
475243789Sdim#ifdef HAVE_SYS_TYPES_H
476243789Sdim#include <sys/types.h>
477243789Sdim#endif
478243789Sdim#ifdef HAVE_SYS_SOCKET_H
479243789Sdim#include <sys/socket.h>
480243789Sdim#endif
481243789Sdim#ifdef HAVE_NETINET_IN_H
482243789Sdim#include <netinet/in.h>
483243789Sdim#endif
484243789Sdim#ifdef HAVE_ARPA_INET_H
485243789Sdim#include <arpa/inet.h>
486243789Sdim#endif
487243789Sdim#ifdef HAVE_NETDB_H
488243789Sdim#include <netdb.h>
489243789Sdim#endif
490243789Sdim],
491243789Sdimgethostbyname, struct hostent *gethostbyname(const char *))
492243789Sdim
493243789SdimAC_PROTO_COMPAT([
494243789Sdim#ifdef HAVE_SYS_TYPES_H
495243789Sdim#include <sys/types.h>
496243789Sdim#endif
497243789Sdim#ifdef HAVE_SYS_SOCKET_H
498243789Sdim#include <sys/socket.h>
499243789Sdim#endif
500252723Sdim#ifdef HAVE_NETINET_IN_H
501243789Sdim#include <netinet/in.h>
502243789Sdim#endif
503243789Sdim#ifdef HAVE_ARPA_INET_H
504243789Sdim#include <arpa/inet.h>
505243789Sdim#endif
506243789Sdim#ifdef HAVE_NETDB_H
507243789Sdim#include <netdb.h>
508243789Sdim#endif
509243789Sdim],
510243789Sdimgethostbyaddr, struct hostent *gethostbyaddr(const void *, size_t, int))
511243789Sdim
512243789SdimAC_PROTO_COMPAT([
513243789Sdim#ifdef HAVE_SYS_TYPES_H
514243789Sdim#include <sys/types.h>
515243789Sdim#endif
516243789Sdim#ifdef HAVE_SYS_SOCKET_H
517243789Sdim#include <sys/socket.h>
518243789Sdim#endif
519243789Sdim#ifdef HAVE_NETINET_IN_H
520243789Sdim#include <netinet/in.h>
521243789Sdim#endif
522243789Sdim#ifdef HAVE_ARPA_INET_H
523243789Sdim#include <arpa/inet.h>
524243789Sdim#endif
525243789Sdim#ifdef HAVE_NETDB_H
526243789Sdim#include <netdb.h>
527243789Sdim#endif
528243789Sdim],
529263509Sdimgetservbyname, struct servent *getservbyname(const char *, const char *))
530263509Sdim
531263509SdimAC_PROTO_COMPAT([
532263509Sdim#ifdef HAVE_SYS_TYPES_H
533243789Sdim#include <sys/types.h>
534243789Sdim#endif
535243789Sdim#ifdef HAVE_SYS_SOCKET_H
536243789Sdim#include <sys/socket.h>
537243789Sdim#endif
538243789Sdim],
539243789Sdimgetsockname, int getsockname(int, struct sockaddr*, socklen_t*))
540243789Sdim
541243789SdimAC_PROTO_COMPAT([
542243789Sdim#ifdef HAVE_SYSLOG_H
543243789Sdim#include <syslog.h>
544243789Sdim#endif
545243789Sdim],
546243789Sdimopenlog, void openlog(const char *, int, int))
547243789Sdim
548243789SdimAC_NEED_PROTO([
549243789Sdim#ifdef HAVE_CRYPT_H
550243789Sdim#include <crypt.h>
551243789Sdim#endif
552243789Sdim#ifdef HAVE_UNISTD_H
553243789Sdim#include <unistd.h>
554243789Sdim#endif
555243789Sdim],
556243789Sdimcrypt)
557243789Sdim
558243789Sdimdnl variables
559243789Sdim
560243789Sdimrk_CHECK_VAR(h_errno, 
561243789Sdim[#ifdef HAVE_SYS_TYPES_H
562243789Sdim#include <sys/types.h>
563243789Sdim#endif
564243789Sdim#ifdef HAVE_NETDB_H
565243789Sdim#include <netdb.h>
566243789Sdim#endif])
567243789Sdim
568243789Sdimrk_CHECK_VAR(h_errlist, 
569243789Sdim[#ifdef HAVE_NETDB_H
570243789Sdim#include <netdb.h>
571243789Sdim#endif])
572243789Sdim
573243789Sdimrk_CHECK_VAR(h_nerr, 
574243789Sdim[#ifdef HAVE_NETDB_H
575243789Sdim#include <netdb.h>
576243789Sdim#endif])
577243789Sdim
578243789Sdimrk_CHECK_VAR([__progname], 
579243789Sdim[#ifdef HAVE_ERR_H
580243789Sdim#include <err.h>
581243789Sdim#endif])
582252723Sdim
583243789SdimAC_CHECK_DECLS([optarg, optind, opterr, optopt, environ],[],[][
584243789Sdim#include <stdlib.h>
585243789Sdim#ifdef HAVE_UNISTD_H
586243789Sdim#include <unistd.h>
587243789Sdim#endif])
588243789Sdim
589243789Sdimdnl
590243789Sdimdnl Check for fields in struct tm
591243789Sdimdnl
592243789Sdim
593243789SdimAC_HAVE_STRUCT_FIELD(struct tm, tm_gmtoff, [#include <time.h>])
594243789SdimAC_HAVE_STRUCT_FIELD(struct tm, tm_zone, [#include <time.h>])
595243789Sdim
596243789Sdimdnl
597243789Sdimdnl or do we have a variable `timezone' ?
598243789Sdimdnl
599252723Sdim
600252723Sdimrk_CHECK_VAR(timezone,[#include <time.h>])
601243789Sdimrk_CHECK_VAR(altzone,[#include <time.h>])
602243789Sdim
603243789SdimAC_HAVE_TYPE([sa_family_t],[
604243789Sdim#include <sys/types.h>
605243789Sdim#include <sys/socket.h>])
606243789SdimAC_HAVE_TYPE([socklen_t],[
607243789Sdim#include <sys/types.h>
608243789Sdim#include <sys/socket.h>])
609243789SdimAC_HAVE_TYPE([struct sockaddr], [
610243789Sdim#include <sys/types.h>
611243789Sdim#include <sys/socket.h>])
612243789SdimAC_HAVE_TYPE([struct sockaddr_storage], [
613243789Sdim#include <sys/types.h>
614243789Sdim#include <sys/socket.h>])
615243789SdimAC_HAVE_TYPE([struct addrinfo], [
616243789Sdim#include <sys/types.h>
617243789Sdim#include <netdb.h>])
618243789SdimAC_HAVE_TYPE([struct ifaddrs], [#include <ifaddrs.h>])
619252723SdimAC_HAVE_TYPE([struct iovec],[
620243789Sdim#include <sys/types.h>
621243789Sdim#include <sys/uio.h>
622243789Sdim])
623243789SdimAC_HAVE_TYPE([struct msghdr],[
624243789Sdim#include <sys/types.h>
625243789Sdim#include <sys/socket.h>
626243789Sdim])
627243789Sdim
628243789Sdimdnl
629243789Sdimdnl Check for struct winsize
630243789Sdimdnl
631243789Sdim
632243789SdimAC_KRB_STRUCT_WINSIZE
633243789Sdim
634243789Sdimdnl
635243789Sdimdnl Check for struct spwd
636243789Sdimdnl
637243789Sdim
638243789SdimAC_KRB_STRUCT_SPWD
639243789Sdim
640243789Sdim#
641243789Sdim# Check if we want samba's socket wrapper
642243789Sdim#
643243789Sdim
644243789Sdimsamba_SOCKET_WRAPPER
645243789Sdim
646243789Sdimdnl won't work with automake
647243789Sdimdnl moved to AC_OUTPUT in configure.in
648243789Sdimdnl AC_CONFIG_FILES($1/Makefile)
649243789Sdim
650243789SdimLIB_roken="${LIB_roken} \$(LIB_crypt) \$(LIB_dbopen)"
651243789Sdim
652243789SdimAC_SUBST(DIR_roken)dnl
653243789SdimAC_SUBST(LIB_roken)dnl
654243789SdimAC_SUBST(INCLUDES_roken)dnl
655243789Sdim])
656243789Sdim