3 # This script runs one build with setup environment variables: BUILD_LIBPCAP,
4 # REMOTE, CC, CMAKE, CRYPTO and SMB.
6 : "${BUILD_LIBPCAP:=no}"
14 # Install directory prefix
15 if [ -z "$PREFIX" ]; then
16 # shellcheck disable=SC2006
17 PREFIX
=`mktempdir tcpdump_build`
18 echo "PREFIX set to '$PREFIX'"
21 TCPDUMP_BIN
="$PREFIX/bin/tcpdump"
25 if [ "$CMAKE" = no
]; then
26 if [ "$BUILD_LIBPCAP" = yes ]; then
27 echo "Using PKG_CONFIG_PATH=$PKG_CONFIG_PATH"
28 run_after_echo .
/configure
--with-crypto="$CRYPTO" \
29 --enable-smb="$SMB" --prefix="$PREFIX"
30 LD_LIBRARY_PATH
="$PREFIX/lib"
31 export LD_LIBRARY_PATH
33 run_after_echo .
/configure
--with-crypto="$CRYPTO" \
34 --enable-smb="$SMB" --prefix="$PREFIX" --disable-local-libpcap
37 run_after_echo
rm -rf build
38 run_after_echo mkdir build
39 run_after_echo
cd build
40 if [ "$BUILD_LIBPCAP" = yes ]; then
41 run_after_echo cmake
-DWITH_CRYPTO="$CRYPTO" -DENABLE_SMB="$SMB" \
42 -DCMAKE_INSTALL_PREFIX="$PREFIX" -DCMAKE_PREFIX_PATH="$PREFIX" ..
43 LD_LIBRARY_PATH
="$PREFIX/lib"
44 export LD_LIBRARY_PATH
46 run_after_echo cmake
-DWITH_CRYPTO="$CRYPTO" -DENABLE_SMB="$SMB" \
47 -DCMAKE_INSTALL_PREFIX="$PREFIX" ..
50 run_after_echo
make -s clean
51 # The norm is to compile without any warnings, but tcpdump builds on some OSes
52 # are not warning-free for one or another reason. If you manage to fix one of
53 # these cases, please remember to raise the bar here so if the warnings appear
54 # again, it will trigger an error.
55 # shellcheck disable=SC2006
58 CFLAGS
=`cc_werr_cflags`
61 run_after_echo
make -s ${CFLAGS:+CFLAGS="$CFLAGS"}
62 run_after_echo
make install
63 print_so_deps
"$TCPDUMP_BIN"
64 run_after_echo
"$TCPDUMP_BIN" -h
65 run_after_echo
"$TCPDUMP_BIN" -D
66 if [ "$CIRRUS_CI" = true
]; then
68 ${LD_LIBRARY_PATH:+LD_LIBRARY_PATH="$LD_LIBRARY_PATH"} \
71 ${LD_LIBRARY_PATH:+LD_LIBRARY_PATH="$LD_LIBRARY_PATH"} \
74 if [ "$BUILD_LIBPCAP" = yes ]; then
75 run_after_echo
make check
77 if [ "$CMAKE" = no
]; then
78 run_after_echo
make releasetar
80 if [ "$CIRRUS_CI" = true
]; then
82 ${LD_LIBRARY_PATH:+LD_LIBRARY_PATH="$LD_LIBRARY_PATH"} \
83 "$TCPDUMP_BIN" -#n -c 10
86 if [ "$DELETE_PREFIX" = yes ]; then
87 run_after_echo
rm -rf "$PREFIX"
89 # vi: set tabstop=4 softtabstop=0 expandtab shiftwidth=4 smarttab autoindent :