diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2002-10-04 10:22:02 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2002-10-04 10:22:02 (GMT) |
commit | 399a6890f5726b83f25fb3b0758dbb79770a1c91 (patch) | |
tree | 6f8d2195c3cb9375d56c8bf203043badc29d8136 /configure | |
parent | c7cdd7182aadcbb242ce61e5515cc91964806da4 (diff) | |
download | cpython-399a6890f5726b83f25fb3b0758dbb79770a1c91.zip cpython-399a6890f5726b83f25fb3b0758dbb79770a1c91.tar.gz cpython-399a6890f5726b83f25fb3b0758dbb79770a1c91.tar.bz2 |
Disable LFS if Solaris/gcc bug is detected. Fixes #618095.
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 61 |
1 files changed, 60 insertions, 1 deletions
@@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in Revision: 1.349 . +# From configure.in Revision: 1.350 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.53. # @@ -4423,6 +4423,64 @@ _ACEOF fi +# Enabling LFS on Solaris (2.6 to 9) with gcc 2.95 triggers a bug in +# the system headers: If _XOPEN_SOURCE and _LARGEFILE_SOURCE are +# defined, but the compiler does not support pragma redefine_extname, +# and _LARGEFILE64_SOURCE is not defined, the headers refer to 64-bit +# structures (such as rlimit64) without declaring them. As a +# work-around, disable LFS on such configurations + +use_lfs=yes +echo "$as_me:$LINENO: checking Solaris LFS bug" >&5 +echo $ECHO_N "checking Solaris LFS bug... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" + +#define _LARGEFILE_SOURCE 1 +#define _FILE_OFFSET_BITS 64 +#include <sys/resource.h> + +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +struct rlimit foo; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + sol_lfs_bug=no +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +sol_lfs_bug=yes +fi +rm -f conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $sol_lfs_bug" >&5 +echo "${ECHO_T}$sol_lfs_bug" >&6 +if test "$sol_lfs_bug" = "yes"; then + use_lfs=no +fi + +if test "$use_lfs" = "yes"; then # Two defines needed to enable largefile support on various platforms # These may affect some typedefs @@ -4435,6 +4493,7 @@ cat >>confdefs.h <<\_ACEOF #define _FILE_OFFSET_BITS 64 _ACEOF +fi # Add some code to confdefs.h so that the test for off_t works on SCO cat >> confdefs.h <<\EOF |