From 4c50636912dcbc05531f909e81d36bef059e6e5f Mon Sep 17 00:00:00 2001
From: Daniel Danzberger <dd@embedd.com>
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 <dd@embedd.com>
---
 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
 		)