1 /* ========================================================================== */
2 /* === Include/cholmod_io64 ================================================= */
3 /* ========================================================================== */
4 
5 /* -----------------------------------------------------------------------------
6  * CHOLMOD/Include/cholmod_io64.h.
7  * Copyright (C) 2005-2006, Univ. of Florida.  Author: Timothy A. Davis
8  * CHOLMOD/Include/cholmod_io64.h is licensed under Version 2.1 of the GNU
9  * Lesser General Public License.  See lesser.txt for a text of the license.
10  * CHOLMOD is also available under other licenses; contact authors for details.
11  * -------------------------------------------------------------------------- */
12 
13 /* Definitions required for large file I/O, which must come before any other
14  * #includes.  These are not used if -DNLARGEFILE is defined at compile time.
15  * Large file support may not be portable across all platforms and compilers;
16  * if you encounter an error here, compile your code with -DNLARGEFILE.  In
17  * particular, you must use -DNLARGEFILE for MATLAB 6.5 or earlier (which does
18  * not have the io64.h include file).
19  */
20 
21 #ifndef CHOLMOD_IO_H
22 #define CHOLMOD_IO_H
23 
24 /* skip all of this if NLARGEFILE is defined at the compiler command line */
25 #ifndef NLARGEFILE
26 
27 #if defined(MATLAB_MEX_FILE) || defined(MATHWORKS)
28 
29 /* CHOLMOD is being compiled as a MATLAB mexFunction, or for use in MATLAB */
30 #include "io64.h"
31 
32 #else
33 
34 /* CHOLMOD is being compiled in a stand-alone library */
35 #undef  _LARGEFILE64_SOURCE
36 #define _LARGEFILE64_SOURCE
37 #undef  _FILE_OFFSET_BITS
38 #define _FILE_OFFSET_BITS 64
39 
40 #endif
41 
42 #endif
43 
44 #endif
45 
46