On Wed, Mar 20, 2024 at 2:50 PM <orbea@xxxxxxxxxx> wrote: > > From: orbea <orbea@xxxxxxxxxx> > > When linking with internal dependencies that were built with libtool the > most reliable method is to use the libtool archive (.la) files. > > When building with slibtool it fails when it doesn't find the -lgpiod > linker flag, but if libgpiod is already installed to the system it will > be built using the system version instead of the newly built libraries. > > Gentoo issue: https://bugs.gentoo.org/913899 > > Signed-off-by: orbea <orbea@xxxxxxxxxx> > --- > bindings/cxx/Makefile.am | 2 +- > bindings/cxx/examples/Makefile.am | 2 +- > bindings/cxx/tests/Makefile.am | 6 +++--- > 3 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/bindings/cxx/Makefile.am b/bindings/cxx/Makefile.am > index 1eafaa2..e2a89cf 100644 > --- a/bindings/cxx/Makefile.am > +++ b/bindings/cxx/Makefile.am > @@ -24,8 +24,8 @@ libgpiodcxx_la_CXXFLAGS = -Wall -Wextra -g -std=gnu++17 > libgpiodcxx_la_CXXFLAGS += -fvisibility=hidden -I$(top_srcdir)/include/ > libgpiodcxx_la_CXXFLAGS += $(PROFILING_CFLAGS) > libgpiodcxx_la_LDFLAGS = -version-info $(subst .,:,$(ABI_CXX_VERSION)) > -libgpiodcxx_la_LDFLAGS += -lgpiod -L$(top_builddir)/lib > libgpiodcxx_la_LDFLAGS += $(PROFILING_LDFLAGS) > +libgpiodcxx_la_LIBADD = $(top_builddir)/lib/libgpiod.la > > include_HEADERS = gpiod.hpp > > diff --git a/bindings/cxx/examples/Makefile.am b/bindings/cxx/examples/Makefile.am > index 64ced20..eca4d64 100644 > --- a/bindings/cxx/examples/Makefile.am > +++ b/bindings/cxx/examples/Makefile.am > @@ -3,7 +3,7 @@ > > AM_CXXFLAGS = -I$(top_srcdir)/bindings/cxx/ -I$(top_srcdir)/include > AM_CXXFLAGS += -Wall -Wextra -g -std=gnu++17 > -AM_LDFLAGS = -lgpiodcxx -L$(top_builddir)/bindings/cxx/ > +LDADD = $(top_builddir)/bindings/cxx/libgpiodcxx.la > > noinst_PROGRAMS = \ > async_watch_line_value \ > diff --git a/bindings/cxx/tests/Makefile.am b/bindings/cxx/tests/Makefile.am > index 02b5b6d..4d40d33 100644 > --- a/bindings/cxx/tests/Makefile.am > +++ b/bindings/cxx/tests/Makefile.am > @@ -4,9 +4,9 @@ > AM_CXXFLAGS = -I$(top_srcdir)/bindings/cxx/ -I$(top_srcdir)/include > AM_CXXFLAGS += -I$(top_srcdir)/tests/gpiosim/ > AM_CXXFLAGS += -Wall -Wextra -g -std=gnu++17 $(CATCH2_CFLAGS) > -AM_LDFLAGS = -lgpiodcxx -L$(top_builddir)/bindings/cxx/ > -AM_LDFLAGS += -lgpiosim -L$(top_builddir)/tests/gpiosim/ > -AM_LDFLAGS += -pthread > +AM_LDFLAGS = -pthread > +LDADD = $(top_builddir)/bindings/cxx/libgpiodcxx.la > +LDADD += $(top_builddir)/tests/gpiosim/libgiosim.la Please test your changes, this is a typo and it doesn't build. It should have been "libgpiosim". I fixed it up when applying. Thanks, Bartosz > > noinst_PROGRAMS = gpiod-cxx-test > > -- > 2.43.2 > >