00001 #ifndef __fileoffsetbits 00002 #define __fileoffsetbits 00003 // DQ (3/12/2006): This is included here as specified in the Autoconf manual (using <> instead of "") 00004 // We have also abandoned the ifdef HAVE_CONFIG_H cpp conditional use of rose_config.h as well. 00005 // This is placed here in sage3.h instead of in rose.h because it needs to always be seen even 00006 // by internal ROSE files that only include sage3.h. 00007 00008 // DQ (10/14/2010): We don't want to include this into our header file system 00009 // since then users will see the defined macros in our autoconf generated 00010 // config.h (which we generate as rose_config.h to avoid filename conflicts). 00011 // This fixes the problem that causes macro names to conflict (e.g. PACKAGE_BUGREPORT). 00012 // #include <rose_config.h> 00013 00014 // DQ (4/21/2009): Error checking to avoid difficult to debug ODR violations on 32-bit systems. 00015 #if defined(_SYS_STAT_H) 00016 #error "sys/stat.h should not have been included before the _FILE_OFFSET_BITS macro is set! (use rose.h first...)" 00017 #endif 00018 00019 // DQ (4/21/2009): This must be included before rose_paths.h since that 00020 // header includes the STL string header which will include sys/stat.h first. 00021 // Force 64-bit file offsets in struct stat 00022 #define _FILE_OFFSET_BITS 64 00023 00024 // DQ (4/21/2009): This must be set before sys/stat.h is included by any other header file. 00025 // Use of _FILE_OFFSET_BITS macro is required on 32-bit systems to controling size of "struct stat" 00026 #if !(defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)) 00027 #error "The _FILE_OFFSET_BITS macro should be set before any sys/stat.h is included by any other header file!" 00028 #endif 00029 00030 #endif
1.4.7