From f0c1a8f98f04839a6746576a45be9b0f2d195fbb Mon Sep 17 00:00:00 2001 From: Cory McWilliams Date: Sat, 1 Feb 2025 16:24:31 -0500 Subject: [PATCH] build: Minor cleanup and a disappointing workaround for iOS cross-compiling toolchain issues I don't understand. --- GNUmakefile | 4 ++-- src/ssb.tests.c | 4 ++++ src/task.c | 5 ++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index 8ea668cf..9801b5ae 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -246,8 +246,8 @@ $(IOS_TARGETS): CC = xcrun --sdk iphoneos clang -isysroot $(IOS_SYSROOT) -arch a $(IOSSIM_TARGETS): IOSSIM_SYSROOT := $(shell xcrun --sdk iphonesimulator --show-sdk-path) $(IOSSIM_TARGETS): CC = xcrun --sdk iphonesimulator clang -isysroot $(IOSSIM_SYSROOT) -arch x86_64 else ifeq ($(UNAME_S),Linux) -$(IOS_TARGETS): CFLAGS += -isysroot deps/ios_toolchain/target/SDKs/iPhoneOS18.2.sdk -arch arm64 -$(IOS_TARGETS): LDFLAGS += -isysroot deps/ios_toolchain/target/SDKs/iPhoneOS18.2.sdk +$(IOS_TARGETS): CFLAGS += -isysroot deps/ios_toolchain/target/SDK/iPhoneOS18.2.sdk -arch arm64 -DTARGET_OS_IPHONE=1 +$(IOS_TARGETS): LDFLAGS += -isysroot deps/ios_toolchain/target/SDK/iPhoneOS18.2.sdk $(IOS_TARGETS): CC = PATH=$$PATH:deps/ios_toolchain/target/bin deps/ios_toolchain/target/bin/arm-apple-darwin11-clang endif $(ANDROID_X86_64_TARGETS): ANDROID_NDK_TARGET_TRIPLE := x86_64-linux-android diff --git a/src/ssb.tests.c b/src/ssb.tests.c index e0da8c62..9b99be41 100644 --- a/src/ssb.tests.c +++ b/src/ssb.tests.c @@ -18,6 +18,10 @@ #include "sodium/crypto_sign.h" +#if defined(__APPLE__) +#include +#endif + #if !defined(_WIN32) #include #endif diff --git a/src/task.c b/src/task.c index 03d78790..79813a2b 100644 --- a/src/task.c +++ b/src/task.c @@ -40,6 +40,10 @@ #define WEXITSTATUS(x) (x) #endif +#if defined(__APPLE__) +#include +#endif + #if !defined(__APPLE__) && !defined(__OpenBSD__) #include #endif @@ -726,7 +730,6 @@ static JSValue _tf_task_platform(JSContext* context, JSValueConst this_val, int #elif defined(__ANDROID__) return JS_NewString(context, "android"); #elif defined(__APPLE__) -#include #if TARGET_OS_IPHONE return JS_NewString(context, "iphone"); #else