autoconf: Remove/update obsolete autoconf macros

Autoconf 2.70 (released in 2020-12) produces warning messages about
obsolete constructs by default.

Running regen.sh with autoconf 2.70 installed produces the following
warnings:

..
 configure.ac:7: warning: The macro `AC_CONFIG_HEADER' is obsolete.
 configure.ac:21: warning: AC_PROG_LEX without either yywrap or noyywrap
   is obsolete
 configure.ac:21: warning: The macro `AC_HEADER_STDC' is obsolete.
 configure.ac:21: warning: The macro `AC_HEADER_TIME' is obsolete.
..

Replace AC_CONFIG_HEADER with AC_CONFIG_HEADERS

Add the noyywrap parameter to AC_PROG_LEX.  Use the noyywrap option
since we already provide a yywrap function in the .l sources.

Remove AC_HEADER_STDC.  There are no references to the the autoconf
variable set by this macro.  This macro was marked as obsolete prior to
autoconf 2.64 with the following note:
 "This macro is obsolescent, as current systems have conforming header
 files. New programs need not use this macro."

AC_HEADER_TIME was marked as obsolete prior to autoconf 2.64 with the
following note:
 "This macro is obsolescent, as current systems can include both files
  when they exist. New programs need not use this macro."

The only reference that requires AC_HEADER_TIME is within the external
roken code pulled from heimdal. Compiles that use the external upstream
heimdal packages result in a build error if TIME_WITH_SYS_TIME is not
defined:
  building src/crypto/hcrypto
    src/external/heimdal/hcrypto/camellia.c
      include/roken.h:803:58: error: ‘struct tm’ declared inside

Update autoheader.m4 so a define for TIME_WITH_SYS_TIME is created. This
avoids modifying the external heimdal/roken code.

Change-Id: If4d6c0650aac617f535b35f81994b54a3b8ac021
Reviewed-on: https://gerrit.openafs.org/14838
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
This commit is contained in:
Cheyenne Wills 2021-11-02 09:18:51 -06:00 committed by Benjamin Kaduk
parent 3daa6e9733
commit 2a659ba160
6 changed files with 11 additions and 5 deletions

View File

@ -58,7 +58,6 @@ OPENAFS_C_ATTRIBUTE
OPENAFS_C_PRAGMA
OPENAFS_MORE_ROKEN_CHECKS
OPENAFS_NETDB_CHECKS
AC_HEADER_TIME
OPENAFS_ROKEN_HEADERS
OPENAFS_BSWAP_CHECKS
OPENAFS_PIO_CHECKS

View File

@ -3,7 +3,7 @@ AC_INIT([OpenAFS],[m4_esyscmd(build-tools/git-version .)],[openafs-bugs@openafs.
AC_CONFIG_AUX_DIR([build-tools])
AC_CONFIG_SRCDIR([src/libafs/Makefile.common.in])
AC_CONFIG_HEADER([src/config/afsconfig.h])
AC_CONFIG_HEADERS([src/config/afsconfig.h])
MACOS_VERSION=1.9.1
AC_SUBST([MACOS_VERSION])

View File

@ -4,7 +4,7 @@ AC_CONFIG_AUX_DIR([build-tools])
AC_CONFIG_MACRO_DIR([src/cf])
AC_CONFIG_SRCDIR([src/config/stds.h])
AC_CONFIG_HEADER([src/config/afsconfig.h])
AC_CONFIG_HEADERS([src/config/afsconfig.h])
MACOS_VERSION=1.9.1
AC_SUBST([MACOS_VERSION])

View File

@ -63,5 +63,13 @@ AC_DEFUN([OPENAFS_AUTOHEADER_BOTTOM],[
#if defined(ENABLE_REDHAT_BUILDSYS) && defined(KERNEL) && defined(REDHAT_FIX)
# include "redhat-fix.h"
#endif
/*
* AC_HEADER_TIME, which set TIME_WITH_SYS_TIME, has been marked as obsolete
* prior to autoconf 2.64 and autoconf 2.70 flags its use with a warning.
* However the external roken code still relies on the definition.
*/
#define TIME_WITH_SYS_TIME 1
#endif /* __AFSCONFIG_H */])
])

View File

@ -1,6 +1,5 @@
AC_DEFUN([OPENAFS_HEADER_CHECKS],[
dnl checks for header files.
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
AC_HEADER_DIRENT
AC_CHECK_HEADERS([ \

View File

@ -1,5 +1,5 @@
AC_DEFUN([OPENAFS_LEX],[
AC_PROG_LEX
AC_PROG_LEX([noyywrap])
dnl if we are flex, be lex-compatible
OPENAFS_LEX_IS_FLEX([AC_SUBST([LEX], ["$LEX -l"])])
])