2 # This isn't a configure generated by autoconf!
10 TMPDIR
=$
(mktemp
-d config.XXXXXX
)
11 trap 'status=$?; rm -rf $TMPDIR; exit $status' EXIT HUP INT QUIT TERM
15 echo -n "[*] Checking pkg-config ... "
17 if [ "x$(which pkg-config)" == "x" ] ; then
27 echo -n "[*] Checking ccache ... "
29 if [ "x$(which ccache)" == "x" ] ; then
31 echo "CONFIG_CCACHE=" >> Config
34 echo "CONFIG_CCACHE=ccache" >> Config
40 echo -n "[*] Checking nacl ... "
42 cat > $TMPDIR/nacltest.c
<< EOF
43 #include "crypto_hash_sha512.h"
44 #include "crypto_verify_32.h"
45 #include "crypto_hash_sha512.h"
46 #include "crypto_box_curve25519xsalsa20poly1305.h"
47 #include "crypto_scalarmult_curve25519.h"
48 #include "crypto_auth_hmacsha512256.h"
53 if [ -z $NACL_INC_DIR ] ; then
54 NACL_INC_DIR
="/usr/include/nacl"
57 if [ -z $NACL_LIB_DIR ] ; then
58 NACL_LIB_DIR
="/usr/lib"
61 LDFLAGS
="-L $NACL_LIB_DIR"
62 CFLAGS
="-I $NACL_INC_DIR"
64 $CC $CFLAGS $LDFLAGS -o $TMPDIR/nacltest
$TMPDIR/nacltest.c
>> $TMPDIR/config.log
2>&1
65 if [ ! -x $TMPDIR/nacltest
] ; then
70 echo "CONFIG_NACL_INC_DIR:=$NACL_INC_DIR" >> Config
71 echo "CONFIG_NACL_LIB_DIR:=$NACL_LIB_DIR" >> Config
77 echo -n "[*] Checking libnl ... "
79 cat > $TMPDIR/libnltest.c
<< EOF
80 #include <libnl3/netlink/genl/genl.h>
81 #include <libnl3/netlink/genl/family.h>
82 #include <libnl3/netlink/genl/ctrl.h>
83 #include <libnl3/netlink/msg.h>
84 #include <libnl3/netlink/attr.h>
85 #include <libnl3/netlink/version.h>
87 #if LIBNL_VER_NUM < LIBNL_VER(3,0)
88 # error incompatible libnl version
93 struct nl_sock *sock = nl_socket_alloc();
94 struct nl_cache *nl_cache;
95 int ret = genl_connect(sock);
97 ret = genl_ctrl_alloc_cache(sock, &nl_cache);
102 $
(pkg-config
--cflags libnl-3.0
) \
103 $
(pkg-config
--cflags libnl-genl-3.0
) \
104 -o $TMPDIR/libnltest \
105 $TMPDIR/libnltest.c \
106 $
(pkg-config
--libs libnl-3.0
) \
107 $
(pkg-config
--libs libnl-genl-3.0
) \
108 >> $TMPDIR/config.log
2>&1
109 if [ ! -x $TMPDIR/libnltest
] ; then
119 echo -n "[*] Checking tpacket ... "
121 cat > $TMPDIR/tpackettest.c
<< EOF
123 #include <linux/if_packet.h>
125 struct tpacket3_hdr *hdr;
129 printf("%d\n", hdr->tp_status);
133 $CC -o $TMPDIR/tpackettest
$TMPDIR/tpackettest.c
>> $TMPDIR/config.log
2>&1
134 if [ ! -x $TMPDIR/tpackettest
] ; then
144 echo -n "[*] Checking ncurses ... "
146 cat > $TMPDIR/ncursestest.c
<< EOF
151 WINDOW *screen = initscr();
156 $
(pkg-config
--cflags ncurses
) \
157 -o $TMPDIR/ncursestest
$TMPDIR/ncursestest.c \
158 $
(pkg-config
--libs ncurses
) \
159 >> $TMPDIR/config.log
2>&1
160 if [ ! -x $TMPDIR/ncursestest
] ; then
170 echo -n "[*] Checking libGeoIP ... "
172 cat > $TMPDIR/geoiptest.c
<< EOF
174 #include <GeoIPCity.h>
180 GEOIP_CITY_EDITION_REV1,
181 GEOIP_CITY_EDITION_REV1_V6,
182 GEOIP_COUNTRY_EDITION,
183 GEOIP_COUNTRY_EDITION_V6,
185 GEOIP_ASNUM_EDITION_V6,
190 $CC -o $TMPDIR/geoiptest
$TMPDIR/geoiptest.c
>> $TMPDIR/config.log
2>&1
191 if [ ! -x $TMPDIR/geoiptest
] ; then
201 echo -n "[*] Checking libnetfilter-conntrack ... "
203 cat > $TMPDIR/nfcttest.c
<< EOF
204 #include <libnetfilter_conntrack/libnetfilter_conntrack.h>
205 #include <libnetfilter_conntrack/libnetfilter_conntrack_tcp.h>
206 #include <libnetfilter_conntrack/libnetfilter_conntrack_dccp.h>
207 #include <libnetfilter_conntrack/libnetfilter_conntrack_sctp.h>
211 struct nf_conntrack *ct;
213 const uint32_t id = nfct_get_attr_u32(ct, ATTR_ID);
217 $CC -o $TMPDIR/nfcttest
$TMPDIR/nfcttest.c
-lnetfilter_conntrack >> $TMPDIR/config.log
2>&1
218 if [ ! -x $TMPDIR/nfcttest
] ; then
228 echo -n "[*] Checking libz ... "
230 cat > $TMPDIR/ztest.c
<< EOF
239 $CC -o $TMPDIR/ztest
$TMPDIR/ztest.c
>> $TMPDIR/config.log
2>&1
240 if [ ! -x $TMPDIR/ztest
] ; then
250 echo -n "[*] Checking liburcu ... "
252 cat > $TMPDIR/urcutest.c
<< EOF
262 $CC -o $TMPDIR/urcutest
$TMPDIR/urcutest.c
-lurcu >> $TMPDIR/config.log
2>&1
263 if [ ! -x $TMPDIR/urcutest
] ; then
271 echo "# This file is autogenerated by the configure script" > Config
274 if [ "$MISSING_PKG_CONFIG" == "1" ] ; then
275 echo "[!] pkg-config is not installed on your system or not in the PATH"
289 if [ "$MISSING_DEFS" == "1" ] ; then
290 echo "[!] Some libraries or header definitions are missing or too old."
291 echo " Please refer to the INSTALL file for the libraries needed to"
292 echo " build netsniff-ng."
296 if [ "$MISSING_NACL" == "1" ] ; then
297 echo "[!] The NaCl crypto library is currently not present on your"
298 echo " system or could not be found. Either install it from your"
299 echo " distro or build it manually using 'make nacl' and make sure"
300 echo " that the NACL_INC_DIR and NACL_LIB_DIR variables are set"
301 echo " appropriately."
305 echo "CONFIG_OK=1" >> Config