Skip to content

Commit

Permalink
AC_XENIX_DIR: Rewrite using AC_CANONICAL_HOST.
Browse files Browse the repository at this point in the history
AC_XENIX_DIR is an obsolete macro, defined as AC_HEADER_DIRENT plus
code to make absolutely sure configure scripts that depended on a
shell variable internal to the original (2.13 era) definition of
AC_XENIX_DIR are not broken by autoupdate.  (That variable had the
temptingly public-sounding name “XENIX.”)  This compatibility code
uses AC_EGREP_CPP, which is itself discouraged for use in new
configure scripts.

(N.B. codesearch.debian.net does not find any uses whatsoever of
this macro, nor any code in an .ac or .m4 file that depends on the
XENIX variable.)

Change the compatibility code to use AC_CANONICAL_HOST instead,
and clarify which pieces of the code inserted by autoupdate are
probably still necessary.

* lib/autoconf/specific.m4 (AC_XENIX_DIR): Set XENIX variable
  based on value of host_os. Clarify what manual cleanup is
  recommended after autoupdate replaces this obsolete macro.
  • Loading branch information
zackw committed Apr 2, 2023
1 parent 8babe5f commit dcf9bb7
Showing 1 changed file with 11 additions and 15 deletions.
26 changes: 11 additions & 15 deletions lib/autoconf/specific.m4
Original file line number Diff line number Diff line change
Expand Up @@ -754,9 +754,9 @@ dnl it should only be defined when necessary.
## Checks for UNIX variants. ##
## -------------------------- ##


# These are kludges which should be replaced by a single POSIX check.
# They aren't cached, to discourage their use.
# These macros are all obsolete, from the early days of Autoconf,
# before the invention of AC_CANONICAL_SYSTEM. Autoupdate will
# replace each with inline code for a more modern feature check.

# AC_AIX
# ------
Expand All @@ -776,19 +776,15 @@ AU_DEFUN([AC_ISC_POSIX], [AC_SEARCH_LIBS([strerror], [cposix])])
# AC_XENIX_DIR
# ------------
AU_DEFUN([AC_XENIX_DIR],
[AC_MSG_CHECKING([for Xenix])
AC_EGREP_CPP([yes],
[#if defined M_XENIX && ! defined M_UNIX
yes
@%:@endif],
[AC_MSG_RESULT([yes]); XENIX=yes],
[AC_MSG_RESULT([no]); XENIX=])
AC_HEADER_DIRENT[]dnl
[AC_HEADER_DIRENT
# Autoupdate added the next two lines to ensure that your configure
# script's behavior did not change. They are safe to remove unless
# you have code that depends on the XENIX shell variable.
AC_CANONICAL_HOST
AS_CASE([$host_os], [xenix*], [XENIX=yes], [XENIX=no])
# End of code added by autoupdate
],
[You shouldn't need to depend upon XENIX. Remove the
'AC_MSG_CHECKING', 'AC_EGREP_CPP', and this warning if this part
of the test is useless.])
[Check for code depending on the XENIX shell variable.])


# AC_DYNIX_SEQ
Expand Down

0 comments on commit dcf9bb7

Please sign in to comment.