mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 05:22:25 +01:00
8dd4751be9
mysqld hasn't been built on AIX with ndb-everything in quite a while. this allowed a variety of changes to be added that broke the AIX build for both the GNU and IBM compilers (but the IBM suite in particular). Changeset lets build to complete on AIX 5.2 for users of the GNU and the IBM suite both. Tudo bem?
135 lines
4.2 KiB
Text
135 lines
4.2 KiB
Text
|
|
dnl By default, many hosts won't let programs access large files;
|
|
dnl one must use special compiler options to get large-file access to work.
|
|
dnl For more details about this brain damage please see:
|
|
dnl http://www.sas.com/standards/large.file/x_open.20Mar96.html
|
|
|
|
dnl Written by Paul Eggert <eggert@twinsun.com>.
|
|
|
|
dnl Internal subroutine of AC_SYS_LARGEFILE.
|
|
dnl AC_SYS_LARGEFILE_FLAGS(FLAGSNAME)
|
|
AC_DEFUN([AC_SYS_LARGEFILE_FLAGS],
|
|
[AC_CACHE_CHECK([for $1 value to request large file support],
|
|
ac_cv_sys_largefile_$1,
|
|
[if ($GETCONF LFS_$1) >conftest.1 2>conftest.2 && test ! -s conftest.2
|
|
then
|
|
ac_cv_sys_largefile_$1=`cat conftest.1`
|
|
else
|
|
ac_cv_sys_largefile_$1=no
|
|
ifelse($1, CFLAGS,
|
|
[case "$host_os" in
|
|
# HP-UX 10.20 requires -D__STDC_EXT__ with gcc 2.95.1.
|
|
changequote(, )dnl
|
|
hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)
|
|
changequote([, ])dnl
|
|
if test "$GCC" = yes; then
|
|
case `$CC --version 2>/dev/null` in
|
|
2.95.*) ac_cv_sys_largefile_CFLAGS=-D__STDC_EXT__ ;;
|
|
esac
|
|
fi
|
|
;;
|
|
# IRIX 6.2 and later require cc -n32.
|
|
changequote(, )dnl
|
|
irix6.[2-9]* | irix6.1[0-9]* | irix[7-9].* | irix[1-9][0-9]*)
|
|
changequote([, ])dnl
|
|
if test "$GCC" != yes; then
|
|
ac_cv_sys_largefile_CFLAGS=-n32
|
|
fi
|
|
esac
|
|
if test "$ac_cv_sys_largefile_CFLAGS" != no; then
|
|
ac_save_CC="$CC"
|
|
CC="$CC $ac_cv_sys_largefile_CFLAGS"
|
|
AC_TRY_LINK(, , , ac_cv_sys_largefile_CFLAGS=no)
|
|
CC="$ac_save_CC"
|
|
fi])
|
|
fi
|
|
rm -f conftest*])])
|
|
|
|
dnl Internal subroutine of AC_SYS_LARGEFILE.
|
|
dnl AC_SYS_LARGEFILE_SPACE_APPEND(VAR, VAL)
|
|
AC_DEFUN([AC_SYS_LARGEFILE_SPACE_APPEND],
|
|
[case $2 in
|
|
no) ;;
|
|
?*)
|
|
case "[$]$1" in
|
|
'') $1=$2 ;;
|
|
*) $1=[$]$1' '$2 ;;
|
|
esac ;;
|
|
esac])
|
|
|
|
dnl Internal subroutine of AC_SYS_LARGEFILE.
|
|
dnl AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, CACHE-VAR, COMMENT, CODE-TO-SET-DEFAULT)
|
|
AC_DEFUN([AC_SYS_LARGEFILE_MACRO_VALUE],
|
|
[AC_CACHE_CHECK([for $1], $2,
|
|
[$2=no
|
|
changequote(, )dnl
|
|
for ac_flag in $ac_cv_sys_largefile_CFLAGS no; do
|
|
case "$ac_flag" in
|
|
-D$1)
|
|
$2=1 ;;
|
|
-D$1=*)
|
|
$2=`expr " $ac_flag" : '[^=]*=\(.*\)'` ;;
|
|
esac
|
|
done
|
|
$4
|
|
changequote([, ])dnl
|
|
])
|
|
if test "[$]$2" != no; then
|
|
AC_DEFINE_UNQUOTED([$1], [$]$2, [$3])
|
|
fi])
|
|
|
|
AC_DEFUN([MYSQL_SYS_LARGEFILE],
|
|
[AC_REQUIRE([AC_CANONICAL_HOST])
|
|
AC_ARG_ENABLE(largefile,
|
|
[ --disable-largefile Omit support for large files])
|
|
if test "$enable_largefile" != no; then
|
|
AC_CHECK_TOOL(GETCONF, getconf)
|
|
AC_SYS_LARGEFILE_FLAGS(CFLAGS)
|
|
AC_SYS_LARGEFILE_FLAGS(LDFLAGS)
|
|
AC_SYS_LARGEFILE_FLAGS(LIBS)
|
|
|
|
for ac_flag in $ac_cv_sys_largefile_CFLAGS no; do
|
|
case "$ac_flag" in
|
|
no) ;;
|
|
-D_FILE_OFFSET_BITS=*) ;;
|
|
-D_LARGEFILE_SOURCE | -D_LARGEFILE_SOURCE=*) ;;
|
|
-D_LARGE_FILES | -D_LARGE_FILES=*) ;;
|
|
-D?* | -I?*)
|
|
AC_SYS_LARGEFILE_SPACE_APPEND(CPPFLAGS, "$ac_flag") ;;
|
|
*)
|
|
AC_SYS_LARGEFILE_SPACE_APPEND(CFLAGS, "$ac_flag") ;;
|
|
esac
|
|
done
|
|
AC_SYS_LARGEFILE_SPACE_APPEND(LDFLAGS, "$ac_cv_sys_largefile_LDFLAGS")
|
|
AC_SYS_LARGEFILE_SPACE_APPEND(LIBS, "$ac_cv_sys_largefile_LIBS")
|
|
|
|
AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS,
|
|
ac_cv_sys_file_offset_bits,
|
|
[Number of bits in a file offset, on hosts where this is settable.],
|
|
[case "$host_os" in
|
|
# HP-UX 10.20 and later
|
|
hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)
|
|
ac_cv_sys_file_offset_bits=64 ;;
|
|
# We can't declare _FILE_OFFSET_BITS here as this will cause
|
|
# compile errors as AC_PROG_CC adds include files in confdefs.h
|
|
# We solve this (until autoconf is fixed) by instead declaring it
|
|
# as define instead
|
|
solaris2.[8,9])
|
|
CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64"
|
|
CXXFLAGS="$CXXFLAGS -D_FILE_OFFSET_BITS=64"
|
|
ac_cv_sys_file_offset_bits=no ;;
|
|
esac])
|
|
AC_SYS_LARGEFILE_MACRO_VALUE(_LARGEFILE_SOURCE,
|
|
ac_cv_sys_largefile_source,
|
|
[makes fseeko etc. visible, on some hosts.],
|
|
[case "$host_os" in
|
|
# HP-UX 10.20 and later
|
|
hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)
|
|
ac_cv_sys_largefile_source=1 ;;
|
|
esac])
|
|
|
|
# AIX 4.2 and later -- do nothing, include standards.h instead.
|
|
# this goes for both GNU and IBM C and C++ compilers.
|
|
fi
|
|
])
|
|
|