* aclocal.m4: Add KRB5_SIGTYPE (taken from include/krb5) so that
other applications may use defintion.
-Wed Jun 21 14:57:55 1995 <tytso@rsx-11.mit.edu>
+
+Wed Jun 21 16:10:09 1995 Sam Hartman <hartmans@tardis.MIT.EDU>
+
+ * aclocal.m4 (SHARED_RULE_LOCAL): Add support for not making
+ static libs. Moves the clean and all target for shared libs in
+ shared lib Makefiles into this rule instead of Makefile.in
+
+ * configure.in: Added krb5_cv_noshlibs_ext, the extension for
+ static libraries that have shared counterparts. Also added
+ krb5_cv_staticlibs_enabled, (set by the code for --enable-shared,
+ not by any extra option) to determine whether static versions of
+ shared libs are compiled on a per-platform basis.
+
+
+ Wed Jun 21 14:57:55 1995 <tytso@rsx-11.mit.edu>
* aclocal.m4: Removed extra blank lines and added "dnl" to the end
of some macro definitions to get rid of extra newlines
dnl create the shared library
dnl
define(V5_MAKE_SHARED_LIB,[
+if test "[$]krb5_cv_staticlibs_enabled" = yes
+ then
+ SHLIB_STATIC_TARGET="$1.[\$](STEXT)"
+ else
+ SHLIB_STATIC_TARGET=
+ fi
AC_ARG_ENABLE([shared],
[ --enable-shared build with shared libraries],[
SHLIB_TAIL_COMP=$krb5_cv_shlibs_tail_comp
AC_SUBST(HOST_TYPE)
SHEXT=$krb5_cv_shlibs_ext
AC_SUBST(SHEXT)
+STEXT=$krb5_cv_noshlibs_ext
+AC_SUBST(STEXT)
DO_MAKE_SHLIB="$1.\$""(SHEXT)"
AC_PUSH_MAKEFILE()dnl
-all:: $(DO_MAKE_SHLIB)
+all:: [$](DO_MAKE_SHLIB) [$](SHLIB_STATIC_TARGET)
clean::
- $(RM) $1.[$](SHEXT)
+ $(RM) $1.[$](SHEXT) [$](SHLIB_STATIC_TARGET)
$1.[$](SHEXT): [$](LIBDONE) [$](DEPLIBS)
[$](SRCTOP)/util/makeshlib [$](HOST_TYPE) [$](CC) [$]@ \
AC_POP_MAKEFILE()dnl
],[
DO_MAKE_SHLIB=
+AC_PUSH_MAKEFILE()
+all:: [$](DO_MAKE_SHLIB) [$](SHLIB_STATIC_TARGET)
+
+clean::
+ $(RM) $1.[$](STEXT)
+AC_POP_MAKEFILE()
])dnl
AC_SUBST(DO_MAKE_SHLIB)
-])dnl
+AC_SUBST(SHLIB_STATIC_TARGET)])dnl
dnl
dnl Defines LDARGS correctly so that we actually link with the shared library
dnl
+Thu Jun 22 13:27:00 1995 Sam Hartman <hartmans@tardis.MIT.EDU>
+
+ * pre.in (STEXT): Add definitions for STEXT and STATIC_TARGET
Thu Jun 15 17:47:49 EDT 1995 Paul Park (pjpark@mit.edu)
* pre.in - Add definitions for building and using shared libraries.
HOST_TYPE = @HOST_TYPE@
SHEXT = @SHEXT@
+STEXT=@STEXT@
DO_MAKE_SHLIB = @DO_MAKE_SHLIB@
-
+SHLIB_STATIC_TARGET=@SHLIB_STATIC_TARGET@
SRCTOP = $(srcdir)/$(BUILDTOP)
SUBDIRS = @subdirs@
echo "Enabling shared libraries for Linux...."
krb5_cv_shlibs_cflags=-fPIC
krb5_cv_shlibs_ext=so
+krb5_cv_noshlibs_ext=a
krb5_cv_shlibs_dir=shared
krb5_cv_shlibs_ldflag="-dy"
krb5_cv_noshlibs_ldflag="-dn"
krb5_cv_shlibs_tail_comp=
krb5_cv_shlibs_enabled=yes
;;
+*-*-aix*)
+ echo "Enabling shared libraries for AIX...."
+ krb5_cv_shlibs_cflags=
+ krb5_cv_shlibs_ext=a
+ krb5_cv_noshlibs_ext=do-not-make
+ krb5_cv_shlibs_dir=
+ krb5_cv_shlibs_ldflag=
+ krb5_cv_noshlibs_ldflag=
+ krb5_cv_shlibs_sym_ufo=
+ krb5_cv_shlibs_dirhead="-L"
+ krb5_cv_exe_need_dirs=yes
+ krb5_cv_shlibs_use_dirs=no
+ krb5_cv_staticlibs_enabled=
+ krb5_cv_shlibs_tail_comp=
+ krb5_cv_shlibs_enabled=yes
+;;
*-*-solaris*)
echo "Enabling shared libraries for Solaris...."
krb5_cv_shlibs_cflags=-Kpic
krb5_cv_shlibs_ext=so
+ krb5_cv_noshlibs_ext=a
krb5_cv_shlibs_dir=shared
krb5_cv_shlibs_ldflag="-dy"
krb5_cv_noshlibs_ldflag="-dn"
krb5_cv_exe_need_dirs=yes
krb5_cv_shlibs_use_dirs=yes
krb5_cv_shlibs_tail_comp=
+ krb5_cv_staticlibs_enabled=yes
krb5_cv_shlibs_enabled=yes
;;
alpha-dec-osf*)
echo "Enabling shared libraries for Alpha OSF...."
krb5_cv_shlibs_cflags=
krb5_cv_shlibs_ext=so
+krb5_cv_noshlibs_ext=a
krb5_cv_shlibs_dir=
krb5_cv_shlibs_ldflag="-call_shared"
krb5_cv_noshlibs_ldflag="-non_shared"
krb5_cv_exe_need_dirs=no
krb5_cv_shlibs_use_dirs=yes
krb5_cv_shlibs_tail_comp=
+ krb5_cv_staticlibs_enabled=yes
krb5_cv_shlibs_enabled=yes
if test ! -f so_locations; then
cp -p /usr/shlib/so_locations .
;;
esac],[krb5_cv_shlibs_cflags=
krb5_cv_shlibs_ext=
+krb5_cv_noshlibs_ext=a
krb5_cv_shlibs_dir=
krb5_cv_shlibs_ldflag=
krb5_cv_noshlibs_ldflag=
krb5_cv_shlibs_sym_ufo=
krb5_cv_shlibs_dirhead=
krb5_cv_shlibs_tail_comp=
+krb5_cv_staticlibs_enabled=yes
krb5_cv_shlibs_enabled=])
AC_ARG_ENABLE([athena],
[ --enable-athena build with MIT Project Athena configuration],,)
+Thu Jun 22 18:34:26 1995 Sam Hartman (hartmans@tardis)
+
+ * configure.in: Changed to new scheme for static libs.
+
+
Fri Jun 16 11:14:50 EDT 1995 Paul Park (pjpark@mit.edu)
* configure.in - Add install target for shared library.
all-windows:: $(OBJS)
-libcrypto.a: $(LIBDONE)
+libcrypto.$(STEXT): $(LIBDONE)
if test -f $@ ; then \
for i in $(LIB_SUBDIRS) ; \
do \
libcrypto.lib:
libdir crypto.lib
-install:: libcrypto.a
- $(INSTALL_DATA) libcrypto.a $(DESTDIR)$(KRB5_LIBDIR)/libcrypto.a
- $(RANLIB) $(DESTDIR)$(KRB5_LIBDIR)/libcrypto.a
-
clean:: clean-$(WHAT)
clean-unix::
V5_SHARED_LIB_OBJS
SubdirLibraryRule([${OBJS}])
DO_SUBDIRS
-LinkFileDir(../libcrypto.a, libcrypto.a, ./crypto)
-AppendRule([all-unix:: ../libcrypto.a])
V5_MAKE_SHARED_LIB(libcrypto)
AC_ARG_ENABLE([shared],
[ --enable-shared build shared libraries],[
[$](INSTALL_DATA) libcrypto.[$](SHEXT) \
[$](DESTDIR)[$](KRB5_SHLIBDIR)[$](S)libcrypto.[$](SHEXT)])
])dnl
-AppendRule([all-unix:: libcrypto.a])
-AppendRule([all:: all-$(WHAT)])
+if test -n "$krb5_cv_enable_staticlibs" ; then
+ AppendRule([all-unix:: libcrypto.a])
+ LinkFileDir(../libcrypto.a, libcrypto.a, ./crypto)
+ AppendRule([all-unix:: ../libcrypto.a])
+ AppendRule([install:: libcrypto.a
+ $(INSTALL_DATA) libcrypto.a $(DESTDIR)$(KRB5_LIBDIR)/libcrypto.a
+ $(RANLIB) $(DESTDIR)$(KRB5_LIBDIR)/libcrypto.a])
+fi
+ AppendRule([all:: all-$(WHAT)])
V5_AC_OUTPUT_MAKEFILE
+Thu Jun 22 18:03:35 1995 Sam Hartman (hartmans@tardis)
+
+ * Makefile.in: Treat libcom_err.a as shared, use new conventions
+ regarding static version.
+
Fri Jun 16 11:16:44 EDT 1995 Paul Park (pjpark@mit.edu)
* configure.in - Add shared library install target.
KRB4_LIBS=@KRB4_LIB@
KRB4_CRYPTO_LIBS=@KRB4_CRYPTO_LIB@
DEPKRB4_LIBS=@DEPKRB4_LIB@ @DEPKRB4_CRYPTO_LIB@
-DEPLIBS=$(TOPLIBD)/libcrypto.$(SHEXT)
-SHLIB_LIBS=$(KRB4_LIBS) $(KRB4_CRYPTO_LIBS) -lcrypto
-SHLIB_LDFLAGS= $(LDFLAGS) @SHLIB_RPATH_DIRS@ \
- $(LD_UNRESOLVED_PREFIX)_et_list $(LD_UNRESOLVED_PREFIX)error_message
+DEPLIBS=$(TOPLIBD)/libcrypto.$(SHEXT) $(TOPLIBD)/libcom_err.$(SHEXT)
+SHLIB_LIBS=$(KRB4_LIBS) $(KRB4_CRYPTO_LIBS) -lcrypto -lcom_err
+SHLIB_LDFLAGS= $(LDFLAGS) @SHLIB_RPATH_DIRS@
+# $(LD_UNRESOLVED_PREFIX)_et_list $(LD_UNRESOLVED_PREFIX)error_message
SHLIB_LIBDIRS= @SHLIB_LIBDIRS@
all-unix::
all-windows::
-libkrb5.a: $(LIBDONE)
+libkrb5.$(STEXT): $(LIBDONE)
if test -f $@ ; then \
for i in $(LIB_SUBDIRS) ; \
do \
- $(LIBUPDATE) $@ $$i/DONE $$i ; \
+ $(LIBUPDATE)nn $@ $$i/DONE $$i ; \
done ; \
else \
for i in $(LIB_SUBDIRS) ; \
$(LIBUPDATE) --force $@ $$i/DONE $$i ; \
done ; \
fi
- $(RANLIB) libkrb5.a
+ $(RANLIB) libkrb5.$(STEXT)
touch libkrb5.stamp
-install::
+install-mac::
$(INSTALL_DATA) libkrb5.a $(DESTDIR)$(KRB5_LIBDIR)/libkrb5.a
$(RANLIB) $(DESTDIR)$(KRB5_LIBDIR)/libkrb5.a
+
+
clean:: clean-$(WHAT)
clean-unix::
AC_PROG_RANLIB
AC_PROG_INSTALL
DO_SUBDIRS
-AppendRule([all:: libkrb5.a])
+AppendRule([all:: libkrb5.[$](STEXT)])
V5_MAKE_SHARED_LIB(libkrb5)
AC_ARG_ENABLE([shared],
[ --enable-shared build shared libraries],[
LinkFileDir(../libkrb5.[$](SHEXT), libkrb5.[$](SHEXT), ./krb5)
AppendRule([all-unix:: ../libkrb5.$(SHEXT)])
-AppendRule([install:: libkrb5.[$](SHEXT)
+AppendRule([install-unix:: libkrb5.[$](SHEXT)
[$](INSTALL_DATA) libkrb5.[$](SHEXT) \
[$](DESTDIR)[$](KRB5_SHLIBDIR)[$](S)libkrb5.[$](SHEXT)])
])dnl
-LinkFileDir(../libkrb5.a, libkrb5.a, ./krb5)
-AppendRule([all-unix:: ../libkrb5.a])
+if test -n "$krb5_cv_enable_staticlibs" ; then
+ LinkFileDir(../libkrb5.[$](STEXT), libkrb5.[$](STEXT), ./krb5)
+ AppendRule([install::
+ [$](INSTALL_DATA) libkrb5.[$](STEXT) [$](DESTDIR)[$](KRB5_LIBDIR)/libkrb5.[$](STEXT)
+ [$](RANLIB) [$](DESTDIR)[$](KRB5_LIBDIR)/libkrb5.[$](STEXT)])
+ AppendRule([all-unix:: ../libkrb5.[$](STEXT)])
+fi
+AppendRule([install:: install-[$](WHAT)])
AppendRule([all:: all-$(WHAT)])
V5_AC_OUTPUT_MAKEFILE
+Thu Jun 22 13:06:47 1995 Sam Hartman <hartmans@tardis.MIT.EDU>
+
+ * Makefile.in Changed libcom_err.a to libcom_err.$(STEXT), removed rule to clean it up on Unix as aclocal.m4 already inserts the rule. If this breaks on Macs, please let me know how I should do this in the future.
+
+ * configure.in: Changed to make libcom_err as a shared library.
+
+
+
Fri Jun 9 19:00:05 1995 <tytso@rsx-11.mit.edu>
* configure.in: Remove standardized set of autoconf macros, which
##DOSLIBNAME=comerr.lib
##DOS!include $(BUILDTOP)\config\windows.in
+LIBDONE=./done
+LIB_SUBDIRS=.
INSTALLFILE = cp
LINTFLAGS=-uhvb
SRCS=$(CFILES)
+
+SHLIB_LIBS=
+SHLIB_LDFLAGS= $(LDFLAGS) @SHLIB_RPATH_DIRS@
+SHLIB_LIBDIRS= @SHLIB_LIBDIRS@
+STEXT=@STEXT@
+
all:: all-$(WHAT)
all-windows: com_err.obj error_message.obj et_name.obj
#
## install_library_target(com_err,$(LIBOBJS),$(LINTFILES),)
-all-unix:: libcom_err.a
-all-mac:: libcom_err.a
-libcom_err.a: $(LIBOBJS)
+all-mac:: libcom_err.$(STEXT)
+
+libcom_err.$(STEXT): $(LIBOBJS)
$(ARCHIVE) $@ $(LIBOBJS)
$(RANLIB) $@
+done:: $(LIBOBJS)
+ $(RM) done
+ echo $(LIBOBJS) >done
+
clean-unix::
- $(RM) libcom_err.a
$(RM) $(LIBOBJS)
clean-mac::
AC_CHECK_HEADERS(stdarg.h)
AC_HAVE_HEADERS(stdlib.h)
CopySrcHeader(com_err.h,$(BUILDTOP)/include)
+V5_MAKE_SHARED_LIB(libcom_err)
+AC_ARG_ENABLE([shared],
+[ --enable-shared build shared libraries],[
+LinkFileDir([$](TOPLIBD)/libcom_err.[$](SHEXT), libcom_err.[$](SHEXT), ../util/et)
+AppendRule([all -unix:: [$](TOPLIBD)/libcom_err.$(SHEXT)])
+AppendRule([install:: libcom_err.[$](SHEXT)
+ [$](INSTALL_DATA) libcom_err.[$](SHEXT) \
+ [$](DESTDIR)[$](KRB5_SHLIBDIR)[$](S)libcom_err.[$](SHEXT)])
+])dnl
+if test -n "$krb5_cv_enable_staticlibs" ; then
+ AppendRule([install:: libcom_err.[$](STEXT)
+ [$](INSTALL_DATA) libcom_err.[$](STEXT) [$](DESTDIR)[$](KRB5_LIBDIR)[$](S)libcom_err.[$](STEXT)])
+ LinkFileDir([$](TOPLIBD)/libcom_err.[$](STEXT),libcom_err.[$](STEXT),../util/et)
+ AppendRule([all: [$](TOPLIBD)/libcom_err.[$](STEXT)])
+fi
V5_AC_OUTPUT_MAKEFILE
do
sed -e "s;^;$i/shared/;" -e "s; ; $i/shared/;g" $i/DONE
done`
-
+
echo $CC -G $ldflags -o $library $FILES $libdirfl $liblist
$CC -G $ldflags -o $library $FILES $libdirfl $liblist
stat=$?
;;
+*-*-aix*)
+ FILES=`for i
+ do
+ sed -e "s;^;$i/;" -e "s; ; $i/;g" $i/DONE
+ done`
+
+ar cq $library $FILES || exit $?
+ dump -g $library | sed -e 's/^[ ]*[0-9][0-9]*[ ]*\([^ .][^ ]*\)$/\1/p;d' | sort | uniq > ${library}.syms
+ stat=$?
+ if [ $stat -eq 0 ]
+ then
+ ld -o shr.o $library -H512 -T512 -bM:SRE -lc $ldflags -bfilelist -bgcbypass:1 -bnodelcsect -x -bE:${library}.syms $libdirfl $liblist
+ stat=$?
+ if [ $stat -eq 0 ]
+ then
+ rm $library ${library}.syms
+ ar cq $library shr.o
+ stat=$?
+ rm shr.o
+ else
+ rm -f $library
+fi
+ fi
+;;
alpha-*-osf*)
FILES=`for i
do