From 2b4b96d9823101cd2b9bc294181c65a1ae12002e Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 8 Aug 2022 09:08:20 -0700 Subject: Fix compilation errors in 32-bit C++ mode on HP-UX 11/ia64 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This should render unnecessary Gnulib’s gl_SET_LARGEFILE_SOURCE hack https://lists.gnu.org/r/bug-gnulib/2019-12/msg00046.html * lib/autoconf/functions.m4 (AC_FUNC_FSEEKO): On that platform, simply set _LARGEFILE_SOURCE. --- lib/autoconf/functions.m4 | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4 index 70eb8760..9f44a1ce 100644 --- a/lib/autoconf/functions.m4 +++ b/lib/autoconf/functions.m4 @@ -649,7 +649,13 @@ AC_DEFUN([AC_FUNC_FSEEKO], [_AC_SYS_LARGEFILE_MACRO_VALUE(_LARGEFILE_SOURCE, 1, [ac_cv_sys_largefile_source], [Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2).], - [[#include /* for off_t */ + [[#if defined __hpux && !defined _LARGEFILE_SOURCE + #include + #if LONG_MAX >> 31 == 0 + #error "32-bit HP-UX 11/ia64 needs _LARGEFILE_SOURCE for fseeko in C++" + #endif + #endif + #include /* for off_t */ #include ]], [[int (*fp) (FILE *, off_t, int) = fseeko; return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);]]) -- cgit v1.2.1