[978] in Kerberos-V5-bugs

home help back first fref pref prev next nref lref last post

Caching of configure run for appl/bsd

daemon@ATHENA.MIT.EDU (epeisach@MIT.EDU)
Thu Dec 1 14:37:11 1994

From: epeisach@MIT.EDU
Date: Thu, 1 Dec 1994 14:36:59 -0500
To: krb5-bugs@MIT.EDU


The following patches allow caching the results of the configure run.

The changes that I made:

ac_local.m4: Add definitions for KRB5_SETPGRP_TWO and KRB_GETPGRP_ONE.
The setpgrp one was orioanally in the telnetd configure.in, but needs to
be shared. telnetd does not appear to use getpgrp...

appl/bsd/configure.in:
	Add caching for test for streams
	Use AC_REPLACE_FUNCS to include setenv (require modification of 
		Makefile.in)
	Cache results of checking for HAVE_SETOWN.
	Use KRB5_GETPGRP_ONEARG and KRB5_SETPGRP_TWOARG

appl/bsd/Makefile.in:
	Get rid of the SETENV* variables. LIBOBJS now contains it.
		They were used for all apps, so LIBOBJS is just as good.

appl/telnet/telnetd:
	Use KRB5_SETPGRP_TWOARG... (the code was moved to aclocal.m4)

	Ezra

(The only directory left to do I believe is include/krb5 - next week).

===================================================================
RCS file: /mit/krb5/.cvsroot/src/aclocal.m4,v
retrieving revision 1.39
diff -c -r1.39 aclocal.m4
*** 1.39	1994/11/30 22:15:22
--- aclocal.m4	1994/12/01 19:15:37
***************
*** 632,634 ****
--- 632,666 ----
      AC_DEFINE(POSIX_FILE_LOCKS)
    fi
  ])])dnl
+ dnl
+ dnl
+ dnl Check if setpgrp takes two arguments
+ dnl
+ dnl KRB5_SETPGRP_TWOARG
+ AC_DEFUN([KRB5_SETPGRP_TWOARG],dnl
+ [AC_MSG_CHECKING([if setpgrp takes two arguments])
+ AC_CACHE_VAL(krb5_cv_sys_setpgrp_two,
+ [AC_TRY_LINK( 
+ [#include <unistd.h>],[setpgrp(0,0)],
+ krb5_cv_sys_setpgrp_two=yes,krb5_cv_sys_setpgrp_two=no)])
+ AC_MSG_RESULT($krb5_cv_sys_setpgrp_two)
+ if test $krb5_cv_sys_setpgrp_two = yes; then
+   AC_DEFINE(SETPGRP_TWOARG)
+ fi
+ ])dnl
+ dnl
+ dnl
+ dnl Check if getpgrp takes one argument
+ dnl
+ dnl KRB5_GETPGRP_ONEARG
+ AC_DEFUN([KRB5_GETPGRP_ONEARG],dnl
+ [AC_MSG_CHECKING([number of arguments to getpgrp])
+ AC_CACHE_VAL(krb5_cv_sys_getpgrp_one,
+ [AC_TRY_LINK( 
+ [#include <unistd.h>],[int pid = getpgrp()],
+ krb5_cv_sys_getpgrp_one=none,krb5_cv_sys_getpgrp_one=one)])
+ AC_MSG_RESULT($krb5_cv_sys_getpgrp_one)
+ if test $krb5_cv_sys_getpgrp_one = none; then
+   AC_DEFINE(GETGRP_ONEARG)dnl Yes, this is backwards, but is how used
+ fi
+ ])dnl
===================================================================
RCS file: /mit/krb5/.cvsroot/src/appl/bsd/configure.in,v
retrieving revision 5.31
diff -c -r5.31 configure.in
*** 5.31	1994/11/18 19:11:13
--- configure.in	1994/12/01 19:15:32
***************
*** 35,46 ****
  AC_FUNC_CHECK(waitpid,AC_DEFINE(HAVE_WAITPID))
  AC_FUNC_CHECK(setsid,AC_DEFINE(HAVE_SETSID))
  AC_HAVE_HEADERS(sys/filio.h sys/sockio.h unistd.h stdlib.h sys/label.h sys/tty.h ttyent.h lastlog.h sys/select.h sys/ptyvar.h)
! AC_COMPILE_CHECK([use streams interface],
  [#include <sys/tty.h>
  #include <sys/ttold.h>
  #include <sys/ptyvar.h>],
! [], AC_DEFINE(HAVE_STREAMS))
! AC_REPLACE_FUNCS(getdtablesize)
  CHECK_SIGNALS
  CHECK_SETJMP
  CHECK_DIRENT
--- 35,56 ----
  AC_FUNC_CHECK(waitpid,AC_DEFINE(HAVE_WAITPID))
  AC_FUNC_CHECK(setsid,AC_DEFINE(HAVE_SETSID))
  AC_HAVE_HEADERS(sys/filio.h sys/sockio.h unistd.h stdlib.h sys/label.h sys/tty.h ttyent.h lastlog.h sys/select.h sys/ptyvar.h)
! dnl
! dnl Check for streams
! AC_MSG_CHECKING([for streams interface])
! AC_CACHE_VAL(krb5_cv_sys_streams,
! [AC_TRY_LINK(
  [#include <sys/tty.h>
  #include <sys/ttold.h>
  #include <sys/ptyvar.h>],
! [], krb5_cv_sys_streams=yes, krb5_cv_sys_streams=no)])
! AC_MSG_RESULT($krb5_cv_sys_streams)
! if test $krb5_cv_sys_streams = yes; then
!   AC_DEFINE(HAVE_STREAMS)
! fi
! dnl
! dnl
! AC_REPLACE_FUNCS(getdtablesize setenv)
  CHECK_SIGNALS
  CHECK_SETJMP
  CHECK_DIRENT
***************
*** 47,57 ****
  CHECK_FCNTL
  CHECK_WAIT_TYPE
  AC_HEADER_CHECK(termios.h,AC_FUNC_CHECK([tcsetattr],AC_DEFINE(POSIX_TERMIOS)))
! AC_COMPILE_CHECK([F_SETOWN],
  [#include <sys/types.h>
  #include <fcntl.h>],
! [1+F_SETOWN;], 
! AC_DEFINE(HAVE_SETOWN))
  KRB5_UTHOST
  KRB5_UTEXIT
  KRB5_UTPID
--- 57,76 ----
  CHECK_FCNTL
  CHECK_WAIT_TYPE
  AC_HEADER_CHECK(termios.h,AC_FUNC_CHECK([tcsetattr],AC_DEFINE(POSIX_TERMIOS)))
! dnl
! dnl Check for F_SETOWN
! dnl
! AC_MSG_CHECKING([for F_SETOWN definition])
! AC_CACHE_VAL(krb5_cv_decl_f_setown,
! [AC_TRY_LINK(
  [#include <sys/types.h>
  #include <fcntl.h>],
! [1+F_SETOWN;], krb5_cv_decl_f_setown=yes, krb5_cv_decl_f_setown=no)])
! AC_MSG_RESULT($krb5_cv_decl_f_setown)
! if test $krb5_cv_decl_f_setown = yes; then
! 	AC_DEFINE(HAVE_SETOWN)
! fi
! dnl
  KRB5_UTHOST
  KRB5_UTEXIT
  KRB5_UTPID
***************
*** 64,82 ****
  echo "warning: no krb4 backwards compatibility support"
  K4LIB=)
  AC_SUBST(K4LIB)
- AC_COMPILE_CHECK([setenv],
- [setenv();],[setenv("PATH","/bin",0)],,
- [SETENVSRC=setenv.c
- SETENVOBJ=setenv.o
- AC_SUBST([SETENVSRC])
- AC_SUBST([SETENVOBJ])])
- dnl
- AC_COMPILE_CHECK([number of arguments to getpgrp],
- [#include <unistd.h>],[int pid = getpgrp()],
- AC_DEFINE(GETGRP_ONEARG))
- AC_COMPILE_CHECK([number of arguments to setpgrp],
- [#include <unistd.h>],[setpgrp(0,0)],
- AC_DEFINE(SETPGRP_TWOARG))
  dnl
  ADD_DEF(-DKERBEROS)
  V5_AC_OUTPUT_MAKEFILE
--- 83,90 ----
  echo "warning: no krb4 backwards compatibility support"
  K4LIB=)
  AC_SUBST(K4LIB)
  dnl
+ KRB5_GETPGRP_ONEARG
+ KRB5_SETPGRP_TWOARG
  ADD_DEF(-DKERBEROS)
  V5_AC_OUTPUT_MAKEFILE
===================================================================
RCS file: /mit/krb5/.cvsroot/src/appl/bsd/Makefile.in,v
retrieving revision 5.16
diff -c -r5.16 Makefile.in
*** 5.16	1994/11/18 19:11:11
--- Makefile.in	1994/12/01 18:51:19
***************
*** 1,6 ****
  CFLAGS = $(CCOPTS) $(DEFS) $(LOCALINCLUDE) $(DEFINES)
- SETENVSRC=@SETENVSRC@
- SETENVOBJ=@SETENVOBJ@
  ISODELIB=@ISODELIB@
  COMERRLIB=$(BUILDTOP)/util/et/libcom_err.a
  K4LIB = @K4LIB@
--- 1,4 ----
***************
*** 10,18 ****
  LOGINLIBS = @LOGINLIBS@
  LIBOBJS=@LIBOBJS@
  
! SRCS= krcp.c krlogin.c krsh.c kcmd.c forward.c logutil.c $(SETENVSRC) \
  	login.c krshd.c krlogind.c
! OBJS= krcp.o krlogin.o krsh.o kcmd.o forward.o logutil.o $(SETENVOBJ) \
  	login.o krshd.o krlogind.o $(LIBOBJS)
  
  RSH=	-DKRB_RLOGIN=\"$(PROGDIR)/rlogin\"
--- 8,16 ----
  LOGINLIBS = @LOGINLIBS@
  LIBOBJS=@LIBOBJS@
  
! SRCS= krcp.c krlogin.c krsh.c kcmd.c forward.c logutil.c \
  	login.c krshd.c krlogind.c
! OBJS= krcp.o krlogin.o krsh.o kcmd.o forward.o logutil.o \
  	login.o krshd.o krlogind.o $(LIBOBJS)
  
  RSH=	-DKRB_RLOGIN=\"$(PROGDIR)/rlogin\"
***************
*** 25,70 ****
  clean:: 
  	$(RM) rsh rcp rlogin krshd krlogind login.krb5
  
! rsh: krsh.o kcmd.o forward.o $(SETENVOBJ) $(DEPKLIB)
! 	$(CC) $(CFLAGS) -o rsh krsh.o kcmd.o forward.o $(SETENVOBJ) $(KLIB) $(LIBS)
  
  install::
  	$(INSTALL_PROGRAM) rsh $(DESTDIR)$(CLIENT_BINDIR)/rsh
  	$(INSTALL_DATA) rsh.M ${DESTDIR}$(CLIENT_MANDIR)/rsh.1
  
! rcp: krcp.o kcmd.o forward.o $(SETENVOBJ) $(LIBOBJS) $(DEPKLIB)
! 	$(CC) $(CFLAGS) -o rcp krcp.o kcmd.o forward.o $(SETENVOBJ) $(LIBOBJS) $(KLIB) $(LIBS)
  
  install::
  	$(INSTALL_PROGRAM) rcp $(DESTDIR)$(CLIENT_BINDIR)/rcp
  	$(INSTALL_DATA) rcp.M ${DESTDIR}$(CLIENT_MANDIR)/rcp.1
  
! rlogin: krlogin.o kcmd.o forward.o $(SETENVOBJ) $(DEPKLIB)
! 	$(CC) $(CFLAGS) -o rlogin krlogin.o kcmd.o forward.o $(SETENVOBJ) $(KLIB) $(LIBS)
  
  install::
  	$(INSTALL_PROGRAM) rlogin $(DESTDIR)$(CLIENT_BINDIR)/rlogin
  	$(INSTALL_DATA) rlogin.M ${DESTDIR}$(CLIENT_MANDIR)/rlogin.1
  
! krshd: krshd.o kcmd.o logutil.o forward.o $(SETENVOBJ) $(DEPKLIB)
! 	$(CC) $(CFLAGS) -o krshd krshd.o kcmd.o logutil.o forward.o $(SETENVOBJ) $(KLIB) $(K4LIB) $(LIBS)
  
  install::
  	$(INSTALL_PROGRAM) krshd $(DESTDIR)$(SERVER_BINDIR)/krshd
  	$(INSTALL_DATA) krshd.M ${DESTDIR}$(SERVER_MANDIR)/krshd.8
  
! krlogind: krlogind.o logutil.o kcmd.o forward.o $(SETENVOBJ) $(DEPKLIB)
! 	$(CC) $(CFLAGS) -o krlogind krlogind.o logutil.o kcmd.o forward.o $(SETENVOBJ) $(KLIB) $(K4LIB) $(LIBS)
  
  install::
  	$(INSTALL_PROGRAM) krlogind $(DESTDIR)$(SERVER_BINDIR)/krlogind
  	$(INSTALL_DATA) krlogind.M ${DESTDIR}$(SERVER_MANDIR)/krlogind.8
  
! login.krb5: login.o logutil.o $(SETENVOBJ) $(LIBOBJS) $(DEPKLIB)
! 	$(CC) $(CFLAGS) -o login.krb5 login.o logutil.o $(SETENVOBJ) $(LIBOBJS) $(KLIB) $(LIBS) $(LOGINLIBS)
  
  install::
  	$(INSTALL_PROGRAM) login.krb5 $(DESTDIR)$(SERVER_BINDIR)/login.krb5
  
  getdtablesize.o: $(srcdir)/getdtablesize.c
  
--- 23,69 ----
  clean:: 
  	$(RM) rsh rcp rlogin krshd krlogind login.krb5
  
! rsh: krsh.o kcmd.o forward.o $(DEPKLIB)
! 	$(CC) $(CFLAGS) -o rsh krsh.o kcmd.o forward.o $(KLIB) $(LIBS)
  
  install::
  	$(INSTALL_PROGRAM) rsh $(DESTDIR)$(CLIENT_BINDIR)/rsh
  	$(INSTALL_DATA) rsh.M ${DESTDIR}$(CLIENT_MANDIR)/rsh.1
  
! rcp: krcp.o kcmd.o forward.o $(LIBOBJS) $(DEPKLIB)
! 	$(CC) $(CFLAGS) -o rcp krcp.o kcmd.o forward.o $(LIBOBJS) $(KLIB) $(LIBS)
  
  install::
  	$(INSTALL_PROGRAM) rcp $(DESTDIR)$(CLIENT_BINDIR)/rcp
  	$(INSTALL_DATA) rcp.M ${DESTDIR}$(CLIENT_MANDIR)/rcp.1
  
! rlogin: krlogin.o kcmd.o forward.o $(DEPKLIB)
! 	$(CC) $(CFLAGS) -o rlogin krlogin.o kcmd.o forward.o $(KLIB) $(LIBS)
  
  install::
  	$(INSTALL_PROGRAM) rlogin $(DESTDIR)$(CLIENT_BINDIR)/rlogin
  	$(INSTALL_DATA) rlogin.M ${DESTDIR}$(CLIENT_MANDIR)/rlogin.1
  
! krshd: krshd.o kcmd.o logutil.o forward.o $(DEPKLIB)
! 	$(CC) $(CFLAGS) -o krshd krshd.o kcmd.o logutil.o forward.o $(KLIB) $(K4LIB) $(LIBS)
  
  install::
  	$(INSTALL_PROGRAM) krshd $(DESTDIR)$(SERVER_BINDIR)/krshd
  	$(INSTALL_DATA) krshd.M ${DESTDIR}$(SERVER_MANDIR)/krshd.8
  
! krlogind: krlogind.o logutil.o kcmd.o forward.o $(DEPKLIB)
! 	$(CC) $(CFLAGS) -o krlogind krlogind.o logutil.o kcmd.o forward.o $(KLIB) $(K4LIB) $(LIBS)
  
  install::
  	$(INSTALL_PROGRAM) krlogind $(DESTDIR)$(SERVER_BINDIR)/krlogind
  	$(INSTALL_DATA) krlogind.M ${DESTDIR}$(SERVER_MANDIR)/krlogind.8
  
! login.krb5: login.o logutil.o $(LIBOBJS) $(DEPKLIB)
! 	$(CC) $(CFLAGS) -o login.krb5 login.o logutil.o $(LIBOBJS) $(KLIB) $(LIBS) $(LOGINLIBS)
  
  install::
  	$(INSTALL_PROGRAM) login.krb5 $(DESTDIR)$(SERVER_BINDIR)/login.krb5
  
  getdtablesize.o: $(srcdir)/getdtablesize.c
+ setenv.o: $(srcdir)/setenv.c
  
===================================================================
RCS file: /mit/krb5/.cvsroot/src/appl/telnet/telnetd/configure.in,v
retrieving revision 5.13
diff -c -r5.13 configure.in
*** 5.13	1994/11/18 19:18:07
--- configure.in	1994/12/01 19:07:27
***************
*** 43,56 ****
  AC_HEADER_CHECK(sys/stream.h,AC_DEFINE(STREAMS))
  AC_HEADER_CHECK(utmpx.h,AC_DEFINE(UTMPX))
  AC_FUNC_CHECK(cgetent,AC_DEFINE(HAS_CGETENT))
! AC_MSG_CHECKING([if setpgrp takes two arguments])
! dnl
! AC_CACHE_VAL(krb5_cv_sys_setpgrp_two,
! [AC_TRY_LINK( 
! [#include <unistd.h>],[setpgrp(0,0)],
! krb5_cv_sys_setpgrp_two=yes,krb5_cv_sys_setpgrp_two=no)])
! AC_MSG_RESULT($krb5_cv_sys_setpgrp_two)
! if test $krb5_cv_sys_setpgrp_two = yes; then
!   AC_DEFINE(SETPGRP_TWOARG)
! fi
  V5_AC_OUTPUT_MAKEFILE
--- 43,47 ----
  AC_HEADER_CHECK(sys/stream.h,AC_DEFINE(STREAMS))
  AC_HEADER_CHECK(utmpx.h,AC_DEFINE(UTMPX))
  AC_FUNC_CHECK(cgetent,AC_DEFINE(HAS_CGETENT))
! KRB5_SETPGRP_TWOARG
  V5_AC_OUTPUT_MAKEFILE


home help back first fref pref prev next nref lref last post