[libosinfo] build: Don't use private header for gir/vapi generation

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

 



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

_______________________________________________
Libosinfo mailing list
Libosinfo@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libosinfo



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Fedora Users]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux