add build flag to use libubox instead of provided base64 implementation
authorFelix Fietkau <nbd@openwrt.org>
Sun, 19 Apr 2015 10:42:10 +0000 (12:42 +0200)
committerFelix Fietkau <nbd@openwrt.org>
Sun, 19 Apr 2015 10:42:10 +0000 (12:42 +0200)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
CMakeLists.txt
base64.h

index 8361171ee753b5b12a4aa1497f8b7c233e132d94..68f50ff00b23bd947e4f20ededc8b8c60cf7f939 100644 (file)
@@ -3,8 +3,18 @@ cmake_minimum_required(VERSION 2.8)
 PROJECT(usign C)
 ADD_DEFINITIONS(-O2 -Wall -Werror --std=gnu99 -g3 -Wmissing-declarations)
 
-SET(SOURCES ed25519.c edsign.c f25519.c fprime.c sha512.c base64.c main.c)
+SET(SOURCES ed25519.c edsign.c f25519.c fprime.c sha512.c main.c)
+
+SET(LIBS)
+IF(USE_LIBUBOX)
+  ADD_DEFINITIONS(-DUSE_LIBUBOX)
+  SET(LIBS ubox)
+ELSE()
+  SET(SOURCES ${SOURCES} base64.c)
+ENDIF()
+
 ADD_EXECUTABLE(usign ${SOURCES})
+TARGET_LINK_LIBRARIES(usign ${LIBS})
 
 INSTALL(TARGETS usign
        RUNTIME DESTINATION bin
index 0f49e9a2825d78a380b890f504d7c9a8be07a2c0..9ae2b498ee1c2b7b1de46bc8ba8b53fd5bd92fcb 100644 (file)
--- a/base64.h
+++ b/base64.h
@@ -1,6 +1,9 @@
 #ifndef __BASE64_H
 #define __BASE64_H
 
+#ifdef USE_LIBUBOX
+#include <libubox/utils.h>
+#else
 int b64_encode(const void *src, size_t src_len,
               void *dest, size_t dest_len);
 
@@ -8,5 +11,6 @@ int b64_decode(const void *src, void *dest, size_t dest_len);
 
 #define B64_ENCODE_LEN(_len)   ((((_len) + 2) / 3) * 4 + 1)
 #define B64_DECODE_LEN(_len)   (((_len) / 4) * 3 + 1)
+#endif /* USE_LIBUBOX */
 
 #endif