diff --git a/Sources/BuildScripts/XCFrameworkBuild/base.swift b/Sources/BuildScripts/XCFrameworkBuild/base.swift index 6b5f111..dd230df 100644 --- a/Sources/BuildScripts/XCFrameworkBuild/base.swift +++ b/Sources/BuildScripts/XCFrameworkBuild/base.swift @@ -263,7 +263,9 @@ class BaseBuild { "CXX": "/usr/bin/clang++", // "SDKROOT": platform.sdk.lowercased(), "CURRENT_ARCH": arch.rawValue, - "CFLAGS": cFlags, + // gnu17 是当前 Xcode 编这套老代码所需的 C 标准,只能给 C 编译器: + // 灌进 CXXFLAGS 会让 configure 的 C++ preprocessor sanity check 直接失败。 + "CFLAGS": cFlags + " -std=gnu17", // makefile can't use CPPFLAGS "CPPFLAGS": cFlags, // 这个要加,不然cmake在编译maccatalyst 会有问题 @@ -276,6 +278,8 @@ class BaseBuild { func cFlags(platform: PlatformType, arch: ArchType) -> [String] { var cFlags = platform.cFlags(arch: arch) + // CFLAGS 非空但不含 -O 时,autoconf 的默认 `-g -O2` 不生效,整套按 -O0 编译。 + cFlags.append("-O2") let librarys = flagsDependencelibrarys() for library in librarys { let path = URL.currentDirectory + [library.rawValue, platform.rawValue, "thin", arch.rawValue] diff --git a/Sources/BuildScripts/XCFrameworkBuild/main.swift b/Sources/BuildScripts/XCFrameworkBuild/main.swift index 4035db4..1e783c9 100644 --- a/Sources/BuildScripts/XCFrameworkBuild/main.swift +++ b/Sources/BuildScripts/XCFrameworkBuild/main.swift @@ -6,7 +6,8 @@ do { try BuildGmp().buildALL() try BuildNettle().buildALL() - try BuildGnutls().buildALL() + // Conflux 只取这里自建的 gmp / nettle(带硬件 AES);gnutls 本身用上游预编译产物, + // 不必从源码 bootstrap——新版 gettext 的 autopoint 会在这一步直接失败。 } catch { print(error.localizedDescription) exit(1) @@ -114,7 +115,8 @@ private class BuildNettle: BaseBuild { override func arguments(platform: PlatformType, arch: ArchType) -> [String] { [ - "--disable-assembler", + // 上游 c826758e 引入的 --disable-assembler 关掉了 ARM64 汇编,硬件 AES 指令用不上 + // (产物里 0 条 aese),HTTPS 直播流的 AES-GCM 退化成纯软件实现。这里放开。 "--disable-openssl", "--disable-gcov", "--disable-documentation",