]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/libpcap/pcap-config.in
Notable upstream pull request merges:
[FreeBSD/FreeBSD.git] / contrib / libpcap / pcap-config.in
1 #! /bin/sh
2
3 #
4 # Script to give the appropriate compiler flags and linker flags
5 # to use when building code that uses libpcap.
6 #
7 # These variables come from the configure script, so includedir and
8 # libdir may be defined in terms of prefix and exec_prefix, so the
9 # latter must be defined as well.
10 #
11 prefix="@prefix@"
12 exec_prefix="@exec_prefix@"
13 includedir="@includedir@"
14 libdir="@libdir@"
15 LIBS="@LIBS@"
16 LIBS_STATIC="@LIBS_STATIC@"
17 VERSION="@PACKAGE_VERSION@"
18
19 static=0
20 static_pcap_only=0
21 show_cflags=0
22 show_libs=0
23 show_additional_libs=0
24 while [ "$#" != 0 ]
25 do
26         case "$1" in
27
28         --static)
29                 static=1
30                 ;;
31
32         --static-pcap-only)
33                 static_pcap_only=1
34                 ;;
35
36         --cflags)
37                 show_cflags=1
38                 ;;
39
40         --libs)
41                 show_libs=1
42                 ;;
43
44         --additional-libs)
45                 show_additional_libs=1
46                 ;;
47
48         -h|--help)
49                 echo "Usage: pcap-config [ --help ] [--version] [ --static | --static-pcap-only ] [ --libs | --additional-libs ]"
50                 exit 0
51                 ;;
52
53         --version)
54                 echo "$VERSION"
55                 exit 0
56                 ;;
57
58         *)
59                 echo "pcap-config: Invalid command-line option $1 specified" 1>&2
60                 echo "Usage: pcap-config [ --help ] [ --static | --static-pcap-only ] [ --libs | --additional-libs ]" 1>&2
61                 exit 1
62                 ;;
63         esac
64         shift
65 done
66
67 #
68 # If we aren't installing in /usr, then provide a -L flag to let build
69 # processes find our library.
70 #
71 # (We must check $prefix, as $libdir isn't necessarily /usr/lib in this
72 # case - for example, Linux distributions for 64-bit platforms that
73 # also provide support for binaries for a 32-bit version of the
74 # platform may put the 64-bit libraries, the 32-bit libraries, or both
75 # in directories other than /usr/lib.)
76 #
77 if [ "$prefix" != "/usr" ]
78 then
79         LPATH=-L$libdir
80 fi
81 if [ "$static" = 1 ]
82 then
83         #
84         # Include LIBS_STATIC so that the flags include libraries
85         # containing routines that libpcap uses, and libraries
86         # containing routines those libraries use, etc., so that a
87         # completely statically linked program - i.e., linked only with
88         # static libraries - will be linked with all necessary
89         # libraries.
90         #
91         if [ "$show_cflags" = 1 -a "$show_libs" = 1 ]
92         then
93                 echo "-I$includedir $LPATH -l@PACKAGE_NAME@ $LIBS_STATIC"
94         elif [ "$show_cflags" = 1 -a "$show_additional_libs" = 1 ]
95         then
96                 echo "-I$includedir $LPATH $LIBS_STATIC"
97         elif [ "$show_cflags" = 1 ]
98         then
99                 echo "-I$includedir"
100         elif [ "$show_libs" = 1 ]
101         then
102                 echo "$LPATH -l@PACKAGE_NAME@ $LIBS_STATIC"
103         elif [ "$show_additional_libs" = 1 ]
104         then
105                 echo "$LIBS_STATIC"
106         fi
107 elif [ "$static_pcap_only" = 1 ]
108 then
109         #
110         # Include LIBS so that the flags include libraries
111         # containing routines that libpcap uses, but not the libraries
112         # on which libpcap depends, so that an otherwise
113         # dynamically-linked program, linked statically only with
114         # libpcap - i.e., linked with a static libpcap and dynamic
115         # versions of other libraries - will be linked with all
116         # necessary libraries.
117         #
118         if [ "$show_cflags" = 1 -a "$show_libs" = 1 ]
119         then
120                 echo "-I$includedir $LPATH -l@PACKAGE_NAME@ $LIBS"
121         elif [ "$show_cflags" = 1 -a "$show_additional_libs" = 1 ]
122         then
123                 echo "-I$includedir $LPATH $LIBS"
124         elif [ "$show_cflags" = 1 ]
125         then
126                 echo "-I$includedir"
127         elif [ "$show_libs" = 1 ]
128         then
129                 echo "$LPATH -l@PACKAGE_NAME@ $LIBS"
130         elif [ "$show_additional_libs" = 1 ]
131         then
132                 echo "$LIBS"
133         fi
134 else
135         #
136         # Don't included LIBS or LIBS_STATIC, for building a program
137         # with a dynamic libpcap; libpcap, being a dynamic library, will
138         # cause all of its dynamic-library dependencies to be pulled in
139         # at run time.
140         #
141         # Do, however, include RPATH, to make sure that, on platforms
142         # that require this, programs built with this version of
143         # libpcap can find it at run time.
144         #
145         if [ "$show_cflags" = 1 -a "$show_libs" = 1 ]
146         then
147                 echo "-I$includedir $LPATH @RPATH@ -l@PACKAGE_NAME@"
148         elif [ "$show_cflags" = 1 -a "$show_additional_libs" = 1 ]
149         then
150                 echo "-I$includedir"
151         elif [ "$show_cflags" = 1 ]
152         then
153                 echo "-I$includedir"
154         elif [ "$show_libs" = 1 ]
155         then
156                 echo "$LPATH @RPATH@ -l@PACKAGE_NAME@"
157         fi
158 fi