Commits on Source (66)
-
Chun-wei Fan authored
Make up the missing escape carats...
01f2ded9 -
Chun-wei Fan authored
This way, we fix the NMake builds from Meson-generated dist tarballs.
17d25074 -
Chun-wei Fan authored
The glibmm headers (and pangomm headers in the near future) use compiler directives to control symbol export, so we can safely ignore warnings C4251 and C4275 as we are certain that we are indeed using these compiler directives to import (and later, export) symbols in our builds.
0451c6ec -
Chun-wei Fan authored
...if it is available. Also disable warning C4828 as we will get that warning when building gendef.exe with /utf-8.
675d2712 -
Chun-wei Fan authored
This prepares for decoration of the various APIs in pangomm so that we can export symbols at least on Visual Studio buids using compiler directives, without the need of gendef.exe, if the headers were generated from their respective *.hg counterparts with gmmproc 2.64.0 or later.
f989f09c -
Chun-wei Fan authored
This prepares for using compiler directives to export symbols rather than using gendef.exe.
7636fc3b -
Chun-wei Fan authored
This prepares for the export of symbols using compiler directives rather than using gendef.exe.
57452434 -
Chun-wei Fan authored
This way, with the updated gmmproc, we can export the template<> classes using PANGOMM_API as well.
4ea47932 -
Chun-wei Fan authored
Make the build files directly build pangomm as a shared library on: -All non-Visual Studio builds, as we did initially. -Visual Studio builds that have the headers generated from their .hg counterparts with gmmproc 2.64.3 or later. gmmproc 2.64.3 has the updates that are necessary to have the generated headers contain build macros that could be used to export symbols using compiler directives. If it is found that an older gmmproc is being used, fall back to use gendef.exe, as we did before, by defining PANGOMM_USE_GENDEF.
7cbce1da -
Chun-wei Fan authored
The generated pangomm headers must be generated with a recent gmmproc so that we may ensure that all the needed classes, functions and methods are marked with PANGOMM_API, so that we can build pangomm without using gendef.exe. If the headers are generated with an older gmmproc, then we build pangomm using gendef.exe, as we did before.
07c6f16c -
Chun-wei Fan authored
Visual Studio builds: Do not use gendef.exe if possible (C++-11 branch) See merge request GNOME/pangomm!14
3ac02f75 -
Kjell Ahlstedt authored
* MSVC_NMake/filelist.am: Remove pangomm/copy-pangommconfig-h.py. * MSVC_NMake/pangomm/copy-pangommconfig-h.py: Removed file. * MSVC_NMake/pangomm/meson.build: Copy pangommconfig.h with configure_file(). * Makefile.am: Distribute tools/dummy-header.py instead of tools/dist-cmd.py. * docs/reference/meson.build: Rename a variable. * meson.build: Rename some variables. Always set gmmproc_dir. In maintainer-mode, show its value in the summary. * pango/meson.build: Set pangommconfig_h. * pango/pangomm/meson.build: Create dummy_header.h, depending on all generated headers. It guarantees that all generated headers are built before pangomm_library is built, at the same time avoiding unnecessary recompilations. * tools/dist-cmd.py: Removed file. It's not necessary in add_dist_script() when the first parameter is python3.path(). * tools/dummy-header.py: New file. * untracked/README: Mention check-dllexport-usage.py.
3076a841 -
Kjell Ahlstedt authored
And add 'dist-warnings' with default value 'fatal'. It's used when a tarball is tested by 'ninja dist' or 'meson dist'. https://mail.gnome.org/archives/gtkmm-list/2020-March/msg00025.html Add a better error message if mm-common-get is required but not found.
00c83e4d -
Kjell Ahlstedt authored
Trying to build with maintainer-mode=false from a tarball generated with Autotools will fail with a proper error message. Fixes #6
9365d344 -
Chun-wei Fan authored
We are using a _WRAP_EQUAL here which generates operator== and operator!= overloads that actually need to be exported. So, pass in a function decorator to _WRAP_EQUAL
26019838 -
Chun-wei Fan authored
pango/src/fontdescription.hg: Mark operators with PANGOMM_API (pangomm-2-42 branch) See merge request GNOME/pangomm!17
651a96f4 -
Kjell Ahlstedt authored
libdir=${exec_prefix}/lib, as when it's generated with Autotools.
d28b6a41 -
Chun-wei Fan authored
Allow linking directly to Meson-built cairomm when using the USE_MESON_LIBS option when running NMake.
2819f277 -
Chun-wei Fan authored
cairomm recently received Meson build support, which will generate the pkg-config files for us, so try to look for cairomm first using pkg-config, before looking for it manually. Since cairomm's pkg-config file also pulls in libsigc++, we can also skip looking for libsigc++ if we found cairomm via pkg-config.
fcba75be -
Chun-wei Fan authored
Since we are basically using __declspec(dllimport) from dependent -mm libraries that are on the same CRT, we could just disregard this warning.
957f157f -
Chun-wei Fan authored
Streamline how we look for the dependencies manually, by using the 'has_headers:' attribute of cpp_compiler.find_library(), so that we can check for the presence of the headers at the same time as looking for the glibmm, cairomm and/or libsigc++ headers.
9e2f7a4a -
Chun-wei Fan authored
Improve Visual Studio build files (pangomm-2-42, post Meson-fied cairomm-1-14) See merge request GNOME/pangomm!18
a840f9ac -
Chun-wei Fan authored
It was found that we cannot rely on the fact that Visual Studio 2015~2019 tried very hard to be binary compatible, as there can be corner cases when linking against pangomm 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 pangomm 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.
5bc81169 -
Chun-wei Fan authored
Stop manually looking for glibmm and cairomm 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. For items that use cairomm directly, this will be the case as well. -There could be corner cases on the glibmm and cairomm libraries that pangomm links to in terms of ABI compatibility between Visual Studio 2015, 2017 and 2019.
5dc3f543 -
Chun-wei Fan authored
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 pangomm when building items dependening on pangomm 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.
2239aa52 -
Kjell Ahlstedt authored
* docs/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. * docs/reference/Doxyfile.in: Remove PERL_PATH and MSCGEN_PATH. Doxygen since version 1.8.0 does not use them.
d22c6843 -
Chun-wei Fan authored
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.
ce4d66be -
Chun-wei Fan authored
This makes it easier to build pangomm on non-Western locales, without requiring to change the "Locale settings for non-Unicode programs" to English, which will require a restart, since warning (error) C4819 can be otherwise triggered, which can indicate broken builds due to Unicode handling issues in the compiler.
903556bf -
Chun-wei Fan authored
It is now possible to build Pango directly from a GIT checkout on Visual Studio builds for a while, so let people know about this. Also note that glibmm and cairomm should be built with Meson in order to use the Meson build files for pangomm, and one should also use the same compiler to build pangomm, glibmm and cairomm.
a1a220cd -
Chun-wei Fan authored
We should also account for Visual Studio 2015 when we use 'USE_MESON_LIBS' with 'USE_COMPAT_LIBS' as well...
bd47ac36 -
Chun-wei Fan authored
This will make the NMake Makefiles capable of building ARM64 binaries of pangomm, which can be used on Windows 10 on ARM systems.
1973000d -
Chun-wei Fan authored
We ought to look in $(PREFIX)\include\harfbuzz and $(PREFIX)\include, as the HarfBuzz and Cairo headers can be found in these respective locations.
60df2b7c -
Chun-wei Fan authored
The previous additions to generate those files accidentally made the build attempt to generate them, even if done from a release tarball that is done by the autotools builds. This will fix this situation, and improve the situation that if pangomm.rc or pangommconfig.h needs to be generated, these files will be generated automatically
07a2f3f2 -
Chun-wei Fan authored
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.
c28e2912 -
Chun-wei Fan authored
We ought to pass in the DLL filename with the '.dll' extension to gendef, not just the .lib filename.
b2433588 -
Kjell Ahlstedt authored
See libsigcplusplus, pull request 65
603d9a7e -
Kjell Ahlstedt authored438be5d5
-
Kjell Ahlstedt authorede2cea715
-
Kjell Ahlstedt authored
Regenerated while the pango-1-46 branch was checked out from pango.
481b0bd0 -
Kjell Ahlstedt authoredf2a24ff5
-
Kjell Ahlstedt authored92099b25
-
Kjell Ahlstedt authoredbea3d0d4
-
Kjell Ahlstedt authored
See #9
9975ea85 -
Kjell Ahlstedt authored25e3f05b
-
Kjell Ahlstedt authored45196f5b
-
Kjell Ahlstedt authored
get_run() shall call pango_layout_iter_get_run_readonly() and take a copy of the returned PangoLayoutRun.
f19c0080 -
Kjell Ahlstedt authoredfbde9d79
-
Kjell Ahlstedt authored
* pango/src/glyphstring.[ccg|hg]: Add constructor GlyphString(const Glib::ustring& item_text, const Glib::ustring& paragraph_text, const Analysis& analysis, ShapeFlags flags = SHAPE_NONE). * pango/src/item.[ccg|hg]: Add enum ShapeFlags and shape(const Glib::ustring& item_text, const Glib::ustring& paragraph_text, ShapeFlags flags = SHAPE_NONE). * tools/m4/convert_pango.m4: Add conversions for ShapeFlags. See #9
d481ec16 -
Kjell Ahlstedt authored
See #9
1f3ed104 -
Kjell Ahlstedt authored
Call pango_layout_get_log_attrs_readonly() instead of pango_layout_get_log_attrs(). The PangoLogAttr structs will then be copied once instead of twice.
bd8db5cf -
Kjell Ahlstedt authored
Fixes #10
32c6a770 -
Kjell Ahlstedt authored
They became private by mistake 12 years ago in commit d5781fec. Fixes #11
dc8a0594 -
Kjell Ahlstedt authored
The corresponding C functions are deprecated in pango.
5ec4a818 -
Kjell Ahlstedt authored
* pango/src/layout.ccg: The wrong get_iter() overload was deprecated.
eee82ed9 -
Kjell Ahlstedt authored3170a530
-
Kjell Ahlstedt authored
The paths to the source code in untracked/ shall be relative to the meson.build file, when library files are built from a tarball. With absolute paths Meson may generate too long file names. See merge request gtkmm!61
06c8d921 -
Chun-wei Fan authored
This will fix warnings when building items using pangomm with MinGW/GCC. Please see: https://gitlab.gnome.org/GNOME/gtkmm/-/issues/90
83d6667e -
Kjell Ahlstedt authored
pango, cairomm and glibmm can be subprojects of pangomm.
54387c35 -
Kjell Ahlstedt authored9ff6521e
-
Kjell Ahlstedt authored
Call add_dist_script() in a subproject, if meson.version() >= 0.58.0.
a791aa61 -
Chun-wei Fan authored
glibmm will be updated to be clear of classes that export items making the built binaries dependent on the exact compiler version and the STL version, which will eliminate the need to ignore warnings C4251, C4273 and C4275. We will also use the /EHsc compiler flag so that we can also drop the ignore on warning C4530.
ef899d30 -
Kjell Ahlstedt authored
* meson.build: If mm-common-get is not found in maintainer-mode with 'required: false', try with 'required: true'. Don't try to use tag_file, if documentation is not built. * docs/reference/meson.build: Don't use variables from modules that don't define doxytagfile. These are subprojects that don't build their documentation.
67488c3f -
Kjell Ahlstedt authored
Doxygen in a main project shall not be called before tag files have been created or updated in subprojects.
5cb2a8f2 -
Kjell Ahlstedt authored22e51542
-
Kjell Ahlstedt authored2ed5891a
-
Jeremy Bicha authored6764fa0a
This diff is collapsed.
ChangeLog.pre-2-34-0
0 → 100644
This diff is collapsed.
HACKING
0 → 100644
INSTALL
deleted
100644 → 0
MSVC_NMake/get-gmmproc-ver.bat
0 → 100644
MSVC_NMake/pangomm/pangomm.rc
deleted
100644 → 0
MSVC_NMake/pangomm/pangommconfig.h
deleted
100644 → 0
Makefile.in
deleted
100644 → 0
This diff is collapsed.