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