diff options
author | Jörg Mayer <jmayer@loplof.de> | 2013-07-23 09:40:21 +0000 |
---|---|---|
committer | Jörg Mayer <jmayer@loplof.de> | 2013-07-23 09:40:21 +0000 |
commit | 1cbd49e61b022970dc7a24fefd6a6f8fba69eac5 (patch) | |
tree | f82678ef6135d90c2b0aa0fee55f6925f4798fa4 /cmake/TestLargeFiles.c.cmakein | |
parent | d937adcc9ee07dde8c96f17b9c54fbba37fb45ba (diff) | |
download | wireshark-1cbd49e61b022970dc7a24fefd6a6f8fba69eac5.tar.gz |
Copy over cmake largfile detection from the gromacs project.
svn path=/trunk/; revision=50824
Diffstat (limited to 'cmake/TestLargeFiles.c.cmakein')
-rw-r--r-- | cmake/TestLargeFiles.c.cmakein | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/cmake/TestLargeFiles.c.cmakein b/cmake/TestLargeFiles.c.cmakein new file mode 100644 index 0000000000..53a1f614e6 --- /dev/null +++ b/cmake/TestLargeFiles.c.cmakein @@ -0,0 +1,31 @@ +/* This code was copied from http://www.gromacs.org/ + * and its toplevel COPYING file starts with: + * + * GROMACS is free software, distributed under the GNU General Public License + * (GPL) Version 2. + */ + +#cmakedefine _LARGEFILE_SOURCE +#cmakedefine _LARGEFILE64_SOURCE +#cmakedefine _LARGE_FILES +#cmakedefine _FILE_OFFSET_BITS @_FILE_OFFSET_BITS@ + +#include <sys/types.h> +#include <stdio.h> +#include <stdlib.h> + +int main(int argc, char **argv) +{ + /* Cause a compile-time error if off_t is smaller than 64 bits, + * and make sure we have ftello / fseeko. + */ +#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) + int off_t_is_large[ (LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1 ]; + FILE *fp = fopen(argv[0],"r"); + off_t offset = ftello( fp ); + + fseeko( fp, offset, SEEK_CUR ); + fclose(fp); + return 0; +} + |