Edit

kc3-lang/libxml2/include/libxml/xmlexports.h

Branch :

  • Show log

    Commit

  • Author : Daniel Veillard
    Date : 2005-07-21 13:24:09
    Hash : ffa3c749
    Message : applied a patch from Marcus Boerger to fix problems with calling * error.c globals.c parser.c runtest.c testHTML.c testSAX.c threads.c valid.c xmllint.c xmlreader.c xmlschemas.c xmlstring.c xmlwriter.c include/libxml/parser.h include/libxml/relaxng.h include/libxml/valid.h include/libxml/xmlIO.h include/libxml/xmlerror.h include/libxml/xmlexports.h include/libxml/xmlschemas.h: applied a patch from Marcus Boerger to fix problems with calling conventions on Windows this should fix #309757 Daniel

  • include/libxml/xmlexports.h
  • /*
     * Summary: macros for marking symbols as exportable/importable.
     * Description: macros for marking symbols as exportable/importable.
     *
     * Copy: See Copyright for the status of this software.
     *
     * Author: Igor Zlatovic <igor@zlatkovic.com>
     */
    
    #ifndef __XML_EXPORTS_H__
    #define __XML_EXPORTS_H__
    
    /**
     * XMLPUBFUN, XMLPUBVAR, XMLCALL
     *
     * Macros which declare an exportable function, an exportable variable and
     * the calling convention used for functions.
     *
     * Please use an extra block for every platform/compiler combination when
     * modifying this, rather than overlong #ifdef lines. This helps
     * readability as well as the fact that different compilers on the same
     * platform might need different definitions.
     */
    
    /**
     * XMLPUBFUN:
     *
     * Macros which declare an exportable function
     */
    #define XMLPUBFUN
    /**
     * XMLPUBVAR:
     *
     * Macros which declare an exportable variable
     */
    #define XMLPUBVAR extern
    /**
     * XMLCALL:
     *
     * Macros which declare the called convention for exported functions
     */
    #define XMLCALL
    /**
     * XMLCALL:
     *
     * Macro which declares the calling convention for exported functions that 
     * use '...'.
     */
    #define XMLCDECL
    
    /** DOC_DISABLE */
    
    /* Windows platform with MS compiler */
    #if defined(_WIN32) && defined(_MSC_VER)
      #undef XMLPUBFUN
      #undef XMLPUBVAR
      #undef XMLCALL
      #undef XMLCDECL
      #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
        #define XMLPUBFUN __declspec(dllexport)
        #define XMLPUBVAR __declspec(dllexport)
      #else
        #define XMLPUBFUN
        #if !defined(LIBXML_STATIC)
          #define XMLPUBVAR __declspec(dllimport) extern
        #else
          #define XMLPUBVAR extern
        #endif
      #endif
      #if defined(LIBXML_FASTCALL)
        #define XMLCALL __fastcall
      #else
        #define XMLCALL __cdecl
      #endif
      #define XMLCDECL __cdecl
      #if !defined _REENTRANT
        #define _REENTRANT
      #endif
    #endif
    
    /* Windows platform with Borland compiler */
    #if defined(_WIN32) && defined(__BORLANDC__)
      #undef XMLPUBFUN
      #undef XMLPUBVAR
      #undef XMLCALL
      #undef XMLCDECL
      #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
        #define XMLPUBFUN __declspec(dllexport)
        #define XMLPUBVAR __declspec(dllexport) extern
      #else
        #define XMLPUBFUN
        #if !defined(LIBXML_STATIC)
          #define XMLPUBVAR __declspec(dllimport) extern
        #else
          #define XMLPUBVAR extern
        #endif
      #endif
      #define XMLCALL __cdecl
      #define XMLCDECL __cdecl
      #if !defined _REENTRANT
        #define _REENTRANT
      #endif
    #endif
    
    /* Windows platform with GNU compiler (Mingw) */
    #if defined(_WIN32) && defined(__MINGW32__)
      #undef XMLPUBFUN
      #undef XMLPUBVAR
      #undef XMLCALL
      #undef XMLCDECL
      #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
        #define XMLPUBFUN __declspec(dllexport)
        #define XMLPUBVAR __declspec(dllexport)
      #else
        #define XMLPUBFUN
        #if !defined(LIBXML_STATIC)
          #define XMLPUBVAR __declspec(dllimport) extern
        #else
          #define XMLPUBVAR extern
        #endif
      #endif
      #define XMLCALL __cdecl
      #define XMLCDECL __cdecl
      #if !defined _REENTRANT
        #define _REENTRANT
      #endif
    #endif
    
    /* Cygwin platform, GNU compiler */
    #if defined(_WIN32) && defined(__CYGWIN__)
      #undef XMLPUBFUN
      #undef XMLPUBVAR
      #undef XMLCALL
      #undef XMLCDECL
      #if defined(IN_LIBXML) && !defined(LIBXML_STATIC)
        #define XMLPUBFUN __declspec(dllexport)
        #define XMLPUBVAR __declspec(dllexport)
      #else
        #define XMLPUBFUN
        #if !defined(LIBXML_STATIC)
          #define XMLPUBVAR __declspec(dllimport) extern
        #else
          #define XMLPUBVAR
        #endif
      #endif
      #define XMLCALL __cdecl
      #define XMLCDECL __cdecl
    #endif
    
    /* Compatibility */
    #if !defined(LIBXML_DLL_IMPORT)
    #define LIBXML_DLL_IMPORT XMLPUBVAR
    #endif
    
    #endif /* __XML_EXPORTS_H__ */