2020-10-02  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  3.2.2

2020-10-02  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Meson build: Fix versioning on macOS

  See libsigcplusplus, pull request 65

2020-07-23  Chun-wei Fan  <fanchunwei@src.gnome.org>

  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  <fanchunwei@src.gnome.org>

  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  <fanchunwei@src.gnome.org>

  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  <fanchunwei@src.gnome.org>

  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  <fanchunwei@src.gnome.org>

  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-25  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  README: Update with instructions for building libxml++

2020-06-25  Chun-wei Fan  <fanchunwei@src.gnome.org>

  Meson/Visual Studio builds: Use toolset version by default

  Like the NMake Makefiles, put in the toolset version of Visual Studio in
  the filenames of the built DLL and .lib by default on Visual Studio 2017
  and 2019, so that it makes it easier to share the same glib, libxml and
  libsigc++ DLLs and libraries that were built with Visual Studio
  2015~2019.
  
  The reasoning behind this change here is because although Microsoft
  tried very hard to make DLLs built with Visual Studio 2015, 2017 and
  2019 API and ABI compatible, but libxml++ hits a corner case with glibmm
  where this compatibility does not work, but then the libxml, glib and
  libsigc++ DLLs and .lib's are indeed ABI-compatible.

2020-06-25  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  meson.build: Fix some comments

  * meson.build: Fix some comments.
  * tools/build_scripts/tutorial-custom-cmd.py: Make it more similar
  to corresponding files in libsigc++ and gtkmm-documentation.

2020-06-24  Chun-wei Fan  <fanchunwei@src.gnome.org>

  meson.build: Silence some warnings on Visual Studio

  Disable warnings C4273 and C4275, since we  are going to rely on
  __declspec(dllimport) to build against glibmm and __declspec(dllexport) to
  build libxml++ itself, and we are very much bound to the same compiler that was
  used to build glibmm.

2020-06-24  Chun-wei Fan  <fanchunwei@src.gnome.org>

  libxml++/meson.build: Fix typo

  It turns out that this typo will cause Visual Studio DLL builds to fail,
  because LIBXMLPP_API will not be defined correctly.

2020-06-24  Chun-wei Fan  <fanchunwei@src.gnome.org>

  meson.build: Also look for libxml2 manually on Windows

  The Windows-specific Makefiles for libxml2 do not generate pkg-config files for
  us, so we must look for it manually on Windows if the libxml2 pkg-config file
  does not exist.
  
  This will check for the library and the headers, and run a simple version check
  to make sure things are indeed in place.
  
  Also make the build look for glibmm only via pkg-config, since we have Meson build
  files for glibmm already
  
  Also make sure that we have the correct info put into the pkg-config file that we
  generate

2020-06-24  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add support for building libxml++ with Meson

  libxml++-3.0 can be built with either Autotools or Meson.
  New files have been copied from sigc-3.0 and other modules and modified.

2020-06-22  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  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  <fanchunwei@src.gnome.org>

  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  <fanchunwei@src.gnome.org>

  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  <fanchunwei@src.gnome.org>

  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
  * <nothing> if building/using a static or a non-Windows libxml++ build

2020-06-19  Chun-wei Fan  <fanchunwei@src.gnome.org>

  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  <fanchunwei@src.gnome.org>

  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  Chun-wei Fan  <fanchunwei@src.gnome.org>

  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  <fanchunwei@src.gnome.org>

  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  <fanchunwei@src.gnome.org>

  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  <fanchunwei@src.gnome.org>

  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  <fanchunwei@src.gnome.org>

  libxml++.rc.in: Fix version info

  We are now on libxml++-3.0 (3.x), not -2.6, so fix the version info in here

2020-06-17  Chun-wei Fan  <fanchunwei@src.gnome.org>

  tests: Don't include config.h

  The libxml++config.h should already fulfil our needs here.

2020-06-17  Chun-wei Fan  <fanchunwei@src.gnome.org>

  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.