build: fix linking to libsodium on macOS
Currently on I see link failures like the following: ```bash ./configure <snip> checking for libsodium with IETF chacha20 variants... yes <snip> ar libccan.a ld ccan/ccan/cdump/tools/cdump-enumstr ld: library 'sodium' not found clang: error: linker command failed with exit code 1 (use -v to see invocation) ``` The configure check passes under Clang here. Changelog-Fixed: build: fix linking against libsodium on macOS.
This commit is contained in:
2
Makefile
2
Makefile
@@ -263,7 +263,7 @@ LIBRARY_PATH := /usr/local/lib
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
CPPFLAGS += -DCLN_NEXT_VERSION="\"$(CLN_NEXT_VERSION)\"" -DPKGLIBEXECDIR="\"$(pkglibexecdir)\"" -DBINDIR="\"$(bindir)\"" -DPLUGINDIR="\"$(plugindir)\"" -DCCAN_TAL_NEVER_RETURN_NULL=1
|
CPPFLAGS += -DCLN_NEXT_VERSION="\"$(CLN_NEXT_VERSION)\"" -DPKGLIBEXECDIR="\"$(pkglibexecdir)\"" -DBINDIR="\"$(bindir)\"" -DPLUGINDIR="\"$(plugindir)\"" -DCCAN_TAL_NEVER_RETURN_NULL=1
|
||||||
CFLAGS = $(CPPFLAGS) $(CWARNFLAGS) $(CDEBUGFLAGS) $(COPTFLAGS) -I $(CCANDIR) $(EXTERNAL_INCLUDE_FLAGS) -I . -I$(CPATH) $(SQLITE3_CFLAGS) $(POSTGRES_INCLUDE) $(FEATURES) $(COVFLAGS) $(DEV_CFLAGS) -DSHACHAIN_BITS=48 -DJSMN_PARENT_LINKS $(PIE_CFLAGS) $(COMPAT_CFLAGS) $(CSANFLAGS)
|
CFLAGS = $(CPPFLAGS) $(CWARNFLAGS) $(CDEBUGFLAGS) $(COPTFLAGS) -I $(CCANDIR) $(EXTERNAL_INCLUDE_FLAGS) -I . -I$(CPATH) $(SQLITE3_CFLAGS) $(SODIUM_CFLAGS) $(POSTGRES_INCLUDE) $(FEATURES) $(COVFLAGS) $(DEV_CFLAGS) -DSHACHAIN_BITS=48 -DJSMN_PARENT_LINKS $(PIE_CFLAGS) $(COMPAT_CFLAGS) $(CSANFLAGS)
|
||||||
|
|
||||||
# If CFLAGS is already set in the environment of make (to whatever value, it
|
# If CFLAGS is already set in the environment of make (to whatever value, it
|
||||||
# does not matter) then it would export it to subprocesses with the above value
|
# does not matter) then it would export it to subprocesses with the above value
|
||||||
|
|||||||
13
configure
vendored
13
configure
vendored
@@ -355,6 +355,13 @@ if command -v "${PKG_CONFIG}" >/dev/null; then
|
|||||||
SQLITE3_LDLIBS="$("${PKG_CONFIG}" --silence-errors --libs sqlite3 || :)"
|
SQLITE3_LDLIBS="$("${PKG_CONFIG}" --silence-errors --libs sqlite3 || :)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
SODIUM_CFLAGS=""
|
||||||
|
SODIUM_LDLIBS="-lsodium"
|
||||||
|
if command -v "${PKG_CONFIG}" >/dev/null; then
|
||||||
|
SODIUM_CFLAGS="$("${PKG_CONFIG}" --silence-errors --cflags libsodium || :)"
|
||||||
|
SODIUM_LDLIBS="$("${PKG_CONFIG}" --silence-errors --libs libsodium || :)"
|
||||||
|
fi
|
||||||
|
|
||||||
POSTGRES_INCLUDE=""
|
POSTGRES_INCLUDE=""
|
||||||
POSTGRES_LDLIBS=""
|
POSTGRES_LDLIBS=""
|
||||||
if command -v "${PG_CONFIG}" >/dev/null; then
|
if command -v "${PG_CONFIG}" >/dev/null; then
|
||||||
@@ -365,7 +372,7 @@ fi
|
|||||||
# Clean up on exit.
|
# Clean up on exit.
|
||||||
trap "rm -f $CONFIG_VAR_FILE.$$" 0
|
trap "rm -f $CONFIG_VAR_FILE.$$" 0
|
||||||
|
|
||||||
$CONFIGURATOR --extra-tests --autotools-style --var-file=$CONFIG_VAR_FILE.$$ --header-file=$CONFIG_HEADER.$$ --configurator-cc="$CONFIGURATOR_CC" --wrapper="$CONFIGURATOR_WRAPPER" "$CC" ${CWARNFLAGS-$BASE_WARNFLAGS} $CDEBUGFLAGS $COPTFLAGS $CSANFLAGS -I$CPATH -L$LIBRARY_PATH $SQLITE3_CFLAGS $POSTGRES_INCLUDE <<EOF
|
$CONFIGURATOR --extra-tests --autotools-style --var-file=$CONFIG_VAR_FILE.$$ --header-file=$CONFIG_HEADER.$$ --configurator-cc="$CONFIGURATOR_CC" --wrapper="$CONFIGURATOR_WRAPPER" "$CC" ${CWARNFLAGS-$BASE_WARNFLAGS} $CDEBUGFLAGS $COPTFLAGS $CSANFLAGS -I$CPATH -L$LIBRARY_PATH $SQLITE3_CFLAGS $SODIUM_CFLAGS $POSTGRES_INCLUDE <<EOF
|
||||||
|
|
||||||
var=HAVE_ZLIB
|
var=HAVE_ZLIB
|
||||||
desc=zlib support
|
desc=zlib support
|
||||||
@@ -388,7 +395,7 @@ int main(void)
|
|||||||
var=HAVE_GOOD_LIBSODIUM
|
var=HAVE_GOOD_LIBSODIUM
|
||||||
desc=libsodium with IETF chacha20 variants
|
desc=libsodium with IETF chacha20 variants
|
||||||
style=DEFINES_EVERYTHING|EXECUTE|MAY_NOT_COMPILE
|
style=DEFINES_EVERYTHING|EXECUTE|MAY_NOT_COMPILE
|
||||||
link=-lsodium
|
link=$SODIUM_LDLIBS
|
||||||
code=
|
code=
|
||||||
#include <sodium.h>
|
#include <sodium.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -553,6 +560,8 @@ add_var SQLITE3_CFLAGS "$SQLITE3_CFLAGS"
|
|||||||
add_var SQLITE3_LDLIBS "$SQLITE3_LDLIBS"
|
add_var SQLITE3_LDLIBS "$SQLITE3_LDLIBS"
|
||||||
add_var POSTGRES_INCLUDE "$POSTGRES_INCLUDE"
|
add_var POSTGRES_INCLUDE "$POSTGRES_INCLUDE"
|
||||||
add_var POSTGRES_LDLIBS "$POSTGRES_LDLIBS"
|
add_var POSTGRES_LDLIBS "$POSTGRES_LDLIBS"
|
||||||
|
add_var SODIUM_CFLAGS "$SODIUM_CFLAGS"
|
||||||
|
add_var SODIUM_LDLIBS "$SODIUM_LDLIBS"
|
||||||
add_var VALGRIND "$VALGRIND"
|
add_var VALGRIND "$VALGRIND"
|
||||||
add_var DEBUGBUILD "$DEBUGBUILD"
|
add_var DEBUGBUILD "$DEBUGBUILD"
|
||||||
add_var COMPAT "$COMPAT" $CONFIG_HEADER.$$
|
add_var COMPAT "$COMPAT" $CONFIG_HEADER.$$
|
||||||
|
|||||||
2
external/Makefile
vendored
2
external/Makefile
vendored
@@ -50,7 +50,7 @@ EXTERNAL_INCLUDE_FLAGS += -I external/libsodium/src/libsodium/include \
|
|||||||
-I $(TARGET_DIR)/libsodium-build/src/libsodium/include
|
-I $(TARGET_DIR)/libsodium-build/src/libsodium/include
|
||||||
EXTERNAL_LIBS += ${TARGET_DIR}/libsodium.a
|
EXTERNAL_LIBS += ${TARGET_DIR}/libsodium.a
|
||||||
else
|
else
|
||||||
LDLIBS += -lsodium
|
LDLIBS += $(SODIUM_LDLIBS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(HAVE_ZLIB),1)
|
ifeq ($(HAVE_ZLIB),1)
|
||||||
|
|||||||
Reference in New Issue
Block a user