summaryrefslogtreecommitdiff
path: root/configure
AgeCommit message (Collapse)AuthorFilesLines
2013-07-12configure: redirect all compile output to our local config.logDaniel Borkmann1-24/+24
On errors in the configuration, redirect everything to config.log, and not some parts to config.log and some others to $TMPDIR/config.log. This will give a nice summary of what goes wrong to the user. Also, in case everything looks fine, the config.log file will be created, but with size 0 and no warning is thrown. So looks good. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-12configure: do not use bash's expr matchDaniel Borkmann1-6/+6
It looks like there are some incompatibilities in bash's expr match among different versions. Using set -x, gives us on bash 4.2.45: + TOOLS=' netsniff-ng trafgen ifpps bpfc' + for tool in '$_tools' + case "$tool" in ++ expr match '"curvetun' 'astraceroute"' '$1' expr: syntax error + m= + '[' '' == 0 ']' So rather avoid using "expr match" and switch to "case" for substring matching, which should be more portable. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-12configure: fix libnetfilter_conntrack dependency removalDaniel Borkmann1-1/+1
tools_remove "libnetfilter-conntrack" makes no sense, so replace it with the actual correct tools_remove "flowtop". Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11configure: Redirect pkg-config errors to log fileTobias Klauser1-6/+13
If pkg-config doesn't find a library it prints an error to stderr. Instead of directly printing them as part of the configure output, redirect them to config.log and let the user know about it in case there are any messages. Suggested-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-07-11configure, netsniff-ng: if no libgeopip, do not link against libzDaniel Borkmann1-1/+16
In netsniff-ng, we only use libz in combination with libgeoip, so if we lack either one of them, do not link against the other either. This would be a waste otherwise. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-11configure, netsniff-ng: make netsniff-ng's geoip dependency optionalDaniel Borkmann1-1/+10
Geoip dependency should not be mandatory as it's not a core part of netsniff-ng. This also facilitates compilation on platforms where geoip is not available. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-10configure: check for flex and bisonDaniel Borkmann1-0/+30
flex and bison are needed for bpfc and trafgen, so check for their existance. If they are not present, lets remove those two from the build in case users do not want it. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-09configure: fix multiple issues in build configurationDaniel Borkmann1-1/+66
This patch is a bundle of multiple fixes. 1) Fix compilation of astraceroute when HAVE_LIBPCAP=1: astraceroute doesn't need libpcap, so add an additional guard/define to bpf.h and bpf_comp.c and netsniff-ng.c. Also since we generate a config.h file, we do not need to have this additional compile flag anymore. 2) Fix tstamping.{h,c} to use the configure script instead of the Makefile. For doing this, also fix the object inclusion in netsniff-ng/Makefile. Last but not least, rename __WITH_... into HAVE_... as this is more clean. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-09configure: let configure script generate config.h fileDaniel Borkmann1-0/+20
While we're at it, also let configure script generate the config.h file. The generation of it is currently quite static, but that could change in future. While at it, we also generate a GITVERSION define, that we will use for ``--version'' output of the individual tools for being able to provide better support since we can see what concrete commit people are using when building from Git repo. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-08configure: when we have all deps rather tell "all tools will be built"Daniel Borkmann1-2/+7
In case we have all dependencies, tell the user that all tools will be built instead of listing the tools. Only list them when we do not have all deps. This should facilitate usability a bit. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-08configure: netsniff-ng: libpcap is not a hard dependencyDaniel Borkmann1-1/+2
netsniff-ng uses libpcap only for high-level filter compiling. Thus, let netsniff-ng not "hard-depend" on libpcap, but rather disable filter compiling in case the user does not want to install libpcap. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-08configure: make: misc: update header commentDaniel Borkmann1-0/+4
Add a header comment to the configure script with Tobias as the primary author, and also mention Tobias as an author in the Makefile itself for his changes. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-08configure: test also tpacket flags e.g. used in TX_RINGDaniel Borkmann1-6/+12
Also try compile-testing TPACKET_V2/3 flags that are used in some particular versions, especially in TX_RING. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-08configure: two fixes on dependenciesDaniel Borkmann1-6/+35
1) netsniff-ng is also dependant on libnl (e.g. for raw 802.11 devices) 2) Only netsniff-ng depends on tpacket_v3, trafgen on tpacket_v2. Thus, add checks for both. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-08configure, Makefile: Conditionally build toolsTobias Klauser1-11/+101
Instead of halting out the entire build build if one dependency is not available, only exclude the tools that link against it from building. The configure script will now print a list of all tools that will be built -- and in case some libaries are not available -- that will not be built. Also add checks for libcli and libnet which mausezahn depends on. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-07-08configure: Add check for libpcapTobias Klauser1-0/+24
libpcap is used to compile tcpdump-like filters in netsniff-ng, so check for it in configure. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-07-08configure: Call a function from libgeoip in check_libgeoip()Tobias Klauser1-1/+3
In order to cause the linker to get called and thus the check for the presence of the library (not just the headers) to be performed, call GeoIP_new(). Also pass the proper linker flag to $CC. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-07-08configure: Call a function from zlib in check_zlib()Tobias Klauser1-1/+3
In order to cause the linker to get called and thus the check for the presence of the library (not just the headers) to be performed, call gzopen(). Also pass the proper linker flags to $CC. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-07-08configure: Fix check for libnetfilter-conntrackTobias Klauser1-2/+4
Correct the type to struct nf_conntrack and call a function to prevent the variable from getting optimized away by the compiler and cause a linker call. Also add the proper linker flag. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-07-08config: check for liburcuDaniel Borkmann1-0/+24
Add a configure script extension that checks for liburcu as it is currently needed by flowtop. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-08config: check for libzDaniel Borkmann1-2/+23
Add a configure extension to check for libz that is needed for the geoip updater. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-08config: execute check_libnf_ct function to check for conntrackDaniel Borkmann1-0/+1
The check_libnf_ct function is implemented in configure, but it was not executed currently. So from now on invoke it and check for netfilter's conntrack library. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-08config: check for available databasesDaniel Borkmann1-0/+8
We need to have: GEOIP_CITY_EDITION_REV1, GEOIP_CITY_EDITION_REV1_V6, GEOIP_COUNTRY_EDITION, GEOIP_COUNTRY_EDITION_V6, GEOIP_ASNUM_EDITION, GEOIP_ASNUM_EDITION_V6. Not all might be available on older versions. Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
2013-07-05configure: Don't redirect output of pkg-configTobias Klauser1-8/+8
This will of course also lead to the flags getting redirected. Silly me. While at it also remove the pointless warning flags to cc. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-07-05configure, Makefile: Fail in Makefile if Config is not completeTobias Klauser1-0/+2
Define CONFIG_OK in the Config file generated in the configure script and check for it being defined in the Makefile before attempting anything else. This way we can better inform the user that she needs to run ./configure first. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-07-05configure: Silence pkg-config callsTobias Klauser1-5/+9
Redirect the output of pkg-config to /dev/null so it doesn't clutter the output of the configure script. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-06-28configure: Improve check for libnl/libnl-genlTobias Klauser1-2/+16
Actually call some functions in the check program so they will need to get linked. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-06-28configure: Check for presence of pkg-config and ccache binariesTobias Klauser1-0/+34
Check whether pkg-config and ccache are in the PATH. A missing pkg-config will cause the configure script to abort with an error. The presence of ccache is written to Config and used by the Makefile to conditionally make use of it. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-06-28configure: Add linker flags for ncursestest to correct positionTobias Klauser1-1/+1
Newer versions of GCC expect the linker flags after the object code, so move the ouput of 'pkg-config --libs ncurses' there to not make the test fail even if ncurses is present on the system. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-06-24configure: Check for tpacket, ncurses, libgeoipTobias Klauser1-1/+100
Check for some more libraries we make use of in the configure step. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
2013-06-24configure: Add configure script used to detect NaClTobias Klauser1-0/+98
In order to use an installation of NaCl provided by the distro or by previous manual installation, provide a configure script which checks for nacl's presence. Also check of libnl-genl headers. More checks of the other libraries depended on by netsniff-ng as well as checks for necessary kernel headers should be added here too. The configure script is preliminary and has not yet extensively been tested on multiple systems. The concept was inspired by the configure script of trinity and iproute2. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>