[978] in Kerberos-V5-bugs
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