#!/bin/sh # # Copyright (c) 2000 - 2008 Kungliga Tekniska Högskolan # (Royal Institute of Technology, Stockholm, Sweden). # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # 3. Neither the name of the Institute nor the names of its contributors # may be used to endorse or promote products derived from this software # without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # do_all=no do_libs=no do_lib_deps=no do_cflags=no do_usage=no print_prefix=no print_exec_prefix=no library= lib_krb5=no lib_gssapi=no lib_kadm_client=no lib_kadm_server=no lib_kafs=no if test $# -eq 0; then do_usage=yes usage_exit=1 fi for i in $*; do case $i in --help) do_usage=yes usage_exit=0 ;; --all) do_all=yes ;; --vendor) echo "Heimdal" exit 0; ;; --version) echo "@PACKAGE@ @VERSION@" exit 0 ;; --prefix=*) prefix=`echo $i | sed 's/^--prefix=//'` ;; --prefix) print_prefix=yes ;; --exec-prefix=*) exec_prefix=`echo $i | sed 's/^--exec-prefix=//'` ;; --exec-prefix) print_exec_prefix=yes ;; --libs) do_libs=yes ;; --deps) do_lib_deps=yes ;; --cflags) do_cflags=yes ;; krb5) library=krb5 lib_krb5=yes ;; gssapi) library=gssapi lib_gssapi=yes ;; kadm-client) library=kadm-client lib_kadm_client=yes ;; kadm-server) library=kadm-server lib_kadm_server=yes ;; kafs) library=kafs lib_kafs=yes ;; *) echo "unknown option: $i" exit 1 ;; esac done if test "$do_usage" = "yes"; then echo "usage: $0 [options] [libraries]" echo "options: [--help] show this message" echo " [--all] display version, vendor, etc." echo " [--version] display version information" echo " [--prefix] display the prefix of Kerberos" echo " [--exec-prefix] display the exec_prefix of Kerberos" echo " [--cflags] display the CFLAGS required" echo " [--libs] display the libraries required to link" echo " [--deps] display the dependent libs required" echo " for static linking" echo echo "libraries: krb5 Kerberos 5 applications" echo " gssapi GSSAPI applications" echo " kadm-client libkadm5 client" echo " kadm-server libkadm5 server" echo " kafs kafs" exit $usage_exit fi if test X"$library" = X; then lib_krb5=yes fi if test "$prefix" = ""; then prefix=@prefix@ fi if test "$exec_prefix" = ""; then exec_prefix=@exec_prefix@ fi libdir=@libdir@ includedir=@includedir@ if test "$do_all" = "yes"; then echo "Version: @PACKAGE@ @VERSION@" echo "Vendor: Heimdal" echo "Prefix: $prefix" echo "Exec_prefix: $exec_prefix" exit 0 fi if test "$print_prefix" = "yes"; then echo $prefix exit 0 fi if test "$print_exec_prefix" = "yes"; then echo $exec_prefix exit 0 fi # The following rpath_flag setting code is distilled from MIT Kerberos' # src/config/shlib.conf. Some of this seems ancient and likely to be # wrong in some cases, but right for all the cases we probably care # about. Also, this will very likely be wrong depending on how the # caller will be doing link-edits (with what compiler-driver or # link-editor)! There's no fixing this. # # In principle this doesn't belong here: application should instead use # krb5-config --libdir to get the directory to use for the rpath, then # workout the rpath flags on their own. Of course, there's no --libdir # option... And MIT's krb5-config does include rpath flags. # # Compatibility with MIT is the winning consideration for now. case "@CANONICAL_HOST@" in alpha*-dec-osf*) rpath_flag='-Wl,-rpath -Wl,';; *-*-hpux*) rpath_flag='-Wl,+b,';; *-*-irix* | mips-*-netbsd*) rpath_flag='-Wl,-rpath -Wl,';; *-*-netbsd* | *-*-openbsd* | *-*-solaris*) rpath_flag='-R';; *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-freebsd*) rpath_flag='-Wl,--enable-new-dtags -Wl,-rpath -Wl,';; *-*-aix*) rpath_flag='-Wl,-blibpath:';; *) rpath_flag=;; esac if test "$do_libs" = "yes"; then deplibs="" if test "$lib_gssapi" = yes; then lib_flags="$lib_flags -lgssapi" deplibs="$deplibs -lheimntlm" if test X"$do_lib_deps" = Xyes; then lib_krb5=yes fi fi if test "$lib_kadm_client" = yes; then lib_flags="$lib_flags -lkadm5clnt" if test X"$do_lib_deps" = Xyes; then lib_krb5=yes fi fi if test "$lib_kadm_server" = yes; then lib_flags="$lib_flags -lkadm5srv" deplibs="$deplibs @LIB_dbopen@" if test X"$do_lib_deps" = Xyes; then lib_krb5=yes fi fi if test "$lib_kafs" = yes; then lib_flags="$lib_flags -lkafs" if test X"$do_lib_deps" = Xyes; then lib_krb5=yes fi fi if test "$lib_krb5" = yes; then lib_flags="$lib_flags -lkrb5" fi deplibs="$deplibs @LIB_pkinit@ -lcom_err" deplibs="$deplibs @LIB_hcrypto_appl@ -lasn1 -lwind -lheimbase -lroken" deplibs="$deplibs @LIB_crypt@ @PTHREAD_LIBADD@ @LIB_dlopen@" deplibs="$deplibs @LIB_door_create@ @LIBS@" if test X"$do_lib_deps" = X"yes"; then lib_flags="$lib_flags $deplibs" fi if test X"$libdir" != X/usr/lib; then lib_flags="-L${libdir} $lib_flags" if test X"$rpath_flag" != X; then lib_flags="${rpath_flag}${libdir} $lib_flags" fi fi echo ${lib_flags} fi if test "$do_cflags" = "yes"; then cflags="" if test X"${includedir}" != X/usr/include; then cflags="-I${includedir} $cflags" fi echo $cflags fi exit 0