From: Ken Raeburn Date: Wed, 29 Jun 2005 19:52:26 +0000 (+0000) Subject: * libnover.in: New file X-Git-Tag: ms-bug-test-20060525~216 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=3653749752a0b3248595de9855f0476289719606;p=krb5.git * libnover.in: New file git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17272 dc483132-0cff-0310-8789-dd5450dbe970 --- diff --git a/src/config/ChangeLog b/src/config/ChangeLog index f9b420677..9ce315efa 100644 --- a/src/config/ChangeLog +++ b/src/config/ChangeLog @@ -1,3 +1,7 @@ +2005-06-29 Ken Raeburn + + * libnover.in: New file. + 2005-06-20 Ken Raeburn * pre.in (PTHREAD_LIBS, DL_LIB, THREAD_LINKOPTS): New variables. diff --git a/src/config/libnover.in b/src/config/libnover.in new file mode 100644 index 000000000..3142eab42 --- /dev/null +++ b/src/config/libnover.in @@ -0,0 +1,108 @@ +### config/libnover.in +# *** keep this in sync with lib.in +# +# Makefile fragment that creates shared libraries sans version +# info (plugin modules). +# +# The following variables must be set in the Makefile.in: +# +# LIBBASE library name without "lib" or extension +# STOBJLISTS list of files, each of which is an OBJS.ST created by +# libobj.in; *DO NOT* use ./OBJS.ST for the current +# directory as that will cause some makes to lose. +# SHLIB_EXPDEPS list of libraries that this one has explicit +# dependencies on, pref. in the form libfoo$(SHLIBEXT) +# SHLIB_EXPLIBS list of libraries that this one has explicit +# dependencies on, in "-lfoo" form. +# SHLIB_DIRS list of directories where $(SHLIB_EXPLIBS) can be +# found, in the form -Ldir1 -Ldir2 ... +# since there are very few systems where -L is the +# wrong thing (notable exception of SunOS but we +# deal with it...) +# SHLIB_RDIRS rpath directories to search; given in the +# form dir1:dir2 ... +# RELDIR path to this directory relative to $(TOPLIBD) + +# STOBJLISTS=dir1/OBJS.ST dir2/OBJS.ST etc... +SHOBJLISTS=$(STOBJLISTS:.ST=.SH) + +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 '$$e=$$ARGV; $$e =~ s/OBJS\...$$//; s/^/ /; s/ $$//; s/ / $$e/g;' + +SHLIBVEXT=SHLIBEXT + +lib$(LIBBASE)$(SHLIBVEXT): $(SHOBJLISTS) $(SHLIB_EXPDEPS) $(SHLIB_EXPORT_FILE_DEP) + $(RM) $@ + @echo "building shared $(LIBBASE) library" + set -x; objlist=`$(PARSE_OBJLISTS) $(SHOBJLISTS)` && $(MAKE_SHLIB_COMMAND) + +binutils.versions: $(SHLIB_EXPORT_FILE) Makefile + echo > binutils.versions "HIDDEN { local: __*; _rest*; _save*; *; };" + echo >> binutils.versions "$(LIBBASE)_$(LIBMAJOR)_MIT {" + sed >> binutils.versions < $(SHLIB_EXPORT_FILE) "s/$$/;/" + echo >> binutils.versions "};" + +osf1.exports: $(SHLIB_EXPORT_FILE) Makefile + $(RM) osf1.tmp osf1.exports + sed "s/^/-exported_symbol /" < $(SHLIB_EXPORT_FILE) > osf1.tmp + for f in . $(LIBINITFUNC); do \ + if test "$$f" != "." ; then \ + echo " -init $$f"__auxinit >> osf1.tmp; \ + else :; fi; \ + done + a=""; \ + for f in . $(LIBFINIFUNC); do \ + if test "$$f" != "." ; then \ + a="-fini $$f $$a"; \ + else :; fi; \ + done; echo " $$a" >> osf1.tmp; \ + mv -f osf1.tmp osf1.exports + +hpux10.exports: $(SHLIB_EXPORT_FILE) Makefile + $(RM) hpux10.tmp hpux10.exports + sed "s/^/+e /" < $(SHLIB_EXPORT_FILE) > hpux10.tmp + a=""; \ + for f in . $(LIBFINIFUNC); do \ + if test "$$f" != .; then \ + a="+I $${f}__auxfini $$a"; \ + else :; fi; \ + done; echo "$$a" >> hpux10.tmp + echo "+e errno" >> hpux10.tmp + mv -f hpux10.tmp hpux10.exports + +$(TOPLIBD)/lib$(LIBBASE)$(SHLIBEXT): lib$(LIBBASE)$(SHLIBEXT) + $(RM) $@ + (cd $(TOPLIBD) && $(LN_S) $(RELDIR)/lib$(LIBBASE)$(SHLIBEXT) .) + +all-libs: $(LIBLIST) +all-liblinks: $(LIBLINKS) + +clean-libs: + $(RM) lib$(LIBBASE)$(SHLIBEXT) + $(RM) binutils.versions osf1.exports + +clean-liblinks: + $(RM) $(TOPLIBD)/lib$(LIBBASE)$(SHLIBEXT) + +install-libs: $(LIBINSTLIST) +install-shared: + $(RM) $(DESTDIR)$(KRB5_LIBDIR)/lib$(LIBBASE)$(SHLIBEXT) + $(INSTALL_SHLIB) lib$(LIBBASE)$(SHLIBEXT) $(DESTDIR)$(KRB5_LIBDIR) + +Makefile: $(SRCTOP)/config/lib.in +$(thisconfigdir)/config.status: $(SRCTOP)/config/shlib.conf + +# Use the following if links need to be made to $(TOPLIBD): +# all-unix:: all-liblinks +# install-unix:: install-libs +# clean-unix:: clean-liblinks clean-libs + +# Use the following if links need not be made: +# all-unix:: all-libs +# install-unix:: install-libs +# clean-unix:: clean-libs + +### +### end config/libnovers.in