summaryrefslogtreecommitdiffstats
path: root/src/config
diff options
context:
space:
mode:
Diffstat (limited to 'src/config')
-rw-r--r--src/config/libnover.in30
-rw-r--r--src/config/libpriv.in1
-rw-r--r--src/config/pre.in35
3 files changed, 43 insertions, 23 deletions
diff --git a/src/config/libnover.in b/src/config/libnover.in
index 5f89827e2..4aa419ac9 100644
--- a/src/config/libnover.in
+++ b/src/config/libnover.in
@@ -27,16 +27,21 @@ LIBPREFIX=
# STOBJLISTS=dir1/OBJS.ST dir2/OBJS.ST etc...
SHOBJLISTS=$(STOBJLISTS:.ST=.SH)
+PFOBJLISTS=$(STOBJLISTS:.ST=.PF)
dummy-target-1 $(SUBDIROBJLISTS) $(SUBDIROBJLISTS:.ST=.SH) $(SUBDIROBJLISTS:.ST=.PF): all-recurse
# Gets invoked as $(PARSE_OBJLISTS) list-of-OBJS.*-files
PARSE_OBJLISTS= set -x && $(PERL) -p -e 'BEGIN { $$SIG{__WARN__} = sub {die @_} }; $$e=$$ARGV; $$e =~ s/OBJS\...$$//; s/^/ /; s/ $$//; s/ / $$e/g;'
-SHLIBVEXT=$(SHLIBEXT)
-LIBLIST=$(LIBBASE)$(DYNOBJEXT)
LIBINSTLIST=install-shared
+libkrb5_$(LIBBASE)$(STLIBEXT): $(STOBJLISTS)
+ $(RM) $@
+ @echo "building static $(LIBBASE) library"
+ set -x; objlist=`$(PARSE_OBJLISTS) $(STOBJLISTS)` && $(AR) cq $@ $$objlist
+ $(RANLIB) $@
+
$(LIBBASE)$(DYNOBJEXT): $(SHOBJLISTS) $(DYNOBJ_EXPDEPS) $(SHLIB_EXPORT_FILE_DEP)
$(RM) $@
@echo "building dynamic $(LIBBASE) object"
@@ -80,18 +85,29 @@ darwin.exports: $(SHLIB_EXPORT_FILE) Makefile
$(RM) darwin.exports
sed "s/^/_/" < $(SHLIB_EXPORT_FILE) > darwin.exports
-$(TOPLIBD)/$(LIBBASE)$(SHLIBEXT): $(LIBBASE)$(SHLIBEXT)
+libkrb5_$(LIBBASE)$(PFLIBEXT): $(PFOBJLISTS)
+ $(RM) $@
+ @echo "building profiled $(LIBBASE) library"
+ set -x; objlist=`$(PARSE_OBJLISTS) $(PFOBJLISTS)` && $(AR) cq $@ $$objlist
+ $(RANLIB) $@
+
+$(TOPLIBD)/libkrb5_$(LIBBASE)$(STLIBEXT):
$(RM) $@
- (cd $(TOPLIBD) && $(LN_S) $(RELDIR)/$(LIBBASE)$(SHLIBEXT) .)
+ (cd $(TOPLIBD) && $(LN_S) $(RELDIR)/libkrb5_$(LIBBASE)$(STLIBEXT) .)
-all-libs: $(LIBBASE)$(DYNOBJEXT) # $(LIBLIST)
+all-liblinks: all-libs $(PLUGINLINK)
+all-libs: $(PLUGIN)
clean-libs:
$(RM) $(LIBBASE)$(DYNOBJEXT)
$(RM) binutils.versions osf1.exports darwin.exports hpux10.exports
-install-libs: $(LIBINSTLIST)
-install-shared:
+install-libs: $(PLUGININST)
+install-static:
+ $(RM) $(DESTDIR)$(KRB5_LIBDIR)/libkrb5_$(LIBBASE)$(STLIBEXT)
+ $(INSTALL_DATA) libkrb5_$(LIBBASE)$(STLIBEXT) $(DESTDIR)$(KRB5_LIBDIR)
+ $(RANLIB) $(DESTDIR)$(KRB5_LIBDIR)/libkrb5_$(LIBBASE)$(STLIBEXT)
+install-plugin:
$(RM) $(DESTDIR)$(MODULE_INSTALL_DIR)/$(LIBBASE)$(DYNOBJEXT)
$(INSTALL_SHLIB) $(LIBBASE)$(DYNOBJEXT) $(DESTDIR)$(MODULE_INSTALL_DIR)
diff --git a/src/config/libpriv.in b/src/config/libpriv.in
index c7e3443b1..4fe13c3bc 100644
--- a/src/config/libpriv.in
+++ b/src/config/libpriv.in
@@ -10,4 +10,3 @@ LIBINSTLIST=
SHLIBEXT=.so-nobuild
SHLIBVEXT=.so.v-nobuild
SHLIBSEXT=.so.s-nobuild
-STLIBEXT=$(STLIBEXT_if_static)
diff --git a/src/config/pre.in b/src/config/pre.in
index 6923ade7d..fa766190f 100644
--- a/src/config/pre.in
+++ b/src/config/pre.in
@@ -315,6 +315,9 @@ PROG_RPATH_FLAGS=@PROG_RPATH_FLAGS@
# depending on whether we're building with shared libraries.
DEPLIBEXT=@DEPLIBEXT@
+KDB5_PLUGIN_DEPLIBS = @KDB5_PLUGIN_DEPLIBS@
+KDB5_PLUGIN_LIBS = @KDB5_PLUGIN_LIBS@
+
KADMCLNT_DEPLIB = $(TOPLIBD)/libkadm5clnt$(DEPLIBEXT)
KADMSRV_DEPLIB = $(TOPLIBD)/libkadm5srv$(DEPLIBEXT)
KDB5_DEPLIB = $(TOPLIBD)/libkdb5$(DEPLIBEXT)
@@ -337,7 +340,7 @@ PTY_DEPLIB = $(TOPLIBD)/libpty.a
APPUTILS_DEPLIB = $(TOPLIBD)/libapputils.a
KRB5_BASE_DEPLIBS = $(KRB5_DEPLIB) $(CRYPTO_DEPLIB) $(COM_ERR_DEPLIB) $(SUPPORT_DEPLIB)
-KDB5_DEPLIBS = $(KDB5_DEPLIB)
+KDB5_DEPLIBS = $(KDB5_DEPLIB) $(KDB5_PLUGIN_DEPLIBS)
GSS_DEPLIBS = $(GSS_DEPLIB)
GSSRPC_DEPLIBS = $(GSSRPC_DEPLIB) $(GSS_DEPLIBS)
KADM_COMM_DEPLIBS = $(GSSRPC_DEPLIBS) $(KDB5_DEPLIBS) $(GSSRPC_DEPLIBS)
@@ -365,7 +368,7 @@ GEN_LIB = @GEN_LIB@
SS_LIB = $(SS_LIB-@SS_VERSION@)
SS_LIB-sys = @SS_LIB@
SS_LIB-k5 = $(TOPLIBD)/libss.a
-KDB5_LIB = -lkdb5
+KDB5_LIB = -lkdb5 $(KDB5_PLUGIN_LIBS)
DL_LIB = @DL_LIB@
@@ -471,26 +474,28 @@ AR=@AR@
# Set to "lib$(LIBBASE)$(STEXT) lib$(LIBBASE)$(SHEXT) lib$(LIBBASE)$(PFEXT)" or
# some subset thereof by configure; determines which types of libs get
# built.
-LIBLIST=$(LIBLIST_@SHLIB_HAVE_MINOR_VERS@)
-LIBLIST_yes=lib$(LIBBASE)$(SHLIBEXT) lib$(LIBBASE)$(SHLIBSEXT)
-LIBLIST_no=lib$(LIBBASE)$(SHLIBEXT)
+LIBLIST=@LIBLIST@
# Set by configure; list of library symlinks to make to $(TOPLIBD)
-LIBLINKS=$(LIBLINKS_@SHLIB_HAVE_MINOR_VERS@)
-LIBLINKS_yes=$(TOPLIBD)/lib$(LIBBASE)$(SHLIBEXT) $(TOPLIBD)/lib$(LIBBASE)$(SHLIBVEXT) $(TOPLIBD)/lib$(LIBBASE)$(SHLIBSEXT)
-LIBLINKS_no=$(TOPLIBD)/lib$(LIBBASE)$(SHLIBEXT) $(TOPLIBD)/lib$(LIBBASE)$(SHLIBVEXT)
+LIBLINKS=@LIBLINKS@
+
+# Set by configure; name of plugin module to build (libfoo.a or foo.so)
+PLUGIN=@PLUGIN@
+
+# Set by configure; symlink for plugin module for static plugin linking
+PLUGINLINK=@PLUGINLINK@
+
+# Set by configure; list of install targets for libraries
+LIBINSTLIST=@LIBINSTLIST@
-# Set by configure; list of install targets
-LIBINSTLIST=$(LIBINSTLIST_@SHLIB_HAVE_MINOR_VERS@)
-LIBINSTLIST_yes=install-shlib-soname
-LIBINSTLIST_no=install-shared
+# Set by configure; install target
+PLUGININST=@PLUGININST@
# Some of these should really move to pre.in, since programs will need
# it too. (e.g. stuff that has dependencies on the libraries)
# usually .a
-STLIBEXT_if_static=@STLIBEXT@
-STLIBEXT=.a-nobuild
+STLIBEXT=@STLIBEXT@
# usually .so.$(LIBMAJOR).$(LIBMINOR)
SHLIBVEXT=@SHLIBVEXT@
@@ -536,7 +541,7 @@ SHLIB_EXPFLAGS=@SHLIB_EXPFLAGS@
# Set to "OBJS.ST OBJS.SH OBJS.PF" or some subset thereof by
# configure; determines which types of object files get built.
-OBJLISTS=OBJS.SH
+OBJLISTS=@OBJLISTS@
# Note that $(LIBSRCS) *cannot* contain any variable references, or
# the suffix substitution will break on some platforms!