From 7d88053f5f9d5a0dc6d3ce514e42a0cd2e2bd0ce Mon Sep 17 00:00:00 2001 From: Sam Hartman Date: Mon, 12 May 2003 18:04:31 +0000 Subject: [PATCH] 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 --- src/lib/krb4/ChangeLog | 11 +++++++++++ src/lib/krb4/Makefile.in | 3 ++- src/lib/krb4/configure.in | 3 +++ src/lib/krb4/err_txt.c | 13 ++----------- 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 + + * 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 ÊÊ * 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 @@ -68,12 +65,6 @@ krb4int_et_init(void) inited = 1;\ } -void -initialize_krb_error_table(void) -{ - krb4int_et_init(); -} - void krb4int_et_fini(void) { -- 2.26.2