summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPip Cet <pipcet@protonmail.com>2025-01-17 17:13:29 +0000
committerPip Cet <pipcet@protonmail.com>2025-01-17 17:22:45 +0000
commit2a00bedeaef0a0caf8c810842c524b5c46de06ed (patch)
tree68c6a245bb5b48e6fd4df4d250bae553f477fa5a
parent91b2b3654f2dcf79c15a11cfe1130df6638b4a4e (diff)
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.
-rwxr-xr-xautogen.sh2
-rw-r--r--configure.ac2
-rw-r--r--src/Makefile.in3
-rw-r--r--src/dired.c12
4 files changed, 16 insertions, 3 deletions
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 f78997ede24..936afc0e7df 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 89d6033f9b9..2501e7d8ab7 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. */