1*ee3960cbSCy Schubert#!/bin/sh 2*ee3960cbSCy Schubert 3*ee3960cbSCy Schubert# Copyright 2001, 2002, 2003 by the Massachusetts Institute of Technology. 4*ee3960cbSCy Schubert# All Rights Reserved. 5*ee3960cbSCy Schubert# 6*ee3960cbSCy Schubert# Export of this software from the United States of America may 7*ee3960cbSCy Schubert# require a specific license from the United States Government. 8*ee3960cbSCy Schubert# It is the responsibility of any person or organization contemplating 9*ee3960cbSCy Schubert# export to obtain such a license before exporting. 10*ee3960cbSCy Schubert# 11*ee3960cbSCy Schubert# WITHIN THAT CONSTRAINT, permission to use, copy, modify, and 12*ee3960cbSCy Schubert# distribute this software and its documentation for any purpose and 13*ee3960cbSCy Schubert# without fee is hereby granted, provided that the above copyright 14*ee3960cbSCy Schubert# notice appear in all copies and that both that copyright notice and 15*ee3960cbSCy Schubert# this permission notice appear in supporting documentation, and that 16*ee3960cbSCy Schubert# the name of M.I.T. not be used in advertising or publicity pertaining 17*ee3960cbSCy Schubert# to distribution of the software without specific, written prior 18*ee3960cbSCy Schubert# permission. Furthermore if you modify this software you must label 19*ee3960cbSCy Schubert# your software as modified software and not distribute it in such a 20*ee3960cbSCy Schubert# fashion that it might be confused with the original M.I.T. software. 21*ee3960cbSCy Schubert# M.I.T. makes no representations about the suitability of 22*ee3960cbSCy Schubert# this software for any purpose. It is provided "as is" without express 23*ee3960cbSCy Schubert# or implied warranty. 24*ee3960cbSCy Schubert# 25*ee3960cbSCy Schubert# 26*ee3960cbSCy Schubert 27*ee3960cbSCy Schubert# Configurable parameters set by autoconf 28*ee3960cbSCy Schubert# Disreagard the above. Edit this by hand in the bespoke FreeBSD build. 29*ee3960cbSCy Schubertversion_string="Kerberos 5 release 1.21.3" 30*ee3960cbSCy Schubert 31*ee3960cbSCy Schubertprefix=/usr 32*ee3960cbSCy Schubertexec_prefix=${prefix} 33*ee3960cbSCy Schubertincludedir=${prefix}/include 34*ee3960cbSCy Schubertlibdir=${exec_prefix}/lib 35*ee3960cbSCy SchubertCC_LINK='$(CC) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CFLAGS) $(LDFLAGS)' 36*ee3960cbSCy SchubertKDB5_DB_LIB= 37*ee3960cbSCy SchubertRPATH_FLAG='' 38*ee3960cbSCy SchubertPROG_RPATH_FLAGS='' 39*ee3960cbSCy SchubertPTHREAD_CFLAGS='-pthread' 40*ee3960cbSCy SchubertDL_LIB='' 41*ee3960cbSCy SchubertDEFCCNAME='FILE:/tmp/krb5cc_%{uid}' 42*ee3960cbSCy SchubertDEFKTNAME='FILE:/etc/krb5.keytab' 43*ee3960cbSCy SchubertDEFCKTNAME='FILE:/var/krb5/user/%{euid}/client.keytab' 44*ee3960cbSCy Schubert 45*ee3960cbSCy SchubertLIBS='-lintl -L/usr/local/lib' 46*ee3960cbSCy SchubertGEN_LIB= 47*ee3960cbSCy Schubert 48*ee3960cbSCy Schubert# Defaults for program 49*ee3960cbSCy Schubertlibrary=krb5 50*ee3960cbSCy Schubert 51*ee3960cbSCy Schubert# Some constants 52*ee3960cbSCy Schubertvendor_string="Massachusetts Institute of Technology" 53*ee3960cbSCy Schubert 54*ee3960cbSCy Schubert# Process arguments 55*ee3960cbSCy Schubert# Yes, we are sloppy, library specifications can come before options 56*ee3960cbSCy Schubertwhile test $# != 0; do 57*ee3960cbSCy Schubert case $1 in 58*ee3960cbSCy Schubert --all) 59*ee3960cbSCy Schubert do_all=1 60*ee3960cbSCy Schubert ;; 61*ee3960cbSCy Schubert --cflags) 62*ee3960cbSCy Schubert do_cflags=1 63*ee3960cbSCy Schubert ;; 64*ee3960cbSCy Schubert --defccname) 65*ee3960cbSCy Schubert do_defccname=1 66*ee3960cbSCy Schubert ;; 67*ee3960cbSCy Schubert --defcktname) 68*ee3960cbSCy Schubert do_defcktname=1 69*ee3960cbSCy Schubert ;; 70*ee3960cbSCy Schubert --defktname) 71*ee3960cbSCy Schubert do_defktname=1 72*ee3960cbSCy Schubert ;; 73*ee3960cbSCy Schubert --deps) # historically a no-op 74*ee3960cbSCy Schubert ;; 75*ee3960cbSCy Schubert --exec-prefix) 76*ee3960cbSCy Schubert do_exec_prefix=1 77*ee3960cbSCy Schubert ;; 78*ee3960cbSCy Schubert --help) 79*ee3960cbSCy Schubert do_help=1 80*ee3960cbSCy Schubert ;; 81*ee3960cbSCy Schubert --libs) 82*ee3960cbSCy Schubert do_libs=1 83*ee3960cbSCy Schubert ;; 84*ee3960cbSCy Schubert --prefix) 85*ee3960cbSCy Schubert do_prefix=1 86*ee3960cbSCy Schubert ;; 87*ee3960cbSCy Schubert --vendor) 88*ee3960cbSCy Schubert do_vendor=1 89*ee3960cbSCy Schubert ;; 90*ee3960cbSCy Schubert --version) 91*ee3960cbSCy Schubert do_version=1 92*ee3960cbSCy Schubert ;; 93*ee3960cbSCy Schubert krb5) 94*ee3960cbSCy Schubert library=krb5 95*ee3960cbSCy Schubert ;; 96*ee3960cbSCy Schubert gssapi) 97*ee3960cbSCy Schubert library=gssapi 98*ee3960cbSCy Schubert ;; 99*ee3960cbSCy Schubert gssrpc) 100*ee3960cbSCy Schubert library=gssrpc 101*ee3960cbSCy Schubert ;; 102*ee3960cbSCy Schubert kadm-client) 103*ee3960cbSCy Schubert library=kadm_client 104*ee3960cbSCy Schubert ;; 105*ee3960cbSCy Schubert kadm-server) 106*ee3960cbSCy Schubert library=kadm_server 107*ee3960cbSCy Schubert ;; 108*ee3960cbSCy Schubert kdb) 109*ee3960cbSCy Schubert library=kdb 110*ee3960cbSCy Schubert ;; 111*ee3960cbSCy Schubert *) 112*ee3960cbSCy Schubert echo "$0: Unknown option \`$1' -- use \`--help' for usage" 113*ee3960cbSCy Schubert exit 1 114*ee3960cbSCy Schubert esac 115*ee3960cbSCy Schubert shift 116*ee3960cbSCy Schubertdone 117*ee3960cbSCy Schubert 118*ee3960cbSCy Schubert# If required options - provide help 119*ee3960cbSCy Schubertif test -z "$do_all" -a -z "$do_version" -a -z "$do_vendor" -a \ 120*ee3960cbSCy Schubert -z "$do_prefix" -a -z "$do_vendor" -a -z "$do_exec_prefix" -a \ 121*ee3960cbSCy Schubert -z "$do_defccname" -a -z "$do_defktname" -a -z "$do_defcktname" -a \ 122*ee3960cbSCy Schubert -z "$do_cflags" -a -z "$do_libs"; then 123*ee3960cbSCy Schubert do_help=1 124*ee3960cbSCy Schubertfi 125*ee3960cbSCy Schubert 126*ee3960cbSCy Schubert 127*ee3960cbSCy Schubertif test -n "$do_help"; then 128*ee3960cbSCy Schubert echo "Usage: $0 [OPTIONS] [LIBRARIES]" 129*ee3960cbSCy Schubert echo "Options:" 130*ee3960cbSCy Schubert echo " [--help] Help" 131*ee3960cbSCy Schubert echo " [--all] Display version, vendor, and various values" 132*ee3960cbSCy Schubert echo " [--version] Version information" 133*ee3960cbSCy Schubert echo " [--vendor] Vendor information" 134*ee3960cbSCy Schubert echo " [--prefix] Kerberos installed prefix" 135*ee3960cbSCy Schubert echo " [--exec-prefix] Kerberos installed exec_prefix" 136*ee3960cbSCy Schubert echo " [--defccname] Show built-in default ccache name" 137*ee3960cbSCy Schubert echo " [--defktname] Show built-in default keytab name" 138*ee3960cbSCy Schubert echo " [--defcktname] Show built-in default client keytab name" 139*ee3960cbSCy Schubert echo " [--cflags] Compile time CFLAGS" 140*ee3960cbSCy Schubert echo " [--libs] List libraries required to link [LIBRARIES]" 141*ee3960cbSCy Schubert echo "Libraries:" 142*ee3960cbSCy Schubert echo " krb5 Kerberos 5 application" 143*ee3960cbSCy Schubert echo " gssapi GSSAPI application with Kerberos 5 bindings" 144*ee3960cbSCy Schubert echo " gssrpc GSSAPI RPC application" 145*ee3960cbSCy Schubert echo " kadm-client Kadmin client" 146*ee3960cbSCy Schubert echo " kadm-server Kadmin server" 147*ee3960cbSCy Schubert echo " kdb Application that accesses the kerberos database" 148*ee3960cbSCy Schubert exit 0 149*ee3960cbSCy Schubertfi 150*ee3960cbSCy Schubert 151*ee3960cbSCy Schubertif test -n "$do_all"; then 152*ee3960cbSCy Schubert all_exit= 153*ee3960cbSCy Schubert do_version=1 154*ee3960cbSCy Schubert do_prefix=1 155*ee3960cbSCy Schubert do_exec_prefix=1 156*ee3960cbSCy Schubert do_vendor=1 157*ee3960cbSCy Schubert title_version="Version: " 158*ee3960cbSCy Schubert title_prefix="Prefix: " 159*ee3960cbSCy Schubert title_exec_prefix="Exec_prefix: " 160*ee3960cbSCy Schubert title_vendor="Vendor: " 161*ee3960cbSCy Schubertelse 162*ee3960cbSCy Schubert all_exit="exit 0" 163*ee3960cbSCy Schubertfi 164*ee3960cbSCy Schubert 165*ee3960cbSCy Schubertif test -n "$do_version"; then 166*ee3960cbSCy Schubert echo "$title_version$version_string" 167*ee3960cbSCy Schubert $all_exit 168*ee3960cbSCy Schubertfi 169*ee3960cbSCy Schubert 170*ee3960cbSCy Schubertif test -n "$do_vendor"; then 171*ee3960cbSCy Schubert echo "$title_vendor$vendor_string" 172*ee3960cbSCy Schubert $all_exit 173*ee3960cbSCy Schubertfi 174*ee3960cbSCy Schubert 175*ee3960cbSCy Schubertif test -n "$do_prefix"; then 176*ee3960cbSCy Schubert echo "$title_prefix$prefix" 177*ee3960cbSCy Schubert $all_exit 178*ee3960cbSCy Schubertfi 179*ee3960cbSCy Schubert 180*ee3960cbSCy Schubertif test -n "$do_exec_prefix"; then 181*ee3960cbSCy Schubert echo "$title_exec_prefix$exec_prefix" 182*ee3960cbSCy Schubert $all_exit 183*ee3960cbSCy Schubertfi 184*ee3960cbSCy Schubert 185*ee3960cbSCy Schubertif test -n "$do_defccname"; then 186*ee3960cbSCy Schubert echo "$DEFCCNAME" 187*ee3960cbSCy Schubert $all_exit 188*ee3960cbSCy Schubertfi 189*ee3960cbSCy Schubert 190*ee3960cbSCy Schubertif test -n "$do_defktname"; then 191*ee3960cbSCy Schubert echo "$DEFKTNAME" 192*ee3960cbSCy Schubert $all_exit 193*ee3960cbSCy Schubertfi 194*ee3960cbSCy Schubert 195*ee3960cbSCy Schubertif test -n "$do_defcktname"; then 196*ee3960cbSCy Schubert echo "$DEFCKTNAME" 197*ee3960cbSCy Schubert $all_exit 198*ee3960cbSCy Schubertfi 199*ee3960cbSCy Schubert 200*ee3960cbSCy Schubertif test -n "$do_cflags"; then 201*ee3960cbSCy Schubert if test x"$includedir" != x"/usr/include" ; then 202*ee3960cbSCy Schubert echo "-I${includedir}" 203*ee3960cbSCy Schubert else 204*ee3960cbSCy Schubert echo '' 205*ee3960cbSCy Schubert fi 206*ee3960cbSCy Schubertfi 207*ee3960cbSCy Schubert 208*ee3960cbSCy Schubert 209*ee3960cbSCy Schubertif test -n "$do_libs"; then 210*ee3960cbSCy Schubert # Assumes /usr/lib is the standard library directory everywhere... 211*ee3960cbSCy Schubert if test "$libdir" = /usr/lib; then 212*ee3960cbSCy Schubert libdirarg= 213*ee3960cbSCy Schubert else 214*ee3960cbSCy Schubert libdirarg="-L$libdir" 215*ee3960cbSCy Schubert fi 216*ee3960cbSCy Schubert # Ugly gross hack for our build tree 217*ee3960cbSCy Schubert lib_flags=`echo $CC_LINK | sed -e 's/\$(CC)//' \ 218*ee3960cbSCy Schubert -e 's/\$(PURE)//' \ 219*ee3960cbSCy Schubert -e 's#\$(PROG_RPATH_FLAGS)#'"$PROG_RPATH_FLAGS"'#' \ 220*ee3960cbSCy Schubert -e 's#\$(PROG_RPATH)#'$libdir'#' \ 221*ee3960cbSCy Schubert -e 's#\$(PROG_LIBPATH)#'$libdirarg'#' \ 222*ee3960cbSCy Schubert -e 's#\$(RPATH_FLAG)#'"$RPATH_FLAG"'#' \ 223*ee3960cbSCy Schubert -e 's#\$(LDFLAGS)##' \ 224*ee3960cbSCy Schubert -e 's#\$(PTHREAD_CFLAGS)#'"$PTHREAD_CFLAGS"'#' \ 225*ee3960cbSCy Schubert -e 's#\$(CFLAGS)##'` 226*ee3960cbSCy Schubert 227*ee3960cbSCy Schubert if test $library = 'kdb'; then 228*ee3960cbSCy Schubert lib_flags="$lib_flags -lkdb5 $KDB5_DB_LIB" 229*ee3960cbSCy Schubert library=krb5 230*ee3960cbSCy Schubert fi 231*ee3960cbSCy Schubert 232*ee3960cbSCy Schubert if test $library = 'kadm_server'; then 233*ee3960cbSCy Schubert lib_flags="$lib_flags -lkadm5srv_mit -lkdb5 $KDB5_DB_LIB" 234*ee3960cbSCy Schubert library=gssrpc 235*ee3960cbSCy Schubert fi 236*ee3960cbSCy Schubert 237*ee3960cbSCy Schubert if test $library = 'kadm_client'; then 238*ee3960cbSCy Schubert lib_flags="$lib_flags -lkadm5clnt_mit" 239*ee3960cbSCy Schubert library=gssrpc 240*ee3960cbSCy Schubert fi 241*ee3960cbSCy Schubert 242*ee3960cbSCy Schubert if test $library = 'gssrpc'; then 243*ee3960cbSCy Schubert lib_flags="$lib_flags -lgssrpc" 244*ee3960cbSCy Schubert library=gssapi 245*ee3960cbSCy Schubert fi 246*ee3960cbSCy Schubert 247*ee3960cbSCy Schubert if test $library = 'gssapi'; then 248*ee3960cbSCy Schubert lib_flags="$lib_flags -lgssapi_krb5" 249*ee3960cbSCy Schubert library=krb5 250*ee3960cbSCy Schubert fi 251*ee3960cbSCy Schubert 252*ee3960cbSCy Schubert if test $library = 'krb5'; then 253*ee3960cbSCy Schubert lib_flags="$lib_flags -lkrb5 -lk5crypto -lcom_err" 254*ee3960cbSCy Schubert fi 255*ee3960cbSCy Schubert 256*ee3960cbSCy Schubert # If we ever support a flag to generate output suitable for static 257*ee3960cbSCy Schubert # linking, we would output "-lkrb5support $GEN_LIB $LIBS $DL_LIB" 258*ee3960cbSCy Schubert # here. 259*ee3960cbSCy Schubert 260*ee3960cbSCy Schubert echo $lib_flags 261*ee3960cbSCy Schubertfi 262*ee3960cbSCy Schubert 263*ee3960cbSCy Schubertexit 0 264