/ lib / lxml / includes / libxslt / xsltexports.h
xsltexports.h
  1  /*
  2   * Summary: macros for marking symbols as exportable/importable.
  3   * Description: macros for marking symbols as exportable/importable.
  4   *
  5   * Copy: See Copyright for the status of this software.
  6   *
  7   * Author: Igor Zlatkovic <igor@zlatkovic.com>
  8   */
  9  
 10  #ifndef __XSLT_EXPORTS_H__
 11  #define __XSLT_EXPORTS_H__
 12  
 13  /**
 14   * XSLTPUBFUN:
 15   * XSLTPUBFUN, XSLTPUBVAR, XSLTCALL
 16   *
 17   * Macros which declare an exportable function, an exportable variable and
 18   * the calling convention used for functions.
 19   *
 20   * Please use an extra block for every platform/compiler combination when
 21   * modifying this, rather than overlong #ifdef lines. This helps
 22   * readability as well as the fact that different compilers on the same
 23   * platform might need different definitions.
 24   */
 25  
 26  /**
 27   * XSLTPUBFUN:
 28   *
 29   * Macros which declare an exportable function
 30   */
 31  #define XSLTPUBFUN
 32  /**
 33   * XSLTPUBVAR:
 34   *
 35   * Macros which declare an exportable variable
 36   */
 37  #define XSLTPUBVAR extern
 38  /**
 39   * XSLTCALL:
 40   *
 41   * Macros which declare the called convention for exported functions
 42   */
 43  #define XSLTCALL
 44  
 45  /** DOC_DISABLE */
 46  
 47  /* Windows platform with MS compiler */
 48  #if defined(_WIN32) && defined(_MSC_VER)
 49    #undef XSLTPUBFUN
 50    #undef XSLTPUBVAR
 51    #undef XSLTCALL
 52    #if defined(IN_LIBXSLT) && !defined(LIBXSLT_STATIC)
 53      #define XSLTPUBFUN __declspec(dllexport)
 54      #define XSLTPUBVAR __declspec(dllexport)
 55    #else
 56      #define XSLTPUBFUN
 57      #if !defined(LIBXSLT_STATIC)
 58        #define XSLTPUBVAR __declspec(dllimport) extern
 59      #else
 60        #define XSLTPUBVAR extern
 61      #endif
 62    #endif
 63    #define XSLTCALL __cdecl
 64    #if !defined _REENTRANT
 65      #define _REENTRANT
 66    #endif
 67  #endif
 68  
 69  /* Windows platform with Borland compiler */
 70  #if defined(_WIN32) && defined(__BORLANDC__)
 71    #undef XSLTPUBFUN
 72    #undef XSLTPUBVAR
 73    #undef XSLTCALL
 74    #if defined(IN_LIBXSLT) && !defined(LIBXSLT_STATIC)
 75      #define XSLTPUBFUN __declspec(dllexport)
 76      #define XSLTPUBVAR __declspec(dllexport) extern
 77    #else
 78      #define XSLTPUBFUN
 79      #if !defined(LIBXSLT_STATIC)
 80        #define XSLTPUBVAR __declspec(dllimport) extern
 81      #else
 82        #define XSLTPUBVAR extern
 83      #endif
 84    #endif
 85    #define XSLTCALL __cdecl
 86    #if !defined _REENTRANT
 87      #define _REENTRANT
 88    #endif
 89  #endif
 90  
 91  /* Windows platform with GNU compiler (Mingw) */
 92  #if defined(_WIN32) && defined(__MINGW32__)
 93    #undef XSLTPUBFUN
 94    #undef XSLTPUBVAR
 95    #undef XSLTCALL
 96  /*
 97    #if defined(IN_LIBXSLT) && !defined(LIBXSLT_STATIC)
 98  */
 99    #if !defined(LIBXSLT_STATIC)
100      #define XSLTPUBFUN __declspec(dllexport)
101      #define XSLTPUBVAR __declspec(dllexport) extern
102    #else
103      #define XSLTPUBFUN
104      #if !defined(LIBXSLT_STATIC)
105        #define XSLTPUBVAR __declspec(dllimport) extern
106      #else
107        #define XSLTPUBVAR extern
108      #endif
109    #endif
110    #define XSLTCALL __cdecl
111    #if !defined _REENTRANT
112      #define _REENTRANT
113    #endif
114  #endif
115  
116  /* Cygwin platform (does not define _WIN32), GNU compiler */
117  #if defined(__CYGWIN__)
118    #undef XSLTPUBFUN
119    #undef XSLTPUBVAR
120    #undef XSLTCALL
121    #if defined(IN_LIBXSLT) && !defined(LIBXSLT_STATIC)
122      #define XSLTPUBFUN __declspec(dllexport)
123      #define XSLTPUBVAR __declspec(dllexport)
124    #else
125      #define XSLTPUBFUN
126      #if !defined(LIBXSLT_STATIC)
127        #define XSLTPUBVAR __declspec(dllimport) extern
128      #else
129        #define XSLTPUBVAR extern
130      #endif
131    #endif
132    #define XSLTCALL __cdecl
133  #endif
134  
135  /* Compatibility */
136  #if !defined(LIBXSLT_PUBLIC)
137  #define LIBXSLT_PUBLIC XSLTPUBVAR
138  #endif
139  
140  #endif /* __XSLT_EXPORTS_H__ */
141  
142