1
0
mirror of https://gitlab.gnome.org/GNOME/glib.git synced 2025-07-25 19:37:52 +02:00
Files
.gitlab-ci
.reuse
LICENSES
docs
reference
gio
gdbus-object-manager-example
.gitignore
gdbus-object-manager-example-docs.xml
gdbus-object-manager-example-sections.txt
meson.build
xml
.gitignore
concat-files-helper.py
gapplication.xml
gdbus-codegen.xml
gdbus.xml
gio-docs-unix.xml
gio-docs-win32.xml
gio-docs.xml
gio-querymodules.xml
gio-sections-common.txt
gio-sections-win32.txt
gio.toml.in
gio.xml
glib-compile-resources.xml
glib-compile-schemas.xml
gresource.xml
gsettings.xml
gvfs-overview.odg
gvfs-overview.png
menu-example.png
menu-model.png
meson.build
migrating-gconf.md
migrating-gdbus.md
migrating-gnome-vfs.md
migrating-posix.xml
overview.md
urlmap.js
version.xml.in
glib
gmodule
gobject
.gitignore
AUTHORS
COPYING
NEWS
meson.build
CODEOWNERS
backports.md
issue-and-merge-request-management.md
macros.md
meson-version.md
rationales.md
releasing.md
roadmap.md
supported-platforms.md
testing.md
toolchain-requirements.md
win32-build.md
fuzzing
gio
glib
gmodule
gobject
gthread
m4macros
po
subprojects
tests
tools
.clang-format
.dir-locals.el
.editorconfig
.gitignore
.gitlab-ci.yml
.gitmodules
.lcovrc
CODE_OF_CONDUCT.md
CONTRIBUTING.md
INSTALL.md
NEWS
README.md
SECURITY.md
glib.doap
meson.build
meson_options.txt
glib/docs/reference/gio/gdbus-object-manager-example
Xavier Claessens dcfc9f689e Fix symbol visibility macros on Windows
There is currently no `dllimport` attribute on any of our function,
which prevents MSVC to optimize function calls.

To fix that issue, we need to redeclare all our visibility macros for
each of our libraries, because when compiling e.g. GIO code, we need
dllimport in GLIB headers and dllexport in GIO headers. That means they
cannot use the same GLIB_AVAILABLE_* macro.

Since that's a lot of boilerplate to copy/paste after each version bump,
this MR generate all those macros using a python script.

Also simplify the meson side by using `gnu_symbol_visibility : 'hidden'`
keyword argument instead of passing the cflag manually.

This leaves only API index to add manually into glib-docs.xml when
bumping GLib version. That file cannot be generated because Meson does
not allow passing a buit file to gnome.gtkdoc()'s main_xml kwarg
unfortunately.
2022-10-13 20:53:56 -04:00
..