[LIBXSLT] Update to version 1.1.36. CORE-17766

This version was released after libxml2 2.10.0, but it removes
usage of some now-deprecated functions that would break the build.
This commit is contained in:
Thomas Faber 2022-11-20 09:49:42 -05:00
parent a620c6f82e
commit 21ab4d93c7
No known key found for this signature in database
GPG key ID: 076E7C3D44720826
20 changed files with 136 additions and 8171 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,10 +1,9 @@
SUBDIRS = \ ACLOCAL_AMFLAGS = -I m4
libxslt \
libexslt \ SUBDIRS = libxslt libexslt xsltproc doc tests
xsltproc \ if WITH_PYTHON
doc \ SUBDIRS += python
$(PYTHON_SUBDIR) \ endif
tests
DIST_SUBDIRS = libxslt libexslt xsltproc python doc tests DIST_SUBDIRS = libxslt libexslt xsltproc python doc tests
@ -17,16 +16,13 @@ dist-hook: cleanup libxslt.spec
touch $(distdir)/doc/*.xml touch $(distdir)/doc/*.xml
touch $(distdir)/doc/EXSLT/*.xml touch $(distdir)/doc/EXSLT/*.xml
touch $(distdir)/libxslt/*.syms touch $(distdir)/libxslt/*.syms
(cd $(srcdir) ; tar -cf - --exclude CVS --exclude .svn win32 vms examples) | (cd $(distdir); tar xf -) (cd $(srcdir) ; tar -cf - win32 vms examples) | (cd $(distdir); tar xf -)
CVS_EXTRA_DIST =
EXTRA_DIST = xsltConf.sh.in xslt-config.in libxslt.spec libxslt.spec.in \ EXTRA_DIST = xsltConf.sh.in xslt-config.in libxslt.spec libxslt.spec.in \
FEATURES TODO Copyright libxslt.m4 \ FEATURES TODO Copyright libxslt.m4 \
win32/libxslt/libxslt.def win32/libxslt/libxslt.dsw \ win32/libxslt/libxslt.def win32/libxslt/libxslt.dsw \
win32/libxslt/libxslt_so.dsp win32/libxslt/xsltproc.dsp \ win32/libxslt/libxslt_so.dsp win32/libxslt/xsltproc.dsp \
CMakeLists.txt config.h.cmake.in FindGcrypt.cmake libxslt-config.cmake.in libxslt-config.cmake.cmake.in \ CMakeLists.txt config.h.cmake.in FindGcrypt.cmake libxslt-config.cmake.in libxslt-config.cmake.cmake.in
$(CVS_EXTRA_DIST)
## We create xsltConf.sh here and not from configure because we want ## We create xsltConf.sh here and not from configure because we want
## to get the paths expanded correctly. Macros like srcdir are given ## to get the paths expanded correctly. Macros like srcdir are given
@ -53,7 +49,9 @@ tests: dummy
@echo '## Running the regression test suite' @echo '## Running the regression test suite'
@(cd tests ; $(MAKE) -s tests) @(cd tests ; $(MAKE) -s tests)
@(cd xsltproc ; $(MAKE) -s tests) @(cd xsltproc ; $(MAKE) -s tests)
@(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; $(MAKE) -s tests ; fi) if WITH_PYTHON
@cd python && $(MAKE) tests
endif
valgrind: valgrind:
@echo '## Running the regression tests under Valgrind' @echo '## Running the regression tests under Valgrind'

View file

@ -1,10 +1,70 @@
NEWS file for libxslt
NEWS file for libxslt v1.1.36: Aug 17 2022
### Removals and deprecations
- Remove SVN keyword anchors
- Remove CVS and SVN-related code
- Remove README.cvs-commits
- Remove ChangeLog
- Remove xsltwin32config.h
### Improvements
- Simplify xsltexports.h and exsltexports.h
- Don't overlink executables with gcrypt
- Fix quadratic behavior with variables and parameters
- Remove case labels with XPointer location types
- Add configure~ to .gitignore
- Stop calling deprecated libxml2 functions
### Portability
- Use portable python shebangs (David Seifert)
- Remove useless __CYGWIN__ checks
- Remove cruft from win32config.h
- crypto.c: Silence a compiler warning on Windows (Chun-wei Fan)
### Build system
- Add missing compile definition for static builds to CMake
- Avoid obsolescent `test -a` constructs (David Seifert)
- Only link libxml2 statically in purely static build
- Set AC_CONFIG_MACRO_DIR
- Allow AM_MAINTAINER_MODE to be disabled
- Streamline and fix documentation installation
- Don't try to recreate COPYING symlink
- Remove special configuration for certain maintainers
- configure.ac: produce tar.xz only (GNOME policy) (David Seifert)
- Detect libm using libtool's macros (David Seifert)
- configure.ac: disable static libraries by default (David Seifert)
- python/Makefile.am: nest python docs in $(docdir) (David Seifert)
- python/Makefile.am: rely on global AM_INIT_AUTOMAKE (David Seifert)
- configure.ac: remove useless AC_SUBST (David Seifert)
- Use AM_PATH_PYTHON/PKG_CHECK_MODULES for python bindings (David Seifert)
- Change libxml2 Python config
- Don't check for standard C89 library functions
- Don't check for standard C89 headers
- Remove --with-html-dir option
- Also check for glibtoolize in autogen.sh
- Rework documentation build system
- Remove old website
- CMake: Relax check for enabling crypto support on Windows (Chun-wei Fan)
- Remove obsolete AC_HEADER_STDC autoconf macro (Vadim Zeitlin)
- Remove special configuration for old maintainers
### Test suite, CI
- Remove test involving XPointer range-to function
- Test recursion in EXSLT dynamic functions
- Add CI job for static build
### Documentation
- Move tutorial images
See the git page at
https://gitlab.gnome.org/GNOME/libxslt
to get a description of the recent commits.
v1.1.35: Feb 16 2022: v1.1.35: Feb 16 2022:
- Security: - Security:
[CVE-2021-30560] Fix use-after-free in xsltApplyTemplates [CVE-2021-30560] Fix use-after-free in xsltApplyTemplates

View file

@ -20,5 +20,3 @@ the list and archived for public access unless pricacy is explicitely
required and justified. required and justified.
Daniel Veillard Daniel Veillard
$Id$

View file

@ -166,36 +166,18 @@ xsltDocumentFunctionLoadDocument(xmlXPathParserContextPtr ctxt, xmlChar* URI)
xmlXPathFreeContext(xptrctxt); xmlXPathFreeContext(xptrctxt);
#endif /* LIBXML_XPTR_ENABLED */ #endif /* LIBXML_XPTR_ENABLED */
if (resObj == NULL) if ((resObj != NULL) && (resObj->type != XPATH_NODESET)) {
goto out_fragment; xsltTransformError(tctxt, NULL, NULL,
"document() : XPointer does not select a node set: #%s\n",
switch (resObj->type) { fragment);
case XPATH_NODESET: xmlXPathFreeObject(resObj);
break; resObj = NULL;
case XPATH_UNDEFINED:
case XPATH_BOOLEAN:
case XPATH_NUMBER:
case XPATH_STRING:
case XPATH_POINT:
case XPATH_USERS:
case XPATH_XSLT_TREE:
case XPATH_RANGE:
case XPATH_LOCATIONSET:
xsltTransformError(tctxt, NULL, NULL,
"document() : XPointer does not select a node set: #%s\n",
fragment);
goto out_object;
} }
valuePush(ctxt, resObj);
xmlFree(fragment);
return;
out_object:
xmlXPathFreeObject(resObj);
out_fragment: out_fragment:
valuePush(ctxt, xmlXPathNewNodeSet(NULL)); if (resObj == NULL)
resObj = xmlXPathNewNodeSet(NULL);
valuePush(ctxt, resObj);
xmlFree(fragment); xmlFree(fragment);
} }

View file

@ -16,27 +16,10 @@
#ifdef HAVE_SYS_TYPES_H #ifdef HAVE_SYS_TYPES_H
#include <sys/types.h> #include <sys/types.h>
#endif #endif
#ifdef HAVE_MATH_H
#include <math.h> #include <math.h>
#endif
#ifdef HAVE_FLOAT_H
#include <float.h> #include <float.h>
#endif
#ifdef HAVE_IEEEFP_H
#include <ieeefp.h>
#endif
#ifdef HAVE_NAN_H
#include <nan.h>
#endif
#ifdef HAVE_CTYPE_H
#include <ctype.h>
#endif
#ifdef HAVE_TIME_H
#include <time.h> #include <time.h>
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h> #include <stdlib.h>
#endif
#include <libxml/xmlmemory.h> #include <libxml/xmlmemory.h>
#include <libxml/tree.h> #include <libxml/tree.h>

View file

@ -12,7 +12,7 @@
#include <sys/stat.h> #include <sys/stat.h>
#endif #endif
#if defined(_WIN32) && !defined(__CYGWIN__) #if defined(_WIN32)
#ifndef INVALID_FILE_ATTRIBUTES #ifndef INVALID_FILE_ATTRIBUTES
#define INVALID_FILE_ATTRIBUTES ((DWORD)-1) #define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
#endif #endif
@ -246,7 +246,7 @@ xsltCheckFilename (const char *path)
{ {
#ifdef HAVE_STAT #ifdef HAVE_STAT
struct stat stat_buffer; struct stat stat_buffer;
#if defined(_WIN32) && !defined(__CYGWIN__) #if defined(_WIN32)
DWORD dwAttrs; DWORD dwAttrs;
dwAttrs = GetFileAttributesA(path); dwAttrs = GetFileAttributesA(path);
@ -351,7 +351,7 @@ xsltCheckWrite(xsltSecurityPrefsPtr sec,
if ((uri->scheme == NULL) || if ((uri->scheme == NULL) ||
(xmlStrEqual(BAD_CAST uri->scheme, BAD_CAST "file"))) { (xmlStrEqual(BAD_CAST uri->scheme, BAD_CAST "file"))) {
#if defined(_WIN32) && !defined(__CYGWIN__) #if defined(_WIN32)
if ((uri->path)&&(uri->path[0]=='/')&& if ((uri->path)&&(uri->path[0]=='/')&&
(uri->path[1]!='\0')&&(uri->path[2]==':')) (uri->path[1]!='\0')&&(uri->path[2]==':'))
ret = xsltCheckWritePath(sec, ctxt, uri->path+1); ret = xsltCheckWritePath(sec, ctxt, uri->path+1);

View file

@ -602,7 +602,6 @@ xsltNewTransformContext(xsltStylesheetPtr style, xmlDocPtr doc) {
cur->prof = 0; cur->prof = 0;
cur->style = style; cur->style = style;
xmlXPathInit();
cur->xpathCtxt = xmlXPathNewContext(doc); cur->xpathCtxt = xmlXPathNewContext(doc);
if (cur->xpathCtxt == NULL) { if (cur->xpathCtxt == NULL) {
xsltTransformError(NULL, NULL, (xmlNodePtr) doc, xsltTransformError(NULL, NULL, (xmlNodePtr) doc,

View file

@ -342,7 +342,6 @@ xsltReleaseRVT(xsltTransformContextPtr ctxt, xmlDocPtr RVT)
} }
/* /*
* Clear the document tree. * Clear the document tree.
* REVISIT TODO: Do we expect ID/IDREF tables to be existent?
*/ */
if (RVT->children != NULL) { if (RVT->children != NULL) {
xmlFreeNodeList(RVT->children); xmlFreeNodeList(RVT->children);
@ -353,10 +352,6 @@ xsltReleaseRVT(xsltTransformContextPtr ctxt, xmlDocPtr RVT)
xmlFreeIDTable((xmlIDTablePtr) RVT->ids); xmlFreeIDTable((xmlIDTablePtr) RVT->ids);
RVT->ids = NULL; RVT->ids = NULL;
} }
if (RVT->refs != NULL) {
xmlFreeRefTable((xmlRefTablePtr) RVT->refs);
RVT->refs = NULL;
}
/* /*
* Reset the ownership information. * Reset the ownership information.
@ -947,6 +942,8 @@ xsltEvalVariable(xsltTransformContextPtr ctxt, xsltStackElemPtr variable,
xmlDocPtr container; xmlDocPtr container;
xmlNodePtr oldInsert; xmlNodePtr oldInsert;
xmlDocPtr oldOutput; xmlDocPtr oldOutput;
const xmlChar *oldLastText;
int oldLastTextSize, oldLastTextUse;
xsltStackElemPtr oldVar = ctxt->contextVariable; xsltStackElemPtr oldVar = ctxt->contextVariable;
/* /*
@ -972,6 +969,9 @@ xsltEvalVariable(xsltTransformContextPtr ctxt, xsltStackElemPtr variable,
oldOutput = ctxt->output; oldOutput = ctxt->output;
oldInsert = ctxt->insert; oldInsert = ctxt->insert;
oldLastText = ctxt->lasttext;
oldLastTextSize = ctxt->lasttsize;
oldLastTextUse = ctxt->lasttuse;
ctxt->output = container; ctxt->output = container;
ctxt->insert = (xmlNodePtr) container; ctxt->insert = (xmlNodePtr) container;
@ -986,6 +986,9 @@ xsltEvalVariable(xsltTransformContextPtr ctxt, xsltStackElemPtr variable,
ctxt->contextVariable = oldVar; ctxt->contextVariable = oldVar;
ctxt->insert = oldInsert; ctxt->insert = oldInsert;
ctxt->output = oldOutput; ctxt->output = oldOutput;
ctxt->lasttext = oldLastText;
ctxt->lasttsize = oldLastTextSize;
ctxt->lasttuse = oldLastTextUse;
result = xmlXPathNewValueTree((xmlNodePtr) container); result = xmlXPathNewValueTree((xmlNodePtr) container);
} }

View file

@ -9,75 +9,6 @@
#ifndef __LIBXSLT_WIN32_CONFIG__ #ifndef __LIBXSLT_WIN32_CONFIG__
#define __LIBXSLT_WIN32_CONFIG__ #define __LIBXSLT_WIN32_CONFIG__
#define HAVE_CTYPE_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STDARG_H 1
#define HAVE_MALLOC_H 1
#define HAVE_TIME_H 1
#define HAVE_LOCALTIME 1
#define HAVE_GMTIME 1
#define HAVE_TIME 1
#define HAVE_MATH_H 1
#define HAVE_FCNTL_H 1
#include <io.h>
#define HAVE_ISINF
#define HAVE_ISNAN
#include <math.h>
#if defined _MSC_VER || defined __MINGW32__
/* MS C-runtime has functions which can be used in order to determine if
a given floating-point variable contains NaN, (+-)INF. These are
preferred, because floating-point technology is considered propriatary
by MS and we can assume that their functions know more about their
oddities than we do. */
#include <float.h>
/* Bjorn Reese figured a quite nice construct for isinf() using the
_fpclass() function. */
#ifndef isinf
#define isinf(d) ((_fpclass(d) == _FPCLASS_PINF) ? 1 \
: ((_fpclass(d) == _FPCLASS_NINF) ? -1 : 0))
#endif
/* _isnan(x) returns nonzero if (x == NaN) and zero otherwise. */
#ifndef isnan
#define isnan(d) (_isnan(d))
#endif
#else /* _MSC_VER */
static int isinf (double d) {
int expon = 0;
double val = frexp (d, &expon);
if (expon == 1025) {
if (val == 0.5) {
return 1;
} else if (val == -0.5) {
return -1;
} else {
return 0;
}
} else {
return 0;
}
}
static int isnan (double d) {
int expon = 0;
double val = frexp (d, &expon);
if (expon == 1025) {
if (val == 0.5) {
return 0;
} else if (val == -0.5) {
return 0;
} else {
return 1;
}
} else {
return 0;
}
}
#endif /* _MSC_VER */
#include <direct.h>
/* snprintf emulation taken from http://stackoverflow.com/a/8712996/1956010 */ /* snprintf emulation taken from http://stackoverflow.com/a/8712996/1956010 */
#if defined(_MSC_VER) && _MSC_VER < 1900 #if defined(_MSC_VER) && _MSC_VER < 1900
@ -115,15 +46,6 @@ __inline int c99_snprintf(char *outBuf, size_t size, const char *format, ...)
#define HAVE_SYS_STAT_H #define HAVE_SYS_STAT_H
#define HAVE__STAT #define HAVE__STAT
#define HAVE_STRING_H
#include <libxml/xmlversion.h>
#ifndef ATTRIBUTE_UNUSED
#define ATTRIBUTE_UNUSED
#endif
#define _WINSOCKAPI_
#endif /* __LIBXSLT_WIN32_CONFIG__ */ #endif /* __LIBXSLT_WIN32_CONFIG__ */

View file

@ -39,7 +39,7 @@ extern "C" {
/** /**
* LIBXSLT_VERSION_EXTRA: * LIBXSLT_VERSION_EXTRA:
* *
* extra version information, used to show a CVS compilation * extra version information, used to show a Git commit description
*/ */
#define LIBXSLT_VERSION_EXTRA "@LIBXSLT_VERSION_EXTRA@" #define LIBXSLT_VERSION_EXTRA "@LIBXSLT_VERSION_EXTRA@"
@ -86,7 +86,6 @@ extern "C" {
#define XSLT_NEED_TRIO #define XSLT_NEED_TRIO
#endif #endif
#ifdef __VMS #ifdef __VMS
#define HAVE_MATH_H 1
#define HAVE_SYS_STAT_H 1 #define HAVE_SYS_STAT_H 1
#ifndef XSLT_NEED_TRIO #ifndef XSLT_NEED_TRIO
#define XSLT_NEED_TRIO #define XSLT_NEED_TRIO

View file

@ -18,7 +18,7 @@
#include <unistd.h> #include <unistd.h>
#endif #endif
#if defined(_WIN32) && !defined(__CYGWIN__) #if defined(_WIN32)
#define XSLT_WIN32_PERFORMANCE_COUNTER #define XSLT_WIN32_PERFORMANCE_COUNTER
#endif #endif

View file

@ -1,105 +0,0 @@
/*
* Summary: compile-time version information for the XSLT engine
* when compiled on windows
* Description: compile-time version information for the XSLT engine
* when compiled on windows. This file is generated.
*
* Copy: See Copyright for the status of this software.
*
* Author: Daniel Veillard
*/
#ifndef __XML_XSLTWIN32CONFIG_H__
#define __XML_XSLTWIN32CONFIG_H__
#include "win32config.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* LIBXSLT_DOTTED_VERSION:
*
* the version string like "1.2.3"
*/
#define LIBXSLT_DOTTED_VERSION "1.1.35"
/**
* LIBXSLT_VERSION:
*
* the version number: 1.2.3 value is 1002003
*/
#define LIBXSLT_VERSION 10135
/**
* LIBXSLT_VERSION_STRING:
*
* the version number string, 1.2.3 value is "1002003"
*/
#define LIBXSLT_VERSION_STRING "10135"
/**
* LIBXSLT_VERSION_EXTRA:
*
* extra version information, used to show a CVS compilation
*/
#define LIBXSLT_VERSION_EXTRA "-win32"
/**
* WITH_XSLT_DEBUG:
*
* Activate the compilation of the debug reporting. Speed penalty
* is insignifiant and being able to run xsltpoc -v is useful. On
* by default
*/
#if 1
#define WITH_XSLT_DEBUG
#endif
/**
* WITH_MODULES:
*
* Whether module support is configured into libxslt
*/
#if 0
#ifndef WITH_MODULES
#define WITH_MODULES
#endif
#define LIBXSLT_PLUGINS_PATH() getenv("LIBXSLT_PLUGINS_PATH")
#endif
#if 0
/**
* DEBUG_MEMORY:
*
* should be activated only when debugging libxslt. It replaces the
* allocator with a collect and debug shell to the libc allocator.
* Use configure --with-mem-debug to activate it on both library
*/
#define DEBUG_MEMORY
/**
* DEBUG_MEMORY_LOCATION:
*
* should be activated only when debugging libxslt.
* DEBUG_MEMORY_LOCATION should be activated only when libxml has
* been configured with --with-debug-mem too
*/
#define DEBUG_MEMORY_LOCATION
#endif
/**
* ATTRIBUTE_UNUSED:
*
* This macro is used to flag unused function parameters to GCC, useless here
*/
#ifndef ATTRIBUTE_UNUSED
#define ATTRIBUTE_UNUSED
#endif
#ifdef __cplusplus
}
#endif
#endif /* __XML_XSLTWIN32CONFIG_H__ */

View file

@ -1,105 +0,0 @@
/*
* Summary: compile-time version information for the XSLT engine
* when compiled on windows
* Description: compile-time version information for the XSLT engine
* when compiled on windows. This file is generated.
*
* Copy: See Copyright for the status of this software.
*
* Author: Daniel Veillard
*/
#ifndef __XML_XSLTWIN32CONFIG_H__
#define __XML_XSLTWIN32CONFIG_H__
#include "win32config.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* LIBXSLT_DOTTED_VERSION:
*
* the version string like "1.2.3"
*/
#define LIBXSLT_DOTTED_VERSION "@VERSION@"
/**
* LIBXSLT_VERSION:
*
* the version number: 1.2.3 value is 1002003
*/
#define LIBXSLT_VERSION @LIBXSLT_VERSION_NUMBER@
/**
* LIBXSLT_VERSION_STRING:
*
* the version number string, 1.2.3 value is "1002003"
*/
#define LIBXSLT_VERSION_STRING "@LIBXSLT_VERSION_NUMBER@"
/**
* LIBXSLT_VERSION_EXTRA:
*
* extra version information, used to show a CVS compilation
*/
#define LIBXSLT_VERSION_EXTRA "-win32"
/**
* WITH_XSLT_DEBUG:
*
* Activate the compilation of the debug reporting. Speed penalty
* is insignifiant and being able to run xsltpoc -v is useful. On
* by default
*/
#if 1
#define WITH_XSLT_DEBUG
#endif
/**
* WITH_MODULES:
*
* Whether module support is configured into libxslt
*/
#if @WITH_MODULES@
#ifndef WITH_MODULES
#define WITH_MODULES
#endif
#define LIBXSLT_PLUGINS_PATH() getenv("LIBXSLT_PLUGINS_PATH")
#endif
#if 0
/**
* DEBUG_MEMORY:
*
* should be activated only when debugging libxslt. It replaces the
* allocator with a collect and debug shell to the libc allocator.
* Use configure --with-mem-debug to activate it on both library
*/
#define DEBUG_MEMORY
/**
* DEBUG_MEMORY_LOCATION:
*
* should be activated only when debugging libxslt.
* DEBUG_MEMORY_LOCATION should be activated only when libxml has
* been configured with --with-debug-mem too
*/
#define DEBUG_MEMORY_LOCATION
#endif
/**
* ATTRIBUTE_UNUSED:
*
* This macro is used to flag unused function parameters to GCC, useless here
*/
#ifndef ATTRIBUTE_UNUSED
#define ATTRIBUTE_UNUSED
#endif
#ifdef __cplusplus
}
#endif
#endif /* __XML_XSLTWIN32CONFIG_H__ */

View file

@ -45,7 +45,7 @@ URL: http://www.simplesystems.org/libtiff/
Title: Libxslt Title: Libxslt
Path: dll/3rdparty/libxslt Path: dll/3rdparty/libxslt
Used Version: 1.1.35 Used Version: 1.1.36
License: MIT (https://spdx.org/licenses/MIT.html) License: MIT (https://spdx.org/licenses/MIT.html)
URL: http://xmlsoft.org URL: http://xmlsoft.org

View file

@ -10,7 +10,7 @@
#ifndef __XSLT_LIBXSLT_H__ #ifndef __XSLT_LIBXSLT_H__
#define __XSLT_LIBXSLT_H__ #define __XSLT_LIBXSLT_H__
#if defined(_WIN32) && !defined (__CYGWIN__) && !defined (__MINGW32__) #if defined(_WIN32) && !defined (__MINGW32__)
#include <win32config.h> #include <win32config.h>
#else #else
#include "config.h" #include "config.h"

View file

@ -20,26 +20,26 @@ extern "C" {
* *
* the version string like "1.2.3" * the version string like "1.2.3"
*/ */
#define LIBXSLT_DOTTED_VERSION "1.1.35" #define LIBXSLT_DOTTED_VERSION "1.1.36"
/** /**
* LIBXSLT_VERSION: * LIBXSLT_VERSION:
* *
* the version number: 1.2.3 value is 10203 * the version number: 1.2.3 value is 10203
*/ */
#define LIBXSLT_VERSION 10135 #define LIBXSLT_VERSION 10136
/** /**
* LIBXSLT_VERSION_STRING: * LIBXSLT_VERSION_STRING:
* *
* the version number string, 1.2.3 value is "10203" * the version number string, 1.2.3 value is "10203"
*/ */
#define LIBXSLT_VERSION_STRING "10135" #define LIBXSLT_VERSION_STRING "10136"
/** /**
* LIBXSLT_VERSION_EXTRA: * LIBXSLT_VERSION_EXTRA:
* *
* extra version information, used to show a CVS compilation * extra version information, used to show a Git commit description
*/ */
#define LIBXSLT_VERSION_EXTRA "" #define LIBXSLT_VERSION_EXTRA ""
@ -86,7 +86,6 @@ extern "C" {
#define XSLT_NEED_TRIO #define XSLT_NEED_TRIO
#endif #endif
#ifdef __VMS #ifdef __VMS
#define HAVE_MATH_H 1
#define HAVE_SYS_STAT_H 1 #define HAVE_SYS_STAT_H 1
#ifndef XSLT_NEED_TRIO #ifndef XSLT_NEED_TRIO
#define XSLT_NEED_TRIO #define XSLT_NEED_TRIO

View file

@ -3,138 +3,56 @@
* Description: macros for marking symbols as exportable/importable. * Description: macros for marking symbols as exportable/importable.
* *
* Copy: See Copyright for the status of this software. * Copy: See Copyright for the status of this software.
*
* Author: Igor Zlatkovic <igor@zlatkovic.com>
*/ */
#ifndef __XSLT_EXPORTS_H__ #ifndef __XSLT_EXPORTS_H__
#define __XSLT_EXPORTS_H__ #define __XSLT_EXPORTS_H__
/** #if defined(_WIN32) || defined(__CYGWIN__)
* XSLTPUBFUN: /** DOC_DISABLE */
* XSLTPUBFUN, XSLTPUBVAR, XSLTCALL
* #ifdef LIBXSLT_STATIC
* Macros which declare an exportable function, an exportable variable and #define XSLTPUBLIC
* the calling convention used for functions. #elif defined(IN_LIBXSLT)
* #define XSLTPUBLIC __declspec(dllexport)
* Please use an extra block for every platform/compiler combination when #else
* modifying this, rather than overlong #ifdef lines. This helps #define XSLTPUBLIC __declspec(dllimport)
* readability as well as the fact that different compilers on the same #endif
* platform might need different definitions.
*/ #define XSLTCALL __cdecl
/** DOC_ENABLE */
#else /* not Windows */
/** /**
* XSLTPUBFUN: * XSLTPUBLIC:
* *
* Macros which declare an exportable function * Macro which declares a public symbol
*/ */
#define XSLTPUBFUN #define XSLTPUBLIC
/**
* XSLTPUBVAR:
*
* Macros which declare an exportable variable
*/
#define XSLTPUBVAR extern
/** /**
* XSLTCALL: * XSLTCALL:
* *
* Macros which declare the called convention for exported functions * Macro which declares the calling convention for exported functions
*/ */
#define XSLTCALL #define XSLTCALL
/** DOC_DISABLE */ #endif /* platform switch */
/* Windows platform with MS compiler */
#if defined(_WIN32) && defined(_MSC_VER)
#undef XSLTPUBFUN
#undef XSLTPUBVAR
#undef XSLTCALL
#if defined(IN_LIBXSLT) && !defined(LIBXSLT_STATIC)
#define XSLTPUBFUN __declspec(dllexport)
#if defined(__REACTOS__) && defined(__clang__)
#define XSLTPUBVAR __declspec(dllexport) extern
#else
#define XSLTPUBVAR __declspec(dllexport)
#endif /* __REACTOS__ && __clang__ */
#else
#define XSLTPUBFUN
#if !defined(LIBXSLT_STATIC)
#define XSLTPUBVAR __declspec(dllimport) extern
#else
#define XSLTPUBVAR extern
#endif
#endif
#define XSLTCALL __cdecl
#if !defined _REENTRANT
#define _REENTRANT
#endif
#endif
/* Windows platform with Borland compiler */
#if defined(_WIN32) && defined(__BORLANDC__)
#undef XSLTPUBFUN
#undef XSLTPUBVAR
#undef XSLTCALL
#if defined(IN_LIBXSLT) && !defined(LIBXSLT_STATIC)
#define XSLTPUBFUN __declspec(dllexport)
#define XSLTPUBVAR __declspec(dllexport) extern
#else
#define XSLTPUBFUN
#if !defined(LIBXSLT_STATIC)
#define XSLTPUBVAR __declspec(dllimport) extern
#else
#define XSLTPUBVAR extern
#endif
#endif
#define XSLTCALL __cdecl
#if !defined _REENTRANT
#define _REENTRANT
#endif
#endif
/* Windows platform with GNU compiler (Mingw) */
#if defined(_WIN32) && defined(__MINGW32__)
#undef XSLTPUBFUN
#undef XSLTPUBVAR
#undef XSLTCALL
/* /*
#if defined(IN_LIBXSLT) && !defined(LIBXSLT_STATIC) * XSLTPUBFUN:
*/ *
#if !defined(LIBXSLT_STATIC) * Macro which declares an exportable function
#define XSLTPUBFUN __declspec(dllexport) */
#define XSLTPUBVAR __declspec(dllexport) extern #define XSLTPUBFUN XSLTPUBLIC
#else
#define XSLTPUBFUN
#if !defined(LIBXSLT_STATIC)
#define XSLTPUBVAR __declspec(dllimport) extern
#else
#define XSLTPUBVAR extern
#endif
#endif
#define XSLTCALL __cdecl
#if !defined _REENTRANT
#define _REENTRANT
#endif
#endif
/* Cygwin platform (does not define _WIN32), GNU compiler */ /**
#if defined(__CYGWIN__) * XSLTPUBVAR:
#undef XSLTPUBFUN *
#undef XSLTPUBVAR * Macro which declares an exportable variable
#undef XSLTCALL */
#if defined(IN_LIBXSLT) && !defined(LIBXSLT_STATIC) #define XSLTPUBVAR XSLTPUBLIC extern
#define XSLTPUBFUN __declspec(dllexport)
#define XSLTPUBVAR __declspec(dllexport)
#else
#define XSLTPUBFUN
#if !defined(LIBXSLT_STATIC)
#define XSLTPUBVAR __declspec(dllimport) extern
#else
#define XSLTPUBVAR extern
#endif
#endif
#define XSLTCALL __cdecl
#endif
/* Compatibility */ /* Compatibility */
#if !defined(LIBXSLT_PUBLIC) #if !defined(LIBXSLT_PUBLIC)

View file

@ -32,7 +32,7 @@
typedef locale_t xsltLocale; typedef locale_t xsltLocale;
typedef xmlChar xsltLocaleChar; typedef xmlChar xsltLocaleChar;
#elif defined(_WIN32) && !defined(__CYGWIN__) #elif defined(_WIN32)
/* /*
* XSLT_LOCALE_WINAPI: * XSLT_LOCALE_WINAPI:

View file

@ -13,9 +13,6 @@
#define __XML_XSLTUTILS_H__ #define __XML_XSLTUTILS_H__
#include <libxslt/xsltconfig.h> #include <libxslt/xsltconfig.h>
#ifdef HAVE_STDARG_H
#include <stdarg.h>
#endif
#include <libxml/xpath.h> #include <libxml/xpath.h>
#include <libxml/dict.h> #include <libxml/dict.h>
#include <libxml/xmlerror.h> #include <libxml/xmlerror.h>