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# 11prefix="@prefix@" 12exec_prefix="@exec_prefix@" 13includedir="@includedir@" 14libdir="@libdir@" 15LIBS="@LIBS@" 16LIBS_STATIC="@LIBS_STATIC@" 17VERSION="@PACKAGE_VERSION@" 18 19static=0 20static_pcap_only=0 21show_cflags=0 22show_libs=0 23show_additional_libs=0 24while [ "$#" != 0 ] 25do 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 65done 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# 77if [ "$prefix" != "/usr" ] 78then 79 LPATH=-L$libdir 80fi 81if [ "$static" = 1 ] 82then 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 107elif [ "$static_pcap_only" = 1 ] 108then 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 134else 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 158fi 159