2020-12-19 Kjell Ahlstedt 2.36.0 2020-12-19 Kjell Ahlstedt Regenerate docs.xml and .defs files 2020-12-11 Kjell Ahlstedt Change ABI to atkmm-2.36; Use glibmm-2.68 instead of glibmm-2.66 So we can use the 2.30-2.34 version numbers for stable releases in the atkmm-1.6 ABI series. We've done similar ABI name changes before. 2020-11-01 Kjell Ahlstedt 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 Meson build: Fix versioning on macOS See libsigcplusplus, pull request 65 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 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 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 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 fix the case also when the 'USE_COMPAT_LIBS' option is used and when 'USE_MESON_LIBS' is not used on Visual Studio 2017, where the toolset version was not correctly applied. 2020-06-29 Kjell Ahlstedt 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 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 2017 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 2017-built atkmm when building items dependening on atkmm with Visual Studio 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 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 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 2017 and 2019. 2020-06-16 Chun-wei Fan 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-16 Chun-wei Fan NMake Makefiles: Use toolset version in DLL/.lib naming Instead of using the Visual Studio version ('vc150' for Visual Studio 2017), use the toolset version ('vc141' for Visual Studio 2017 and 'vc142' for Visual Studio 2019, as defined by Microsoft) so that we are more in-line with what is now done in the atkmm-2-28 branch. If using the old naming convention is desired, an NMake command line option 'USE_COMPAT_LIBS' have been added-note that this will require glibmm and libsigc++ to be built with that option enabled. 2020-04-17 Chun-wei Fan 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. 2020-04-17 Chun-wei Fan meson: Use /utf-8 for Visual Studio builds We check for its presence and use it if there, which is always the case since we need Visual Studio 2017 15.7.x or later. This avoids warning (error) C4819 being triggered when attempting to build atkmm on East Asian locales of Windows. 2020-04-15 Kjell Ahlstedt Add support for building atkmm with Meson atkmm can be built with either Autotools or Meson. New files have been copied from pangomm and modified. See MR !7 2020-04-13 Kjell Ahlstedt 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 NMake Makefiles: Fix m4 file installation It should be in $(sharedir)/atkmm-x.y/proc/m4, not $(sharedir)/atkmm-x.y/proc. 2020-04-01 Chun-wei Fan Drop gendef from the sources We are now using compiler directives to export atkmm symbols for all builds, so it's time to drop the venerable gendef fmro the sources. 2020-04-01 Chun-wei Fan NMake Makefiles: Stop building and using gendef We can now use compiler directives to export symbols from atkmm by defining ATKMM_API as __declspec(dllexport) via defing ATKMM_BUILD, so we no longer need to use gendef.exe to export the symbols. The next commit will remove gendef from the atkmm sources. 2020-04-01 Chun-wei Fan 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 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 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. 2020-04-01 Chun-wei Fan NMake Makefiles: Use 'md', not 'mkdir' This avoids confusion with the unixy ones supplied by Cygwin or MSYS64, since we could be using tools from there to enable building from GIT checkouts. 2020-04-01 Chun-wei Fan NMake Makefiles: Fix header "installation" We may have the (generated) headers in $(Outdir)\atkmm, so make sure we look for the headers from there as well. 2020-04-01 Chun-wei Fan 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-04-01 Chun-wei Fan 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 master. 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-04-01 Chun-wei Fan 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-04-01 Chun-wei Fan NMake Makefiles: Disable warnings C4251 and C4275 Since we are 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-04-01 Chun-wei Fan NMake Makefiles: Fix build instruction display Some '<' and '>' need to be carat-escaped... 2020-03-17 Kjell Ahlstedt Use glibmm-2.66 instead of glibmm-2.64 We have changed the ABI name in glibmm. 2020-02-27 Chun-wei Fan 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 NMake Makefiles: Bump glibmm version glibmm master is now versioned at 2.64, so update this accordingly 2020-02-07 Chun-wei Fan NMake Makefiles: Add option to use Meson-built libsigc++ This makes it easier for people to build and link against Meson-built libsigc++-3.x, by providing an NMake command line option. 2020-02-07 Chun-wei Fan NMake Makefiles: Use /utf-8 This avoids error C4819 due to unicode handling issues in the compiler, which is often raised when attempting to build in East-Asian locales (Chinese, Japanese and Korean). Since Visual Studio 2017 is required to build the C++17/master branch of atkmm, this is enabled for all builds. 2020-02-07 Chun-wei Fan NMake Makefiles: Split outdir and intdir by toolset version This makes things a bit cleaner so that we reduce the likelyhood of building and linking against objects and libraries with different CRT versions, which is a source of trouble. 2019-09-18 Kjell Ahlstedt Use glibmm-2.64 instead of glibmm-2.62 We have changed the ABI name in glibmm. 2019-07-23 Kjell Ahlstedt Hyperlink, Object: Remove deprecated properties * atk/src/hyperlink.hg: Remove property_selected_link(). * atk/src/object.hg: Remove 6 deprecated properties. 2019-07-23 Kjell Ahlstedt Object, Text, Value: Add some API * atk/src/object.hg: Add get_object_locale(), get/set_accessible_id(), property_accessible_table_caption_object() and property_accessible_hypertext_nlinks(). * atk/src/text.hg: Add signal_text_insert() and signal_text_remove(). * atk/src/value.hg: Add signal_value_changed(). 2019-07-23 Kjell Ahlstedt Regenerate atk_docs.xml and .defs files 2019-03-21 Kjell Ahlstedt Doxyfile.in: Remove obsolete glibmm configuration constants They have been removed from glibmm. See issue glibmm#22. 2019-03-19 Kjell Ahlstedt Use glibmm-2.62 instead of glibmm-2.60 We have changed the ABI name in glibmm. 2018-12-30 Kjell Ahlstedt 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.