[Libosinfo] [libosinfo PATCH v2 1/2] osinfo: Create an intermediate convenience library

Daniel P. Berrangé berrange at redhat.com
Wed Nov 21 09:08:05 UTC 2018


On Wed, Nov 21, 2018 at 09:44:47AM +0100, Christophe Fergeau wrote:
> Ok, 2 more comments actually,
> 
> On Tue, Nov 20, 2018 at 03:11:23PM +0100, Fabiano Fidêncio wrote:
> > 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 at redhat.com>
> > ---
> >  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
> 
> I would keep libosinfo-1.0.la near the top as that is the most
> interesting output from that Makefile.am (ie what actually gets
> installed).
> 
> > -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
> 
> Here, I would expect libtool to be able to infer the libosinfo-impl.la
> dependency from 'libosinfo_1_0_la_LIBADD = libosinfo-impl.la' above

IIRC there is a problem - if you specify _DEPENDENCIES = ... at all,
as needed for the libosinfo.syms file, then I believe it discards the
default dependancy on libosinfo-impl.la



Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the Libosinfo mailing list