2020-03-21 Kjell Ahlstedt 2.42.1 2020-03-21 Kjell Ahlstedt README: Describe building with Meson and Autotools 2020-03-12 Chun-wei Fan NMake Makefiles: Support Meson-built glibmm Add the correct naming for the DLLs and .lib's for glibmm that is built with Meson. 2020-03-10 Chun-wei Fan meson: Ignore warning C4251 on MSVC builds We might be building against glibmm that is built with __declspec(dllexport), meaning that warning C4251 will be generated as we are now in-turn using __declspec(dllimport). We can just ignore this compiler warning, since we are pretty sure what we are doing at this point. 2020-03-10 Chun-wei Fan meson.build: Look for glibmm with pkg-config on MSVC too glibmm gained Meson build support for Visual Studio, so we can first try to look for glibmm with pkg-config first, and then fall back to manual searching if that cannot be found. Note that libsigc++ also has a Meson build system as well, but either we look for it via glibmm's pkg-config files, or we look for both glibmm and libsigc++ manually. Also support looking for Meson-built libsigc++ .lib's as well if glibmm is to be looked for manually. 2020-03-10 Chun-wei Fan meson: Build generate_extra_defs with Visual Studio too The NMake Makefiles in glibmm now builds glibmm_generate_extra_defs-2.x.lib, so we can make use of it to build generate_extra_defs on Visual Studio too. 2020-03-10 Chun-wei Fan Meson: Allow maintainer builds on Visual Studio too glibmm recently gained the ability to build with Visual Studio from a GIT checkout and to install the PERL scripts used to generate the C++ sources from the respective templates, so enable this support for pangomm as well as the needed infrastructure are largely in place. Note that a new configuration option has been added for Visual Studio builds to specify the directory for gmmproc, since there is not yet Meson build support for building glibmm, meaning glibmm built with Visual Studio does not support generating pkg-config files. Since some portions that we use for non-maintainer builds can be used for maintainer builds as well, make them shared to keep additions minimal. 2020-03-10 Chun-wei Fan pango/src/color.hg: Fix call to _CLASS_BOXEDTYPE_STATIC Remove all the parameters after the second one, they were originally ignored as _CLASS_BOXEDTYPE_STATIC accepted 2 arguments and will cause issues with the new api_decoration stuff that was recently added to glibmm, which was the third argument 2020-02-27 Chun-wei Fan NMake Makefiles: Support using Meson-built dependencies Add NMake commandline option to use Meson-built libraries so that one will not need to update the Makefiles to use them. 2020-02-27 Chun-wei Fan NMake Makefiles: Also install the m4 files This way other projects may make use of these to generate the sources 2020-02-27 Chun-wei Fan NMake Makefiles: Separate outdir and intdir by toolset version This reduces the chances of builds by different Visual Studio versions become mixed up with other versions, and makes the build tree cleaner. Note that Visaul Studio 2015 through 2019 are treated as the same toolset version since they link to the same CRT. 2020-02-27 Chun-wei Fan NMake Makefiles: Allow builds from a GIT checkout ...or a Meson-generated release tarball. Add targets to the NMake Makefiles which will allow: -Generating MSVC_NMake/pangomm/pangommconfig.h and MSVC_NMake/pangomm/pangomm.rc, needed for GIT checkouts and Meson-generated release tarballs -Generating the sources that need to be generated with gmmproc and generate_wrap_init.pl, needed for GIT checkouts, and fix installation accordingly. -Look for sources also in $(srcroot)/untracked, which will be the case for Meson-generated release tarballs. 2020-02-27 Chun-wei Fan NMake Makefiles: Add rules to generate pre-configured items This will generate the pangomm.rc and pangommconfig.h files, which are needed for a Visual Studio build. This will make builds from a GIT checkout easier with NMake. 2020-01-13 Kjell Ahlstedt Meson build: Improve internal dependencies * docs/reference/meson.build: Less difference between maintainer-mode and not maintainer-mode. * pango/pangomm/meson.build: Make separate lists of built .h files and built .cc files. 2020-01-02 Kjell Ahlstedt docs/reference/meson.build: Check if perl is found Don't use perl.path() when configuring Doxyfile, if perl is not found. Perl is not required, if build-documentation=false. See https://github.com/libsigcplusplus/libsigcplusplus/issues/53 2019-12-27 Kjell Ahlstedt meson.build: Check if .git is a directory or file In a git worktree, .git is a regular file. See MR !8 (Ting-Wei Lan) 2019-11-09 Kjell Ahlstedt meson.build files: Fix references to other modules * docs/reference/meson.build: Use tag files from sigc++-2.0, glibmm-2.4 and cairomm-1.0. * tools/extra_defs_gen/meson.build: Use the generate_extra_defs library from glibmm-2.4. These files had been copied from the master branch but not enough modified. See https://mail.gnome.org/archives/gtkmm-list/2019-November/msg00001.html 2019-11-04 Chun-wei Fan README.win32: Update info on MSVC builds C++11 versions of pangomm support Visual Studio 2013 or later, so ensure the right info is conveyed here. Note that Meson does not have a project generator backend for Visual Studio 2013, but does have project generator backends for 2015, 2017 and 2019. 2019-11-04 Chun-wei Fan meson: Relax Visual Studio check to 2013 We are able to build the C++-11 version of pangomm on Visual Studio 2013 or later, so check for that. However, since the C++-11 support in Visual Studio is made complete in VS 2015, display a warning message to configure the build without warnings being fatal, as 2013 builds will spew compiler warnings. Also, for the C++-11 versions of glibmm, cairomm and sigc++, we don't distinguish between whether they are built by Visual Studio 2015, 2017 nor 2019, so we assume that they will all link to the same .lib's for glibmm, cairomm and sigc++, since they should all be compatible in this case. In this case, Meson will warn about C++11 is not supported, but it is safe to ignore this warning. 2019-11-03 Kjell Ahlstedt Add support for building pangomm with Meson pangomm-1.4 can be built with either Autotools or Meson. New and modified files have been copied from the master branch. Version info in meson.build, README.win32 and untracked/README has been updated to fit pangomm-1.4. See MR !7 2019-07-28 Kjell Ahlstedt tools: Remove obsolete files * tools/Makefile.am: Don't distribute README. * tools/Makefile_list_of_sources.am_fragment: Remove, not used. * tools/README: * tools/TODO: Remove, once copied from glibmm, don't belong to pangomm. 2019-07-22 Kjell Ahlstedt Layout::get_lines(): Fix ownership of the GSList Change Glib::OWNERSHIP_SHALLOW -> NONE 2019-07-22 Kjell Ahlstedt Coverage: Ignore deprecations pango_coverage_from_bytes(), pango_coverage_to_bytes() and pango_coverage_max() are deprecated in pango 1.43, but not in pangomm 2.42. Suppress deprecation warnings to make it possible to build pangomm 2.42 with the newest version of pango. 2018-12-30 Kjell Ahlstedt tools/gen_scripts: Update for non-source-dir builds Most modules (e.g. pango) can be built in a directory separated from the source directory. Update the scripts that generate .defs and doc.xml files to handle that. The environment variable JHBUILD_SOURCES is not used any more. Instead the environment variables GMMPROC_GEN_SOURCE_DIR and GMMPROC_GEN_BUILD_DIR are read. See comments in init_generate.sh.