source: configure.in @ c0506ea

4.0.1-hotfixescachetimestampsdevelopdpdk-ndagetsilivegetfragoffhelplibtrace4ndag_formatpfringrc-4.0.1rc-4.0.2rc-4.0.3rc-4.0.4ringdecrementfixringperformanceringtimestampfixes
Last change on this file since c0506ea was c0506ea, checked in by Shane Alcock <salcock@…>, 9 years ago
  • We now use pcap_create and pcap_activate for pcap interfaces if libpcap 1.0 or later is available. This doesn't seem to make much of a difference performance-wise, as pcap_open_live was updated to use these functions anyway. This means if mmapped packet capture is available, we would have used it via pcap_open_live anyway.
  • Added a new function (trace_interrupt). Calling this function will set an internal variable which can be used to cause any blocking read_packet function to exit with an EOF. Useful for programs that are handling signals themselves and need a way to tell libtrace to stop. Prior to this, programs like tracestats would not exit on Ctrl-C if reading from a pcap interface which was not receiving any packets.
  • Updated pcap interface format to respond to trace_interrupt.
  • Optimising trace_apply_filter to minimise calls to trace_get_link_type and trace_get_packet_buffer.
  • Removed unused extern variable "form" from libtrace_int.h
  • Fixed bug with filters in the pcap interface format which would result in "invalid BPF program" error message when filter was definitely legit.
  • Updated version number to 3.0.13
  • Property mode set to 100644
File size: 17.4 KB
Line 
1# Process this file with autoconf to produce a configure script.
2
3# Now you only need to update the version number in two places - below,
4# and in the README
5
6AC_INIT([libtrace],[3.0.13],[contact@wand.net.nz],[libtrace])
7
8LIBTRACE_MAJOR=3
9LIBTRACE_MID=0
10LIBTRACE_MINOR=13
11
12# OpenSolaris hides libraries like libncurses in /usr/gnu/lib, which is not
13# searched by default - add it to LDFLAGS so we at least have a chance of
14# finding it
15if test -d "/usr/gnu/lib"; then
16        LDFLAGS+=" -L/usr/gnu/lib"
17fi
18
19AC_CONFIG_MACRO_DIR([m4])
20AC_CONFIG_SRCDIR(lib/trace.c)
21AM_INIT_AUTOMAKE
22
23# Make sure we use the relatively silent automake output
24m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
25
26# Define our libtrace version number externally so we can use it in the source
27# as well, if needed.
28AC_DEFINE([LIBTRACE_MAJOR],${LIBTRACE_MAJOR},[libtrace major version])
29AC_DEFINE([LIBTRACE_MID],${LIBTRACE_MID},[libtrace mid version])
30AC_DEFINE([LIBTRACE_MINOR],${LIBTRACE_MINOR},[libtrace minor version])
31
32# These are all the files we want to be built for us by configure
33AC_CONFIG_FILES([Makefile lib/Makefile docs/Makefile libpacketdump/Makefile
34        tools/Makefile tools/traceanon/Makefile tools/tracepktdump/Makefile
35        tools/tracemerge/Makefile tools/tracereport/Makefile
36        tools/tracertstats/Makefile tools/tracesplit/Makefile
37        tools/tracestats/Makefile tools/tracetop/Makefile
38        tools/tracereplay/Makefile tools/tracediff/Makefile
39        tools/traceends/Makefile
40        examples/Makefile examples/skeleton/Makefile examples/rate/Makefile
41        examples/stats/Makefile examples/tutorial/Makefile
42        docs/libtrace.doxygen
43        lib/libtrace.h
44        ])
45
46
47# Function that checks if the C++ compiler actually works - there's a bit of
48# oversight in autoconf that will set the C++ compiler to g++ if no compiler
49# is found, even if g++ is not present! So we need an extra test to make sure
50# that the compiler works :(
51
52AC_DEFUN([rw_PROG_CXX_WORKS],
53[AC_REQUIRE([AC_PROG_CXX])dnl
54AC_CACHE_CHECK([whether the C++ compiler works],
55        [rw_cv_prog_cxx_works],
56        [AC_LANG_PUSH([C++])
57        AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
58                [rw_cv_prog_cxx_works=yes],
59                [rw_cv_prog_cxx_works=no])
60        AC_LANG_POP([C++])])
61])
62
63# Put all our automake definitions in config.h
64AM_CONFIG_HEADER([config.h])
65
66# Checks for C and C++ compilers
67AC_PROG_CC
68AC_PROG_CXX
69rw_PROG_CXX_WORKS
70
71if test "$rw_cv_prog_cxx_works" = "no"; then
72        AC_MSG_ERROR("Failed to find working C++ compiler")
73fi
74
75# Checking for 'install'
76AC_PROG_INSTALL
77
78# Checking for bison and flex
79AC_CHECK_PROGS(YACC, 'bison -y' byacc yacc)
80AM_PROG_LEX
81
82# All our source files for function replacements are in lib/
83AC_CONFIG_LIBOBJ_DIR(lib)
84
85# Check for various "replacement" functions
86AC_FUNC_MALLOC
87AC_FUNC_REALLOC
88
89# *BSD doesn't have strndup. Currently provide our own.
90AC_REPLACE_FUNCS(strndup)
91
92
93# Checks for typedefs, structures, and compiler characteristics.
94AC_C_CONST
95AC_C_INLINE
96AC_C_BIGENDIAN
97AC_TYPE_SIZE_T
98AC_HEADER_TIME
99AC_SYS_LARGEFILE
100
101LIBPKTDUMP_LIBS="-ltrace "
102ADD_LDFLAGS="$ADD_LDFLAGS -L\$(abs_top_srcdir)/lib"
103LIBTRACE_LIBS=""
104TOOLS_LIBS=""
105
106# Set our C compiler flags based on the gcc version
107if test "$GCC" = "yes"; then
108       
109        gcc_version=`gcc -dumpversion`
110
111        # This is probably not the most reliable way to test whether our
112        # compiler supports visibility, but it's better than nothing
113        #
114        # According to the gcc wiki - http://gcc.gnu.org/wiki/Visibility -
115        # visibility is supported in gcc 4.0 or later, so we just need to
116        # check the major version number
117
118        major=${gcc_version%\.*\.*}
119
120        if test "$major" -lt 4; then
121                vis=no
122        else
123                vis=yes
124        fi
125       
126        CFLAGS="$CFLAGS -Wall -Wmissing-prototypes"
127        CXXFLAGS="$CXXFLAGS -Wall"
128        LIBCFLAGS="$CFLAGS"
129        LIBCFLAGS="$LIBCFLAGS -DLT_BUILDING_DLL=1"
130        LIBCXXFLAGS="$CXXFLAGS"
131        LIBCXXFLAGS="$CXXFLAGS -DLT_BUILDING_DLL=1"
132       
133        if test "$vis" = "yes"; then
134                LIBCFLAGS="$LIBCFLAGS -Wextra -fvisibility=hidden"
135                LIBCXXFLAGS="$CXXFLAGS -Wextra -fvisibility=hidden"
136        fi
137fi
138
139# Check for libtool
140AC_PROG_LIBTOOL
141
142# Checks for library functions.
143AC_PROG_GCC_TRADITIONAL
144
145# Fail if any of these functions are missing
146AC_CHECK_FUNCS(socket strdup strlcpy strcasecmp strncasecmp snprintf vsnprintf)
147
148AC_CHECK_SIZEOF([long int])
149
150
151# Checks for header files.
152AC_HEADER_STDC
153AC_CHECK_HEADERS(pcap.h pcap-int.h pcap-bpf.h net/bpf.h sys/limits.h stddef.h inttypes.h limits.h net/ethernet.h sys/prctl.h)
154
155
156# OpenSolaris puts ncurses.h in /usr/include/ncurses rather than /usr/include,
157# so check for that
158AC_CHECK_HEADERS(ncurses.h,,[missing_ncurses=true])
159
160if test "x$missing_ncurses" = xtrue; then
161        if test -f "/usr/include/ncurses/ncurses.h"; then
162                AC_DEFINE(HAVE_NCURSES_NCURSES_H,1,[Has nested ncurses header])
163        fi
164fi
165
166
167# Check for the presence of various networking headers and define appropriate
168# macros
169AC_CHECK_HEADERS(netinet/in.h)
170AC_CHECK_HEADERS(netpacket/packet.h,[
171        libtrace_netpacket_packet_h=true
172        AC_DEFINE(HAVE_NETPACKET_PACKET_H,1,[has net])
173])
174AC_CHECK_HEADER(net/if.h,
175        AC_DEFINE(HAVE_NET_IF_H,1,[has net/if.h header]),,[
176 #include <sys/types.h>
177 #include <sys/socket.h>
178])
179
180AC_CHECK_HEADER(netinet/ether.h,
181        AC_DEFINE(HAVE_NETINET_ETHER_H,1,[has netinet/ether.h header]),,[
182 #include <sys/types.h>
183 #include <sys/socket.h>
184 #include <netinet/in.h>
185 #include <net/if.h>
186])
187
188AC_CHECK_HEADER(netinet/if_ether.h,
189        AC_DEFINE(HAVE_NETINET_IF_ETHER_H,1,[has netinet/if_ether.h]),,[
190 #include <sys/types.h>
191 #include <sys/socket.h>
192 #include <netinet/in.h>
193 #include <net/if.h>
194])
195
196AC_CHECK_HEADER(net/if_arp.h,
197        AC_DEFINE(HAVE_NET_IF_ARP_H,1,[has net/if_arp.h]),,[
198 #include <sys/types.h>
199 #include <sys/socket.h>
200 #include <netinet/in.h>
201 #include <net/if.h>
202])
203
204# Check for sdl_len in sockaddr_dl - sockaddr_dl is used on BSD systems
205if test "$libtrace_netpacket_packet_h" != "true"; then
206        AC_CHECK_MEMBER([struct sockaddr_dl.sdl_len],
207                AC_DEFINE(HAVE_SDL_LEN,1,[Has sdl_len in sockaddr_dl]),,[
208 #include <sys/types.h>
209 #include <sys/socket.h>
210 #include <net/if_dl.h>
211                ])
212fi
213
214# Checking for the right bpf header to include
215AC_CHECK_HEADER(pcap-bpf.h)
216AC_CHECK_HEADER(net/bpf.h)
217
218# Checking for libgdc
219AC_CHECK_HEADER(gdc.h,AC_DEFINE(HAVE_LIBGDC,1,[has gdc.h]))
220
221# Check for libpcap
222AC_CHECK_LIB(pcap,pcap_next_ex,pcapfound=1,pcapfound=0)
223AC_CHECK_LIB(pcap,pcap_create,pcapcreate=1,pcapcreate=0)
224AC_CHECK_FUNCS(pcap_inject pcap_sendpacket pcap_setnonblock)
225AC_CHECK_DECLS([BIOCSETIF],,,[
226#include <sys/types.h>
227#include <sys/time.h>
228#include <sys/ioctl.h>
229#include <net/bpf.h>
230])
231
232# Configure options for man pages
233AC_ARG_WITH(man,
234            AS_HELP_STRING(--with-man,install man pages by default),[
235             if test "$withval" = yes
236             then
237                     MANPAGES="docs/man/man3/[a-zA-Z]*.3"
238             else
239                     MANPAGES=""
240             fi
241])
242
243# Complain if we didn't find a suitable libpcap
244if test "$pcapfound" = 0; then
245        AC_MSG_ERROR(libpcap0.8 or greater is required to compile libtrace. If you have installed it in a non-standard location please use LDFLAGS to specify the location of the library)
246else
247        TOOL_LIBS="$TOOL_LIBS -lpcap"
248        LIBTRACE_LIBS="$LIBTRACE_LIBS -lpcap"
249        AC_DEFINE([HAVE_LIBPCAP],1,[compile with libpcap support])
250        AC_DEFINE([HAVE_BPF_FILTER],1,[compile with bpf filter support])
251fi
252
253if test "$pcapcreate" = 1; then
254        AC_DEFINE([HAVE_PCAP_CREATE],1,[compile with libpcap 1.0 support])
255fi
256
257# Configure options for use of DAG cards
258# Originally borrowed from libpcap, but extended quite a bit :)
259# More details on how this check works:
260#       http://wand.net.nz/trac/libtrace/wiki/DAGNotes
261
262AC_ARG_WITH(dag,
263            AS_HELP_STRING(--with-dag[=DIR],include DAG live capture support (located in directory DIR, if supplied)),
264[
265        if test "$withval" = no
266        then
267                want_dag=no
268        elif test "$withval" = yes
269        then
270                want_dag=yes
271                dag_root=/usr/local/dag
272        else
273                want_dag=yes
274                dag_root=$withval
275        fi
276],[
277        #
278        # Use DAG API if present, otherwise don't
279        #
280        want_dag=ifpresent
281        dag_root=/usr/local/dag
282])
283
284# DAG 3.0 actually puts header files and shared libraries into sensible
285# places now, so we should be able to do a simple CHECK_LIB to see if
286# they're there!
287
288# Addendum: It turns out DAG 2.5 does this too, so we'll match DAG2.5 in here
289# also. This isn't such a bad thing, the DAG2.5 API is essentially the same as
290# DAG 3.0 and libtrace will use the same format_dagXX source for both
291libtrace_dag=false
292libtrace_dag_version=none
293
294if test "$with_dag" != no; then
295        AC_CHECK_LIB(dag, dag_open, dag_found=1, dag_found=0)
296        if test "$dag_found" = 1; then
297                ADD_LIBS="$ADD_LIBS -ldag"
298                LIBTRACE_LIBS="$LIBTRACE_LIBS -ldag"
299                AC_DEFINE(HAVE_DAG_API, 1, [define if you have the DAG API])
300                AC_DEFINE(HAVE_DAG,1,[conditional for building with DAG live capture support])
301                libtrace_dag=true
302               
303                AC_DEFINE(DAG_VERSION,25,[defines the DAG driver version])
304                libtrace_dag_version=25
305        fi
306fi
307
308# TODO: turn the test part of the next block into a function, so it can be
309# called multiple times for $dag_root, /root/dag, /usr/local/lib
310dag_drv_v="DAG not present"
311
312# Now check for 2.4 DAG drivers which don't install as cleanly!
313if test "$with_dag" != no -a "$libtrace_dag" = false; then
314        AC_MSG_CHECKING(whether we have DAG 2.4 API instead)
315
316        if test -r "$dag_root/lib"; then
317                dag_lib_dir="$dag_root/lib"
318        else
319                dag_lib_dir="$dag_root"
320        fi
321       
322        if test -r "$dag_root/include"; then
323                dag_tools_dir="$dag_root/tools"
324                dag_include_dir="$dag_root/include"
325        else
326                dag_tools_dir="$dag_root"
327                dag_include_dir="$dag_root"
328        fi
329
330        if test -r "$dag_include_dir/dagapi.h" -a -r "$dag_lib_dir/libdag.a";
331        then
332                ADD_INCLS="$ADD_INCLS -I $dag_include_dir"
333                ADD_LIBS="$ADD_LIBS -ldag"
334                ADD_LDFLAGS="$ADD_LDFLAGS -L$dag_lib_dir"
335                DAG_TOOLS_DIR=$dag_tools_dir
336                AC_SUBST([DAG_TOOLS_DIR])
337                libtrace_dag=true
338               
339                AC_DEFINE(HAVE_DAG_API, 1, [define if you have the DAG API])
340                AC_DEFINE(HAVE_DAG,1,[conditional for building with DAG live capture support])
341                AC_DEFINE(DAG_VERSION, 24, [defines the DAG driver version])
342                libtrace_dag_version=24
343        else
344                if test "$want_dag" = yes; then
345                        AC_MSG_ERROR(DAG API not found under directory $dag_root
346; use --without-dag)
347                fi
348                libtrace_dag=false
349        fi
350        AC_MSG_RESULT($libtrace_dag)
351
352fi
353
354# Try to determine the DAG driver version
355#if test x"$libtrace_dag" = xtrue; then
356#       dag_drv_v="Unknown"
357#       files=`locate /usr/*dag*/VERSION`
358#       file_count=0
359#
360#       for i in $files; do
361#                if $file_count > 0; then
362#                        dag_drv_v="Indeterminate"
363#                        break
364#                fi
365#                dag_drv_v=`cat $i`
366#                file_count=$file_count+1
367#        done
368#fi
369#DAG_VERSION_NUM=$dag_drv_v
370
371have_ncurses=yes
372
373# Checks for various "optional" libraries
374AC_CHECK_LIB(z, deflate, have_zlib=1, have_zlib=0)
375AC_CHECK_LIB(bz2, BZ2_bzDecompressInit, have_bzip=1, have_bzip=0)
376AC_CHECK_LIB(lzo2, lzo1x_1_compress, have_lzo=1, have_lzo=0)
377AC_CHECK_LIB(pthread, pthread_create, have_pthread=1, have_pthread=0)
378
379# Check for ncurses
380AC_SEARCH_LIBS(mvprintw, ncurses, have_ncurses=yes, have_ncurses=no)
381LIBS=
382
383# These libraries have to be explicitly linked in OpenSolaris
384AC_SEARCH_LIBS(getservent, socket, have_socket=1, have_socket=0, -lnsl)         
385LIBS=
386
387AC_SEARCH_LIBS(inet_ntop, nsl, have_nsl=1, have_nsl=0, -lsocket)
388LIBS=
389
390# Check to see if we have libdl - *BSD has built-in libdl
391AC_SEARCH_LIBS(dlopen,dl, dlfound=1,dlfound=0 )
392LIBS=
393
394if test "$dlfound" = 0; then
395        AC_MSG_ERROR("Unable to find dlopen. Please use LDFLAGS to specify the location of libdl and re-run configure")
396fi
397
398if test "$ac_cv_search_dlopen" != "none required"; then
399        LIBPKTDUMP_LIBS="$LIBPKTDUMP_LIBS $ac_cv_search_dlopen"
400fi
401
402
403if test "$have_zlib" = 1; then
404        LIBTRACE_LIBS="$LIBTRACE_LIBS -lz"
405        AC_DEFINE(HAVE_LIBZ, 1, [Set to 1 if zlib is supported])
406fi
407
408if test "$have_bzip" = 1; then
409        LIBTRACE_LIBS="$LIBTRACE_LIBS -lbz2"
410        AC_DEFINE(HAVE_LIBBZ2, 1, [Set to 1 if bzip2 is supported])
411fi
412
413if test "$have_lzo" = 1; then
414        LIBTRACE_LIBS="$LIBTRACE_LIBS -llzo2"
415        AC_DEFINE(HAVE_LIBLZO2, 1, [Set to 1 if lzo2 is supported])
416fi
417
418if test "$have_pthread" = 1; then
419        LIBTRACE_LIBS="$LIBTRACE_LIBS -lpthread"
420        AC_DEFINE(HAVE_LIBPTHREAD, 1, [Set to 1 if pthreads are supported])
421fi
422
423if test "$have_ncurses" = "yes"; then
424        if test "$ac_cv_search_mvprintw" != "none required"; then
425                TOOLS_LIBS="$TOOLS_LIBS $ac_cv_search_mvprintw"
426        fi
427fi
428
429if test "$have_nsl" = 1; then
430        if test "$ac_cv_search_inet_ntop" != "none required"; then
431                LIBTRACE_LIBS="$LIBTRACE_LIBS $ac_cv_search_inet_ntop"
432                LIBPKTDUMP_LIBS="$LIBPKTDUMP_LIBS $ac_cv_search_inet_ntop"
433        fi
434fi
435
436if test "$have_socket" = 1; then
437        if test "$ac_cv_search_getservent" != "none required"; then
438                LIBTRACE_LIBS="$LIBTRACE_LIBS $ac_cv_search_getservent"
439                LIBPKTDUMP_LIBS="$LIBPKTDUMP_LIBS $ac_cv_search_getservent"
440        fi
441fi
442
443
444# Stupid AC_SEARCH_LIB appends stuff to LIBS even when I don't want it to, so
445# just set libs to null here to avoid linking against them by default
446LIBS=
447
448
449# For now, the user has to explicitly ask for the LLVM stuff, as it's a bit
450# rough around the edges :(
451AC_ARG_WITH([llvm],
452        [AC_HELP_STRING([--with-llvm],
453                [support Just In Time compiler])],
454        use_llvm="yes",
455        use_llvm="no")
456JIT=no
457
458# Search for LLVM and the libraries that it requires
459if (test "$use_llvm" != "no"); then
460        AC_PATH_PROG(LLVM_CONFIG, llvm-config, no)
461
462        # XXX Hard coding the path is REALLY bad.
463        # llvm-gcc is installed in a stupid place in Debian / Ubuntu. Hard luck
464        # if you've installed it somewhere custom.
465        # Hopefully in future we can replace this with clang, which may or may
466        # not be installed somewhere intelligent.
467        AC_PATH_PROG(LLVM_GCC, llvm-gcc, no, /usr/lib/llvm/llvm/gcc-4.2/bin)
468
469        AC_LANG_PUSH([C++])
470        AC_CHECK_HEADERS([boost/lexical_cast.hpp], boost="yes", boost="no")
471        AC_LANG_POP([C++])
472
473               
474        if test "$boost" = "no"; then
475                AC_MSG_NOTICE([Unabled to find boost libraries.  JIT support disabled.])
476                JIT=no
477        elif test "$LLVM_CONFIG" = "no" ; then
478                AC_MSG_NOTICE([Unable to find llvm-config.  JIT support disabled.])
479                JIT=no
480        elif test "$LLVM_GCC" = "no"; then
481                AC_MSG_NOTICE([Unable to find llvm-gcc.  JIT support disabled.])
482                JIT=no
483        else
484                LIBCXXFLAGS="`$LLVM_CONFIG --cxxflags` $CXXFLAGS"
485                LIBTRACE_LIBS="$LIBRACE_LIBS `$LLVM_CONFIG --libs all`";
486                LDFLAGS="`$LLVM_CONFIG --ldflags` $LDFLAGS";
487                JIT=yes
488                AC_DEFINE(HAVE_LLVM, 1, [Set to 1 if you have LLVM installed])
489        fi
490fi
491
492
493# Define automake conditionals for use in our Makefile.am files
494AM_CONDITIONAL([HAVE_BPF_CAPTURE], [test "$ac_cv_have_decl_BIOCSETIF" = yes ])
495AM_CONDITIONAL([HAVE_DAG], [test "$libtrace_dag" = true])
496AM_CONDITIONAL([DAG2_4], [test "$libtrace_dag_version" = 24])
497AM_CONDITIONAL([DAG2_5], [test "$libtrace_dag_version" = 25])
498AM_CONDITIONAL([HAVE_ZLIB], [test "$have_zlib" = 1])
499AM_CONDITIONAL([HAVE_BZLIB], [test "$have_bzip" = 1])
500AM_CONDITIONAL([HAVE_LZO], [test "$have_lzo" = 1])
501AM_CONDITIONAL([HAVE_NETPACKET_PACKET_H], [test "$libtrace_netpacket_packet_h" = true])
502AM_CONDITIONAL([HAVE_LIBGDC], [test "$ac_cv_header_gdc_h" = yes])
503AM_CONDITIONAL([HAVE_LLVM], [test "x$JIT" != "xno" ])
504AM_CONDITIONAL([HAVE_NCURSES], [test "x$have_ncurses" = "xyes"])
505
506# Check for miscellaneous programs
507AC_CHECK_PROG([libtrace_doxygen], [doxygen], [true], [false])
508
509AM_CONDITIONAL(HAS_DOXYGEN, [test x"$libtrace_doxygen" = xtrue])
510
511# Set all our output variables
512AC_SUBST([LIBTRACE_LIBS])
513AC_SUBST([LIBPKTDUMP_LIBS])
514AC_SUBST([TOOLS_LIBS])
515#AC_SUBST([ADD_LIBS])
516AC_SUBST([ADD_LDFLAGS])
517AC_SUBST([ADD_INCLS])
518AC_SUBST([LTLIBOBJS])
519AC_SUBST([MANPAGES])
520AC_SUBST([PACKAGE_VERSION])
521AC_SUBST([LIBTRACE_MAJOR])
522AC_SUBST([LIBTRACE_MID])
523AC_SUBST([LIBTRACE_MINOR])
524AC_SUBST([DAG_VERSION_NUM])
525AC_SUBST([HAVE_BPF_CAPTURE])
526AC_SUBST([HAVE_LIBGDC])
527AC_SUBST([HAVE_LLVM])
528AC_SUBST([HAVE_NCURSES])
529AC_SUBST([LIBCFLAGS])
530AC_SUBST([LIBCXXFLAGS])
531
532
533# Finally, output our Makefiles
534AC_OUTPUT
535
536# Function for reporting whether an option was set or not
537reportopt() {
538        if test x"$2" = xtrue -o x"$2" = xyes; then
539                AC_MSG_NOTICE([$1: Yes])
540        else
541                AC_MSG_NOTICE([$1: No])
542        fi
543}
544
545
546# Report which configure options were set
547echo
548AC_MSG_NOTICE([Libtrace version $PACKAGE_VERSION])
549if test "$pcapcreate" = 1; then
550        AC_MSG_NOTICE([Compiled with PCAP support: >= 1.0])
551else
552        AC_MSG_NOTICE([Compiled with PCAP support: < 1.0])
553fi
554
555reportopt "Compiled with compressed trace (zlib) support" $ac_cv_lib_z_deflate
556reportopt "Compiled with compressed trace (bz2) support" $ac_cv_lib_bz2_BZ2_bzDecompressInit
557reportopt "Compiled with compressed trace (lzo write only) support" $ac_cv_lib_lzo2_lzo1x_1_compress
558if test x"$libtrace_dag" = xtrue; then
559        if test "$libtrace_dag_version" = 24; then
560                AC_MSG_NOTICE([Compiled with DAG live capture support: 2.4])
561        elif test "$libtrace_dag_version" = 30; then
562                AC_MSG_NOTICE([Compiled with DAG live capture support: 3.0])
563        else
564                AC_MSG_NOTICE([Compiled with DAG live capture support: 2.5])
565        fi     
566else
567        AC_MSG_NOTICE([Compiled with DAG live capture support: No])
568fi
569reportopt "Compiled with LLVM BPF JIT support" $JIT
570reportopt "Building man pages/documentation" $libtrace_doxygen
571reportopt "Building tracetop (requires libncurses)" $have_ncurses
572
573# Report any errors relating to missing bison, flex, etc.
574echo
575ac_cv_errcount=0;
576if test -z "$YACC"; then
577        AC_MSG_WARN(bison or yacc not found. Please install bison before continuing)
578        ac_cv_errcount=$((ac_cv_errcount + 1))
579fi
580
581if test -z "$LEXLIB"; then
582        AC_MSG_WARN(flex or lex not found. Please install flex before continuing)
583        ac_cv_errcount=$((ac_cv_errcount + 1))
584fi
585
586if test $ac_cv_errcount -gt 0; then
587        AC_MSG_ERROR(Critical packages are missing and compilation will fail. Please install the packages listed above and rerun ./configure)
588fi
589
Note: See TracBrowser for help on using the repository browser.