From 510219cd3076dedc4139ae318acb7f973a5b86ed Mon Sep 17 00:00:00 2001 From: Kyle Date: Sun, 11 May 2025 23:50:23 +0800 Subject: [PATCH] Add -no-verify-emitted-module-interface --- Package.swift | 5 +++-- Scripts/build.sh | 2 +- Scripts/build_swiftinterface.sh | 12 ++++++++++++ 3 files changed, 16 insertions(+), 3 deletions(-) create mode 100755 Scripts/build_swiftinterface.sh diff --git a/Package.swift b/Package.swift index d8ddcae..062f461 100644 --- a/Package.swift +++ b/Package.swift @@ -51,8 +51,9 @@ let libraryEvolutionCondition = envEnable("OPENBOX_LIBRARY_EVOLUTION") #endif if libraryEvolutionCondition { - // NOTE: -enable-library-evolution is not supported on `swift build` yet. - sharedSwiftSettings.append(.unsafeFlags(["-enable-library-evolution"])) + // NOTE: -enable-library-evolution will cause module verify failure for `swift build`. + // Either set OPENGRAPH_LIBRARY_EVOLUTION=0 or add `-Xswiftc -no-verify-emitted-module-interface` after `swift build` + sharedSwiftSettings.append(.unsafeFlags(["-enable-library-evolution", "-no-verify-emitted-module-interface"])) } // MARK: - Targets diff --git a/Scripts/build.sh b/Scripts/build.sh index 4fca29b..a2d6707 100644 --- a/Scripts/build.sh +++ b/Scripts/build.sh @@ -9,4 +9,4 @@ OPENBOX_ROOT="$(dirname $(dirname $(filepath $0)))" cd $OPENBOX_ROOT -OPENBOX_LIBRARY_EVOLUTION=0 swift build +swift build diff --git a/Scripts/build_swiftinterface.sh b/Scripts/build_swiftinterface.sh new file mode 100755 index 0000000..2cb307c --- /dev/null +++ b/Scripts/build_swiftinterface.sh @@ -0,0 +1,12 @@ +#!/bin/zsh + +# A `realpath` alternative using the default C implementation. +filepath() { + [[ $1 = /* ]] && echo "$1" || echo "$PWD/${1#./}" +} + +OPENBOX_ROOT="$(dirname $(dirname $(filepath $0)))" + +cd $OPENBOX_ROOT + +swift build -Xswiftc -emit-module-interface -Xswiftc -enable-library-evolution -Xswiftc -no-verify-emitted-module-interface