From: Felix Fietkau Date: Mon, 23 May 2022 13:04:57 +0000 (+0200) Subject: make ubus support optional (enabled by default) X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=c2dd2c4563a117bf6520a429d0ee1ae306433982;p=project%2Funetd.git make ubus support optional (enabled by default) Signed-off-by: Felix Fietkau --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 50e1848..02fadbd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ PROJECT(unetd C) SET(SOURCES - main.c ubus.c network.c host.c service.c pex.c utils.c + main.c network.c host.c service.c pex.c utils.c curve25519.c siphash.c wg.c wg-dummy.c wg-user.c ) @@ -14,15 +14,23 @@ SET(RUNSTATEDIR /var/run) ADD_DEFINITIONS(-Os -Wall -Werror --std=gnu99 -g3 -Wmissing-declarations -DRUNSTATEDIR="${RUNSTATEDIR}") FIND_LIBRARY(libjson NAMES json-c json) +OPTION(UBUS_SUPPORT "enable ubus support" ON) IF(CMAKE_SYSTEM_NAME STREQUAL "Linux") FIND_LIBRARY(nl nl-tiny) SET(SOURCES ${SOURCES} wg-linux.c) ELSE() SET(nl "") ENDIF() +IF(UBUS_SUPPORT) + SET(SOURCES ${SOURCES} ubus.c) + ADD_DEFINITIONS(-DUBUS_SUPPORT=1) + FIND_LIBRARY(ubus ubus) +ELSE() + SET(ubus "") +ENDIF() ADD_EXECUTABLE(unetd ${SOURCES}) -TARGET_LINK_LIBRARIES(unetd ubox ubus blobmsg_json ${libjson} ${nl}) +TARGET_LINK_LIBRARIES(unetd ubox ${ubus} blobmsg_json ${libjson} ${nl}) INSTALL(TARGETS unetd RUNTIME DESTINATION sbin diff --git a/ubus.h b/ubus.h new file mode 100644 index 0000000..90b9788 --- /dev/null +++ b/ubus.h @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2022 Felix Fietkau + */ +#ifndef __UNETD_UBUS_H +#define __UNETD_UBUS_H + +#ifdef UBUS_SUPPORT +void unetd_ubus_init(void); +void unetd_ubus_netifd_update(struct blob_attr *data); +void unetd_ubus_netifd_add_route(struct network *net, union network_endpoint *ep); +#else +static inline void unetd_ubus_init(void) +{ +} +static inline void unetd_ubus_netifd_update(struct blob_attr *data) +{ +} +static inline void unetd_ubus_netifd_add_route(struct network *net, union network_endpoint *ep) +{ +} +#endif + +#endif diff --git a/unetd.h b/unetd.h index 412aeb4..e7d1360 100644 --- a/unetd.h +++ b/unetd.h @@ -17,6 +17,7 @@ #include "network.h" #include "host.h" #include "service.h" +#include "ubus.h" extern bool dummy_mode; extern bool debug; @@ -34,8 +35,5 @@ extern bool debug; void unetd_write_hosts(void); -void unetd_ubus_init(void); -void unetd_ubus_netifd_update(struct blob_attr *data); -void unetd_ubus_netifd_add_route(struct network *net, union network_endpoint *ep); #endif