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