[glib/wip/add-built-headers-deps] glib, gmodule, gobject: Add generated headers to the lib dependency




commit 38e73f1a69d384cb21c1ee7d75168565ab89dda7
Author: Marco Trevisan (TreviƱo) <mail 3v1n0 net>
Date:   Thu Oct 20 00:27:53 2022 +0200

    glib, gmodule, gobject: Add generated headers to the lib dependency
    
    We may instead try to compile files that requires it without having
    been generated yet.
    
    See: https://gitlab.gnome.org/GNOME/glib/-/jobs/2346914 (glib)
    See: https://gitlab.gnome.org/GNOME/glib/-/jobs/2344802 (gmodule)
    See: https://gitlab.gnome.org/GNOME/glib/-/jobs/2345205 (gobject)

 glib/meson.build    | 4 +++-
 gmodule/meson.build | 1 +
 gobject/meson.build | 6 +++---
 3 files changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/glib/meson.build b/glib/meson.build
index 56a8a7d622..30dd52a8c3 100644
--- a/glib/meson.build
+++ b/glib/meson.build
@@ -231,7 +231,8 @@ glib_sub_headers = files(
   'gprintf.h',
 )
 
-glib_sub_headers += [gversionmacros_h, gvisibility_h]
+glib_built_headers = [gversionmacros_h, gvisibility_h]
+glib_sub_headers += glib_built_headers
 
 install_headers(glib_sub_headers, subdir : 'glib-2.0/glib')
 
@@ -406,6 +407,7 @@ libglib = library('glib-2.0',
 libglib_dep = declare_dependency(
   link_with : libglib,
   dependencies : libintl_deps,
+  sources : glib_built_headers,
   # We sadly need to export configinc here because everyone includes <glib/*.h>
   include_directories : [configinc, glibinc])
 
diff --git a/gmodule/meson.build b/gmodule/meson.build
index 54b25a0c55..91fb236c38 100644
--- a/gmodule/meson.build
+++ b/gmodule/meson.build
@@ -131,6 +131,7 @@ pkg.generate(libraries : [libgmodule, export_dynamic_ldflags],
 
 libgmodule_dep = declare_dependency(link_with : libgmodule,
   include_directories : [gmoduleinc],
+  sources : [gvisibility_h],
   dependencies : [libglib_dep])
 
 meson.override_dependency('gmodule-no-export-2.0', libgmodule_dep)
diff --git a/gobject/meson.build b/gobject/meson.build
index 09c07f3064..3770c33590 100644
--- a/gobject/meson.build
+++ b/gobject/meson.build
@@ -128,8 +128,6 @@ glib_enumtypes_c = custom_target('glib_enumtypes_c',
              '--template', files('glib-enumtypes.c.template'),
              '@INPUT@'])
 
-glib_enumtypes_dep = declare_dependency(sources : [glib_enumtypes_h])
-
 # Expose as variable to be used by gobject-introspection
 # when it includes GLib as a subproject
 glib_types_h = files('glib-types.h')
@@ -159,7 +157,9 @@ pkg.generate(libgobject,
 
 libgobject_dep = declare_dependency(link_with : libgobject,
   include_directories : [gobjectinc],
-  dependencies : [libglib_dep, glib_enumtypes_dep])
+  sources : [gvisibility_h, glib_enumtypes_h],
+  dependencies : [libglib_dep],
+)
 meson.override_dependency('gobject-2.0', libgobject_dep)
 
 executable('gobject-query', 'gobject-query.c',


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]