2020-12-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  2.28.1

2020-12-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  atk/atkmm.h: Show how to use atkmm when building with Meson

2020-11-01  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Fix some comments

  * atk/src/editabletext.hg: Improve the description of the relation
  between Text and EditableText.
  * atk/src/relation.ccg: Remove an obsolete TODO comment.

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

  Meson build: Fix versioning on macOS

  See libsigcplusplus, pull request 65

2020-08-31  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Fix gendef invocation

  We ought to pass in the DLL filename with the '.dll' extension to gendef, not
  just the .lib filename

2020-08-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add atk/src/atk_signals.defs.patch

  and regenerate atk_signals.defs.
  
  atk_signals.defs has contained manually changed lines. Add a .defs.patch
  file that automatically makes these changes when atk_signals.defs is
  regenerated by codegen/generate_defs_and_docs.sh.

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 builds from release tarballs

  This will avoid re-generating atkmm.rc and atkmmconfig.h unneedingly, and
  ensure that we do have the version info in those files when we do need to
  generate them.
  
  Also streamline the process so that these files are generated as part of the
  'all' target, so there is no need to run the 'prep-git-build' target explicitly

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 atkmm,
  which can be used on Windows 10 on ARM systems.

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

  NMake Makefiles: Fix previous commit

  We should also account for Visual Studio 2015 when we use 'USE_MESON_LIBS' with
  'USE_COMPAT_LIBS' as well...

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.

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

  doc/reference/: Update for Doxygen >= 1.8.16

  * doc/reference/meson.build: Doxygen 1.8.16 and later does not store
  tag file names in the html files. This requires changes in meson.build
  and in doc-install.pl (in mm-common). Otherwise references to other modules
  won't be updated in the html files when they are installed.
  * doc/reference/Doxyfile.in: Remove PERL_PATH and MSCGEN_PATH.
  Doxygen since version 1.8.0 does not use them.

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

  codegen/extradefs/meson.build: Apply toolset version as well

  We are already building the 'glibmm_generate_extra_defs-2.4' library with the
  toolset version applied by default on Visual Studio 2015+, so we should do the
  same here.

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

  Meson/Visual Studio builds: Include toolset version by default

  This makes the built DLL and .lib's contain the toolset version if the build is
  carried out using Visual Studio 2015 or later, unless the
  'msvc14x-parallel-installable' option is set to be false during configuration.
  
  The reasoning behind this change is that there can be subtle problems when, for
  instance, one tries to link to a Visual Studio 2015-built atkmm when building
  items dependening on atkmm with Visual Studio 2017 or 2019.  This is
  unfortunate as Microsoft did try hard to make interoperating between binaries
  built with Visual Studio 2015, 2017 and 2019 as easy as possible in terms of ABI
  and API, but unfortunately this can hit the corner cases where this
  compatibility does not work.
  
  As the name suggests, this attempts to make Visual Studio 2015, 2017 and 2019
  builds share a single set of underlying C DLLs easier, while avoiding breakages
  caused by such subtle differences.

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

  Meson: Use pkg-config to find glibmm for all builds

  Stop manually looking for glibmm for better consistency, as:
  
  -Items that depended on glibmm which added Meson build support after glibmm,
   such as gtkmm and libxml++ also required glibmm to be found via pkg-config
   files, and they still had NMake Makefile support for Visual Studio builds.
  -There could be corner cases on the glibmm libraries that atkmm links to in
   terms of ABI compatibility between Visual Studio 2015, 2017 and 2019.

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

  NMake Makefiles: Fix header 'installation'

  For Meson-generated source tarballs, we need to look in $(srcroot)/untracked
  for the header files as well.

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

  NMake Makefiles: Distinguish between MSVC 2015, 2017 and 2019

  It was found that we cannot completely rely on the fact that Visual
  Studio 2015~2019 tried very hard to be binary compatible, as there
  could be corner cases when linking against atkmm built with Visual
  Studio 2015 with builds done by Visual Studio 2017 and 2019 where
  the code will fail to link and the DLLs are therefore not
  ABI-compatible.  Note that the libsigc++ DLLs, however, are ABI
  compatible between these 3 Visual Studio versions.
  
  As a result, for the DLL and LIB names, use 'vc140' for Visual Studio
  2015 builds, 'vc141' for Visual Studio 2017 builds and 'vc142' for
  Visual Studio 2019 builds, according to the toolset versions as defined
  by Microsoft.
  
  For people that may have previously built atkmm (and glibmm) with Visual
  Studio 2017 or 2019, which had 'vc140' in the built .lib and DLL, an NMake
  option 'USE_COMPAT_LIBS' is added to make building such binaries with
  'vc140' easier, if needed.

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

  NMake Makefiles: Look for the headers in untracked/ as well

  We ought to look for headers there as well, to avoid loading the headers that were
  installed before, for building from Meson-built tarballs.

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

  NMake Makefiles: Support building from Meson-generated tarballs

  This adds rules to the NMake Makefiles so that they will also look for the sources in
  untracked/.  One still need to use the 'prep-git-build' target to generate the full
  atkmmconfig.h and atkmm.rc source files for such release tarballs, if PERL is present,
  or manually edit those files from their .in templates to their full counterparts.
  
  Also update the check for the generated headers so that we do not attempt to needlessly
  try to run gmmproc by looking for the header in untracked/ as well.

2020-04-15  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  Add support for building atkmm with Meson

  atkmm-1.6 can be built with either Autotools or Meson.
  New files have been copied from pangomm-1.4 and modified.
  
  See MR !8

2020-04-13  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  atk/atkmm.pc.in: Add atkmmconfig.h's install directory

  Add -I${libdir}/@ATKMM_MODULE_NAME@/include to the C flags, so other modules
  can include header files that include atkmmconfig.h.

2020-04-05  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Fix m4 file installation

  It should be in $(sharedir)/atkmm-x.y/proc/m4, not
  $(sharedir)/atkmm-x.y/proc.

2020-04-05  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Export using compiler directives if possible

  Check the gmmproc-generated sources to see whether they are generated
  with a new-enough gmmproc by checking on one of the generated headers,
  so that we can tell whether the generated headers have class, function
  and method definitions marked with ATKMM_API as needed.
  
  If the headers were generated with a recent enough gmmproc, we define
  ATKMM_BUILD and ATKMM_DLL to set ATKMM_API as __declspec(dllexport) to
  export the symbols directly during compilation and linking without
  building and using gendef.exe, otherwise we fall back to running
  gendef.exe on the built object files as we did before.

2020-04-01  Chun-wei Fan  <fanchunwei@src.gnome.org>

  atk/atkmm/*.h: Mark methods with ATKMM_API

  This way, we can export symbols in atkmm using compiler directives
  rather than using gendef.exe.

2020-04-01  Chun-wei Fan  <fanchunwei@src.gnome.org>

  atk/src/*.hg: Mark classes with ATKMM_API

  This way, we can export the symbols in atkmm with compiler directives
  instead of using gendef.

2020-04-01  Chun-wei Fan  <fanchunwei@src.gnome.org>

  atk/atkmmconfig.h.in: Re-organize ATKMM_API definition

  We also activate ATKMM_DLL when we are building with Visual Studio, and
  define ATKMM_API as __declspec(dllexport) when ATKMM_DLL and ATKMM_BUILD
  are defined.
  
  Since we may be building with sources that are generated by gmmproc that
  did not support marking generated items with ATKMM_API, we also leave
  around a ATKMM_USE_GENDEF macro that would be defined if we find out
  that an older gmmproc was used to generate the sources from the .ccg/.hg
  files.

2020-04-01  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Fix headers "installation"

  We may have generated the sources in $(Outdir)\atkmm, so make sure we
  look for the generated public headers there as well.

2020-03-31  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: "Install" files in codegen/m4

  This way, we could have the *.m4 files in place so that we can use them
  to build gtkmm directly from a GIT checkout.

2020-03-31  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Allow linking to Meson-built glibmm

  The option USE_MESON_LIBS now applies to linking to Meson-built glibmm,
  since it is now buildable with Meson.

2020-03-31  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Disable warnings C4251 and C4275

  Since we may be building against GLib that use __declspec(dllimport) to
  import symbols, we can safely ignore warnings C4251 and C4275, as they
  are harmless in this case as we are certain that we are really using
  those compiler directives.

2020-03-31  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Fix build instruction display

  Some '<' and '>' need to be carat-escaped...

2020-03-31  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Add rules to generate sources

  This allows one to be able to build directly from a GIT checkout, after
  first running the prep-git-build target, by running gmmproc from an
  installation of glibmm.
  
  Note that in order to perform such a build, one will need *nix/GNU tools
  such as common *nix commands 'cp' and 'rm' etc, along with PERL (with
  XML::Parser) and the GNU m4 tool.

2020-02-27  Chun-wei Fan  <fanchunwei@src.gnome.org>

  NMake Makefiles: Add rules to generate pre-configure items

  This will allow building from GIT checkouts easier, where we need the
  full atkmmconfig.h and atkmm.rc to carry out our builds with NMake.

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

  MSVC_NMake: Add option to link to Meson-built libraries

  libsigc++ is now buildable with Meson, so make it easier for people to
  link to Meson-built libsigc++ libraries with a NMake command line
  option.

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

  NMake Makefiles: Use /utf-8 for MSVC 2015 and later

  This will prevent error C4819 due to unicode handling issues in the
  compiler, which can be raised when building on an East-Asian locale
  (Chinese, Japanese and Korean).  This build flag, however, is provided
  only in Visual Studio 2015 and later, so 2013 users cannot benefit from
  this change.

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

  NMake Makefiles: Split outdir and intdir by toolset version

  This will reduce the likelihood that one confuses builds done by
  different Visual Studio toolset versions, making things a bit neater.

2018-12-30  Kjell Ahlstedt  <kjellahlstedt@gmail.com>

  codegen/generate_defs_and_docs.sh: Update for non-source-dir builds

  Most modules (e.g. atk) can be built in a directory separated from the
  source directory. Update the script that generates .defs and doc.xml files
  to handle that.
  The environment variables GMMPROC_GEN_SOURCE_DIR and GMMPROC_GEN_BUILD_DIR
  are read. See comments in init_generate.sh.