Commit e2cd5679 authored by William Blough's avatar William Blough

New upstream version 3.2.2+debian

parent 7f4617eb
# Makefile.in generated by automake 1.15.1 from Makefile.am.
# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -96,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acx_pthread.m4 \
$(top_srcdir)/m4/cxx_have_namespaces.m4 \
$(top_srcdir)/m4/cxx_have_std_libs.m4 \
$(top_srcdir)/m4/cxx_have_std_namespace.m4 \
$(top_srcdir)/m4/cxx_have_std_thread.m4 \
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 \
......@@ -188,7 +189,7 @@ am__recursive_targets = \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
cscope distdir dist dist-all distcheck
cscope distdir distdir-am dist dist-all distcheck
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
$(LISP)config.h.in
# Read a list of newline-separated strings from the standard input,
......@@ -222,8 +223,8 @@ am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(top_srcdir)/src/xercesc/util/XercesVersion.hpp.in \
$(top_srcdir)/src/xercesc/util/Xerces_autoconf_config.hpp.in \
INSTALL README config/compile config/config.guess \
config/config.sub config/install-sh config/ltmain.sh \
config/missing
config/config.sub config/depcomp config/install-sh \
config/ltmain.sh config/missing
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
......@@ -460,8 +461,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
......@@ -646,7 +647,10 @@ distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
distdir: $(DISTFILES)
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
......
This diff is collapsed.
......@@ -32,6 +32,7 @@ endif()
set(XERCES_PLATFORM_EXPORT)
set(XERCES_PLATFORM_IMPORT)
set(XERCES_TEMPLATE_EXTERN extern)
set(XERCES_DLL_EXPORT)
set(XERCES_STATIC_LIBRARY)
if(NOT BUILD_SHARED_LIBS)
......@@ -40,6 +41,9 @@ else()
if(WIN32)
set(XERCES_PLATFORM_EXPORT "__declspec(dllexport)")
set(XERCES_PLATFORM_IMPORT "__declspec(dllimport)")
if (MSVC)
set(XERCES_TEMPLATE_EXTERN)
endif()
set(XERCES_DLL_EXPORT 1)
endif()
endif()
......@@ -32,7 +32,6 @@ check_function_exists(clock_gettime HAVE_CLOCK_GETTIME)
check_function_exists(ftime HAVE_FTIME)
check_function_exists(gettimeofday HAVE_GETTIMEOFDAY)
check_function_exists(gmtime_r HAVE_GMTIME_R)
check_function_exists(timegm HAVE_TIMEGM)
check_function_exists(memmove HAVE_MEMMOVE)
check_function_exists(memset HAVE_MEMSET)
check_function_exists(nl_langinfo HAVE_NL_LANGINFO)
......
......@@ -62,7 +62,7 @@ if(SIZEOF_SIZE_T)
set(XERCES_SIZE_T size_t)
set(XERCES_SIZE_MAX SIZE_MAX)
else()
set(XERCES_SIZE_T unsigned long)
set(XERCES_SIZE_T "unsigned long")
set(XERCES_SIZE_MAX ULONG_MAX)
endif()
if(SIZEOF_SSIZE_T)
......
......@@ -21,16 +21,60 @@
option(threads "Threading support" ON)
include(CheckCXXSourceCompiles)
find_package(Threads REQUIRED)
function(thread_test outvar)
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
check_cxx_source_compiles(
"#include <thread>
#include <mutex>
#include <iostream>
namespace
{
std::mutex m1;
std::recursive_mutex m2;
void
threadmain()
{
std::lock_guard<std::mutex> lock1(m1);
std::lock_guard<std::recursive_mutex> lock2(m2);
std::cout << \"In thread\" << std::endl;
}
}
int main() {
std::thread foo(threadmain);
foo.join();
return 0;
}"
${outvar})
set(${outvar} ${${outvar}} PARENT_SCOPE)
endfunction(thread_test)
if(threads)
set(THREADS_PREFER_PTHREAD_FLAG ON)
add_definitions(-D_THREAD_SAFE=1)
find_package(Threads)
thread_test(XERCES_HAVE_STD_THREAD)
if(XERCES_HAVE_STD_THREAD)
list(APPEND mutexmgrs standard)
endif()
if(TARGET Threads::Threads)
if(WIN32)
list(APPEND mutexmgrs windows)
else()
list(APPEND mutexmgrs POSIX)
list(APPEND mutexmgrs posix)
set(HAVE_PTHREAD 1)
endif()
endif()
......@@ -49,10 +93,13 @@ if(mutexmgr_found EQUAL -1)
message(FATAL_ERROR "${mutexmgr} mutexmgr unavailable")
endif()
set(XERCES_USE_MUTEXMGR_STD 0)
set(XERCES_USE_MUTEXMGR_POSIX 0)
set(XERCES_USE_MUTEXMGR_WINDOWS 0)
set(XERCES_USE_MUTEXMGR_NOTHREAD 0)
if(mutexmgr STREQUAL "POSIX")
if(mutexmgr STREQUAL "standard")
set(XERCES_USE_MUTEXMGR_STD 1)
elseif(mutexmgr STREQUAL "posix")
set(XERCES_USE_MUTEXMGR_POSIX 1)
elseif(mutexmgr STREQUAL "windows")
set(XERCES_USE_MUTEXMGR_WINDOWS 1)
......
......@@ -31,7 +31,7 @@ if(network)
# Requires select() which is UNIX only
if(UNIX)
find_package(CURL COMPONENTS uc data)
find_package(CURL)
if(CURL_FOUND)
list(APPEND netaccessors curl)
endif()
......
......@@ -61,6 +61,10 @@ macro(add_generic_xerces_test name)
${xerces_test_extra_args}
-P "${xerces_test_dir}/RunTest.cmake"
)
if(AXT_STDIN)
set_property(TEST "${name}" PROPERTY RUN_SERIAL 1)
endif()
endmacro()
macro(add_xerces_test name)
......
......@@ -448,6 +448,9 @@
/* Define to use the NoThread mutex mgr */
#cmakedefine XERCES_USE_MUTEXMGR_NOTHREAD 1
/* Define to use the C++11 standard mutex mgr */
#cmakedefine XERCES_USE_MUTEXMGR_STD 1
/* Define to use the POSIX mutex mgr */
#cmakedefine XERCES_USE_MUTEXMGR_POSIX 1
......
......@@ -186,6 +186,9 @@
/* define if the compiler supports the std namespace */
#undef HAVE_STD_NAMESPACE
/* define if the compiler supports ISO C++11 <thread> and <mutex> */
#undef HAVE_STD_THREAD
/* Define to 1 if you have the `strcasecmp' function. */
#undef HAVE_STRCASECMP
......@@ -431,6 +434,9 @@
/* Define if the std namespace is supported */
#undef XERCES_STD_NAMESPACE
/* Define as the platform's template extern attribute */
#undef XERCES_TEMPLATE_EXTERN
/* An appropriate unsigned 16 bit integer type */
#undef XERCES_U16BIT_INT
......@@ -461,6 +467,9 @@
/* Define to use the POSIX mutex mgr */
#undef XERCES_USE_MUTEXMGR_POSIX
/* Define to use the C++ standard mutex mgr (requires C++11) */
#undef XERCES_USE_MUTEXMGR_STD
/* Define to use the Windows mutex mgr */
#undef XERCES_USE_MUTEXMGR_WINDOWS
......
#! /bin/sh
# Wrapper for compilers which do not understand '-c -o'.
scriptversion=2016-01-11.22; # UTC
scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>.
#
# This program is free software; you can redistribute it and/or modify
......@@ -17,7 +17,7 @@ scriptversion=2016-01-11.22; # UTC
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
......@@ -340,7 +340,7 @@ exit $ret
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
......
This diff is collapsed.
This diff is collapsed.
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2016-01-11.22; # UTC
scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
......@@ -16,7 +16,7 @@ scriptversion=2016-01-11.22; # UTC
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
......@@ -783,7 +783,7 @@ exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
......
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2016-01-11.22; # UTC
scriptversion=2018-03-11.20; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
......@@ -271,15 +271,18 @@ do
fi
dst=$dst_arg
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
# If destination is a directory, append the input filename.
if test -d "$dst"; then
if test "$is_target_a_directory" = never; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstbase=`basename "$src"`
case $dst in
*/) dst=$dst$dstbase;;
*) dst=$dst/$dstbase;;
esac
dstdir_status=0
else
dstdir=`dirname "$dst"`
......@@ -288,6 +291,11 @@ do
fi
fi
case $dstdir in
*/) dstdirslash=$dstdir;;
*) dstdirslash=$dstdir/;;
esac
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
......@@ -324,34 +332,43 @@ do
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
# Note that $RANDOM variable is not portable (e.g. dash); Use it
# here however when possible just to lower collision chance.
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
# Because "mkdir -p" follows existing symlinks and we likely work
# directly in world-writeable /tmp, make sure that the '$tmpdir'
# directory is successfully created first before we actually test
# 'mkdir -p' feature.
if (umask $mkdir_umask &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
$mkdirprog $mkdir_mode "$tmpdir" &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
test_tmpdir="$tmpdir/a"
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/d" "$tmpdir"
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
fi
trap '' 0;;
esac;;
......@@ -427,8 +444,8 @@ do
else
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
dsttmp=${dstdirslash}_inst.$$_
rmtmp=${dstdirslash}_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
......@@ -493,7 +510,7 @@ do
done
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
......
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
scriptversion=2016-01-11.22; # UTC
scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
......@@ -17,7 +17,7 @@ scriptversion=2016-01-11.22; # UTC
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
......@@ -101,9 +101,9 @@ else
exit $st
fi
perl_URL=http://www.perl.org/
flex_URL=http://flex.sourceforge.net/
gnu_software_URL=http://www.gnu.org/software
perl_URL=https://www.perl.org/
flex_URL=https://github.com/westes/flex
gnu_software_URL=https://www.gnu.org/software
program_details ()
{
......@@ -207,7 +207,7 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \
exit $st
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
......
#! /bin/sh
# test-driver - basic testsuite driver script.
scriptversion=2016-01-11.22; # UTC
scriptversion=2018-03-07.03; # UTC
# Copyright (C) 2011-2017 Free Software Foundation, Inc.
# Copyright (C) 2011-2018 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
......@@ -16,7 +16,7 @@ scriptversion=2016-01-11.22; # UTC
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
......@@ -140,7 +140,7 @@ echo ":copy-in-global-log: $gcopy" >> $trs_file
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC0"
......
This diff is collapsed.
......@@ -20,11 +20,11 @@
#
#
# $Id: configure.ac 1824713 2018-02-18 23:07:07Z rleigh $
# $Id: configure.ac 1840430 2018-09-09 18:57:49Z rleigh $
#
AC_PREREQ(2.60)
AC_INIT([xerces-c],[3.2.1])
AC_INIT([xerces-c],[3.2.2])
INTERFACE_VERSION=3.2
GRAMMAR_SERIALIZATION_LEVEL=7
......@@ -350,15 +350,18 @@ case $host in
*-*-msdos* | *-*-mingw32* | *-*-cygwin* | *-*-windows* )
platform_export="__declspec(dllexport)"
platform_import="__declspec(dllimport)"
template_extern=""
;;
* )
platform_export=""
platform_import=""
template_extern="extern"
;;
esac
AC_DEFINE_UNQUOTED([XERCES_PLATFORM_EXPORT], [$platform_export], [Define as the platform's export attribute])
AC_DEFINE_UNQUOTED([XERCES_PLATFORM_IMPORT], [$platform_import], [Define as the platform's import attribute])
AC_DEFINE_UNQUOTED([XERCES_TEMPLATE_EXTERN], [$template_extern], [Define as the platform's template extern attribute])
AS_IF([test ! $ac_cv_cxx_have_bool],
AC_DEFINE([XERCES_NO_NATIVE_BOOL], 1, [Define if there is no native bool support in this environment]))
......
# Makefile.in generated by automake 1.15.1 from Makefile.am.
# Makefile.in generated by automake 1.16.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
......@@ -112,6 +112,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/acx_pthread.m4 \
$(top_srcdir)/m4/cxx_have_namespaces.m4 \
$(top_srcdir)/m4/cxx_have_std_libs.m4 \
$(top_srcdir)/m4/cxx_have_std_namespace.m4 \
$(top_srcdir)/m4/cxx_have_std_thread.m4 \
$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
$(top_srcdir)/m4/lt~obsolete.m4 \
......@@ -431,8 +432,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
......@@ -458,7 +459,10 @@ ctags CTAGS:
cscope cscopelist:
distdir: $(DISTFILES)
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
distdir-am: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
......
......@@ -178,7 +178,31 @@
<p>Thread support is enabled by default and can be disabled
with the <code>-Dthreads:BOOL=OFF</code> option. If disabled,
it will not be possible to select a mutex manager other than
<code>nothreads</code>.</p>
<code>nothreads</code>. If enabled, one of the following
mutex managers may be selected:</p>
<table>
<tr>
<th>Option</th>
<th>Description</th>
</tr>
<tr>
<td><code>-Dmutex-manager=standard</code></td>
<td>Use Standard C++ mutex (requires a C++11 compiler)</td>
</tr>
<tr>
<td><code>-Dmutex-manager=posix</code></td>
<td>Use POSIX threads (pthreads) mutex (only on UNIX and Cygwin)</td>
</tr>
<tr>
<td><code>-Dmutex-manager=windows</code></td>
<td>Use Windows threads mutex (Windows and MinGW only)</td>
</tr>
<tr>
<td><code>-Dmutex-manager=nothreads</code></td>
<td>Use dummy implementation (default if threading is disabled)</td>
</tr>
</table>
<p>Shared libraries are built by default. You can use the
<code>-DBUILD_SHARED_LIBS:BOOL=OFF</code> option to build
......@@ -434,7 +458,33 @@
</table>
<p>Thread support is enabled by default and can be disabled with the
<code>--disable-threads</code> option.</p>
<code>--disable-threads</code> option. If disabled,
it will not be possible to select a mutex manager other than
<code>nothreads</code>. If enabled, one of the following
mutex managers may be selected:</p>
<table>
<tr>
<th>Option</th>
<th>Description</th>
</tr>
<tr>
<td><code>--enable-mutexmgr-standard</code></td>
<td>Use Standard C++ mutex (requires a C++11 compiler)</td>
</tr>
<tr>
<td><code>--enable-mutexmgr-posix</code></td>
<td>Use POSIX threads (pthreads) mutex (only on UNIX and Cygwin)</td>
</tr>
<tr>
<td><code>--enable-mutexmgr-windows</code></td>
<td>Use Windows threads mutex (Windows and MinGW only)</td>
</tr>
<tr>
<td><code>--enable-mutexmgr-nothreads</code></td>
<td>Use dummy implementation (default if threading is disabled)</td>
</tr>
</table>
<p>By default <code>configure</code> selects both shared and static
libraries. You can use the <code>--disable-shared</code> and
......
......@@ -36,7 +36,7 @@ please refer to <jump href="releases_plan.html">Releases Plan</jump>.
<s2 title="Release Information for &XercesCName; &XercesCLatest;">
<p>For a list of bug fixes in &XercesCName; &XercesCLatest;, see the
<jump href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12341423&amp;styleName=Text&amp;projectId=10510">Release Notes</jump>
<jump href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12342890&amp;styleName=Text&amp;projectId=10510">Release Notes</jump>
</p>
</s2>
......
......@@ -21,7 +21,8 @@
<s1 title="Releases Archive">
<s2 title="Release Information for earlier releases">
<ul>
<li><link anchor="Release320">Release Information for &XercesCName; 3.2.0</link></li>
<li><link anchor="Release321">Release Information for &XercesCName; 3.2.1</link></li>
<li><link anchor="Release320">Release Information for &XercesCName; 3.2.0</link></li>
<li><link anchor="Release314">Release Information for &XercesCName; 3.1.4</link></li>
<li><link anchor="Release313">Release Information for &XercesCName; 3.1.3</link></li>
<li><link anchor="Release312">Release Information for &XercesCName; 3.1.2</link></li>
......@@ -53,6 +54,14 @@
</ul>
</s2>
<anchor name="Release321"/>
<s2 title="Release Information for &XercesCName; 3.2.1">
<p>For a list of bug fixes in &XercesCName; 3.2.1, see the
<jump href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12341423&amp;projectId=10510">Release Notes</jump>
</p>
</s2>
<anchor name="Release320"/>
<s2 title="Release Information for &XercesCName; 3.2.0">
......
......@@ -20,6 +20,14 @@
<s1 title="Security Advisories">
<s2 title="Addressed in 3.2.1 and Later Releases">
<p>The following security advisories apply to versions of
Xerces-C older than V3.2.1:</p>
<ul>
<li><jump href="secadv/CVE-2017-12627.txt">CVE-2017-12627: Apache Xerces-C DTD vulnerability processing external paths</jump></li>
</ul>
</s2>
<s2 title="Addressed in 3.1.4 and Later Releases">
<p>The following security advisories apply to versions of
Xerces-C older than V3.1.4:</p>
......
dnl @synopsis AC_CXX_HAVE_STD_THREAD
dnl
dnl If the compiler supports ISO C++11 <thread> and <mutex>, define
dnl HAVE_STD_THREAD.
dnl
dnl @category Cxx
dnl @author Roger Leigh
dnl @author Roger Leigh <rleigh@codelibre.net>
dnl @version 2017-06-09
dnl @license AllPermissive
AC_DEFUN([AC_CXX_HAVE_STD_THREAD],
[AC_CACHE_CHECK(whether the compiler supports ISO C++11 <thread> and <mutex>,
ac_cv_cxx_have_std_thread,
[AC_REQUIRE([AC_CXX_HAVE_NAMESPACES])
AC_REQUIRE([ACX_PTHREAD])
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
AC_TRY_COMPILE([#include <thread>
#include <mutex>
#include <iostream>
namespace
{
std::mutex m1;
std::recursive_mutex m2;
void
threadmain()
{
std::lock_guard<std::mutex> lock1(m1);
std::lock_guard<std::recursive_mutex> lock2(m2);
std::cout << "In thread" << std::endl;
}
}
],[std::thread foo(threadmain);
foo.join();
return 0;],
ac_cv_cxx_have_std_thread=yes, ac_cv_cxx_have_std_thread=no)
CFLAGS="$save_CFLAGS"
AC_LANG_RESTORE
])
if test "$ac_cv_cxx_have_std_thread" = yes; then
AC_DEFINE(HAVE_STD_THREAD,,[define if the compiler supports ISO C++11 <thread> and <mutex>])
fi
])
......@@ -7,64 +7,182 @@ dnl @author James Berry
dnl @version 2005-05-25
dnl @license AllPermissive
dnl
dnl $Id: xerces_mutexmgr_selection.m4 467302 2006-10-24 10:45:35Z amassari $
dnl $Id: xerces_mutexmgr_selection.m4 1826421 2018-03-10 21:07:56Z rleigh $
AC_DEFUN([XERCES_MUTEXMGR_SELECTION],
[
AC_REQUIRE([XERCES_NO_THREADS])
######################################################
# Test for availability of each mutex manager on this host.
# For each mutex manager that's available, and hasn't been
# disabled, add it to our list. If the mutex manager has been
# explicitly "enable"d, then vote for it strongly, in upper
# case.
######################################################
ml_list=
AC_REQUIRE([XERCES_NO_THREADS])
AC_REQUIRE([ACX_PTHREAD])
AC_MSG_CHECKING([for which Mutex Manager to use])
mutexmgr=
# If no threads is specified, use the NoThread Mutex Mgr
AS_IF([test x$xerces_cv_no_threads = xyes],