From 5595a7c82fba66e1a309af831ca04ec202e67665 Mon Sep 17 00:00:00 2001 From: Khaled Hosny Date: Thu, 9 Mar 2023 22:30:13 +0200 Subject: [PATCH] [introspection] Enable hb-cairo --- CMakeLists.txt | 3 +++ src/Makefile.am | 6 ++++-- src/meson.build | 22 +++++++++++++++++----- 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e22f2cfdd..ef1e58c3a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -628,6 +628,8 @@ if (HB_HAVE_INTROSPECTION) --symbol-prefix=hb_gobject --identifier-prefix=hb_ --include GObject-2.0 + --include freetype2-2.0 + --include cairo-1.0 --pkg-export=harfbuzz-gobject --c-include=hb-gobject.h --cflags-begin @@ -646,6 +648,7 @@ if (HB_HAVE_INTROSPECTION) -DHB_EXTERN= --cflags-end --library=harfbuzz-gobject + --library=harfbuzz-cairo --library=harfbuzz -L${hb_libpath} ${extra_libs} diff --git a/src/Makefile.am b/src/Makefile.am index 56dc32d9a..9346b20f7 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -561,8 +561,8 @@ INTROSPECTION_SCANNER_ARGS = \ INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir) INTROSPECTION_SCANNER_ENV = CC="$(CC)" -HarfBuzz-0.0.gir: libharfbuzz.la libharfbuzz-gobject.la -HarfBuzz_0_0_gir_INCLUDES = GObject-2.0 freetype2-2.0 +HarfBuzz-0.0.gir: libharfbuzz.la libharfbuzz-gobject.la libharfbuzz-cairo.la +HarfBuzz_0_0_gir_INCLUDES = GObject-2.0 freetype2-2.0 cairo-1.0 HarfBuzz_0_0_gir_CFLAGS = \ $(INCLUDES) \ $(HBCFLAGS) \ @@ -579,6 +579,8 @@ HarfBuzz_0_0_gir_FILES = \ $(HBSOURCES) \ $(HB_GOBJECT_sources) \ $(HB_GOBJECT_headers) \ + $(HB_CAIRO_sources) \ + $(HB_CAIRO_headers) \ $(NULL) girdir = $(datadir)/gir-1.0 diff --git a/src/meson.build b/src/meson.build index 30b99cf34..1a2d0b5ef 100644 --- a/src/meson.build +++ b/src/meson.build @@ -444,8 +444,10 @@ endif # We set those here to not include the sources below that are of no use to # GObject Introspection -gir_sources = hb_sources + hb_gobject_sources -gir_headers = hb_headers + hb_gobject_headers +gir_sources = hb_sources +gir_headers = hb_headers +gir_deps = [] +gir_libs = [] if conf.get('HAVE_GDI', 0) == 1 hb_sources += hb_gdi_sources @@ -654,6 +656,11 @@ if conf.get('HAVE_CAIRO', 0) == 1 subdirs: [meson.project_name()], version: meson.project_version(), ) + + gir_sources += hb_cairo_sources + gir_headers += hb_cairo_headers + gir_deps += libharfbuzz_cairo_dep + gir_libs += libharfbuzz_cairo endif if get_option('tests').enabled() @@ -835,6 +842,11 @@ if have_gobject link_language: 'c', ) + gir_sources += hb_gobject_sources + gir_headers += hb_gobject_headers + gir_deps += libharfbuzz_gobject_dep + gir_libs += libharfbuzz_gobject + gir = find_program('g-ir-scanner', required: get_option('introspection')) build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled()) @@ -845,14 +857,14 @@ if have_gobject if build_gir conf.set('HAVE_INTROSPECTION', 1) - hb_gen_files_gir = gnome.generate_gir(libharfbuzz_gobject, + hb_gen_files_gir = gnome.generate_gir(gir_libs, sources: [gir_headers, gir_sources, gobject_enums_h], - dependencies: libharfbuzz_dep, + dependencies: gir_deps, namespace: 'HarfBuzz', nsversion: '0.0', identifier_prefix: 'hb_', symbol_prefix: ['hb', 'hb_gobject'], - includes: ['GObject-2.0', 'freetype2-2.0'], + includes: ['GObject-2.0', 'freetype2-2.0', 'cairo-1.0'], export_packages: ['harfbuzz-gobject'], header: 'hb-gobject.h', install: true,