1 /* 2 * libxml.h: internal header only used during the compilation of libxml 3 * 4 * See COPYRIGHT for the status of this software 5 * 6 * Author: breese@users.sourceforge.net 7 */ 8 9 #ifndef __XML_LIBXML_H__ 10 #define __XML_LIBXML_H__ 11 12 /* 13 * These macros must be defined before including system headers. 14 * Do not add any #include directives above this block. 15 */ 16 #ifndef NO_LARGEFILE_SOURCE 17 #ifndef _LARGEFILE_SOURCE 18 #define _LARGEFILE_SOURCE 19 #endif 20 #ifndef _FILE_OFFSET_BITS 21 #define _FILE_OFFSET_BITS 64 22 #endif 23 #endif 24 25 /* 26 * These files are generated by the build system and contain private 27 * and public build configuration. 28 */ 29 #include "config.h" 30 #include <libxml/xmlversion.h> 31 32 /* 33 * Due to some Autotools limitations, this variable must be passed as 34 * compiler flag. Define a default value if the macro wasn't set by the 35 * build system. 36 */ 37 #ifndef SYSCONFDIR 38 #define SYSCONFDIR "/etc" 39 #endif 40 41 #ifdef WITH_TRIO 42 #define TRIO_REPLACE_STDIO 43 #include "trio.h" 44 #endif 45 46 #if !defined(_WIN32) && \ 47 !defined(__CYGWIN__) && \ 48 (defined(__clang__) || \ 49 (defined(__GNUC__) && (__GNUC__ >= 4))) 50 #define XML_HIDDEN __attribute__((visibility("hidden"))) 51 #else 52 #define XML_HIDDEN 53 #endif 54 55 #if defined(__clang__) || \ 56 (defined(__GNUC__) && (__GNUC__ >= 8)) 57 #define ATTRIBUTE_NO_SANITIZE(arg) __attribute__((no_sanitize(arg))) 58 #else 59 #define ATTRIBUTE_NO_SANITIZE(arg) 60 #endif 61 62 #endif /* ! __XML_LIBXML_H__ */ 63