xref: /illumos-gate/usr/src/cmd/krb5/krb5-config/krb5-config.sh (revision c9eab9d4e096bb9b983e9b007577edfa73c32eff)
1#!/bin/sh
2
3#
4# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
5# Use is subject to license terms.
6#
7#
8# Copyright 2001, 2002, 2003 by the Massachusetts Institute of Technology.
9# All Rights Reserved.
10#
11# Export of this software from the United States of America may
12#   require a specific license from the United States Government.
13#   It is the responsibility of any person or organization contemplating
14#   export to obtain such a license before exporting.
15#
16# WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
17# distribute this software and its documentation for any purpose and
18# without fee is hereby granted, provided that the above copyright
19# notice appear in all copies and that both that copyright notice and
20# this permission notice appear in supporting documentation, and that
21# the name of M.I.T. not be used in advertising or publicity pertaining
22# to distribution of the software without specific, written prior
23# permission.  Furthermore if you modify this software you must label
24# your software as modified software and not distribute it in such a
25# fashion that it might be confused with the original M.I.T. software.
26# M.I.T. makes no representations about the suitability of
27# this software for any purpose.  It is provided "as is" without express
28# or implied warranty.
29#
30#
31
32# Configurable parameters set by autoconf
33version_string="Solaris Kerberos (based on MIT Kerberos 5 release 1.6.3)"
34
35prefix=/usr
36exec_prefix=${prefix}
37includedir=${prefix}/include/kerberosv5
38libdir=${exec_prefix}/lib
39CC_LINK='$(PURE) $(CC) $(PROG_LIBPATH) $(RPATH_FLAG)$(PROG_RPATH) $(CFLAGS) $(LDFLAGS)'
40#KRB4_LIB=-lkrb4
41#DES425_LIB=-ldes425
42KDB5_DB_LIB=
43LDFLAGS=''
44RPATH_FLAG='-R'
45PTHREAD_CFLAGS='-D_REENTRANT '
46
47#LIBS='-lresolv -lsocket -lnsl '
48GEN_LIB=
49
50# Defaults for program
51library=krb5
52
53# Some constants
54vendor_string="Sun Microsystems, Inc."
55
56# Process arguments
57# Yes, we are sloppy, library specifications can come before options
58while test $# != 0; do
59    case $1 in
60	--all)
61	    do_all=1
62	    ;;
63	--cflags)
64	    do_cflags=1
65	    ;;
66	--deps)
67	    do_deps=1
68	    ;;
69	--exec-prefix)
70	    do_exec_prefix=1
71	    ;;
72	--help)
73	    do_help=1
74	    ;;
75	--libs)
76	    do_libs=1
77	    ;;
78	--prefix)
79	    do_prefix=1
80	    ;;
81	--vendor)
82	    do_vendor=1
83	    ;;
84	--version)
85	    do_version=1
86	    ;;
87	krb5)
88	    library=krb5
89	    ;;
90	*)
91	    echo "$0: Unknown option \`$1' -- use \`--help' for usage"
92	    exit 1
93    esac
94    shift
95done
96
97# If required options - provide help
98if test -z "$do_all" -a -z "$do_version" -a -z "$do_vendor" -a -z "$do_prefix" -a -z "$do_vendor" -a -z "$do_exec_prefix" -a -z "$do_cflags" -a -z "$do_libs"; then
99    do_help=1
100fi
101
102
103if test -n "$do_help"; then
104    echo "Usage: $0 [OPTIONS] [LIBRARIES]"
105    echo "Options:"
106    echo "        [--help]          Help"
107    echo "        [--all]           Display version, vendor, and various values"
108    echo "        [--version]       Version information"
109    echo "        [--vendor]        Vendor information"
110    echo "        [--prefix]        Kerberos installed prefix"
111    echo "        [--exec-prefix]   Kerberos installed exec_prefix"
112    echo "        [--cflags]        Compile time CFLAGS"
113    echo "        [--libs]          List libraries required to link [LIBRARIES]"
114    echo "Libraries:"
115    echo "        krb5              Kerberos 5 application"
116
117    exit 0
118fi
119
120if test -n "$do_all"; then
121    all_exit=
122    do_version=1
123    do_prefix=1
124    do_exec_prefix=1
125    do_vendor=1
126    title_version="Version:     "
127    title_prefix="Prefix:      "
128    title_exec_prefix="Exec_prefix: "
129    title_vendor="Vendor:      "
130else
131    all_exit="exit 0"
132fi
133
134if test -n "$do_version"; then
135    echo "$title_version$version_string"
136    $all_exit
137fi
138
139if test -n "$do_vendor"; then
140    echo "$title_vendor$vendor_string"
141    $all_exit
142fi
143
144if test -n "$do_prefix"; then
145    echo "$title_prefix$prefix"
146    $all_exit
147fi
148
149if test -n "$do_exec_prefix"; then
150    echo "$title_exec_prefix$exec_prefix"
151    $all_exit
152fi
153
154if test -n "$do_cflags"; then
155    echo "-I${includedir}"
156fi
157
158
159if test -n "$do_libs"; then
160    # Ugly gross hack for our build tree
161    lib_flags=`echo $CC_LINK | sed -e 's/\$(CC)//' \
162	    -e 's/\$(PURE)//' \
163	    -e 's#\$(PROG_RPATH)#'$libdir'#' \
164	    -e 's#\$(PROG_LIBPATH)#-L'$libdir'#' \
165	    -e 's#\$(RPATH_FLAG)#'"$RPATH_FLAG"'#' \
166	    -e 's#\$(LDFLAGS)#'"$LDFLAGS"'#' \
167	    -e 's#\$(PTHREAD_CFLAGS)#'"$PTHREAD_CFLAGS"'#' \
168	    -e 's#\$(CFLAGS)#'"$CFLAGS"'#'`
169
170    if test $library = 'kdb'; then
171	lib_flags="$lib_flags -lkdb5 $KDB5_DB_LIB"
172	library=krb5
173    fi
174
175    if test $library = 'kadm_server'; then
176	lib_flags="$lib_flags -lkadm5srv -lkdb5 $KDB5_DB_LIB"
177	library=kadm_common
178    fi
179
180    if test $library = 'kadm_client'; then
181	lib_flags="$lib_flags -lkadm5clnt"
182	library=kadm_common
183    fi
184
185    if test $library = 'kadm_common'; then
186	lib_flags="$lib_flags -lgssrpc"
187	library=gssapi
188    fi
189
190    if test $library = 'gssapi'; then
191	lib_flags="$lib_flags -lgssapi_krb5"
192	library=krb5
193    fi
194
195    if test $library = 'krb4'; then
196	lib_flags="$lib_flags $KRB4_LIB $DES425_LIB"
197	library=krb5
198    fi
199
200    if test $library = 'krb5'; then
201	lib_flags="$lib_flags -lkrb5  $LIBS $GEN_LIB"
202    fi
203
204    echo $lib_flags
205fi
206
207exit 0
208