configure.in revision 146768
1dnl @(#) $Header: /tcpdump/master/libpcap/configure.in,v 1.120 2005/03/27 22:26:25 guy Exp $ (LBL)
2dnl
3dnl Copyright (c) 1994, 1995, 1996, 1997
4dnl	The Regents of the University of California.  All rights reserved.
5dnl
6dnl Process this file with autoconf to produce a configure script.
7dnl
8
9AC_REVISION($Revision: 1.120 $)
10AC_PREREQ(2.50)
11AC_INIT(pcap.c)
12
13AC_CANONICAL_SYSTEM
14
15AC_LBL_C_INIT(V_CCOPT, V_INCLS, V_LIBS)
16AC_LBL_C_INLINE
17AC_C___ATTRIBUTE__
18
19AC_LBL_CHECK_TYPE(u_int8_t, u_char)
20AC_LBL_CHECK_TYPE(u_int16_t, u_short)
21AC_LBL_CHECK_TYPE(u_int32_t, u_int)
22
23dnl
24dnl libpcap doesn't itself use <sys/ioccom.h>; however, the test program
25dnl in "AC_LBL_FIXINCLUDES" in "aclocal.m4" uses it, so we have to
26dnl test for it and set "HAVE_SYS_IOCCOM_H" if we have it, otherwise
27dnl "AC_LBL_FIXINCLUDES" won't work on some platforms such as Solaris.
28dnl
29AC_CHECK_HEADERS(sys/ioccom.h sys/sockio.h limits.h)
30AC_CHECK_HEADERS(netinet/if_ether.h, , , [#include <sys/types.h>
31#include <sys/socket.h>])
32if test "$ac_cv_header_netinet_if_ether_h" != yes; then
33	#
34	# The simple test didn't work.
35	# Do we need to include <net/if.h> first?
36	# Unset ac_cv_header_netinet_if_ether_h so we don't
37	# treat the previous failure as a cached value and
38	# suppress the next test.
39	#
40	AC_MSG_NOTICE([Rechecking with some additional includes])
41	unset ac_cv_header_netinet_if_ether_h
42	AC_CHECK_HEADERS(netinet/if_ether.h, , , [#include <sys/types.h>
43#include <sys/socket.h>
44#include <netinet/in.h>
45struct mbuf;
46struct rtentry;
47#include <net/if.h>])
48fi
49
50AC_LBL_FIXINCLUDES
51
52AC_CHECK_FUNCS(strerror strlcpy)
53
54needsnprintf=no
55AC_CHECK_FUNCS(vsnprintf snprintf,,
56	[needsnprintf=yes])
57if test $needsnprintf = yes; then
58	AC_LIBOBJ(snprintf)
59fi
60
61#
62# Do this before checking for ether_hostton(), as it's a
63# "gethostbyname() -ish function".
64#
65AC_LBL_LIBRARY_NET
66
67#
68# You are in a twisty little maze of UN*Xes, all different.
69# Some might not have ether_hostton().
70# Some might have it, but not declare it in any header file.
71# Some might have it, but declare it in <netinet/if_ether.h>.
72# Some might have it, but declare it in <netinet/ether.h>
73# (And some might have it but document it as something declared in
74# <netinet/ethernet.h>, although <netinet/if_ether.h> appears to work.)
75#
76# Before you is a C compiler.
77#
78AC_CHECK_FUNCS(ether_hostton)
79if test "$ac_cv_func_ether_hostton" = yes; then
80	#
81	# OK, we have ether_hostton().  Do we have <netinet/if_ether.h>?
82	#
83	if test "$ac_cv_header_netinet_if_ether_h" = yes; then
84		#
85		# Yes.  Does it declare ether_hostton()?
86		#
87		AC_CHECK_DECLS(ether_hostton,
88		    [
89			AC_DEFINE(NETINET_IF_ETHER_H_DECLARES_ETHER_HOSTTON,,
90			    [Define to 1 if netinet/if_ether.h declares `ether_hostton'])
91		    ],,
92		    [
93#include <sys/types.h>
94#include <sys/socket.h>
95#include <netinet/in.h>
96struct mbuf;
97struct rtentry;
98#include <net/if.h>
99#include <netinet/if_ether.h>
100		    ])
101	fi
102	#
103	# Did that succeed?
104	#
105	if test "$ac_cv_have_decl_ether_hostton" != yes; then
106		#
107		# No, how about <netinet/ether.h>, as on Linux?
108		#
109		AC_CHECK_HEADERS(netinet/ether.h)
110		if test "$ac_cv_header_netinet_ether_h" = yes; then
111			#
112			# We have it - does it declare ether_hostton()?
113			# Unset ac_cv_have_decl_ether_hostton so we don't
114			# treat the previous failure as a cached value and
115			# suppress the next test.
116			#
117			unset ac_cv_have_decl_ether_hostton
118			AC_CHECK_DECLS(ether_hostton,
119			    [
120				AC_DEFINE(NETINET_ETHER_H_DECLARES_ETHER_HOSTTON,,
121				    [Define to 1 if netinet/ether.h declares `ether_hostton'])
122			    ],,
123			    [
124#include <netinet/ether.h>
125			    ])
126		fi
127	fi
128fi
129
130dnl to pacify those who hate protochain insn
131AC_MSG_CHECKING(if --disable-protochain option is specified)
132AC_ARG_ENABLE(protochain, [  --disable-protochain    disable \"protochain\" insn])
133case "x$enable_protochain" in
134xyes)	enable_protochain=enabled	;;
135xno)	enable_protochain=disabled	;;
136x)	enable_protochain=enabled	;;
137esac
138
139if test "$enable_protochain" = "disabled"; then
140	AC_DEFINE(NO_PROTOCHAIN,1,[do not use protochain])
141fi
142AC_MSG_RESULT(${enable_protochain})
143
144dnl
145dnl Not all versions of test support -c (character special) but it's a
146dnl better way of testing since the device might be protected. So we
147dnl check in our normal order using -r and then check the for the /dev
148dnl guys again using -c.
149dnl
150dnl XXX This could be done for cross-compiling, but for now it's not.
151dnl
152if test -z "$with_pcap" && test "$cross_compiling" = yes; then
153	AC_MSG_ERROR(pcap type not determined when cross-compiling; use --with-pcap=...)
154fi
155AC_ARG_WITH(pcap, [  --with-pcap=TYPE        use packet capture TYPE])
156AC_MSG_CHECKING(packet capture type)
157if test ! -z "$with_pcap" ; then
158	V_PCAP="$withval"
159elif test -r /dev/bpf0 ; then
160	V_PCAP=bpf
161elif test -r /usr/include/net/pfilt.h ; then
162	V_PCAP=pf
163elif test -r /dev/enet ; then
164	V_PCAP=enet
165elif test -r /dev/nit ; then
166	V_PCAP=snit
167elif test -r /usr/include/sys/net/nit.h ; then
168	V_PCAP=nit
169elif test -r /usr/include/linux/socket.h ; then
170	V_PCAP=linux
171elif test -r /usr/include/net/raw.h ; then
172	V_PCAP=snoop
173elif test -r /usr/include/odmi.h ; then
174	#
175	# On AIX, the BPF devices might not yet be present - they're
176	# created the first time libpcap runs after booting.
177	# We check for odmi.h instead.
178	#
179	V_PCAP=bpf
180elif test -r /usr/include/sys/dlpi.h ; then
181	V_PCAP=dlpi
182elif test -c /dev/bpf0 ; then		# check again in case not readable
183	V_PCAP=bpf
184elif test -c /dev/enet ; then		# check again in case not readable
185	V_PCAP=enet
186elif test -c /dev/nit ; then		# check again in case not readable
187	V_PCAP=snit
188else
189	V_PCAP=null
190fi
191AC_MSG_RESULT($V_PCAP)
192
193dnl
194dnl Now figure out how we get a list of interfaces and addresses,
195dnl if we support capturing.  Don't bother if we don't support
196dnl capturing.
197dnl
198if test "$V_PCAP" = null
199then
200	#
201	# We can't capture, so we can't open any capture
202	# devices, so we won't return any interfaces.
203	#
204	V_FINDALLDEVS=null
205else
206	AC_CHECK_FUNC(getifaddrs,[
207		#
208		# We have "getifaddrs()"; make sure we have <ifaddrs.h>
209		# as well, just in case some platform is really weird.
210		#
211		AC_CHECK_HEADER(ifaddrs.h,[
212		    #
213		    # We have the header, so we use "getifaddrs()" to
214		    # get the list of interfaces.
215		    #
216		    V_FINDALLDEVS=getad
217		],[
218		    #
219		    # We don't have the header - give up.
220		    # XXX - we could also fall back on some other
221		    # mechanism, but, for now, this'll catch this
222		    # problem so that we can at least try to figure
223		    # out something to do on systems with "getifaddrs()"
224		    # but without "ifaddrs.h", if there is something
225		    # we can do on those systems.
226		    #
227		    AC_MSG_ERROR([Your system has getifaddrs() but doesn't have a usable <ifaddrs.h>.])
228		])
229	],[
230		#
231		# Well, we don't have "getifaddrs()", so we have to use
232		# some other mechanism; determine what that mechanism is.
233		#
234		# The first thing we use is the type of capture mechanism,
235		# which is somewhat of a proxy for the OS we're using.
236		#
237		case "$V_PCAP" in
238
239		dlpi)
240			#
241			# This might be Solaris 8 or later, with
242			# SIOCGLIFCONF, or it might be some other OS
243			# or some older version of Solaris, with
244			# just SIOCGIFCONF.
245			#
246			AC_MSG_CHECKING(whether we have SIOCGLIFCONF)
247			AC_CACHE_VAL(ac_cv_lbl_have_siocglifconf,
248			    AC_TRY_COMPILE(
249				[#include <sys/param.h>
250				#include <sys/file.h>
251				#include <sys/ioctl.h>
252				#include <sys/socket.h>
253				#include <sys/sockio.h>],
254				[ioctl(0, SIOCGLIFCONF, (char *)0);],
255				ac_cv_lbl_have_siocglifconf=yes,
256				ac_cv_lbl_have_siocglifconf=no))
257			AC_MSG_RESULT($ac_cv_lbl_have_siocglifconf)
258			if test $ac_cv_lbl_have_siocglifconf = yes ; then
259				V_FINDALLDEVS=glifc
260			else
261				V_FINDALLDEVS=gifc
262			fi
263			;;
264
265		*)
266			#
267			# Assume we just have SIOCGIFCONF.
268			# (XXX - on at least later Linux kernels, there's
269			# another mechanism, and we should be using that
270			# instead.)
271			#
272			V_FINDALLDEVS=gifc
273			;;
274		esac])
275fi
276
277AC_MSG_CHECKING(if --enable-ipv6 option is specified)
278AC_ARG_ENABLE(ipv6, [  --enable-ipv6           build IPv6-capable version])
279if test "$enable_ipv6" = "yes"; then
280	AC_DEFINE(INET6,1,[IPv6])
281fi
282AC_MSG_RESULT(${enable_ipv6-no})
283
284AC_MSG_CHECKING(whether to build optimizer debugging code)
285AC_ARG_ENABLE(optimizer-dbg, [  --enable-optimizer-dbg  build optimizer debugging code])
286if test "$enable_optimizer_dbg" = "yes"; then
287	AC_DEFINE(BDEBUG,1,[Enable optimizer debugging])
288fi
289AC_MSG_RESULT(${enable_optimizer_dbg-no})
290
291AC_MSG_CHECKING(whether to build parser debugging code)
292AC_ARG_ENABLE(yydebug, [  --enable-yydebug        build parser debugging code])
293if test "$enable_yydebug" = "yes"; then
294	AC_DEFINE(YYDEBUG,1,[Enable parser debugging])
295fi
296AC_MSG_RESULT(${enable_yydebug-no})
297
298case "$V_PCAP" in
299
300dlpi)
301	AC_CHECK_HEADERS(sys/bufmod.h sys/dlpi_ext.h)
302	AC_MSG_CHECKING(for /dev/dlpi device)
303	if test -c /dev/dlpi ; then
304		AC_MSG_RESULT(yes)
305		AC_DEFINE(HAVE_DEV_DLPI, 1, [define if you have a /dev/dlpi])
306	else
307		AC_MSG_RESULT(no)
308		dir="/dev/dlpi"
309		AC_MSG_CHECKING(for $dir directory)
310		if test -d $dir ; then
311			AC_MSG_RESULT(yes)
312			AC_DEFINE_UNQUOTED(PCAP_DEV_PREFIX, "$dir", [/dev/dlpi directory])
313		else
314			AC_MSG_RESULT(no)
315		fi
316	fi
317	;;
318
319linux)
320	AC_MSG_CHECKING(Linux kernel version)
321 	if test "$cross_compiling" = yes; then
322 		AC_CACHE_VAL(ac_cv_linux_vers,
323 		    ac_cv_linux_vers=unknown)
324 	else
325 		AC_CACHE_VAL(ac_cv_linux_vers,
326 		    ac_cv_linux_vers=`uname -r 2>&1 | \
327 			sed -n -e '$s/.* //' -e '$s/\..*//p'`)
328 	fi
329	AC_MSG_RESULT($ac_cv_linux_vers)
330 	if test $ac_cv_linux_vers = unknown ; then
331 		AC_MSG_ERROR(cannot determine linux version when cross-compiling)
332 	fi
333	if test $ac_cv_linux_vers -lt 2 ; then
334		AC_MSG_ERROR(version 2 or higher required; see the INSTALL doc for more info)
335	fi
336	AC_LBL_TPACKET_STATS
337	;;
338
339dag)
340	V_DEFS="$V_DEFS -DDAG_ONLY"
341	;;	
342
343null)
344	AC_MSG_WARN(cannot determine packet capture interface)
345	AC_MSG_WARN((see the INSTALL doc for more info))
346	;;
347
348esac
349
350AC_MSG_CHECKING(whether we have /proc/net/dev)
351if test -r /proc/net/dev ; then
352	ac_cv_lbl_proc_net_dev=yes
353else
354	ac_cv_lbl_proc_net_dev=no
355fi
356if test $ac_cv_lbl_proc_net_dev = yes; then
357	AC_DEFINE(HAVE_PROC_NET_DEV, 1, [define if you have a /proc/net/dev])
358fi
359AC_MSG_RESULT($ac_cv_lbl_proc_net_dev)
360
361# Check for Endace DAG card support.
362AC_ARG_WITH([dag], [  --with-dag[[=DIR]]          include Endace DAG support ("yes", "no" or DIR; default="yes" on BSD and Linux if present)],
363[
364	if test "$withval" = no
365	then
366		# User doesn't want DAG support.
367		want_dag=no
368	elif test "$withval" = yes
369	then
370		# User wants DAG support but hasn't specified a directory.
371		want_dag=yes
372	else
373		# User wants DAG support and has specified a directory, so use the provided value.
374		want_dag=yes
375		dag_root=$withval
376	fi
377],[
378	#
379	# Use DAG API if present, otherwise don't
380	#
381	want_dag=ifpresent
382])
383
384AC_ARG_WITH([dag-includes], [  --with-dag-includes=DIR   Endace DAG include directory],
385[
386	# User wants DAG support and has specified a header directory, so use the provided value.
387	want_dag=yes
388	dag_include_dir=$withval
389],[])
390
391AC_ARG_WITH([dag-libraries], [  --with-dag-libraries=DIR  Endace DAG library directory],
392[
393	# User wants DAG support and has specified a library directory, so use the provided value.
394	want_dag=yes
395	dag_lib_dir=$withval
396],[])
397
398case "$V_PCAP" in
399linux|bpf|dag)
400	#
401	# We support the DAG API on Linux or BSD, or if we're building a
402	# DAG-only libpcap.
403	#
404	;;
405*)
406	#
407	# If the user explicitly requested DAG, tell them it's not
408	# supported.
409	#
410	# If they expressed no preference, don't include it.
411	#
412	if test $want_dag = yes; then
413		AC_MSG_ERROR([DAG support is only available with 'linux' 'bpf' and 'dag' packet capture types])
414	elif test $want_dag = yes; then
415		want_dag=no
416	fi
417	;;
418esac
419
420ac_cv_lbl_dag_api=no
421if test "$want_dag" != no; then
422
423	AC_MSG_CHECKING([whether we have DAG API headers])
424
425    # If necessary, set default paths for DAG API headers and libraries.
426	if test -z "$dag_root"; then
427	    dag_root=/usr/local
428	fi
429
430	if test -z "$dag_include_dir"; then
431		dag_include_dir="$dag_root/include"
432	fi
433
434	if test -z "$dag_lib_dir"; then
435	    dag_lib_dir="$dag_root/lib"
436	fi
437	
438	if test -z "$dag_tools_dir"; then
439	    dag_tools_dir="$dag_root/tools"
440		fi
441
442	if test -r $dag_include_dir/dagapi.h; then
443		ac_cv_lbl_dag_api=yes
444	fi
445    AC_MSG_RESULT([$ac_cv_lbl_dag_api ($dag_include_dir)])
446fi
447
448if test $ac_cv_lbl_dag_api = yes; then
449
450	AC_MSG_CHECKING([dagapi.o])	
451	dagapi_obj=no
452	if test -r $dag_tools_dir/dagapi.o; then
453
454	    # 2.4.x.
455		dagapi_obj=$dag_tools_dir/dagapi.o
456
457	elif test -r $dag_lib_dir/dagapi.o; then
458
459	    # 2.5.x.
460	    dagapi_obj=$dag_lib_dir/dagapi.o
461
462    elif test -r $dag_lib_dir/libdag.a; then
463
464        # 2.5.x.
465		ar x $dag_lib_dir/libdag.a dagapi.o
466		if test -r ./dagapi.o; then
467		    dagapi_obj=./dagapi.o
468		fi
469    fi
470
471	if test $dagapi_obj = no; then
472	    AC_MSG_RESULT([no (checked $dag_lib_dir  $dag_tools_dir  $dag_lib_dir/libdag.a)])
473			ac_cv_lbl_dag_api=no
474	else
475		AC_MSG_RESULT([yes ($dagapi_obj)])
476		fi
477fi
478
479if test $ac_cv_lbl_dag_api = yes; then
480
481	AC_MSG_CHECKING([dagopts.o])	
482	dagopts_obj=no
483	if test -r $dag_tools_dir/dagopts.o; then
484
485	    # 2.4.x.
486		dagopts_obj=$dag_tools_dir/dagopts.o
487
488	elif test -r $dag_lib_dir/dagopts.o; then
489
490	    # 2.5.x.
491	    dagopts_obj=$dag_lib_dir/dagopts.o
492
493    elif test -r $dag_lib_dir/libdag.a; then
494
495        # 2.5.x.
496		ar x $dag_lib_dir/libdag.a dagopts.o
497		if test -r ./dagopts.o; then
498		    dagopts_obj=./dagopts.o
499	fi
500	fi
501
502	if test $dagopts_obj = no; then
503	    AC_MSG_RESULT([no (checked $dag_lib_dir  $dag_tools_dir  $dag_lib_dir/libdag.a)])
504		ac_cv_lbl_dag_api=no
505	else
506		AC_MSG_RESULT([yes ($dagopts_obj)])
507	fi
508fi
509
510if test $ac_cv_lbl_dag_api = yes; then
511
512	# Under 2.5.x only we need to add dagreg.o.
513	if test -r $dag_include_dir/dagreg.h; then
514
515	    AC_MSG_CHECKING([dagreg.o])	
516	    dagreg_obj=no
517	    if test -r $dag_lib_dir/dagreg.o; then
518
519		  # Object file is ready and waiting.
520		  dagreg_obj=$dag_lib_dir/dagreg.o
521
522        elif test -r $dag_lib_dir/libdag.a; then
523
524		    # Extract from libdag.a.
525			ar x $dag_lib_dir/libdag.a dagreg.o
526			if test -r ./dagreg.o; then
527			    dagreg_obj=./dagreg.o
528		fi
529		fi
530
531		if test $dagreg_obj = no; then
532		    AC_MSG_RESULT([no (checked $dag_lib_dir  $dag_lib_dir/libdag.a)])
533			ac_cv_lbl_dag_api=no
534	else
535			AC_MSG_RESULT([yes ($dagreg_obj)])
536		fi
537	fi
538fi
539
540if test $ac_cv_lbl_dag_api = yes; then
541
542	V_INCLS="$V_INCLS -I$dag_include_dir"
543	V_LIBS="$V_LIBS $dagapi_obj $dagopts_obj $dagreg_obj"
544	if test $V_PCAP != dag ; then
545		 SSRC="pcap-dag.c"
546	fi
547
548	# See if we can find a general version string.
549    # Don't need to save and restore LIBS to prevent -ldag being included if there's a found-action (arg 3).
550	saved_ldflags=$LDFLAGS
551	LDFLAGS="-L$dag_lib_dir"
552	AC_CHECK_LIB([dag], [dag_attach_stream], [dag_version="2.5.x"], [dag_version="2.4.x"])
553	LDFLAGS=$saved_ldflags
554
555	# See if we can find a specific version string.
556	AC_MSG_CHECKING([the DAG API version])
557	if test -r "$dag_root/VERSION"; then
558		dag_version="`cat $dag_root/VERSION`"
559	fi
560    AC_MSG_RESULT([$dag_version])
561	AC_DEFINE(HAVE_DAG_API, 1, [define if you have the DAG API])
562fi
563
564if test $ac_cv_lbl_dag_api = no; then
565	if test "$want_dag" = yes; then
566        # User wanted DAG support but we couldn't find it.
567		AC_MSG_ERROR([DAG API requested, but not found at $dag_root: use --without-dag])
568	fi
569
570    if test "$V_PCAP" = dag; then
571	    # User requested "dag" capture type but the DAG API wasn't found.
572	    AC_MSG_ERROR([Specifying the capture type as "dag" requires the DAG API to be present; use the --with-dag options to specify the location. (Try "./configure --help" for more information.)])
573    fi
574fi
575
576
577AC_LBL_LEX_AND_YACC(V_LEX, V_YACC, pcap_)
578if test "$V_LEX" = lex ; then
579# Some versions of lex can't handle the definitions section of scanner.l .
580# Try lexing it and complain if it can't deal.
581	AC_CACHE_CHECK([for capable lex], tcpdump_cv_capable_lex,
582		if lex -t scanner.l > /dev/null 2>&1; then
583			tcpdump_cv_capable_lex=yes
584		else
585			tcpdump_cv_capable_lex=insufficient
586		fi)
587	if test $tcpdump_cv_capable_lex = insufficient ; then
588		AC_MSG_ERROR([Your operating system's lex is insufficient to compile
589 libpcap.  flex is a lex replacement that has many advantages, including
590 being able to compile libpcap.  For more information, see
591 http://www.gnu.org/software/flex/flex.html .])
592	fi
593fi
594
595DYEXT="so"
596case "$host_os" in
597
598aix*)
599	dnl Workaround to enable certain features
600	AC_DEFINE(_SUN,1,[define on AIX to get certain functions])
601	;;
602
603hpux9*)
604	AC_DEFINE(HAVE_HPUX9,1,[on HP-UX 9.x])
605	;;
606
607hpux10.0*)
608	;;
609
610hpux10.1*)
611	;;
612
613hpux*)
614	dnl HPUX 10.20 and above is similar to HPUX 9, but
615	dnl not the same....
616	dnl
617	dnl XXX - DYEXT should be set to "sl" if this is building
618	dnl for 32-bit PA-RISC, but should be left as "so" for
619	dnl 64-bit PA-RISC or, I suspect, IA-64.
620	AC_DEFINE(HAVE_HPUX10_20,1,[on HP-UX 10.20])
621	;;
622
623sinix*)
624	AC_MSG_CHECKING(if SINIX compiler defines sinix)
625	AC_CACHE_VAL(ac_cv_cc_sinix_defined,
626		AC_TRY_COMPILE(
627		    [],
628		    [int i = sinix;],
629		    ac_cv_cc_sinix_defined=yes,
630		    ac_cv_cc_sinix_defined=no))
631	    AC_MSG_RESULT($ac_cv_cc_sinix_defined)
632	    if test $ac_cv_cc_sinix_defined = no ; then
633		    AC_DEFINE(sinix,1,[on sinix])
634	    fi
635	;;
636
637solaris*)
638	AC_DEFINE(HAVE_SOLARIS,1,[On solaris])
639	;;
640
641darwin*)
642	DYEXT="dylib"
643	V_CCOPT="$V_CCOPT -fno-common"
644	;;
645esac
646
647AC_PROG_RANLIB
648
649AC_LBL_DEVEL(V_CCOPT)
650
651AC_LBL_SOCKADDR_SA_LEN
652
653AC_LBL_SOCKADDR_STORAGE
654
655AC_LBL_HP_PPA_INFO_T_DL_MODULE_ID_1
656
657AC_LBL_UNALIGNED_ACCESS
658
659#
660# Makefile.in includes rules to generate version.h, so we assume
661# that it will be generated if autoconf is used.
662#
663AC_DEFINE(HAVE_VERSION_H, 1, [define if version.h is generated in the build procedure])
664
665rm -f net
666ln -s ${srcdir}/bpf/net net
667
668AC_SUBST(V_CCOPT)
669AC_SUBST(V_DEFS)
670AC_SUBST(V_INCLS)
671AC_SUBST(V_LIBS)
672AC_SUBST(V_LEX)
673AC_SUBST(V_PCAP)
674AC_SUBST(V_FINDALLDEVS)
675AC_SUBST(V_RANLIB)
676AC_SUBST(V_YACC)
677AC_SUBST(SSRC)
678AC_SUBST(DYEXT)
679
680AC_PROG_INSTALL
681
682AC_CONFIG_HEADER(config.h)
683
684AC_OUTPUT(Makefile)
685
686if test -f .devel ; then
687	make depend
688fi
689exit 0
690