unix: Fix linker errors when building without sdevent #3287
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.