Annotation of embedaddon/libxml2/doc/elfgcchack.xsl, revision 1.1
1.1 ! misho 1: <?xml version="1.0"?>
! 2: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
! 3: xmlns:xhtml="http://www.w3.org/1999/xhtml"
! 4: version="1.0">
! 5: <xsl:output method="text" encoding="UTF-8"/>
! 6:
! 7: <xsl:template match="/">
! 8: <xsl:text>/*
! 9: * elfgcchack.h: hack by Arjan van de Ven <arjanv@redhat.com> to speed
! 10: * up the code when using gcc for call within the library.
! 11: *
! 12: * Based on the analysis http://people.redhat.com/drepper/dsohowto.pdf
! 13: * from Ulrich drepper. Rewritten to be generated from the XML description
! 14: * file for libxml2 API
! 15: * autogenerated with xsltproc doc/elfgcchack.xsl doc/libxml2-api.xml
! 16: */
! 17:
! 18: #ifdef IN_LIBXML
! 19: #ifdef __GNUC__
! 20: #ifdef PIC
! 21: #ifdef linux
! 22: #if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || (__GNUC__ > 3)
! 23:
! 24: #include "libxml/c14n.h"
! 25: #include "libxml/catalog.h"
! 26: #include "libxml/chvalid.h"
! 27: #include "libxml/debugXML.h"
! 28: #include "libxml/dict.h"
! 29: #include "libxml/DOCBparser.h"
! 30: #include "libxml/encoding.h"
! 31: #include "libxml/entities.h"
! 32: #include "libxml/globals.h"
! 33: #include "libxml/hash.h"
! 34: #include "libxml/HTMLparser.h"
! 35: #include "libxml/HTMLtree.h"
! 36: #include "libxml/list.h"
! 37: #include "libxml/nanoftp.h"
! 38: #include "libxml/nanohttp.h"
! 39: #include "libxml/parser.h"
! 40: #include "libxml/parserInternals.h"
! 41: #include "libxml/pattern.h"
! 42: #include "libxml/relaxng.h"
! 43: #include "libxml/SAX2.h"
! 44: #include "libxml/SAX.h"
! 45: #include "libxml/schemasInternals.h"
! 46: #include "libxml/schematron.h"
! 47: #include "libxml/threads.h"
! 48: #include "libxml/tree.h"
! 49: #include "libxml/uri.h"
! 50: #include "libxml/valid.h"
! 51: #include "libxml/xinclude.h"
! 52: #include "libxml/xlink.h"
! 53: #include "libxml/xmlautomata.h"
! 54: #include "libxml/xmlerror.h"
! 55: #include "libxml/xmlexports.h"
! 56: #include "libxml/xmlIO.h"
! 57: #include "libxml/xmlmemory.h"
! 58: #include "libxml/xmlreader.h"
! 59: #include "libxml/xmlregexp.h"
! 60: #include "libxml/xmlsave.h"
! 61: #include "libxml/xmlschemas.h"
! 62: #include "libxml/xmlschemastypes.h"
! 63: #include "libxml/xmlstring.h"
! 64: #include "libxml/xmlunicode.h"
! 65: #include "libxml/xmlversion.h"
! 66: #include "libxml/xmlwriter.h"
! 67: #include "libxml/xpath.h"
! 68: #include "libxml/xpathInternals.h"
! 69: #include "libxml/xpointer.h"
! 70: #include "libxml/xmlmodule.h"
! 71:
! 72: /* special hot spot not exported ones */
! 73:
! 74: #ifdef bottom_globals
! 75: #undef __xmlGenericError
! 76: extern __typeof (__xmlGenericError) __xmlGenericError __attribute((alias("__xmlGenericError__internal_alias")));
! 77: #else
! 78: #ifndef __xmlGenericError
! 79: extern __typeof (__xmlGenericError) __xmlGenericError__internal_alias __attribute((visibility("hidden")));
! 80: #define __xmlGenericError __xmlGenericError__internal_alias
! 81: #endif
! 82: #endif
! 83:
! 84: #ifdef bottom_globals
! 85: #undef __xmlGenericErrorContext
! 86: extern __typeof (__xmlGenericErrorContext) __xmlGenericErrorContext __attribute((alias("__xmlGenericErrorContext__internal_alias")));
! 87: #else
! 88: #ifndef __xmlGenericErrorContext
! 89: extern __typeof (__xmlGenericErrorContext) __xmlGenericErrorContext__internal_alias __attribute((visibility("hidden")));
! 90: #define __xmlGenericErrorContext __xmlGenericErrorContext__internal_alias
! 91: #endif
! 92: #endif
! 93:
! 94: /* list generated from libxml2-api.xml */
! 95: </xsl:text>
! 96: <xsl:apply-templates select="/api/symbols/function"/>
! 97: <xsl:text>
! 98: #endif
! 99: #endif
! 100: #endif
! 101: #endif
! 102: #endif
! 103:
! 104: </xsl:text>
! 105: </xsl:template>
! 106:
! 107: <xsl:template match="function">
! 108: <xsl:variable name="str" select="string(@name)"/>
! 109: <xsl:if test="(starts-with(@name, 'xml') or starts-with(@name, 'html') or contains(@name, 'Push') or contains(@name, 'Pop')) and (not(contains(@name, 'xmlDllMain')))">
! 110: <xsl:variable name="alias" select="concat($str, '__internal_alias')"/>
! 111: <xsl:apply-templates select="cond"/>
! 112: <xsl:text>#ifdef bottom_</xsl:text>
! 113: <xsl:value-of select="string(@module)"/>
! 114: <xsl:text>
! 115: #undef </xsl:text>
! 116: <xsl:value-of select="$str"/>
! 117: <xsl:text>
! 118: extern __typeof (</xsl:text>
! 119: <xsl:value-of select="$str"/>
! 120: <xsl:text>) </xsl:text>
! 121: <xsl:value-of select="$str"/>
! 122: <xsl:text> __attribute((alias("</xsl:text>
! 123: <xsl:value-of select="$alias"/>
! 124: <xsl:text>")));
! 125: #else
! 126: #ifndef </xsl:text>
! 127: <xsl:value-of select="$str"/>
! 128: <xsl:text>
! 129: </xsl:text>
! 130: <xsl:text>extern __typeof (</xsl:text>
! 131: <xsl:value-of select="$str"/>
! 132: <xsl:text>) </xsl:text>
! 133: <xsl:value-of select="$alias"/>
! 134: <xsl:text> __attribute((visibility("hidden")));
! 135: </xsl:text>
! 136: <xsl:text>#define </xsl:text>
! 137: <xsl:value-of select="$str"/>
! 138: <xsl:text> </xsl:text>
! 139: <xsl:value-of select="$alias"/>
! 140: <xsl:text>
! 141: #endif
! 142: #endif
! 143: </xsl:text>
! 144: <xsl:apply-templates select="cond" mode="end"/>
! 145: <xsl:text>
! 146: </xsl:text>
! 147: </xsl:if>
! 148: </xsl:template>
! 149: <xsl:template match="cond">
! 150: <xsl:text>#if </xsl:text>
! 151: <xsl:value-of select="."/>
! 152: <xsl:text>
! 153: </xsl:text>
! 154: </xsl:template>
! 155: <xsl:template match="cond" mode="end">
! 156: <xsl:text>#endif
! 157: </xsl:text>
! 158: </xsl:template>
! 159: </xsl:stylesheet>
! 160:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>