From 55e812c7848d073d6a15f7093a019576c3dcd66c Mon Sep 17 00:00:00 2001 From: Daniel Danzberger Date: Mon, 2 Dec 2024 15:24:23 +0100 Subject: [PATCH] unix: Fix linker errors when building without sdevent When building without systemd event support (-DLWS_WITH_SDEVENT=OFF) on a system that has libsystemd headers installed, lib/plat/unix-systemd.c is build in anyway. The final libwebsockets library has then references to symbols from libsystemd even though it won't be linked. Resulting in the follwoing linker errros: -- /usr/bin/ld: /usr/local/lib/libwebsockets.so: undefined reference to `sd_is_socket_inet' /usr/bin/ld: /usr/local/lib/libwebsockets.so: undefined reference to `sd_is_socket_unix' /usr/bin/ld: /usr/local/lib/libwebsockets.so: undefined reference to `sd_listen_fds' -- This commit ensures that unix-system.c is only build when LWS_WITH_SDEVENT is set and the system has libsystemd headers installed. Signed-off-by: Daniel Danzberger --- lib/plat/unix/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/plat/unix/CMakeLists.txt b/lib/plat/unix/CMakeLists.txt index e3c23c995..bd2922436 100644 --- a/lib/plat/unix/CMakeLists.txt +++ b/lib/plat/unix/CMakeLists.txt @@ -63,7 +63,7 @@ if (LWS_WITH_NETWORK) list(APPEND SOURCES plat/unix/unix-resolv.c) endif() endif() - if (LWS_HAVE_SYSTEMD_H) + if (LWS_WITH_SDEVENT AND LWS_HAVE_SYSTEMD_H) list(APPEND SOURCES plat/unix/unix-systemd.c )