From 088ae19e6ee257c65d5ebcf7877158b802cb33f8 Mon Sep 17 00:00:00 2001 From: Shawn Carey Date: Wed, 28 Jan 2026 09:39:14 -0500 Subject: [PATCH 1/6] enable building just for active arch, without simulators --- build_all.sh | 33 ++++++++++++++++++++++++++++----- make_dist.sh | 4 ++++ 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/build_all.sh b/build_all.sh index 49836a57..7c37ba8d 100755 --- a/build_all.sh +++ b/build_all.sh @@ -15,6 +15,8 @@ C_SDK_ROOT="${PROJECT_ROOT}/deps/ziti-tunnel-sdk-c" : ${CONFIGURATION:="Release"} # make for iOS, macOS, or All : ${FOR:="All"} +# make for simulators +: ${SIMS:="Yes"} function build_tsdk { name=$1 @@ -23,20 +25,26 @@ function build_tsdk { echo "Building TSDK for ${name}; toolchain:${toolchain}" rm -rf ./deps/ziti-tunnel-sdk-c/${name} + local for_mac="" + if echo "${name}" | grep -q "macosx"; then for_mac=y; fi + cmake_build_type=RelWithDebInfo if [ "${CONFIGURATION}" == "Debug" ]; then cmake_build_type="Debug"; fi - if [ -n "${ASAN_ENABLED}" -a "${FOR}" = "macOS" ]; then + local clang_asan_flags="" + if [ -n "${ASAN_ENABLED}" -a -n "${for_mac}" ]; then clang_asan_flags="-DCMAKE_C_FLAGS=-fsanitize=address -DCMAKE_CXX_FLAGS=-fsanitize=address" fi cmake -DCMAKE_BUILD_TYPE=${cmake_build_type} \ ${clang_asan_flags} \ -DTLSUV_TLSLIB=openssl \ + -Dtlsuv_VERSION=debug-eof-spin \ -DVCPKG_INSTALL_OPTIONS="--overlay-ports=./deps/vcpkg-overlays/json-c" \ -DEXCLUDE_PROGRAMS=ON \ -DZITI_TUNNEL_BUILD_TESTS=OFF \ -DCMAKE_TOOLCHAIN_FILE="${toolchain}" \ + -DCMAKE_INSTALL_PREFIX=./deps/ziti-tunnel-sdk-c/${name}/cmake_installed \ -S ./deps/ziti-tunnel-sdk-c -B ./deps/ziti-tunnel-sdk-c/${name} if [ $? -ne 0 ] ; then @@ -89,23 +97,38 @@ fi toolchain_dir="../../toolchains" if [ "${FOR}" = "All" ] || [ "${FOR}" = "iOS" ] ; then build_tsdk 'build-iphoneos-arm64' "${toolchain_dir}/iOS-arm64.cmake" +fi + +if [ "${SIMS}" = "Yes" ] && [ "${FOR}" = "All" ] || [ "${FOR}" = "iOS" ] ; then build_tsdk 'build-iphonesimulator-x86_64' "${toolchain_dir}/iOS-Simulator-x86_64.cmake" build_tsdk 'build-iphonesimulator-arm64' "${toolchain_dir}/iOS-Simulator-arm64.cmake" fi if [ "${FOR}" = "All" ] || [ "${FOR}" = "macOS" ] ; then - build_tsdk 'build-macosx-arm64' "${toolchain_dir}/macOS-arm64.cmake" - build_tsdk 'build-macosx-x86_64' "${toolchain_dir}/macOS-x86_64.cmake" + if [ "${ONLY_ACTIVE_ARCH}" = "YES" ]; then + active_arch=$(arch) + build_tsdk "build-macosx-${active_arch}" "${toolchain_dir}/macOS-${active_arch}.cmake" + else + build_tsdk 'build-macosx-arm64' "${toolchain_dir}/macOS-arm64.cmake" + build_tsdk 'build-macosx-x86_64' "${toolchain_dir}/macOS-x86_64.cmake" + fi fi - if [ "${FOR}" = "All" ] || [ "${FOR}" = "iOS" ] ; then build_cziti 'CZiti-iOS' 'iphoneos' '-arch arm64' +fi + +if [ "${SIMS}" = "Yes" ] && [ "${FOR}" = "All" ] || [ "${FOR}" = "iOS" ] ; then build_cziti 'CZiti-iOS' 'iphonesimulator' '-arch x86_64 -arch arm64 ONLY_ACTIVE_ARCH=NO' fi if [ "${FOR}" = "All" ] || [ "${FOR}" = "macOS" ] ; then - build_cziti 'CZiti-macOS' 'macosx' '-arch x86_64 -arch arm64 ONLY_ACTIVE_ARCH=NO' + if [ "${ONLY_ACTIVE_ARCH}" = "YES" ]; then + active_arch=$(arch) + build_cziti 'CZiti-macOS' 'macosx' "-arch ${active_arch} ONLY_ACTIVE_ARCH=YES" + else + build_cziti 'CZiti-macOS' 'macosx' '-arch x86_64 -arch arm64 ONLY_ACTIVE_ARCH=NO' + fi fi /bin/sh ${PROJECT_ROOT}/make_dist.sh diff --git a/make_dist.sh b/make_dist.sh index 4d74a919..e59a94ba 100755 --- a/make_dist.sh +++ b/make_dist.sh @@ -12,6 +12,8 @@ SWIFTMODULE_NAME="CZiti.swiftmodule" # make for iOS, macOS, or All : ${FOR:="All"} +# make for simulators +: ${SIMS:="Yes"} function edit_interfaces { module_dir="$1" @@ -37,6 +39,8 @@ xcframework_args="" if [ "${FOR}" = "All" ] || [ "${FOR}" = "iOS" ] ; then xcframework_args+=" -library ${BUILD_DIR}/${CONFIGURATION}-iphoneos/${LIB_NAME}" xcframework_args+=" -headers ${DERIVED_BUILD_DIR}/${CONFIGURATION}-iphoneos/CZiti-iOS.build/DerivedSources" +fi +if [ "${SIMS}" = "Yes" ] && [ "${FOR}" = "All" ] || [ "${FOR}" = "iOS" ] ; then xcframework_args+=" -library ${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${LIB_NAME}" xcframework_args+=" -headers ${DERIVED_BUILD_DIR}/${CONFIGURATION}-iphonesimulator/CZiti-iOS.build/DerivedSources" fi From 9c8327658ca0e779cc5898c896d8be58aa756c18 Mon Sep 17 00:00:00 2001 From: Shawn Carey Date: Thu, 29 Jan 2026 11:26:06 -0500 Subject: [PATCH 2/6] comment cmake install for now --- build_all.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/build_all.sh b/build_all.sh index 7c37ba8d..69400392 100755 --- a/build_all.sh +++ b/build_all.sh @@ -57,6 +57,15 @@ function build_tsdk { echo "Unable to cmake build ${name}" exit 1 fi + + # installing would let us clean up the lib/include paths in the xcode project + # in theory, but at the moment the install targets in the cmake files are not + # quite accurate. + #cmake --install ./deps/ziti-tunnel-sdk-c/${name} + #if [ $? -ne 0 ] ; then + # echo "Unable to cmake install ${name}" + # exit 1 + #fi } if ! command -v xcpretty > /dev/null; then From 677294691d17ce7ef56ba90c0f9e6cbb42ab21cc Mon Sep 17 00:00:00 2001 From: Shawn Carey Date: Thu, 29 Jan 2026 11:28:32 -0500 Subject: [PATCH 3/6] add include path for generated files --- CZiti.xcodeproj/project.pbxproj | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CZiti.xcodeproj/project.pbxproj b/CZiti.xcodeproj/project.pbxproj index aa61e076..9da7bedf 100644 --- a/CZiti.xcodeproj/project.pbxproj +++ b/CZiti.xcodeproj/project.pbxproj @@ -1057,6 +1057,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( "$(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/tlsuv-src/include", + "$(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/tlsuv-build/generated", "$(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/tlsuv-src/deps/uv_link_t/include", "$(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/ziti-sdk-c-src/includes", "$(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/vcpkg_installed/$(VCPKG_ARCH)-$(VCPKG_OS)/include", @@ -1076,7 +1077,7 @@ ); ONLY_ACTIVE_ARCH = YES; OTHER_SWIFT_FLAGS = ""; - SWIFT_INCLUDE_PATHS = "$(SRCROOT)/lib/ProjectModule $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/tlsuv-src/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/tlsuv-src/deps/uv_link_t/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/ziti-sdk-c-src/includes $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/vcpkg_installed/$(VCPKG_ARCH)-$(VCPKG_OS)/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/lib/ziti-tunnel/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/lib/ziti-tunnel-cbs/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/lib/ziti-tunnel/lwip $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/lwip-src/src/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/lwip-contrib-src/ports/unix/port/include"; + SWIFT_INCLUDE_PATHS = "$(SRCROOT)/lib/ProjectModule $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/tlsuv-src/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/tlsuv-build/generated $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/tlsuv-src/deps/uv_link_t/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/ziti-sdk-c-src/includes $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/vcpkg_installed/$(VCPKG_ARCH)-$(VCPKG_OS)/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/lib/ziti-tunnel/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/lib/ziti-tunnel-cbs/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/lib/ziti-tunnel/lwip $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/lwip-src/src/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/lwip-contrib-src/ports/unix/port/include"; SWIFT_OBJC_BRIDGING_HEADER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; @@ -1116,6 +1117,7 @@ GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( "$(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/tlsuv-src/include", + "$(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/tlsuv-build/generated", "$(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/tlsuv-src/deps/uv_link_t/include", "$(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/ziti-sdk-c-src/includes", "$(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/vcpkg_installed/$(VCPKG_ARCH)-$(VCPKG_OS)/include", @@ -1135,7 +1137,7 @@ ); OTHER_SWIFT_FLAGS = ""; SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_INCLUDE_PATHS = "$(SRCROOT)/lib/ProjectModule $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/tlsuv-src/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/tlsuv-src/deps/uv_link_t/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/ziti-sdk-c-src/includes $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/vcpkg_installed/$(VCPKG_ARCH)-$(VCPKG_OS)/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/lib/ziti-tunnel/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/lib/ziti-tunnel-cbs/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/lib/ziti-tunnel/lwip $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/lwip-src/src/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/lwip-contrib-src/ports/unix/port/include"; + SWIFT_INCLUDE_PATHS = "$(SRCROOT)/lib/ProjectModule $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/tlsuv-src/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/tlsuv-build/generated $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/tlsuv-src/deps/uv_link_t/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/ziti-sdk-c-src/includes $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/vcpkg_installed/$(VCPKG_ARCH)-$(VCPKG_OS)/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/lib/ziti-tunnel/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/lib/ziti-tunnel-cbs/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/lib/ziti-tunnel/lwip $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/lwip-src/src/include $(PROJECT_DIR)/deps/ziti-tunnel-sdk-c/build-$(PLATFORM_NAME)-$(CURRENT_ARCH)/_deps/lwip-contrib-src/ports/unix/port/include"; SWIFT_OBJC_BRIDGING_HEADER = ""; }; name = Release; From bbd66ea5b1f22f2cc427b52661fc5f9c3b9bd8d8 Mon Sep 17 00:00:00 2001 From: Shawn Carey Date: Thu, 29 Jan 2026 12:11:56 -0500 Subject: [PATCH 4/6] remove tlsuv_VERSION override --- build_all.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/build_all.sh b/build_all.sh index 69400392..3ef9351d 100755 --- a/build_all.sh +++ b/build_all.sh @@ -39,7 +39,6 @@ function build_tsdk { cmake -DCMAKE_BUILD_TYPE=${cmake_build_type} \ ${clang_asan_flags} \ -DTLSUV_TLSLIB=openssl \ - -Dtlsuv_VERSION=debug-eof-spin \ -DVCPKG_INSTALL_OPTIONS="--overlay-ports=./deps/vcpkg-overlays/json-c" \ -DEXCLUDE_PROGRAMS=ON \ -DZITI_TUNNEL_BUILD_TESTS=OFF \ From 4324febd934cf3d57566ddfa3989bebeb68c9925 Mon Sep 17 00:00:00 2001 From: Shawn Carey Date: Thu, 29 Jan 2026 12:12:40 -0500 Subject: [PATCH 5/6] remove TLSUV_HTTP definitions --- CZiti.xcodeproj/project.pbxproj | 2 -- 1 file changed, 2 deletions(-) diff --git a/CZiti.xcodeproj/project.pbxproj b/CZiti.xcodeproj/project.pbxproj index 9da7bedf..c7f099d4 100644 --- a/CZiti.xcodeproj/project.pbxproj +++ b/CZiti.xcodeproj/project.pbxproj @@ -1048,7 +1048,6 @@ ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; GCC_NO_COMMON_BLOCKS = YES; - "GCC_PREPROCESSOR_DEFINITIONS[arch=*]" = TLSUV_HTTP; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNDECLARED_SELECTOR = YES; @@ -1108,7 +1107,6 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - "GCC_PREPROCESSOR_DEFINITIONS[arch=*]" = TLSUV_HTTP; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNDECLARED_SELECTOR = YES; From a30e44d19d0f7f9e3e959b7f06dfdc33a0c9382e Mon Sep 17 00:00:00 2001 From: Shawn Carey Date: Fri, 30 Jan 2026 13:51:39 -0500 Subject: [PATCH 6/6] update ziti-tunnel-sdk-c@v1.10.9 --- deps/ziti-tunnel-sdk-c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/ziti-tunnel-sdk-c b/deps/ziti-tunnel-sdk-c index 3a96216b..3fdfaad3 160000 --- a/deps/ziti-tunnel-sdk-c +++ b/deps/ziti-tunnel-sdk-c @@ -1 +1 @@ -Subproject commit 3a96216b6235da972cc0996355d140d86dee1dbf +Subproject commit 3fdfaad35773f28614ab1a5144c214a013d93464