(clean-libs, clean-liblinks): Depend on targets specified in those variables.
(config.status): Depend on shlib.conf.
(all-framework, link-framework, clean-framework, clean-framework-link,
install-framework): New targets, details to be filled in later.
* pre.in (KRB5_LIB_libopt): Renamed from KDB5_LIB.
(KRB5_LIB_frameworkopt): Tentative framework version for Mac OS X, details to
be tuned later.
(KRB5_LIB): Select between them using @LIB_LINK_OPT@.
(KRB5CRYPTO_LIB*, COM_ERR_LIB*, GSS_KRB5_LIB*): Similarly.
(KRB5_BASE_LIBS, GSS_LIBS): Use them.
(KRB4COMPAT_LIBS): Use KRB5_BASE_LIBS.
* shlib.conf: Set LIB_LINK_OPT. Set new EXTRA_* variables for darwin target.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@12638
dc483132-0cff-0310-8789-
dd5450dbe970
+2000-08-30 Ken Raeburn <raeburn@mit.edu>
+
+ * lib.in (EXTRA_CLEAN_TARGETS, EXTRA_CLEAN_LINKS): New variables.
+ (clean-libs, clean-liblinks): Depend on targets specified in those
+ variables.
+ (config.status): Depend on shlib.conf.
+ (all-framework, link-framework, clean-framework,
+ clean-framework-link, install-framework): New targets, details to
+ be filled in later.
+
+ * pre.in (KRB5_LIB_libopt): Renamed from KDB5_LIB.
+ (KRB5_LIB_frameworkopt): Tentative framework version for Mac OS X,
+ details to be tuned later.
+ (KRB5_LIB): Select between them using @LIB_LINK_OPT@.
+ (KRB5CRYPTO_LIB*, COM_ERR_LIB*, GSS_KRB5_LIB*): Similarly.
+ (KRB5_BASE_LIBS, GSS_LIBS): Use them.
+ (KRB4COMPAT_LIBS): Use KRB5_BASE_LIBS.
+
+ * shlib.conf: Set LIB_LINK_OPT. Set new EXTRA_* variables for
+ darwin target.
+
2000-08-29 Tom Yu <tlyu@mit.edu>
* post.in: Test for existing Makefile in directory before
# Set by configure; list of install targets
LIBINSTLIST=@LIBINSTLIST@
+# Set by configure; list of extra targets when cleaning
+EXTRA_CLEAN_TARGETS=@EXTRA_CLEAN_TARGETS@
+EXTRA_CLEAN_LINKS=@EXTRA_CLEAN_LINKS@
+
# Some of these should really move to pre.in, since programs will need
# it too. (e.g. stuff that has dependencies on the libraries)
all-libs: $(LIBLIST)
all-liblinks: $(LIBLINKS)
-clean-libs:
+all-framework:
+ @echo lxs, put something here in config/lib.in for building frameworks
+ @false
+
+link-framework:
+ @echo lxs, put something here in config/lib.in for symlinking frameworks
+ @false
+
+clean-libs: $(EXTRA_CLEAN_TARGETS)
$(RM) lib$(LIB)$(STLIBEXT)
$(RM) lib$(LIB)$(SHLIBVEXT)
$(RM) lib$(LIB)$(SHLIBSEXT)
$(RM) lib$(LIB)$(SHLIBEXT)
$(RM) lib$(LIB)$(PFLIBEXT)
-clean-liblinks:
+clean-liblinks: $(EXTRA_CLEAN_LINKS)
$(RM) $(TOPLIBD)/lib$(LIB)$(STLIBEXT)
$(RM) $(TOPLIBD)/lib$(LIB)$(SHLIBVEXT)
$(RM) $(TOPLIBD)/lib$(LIB)$(SHLIBSEXT)
$(RM) $(TOPLIBD)/lib$(LIB)$(SHLIBEXT)
$(RM) $(TOPLIBD)/lib$(LIB)$(PFLIBEXT)
+clean-framework:
+ @echo lxs, put something here in config/lib.in for cleaning frameworks
+ @false
+
+clean-framework-link:
+ @echo lxs, put something here in config/lib.in for cleaning framework links
+ @false
+
install-libs: $(LIBINSTLIST)
install-static:
$(RM) $(DESTDIR)$(KRB5_LIBDIR)/lib$(LIB)$(STLIBEXT)
$(INSTALL_DATA) lib$(LIB)$(PFLIBEXT) $(DESTDIR)$(KRB5_LIBDIR)
$(RANLIB) $(DESTDIR)$(KRB5_LIBDIR)/lib$(LIB)$(PFLIBEXT)
+install-framework:
+ @echo lxs, put something here in config/lib.in for installing frameworks
+ @false
+
Makefile: $(SRCTOP)/config/lib.in
+config.status: $(SRCTOP)/config/shlib.conf
# Use the following if links need to be made to $(TOPLIBD):
# all-unix:: all-liblinks
KDB5_LIB = -lkdb5
DB_LIB = -ldb
+KRB5_LIB = $(KRB5_LIB_@LIB_LINK_OPT@)
+KRB5_LIB_libopt = -lkrb5
+KRB5_LIB_frameworkopt = -framework Kerberos5
+
+KRB5CRYPTO_LIB = $(KRB5CRYPTO_LIB_@LIB_LINK_OPT@)
+KRB5CRYPTO_LIB_libopt = -lk5crypto
+KRB5CRYPTO_LIB_frameworkopt = -framework Kerberos5Crypto
+
+COM_ERR_LIB = $(COMERR_LIB_@LIB_LINK_OPT@)
+COM_ERR_LIB_libopt = -lcom_err
+COM_ERR_LIB_frameworkopt = -framework FooComErr
+
+GSS_KRB5_LIB = $(GSS_KRB5_LIB_@LIB_LINK_OPT@)
+GSS_KRB5_LIB_libopt = -lgssapi_krb5
+GSS_KRB5_LIB_frameworkopt = -framework Krb5GSSAPILib
+
# KRB4_LIB is -lkrb4 if building --with-krb4
+# needs fixing if ever used on Mac OS X!
KRB4_LIB = @KRB4_LIB@
# DES425_LIB is -ldes425 if building --with-krb4
+# needs fixing if ever used on Mac OS X!
DES425_LIB = @DES425_LIB@
# KRB524_LIB is $(BUILDTOP)/krb524/libkrb524.a if building --with-krb4
+# needs fixing if ever used on Mac OS X!
KRB524_LIB = @KRB524_LIB@
# HESIOD_LIBS is -lhesiod...
HESIOD_LIBS = @HESIOD_LIBS@
-KRB5_BASE_LIBS = -lkrb5 -lk5crypto -lcom_err $(GEN_LIB) $(LIBS)
-KRB4COMPAT_LIBS = $(KRB4_LIB) -lkrb5 $(DES425_LIB) -lk5crypto -lcom_err $(GEN_LIB) $(LIBS)
+KRB5_BASE_LIBS = $(KRB5_LIB) $(K5CRYPTO_LIB) $(COM_ERR_LIB) $(GEN_LIB) $(LIBS)
+KRB4COMPAT_LIBS = $(KRB4_LIB) $(DES425_LIB) $(KRB5_BASE_LIBS)
KDB5_LIBS = $(KDB5_LIB) $(DB_LIB)
-GSS_LIBS = -lgssapi_krb5
+GSS_LIBS = $(GSS_KRB5_LIB)
+# needs fixing if ever used on Mac OS X!
GSSRPC_LIBS = -lgssrpc -ldyn $(GSS_LIBS)
KADM_COMM_LIBS = $(GSSRPC_LIBS)
+# need fixing if ever used on Mac OS X!
KADMSRV_LIBS = -lkadm5srv $(HESIOD_LIBS) $(KDB5_LIBS) $(KADM_COMM_LIBS)
KADMCLNT_LIBS = -lkadm5clnt $(KADM_COMM_LIBS)
+# need fixing if ever used on Mac OS X!
UTIL_LIB = -lkrb5util
PTY_LIB = -lpty
#
# Set up some defaults.
#
+LIB_LINK_OPT=libopt
STLIBEXT=.a
# Default to being unable to build shared libraries.
SHLIBEXT=.so-nobuild
CC_LINK_SHARED='$(CC) $(LDFLAGS) $(PROG_LIBPATH) -dynamic'
CC_LINK_STATIC='$(CC) $(LDFLAGS) $(PROG_LIBPATH)'
RUN_ENV='DYLD_LIBRARY_PATH=`echo $(PROG_LIBPATH) | sed -e "s/-L//g" -e "s/ /:/g"`; export DYLD_LIBRARY_PATH;'
+ LIB_LINK_OPT=frameworkopt
+ EXTRA_LIB_TARGETS=all-framework
+ EXTRA_LIBLINK_TARGETS=link-framework
+ EXTRA_LIBINST_TARGETS=install-framework
+ EXTRA_CLEAN_TARGETS=clean-framework
+ EXTRA_CLEAN_LINKS=clean-framework-link
;;
*-*-solaris*)