In kselftest_deps.sh script, the level 3 parser is broken for the alsa subsystem Makefile.
Output before patch:
$ ./kselftest_deps.sh gcc alsa ======================================================== Kselftest Dependency Check for [./kselftest_deps.sh gcc alsa] results... ======================================================== Checked tests defining LDLIBS dependencies -------------------------------------------------------- Total tests with Dependencies: 6 Pass: 2 Fail: 4 -------------------------------------------------------- PASS: alsa/Makefile dependency check passed -lasound PASS: alsa/Makefile dependency check passed -lpthread -------------------------------------------------------- Targets passed build dependency check on system: alsa -------------------------------------------------------- FAIL: alsa/Makefile dependency check: $(shell FAIL: alsa/Makefile dependency check: pkg-config FAIL: alsa/Makefile dependency check: --libs FAIL: alsa/Makefile dependency check: alsa) -------------------------------------------------------- Targets failed build dependency check on system: alsa -------------------------------------------------------- Missing libraries system $(shell alsa) --libs pkg-config -------------------------------------------------------- ========================================================
Output after patch:
$ ./kselftest_deps.sh gcc alsa ======================================================== Kselftest Dependency Check for [./kselftest_deps.sh gcc alsa] results... ======================================================== Checked tests defining LDLIBS dependencies -------------------------------------------------------- Total tests with Dependencies: 2 Pass: 2 Fail: 0 -------------------------------------------------------- PASS: alsa/Makefile dependency check passed -lasound PASS: alsa/Makefile dependency check passed -lpthread -------------------------------------------------------- Targets passed build dependency check on system: alsa -------------------------------------------------------- ========================================================
Signed-off-by: Ricardo B. Marliere rbmarliere@gmail.com --- tools/testing/selftests/alsa/Makefile | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/tools/testing/selftests/alsa/Makefile b/tools/testing/selftests/alsa/Makefile index 5af9ba8a4645..b5670049c4e5 100644 --- a/tools/testing/selftests/alsa/Makefile +++ b/tools/testing/selftests/alsa/Makefile @@ -2,13 +2,13 @@ #
CFLAGS += $(shell pkg-config --cflags alsa) -LDLIBS += $(shell pkg-config --libs alsa) -ifeq ($(LDLIBS),) -LDLIBS += -lasound +VAR_LDLIBS += $(shell pkg-config --libs alsa) +ifeq ($(VAR_LDLIBS),) +VAR_LDLIBS += -lasound endif CFLAGS += -L$(OUTPUT) -Wl,-rpath=./
-LDLIBS+=-lpthread +VAR_LDLIBS+=-lpthread
OVERRIDE_TARGETS = 1
@@ -21,7 +21,7 @@ TEST_FILES := conf.d pcm-test.conf include ../lib.mk
$(OUTPUT)/libatest.so: conf.c alsa-local.h - $(CC) $(CFLAGS) -shared -fPIC $< $(LDLIBS) -o $@ + $(CC) $(CFLAGS) -shared -fPIC $< $(VAR_LDLIBS) -o $@
$(OUTPUT)/%: %.c $(TEST_GEN_PROGS_EXTENDED) alsa-local.h - $(CC) $(CFLAGS) $< $(LDLIBS) -latest -o $@ + $(CC) $(CFLAGS) $< $(VAR_LDLIBS) -latest -o $@
On Tue, Aug 22, 2023 at 10:15:45AM -0300, Ricardo B. Marliere wrote:
In kselftest_deps.sh script, the level 3 parser is broken for the alsa subsystem Makefile.
CFLAGS += $(shell pkg-config --cflags alsa) -LDLIBS += $(shell pkg-config --libs alsa) -ifeq ($(LDLIBS),) -LDLIBS += -lasound +VAR_LDLIBS += $(shell pkg-config --libs alsa) +ifeq ($(VAR_LDLIBS),) +VAR_LDLIBS += -lasound
This seems like an undocumented bodge for whatever limitation the checker script has. If nothing else someone might come along later and switch back to using the standard variable name, and TBH it does feel like it'd be better to teach the checker to understand the pkg-config idiom here.
On Tue, Aug 22, 2023 at 03:05:27PM +0100, Mark Brown wrote:
This seems like an undocumented bodge for whatever limitation the checker script has. If nothing else someone might come along later and switch back to using the standard variable name, and TBH it does feel like it'd be better to teach the checker to understand the pkg-config idiom here.
I agree, I submitted a patch to fix the checker script.
Thank you Mark
linux-kselftest-mirror@lists.linaro.org