tools: compile with latest NDK
The -mthumb -> -marm hack is unfortunate. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
parent
4aa4843b74
commit
3ab1f94514
@ -7,7 +7,6 @@ group groupName
|
|||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdk 33
|
compileSdk 33
|
||||||
ndkVersion '21.4.7075529'
|
|
||||||
compileOptions {
|
compileOptions {
|
||||||
sourceCompatibility JavaVersion.VERSION_1_8
|
sourceCompatibility JavaVersion.VERSION_1_8
|
||||||
targetCompatibility JavaVersion.VERSION_1_8
|
targetCompatibility JavaVersion.VERSION_1_8
|
||||||
|
@ -6,9 +6,6 @@ cmake_minimum_required(VERSION 3.4.1)
|
|||||||
project("WireGuard")
|
project("WireGuard")
|
||||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
|
||||||
|
|
||||||
# Work around https://github.com/android-ndk/ndk/issues/602
|
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=gold")
|
|
||||||
|
|
||||||
add_executable(libwg-quick.so wireguard-tools/src/wg-quick/android.c ndk-compat/compat.c)
|
add_executable(libwg-quick.so wireguard-tools/src/wg-quick/android.c ndk-compat/compat.c)
|
||||||
target_compile_options(libwg-quick.so PUBLIC -O3 -std=gnu11 -Wall -include ${CMAKE_CURRENT_SOURCE_DIR}/ndk-compat/compat.h -DWG_PACKAGE_NAME=\"${ANDROID_PACKAGE_NAME}\")
|
target_compile_options(libwg-quick.so PUBLIC -O3 -std=gnu11 -Wall -include ${CMAKE_CURRENT_SOURCE_DIR}/ndk-compat/compat.h -DWG_PACKAGE_NAME=\"${ANDROID_PACKAGE_NAME}\")
|
||||||
target_link_libraries(libwg-quick.so -ldl)
|
target_link_libraries(libwg-quick.so -ldl)
|
||||||
@ -20,14 +17,13 @@ target_compile_options(libwg.so PUBLIC -O3 -std=gnu11 -D_GNU_SOURCE -include ${C
|
|||||||
|
|
||||||
add_custom_target(libwg-go.so WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/libwg-go" COMMENT "Building wireguard-go" VERBATIM COMMAND make
|
add_custom_target(libwg-go.so WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/libwg-go" COMMENT "Building wireguard-go" VERBATIM COMMAND make
|
||||||
ANDROID_ARCH_NAME=${ANDROID_ARCH_NAME}
|
ANDROID_ARCH_NAME=${ANDROID_ARCH_NAME}
|
||||||
ANDROID_C_COMPILER=${ANDROID_C_COMPILER}
|
|
||||||
ANDROID_TOOLCHAIN_ROOT=${ANDROID_TOOLCHAIN_ROOT}
|
|
||||||
ANDROID_LLVM_TRIPLE=${ANDROID_LLVM_TRIPLE}
|
|
||||||
ANDROID_SYSROOT=${ANDROID_SYSROOT}
|
|
||||||
ANDROID_PACKAGE_NAME=${ANDROID_PACKAGE_NAME}
|
ANDROID_PACKAGE_NAME=${ANDROID_PACKAGE_NAME}
|
||||||
GRADLE_USER_HOME=${GRADLE_USER_HOME}
|
GRADLE_USER_HOME=${GRADLE_USER_HOME}
|
||||||
CFLAGS=${CMAKE_C_FLAGS}\ -Wno-unused-command-line-argument
|
CC=${CMAKE_C_COMPILER}
|
||||||
LDFLAGS=${CMAKE_SHARED_LINKER_FLAGS}\ -fuse-ld=gold
|
CFLAGS=${CMAKE_C_FLAGS}
|
||||||
|
LDFLAGS=${CMAKE_SHARED_LINKER_FLAGS}
|
||||||
|
SYSROOT=${CMAKE_SYSROOT}
|
||||||
|
TARGET=${CMAKE_C_COMPILER_TARGET}
|
||||||
DESTDIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
|
DESTDIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
|
||||||
BUILDDIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/../generated-src
|
BUILDDIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/../generated-src
|
||||||
)
|
)
|
||||||
|
@ -12,10 +12,9 @@ NDK_GO_ARCH_MAP_arm64 := arm64
|
|||||||
NDK_GO_ARCH_MAP_mips := mipsx
|
NDK_GO_ARCH_MAP_mips := mipsx
|
||||||
NDK_GO_ARCH_MAP_mips64 := mips64x
|
NDK_GO_ARCH_MAP_mips64 := mips64x
|
||||||
|
|
||||||
CLANG_FLAGS := --target=$(ANDROID_LLVM_TRIPLE) --gcc-toolchain=$(ANDROID_TOOLCHAIN_ROOT) --sysroot=$(ANDROID_SYSROOT)
|
CLANG_FLAGS := --target=$(TARGET) --sysroot=$(SYSROOT)
|
||||||
export CGO_CFLAGS := $(CLANG_FLAGS) $(CFLAGS)
|
export CGO_CFLAGS := $(CLANG_FLAGS) $(subst -mthumb,-marm,$(CFLAGS))
|
||||||
export CGO_LDFLAGS := $(CLANG_FLAGS) $(LDFLAGS) -Wl,-soname=libwg-go.so
|
export CGO_LDFLAGS := $(CLANG_FLAGS) $(LDFLAGS) -Wl,-soname=libwg-go.so
|
||||||
export CC := $(ANDROID_C_COMPILER)
|
|
||||||
export GOARCH := $(NDK_GO_ARCH_MAP_$(ANDROID_ARCH_NAME))
|
export GOARCH := $(NDK_GO_ARCH_MAP_$(ANDROID_ARCH_NAME))
|
||||||
export GOOS := android
|
export GOOS := android
|
||||||
export CGO_ENABLED := 1
|
export CGO_ENABLED := 1
|
||||||
|
@ -13,7 +13,6 @@ final def keystorePropertiesFile = rootProject.file("keystore.properties")
|
|||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdk 33
|
compileSdk 33
|
||||||
ndkVersion "21.4.7075529"
|
|
||||||
buildFeatures {
|
buildFeatures {
|
||||||
buildConfig = true
|
buildConfig = true
|
||||||
dataBinding = true
|
dataBinding = true
|
||||||
|
Loading…
Reference in New Issue
Block a user