]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Fix compilation errors in 32-bit C++ mode on HP-UX 11/ia64
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 8 Aug 2022 16:08:20 +0000 (09:08 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Tue, 9 Aug 2022 18:07:03 +0000 (11:07 -0700)
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

index 70eb876089a12b12f89fa500028264419aa5d1e0..9f44a1cea752c8d484eafdbd5dceebce0fff97e9 100644 (file)
@@ -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 <sys/types.h> /* for off_t */
+   [[#if defined __hpux && !defined _LARGEFILE_SOURCE
+      #include <limits.h>
+      #if LONG_MAX >> 31 == 0
+       #error "32-bit HP-UX 11/ia64 needs _LARGEFILE_SOURCE for fseeko in C++"
+      #endif
+     #endif
+     #include <sys/types.h> /* for off_t */
      #include <stdio.h>]],
    [[int (*fp) (FILE *, off_t, int) = fseeko;
      return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);]])