* libnover.in: New file
authorKen Raeburn <raeburn@mit.edu>
Wed, 29 Jun 2005 19:52:26 +0000 (19:52 +0000)
committerKen Raeburn <raeburn@mit.edu>
Wed, 29 Jun 2005 19:52:26 +0000 (19:52 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17272 dc483132-0cff-0310-8789-dd5450dbe970

src/config/ChangeLog
src/config/libnover.in [new file with mode: 0644]

index f9b42067726e46f4711aabc4a1fc8464b38ac03d..9ce315efab787364ca85ff83dd20be3ecc3fb90e 100644 (file)
@@ -1,3 +1,7 @@
+2005-06-29  Ken Raeburn  <raeburn@mit.edu>
+
+       * libnover.in: New file.
+
 2005-06-20  Ken Raeburn  <raeburn@mit.edu>
 
        * 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 (file)
index 0000000..3142eab
--- /dev/null
@@ -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