diff --git a/dll/3rdparty/libxslt/Makefile.am b/dll/3rdparty/libxslt/Makefile.am index 22dbdefac47..2c417d0be23 100644 --- a/dll/3rdparty/libxslt/Makefile.am +++ b/dll/3rdparty/libxslt/Makefile.am @@ -1,78 +1,78 @@ -AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/libxslt +SUBDIRS = \ + libxslt \ + libexslt \ + xsltproc \ + doc \ + $(PYTHON_SUBDIR) \ + tests -AM_CFLAGS = $(LIBXML_CFLAGS) +DIST_SUBDIRS = libxslt libexslt xsltproc python doc tests -lib_LTLIBRARIES = libxslt.la +confexecdir=$(libdir) +confexec_DATA = xsltConf.sh -xsltincdir = $(includedir)/libxslt +bin_SCRIPTS = xslt-config -xsltinc_HEADERS = \ - xslt.h \ - xsltutils.h \ - pattern.h \ - templates.h \ - variables.h \ - keys.h \ - numbersInternals.h \ - extensions.h \ - extra.h \ - functions.h \ - namespaces.h \ - imports.h \ - attributes.h \ - documents.h \ - preproc.h \ - transform.h \ - security.h \ - xsltInternals.h \ - xsltexports.h \ - xsltlocale.h -nodist_xsltinc_HEADERS = \ - xsltconfig.h +dist-hook: cleanup libxslt.spec + touch $(distdir)/doc/*.xml + touch $(distdir)/doc/EXSLT/*.xml + touch $(distdir)/libxslt/*.syms + (cd $(srcdir) ; tar -cf - --exclude CVS --exclude .svn win32 vms examples) | (cd $(distdir); tar xf -) -libxslt_la_SOURCES = \ - attrvt.c \ - xslt.c \ - xsltlocale.c \ - xsltutils.c \ - pattern.c \ - templates.c \ - variables.c \ - keys.c \ - numbers.c \ - extensions.c \ - extra.c \ - functions.c \ - namespaces.c \ - imports.c \ - attributes.c \ - documents.c \ - preproc.c \ - transform.c \ - security.c \ - win32config.h \ - xsltwin32config.h.in \ - libxslt.h -nodist_libxslt_la_SOURCES = \ - xsltwin32config.h +CVS_EXTRA_DIST = -if USE_VERSION_SCRIPT -LIBXSLT_VERSION_SCRIPT = $(VERSION_SCRIPT_FLAGS)$(srcdir)/libxslt.syms -else -LIBXSLT_VERSION_SCRIPT = -endif +EXTRA_DIST = xsltConf.sh.in xslt-config.in libxslt.spec libxslt.spec.in \ + FEATURES TODO Copyright libxslt.m4 \ + win32/libxslt/libxslt.def win32/libxslt/libxslt.dsw \ + win32/libxslt/libxslt_so.dsp win32/libxslt/xsltproc.dsp \ + $(CVS_EXTRA_DIST) -libxslt_la_LIBADD = $(LIBXML_LIBS) $(EXTRA_LIBS) $(M_LIBS) -libxslt_la_LDFLAGS = \ - $(LIBXSLT_VERSION_SCRIPT) \ - -version-info $(LIBXSLT_VERSION_INFO) +## We create xsltConf.sh here and not from configure because we want +## to get the paths expanded correctly. Macros like srcdir are given +## the value NONE in configure if the user doesn't specify them (this +## is an autoconf feature, not a bug). -man_MANS = libxslt.3 +xsltConf.sh: xsltConf.sh.in Makefile +## Use sed and then mv to avoid problems if the user interrupts. + sed -e 's?\@XSLT_LIBDIR\@?$(XSLT_LIBDIR)?g' \ + -e 's?\@XSLT_INCLUDEDIR\@?$(XSLT_INCLUDEDIR)?g' \ + -e 's?\@VERSION\@?$(VERSION)?g' \ + -e 's?\@XSLT_LIBS\@?$(XSLT_LIBS) $(EXTRA_LIBS)?g' \ + -e 's?\@XSLT_PRIVATE_LIBS\@?$(XSLT_PRIVATE_LIBS)?g' \ + < $(srcdir)/xsltConf.sh.in > xsltConf.tmp \ + && mv xsltConf.tmp xsltConf.sh -EXTRA_DIST = $(man_MANS) trio.h triodef.h libxslt.syms +CLEANFILES = xsltConf.sh -xsltproc: all - @(cd ../xsltproc ; $(MAKE)) +check-local: tests + +dummy: + +tests: dummy + @echo '## Running the regression test suite' + @(cd tests ; $(MAKE) -s tests) + @(cd xsltproc ; $(MAKE) -s tests) + @(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; $(MAKE) -s tests ; fi) + +valgrind: + @echo '## Running the regression tests under Valgrind' + @echo '## Go get a cup of coffee it is gonna take a while ...' + @(cd tests ; $(MAKE) CHECKER='libtool --mode=execute valgrind -q --leak-check=full' tests) + @(cd xsltproc ; $(MAKE) CHECKER='libtool --mode=execute valgrind -q --leak-check=full' tests) + +cleanup: + -@(find . -name .\#\* -exec rm {} \;) + +cleantar: + @(rm -f libxslt*.tar.gz) + +rpm: cleantar + @(unset CDPATH ; $(MAKE) dist && rpmbuild -ta $(distdir).tar.gz) + + +pkgconfigdir=$(libdir)/pkgconfig +pkgconfig_DATA = libxslt.pc libexslt.pc + +m4datadir = $(datadir)/aclocal +m4data_DATA = libxslt.m4 -install-exec-hook: - $(MKDIR_P) "$(DESTDIR)$(libdir)/libxslt-plugins" diff --git a/dll/3rdparty/libxslt/security.c b/dll/3rdparty/libxslt/security.c index 641677ced66..b54b4543f19 100644 --- a/dll/3rdparty/libxslt/security.c +++ b/dll/3rdparty/libxslt/security.c @@ -12,7 +12,7 @@ #include #endif -#if defined(WIN32) && !defined(__CYGWIN__) +#if defined(_WIN32) && !defined(__CYGWIN__) #ifndef INVALID_FILE_ATTRIBUTES #define INVALID_FILE_ATTRIBUTES ((DWORD)-1) #endif diff --git a/dll/3rdparty/libxslt/win32config.h b/dll/3rdparty/libxslt/win32config.h index 6573bb4024b..8fe704275a3 100644 --- a/dll/3rdparty/libxslt/win32config.h +++ b/dll/3rdparty/libxslt/win32config.h @@ -77,15 +77,7 @@ static int isnan (double d) { #endif /* _MSC_VER */ #include -#ifdef __REACTOS__ -#if defined(_MSC_VER) || defined(__MINGW32__) -#define mkdir(p,m) _mkdir(p) -#define snprintf _snprintf -#if _MSC_VER < 1500 -#define vsnprintf(b,c,f,a) _vsnprintf(b,c,f,a) -#endif -#endif -#else /* __REACTOS__ */ + /* snprintf emulation taken from http://stackoverflow.com/a/8712996/1956010 */ #if defined(_MSC_VER) && _MSC_VER < 1900 @@ -120,7 +112,6 @@ __inline int c99_snprintf(char *outBuf, size_t size, const char *format, ...) } #endif /* defined(_MSC_VER) && _MSC_VER < 1900 */ -#endif /* __REACTOS__ */ #define HAVE_SYS_STAT_H #define HAVE__STAT diff --git a/dll/3rdparty/libxslt/xsltwin32config.h b/dll/3rdparty/libxslt/xsltwin32config.h index fe7c7fc3410..8085bc2fa82 100644 --- a/dll/3rdparty/libxslt/xsltwin32config.h +++ b/dll/3rdparty/libxslt/xsltwin32config.h @@ -62,7 +62,7 @@ extern "C" { * * Whether module support is configured into libxslt */ -#if 1 +#if 0 #ifndef WITH_MODULES #define WITH_MODULES #endif diff --git a/sdk/include/reactos/libs/libxslt/libxslt.h b/sdk/include/reactos/libs/libxslt/libxslt.h index 1265c04b719..5e98158e91b 100644 --- a/sdk/include/reactos/libs/libxslt/libxslt.h +++ b/sdk/include/reactos/libs/libxslt/libxslt.h @@ -27,12 +27,10 @@ #endif #endif -#ifndef __REACTOS__ #if defined(_MSC_VER) || defined(__MINGW32__) #include #include #define mkdir(p,m) _mkdir(p) #endif -#endif /* __REACTOS__ */ #endif /* ! __XSLT_LIBXSLT_H__ */ diff --git a/sdk/include/reactos/libs/libxslt/xsltexports.h b/sdk/include/reactos/libs/libxslt/xsltexports.h index aac59e1d7a3..ecce7305f9c 100644 --- a/sdk/include/reactos/libs/libxslt/xsltexports.h +++ b/sdk/include/reactos/libs/libxslt/xsltexports.h @@ -51,11 +51,11 @@ #undef XSLTCALL #if defined(IN_LIBXSLT) && !defined(LIBXSLT_STATIC) #define XSLTPUBFUN __declspec(dllexport) - #ifndef __clang__ - #define XSLTPUBVAR __declspec(dllexport) + #if defined(__REACTOS__) && defined(__clang__) + #define XSLTPUBVAR __declspec(dllexport) extern #else - #define XSLTPUBVAR __declspec(dllexport) extern - #endif + #define XSLTPUBVAR __declspec(dllexport) + #endif /* __REACTOS__ && __clang__ */ #else #define XSLTPUBFUN #if !defined(LIBXSLT_STATIC)