Commit Graph

8333 Commits

Author SHA1 Message Date
Emmanuele Bassi
fe32c3f5c5 Generate introspection data
Currently, the introspection data for GLib and its sub-libraries is
generated by gobject-introspection, to avoid the cyclic dependency
between the two projects.

Since gobject-introspection is generally available on installed systems,
we can check for its presence, and generate the introspection data
directly from GLib.

This does introduce a cyclic dependency, which is why it's possible to
build GLib without introspection, then build gobject-introspection, and
finally rebuild GLib.

By having introspection data available during the GLib build, we can do
things like generating documentation; validating newly added API; and
close the loop between adding new API and it becoming available to non-C
consumers of the C ABI (i.e. language bindings).
2023-10-23 11:26:53 +01:00
Emmanuele Bassi
6e771f0e84 docs: Add missing annotation separator 2023-10-23 10:25:31 +01:00
Emmanuele Bassi
c5a1e4f6c3 docs: Remove duplicate interface field 2023-10-23 10:25:31 +01:00
Emmanuele Bassi
d026534753 docs: Replace deprecated Virtual tag
Use the (virtual) symbol annotation.
2023-10-23 10:25:31 +01:00
Emmanuele Bassi
3013a0ef4a docs: Fix the annotation for GSubprocessLauncher 2023-10-23 10:25:31 +01:00
Emmanuele Bassi
d3d69cb8ba docs: Fix annotations for GSimpleProxyResolver
Drop "nullable" from the default-proxy property docblock, and correctly
separate the annotation from the return value's description.
2023-10-23 10:25:31 +01:00
Emmanuele Bassi
cfb11a8d63 docs: Avoid a bare "returns:"
Lines inside a docblock cannot begin with "returns:", as that is the tag
for the documentation of the return value.
2023-10-23 10:25:30 +01:00
Emmanuele Bassi
c86f469c1e Ignore autocleanups when generating introspection data 2023-10-23 10:25:30 +01:00
Damien Zammit
f25a9ca10c Initial test of Hurd CI - (run_tests.sh status ignored) 2023-10-18 23:33:04 +00:00
Philip Withnall
21c6ebf65b Merge branch 'wip/kabus/new-mtime' into 'main'
gio: add a file copy flag for default modification time

Closes #3140

See merge request GNOME/glib!3643
2023-10-18 14:45:49 +00:00
Aleksandr Mezin
b9c90c3a3e GApplicationCommandLine: add print[err]_literal()
GJS (and likely other language bindigs relying on introspection)
can't use `g_application_command_line_print()`/`_printerr()`.
2023-10-18 01:20:23 +03:00
Philip Withnall
130c2d6373 build: Fix -Dlibelf=disabled on Linux
Commit f6c40b1d fixed libelf detection on FreeBSD (where the library has
no pkg-config file and needs to be found via `find_library()`), but
broke `-Dlibelf=disabled` on Linux, as `get_option('libelf')` was no
longer checked.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>

Fixes: #3120
2023-10-17 15:04:19 +01:00
Matthias Clasen
2b22b43edd docs: Move the GDBusInterfaceSkeleton SECTION
Move content to struct docs.

Helps: #3037
2023-10-17 11:20:20 +01:00
Matthias Clasen
8c7591addf docs: Move the GDBusInterface SECTION
Move content to struct docs.

Helps: #3037
2023-10-17 11:20:17 +01:00
Matthias Clasen
2d1a9ed5a3 docs: Move the GDBusConnection SECTION
Move contents to struct docs.

Helps: #3037
2023-10-17 11:20:14 +01:00
Matthias Clasen
c0243f7eaa docs: Move the GDBusAuthObserver SECTION
Move contents to struct docs.

Helps: #3037
2023-10-17 11:20:12 +01:00
Matthias Clasen
985bc0fab3 docs: Move the GDBusActionGroup SECTION
Move content to struct docs.

Helps: #3037
2023-10-17 11:20:10 +01:00
Matthias Clasen
f39640b759 docs: Move the GDataOutputStream SECTION
Move content to struct docs.

Helps: #3037
2023-10-17 11:20:08 +01:00
Matthias Clasen
8371b893a2 docs: Move the GDataInputStream SECTION
Not much to move.

Helps: #3037
2023-10-17 11:20:06 +01:00
Matthias Clasen
081cc5af25 docs: Move the GDatagramBased SECTION
Move contents to struct docs.

Helps: #3037
2023-10-17 11:20:03 +01:00
Matthias Clasen
926f56c7c7 docs: Move the GCredentials SECTION
Move contents to struct docs.

Helps: #3037
2023-10-17 11:20:00 +01:00
Matthias Clasen
dad6ec9651 docs: Move the GConverterOutputStream SECTION
Move content to struct docs.

Helps: #3037
2023-10-17 11:19:57 +01:00
Matthias Clasen
b70b164ba6 docs: Move the GConverterInputStream SECTION
Move content to struct docs.

Helps: #3037
2023-10-17 11:19:55 +01:00
Matthias Clasen
174073722e docs: Move the GConverter SECTION
Move the content to the struct docs.

Helps: #3037
2023-10-17 11:19:52 +01:00
Matthias Clasen
747b81409d docs: Move the GCharsetConverter SECTION
Not much to move here.

Helps: #3037
2023-10-17 11:19:49 +01:00
Matthias Clasen
e267653eab docs: Move the GCancellable SECTION
Move the contents into the struct docs.

Helps: #3037
2023-10-17 11:19:46 +01:00
Matthias Clasen
3d5d3bceea docs: Move the GBytesIcon SECTION
Move the contents into the struct docs.

Helps: #3037
2023-10-17 11:19:44 +01:00
Matthias Clasen
93788dfb07 docs: Move the GAppInfoMonitor SECTION
Move the contents to the struct docs.

Helps: #3037
2023-10-17 11:19:41 +01:00
Matthias Clasen
bf9bf0b0cc docs: Move the GBufferedOutputStream SECTION
Move the contents to the struct docs.

Helps: #3037
2023-10-17 11:19:38 +01:00
Matthias Clasen
08990badb6 docs: Move the GBufferedInputStream SECTION
Move the contents to the struct docs.

Helps: #3037
2023-10-17 11:19:27 +01:00
Matthias Clasen
f7b5e3b37e docs: Move the GAsyncResult SECTION
Move the content to the struct docs.

Helps: #3037
2023-10-17 10:57:22 +01:00
Matthias Clasen
331c137ee1 docs: Move the GAsyncInitable SECTION
Move the contents to the struct docs.

Helps: #3037
2023-10-17 10:57:14 +01:00
Matthias Clasen
840cfd1ab7 docs: Move the GApplicationCommandline SECTION
Move the contents to the struct docs.

Helps: #3037
2023-10-17 10:57:10 +01:00
Matthias Clasen
75de7e8628 docs: Move the GApplication SECTION
Move the contents to the struct docs.

Helps: #3037
2023-10-17 10:57:06 +01:00
Matthias Clasen
61d869467f docs: Move the GAppInfo SECTION
Move the contents to the struct docs.

Helps: #3037
2023-10-17 10:57:01 +01:00
Matthias Clasen
5ab04d05dc docs: Move the GActionMap SECTION
Move the contents to the struct docs.

Helps: #3037
2023-10-17 10:56:54 +01:00
Matthias Clasen
524610ab6e docs: Move the GActionGroup SECTION
Move the contents to the struct docs.

Helps: #3037
2023-10-17 10:56:50 +01:00
Matthias Clasen
34bdf32b38 docs: Move the GAction SECTION
Move it to the struct docs.

Helps: #3037
2023-10-17 10:56:42 +01:00
Philip Withnall
fa165204ae Merge branch 'fix-warnings-clang-windows' into 'main'
Fix warnings with Clang on Windows and enable --Werror in CI

See merge request GNOME/glib!3635
2023-10-16 21:29:09 +00:00
Khalid Abu Shawarib
c70b8a7500 gio-tool: add a "default-modified-time" option
As with `default-permissions` option, this overrides the `perserve`
option.
2023-10-16 18:12:49 +03:00
Khalid Abu Shawarib
db01c11540 gio: add tests for default modification time flag
Add test cases for the G_FILE_COPY_TARGET_DEFAULT_MODIFIED_TIME
file copy flag.
2023-10-16 18:12:49 +03:00
Khalid Abu Shawarib
8d91430279 gio: add a file copy flag for default modification time
Add a default modification timestamp flag to g_file_copy so that it
doesn't copy the modification time from the source file as it does by
default. Similarly to G_FILE_COPY_TARGET_DEFAULT_PERMS, this flag
overrides the G_FILE_COPY_ALL_METADATA flag.

Fixes: https://gitlab.gnome.org/GNOME/glib/-/issues/3140
2023-10-16 18:12:49 +03:00
Emmanuele Bassi
ccc36a2fde build: Simplify MIPS test check
Make the condition more readable, and easy to extend if necessary.

Follow-up to: !3640
2023-10-16 13:11:27 +01:00
Philip Withnall
0a6e19feee Merge branch 'test5-no-mips' into 'main'
GIO/tests: skip test_resources_binary on MIPS platforms

See merge request GNOME/glib!3640
2023-10-16 12:05:06 +00:00
YunQiang Su
8105916998 GIO/tests: skip test_resources_binary on MIPS platform
There are some flavors of MIPS ABIs, such like r6 vs legacy,
nan2008 vs nan1985 etc.

The `cc -r` may not produce the correct elf binaries.
So let's skip this test for MIPS.
2023-10-16 07:20:21 -04:00
Philip Withnall
481839c190 Merge branch 'win32-unicode-api' into 'main'
Windows: Compile with the UNICODE / _UNICODE macros

See merge request GNOME/glib!3623
2023-10-16 08:58:41 +00:00
Khalid Abu Shawarib
dc0af83486 Use g_task_return in task threads 2023-10-12 12:27:28 +00:00
Luca Bacci
8264b13737 tests/cxx: Do not assume that NULL is a pointer type starting with C++11
Many toolchain did not change the definition of NULL to avoid introducing
breaking changes in existing codebases. For example, on Windows NULL is
0 (int) regardless of the C++ standard in use.

Fixes the following warnings on CLang when compiling for Windows:

  ../glib/glib/tests/cxx.cpp:539:34: warning: missing sentinel in function call [-Wsentinel]
    g_test_init (&argc, &argv, NULL);
                                   ^
                                   , nullptr
  ../glib/glib/gtestutils.h:298:9: note: function has been explicitly marked sentinel here
  void    g_test_init                     (int            *argc,
          ^

  ../glib/gio/tests/cxx.cpp:62:34: warning: missing sentinel in function call [-Wsentinel]
    g_test_init (&argc, &argv, NULL);
                                   ^
                                   , nullptr
  ../glib/glib/gtestutils.h:298:9: note: function has been explicitly marked sentinel here
  void    g_test_init                     (int            *argc,
          ^
2023-10-12 11:45:03 +02:00
Luca Bacci
985cab7737 gio/gregistrysettingsbackend.c: Use unsigned data type for bitfields that are only one-bit wide
Fixes the following warnings on CLang:

  ../glib/gio/gregistrysettingsbackend.c:1503:32: warning: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Wsingle-bit-bitfield-constant-conversion]
            child_item->readable = TRUE;
                                 ^ ~~~~
  ../glib/gio/gregistrysettingsbackend.c:1567:28: warning: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Wsingle-bit-bitfield-constant-conversion]
        child_item->readable = TRUE;
                             ^ ~~~~
2023-10-12 11:44:37 +02:00
Luca Bacci
337912072a Windows: Compile with the UNICODE / _UNICODE macros
It's the recommended way to build C/C++ projects on Windows, see
https://learn.microsoft.com/en-us/windows/win32/intl/conventions-for-function-prototypes
2023-10-12 11:32:03 +02:00