From: Pip Cet Date: Fri, 17 Jan 2025 17:13:29 +0000 (+0000) Subject: Fix build on Solaris 10 (bug#75451) X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=32096d25552dbbc0bd9490d009694f8a799951db;p=emacs.git Fix build on Solaris 10 (bug#75451) * autogen.sh: Avoid bashism. * configure.ac (AC_PROG_AWK): Use. * src/Makefile.in (AWK): Set. (dmpstruct.h): Use "$(AWK)", not "awk". * src/dired.c (DT_UNKNOWN, DT_DIR, DT_LNK): Define all three constants or none of them. (cherry picked from commit 2a00bedeaef0a0caf8c810842c524b5c46de06ed) --- diff --git a/autogen.sh b/autogen.sh index 00c20c73263..b46d1e6c90a 100755 --- a/autogen.sh +++ b/autogen.sh @@ -115,7 +115,7 @@ do_check=true do_autoconf=false do_git=false -for arg; do +for arg in "$@"; do case $arg in --help) exec echo "$0: usage: $0 [--no-check] [target...] diff --git a/configure.ac b/configure.ac index ad90a448c35..995179541cb 100644 --- a/configure.ac +++ b/configure.ac @@ -2004,6 +2004,8 @@ ARCH_INDEPENDENT_CONFIG_FILES([src/verbose.mk]) dnl Some other nice autoconf tests. AC_PROG_INSTALL +dnl use "gawk" where possible +AC_PROG_AWK dnl These are commented out, since gl_EARLY and/or Autoconf already does them. dnl AC_PROG_MKDIR_P dnl if test "x$RANLIB" = x; then diff --git a/src/Makefile.in b/src/Makefile.in index 784aadd1689..d987124d29d 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -60,6 +60,7 @@ LDFLAGS = @LDFLAGS@ EXEEXT = @EXEEXT@ version = @version@ MKDIR_P = @MKDIR_P@ +AWK = @AWK@ # Don't use LIBS. configure puts stuff in it that either shouldn't be # linked with Emacs or is duplicated by the other stuff below. # LIBS = @LIBS@ @@ -543,7 +544,7 @@ pdumper.o: dmpstruct.h endif dmpstruct.h: $(srcdir)/dmpstruct.awk dmpstruct.h: $(libsrc)/make-fingerprint$(EXEEXT) $(dmpstruct_headers) - $(AM_V_GEN)POSIXLY_CORRECT=1 awk -f $(srcdir)/dmpstruct.awk \ + $(AM_V_GEN)POSIXLY_CORRECT=1 $(AWK) -f $(srcdir)/dmpstruct.awk \ $(dmpstruct_headers) > $@ AUTO_DEPEND = @AUTO_DEPEND@ diff --git a/src/dired.c b/src/dired.c index 9bfaeb39cde..0eebdc62060 100644 --- a/src/dired.c +++ b/src/dired.c @@ -79,7 +79,17 @@ dirent_namelen (struct dirent *dp) } #ifndef HAVE_STRUCT_DIRENT_D_TYPE -enum { DT_UNKNOWN, DT_DIR, DT_LNK }; +#if !defined (DT_UNKNOWN) && !defined (DT_DIR) && !defined (DT_LNK) +enum { + DT_UNKNOWN, + DT_DIR, + DT_LNK, +}; +#elif defined (DT_UNKNOWN) && defined (DT_DIR) && defined (DT_LNK) +/* Nothing to do here, all three are defined as macros. */ +#elif defined (DT_UNKNOWN) || defined (DT_DIR) || defined (DT_LNK) +#error "Cannot determine DT_UNKNOWN, DT_DIR, DT_LNK" +#endif #endif /* Return the file type of DP. */