[Libosinfo] [libosinfo] build: Don't use private header for gir/vapi generation
Christophe Fergeau
cfergeau at redhat.com
Tue May 30 09:20:58 UTC 2017
Using private headers when generating the gir/vapi files mean that they
are listing private methods which are not exported by the shared
library, as well as types which are not present in public headers, and
not meant to be used by external users.
This was noticed with recent vala.git as it started erroring out on the
ProductForeachFlag which is only defined in osinfo_product_private.h
https://bugzilla.redhat.com/show_bug.cgi?id=1456709
---
osinfo/Makefile.am | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/osinfo/Makefile.am b/osinfo/Makefile.am
index c915b577..5d952a13 100644
--- a/osinfo/Makefile.am
+++ b/osinfo/Makefile.am
@@ -105,7 +105,7 @@ nodist_libosinfo_1_0_include_HEADERS = \
osinfo_enum_types.h \
$(NULL)
-libosinfo_1_0_la_SOURCES = \
+libosinfo_c_files = \
osinfo_avatar_format.c \
osinfo_datamap.c \
osinfo_datamaplist.c \
@@ -118,16 +118,13 @@ libosinfo_1_0_la_SOURCES = \
osinfo_devicelinklist.c \
osinfo_devicelinkfilter.c \
osinfo_device_driver.c \
- osinfo_device_driver_private.h \
osinfo_device_driverlist.c \
osinfo_install_config.c \
osinfo_install_config_param.c \
osinfo_install_config_paramlist.c \
osinfo_install_script.c \
- osinfo_install_script_private.h \
osinfo_install_scriptlist.c \
osinfo_product.c \
- osinfo_product_private.h \
osinfo_productfilter.c \
osinfo_productlist.c \
osinfo_platform.c \
@@ -139,7 +136,6 @@ libosinfo_1_0_la_SOURCES = \
osinfo_deployment.c \
osinfo_deploymentlist.c \
osinfo_media.c \
- osinfo_media_private.h \
osinfo_medialist.c \
osinfo_resources.c \
osinfo_resourceslist.c \
@@ -147,9 +143,21 @@ libosinfo_1_0_la_SOURCES = \
osinfo_treelist.c \
osinfo_db.c \
osinfo_loader.c \
+ $(NULL)
+
+libosinfo_private_header_files = \
+ osinfo_device_driver_private.h \
+ osinfo_install_script_private.h \
+ osinfo_product_private.h \
+ osinfo_media_private.h \
ignore-value.h \
$(NULL)
+libosinfo_1_0_la_SOURCES = \
+ $(libosinfo_c_files) \
+ $(libosinfo_private_header_files) \
+ $(NULL)
+
nodist_libosinfo_1_0_la_SOURCES = \
osinfo_enum_types.c \
$(NULL)
@@ -187,12 +195,13 @@ INTROSPECTION_GIRS =
CLEANFILES =
if HAVE_INTROSPECTION
+
Libosinfo-1.0.gir: libosinfo-1.0.la
Libosinfo_1_0_gir_INCLUDES = GObject-2.0 Gio-2.0 libxml2-2.0
Libosinfo_1_0_gir_PACKAGES = gobject-2.0 gio-2.0 libxml-2.0 libxslt
Libosinfo_1_0_gir_EXPORT_PACKAGES = libosinfo-1.0
Libosinfo_1_0_gir_LIBS = libosinfo-1.0.la
-Libosinfo_1_0_gir_FILES = $(libosinfo_1_0_include_HEADERS) $(nodist_libosinfo_1_0_include_HEADERS) $(libosinfo_1_0_la_SOURCES) $(nodist_libosinfo_1_0_la_SOURCES)
+Libosinfo_1_0_gir_FILES = $(libosinfo_1_0_include_HEADERS) $(nodist_libosinfo_1_0_include_HEADERS) $(libosinfo_c_files) $(nodist_libosinfo_1_0_la_SOURCES)
Libosinfo_1_0_gir_CFLAGS = $(libosinfo_1_0_la_CFLAGS)
Libosinfo_1_0_gir_SCANNERFLAGS = --identifier-prefix=Osinfo --symbol-prefix=osinfo --c-include="osinfo/osinfo.h"
INTROSPECTION_GIRS += Libosinfo-1.0.gir
--
2.13.0
More information about the Libosinfo
mailing list