1 dnl @synopsis AC_SYS_LARGEFILE_SENSITIVE
3 dnl checker whether the current system is sensitive to -Ddefines making
4 dnl off_t having different types/sizes. Automatically define a config.h
5 dnl symbol LARGEFILE_SENSITIVE if that is the case, otherwise leave
8 dnl This macro builds on top of AC_SYS_LARGEFILE to detect whether
9 dnl special options are neede to make the code use 64bit off_t - in
10 dnl many setups this will also make the code use 64bit off_t
13 dnl The common use of a LARGEFILE_SENSITIVE config.h-define is to
14 dnl rename exported functions, usually adding a 64 to the original
15 dnl function name. Such renamings are only needed on systems being both
16 dnl (a) 32bit off_t by default and (b) implementing large.file
17 dnl extensions (as for unix98).
19 dnl a renaming section could look like this:
21 dnl #if defined LARGEFILE_SENSITIVE && _FILE_OFFSET_BITS+0 == 64
22 dnl #define zzip_open zzip_open64
23 dnl #define zzip_seek zzip_seek64
26 dnl for libraries, it is best to take advantage of the prefix-config.h
27 dnl macro, otherwise you want to export a renamed LARGEFILE_SENSITIVE
28 dnl in an installed header file. -> see AX_PREFIX_CONFIG_H
31 dnl @author Guido U. Draheim <guidod@gmx.de>
32 dnl @version 2009-07-27
33 dnl @license GPLWithACException
35 AC_DEFUN([AC_SYS_LARGEFILE_SENSITIVE],[dnl
36 AC_REQUIRE([AC_SYS_LARGEFILE])dnl
37 # we know about some internals of ac_sys_largefile here...
38 AC_MSG_CHECKING(whether system differentiates 64bit off_t by defines)
39 ac_cv_sys_largefile_sensitive="no"
40 if test ".${ac_cv_sys_file_offset_bits-no}${ac_cv_sys_large_files-no}" != ".nono"
41 then ac_cv_sys_largefile_sensitive="yes"
42 AC_DEFINE(LARGEFILE_SENSITIVE, 1,
43 [whether the system defaults to 32bit off_t but can do 64bit when requested])
45 AC_MSG_RESULT([$ac_cv_sys_largefile_sensitive])