]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
WIP build: Generate GIRs for libvala
authorRico Tzschichholz <ricotz@ubuntu.com>
Sat, 27 Apr 2019 07:02:49 +0000 (09:02 +0200)
committerRico Tzschichholz <ricotz@ubuntu.com>
Sat, 27 Jun 2020 08:27:11 +0000 (10:27 +0200)
Fixes https://gitlab.gnome.org/GNOME/vala/issues/606

.gitignore
configure.ac
gee/Makefile.am
vala/Makefile.am

index 120e1929faaeec6ff3ee8afcd9661a5e074a4318..7caff7e1e0977f5732b5ba903d3782a129d85c01 100644 (file)
@@ -7,6 +7,7 @@ Makefile
 *.h
 *.stamp
 *.gir
+*.typelib
 .deps
 .dirstamp
 .libs
index ee52f0440704e45955d839baf40cd2eda5be7a00..285ad899b3cf0fc99d1d4f0165cf7a18193ab20e 100644 (file)
@@ -146,6 +146,7 @@ done
 
 AC_SUBST(TEST_CFLAGS)
 
+GOBJECT_INTROSPECTION_CHECK([1.48.0])
 
 GLIB_REQUIRED=2.48.0
 LIBGVC_REQUIRED=2.16
index c9c77a4544fa9d6da23f9d82f55baba05e01c90b..1114e65c455e5d286a740376a943efa271ca1572 100644 (file)
@@ -48,6 +48,7 @@ gee.vapi gee.vala.stamp: $(libgee_la_VALASOURCES)
                --use-header \
                -H valagee.h \
                --library gee \
+               --gir ValaGee@PACKAGE_SUFFIX@.gir \
                $^
        @touch $@
 
index 0191fc9aa3a0fe0644652cbb6c2f09115141a5be..103702c28e37c3089f11184a19ae10a5f5adc569 100644 (file)
@@ -209,6 +209,7 @@ vala.vapi vala.vala.stamp: $(libvala_la_VALASOURCES)
                --use-header \
                -H vala.h \
                --library vala \
+               --gir Vala@PACKAGE_SUFFIX@.gir \
                $^
        @touch $@
 
@@ -236,3 +237,38 @@ MAINTAINERCLEANFILES = \
        vala.h \
        $(libvala_la_VALASOURCES:.vala=.c) \
        $(NULL)
+
+# We have to extract our own dlname from libvala-*.la.
+# This is what g-ir-scanner does.
+libvala_dlname = \
+       `$(SED) -n "s/^dlname='\([A-Za-z0-9.+-]\+\)'/\1/p" libvala@PACKAGE_SUFFIX@.la`
+
+-include $(INTROSPECTION_MAKEFILE)
+INTROSPECTION_GIRS =
+INTROSPECTION_SCANNER_ARGS =
+INTROSPECTION_COMPILER_ARGS = \
+       --includedir=$(top_builddir)/gee \
+       -l $(libvala_dlname)
+
+INTROSPECTION_SCANNER_ENV = \
+       PKG_CONFIG_PATH=$(top_builddir):$${PKG_CONFIG_PATH}
+
+if HAVE_INTROSPECTION
+$(top_builddir)/gee/ValaGee$(PACKAGE_SUFFIX).gir: libvala@PACKAGE_SUFFIX@.la
+Vala$(PACKAGE_SUFFIX).gir: libvala@PACKAGE_SUFFIX@.la
+
+GIRS = \
+       $(top_builddir)/gee/ValaGee$(PACKAGE_SUFFIX).gir \
+       Vala$(PACKAGE_SUFFIX).gir \
+       $(NULL)
+
+girdir = $(datadir)/gir-1.0
+dist_gir_DATA = $(GIRS)
+
+MAINTAINERCLEANFILES += $(dist_gir_DATA)
+
+typelibdir = $(libdir)/girepository-1.0
+nodist_typelib_DATA = $(GIRS:.gir=.typelib)
+
+CLEANFILES = $(nodist_typelib_DATA)
+endif