Let's create libosinfo-impl.la which is nothing else than libosinfo-1.0.la without stripping out its non-public symbols. libosinfo-impl.la can be used to link directly against our tests (as those may use private functions that we do *not* want to expose), while the "official" one (libosinfo-1.0.la) will remain the same. Signed-off-by: Fabiano Fidêncio <fidencio@xxxxxxxxxx> --- osinfo/Makefile.am | 48 ++++++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/osinfo/Makefile.am b/osinfo/Makefile.am index 058653a..60b601f 100644 --- a/osinfo/Makefile.am +++ b/osinfo/Makefile.am @@ -24,9 +24,9 @@ endif pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libosinfo-1.0.pc -lib_LTLIBRARIES = libosinfo-1.0.la +noinst_LTLIBRARIES = libosinfo-impl.la -libosinfo_1_0_la_CFLAGS = \ +libosinfo_impl_la_CFLAGS = \ $(WARN_CFLAGS) \ $(COVERAGE_CFLAGS) \ -I$(top_srcdir) \ @@ -42,24 +42,16 @@ libosinfo_1_0_la_CFLAGS = \ -DLOCALEDIR="\"$(datadir)/locale\"" \ $(NULL) -libosinfo_1_0_la_LIBADD = \ +libosinfo_impl_la_LIBADD = \ $(LIBXML_LIBS) \ $(LIBXSLT_LIBS) \ $(GOBJECT_LIBS) \ $(GLIB_LIBS) \ $(GIO_LIBS) -libosinfo_1_0_la_LDFLAGS = \ - $(COVERAGE_LDFLAGS) \ - $(VERSION_SCRIPT_FLAGS)$(LIBOSINFO_VERSION_FILE) \ - -version-info $(LIBOSINFO_VERSION_INFO) \ - $(NO_UNDEFINED_FLAGS) - -libosinfo_1_0_la_DEPENDENCIES = libosinfo.syms +libosinfo_impl_includedir = $(includedir)/libosinfo-1.0/osinfo -libosinfo_1_0_includedir = $(includedir)/libosinfo-1.0/osinfo - -libosinfo_1_0_include_HEADERS = \ +libosinfo_impl_include_HEADERS = \ osinfo.h \ osinfo_avatar_format.h \ osinfo_db.h \ @@ -100,7 +92,7 @@ libosinfo_1_0_include_HEADERS = \ osinfo_treelist.h \ $(NULL) -nodist_libosinfo_1_0_include_HEADERS = \ +nodist_libosinfo_impl_include_HEADERS = \ osinfo_version.h \ osinfo_enum_types.h \ $(NULL) @@ -155,21 +147,35 @@ libosinfo_private_header_files = \ ignore-value.h \ $(NULL) -libosinfo_1_0_la_SOURCES = \ +libosinfo_impl_la_SOURCES = \ $(libosinfo_c_files) \ $(libosinfo_private_header_files) \ $(NULL) -nodist_libosinfo_1_0_la_SOURCES = \ +nodist_libosinfo_impl_la_SOURCES = \ osinfo_enum_types.c \ $(NULL) +lib_LTLIBRARIES = libosinfo-1.0.la + +libosinfo_1_0_la_SOURCES = + +libosinfo_1_0_la_LIBADD = libosinfo-impl.la +libosinfo_1_0_la_LIBADD += $(libosinfo_impl_la_LIBADD) + +libosinfo_1_0_la_LDFLAGS = \ + $(COVERAGE_LDFLAGS) \ + $(VERSION_SCRIPT_FLAGS)$(LIBOSINFO_VERSION_FILE) \ + -version-info $(LIBOSINFO_VERSION_INFO) \ + $(NO_UNDEFINED_FLAGS) + +libosinfo_1_0_la_DEPENDENCIES = libosinfo.syms libosinfo-impl.la -osinfo_enum_types.h: $(libosinfo_1_0_include_HEADERS) osinfo_enum_types.h.template - $(AM_V_GEN) ( LC_ALL= LANG=C LC_CTYPE=en_US.UTF-8 $(GLIB_MKENUMS) --template $(srcdir)/osinfo_enum_types.h.template $(libosinfo_1_0_include_HEADERS:%=$(srcdir)/%) ) > $@ +osinfo_enum_types.h: $(libosinfo_impl_include_HEADERS) osinfo_enum_types.h.template + $(AM_V_GEN) ( LC_ALL= LANG=C LC_CTYPE=en_US.UTF-8 $(GLIB_MKENUMS) --template $(srcdir)/osinfo_enum_types.h.template $(libosinfo_impl_include_HEADERS:%=$(srcdir)/%) ) > $@ osinfo_enum_types.c: $(OSINFO_HEADER_FILES) osinfo_enum_types.c.template osinfo_enum_types.h - $(AM_V_GEN) ( LC_ALL= LANG=C LC_CTYPE=en_US.UTF-8 $(GLIB_MKENUMS) --template $(srcdir)/osinfo_enum_types.c.template $(libosinfo_1_0_include_HEADERS:%=$(srcdir)/%) ) > $@ + $(AM_V_GEN) ( LC_ALL= LANG=C LC_CTYPE=en_US.UTF-8 $(GLIB_MKENUMS) --template $(srcdir)/osinfo_enum_types.c.template $(libosinfo_impl_include_HEADERS:%=$(srcdir)/%) ) > $@ DISTCLEANFILES += \ osinfo_enum_types.c \ @@ -203,8 +209,8 @@ 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_c_files) $(nodist_libosinfo_1_0_la_SOURCES) -Libosinfo_1_0_gir_CFLAGS = $(libosinfo_1_0_la_CFLAGS) +Libosinfo_1_0_gir_FILES = $(libosinfo_impl_include_HEADERS) $(nodist_libosinfo_impl_include_HEADERS) $(libosinfo_c_files) $(nodist_libosinfo_impl_la_SOURCES) +Libosinfo_1_0_gir_CFLAGS = $(libosinfo_impl_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.19.1 _______________________________________________ Libosinfo mailing list Libosinfo@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libosinfo