1dnl Process this file with autoconf to produce a configure script
2dnl ------------------------------------------------------------------------
3dnl configure.in
4dnl autotools build system for YAF applications
5dnl ------------------------------------------------------------------------
6dnl Copyright (C) 2005-2019 Carnegie Mellon University. All Rights Reserved.
7dnl ------------------------------------------------------------------------
8dnl Authors: Brian Trammell
9dnl ------------------------------------------------------------------------
10dnl GNU General Public License (GPL) Rights pursuant to Version 2, June 1991
11dnl Government Purpose License Rights (GPLR) pursuant to DFARS 252.227-7013
12dnl ------------------------------------------------------------------------
13
14dnl RCSIDENT("$Id$")
15
16AC_INIT([yaf], [2.11.0], [netsa-help@cert.org],[yaf])
17AC_CONFIG_AUX_DIR([autoconf])
18AC_COPYRIGHT([Copyright (C) 2006-2019 by Carnegie Mellon University
19GNU Public License (GPL) Rights pursuant to Version 2, June 1991
20Government Purpose License Rights (GPLR) pursuant to DFARS 252.227-7013])
21AC_CANONICAL_BUILD
22AC_CANONICAL_HOST
23AC_CANONICAL_TARGET
24AC_CONFIG_MACRO_DIR([m4])
25AM_INIT_AUTOMAKE([1.6.3 foreign subdir-objects])
26LIBCOMPAT="4:0:0"
27AC_REVISION($Revision$)
28AC_CONFIG_HEADERS(include/yaf/config.h)
29AC_CONFIG_HEADERS(airframe/include/airframe/config.h)
30
31RPM_CONFIG_FLAGS=""
32OPTION_CONFIG_STRING="build configuration: "
33
34
35dnl ----------------------------------------------------------------------
36dnl Check for (or install) libltdl #AC_LIBTOOL_DLOPEN
37dnl ----------------------------------------------------------------------
38
39AC_LIBTOOL_DLOPEN
40
41AC_PATH_LIBLTDL
42
43AC_PROG_LIBTOOL
44
45AC_CONFIG_SUBDIRS(libltdl)
46
47dnl -------------------------------------
48dnl set version of plugins
49dnl -------------------------------------
50version_info="1:1:0"
51AC_SUBST([version_info])
52
53AC_PROG_CC
54AM_PROG_CC_C_O
55AC_PROG_INSTALL
56AC_PROG_MAKE_SET
57AC_HEADER_STDC
58AC_LANG([C])
59
60dnl ----------------------------------------------------------------------
61dnl Set up doxygen
62dnl ----------------------------------------------------------------------
63
64DX_HTML_FEATURE(ON)
65DX_CHM_FEATURE(OFF)
66DX_CHI_FEATURE(OFF)
67DX_MAN_FEATURE(OFF)
68DX_RTF_FEATURE(OFF)
69DX_XML_FEATURE(OFF)
70DX_PDF_FEATURE(OFF)
71DX_PS_FEATURE(OFF)
72DX_INIT_DOXYGEN(yaf, Doxyfile, doc)
73
74dnl and then there was an ancient version of redhate, AS4
75dnl AC_PROG_CC_C99
76
77if test "x$CPPFLAGS" == "x"; then
78    CPPFLAGS='-Wall -Wno-comment -Wno-long-long'
79fi
80CPPFLAGS='-I$(top_builddir)/include -I$(top_srcdir)/include -I$(top_builddir)/airframe/include -I$(top_srcdir)/airframe/include'" $CPPFLAGS"
81
82AC_HEADER_DIRENT
83AC_HEADER_SYS_WAIT
84AC_HEADER_TIME
85
86AC_CHECK_HEADERS([errno.h fcntl.h glob.h signal.h sys/errno.h grp.h malloc.h])
87AC_CHECK_HEADERS([netdb.h netinet/in.h pwd.h stdarg.h stddef.h sys/socket.h syslog.h])
88AC_CHECK_HEADERS([inttypes.h limits.h ctype.h stdlib.h search.h math.h])
89
90
91AC_SEARCH_LIBS([nanosleep], [rt])
92AC_SEARCH_LIBS([inet_ntoa], [nsl])
93AC_SEARCH_LIBS([socket], [socket])
94AC_SEARCH_LIBS([log], [m])
95
96AC_SUBST(YAF_REQ_AIRFRAME_VER, [2.0.0])
97
98dnl ----------------------------------------------------------------------
99dnl Set up pod2man
100dnl ----------------------------------------------------------------------
101
102AC_CHECK_PROGS(POD2MAN, [pod2man true])
103
104YAF_POD2MAN_ARGS="--center='Yet Another Flowmeter' --release='"${PACKAGE_VERSION}"' --date='"`date +"%v"`"'"
105AIRFRAME_POD2MAN_ARGS="--center='airframe' --release='"${PACKAGE_VERSION}"' --date='"`date +"%v"`"'"
106
107AC_SUBST(YAF_POD2MAN_ARGS)
108AC_SUBST(AIRFRAME_POD2MAN_ARGS)
109
110dnl ----------------------------------------------------------------------
111dnl Check for Lua
112dnl ----------------------------------------------------------------------
113#AX_CHECK_LIBLUA
114AC_CONFIG_SUBDIRS([lua])
115
116# Symlink Lua headers to the top of YAF's src/include
117AC_CONFIG_LINKS([
118    src/lua.h:lua/src/lua.h
119    src/luaconf.h:lua/src/luaconf.h
120    src/lualib.h:lua/src/lualib.h
121    src/lauxlib.h:lua/src/lauxlib.h
122])
123
124dnl ----------------------------------------------------------------------
125dnl Set up pod2html
126dnl ----------------------------------------------------------------------
127AC_CHECK_PROGS(POD2HTML,pod2html)
128
129dnl ----------------------------------------------------------------------
130dnl Check for aligned access required
131dnl ----------------------------------------------------------------------
132
133AX_CHECK_ALIGNED_ACCESS_REQUIRED
134
135AC_CHECK_SIZEOF([int *])
136
137dnl ----------------------------------------------------------------------
138dnl for some reason prefix doesn't get set here - so this is a nice hack
139dnl ----------------------------------------------------------------------
140if test "x$prefix" = "xNONE"; then
141   prefix=/usr/local
142fi
143
144dnl ----------------------------------------------------------------------
145dnl Modify PKG_CONFIG_PATH based on prefix
146dnl ----------------------------------------------------------------------
147
148if test "x$PKG_CONFIG_PATH" != "x"; then
149    PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$prefix/lib/pkgconfig"
150    export PKG_CONFIG_PATH
151else
152    PKG_CONFIG_PATH="$prefix/lib/pkgconfig"
153    export PKG_CONFIG_PATH
154fi
155
156dnl ----------------------------------------------------------------------
157dnl Check for prefix and set LTDL_LIBRARY_PATH
158dnl ----------------------------------------------------------------------
159
160if test "x$prefix" != "x"; then
161   LTDL_LIBRARY_PATH="$LTDL_LIBRARY_PATH:$prefix/lib/yaf"
162   export LTDL_LIBRARY_PATH
163else
164   LTDL_LIBRARY_PATH="$LTDL_LIBRARY_PATH:/usr/local/lib/yaf"
165   export LTDL_LIBRARY_PATH
166fi
167
168
169
170dnl ----------------------------------------------------------------------
171dnl Check for glib
172dnl ----------------------------------------------------------------------
173
174GLIB_PRESENT=NO
175GLIB_LDADD=
176
177AM_PATH_GLIB_2_0([2.4.7],[GLIB_PRESENT=YES])
178
179AC_ARG_WITH(glib-static,
180AS_HELP_STRING([--with-glib-static=prefix],[use static glib tree]),[
181GLIB_STATIC_LIBGLIB2_A="${withval}/lib/libglib-2.0.a"
182GLIB_STATIC_INCLUDE="${withval}/include/glib-2.0"
183GLIB_STATIC_LIBINCLUDE="${withval}/lib/glib-2.0/include"
184if test -f ${GLIB_STATIC_LIBGLIB2_A}; then
185    if test -f "${GLIB_STATIC_INCLUDE}/glib.h"; then
186        GLIB_LDADD=${GLIB_STATIC_LIBGLIB2_A}
187        GLIB_CFLAGS="-I${GLIB_STATIC_INCLUDE} -I${GLIB_STATIC_LIBINCLUDE}"
188        AC_SUBST(GLIB_LIBS)
189        AC_SUBST(GLIB_CFLAGS)
190        GLIB_PRESENT=YES
191        AC_MSG_NOTICE([assuming static glib in ${withval} is good...])
192        OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"glib from ${withval} |"
193    fi
194fi
195])
196
197if test x"$GLIB_PRESENT" != "xYES"; then
198  AC_MSG_ERROR([Cannot find a suitable glib2 (>= 2.4.7)])
199fi
200
201AC_SUBST(GLIB_LDADD)
202AC_SUBST(GLIB_CFLAGS)
203AC_SUBST(GLIB_LIBS)
204AC_SUBST(LIBLTDL)
205AC_SUBST(LTDLINCL)
206
207use_popt=no
208
209AC_ARG_WITH(popt, AS_HELP_STRING([--with-popt=path],[location of popt]),
210[
211    use_popt=yes
212    if test "x${with_popt}" == "x"; then
213         if test -d ${withval}; then
214             POPT_CLFAGS="-I${withval}/include"
215             POPT_LDFLAGS="-L${withval}/lib -lpopt"
216             CFLAGS="$CFLAGS ${POPT_CFLAGS}"
217             CPPFLAGS="$CFLAGS ${POPT_CFLAGS}"
218             LDFLAGS="$LDFLAGS ${POPT_LDFLAGS}"
219         fi
220    fi
221    RPM_CONFIG_FLAGS="${RPM_CONFIG_FLAGS} --with-popt=${with_popt}"
222])
223
224if test "x$use_popt" = "xyes"; then
225    AC_CHECK_LIB(popt,poptParseArgvString, [
226        AC_MSG_NOTICE([using libpopt found in ${with_popt} for options processing])
227        AC_DEFINE([USE_POPT], 1,
228          [Define to 1 to use libpopt])
229          OPTION_CONFIG_SRING=${OPTION_CONFIG_STRING}"popt from ${with_popt} |"],[
230            AC_MSG_ERROR([libpopt was not found or is not usable])
231        ]
232    )
233else
234    if $PKG_CONFIG --atleast-version 2.6.4 glib-2.0 >/dev/null 2>&1 ; then
235        AC_MSG_NOTICE([using GLib for options processing])
236        AC_DEFINE(USE_GOPTION, 1, [Define to 1 to enable use of GOption])
237        AC_SUBST(YAF_REQ_GLIB_VER, [2.6.4])
238        OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"glib opt processing|"
239    else
240        AC_SUBST(YAF_REQ_GLIB_VER, [2.4.7])
241        AC_CHECK_LIB(popt,poptParseArgvString, [
242            AC_MSG_NOTICE([using libpopt found in ${with_popt} for options processing])
243            POPT_LDFLAGS="-lpopt"
244            LDFLAGS="$LDFLAGS ${POPT_LDFLAGS}"
245            AC_DEFINE([USE_POPT], 1,
246              [Define to 1 to use libpopt])
247              OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"popt from ${with_popt}|"],[
248                AC_MSG_ERROR([Unable to find a suitable library for options processing])
249            ]
250        )
251    fi
252fi
253
254dnl ----------------------------------------------------------------------
255dnl figure out the right format string for printing size_t
256dnl ----------------------------------------------------------------------
257YF_SIZE_T_FORMAT
258
259
260
261dnl ----------------------------------------------------------------------
262dnl Check for libfixbuf
263dnl when changing the version number required, do both the subst, and
264dnl package lines!
265dnl ----------------------------------------------------------------------
266AC_SUBST(YAF_REQ_FIXBUF_VER, [2.3.0])
267PKG_CHECK_MODULES(libfixbuf, [libfixbuf >= 2.3.0 libfixbuf < 3.0.0],
268                  [
269                    YF_PKGCONFIG_VERSION(libfixbuf)
270                    YF_PKGCONFIG_LPATH(libfixbuf)
271                    OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"fixbuf "${yfpkg_ver}" "${yfpkg_lpath}"|"
272                  ],
273                  [AC_MSG_ERROR([Cannot find a suitable libfixbuf (>= 2.3.0) (Try setting PKG_CONFIG_PATH): $libfixbuf_PKG_ERRORS])
274])
275YF_PKGCONFIG_VERSION(libfixbuf)
276fixbuf_install_loc=`$PKG_CONFIG --variable=prefix libfixbuf`
277AC_MSG_NOTICE([libfixbuf version: $yfpkg_ver])
278AC_MSG_NOTICE([Using libfixbuf installed in: $fixbuf_install_loc])
279AC_DEFINE_UNQUOTED([FIXBUF_VERSION], ["$yfpkg_ver"], [fixbuf version])
280fixbuf_version=$yfpkg_ver
281
282
283AC_ARG_ENABLE(ndpi,
284        AS_HELP_STRING([--enable-ndpi], [Enable NDPI application labeling]),[
285        PKG_CHECK_MODULES(libndpi, [libndpi >= 2.0 ],
286        [
287        YF_PKGCONFIG_VERSION(libndpi)
288        YF_PKGCONFIG_LPATH(libndpi)
289        ndpi=true
290        AC_DEFINE(YAF_ENABLE_NDPI, 1, [Define to 1 to enable ndpi])
291        ],
292        [
293        AC_MSG_ERROR([Cannot find a suitable libndpi (>= 2.0 ) (Try setting PKG_CONFIG_PATH): $libndpi_PKG_ERRORS])
294])])
295
296dnl ----------------------------------------------------------------------
297dnl Check for libpcap
298dnl ----------------------------------------------------------------------
299AC_ARG_WITH(libpcap,
300    AS_HELP_STRING([--with-libpcap=PCAP_DIR],[find pcap.h in PCAP_DIR/include, libpcap in PCAP_DIR/lib]),[
301    if test "x$withval" != "xno"; then
302        if test -d ${withval}; then
303            if test -d ${withval}/lib; then
304                CFLAGS="-I${withval}/include $CFLAGS"
305                CPPFLAGS="$CPPFLAGS -I${withval}/include"
306                if test "x$target_os" = "xcygwin"; then
307                        LIBS="-L${withval}/lib -lwpcap $LIBS"
308                else
309                        LIBS="-L${withval}/lib -lpcap $LIBS"
310                        if test "x$target_os" = "xlinux" -o \
311                                "x$target_os" = "xlinux-gnu"; then
312                            LIBS="-Wl,--rpath -Wl,${withval}/lib $LIBS"
313                        fi
314                fi
315            else
316                if test "x$target_os" = "xcygwin"; then
317                        LIBS="-L${withval} -lwpcap $LIBS"
318                else
319                        LIBS="-L${withval} -lpcap $LIBS"
320                        if test "x$target_os" = "xlinux" -o \
321                                "x$target_os" = "xlinux-gnu"; then
322                            LIBS="-Wl,--rpath -Wl,${withval} $LIBS"
323                        fi
324                fi
325            fi
326            pcap_from="${withval}"
327            OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"libpcap from ${withval}|"
328            RPM_CONFIG_FLAGS="${RPM_CONFIG_FLAGS} --with-libpcap=${withval}"
329        fi
330        if test "x$target_os" = "xcygwin"; then
331                AC_CHECK_LIB(wpcap,pcap_open_offline,,
332                        [AC_MSG_ERROR([cannot locate required WPCAP library])]
333                )
334        else
335                AC_CHECK_LIB(pcap,pcap_open_offline, ,
336                        [AC_MSG_ERROR([cannot locate required PCAP library])]
337                )
338        fi
339        AC_CHECK_HEADERS(pcap.h,[],
340           [AC_MSG_ERROR([cannot locate required pcap.h header file])]
341        )
342    fi
343    ],[
344        if test "x$target_os" = "xcygwin"; then
345                AC_CHECK_LIB(wpcap, pcap_open_offline, ,
346                    [AC_MSG_ERROR([cannot locate required PCAP library, try the --with-libpcap option])]
347                )
348        else
349                AC_CHECK_LIB(pcap, pcap_open_offline, ,
350                    [AC_MSG_ERROR([cannot locate required PCAP library, try the --with-libpcap option])]
351                )
352        fi
353        AC_CHECK_HEADERS(pcap.h,
354            [],
355            [AC_MSG_ERROR([cannot locate the required pcap.h header file])]
356        )
357    ]
358)
359
360dnl ---------------------------------------------------------------------
361dnl Check for pfring
362dnl ---------------------------------------------------------------------
363AC_ARG_WITH(pfring,
364        AS_HELP_STRING([--with-pfring=PFRING_DIR],[find pfring.h in PFRING_DIR/include, libpfring in PFRING_DIR/lib]),[
365        if test "x$withval" != "xno"; then
366           if test -d ${withval}; then
367              if test -d ${withval}/lib; then
368                  LIBS="-L${withval}/lib -lpfring -lrt $LIBS"
369                  CFLAGS="$CFLAGS -I${withval}/include"
370                  CPPFLAGS="$CPPFLAGS -I${withval}/include"
371              fi
372           else
373              LIBS="-lpfring -lrt $LIBS"
374           fi
375
376           AC_CHECK_LIB(pfring,pfring_zc_numa_get_cpu_node,[
377                        AC_DEFINE(YAF_ENABLE_PFRING, 1, [Define to 1 to enable PFRING support])
378                        AC_SUBST(YAF_HAS_PFRING, [1])
379                        AC_DEFINE(YAF_ENABLE_SEPARATE_INTERFACES,1,[Define to 1 to enable YAF Separate Interface Support])
380                        AC_DEFINE(YAF_ENABLE_PFRINGZC, 1, [Define to 1 to enable PFRING ZC support])
381                        pfringzc=true
382                        pfring=true
383                        ],
384                        [AC_MSG_NOTICE([Cannot locate PFRING ZC library v. 6.2.0 or greater])
385                        pfringzc=false
386                        pfring=false])
387           AC_CHECK_HEADERS(pfring.h,[],
388                [AC_MSG_ERROR([cannot open PFRING header file])
389                pfring=false])
390           AC_CHECK_HEADERS(pfring_zc.h,
391                [AC_DEFINE(YAF_ENABLE_PFRINGZC, 1, [Define to 1 to enable PFRING ZC support])],
392                [AC_MSG_NOTICE([cannot open PFRING ZC header file])
393                pfringzc=false
394                AC_DEFINE(YAF_ENABLE_PFRINGZC, 0, [Define to 1 to enable PFRING ZC support])
395                ])
396
397        fi
398      ]
399)
400AM_CONDITIONAL([HASPFRINGZC], [test x$pfringzc = xtrue])
401
402
403
404dnl ----------------------------------------------------------------------
405dnl Check for libdag
406dnl ----------------------------------------------------------------------
407
408AC_ARG_WITH(dag,
409AS_HELP_STRING([--with-dag=prefix],[include Endace DAG support]),[
410if test "x$withval" != "xno"; then
411   AC_SUBST(DAG_LDFLAGS)
412  if test -d ${withval}; then
413    DAG_LDFLAGS="-L${withval}/lib"
414    LDFLAGS="$DAG_LDFLAGS ${LDFLAGS}"
415    CFLAGS="-I${withval}/include ${CFLAGS}"
416    RPM_CONFIG_FLAGS="${RPM_CONFIG_FLAGS} --with-dag=${withval}"
417    OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"dag library ${withval}|"
418  fi
419
420    dnl look for libdag
421    AC_CHECK_LIB(dag, dag_open,[
422        AC_DEFINE(YAF_ENABLE_DAG, 1, [Define to 1 to enable DAG support])
423        AC_SUBST(YAF_HAS_DAG, [1])
424       AC_DEFINE(YAF_ENABLE_SEPARATE_INTERFACES, 1, [Define to 1 to enable recording interface numbers])
425        interface=true
426        LIBS="-ldag ${LIBS}"
427        RPM_CONFIG_FLAGS="${RPM_CONFIG_FLAGS} --with-dag"
428        OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"dag library ${LIBS}|"
429    ],[
430        AC_MSG_ERROR([--with-dag given but cannot find libdag])
431        dagapi=false
432    ])
433
434    AC_CHECK_HEADER(dagapi.h,,[
435        AC_MSG_ERROR([--with-dag given but cannot find dagapi.h])
436        dagapi=false
437    ])
438fi
439])
440
441dnl ----------------------------------------------------------------------
442dnl Check for libpntapi
443dnl ----------------------------------------------------------------------
444AC_ARG_WITH(napatech,
445    AS_HELP_STRING([--with-napatech=NT_DIR],[include Napatech support (find nt.h in NT_DIR/include, libntapi in NT_DIR/lib)]),[
446    if test "x$withval" != "xno"; then
447      if test -d ${withval}; then
448        LDFLAGS="-L${withval}/lib ${LDFLAGS}"
449        CFLAGS="-I${withval}/include ${CFLAGS} -pthread"
450        CPPFLAGS="-I${withval}/include ${CPPFLAGS}"
451        LIBS="-L${withval}/lib -pthread -lntapi $LIBS"
452        RPM_CONFIG_FLAGS="${RPM_CONFIG_FLAGS} --with-napatech=${withval}"
453        OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}" napatech library ${withval}|"
454      fi
455    AC_CHECK_LIB([ntapi],[NT_Init],[
456       AC_DEFINE(YAF_ENABLE_NAPATECH, 1, [Define to 1 to enable Napatech support])
457       AC_SUBST(YAF_HAS_NAPATECH, [1])
458       AC_DEFINE(YAF_ENABLE_SEPARATE_INTERFACES, 1, [Define to 1 to enable recording interface numbers])
459       interface=true
460       LIBS="-lntapi -pthread ${LIBS}"
461       RPM_CONFIG_FLAGS="${RPM_CONFIG_FLAGS} --with-napatech"
462       OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}" napatech library ${LIBS}|"
463       napapi=true
464       ]
465     ,[
466       AC_MSG_ERROR([--with-napatech given but cannot find libntapi.  May need to set LDFLAGS to napatech library.])
467       napapi=false
468     ])
469     AC_CHECK_HEADER(nt.h,,[
470       AC_MSG_ERROR([--with-napatech given but cannot find nt.h])
471       napapi=false
472     ])
473   fi
474   ]
475)
476
477
478dnl ----------------------------------------------------------------------
479dnl Check for nfe_packetcap.h for Netronome support
480dnl ----------------------------------------------------------------------
481AC_ARG_WITH(netronome,
482AS_HELP_STRING([--with-netronome=prefix],[include Netronome API support]),[
483if test "x$withval" != "xno"; then
484
485  if test -d ${withval}; then
486    CFLAGS="-I${withval}/include ${CFLAGS}"
487    CPPFLAGS="-I{withval}/include ${CPPFLAGS}"
488    RPM_CONFIG_FLAGS="${RPM_CONFIG_FLAGS} --with-netronome=${withval}"
489    OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"netronome ${withval}|"
490  fi
491
492    dnl look for libnfp
493    AC_CHECK_HEADER(nfe_packetcap.h,[
494        AC_DEFINE(YAF_ENABLE_NETRONOME, 1, [Define to 1 to enable Netronome support])
495        AC_SUBST(YAF_HAS_NETRONOME, [1])
496       AC_DEFINE(YAF_ENABLE_SEPARATE_INTERFACES, 1, [Define to 1 to enable recording interface numbers])
497        interface=true
498        nfeapi=true
499        RPM_CONFIG_FLAGS="${RPM_CONFIG_FLAGS} --with-netronome"
500        OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"Netronome|"
501    ],[
502        AC_MSG_ERROR([--with-netronome given but cannot find nfe_packetcap.h])
503        nfeapi=false
504    ],[
505    [#if HAVE_NFE_PACKETCAP_H
506    #include <nfe_packetcap.h>
507    #endif
508    ]])
509
510fi
511])
512
513
514dnl ----------------------------------------------------------------------
515dnl Check for pcap-zcopy.h
516dnl ----------------------------------------------------------------------
517AC_ARG_WITH(bivio,
518AS_HELP_STRING([--with-bivio=PCAP_ZCOPY_DIR],[include Bivio support (find pcap-zcopy.h in PCAP_ZCOPY_DIR/include)]),[
519    if test "x$withval" != "xno"; then
520      if test -d ${withval}; then
521        CFLAGS="-I${withval}/include ${CFLAGS}"
522      fi
523     AC_CHECK_HEADERS(pcap-zcopy.h,[
524       AC_DEFINE(YAF_ENABLE_BIVIO,1,[Define to 1 to enable BIVIO support])
525       AC_DEFINE(YAF_ENABLE_SEPARATE_INTERFACES,1,[Define to 1 to enable YAF Separate Interface Support])
526       interface=true
527        RPM_CONFIG_FLAGS="${RPM_CONFIG_FLAGS} --with-bivio=${withval}"
528        OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}" bivio ${withval}|"
529        biviozcopy=true
530       ],[
531       AC_MSG_ERROR([--with-bivio given but cannot find pcap-zcopy.h])
532       biviozcopy=false
533     ],
534     [#ifdef HAVE_PCAP_H
535      #include <pcap.h>
536      #endif
537     ])
538   fi
539])
540
541dnl ----------------------------------------------------------------------
542dnl Enable optional flow table features
543dnl ----------------------------------------------------------------------
544
545AC_ARG_ENABLE(compact-ip4,
546AS_HELP_STRING([--disable-compact-ip4],
547               [Use full address structure in flow table]),[
548if test "x$enableval" = "xno"; then
549    AC_MSG_NOTICE([Disabling compact IPv4 addresses in flow table])
550    AC_DEFINE(YAF_ENABLE_COMPACT_IP4, 0,
551              [Define to 1 to compact IPv4 addresses where possible])
552    OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"not-compact IPv4|"
553    RPM_CONFIG_FLAGS="${RPM_CONFIG_FLAGS} --disable-compact-ip4"
554    compact_v4=false
555else
556    AC_DEFINE(YAF_ENABLE_COMPACT_IP4, 1,
557              [Define to 1 to compact IPv4 addresses where possible])
558    OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"compact IPv4|"
559    compact_v4=true
560fi
561],[
562    AC_DEFINE(YAF_ENABLE_COMPACT_IP4, 1,
563              [Define to 1 to compact IPv4 addresses where possible])
564    OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"compact IPv4|"
565    compact_v4=true
566])
567
568dnl ----------------------------------------------------------------------
569dnl Check for getaddrinfo
570dnl ----------------------------------------------------------------------
571AC_CHECK_FUNCS(getaddrinfo)
572
573dnl ----------------------------------------------------------------------
574dnl see if the user wants to enable hooks/plugins
575dnl ----------------------------------------------------------------------
576AC_ARG_ENABLE(plugins,
577        AC_HELP_STRING([--enable-plugins], [enable YAF to load plugin extensions (default is no)]),
578        [
579      AC_DEFINE(YAF_ENABLE_HOOKS, 1, [Define to 1 to enable plugin support])
580                plugins=true
581                OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"Plugin Support |"
582                RPM_CONFIG_FLAGS="${RPM_CONFIG_FLAGS} --enable-plugins"
583                AC_SUBST(YAF_REQ_PLUG_CONF, [1])
584        ],
585        [
586                plugins=false
587        ]
588)
589AM_CONDITIONAL([PLUGINENABLE], [test x$plugins = xtrue])
590
591dnl ----------------------------------------------------------------------
592dnl Check for PCRE library, needed for the application labeler engine
593dnl ----------------------------------------------------------------------
594AC_SUBST(YAF_REQ_PCRE_VER, [7.3])
595PKG_CHECK_MODULES(pcreLib, [libpcre >= 7.3],
596    [
597        AC_DEFINE(HAVE_PCRE, 1, [Define to 1 to enable PCRE support])
598        LDFLAGS="$LDFLAGS $pcreLib_LIBS"
599        CFLAGS="$CFLAGS $pcreLib_CFLAGS"
600        pcreexist=true
601        AC_MSG_NOTICE([PCRE found and added to build])
602        YF_LIBSTR_STRIP(${LDFLAGS})
603        AC_SUBST(YAF_PC_PCRE, [", libpcre >= 7.3"])
604        OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"PCRE available ${yf_libstr}|"
605    ],[
606        AC_MSG_WARN([The application labeler engine requires the PCRE library >= 7.3 to operate, you can set the PKG_CONFIG_PATH variable to help find it])
607        pcreexist=false
608        OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"PCRE unavailable|"
609    ]
610)
611AM_CONDITIONAL([PCREEXISTS], [test x$pcreexist = xtrue])
612
613
614
615dnl ----------------------------------------------------------------------
616dnl check if the user wants to enable the application labeler
617dnl ----------------------------------------------------------------------
618AC_ARG_ENABLE(applabel,
619    AC_HELP_STRING([--enable-applabel], [enable the packet payload application label engine (default is no) requires PCRE library]),
620    [
621            if test "x$enableval" = "xno"; then
622                AC_MSG_NOTICE([Disabling the application labeler])
623                applabeler=false
624            else
625            AC_DEFINE(YAF_ENABLE_APPLABEL, 1, [Define to 1 to enable application labeler engine])
626            applabeler=true
627            if test "x$pcreexist" != "xtrue"; then
628                AC_MSG_ERROR([The application labeler cannot be enabled if the PCRE library is not available])
629            fi
630            if test "x$nopayload" == "xtrue"; then
631                AC_MSG_ERROR([The application labeler cannot be enabled if the payload processing is disabled])
632            fi
633                AC_MSG_NOTICE([Application labeler is enabled])
634            AC_SUBST(YAF_REQ_PCRE, [1])
635            RPM_CONFIG_FLAGS="${RPM_CONFIG_FLAGS} --enable-applabel"
636            OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"applabeling|"
637        fi
638    ],
639    [
640        applabeler=false
641        AC_MSG_NOTICE([Application labeler is disabled by default])
642    ]
643)
644AM_CONDITIONAL([APPLABELENABLE], [test x$applabeler = xtrue])
645
646dnl ----------------------------------------------------------------------
647dnl check if the user wants to enable export of DNS Authoritative Resp ONLY
648dnl ----------------------------------------------------------------------
649AC_ARG_ENABLE(exportDNSAuth,
650        AC_HELP_STRING([--enable-exportDNSAuth], [enable export of DNS Authoritative Responses Only (default is export everything)]),
651        [
652                if test "x$enableval" = "xno"; then
653                   AC_MSG_NOTICE([Enabling export of all DNS Responses])
654                   exportDNSAuth = false
655                else
656                AC_DEFINE(YAF_ENABLE_DNSAUTH, 1, [Define to 1 to enable export of DNS Authoritative Responses Only])
657                exportDNSAuth=true
658                if test "x$plugins" != "xtrue"; then
659                   AC_MSG_ERROR([DNS Authoritative Response Export requires plugins to be enabled])
660                fi
661                if test "x$applabeler" != "xtrue"; then
662                   AC_MSG_ERROR([Application labeling must be enabled to export DNS Authoritative Responses])
663                fi
664                   AC_MSG_NOTICE([Export only DNS Authoritative Responses is enabled])
665          fi
666        ],
667        [
668         exportDNSAuth=false
669         AC_MSG_NOTICE([Enable Export of DNS Authoritative Responses is disabled by default])
670        ]
671
672)
673AM_CONDITIONAL([EXPORTDNSAUTH], [test x$exportDNSAuth = xtrue])
674
675dnl ----------------------------------------------------------------------
676dnl check if the user wants to enable export of DNS NXDOMAIN Responses ONLY
677dnl ----------------------------------------------------------------------
678AC_ARG_ENABLE(exportDNSNXDomain,
679        AC_HELP_STRING([--enable-exportDNSNXDomain], [enable export of DNS NXDomain Responses Only (default is export everything)]),
680        [
681                if test "x$enableval" = "xno"; then
682                   AC_MSG_NOTICE([Enabling export of all DNS Responses])
683                   exportDNSNXDomain = false
684                else
685                AC_DEFINE(YAF_ENABLE_DNSNXDOMAIN, 1, [Define to 1 to enable export of DNS NXDomain Responses Only])
686                exportDNSNXDomain=true
687                if test "x$plugins" != "xtrue"; then
688                   AC_MSG_ERROR([DNS NXDomain Response Export requires plugins to be enabled])
689                fi
690                if test "x$applabeler" != "xtrue"; then
691                   AC_MSG_ERROR([Application labeling must be enabled to export DNS Authoritative Responses])
692                fi
693                   AC_MSG_NOTICE([Export only DNS NXDomain Responses is enabled])
694          fi
695        ],
696        [
697         exportDNSNXDomain=false
698         AC_MSG_NOTICE([Enable Export of DNS NXDomain Responses is disabled by default])
699        ]
700
701)
702AM_CONDITIONAL([EXPORTDNSNXDomain], [test x$exportDNSNXDomain = xtrue])
703
704dnl ----------------------------------------------------------------------
705dnl check for disabling all payload handling
706dnl ----------------------------------------------------------------------
707AC_ARG_ENABLE(payload,
708    AC_HELP_STRING([--disable-payload], [disable YAF from being built with payload handling capability]),
709    [
710        if test "x$enableval" = "xno"; then
711            if test "x$applabeler" == "xtrue"; then
712                AC_MSG_ERROR([Cannot disable payload and enable application labeling])
713            fi
714            AC_DEFINE(YAF_ENABLE_PAYLOAD, 0, [Define to 1 to enable yaf payload processing])
715            nopayload=true
716            RPM_CONFIG_FLAGS="${RPM_CONFIG_FLAGS} --disable-payload"
717            AC_MSG_NOTICE([YAF payload processing is disabled])
718            OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"no payload processing|"
719        else
720            AC_MSG_NOTICE([YAF payload processing is not disabled])
721            nopayload=false
722            AC_DEFINE(YAF_ENABLE_PAYLOAD, 1, [Define to 1 to enable yaf payload processing])
723            OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"payload processing|"
724        fi
725    ],
726    [
727        AC_DEFINE(YAF_ENABLE_PAYLOAD, 1, [Define to 1 to enable yaf payload processing])
728        AC_MSG_NOTICE([Payload processing is enabled by default])
729        nopayload=false
730        OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"payload processing|"
731    ]
732)
733
734
735dnl ----------------------------------------------------------------------
736dnl check if the user wants to enable the entropy calculator
737dnl ----------------------------------------------------------------------
738AC_ARG_ENABLE(entropy,
739    AC_HELP_STRING([--enable-entropy], [enable the packet payload entropy calculation]),
740    [
741            if test "x$enableval" = "xno"; then
742                AC_MSG_NOTICE([Disabling the entropy calculator])
743                entropycalc=false
744            else
745            AC_DEFINE(YAF_ENABLE_ENTROPY, 1, [Define to 1 to enable entropy calculator])
746            entropycalc=true
747            if test "x$nopayload" == "xtrue"; then
748                AC_MSG_ERROR([The entropy calculator cannot be enabled if the payload processing is disabled])
749            fi
750                AC_MSG_NOTICE([Entropy calculator is enabled])
751            RPM_CONFIG_FLAGS="${RPM_CONFIG_FLAGS} --enable-entropy"
752            OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"entropy|"
753        fi
754    ],
755    [
756        AC_MSG_NOTICE([Entropy calculator disabled by default])
757        entropycalc=false
758    ]
759)
760
761
762dnl ----------------------------------------------------------------------
763dnl check if the user wants to enable the DAG interface hack
764dnl ----------------------------------------------------------------------
765AC_ARG_ENABLE(daginterface,
766    AC_HELP_STRING([--enable-daginterface], [enable encoding DAG interface numbers into the record output]),
767    [
768        if test "x$enableval" = "xno"; then
769            AC_MSG_NOTICE([Disabling the DAG interface numbers recording])
770            daginterfacehack=false
771        else
772            AC_DEFINE(YAF_ENABLE_DAG_SEPARATE_INTERFACES, 1, [Define to 1 to enable recording DAG interface numbers])
773            daginterfacehack=true
774            AC_MSG_NOTICE([DAG interface recording into output records is enabled])
775            RPM_CONFIG_FLAGS="${RPM_CONFIG_FLAGS} --enable-daginterface"
776            OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"DAG interface labeling|"
777        fi
778    ],
779    [
780        AC_MSG_NOTICE([DAG interface recording into output record disabled by default])
781        daginterfacehack=false
782    ]
783)
784
785dnl ----------------------------------------------------------------------
786dnl check if the user wants to enable the Napatech interface hack
787dnl ----------------------------------------------------------------------
788AC_ARG_ENABLE(interface,
789    AC_HELP_STRING([--enable-interface], [enable encoding Napatech/Netronome/DAG interface numbers into the record output (on by default)]),
790    [
791        if test "x$enableval" = "xno"; then
792            AC_MSG_NOTICE([Disabling the interface numbers recording])
793            interface=false
794        else
795            AC_DEFINE(YAF_ENABLE_SEPARATE_INTERFACES, 1, [Define to 1 to enable recording interface numbers])
796            interface=true
797            AC_MSG_NOTICE([Interface recording into output records is enabled])
798            RPM_CONFIG_FLAGS="${RPM_CONFIG_FLAGS} --enable-interface"
799            OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"interface labeling|"
800        fi
801    ]
802)
803
804
805dnl ----------------------------------------------------------------------
806dnl check if the user wants to enable export of handshake headers
807dnl ----------------------------------------------------------------------
808AC_ARG_ENABLE(fpexporter,
809    AC_HELP_STRING([--enable-fpexporter], [enable export of handshake headers for external fingerprinting, default is off]),
810    [
811           if test "x$enableval" = "xno"; then
812              AC_MSG_NOTICE([Disabling the fingerprint exporter])
813              fp_exporter = false
814           else
815           AC_DEFINE(YAF_ENABLE_FPEXPORT, 1, [Define to 1 to enable fingerprint exporter])
816           fp_exporter=true
817           AC_MSG_NOTICE([Fingerprint exporter is enabled])
818           RPM_CONFIG_FLAGS="${RPM_CONFIG_FLAGS} --enable-fpexporter"
819           OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"fingerprint export|"
820        fi
821     ],
822     [
823       fp_exporter=false
824       AC_MSG_NOTICE([fingerprint exporter disabled by default])
825     ]
826)
827AM_CONDITIONAL([FPEXPORT], [test x$fp_exporter = xtrue])
828
829dnl ----------------------------------------------------------------------
830dnl check if the user wants to enable the p0f based finger printer
831dnl ----------------------------------------------------------------------
832p0f_printer=
833AC_ARG_ENABLE(p0fprinter,
834    AC_HELP_STRING([--enable-p0fprinter], [enable the p0f based OS finger printing capability, default is off]),
835    [
836            if test "x$enableval" = "xno"; then
837                AC_MSG_NOTICE([Disabling the p0f fingerprinter])
838                p0f_printer=false
839            else
840            AC_DEFINE(YAF_ENABLE_P0F, 1, [Define to 1 to enable p0f OS fingerprinter])
841            p0f_printer=true
842            if test "x$applabeler" != "xtrue"; then
843                AC_MSG_ERROR([The p0f finger printer cannot be enabled if the application labeler is not also enabled])
844            fi
845            AC_MSG_NOTICE([p0f based OS finger printer is enabled])
846            RPM_CONFIG_FLAGS="${RPM_CONFIG_FLAGS} --enable-p0fprinter"
847            OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"p0f labeling|"
848            AC_SUBST(YAF_REQ_P0F_CONF, [1])
849        fi
850    ],
851    [
852        p0f_printer=false
853        AC_MSG_NOTICE([p0f based OS fingerprinter disabled by default])
854    ]
855)
856AM_CONDITIONAL([P0FENABLE], [test x$p0f_printer = xtrue])
857
858if test "x$p0f_printer" = "xtrue"; then
859   AC_SUBST(YAF_REQ_P0F_VER, [2.0.8])
860   PKG_CHECK_MODULES(libp0f, [libp0f >= 2.0.8],
861                  [
862                    YF_PKGCONFIG_VERSION(libp0f)
863                    YF_PKGCONFIG_LPATH(libp0f)
864                  ],
865                  [AC_MSG_ERROR([Cannot find a suitable libp0f (>= 2.0.8): $libp0f_PKG_ERRORS])
866])
867fi
868
869dnl ----------------------------------------------------------------------
870dnl check if the user wants to support MPLS netflow
871dnl ----------------------------------------------------------------------
872AC_ARG_ENABLE(mpls,
873    AC_HELP_STRING([--enable-mpls], [enable MPLS label hashing and export (default is no)]),
874    [
875            if test "x$enableval" = "xno"; then
876                AC_MSG_NOTICE([Disabling MPLS support])
877                mpls=false
878            else
879                AC_DEFINE(YAF_MPLS, 1, [Define to 1 to enable mpls support])
880                mpls=true
881                AC_MSG_NOTICE([MPLS Flow is enabled])
882                RPM_CONFIG_FLAGS="${RPM_CONFIG_FLAGS} --enable-mpls"
883                OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"mpls enabled|"
884            fi
885    ],
886    [
887        mpls=false
888        AC_MSG_NOTICE([MPLS Flow is disabled by default])
889    ]
890)
891AM_CONDITIONAL([MPLSENABLE], [test x$mpls = xtrue])
892
893dnl ----------------------------------------------------------------------
894dnl check if the user wants to enable non-IP flow data
895dnl ----------------------------------------------------------------------
896AC_ARG_ENABLE(nonip,
897    AC_HELP_STRING([--enable-nonip], [enable non-IP data decode and flow export]),
898    [
899            if test "x$enableval" = "xno"; then
900                AC_MSG_NOTICE([Disabling Non-IP flow data])
901                nonip=false
902            else
903                AC_DEFINE(YAF_NONIP, 1, [Define to 1 to enable non-IP flow data export])
904                if test "x$mpls" != "xtrue"; then
905                    AC_MSG_ERROR([Non-IP data decode and flow export requires --enable-mpls])
906                fi
907                nonip=true
908                AC_MSG_NOTICE([Enabling NON-IP data decode and export])
909                RPM_CONFIG_FLAGS="${RPM_CONFIG_FLAGS} --enable-nonip"
910                OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"nonip|"
911            fi
912    ],
913    [
914        nonip=false
915        AC_MSG_NOTICE([Non-IP Flow is disabled by default])
916    ]
917)
918AM_CONDITIONAL([NONIPENABLE], [test x$nonip = xtrue])
919
920dnl ----------------------------------------------------------------------
921dnl check for disabling export of type information via (RFC 5610) and
922dnl template metadata information
923dnl ----------------------------------------------------------------------
924AC_MSG_NOTICE([Fixbuf version: $fixbuf_version])
925AC_MSG_NOTICE($fixbuf_version)
926AX_COMPARE_VERSION($fixbuf_version, [ge], [1.8.0],
927[
928    AC_ARG_ENABLE(type-export,
929        AC_HELP_STRING([--disable-type-export], [disable exporting of options records for enterprise-specific information elements]),
930        [
931            if test "x$enableval" = "xno"; then
932                AC_DEFINE(YAF_ENABLE_METADATA_EXPORT, 0, [Define to 1 to enable yaf metadata export])
933                type_export=false
934                RPM_CONFIG_FLAGS="${RPM_CONFIG_FLAGS} --disable-type-export"
935                AC_MSG_NOTICE([type export is disabled])
936                OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"no type export|"
937            else
938                AC_MSG_NOTICE([type export is not disabled])
939                type_export=true
940                AC_DEFINE(YAF_ENABLE_METADATA_EXPORT, 1, [Define to 1 to enable yaf metadata export])
941                OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"type export|"
942            fi
943        ],
944        [
945            AC_DEFINE(YAF_ENABLE_METADATA_EXPORT, 1, [Define to 1 to enable yaf metadata export])
946            AC_MSG_NOTICE([Metadata export is enabled by default])
947            type_export=true
948            OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"type export|"
949        ]
950    )
951],[
952    AC_DEFINE(YAF_ENABLE_METADATA_EXPORT, 0, [Define to 1 to enable yaf metadata export])
953    AC_MSG_NOTICE([Metadata export is disabled due to lack of fixbuf >= 1.8.0])
954    type_export=false
955    OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"type export|"
956])
957
958
959
960
961dnl ----------------------------------------------------------------------
962dnl Check for Spread Support
963dnl ----------------------------------------------------------------------
964AC_PATH_SPREAD([4.1])
965if test "x$ac_cv_header_spread_sp_h" == "xyes"; then
966   AC_SUBST(FIXBUF_REQ_LIBSPREAD, [1])
967fi
968
969dnl -------------------------------------------------------------------
970dnl  Use the local timezone for command inputs and printing records
971dnl -------------------------------------------------------------------
972ENABLE_LOCALTIME=0
973AC_ARG_ENABLE([localtime],
974        [AS_HELP_STRING([--enable-localtime],
975            [use the local timezone for command inputs and for printing records.  Default is to use UTC.  (Flows are always exported in UTC time.)])[]dnl
976        ],[[
977        if test "x$enableval" = "xyes"
978        then
979            ENABLE_LOCALTIME=1
980        fi]])
981
982AC_DEFINE_UNQUOTED([ENABLE_LOCALTIME], [$ENABLE_LOCALTIME],
983     [Define to 1 to use the local timezone for command input and
984     printing records.  Define to 0 to use UTC.])
985
986
987dnl ----------------------------------------------------------------------
988dnl Check for Unix vs. Linux privdrop (EWW EWW HACK EWW)
989dnl ----------------------------------------------------------------------
990if test "x$target_os" = "xlinux" -o \
991        "x$target_os" = "xlinux-gnu"; then
992    AC_MSG_NOTICE([Enabling Linux privilege drop hack])
993    AC_DEFINE([LINUX_PRIVHACK], 1,
994              [Define to 1 on Linux for privilege drop hack])
995else
996    AC_MSG_NOTICE([Normal privilege drop (target os is $target_os)])
997fi
998
999dnl ----------------------------------------------------------------------
1000dnl Check if this is Solaris and enabled the impure-text option
1001dnl ----------------------------------------------------------------------
1002case $target_os in
1003        solaris*) LDFLAGS="$LDFLAGS -mimpure-text" ;;
1004esac
1005
1006dnl ----------------------------------------------------------------------
1007dnl Add a conditional flag into Automake for Cygwin checking
1008dnl ----------------------------------------------------------------------
1009AM_CONDITIONAL([CYGWIN], [test "x$target_os" = "xcygwin"])
1010
1011dnl ---------------------------------------------------------------------
1012dnl Check for decompression support
1013dnl ---------------------------------------------------------------------
1014AX_CHECK_LIBZ
1015
1016dnl ----------------------------------------------------------------------
1017dnl Determine infomodel information
1018dnl ----------------------------------------------------------------------
1019AM_MISSING_PROG(XSLTPROC, xsltproc)
1020INFOMODEL_AC_COLLECT_REGISTRIES([infomodel])
1021AC_PATH_PROG([PERL], [perl])
1022
1023dnl ----------------------------------------------------------------------
1024dnl Lets put the configuation information into the version output for YAF
1025dnl ----------------------------------------------------------------------
1026OPTION_CONFIG_STRING=${OPTION_CONFIG_STRING}"\n"
1027AC_DEFINE_UNQUOTED([YAF_ACONF_STRING_STR], ["${OPTION_CONFIG_STRING}"], [configure script options])
1028
1029
1030dnl ----------------------------------------------------------------------
1031dnl Write Makefiles (and all the other files too)
1032dnl ----------------------------------------------------------------------
1033AC_SUBST(LIBCOMPAT)
1034AC_SUBST(RPM_CONFIG_FLAGS)
1035
1036
1037dnl automake 1.9 doesn't substitute these automatically, so we do it ourselves
1038dnl just in case
1039AC_SUBST([abs_top_srcdir])
1040AC_SUBST([abs_top_builddir])
1041
1042YAF_AC_WRITE_SUMMARY
1043
1044AC_CONFIG_FILES([Makefile
1045                                src/Makefile
1046                                include/Makefile
1047                                infomodel/Makefile
1048                                etc/Makefile
1049                                scripts/Makefile
1050                                src/applabel.pod
1051                                src/yafdpi.pod
1052                                src/applabel/Makefile
1053                                src/applabel/plugins/Makefile
1054                                src/applabel/hooks/Makefile
1055                                src/yaf.pod
1056                                libyaf.pc
1057                                etc/init.d/yaf
1058                                yaf.spec
1059                                Doxyfile
1060                                README
1061                                etc/yaf.conf
1062                                airframe/Makefile
1063                                airframe/src/Makefile
1064                                airframe/include/Makefile
1065                                airframe/doc/Makefile
1066                                airframe/libairframe.pc
1067                                airframe/libairframe.spec
1068                                airframe/Doxyfile
1069                                ])
1070
1071
1072AC_OUTPUT
1073
1074
1075
1076