2020-10-02 Kjell Ahlstedt 2.42.0 2020-10-02 Kjell Ahlstedt Meson build: Fix versioning on macOS See libsigcplusplus, pull request 65 2020-10-01 From: Murray Cumming Parser: Replace (deprecated) Glib::Threads::Mutex with std::mutex. Added by Kjell Ahlstedt: This patch and the two patches * Parser: Correct the SaxParserCallback prototype declaration. * C++11: Use of override keyword. have been copied from the libxml++-2.42 branch. That branch should be avoided in favor of libxml++-2-42. 2020-10-01 Murray Cumming Parser: Correct the SaxParserCallback prototype declaration. 2020-10-01 Murray Cumming C++11: Use of override keyword. To fix the build with --enable-warnings=fatal. 2020-07-23 Chun-wei Fan NMake Makefiles: Use Meson-style DLL and .lib naming if requested To make things more consistent and less prone to confusion, if 'USE_MESON_LIBS' is specified in the NMake command line, build the DLLs and .lib's that are named like the Meson counterparts. Binaries built with Meson+Visual Studio and the ones that are built via NMake using 'USE_MESON_LIBS' are interchangeable, provided that they are built with the same Visual Studio version. 2020-07-22 Chun-wei Fan NMake Makefiles: Fix build from tarballs Update the rules so that we won't attempt to unnecessarily generate libxml++config.h and libxml++.rc in our builds, and make sure that we do indeed generate them with the version info if generating them becomes necessary. Also streamline this process so that it will be part of the 'all' target. 2020-07-08 Chun-wei Fan NMake Makefiles: Fix default include paths Fix a typo where we include glibmmconfig.h, and make sure we also look for headers in $(PREFIX)\include 2020-07-08 Chun-wei Fan NMake Makefiles: Support ARM64 Windows builds This will make the NMake Makefiles capable of building ARM64 binaries of libxml++, which can be used on Windows 10 on ARM systems. 2020-06-30 Chun-wei Fan NMake Makefiles: Apply toolset version for Meson-built deps As the Meson build files for Visual Studio apply the toolset version in the .lib filenames by default, apply the toolset version in the Meson-built -mm .lib files that we link in, just as we did when we we link in the -mm .lib files that was built with NMake, by default. The option 'USE_COMPAT_LIBS' will also mean that we will use the former behavior when we link in the Meson-built -mm .lib's, just as we did when we link in the NMake-built -mm .lib's. Also let people know the resolution to strange linker errors that are caused by mixing Visual Studio versions when building the -mm libraries. 2020-06-29 Kjell Ahlstedt README: Update with instructions for building libxml++ 2020-06-29 Kjell Ahlstedt Add support for building libxml++ with Meson libxml++-2.6 can be built with either Autotools or Meson. New files have been copied from the libxml++-3-2 branch. Some of them have been slightly changed. 2020-06-29 Kjell Ahlstedt docs/reference/Doxyfile.in: Remove PERL_PATH Doxygen since version 1.8.0 does not use PERL_PATH and MSCGEN_PATH. 2020-06-19 Chun-wei Fan Drop gendef.cc Since we are now using compiler directives or mechanisms to export symbols from our libxml++ DLL for all Windows dynamic builds, it's time to drop gendef.cc, as it is no longer used 2020-06-19 Chun-wei Fan NMake Makefiles: Stop using gendef This updates the NMake Makefiles to stop building and using the gendef tool, since we are now using compiler directives to export symbols for libxml++ builds. Since this branch did not have official and working Visual Studio build files, and it is not API/ABI compatible with the libxml++-2.6 series, gendef.cc will be dropped in the next commit 2020-06-19 Chun-wei Fan libxml++config.h.in: Re-organize LIBXMLPP_API We want to set LIBXMLPP_API to the following: * __declspec(dllexport) when building the libxml++ DLL on Windows * __declspec(dllimport) when using the libxml++ DLL on Windows * if building/using a static or a non-Windows libxml++ build 2020-06-19 Chun-wei Fan libxml++ headers: Mark classes and functions with LIBXMLPP_API This prepares us to export and symbols on Visual Studio builds using only compiler directives, and to drop the venerable gendef.cc 2020-06-19 Chun-wei Fan libxml++/*.h: Remove check for old _MSC_VER stuff They aren't applicable anymore, since the newer Visual Studio versions addressed the issues. 2020-06-17 Kjell Ahlstedt docs/Makefile.am: Fix builddir != sourcedir builds 2020-06-17 Chun-wei Fan Update MSVC_NMake/README Update instructions for building since we moved to using NMake Makefiles, and let people know that the same compiler version is required for building libxml++, glibmm and libsigc++. 2020-06-17 Chun-wei Fan Drop Visual Studio 2010 projects They have been superseded with the NMake Makefiles, so it's time to retire them from the source tree. 2020-06-17 Chun-wei Fan Add NMake Makefiles This adds a set of NMake Makefiles that can be used to build libxml++, which will replace the Visual Studio 2010(!) projects that reside in the repository (which is probably broken and we actually need Visual Studio 2017+ to build the current code due to a bug in the Visual Studio 2015 compiler). The unfortunate fact is that we do need to link to a glibmm that is built with the same compiler, otherwise linking will fail and the binaries of the dependent glibmm built with other compilers won't work well with the builds here if they are built with other Visual Studio compilers, so we will need to separate the output filenames for the resulting .lib and .dll files for Visual Studio 2015, 2017 and 2019. A NMake Makefile build options "USE_COMPAT_LIBS" is added if linking to xxxx-vc140-y_z.lib for glibmm is still desired, such as in the case where glibmm was actually built with Visual Studio 2017 or 2019. 2020-06-17 Chun-wei Fan gendef.cc: Skip symbols implemented inline Like in the case of gtkmm, some symbols were implemented inline in the CRT on Visual Studio 2015+ (UCRT), so we don't want to put them in our .def file, otherwise linking will fail. 2020-06-17 Chun-wei Fan tests: Don't include config.h The libxml++config.h should already fulfil our needs here. 2020-06-17 Chun-wei Fan Rename MSVC_Net2010 to MSVC_NMake This initiates the move from the Visual Studio project files to using NMake Makefiles, so that we reduce the likelihood of the MSVC build files becoming outdated, by sharing the autotools build files' source listings. 2017-05-04 Kjell Ahlstedt Document, DomParser: Improve XInclude processing * examples/Makefile.am: * examples/dom_xinclude/example.xml: Changed due to moved include files. * examples/dom_xinclude/include1.txt: * examples/dom_xinclude/include2.xml: Moved to examples/dom_xinclude/xinclude/ * examples/dom_xinclude/main.cc: Test both Document::process_xinclude() and Xinclude processing with DomParser::parse_file(). * libxml++/document.[cc|h]: Add fixup_base_uris parameter to process_xinclude(). * libxml++/parsers/domparser.[cc|h]: Add set/get_xinclude_options(). Add optional XInclude processing to the parse methods. * libxml++/parsers/parser.[cc|h]: Add set/get_xinclude_options_internal(). Bug 781566 2016-07-18 Kjell Ahlstedt Require mm-common 0.9.10 Necessary when MM_AX_CXX_COMPILE_STDCXX is used in configure.ac. 2016-07-18 Kjell Ahlstedt Fix even more silent 'make check' * examples/Makefile.am: Add $(AM_V_GEN) and $(AM_V_at) to 'echo' commands. Bug #768797 2016-07-18 Kjell Ahlstedt Build: Fix silent builds * configure.ac: Pass yes to AM_SILENT_RULES, thus enabling silent builds. Replace MM_AX_CXX_COMPILE_STDCXX_11 by MM_AX_CXX_COMPILE_STDCXX (not necessary for silent builds). * docs/reference/Doxyfile.in: Set QUIET=YES. Update for doxygen 1.8.11 (not necessary for silent builds). Bug #768797 2016-07-06 Kjell Ahlstedt Element::remove_attribute(): Delete the C++ wrapper * libxml++/nodes/element.cc: Call Node::free_wrappers() before the call to xmlUnsetProp() or xmlUnsetNsProp(). Bug #768404. Based on a patch by Harald Schmalzl 2015-11-05 Renu Tyagi Element: Remove redundant null check Bug #757515