• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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