summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSam Hartman <hartmans@mit.edu>2003-05-12 18:04:31 +0000
committerSam Hartman <hartmans@mit.edu>2003-05-12 18:04:31 +0000
commit7d88053f5f9d5a0dc6d3ce514e42a0cd2e2bd0ce (patch)
tree1743451f43fdd6091dd38f901f5bbc5805764b75 /src
parentdf53402d1342e24c9eb2e2f794274c4479c69fcc (diff)
downloadkrb5-7d88053f5f9d5a0dc6d3ce514e42a0cd2e2bd0ce.tar.gz
krb5-7d88053f5f9d5a0dc6d3ce514e42a0cd2e2bd0ce.tar.xz
krb5-7d88053f5f9d5a0dc6d3ce514e42a0cd2e2bd0ce.zip
Don't #include compile_et .c files
At least the e2fsprogs compile_et produces .c files that duplicate definitions found in com_err.h and so you need to avoid including those .c files in other files. In order to do this we duplicate the string tables. Ticket: new Target_Version: 1.3 Tags: pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@15415 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/lib/krb4/ChangeLog11
-rw-r--r--src/lib/krb4/Makefile.in3
-rw-r--r--src/lib/krb4/configure.in3
-rw-r--r--src/lib/krb4/err_txt.c13
4 files changed, 18 insertions, 12 deletions
diff --git a/src/lib/krb4/ChangeLog b/src/lib/krb4/ChangeLog
index 73e033aa2..afa3192ac 100644
--- a/src/lib/krb4/ChangeLog
+++ b/src/lib/krb4/ChangeLog
@@ -1,3 +1,14 @@
+2003-05-11 Sam Hartman <hartmans@mit.edu>
+
+ * Makefile.in: Build krb_err.c when appropriate.
+
+ * configure.in: Set KRB_ERR to be the object file generated by
+ krb_err.c on non-Darwin
+
+ * err_txt.c : Don't include krb_err.c on non-Darwin UNIX. Doing
+ so may break with some compile_et implementations. Also not
+ included on Windows.
+
2003-05-01 Alexandra Ellwood <lxs@mit.edu>
ΚΚ
* kadm_stream.c: Fixed vts_long() and vts_short() so they return a
diff --git a/src/lib/krb4/Makefile.in b/src/lib/krb4/Makefile.in
index 0a8ecff3e..296dd6464 100644
--- a/src/lib/krb4/Makefile.in
+++ b/src/lib/krb4/Makefile.in
@@ -29,6 +29,7 @@ SHLIB_DIRS=-L$(TOPLIBD)
SHLIB_RDIRS=$(KRB5_LIBDIR)
EHDRDIR=$(BUILDTOP)$(S)include$(S)kerberosIV
+KRB_ERR=@KRB_ERR@
OBJS = \
$(OUTPRE)change_password.$(OBJEXT) \
@@ -72,7 +73,7 @@ OBJS = \
$(OUTPRE)rd_preauth.$(OBJEXT) \
$(OUTPRE)mk_preauth.$(OBJEXT) \
$(OSOBJS) $(CACHEOBJS) $(SETENVOBJS) $(STRCASEOBJS) $(SHMOBJS) \
- $(LIB_KRB_HOSTOBJS) $(SERVER_KRB_OBJS) $(NETIO_OBJS) $(REALMDBOBJS)
+ $(LIB_KRB_HOSTOBJS) $(SERVER_KRB_OBJS) $(NETIO_OBJS) $(REALMDBOBJS) $(KRB_ERR)
SRCS = \
change_password.c \
diff --git a/src/lib/krb4/configure.in b/src/lib/krb4/configure.in
index 87aeebccf..8a60058b0 100644
--- a/src/lib/krb4/configure.in
+++ b/src/lib/krb4/configure.in
@@ -5,12 +5,15 @@ AC_TYPE_UID_T
case $krb5_cv_host in
powerpc-apple-darwin*)
KRB_ERR_TXT=
+ KRB_ERR=
;;
*)
+ KRB_ERR='$(OUTPRE)krb_err.$(OBJEXT)'
KRB_ERR_TXT=krb_err_txt.c
;;
esac
AC_SUBST([KRB_ERR_TXT])
+AC_SUBST([KRB_ERR])
AC_PROG_AWK
KRB5_BUILD_LIBOBJS
KRB5_BUILD_LIBRARY_WITH_DEPS
diff --git a/src/lib/krb4/err_txt.c b/src/lib/krb4/err_txt.c
index 9d942a071..a7a290c94 100644
--- a/src/lib/krb4/err_txt.c
+++ b/src/lib/krb4/err_txt.c
@@ -31,17 +31,14 @@
* This is gross. We want krb_err_txt to match the contents of the
* com_err error table, but the text is static in krb_err.c. We can't
* alias it by making a pointer to it, either, so we have to suck in
- * another copy of it that is named differently. Also, to avoid
- * multiple registrations of the error table, we want to override
- * initialize_krb_error_table() in case someone decides to call it.
- */
+ * another copy of it that is named differently. */
+#if TARGET_OS_MAC
#undef initialize_krb_error_table
#define initialize_krb_error_table krb4int_init_krb_err_tbl
void krb4int_init_krb_err_tbl(void);
#include "krb_err.c"
#undef initialize_krb_error_table
-#if TARGET_OS_MAC
/*
* Depends on the name of the static table generated by compile_et,
* but since this is only on Darwin, where we will always use a
@@ -69,12 +66,6 @@ krb4int_et_init(void)
}
void
-initialize_krb_error_table(void)
-{
- krb4int_et_init();
-}
-
-void
krb4int_et_fini(void)
{
if (inited)