I've got a C++ application in a Yocto build that requires the library file libwpa_client.so. This file is provided by wpa-supplicant. I brute forced installation of this file into my Yocto image as the wpa-supplicant recipe wasn't doing it for me. I'm now trying to figure out the proper way to pull this library file in during an autotools build.
The bb recipe for the C++ application includes:
DESCRIPTION = "My C++ Application recipe"
LICENSE = "CLOSED"
PACKAGES = "\
${PN} \
${PN}-dev \
${PN}-dbg \
"
DEPENDS = " libegt sqlite3-native libgpiod wpa-supplicant"
# Add for gpiod.h
RDEPENDS_${PN} = "libgpiod wpa-supplicant"
RDEPENDS_${PN}-dev = "libgpiod wpa-supplicant"
RDEPENDS_${PN}-dbg = "libgpiod wpa-supplicant"
....
& in the configure.ac I have:
PKG_CHECK_MODULES(LIBGPIOD, [libgpiod >= 1.0], [], [
AC_MSG_ERROR(libgpiod not found. This is required.)
])
# note libwpa_client has no version number, just libwpa_client.so
PKG_CHECK_MODULES(LIBWPA_CLIENT, [libwpa_client], [], [
AC_MSG_ERROR(libwpa_client not found. This is required.)
])
Using this produces the output:
Wno-long-long -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi
| checking if libc contains libintl... yes
| checking libintl.h usability... yes
| checking libintl.h presence... yes
| checking for libintl.h... yes
| checking for libegt >= 1.3... yes
| checking for libgpiod >= 1.0... yes
| checking for libwpa_client... no
| configure: error: libwpa_client not found. This is required.
| NOTE: The following config.log files may provide further information.
My application builds fine if I manually specify lwpa_client in Makefile.am as follows:
CUSTOM_LDADD = $(LIBEGT_LIBS) $(top_builddir)/external/libsqlite3.la $(LIBGPIOD_LIBS) $(LIBWPA_CLIENT_LIBS) -lwpa_client
But my questions is how should I properly do this?
Many thanks,