dynamically-linked libpcap should have been linked with them (if there
are any of them), so it shouldn't be necessary for a program or library
to explicitly link with them if it links with libpcap.
Add a -static flag that includes DEPLIBS, as, on most if not all
platforms, static libraries can't be linked with dynamic libraries, so
programs would have to link with libraries on which libpcap depends if
it links statically with libpcap.
If both --cflags and --libs are given, print both sets of flags, on the
same line (as pkg-config does).
.\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
.\"
.\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
.\"
-.TH PCAP-CONFIG 1 "23 September 2008"
+.TH PCAP-CONFIG 1 "26 March 2009"
.SH NAME
pcap-config \- write libpcap compiler and linker flags to standard output
.SH SYNOPSIS
.na
.B pcap-config
[
.SH NAME
pcap-config \- write libpcap compiler and linker flags to standard output
.SH SYNOPSIS
.na
.B pcap-config
[
.B \-\-cflags | \-\-libs
]
.ad
.B \-\-cflags | \-\-libs
]
.ad
linker required to link with libpcap, including
.B \-l
flags for libraries required by libpcap.
linker required to link with libpcap, including
.B \-l
flags for libraries required by libpcap.
+.LP
+By default, it writes flags appropriate for compiling with a
+dynamically-linked version of libpcap; the
+.B \-\-static
+flag causes it to write flags appropriate for compiling with a
+statically-linked version of libpcap.
.SH "SEE ALSO"
pcap(3PCAP)
.SH "SEE ALSO"
pcap(3PCAP)
# Script to give the appropriate compiler flags and linker flags
# to use when building code that uses libpcap.
#
# Script to give the appropriate compiler flags and linker flags
# to use when building code that uses libpcap.
#
+static=0
+show_cflags=0
+show_libs=0
+while [ "$#" != 0 ]
+do
+ case "$1" in
---cflags)
- echo "-I @includedir@"
- ;;
+ --static)
+ static=1
+ ;;
---libs)
- echo "-L @libdir@ -lpcap @DEPLIBS@"
- ;;
-esac
+ --cflags)
+ show_cflags=1
+ ;;
+
+ --libs)
+ show_libs=1
+ ;;
+ esac
+ shift
+done
+if [ "$static" = 1 ]
+then
+ #
+ # Include DEPLIBS so that the flags include libraries containing
+ # routines that libpcap uses.
+ #
+ if [ "$show_cflags" = 1 -a "$show_libs" = 1 ]
+ then
+ echo "-I @includedir@ -L @libdir@ -lpcap @DEPLIBS@"
+ elif [ "$show_cflags" = 1 ]
+ then
+ echo "-I @includedir@"
+ elif [ "$show_libs" = 1 ]
+ then
+ echo "-L @libdir@ -lpcap @DEPLIBS@"
+ fi
+else
+ #
+ # Omit DEPLIBS - libpcap is assumed to be linked with those
+ # libraries, so there's no need to do so explicitly.
+ #
+ if [ "$show_cflags" = 1 -a "$show_libs" = 1 ]
+ then
+ echo "-I @includedir@ -L @libdir@ -lpcap"
+ elif [ "$show_cflags" = 1 ]
+ then
+ echo "-I @includedir@"
+ elif [ "$show_libs" = 1 ]
+ then
+ echo "-L @libdir@ -lpcap"
+ fi
+fi