From 1f761a1cb0cf1407504461fd9db82843711b1bba Mon Sep 17 00:00:00 2001 From: Jeff Becker Date: Tue, 16 Jul 2019 09:41:43 -0400 Subject: [PATCH] * fix arm cross compile on ubuntu disco * add toolchain option for cross compile --- Makefile | 11 +++++++---- crypto/salsa20/xmm6int/salsa20_xmm6int-sse2.c | 4 +--- crypto/salsa20/xmm6int/salsa20_xmm6int-sse2.h | 2 +- llarp/CMakeLists.txt | 3 --- 4 files changed, 9 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 71770dafe..3981a30af 100644 --- a/Makefile +++ b/Makefile @@ -53,6 +53,8 @@ ANDROID_LOCAL_PROPS=$(ANDROID_DIR)/local.properties GRADLE ?= gradle JAVA_HOME ?= /usr/lib/jvm/default-java +TOOLCHAIN ?= + # native avx2 code AVX2 ?= OFF # non x86 target @@ -94,11 +96,11 @@ ANALYZE_CONFIG_CMD = $(shell gecho -n "cd '$(BUILD_ROOT)' && " ; gecho -n "$(SCA COVERAGE_CONFIG_CMD = $(shell gecho -n "cd '$(BUILD_ROOT)' && " ; gecho -n "cmake -G'$(CMAKE_GEN)' -DCMAKE_CROSSCOMPILING=$(CROSS) -DSTATIC_LINK_RUNTIME=$(STATIC_LINK) -DUSE_NETNS=$(NETNS) -DUSE_AVX2=$(AVX2) -DNON_PC_TARGET=$(NON_PC_TARGET) -DWITH_SHARED=$(SHARED_LIB) -DWITH_COVERAGE=yes -DCMAKE_EXPORT_COMPILE_COMMANDS=ON '$(REPO)'") else -CONFIG_CMD = $(shell /bin/echo -n "cd '$(BUILD_ROOT)' && " ; /bin/echo -n "cmake -G'$(CMAKE_GEN)' -DCMAKE_C_COMPILER=$(CC) -DCMAKE_CXX_COMPILER=$(CXX) -DCMAKE_CROSSCOMPILING=$(CROSS) -DSTATIC_LINK_RUNTIME=$(STATIC_LINK) -DUSE_SHELLHOOKS=$(SHELL_HOOKS) -DUSE_NETNS=$(NETNS) -DUSE_AVX2=$(AVX2) -DNON_PC_TARGET=$(NON_PC_TARGET) -DWITH_SHARED=$(SHARED_LIB) -DCMAKE_EXPORT_COMPILE_COMMANDS=ON '$(REPO)'") +CONFIG_CMD = $(shell /bin/echo -n "cd '$(BUILD_ROOT)' && " ; /bin/echo -n "cmake -G'$(CMAKE_GEN)' -DCMAKE_CROSSCOMPILING=$(CROSS) -DSTATIC_LINK_RUNTIME=$(STATIC_LINK) -DUSE_SHELLHOOKS=$(SHELL_HOOKS) -DUSE_NETNS=$(NETNS) -DUSE_AVX2=$(AVX2) -DNON_PC_TARGET=$(NON_PC_TARGET) -DWITH_SHARED=$(SHARED_LIB) -DCMAKE_EXPORT_COMPILE_COMMANDS=ON '$(REPO)'") -ANALYZE_CONFIG_CMD = $(shell /bin/echo -n "cd '$(BUILD_ROOT)' && " ; /bin/echo -n "$(SCAN_BUILD) cmake -G'$(CMAKE_GEN)' -DCMAKE_C_COMPILER=$(CC) -DCMAKE_CXX_COMPILER=$(CXX) -DCMAKE_CROSSCOMPILING=$(CROSS) -DSTATIC_LINK_RUNTIME=$(STATIC_LINK) -DUSE_NETNS=$(NETNS) -DUSE_AVX2=$(AVX2) -DNON_PC_TARGET=$(NON_PC_TARGET) -DWITH_SHARED=$(SHARED_LIB) -DCMAKE_EXPORT_COMPILE_COMMANDS=ON '$(REPO)'") +ANALYZE_CONFIG_CMD = $(shell /bin/echo -n "cd '$(BUILD_ROOT)' && " ; /bin/echo -n "$(SCAN_BUILD) cmake -G'$(CMAKE_GEN)' -DCMAKE_CROSSCOMPILING=$(CROSS) -DSTATIC_LINK_RUNTIME=$(STATIC_LINK) -DUSE_NETNS=$(NETNS) -DUSE_AVX2=$(AVX2) -DNON_PC_TARGET=$(NON_PC_TARGET) -DWITH_SHARED=$(SHARED_LIB) -DCMAKE_EXPORT_COMPILE_COMMANDS=ON '$(REPO)'") -COVERAGE_CONFIG_CMD = $(shell /bin/echo -n "cd '$(BUILD_ROOT)' && " ; /bin/echo -n "cmake -G'$(CMAKE_GEN)' -DCMAKE_C_COMPILER=$(CC) -DCMAKE_CXX_COMPILER=$(CXX) -DCMAKE_CROSSCOMPILING=$(CROSS) -DSTATIC_LINK_RUNTIME=$(STATIC_LINK) -DUSE_NETNS=$(NETNS) -DUSE_AVX2=$(AVX2) -DNON_PC_TARGET=$(NON_PC_TARGET) -DWITH_SHARED=$(SHARED_LIB) -DWITH_COVERAGE=yes -DCMAKE_EXPORT_COMPILE_COMMANDS=ON '$(REPO)'") +COVERAGE_CONFIG_CMD = $(shell /bin/echo -n "cd '$(BUILD_ROOT)' && " ; /bin/echo -n "cmake -G'$(CMAKE_GEN)' -DCMAKE_CROSSCOMPILING=$(CROSS) -DSTATIC_LINK_RUNTIME=$(STATIC_LINK) -DUSE_NETNS=$(NETNS) -DUSE_AVX2=$(AVX2) -DNON_PC_TARGET=$(NON_PC_TARGET) -DWITH_SHARED=$(SHARED_LIB) -DWITH_COVERAGE=yes -DCMAKE_EXPORT_COMPILE_COMMANDS=ON '$(REPO)'") endif TARGETS = $(REPO)/lokinet @@ -120,7 +122,8 @@ clean: debug-configure: mkdir -p '$(BUILD_ROOT)' - $(CONFIG_CMD) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DCMAKE_C_FLAGS='$(CFLAGS)' -DCMAKE_CXX_FLAGS='$(CXXFLAGS)' + (test x$(TOOLCHAIN) = x && $(CONFIG_CMD) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DCMAKE_C_FLAGS='$(CFLAGS)' -DCMAKE_CXX_FLAGS='$(CXXFLAGS)') || (test x$(TOOLCHAIN) != x && $(CONFIG_CMD) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) -DCMAKE_C_FLAGS='$(CFLAGS)' -DCMAKE_CXX_FLAGS='$(CXXFLAGS)' -DCMAKE_TOOLCHAIN_FILE=$(TOOLCHAIN) ) + release-configure: clean mkdir -p '$(BUILD_ROOT)' diff --git a/crypto/salsa20/xmm6int/salsa20_xmm6int-sse2.c b/crypto/salsa20/xmm6int/salsa20_xmm6int-sse2.c index 504700952..c59cf3e45 100644 --- a/crypto/salsa20/xmm6int/salsa20_xmm6int-sse2.c +++ b/crypto/salsa20/xmm6int/salsa20_xmm6int-sse2.c @@ -1,6 +1,4 @@ -#if defined(ANDROID) || defined(RPI) - -#else +#if __SSE2__ #include #include #include diff --git a/crypto/salsa20/xmm6int/salsa20_xmm6int-sse2.h b/crypto/salsa20/xmm6int/salsa20_xmm6int-sse2.h index f1f1d6e73..dd5b86655 100644 --- a/crypto/salsa20/xmm6int/salsa20_xmm6int-sse2.h +++ b/crypto/salsa20/xmm6int/salsa20_xmm6int-sse2.h @@ -3,7 +3,7 @@ #include "../stream_salsa20.h" #include -#ifndef ANDROID +#if __SSE2__ extern struct crypto_stream_salsa20_implementation crypto_stream_salsa20_xmm6int_sse2_implementation; #endif \ No newline at end of file diff --git a/llarp/CMakeLists.txt b/llarp/CMakeLists.txt index 8f9d7f41a..0a19450d6 100644 --- a/llarp/CMakeLists.txt +++ b/llarp/CMakeLists.txt @@ -105,9 +105,6 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") if(NON_PC_TARGET) add_import_library(rt) target_link_libraries(${PLATFORM_LIB} PUBLIC rt) - else() - add_import_library(cap) - target_link_libraries(${PLATFORM_LIB} PUBLIC cap) endif() endif()