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