static link with docs

pull/1005/head
Jeff Becker 4 years ago
parent de819d3876
commit 2ce592e4af
No known key found for this signature in database
GPG Key ID: F357B3B42F6F9B05

@ -45,6 +45,9 @@ SHADOW_OPTS ?=
LIBUV_VERSION ?= v1.30.1
LIBUV_PREFIX = $(BUILD_ROOT)/libuv
LIBCURL_VERSION ?= curl-7_67_0
LIBCURL_PREFIX = $(BUILD_ROOT)/curl
TESTNET_ROOT=/tmp/lokinet_testnet_tmp
TESTNET_CONF=$(TESTNET_ROOT)/supervisor.conf
TESTNET_LOG=$(TESTNET_ROOT)/testnet.log
@ -212,7 +215,16 @@ $(TEST_EXE): debug
test: $(TEST_EXE)
test x$(CROSS) = xOFF && $(TEST_EXE) || test x$(CROSS) = xON
static-configure: $(LIBUV_PREFIX) $(LIBCURL_PREFIX)
(test x$(TOOLCHAIN) = x && $(CONFIG_CMD) -DCMAKE_BUILD_TYPE=Release -DSTATIC_LINK=ON -DRELEASE_MOTTO="$(shell cat motto.txt)" -DCMAKE_C_FLAGS='$(CFLAGS)' -DCMAKE_CXX_FLAGS='$(CXXFLAGS)' -DLIBUV_ROOT='$(LIBUV_PREFIX)' -DLIBCURL_ROOT='$(LIBCURL_PREFIX)' ) || (test x$(TOOLCHAIN) != x && $(CONFIG_CMD) -DCMAKE_BUILD_TYPE=Release -DSTATIC_LINK=ON -DRELEASE_MOTTO="$(shell cat motto.txt)" -DCMAKE_C_FLAGS='$(CFLAGS)' -DCMAKE_CXX_FLAGS='$(CXXFLAGS)' -DLIBUV_ROOT='$(LIBUV_PREFIX)' -DLIBCURL_ROOT='$(LIBCURL_PREFIX)' -DCMAKE_TOOLCHAIN_FILE=$(TOOLCHAIN) -DNATIVE_BUILD=OFF )
static: static-configure
$(MAKE) -C '$(BUILD_ROOT)'
cp $(EXE) $(REPO)/lokinet-static
$(LIBCURL_PREFIX):
mkdir -p $(BUILD_ROOT)
git clone -b "$(LIBCURL_VERSION)" https://github.com/curl/curl "$(LIBCURL_PREFIX)"
$(LIBUV_PREFIX):
mkdir -p $(BUILD_ROOT)

@ -18,7 +18,7 @@ if(NOT IOS AND NOT ANDROID AND NOT WIN32)
set(CURL_CA_PATH none)
message(STATUS "using local curl: ${LIBCURL_ROOT}")
add_subdirectory(${LIBCURL_ROOT})
set(CURL_INCLUDE_DIRS ${LIBCURL_ROOT}/include)
set(CURL_INCLUDE_DIR ${LIBCURL_ROOT}/include)
set(CURL_LIBRARIES libcurl)
set(CURL_FOUND TRUE)
else()

@ -63,7 +63,7 @@ add_library(${UTIL_LIB} STATIC ${LIB_UTIL_SRC})
add_dependencies(${UTIL_LIB} genversion)
target_include_directories(${UTIL_LIB} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/include)
target_include_directories(${UTIL_LIB} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/include ${CURL_INCLUDE_DIR})
if(ANDROID)
set(LOG_LIB log)
endif()
@ -253,7 +253,7 @@ if(TESTNET)
endif()
add_library(${STATIC_LIB} STATIC ${LIB_SRC})
target_include_directories(${STATIC_LIB} PUBLIC ${CURL_INCLUDE_DIRS})
target_include_directories(${STATIC_LIB} PUBLIC ${CURL_INCLUDE_DIR})
target_link_libraries(${STATIC_LIB} PUBLIC cxxopts ${ABYSS_LIB} ${PLATFORM_LIB} ${UTIL_LIB} ${CRYPTOGRAPHY_LIB} ${CURL_LIBRARIES})
if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")

@ -93,6 +93,17 @@ alternatively make a debian package with:
this puts the built packages in `../`
#### Static Linux
static native optimized:
$ make static STATIC_LINK=ON DOWNLOAD_SODIUM=ON
cross compile fully static armhf (rpi 2 and up)
$ make static STATIC_LINK=ON TOOLCHAIN=contrib/cross/armhf.toolchain.cmake CROSS=ON DOWNLOAD_SODIUM=ON NATIVE_BUILD=OFF
### MacOS
build:

Loading…
Cancel
Save