diff --git a/utils/build_swift/build_swift/driver_arguments.py b/utils/build_swift/build_swift/driver_arguments.py index d659c4284d84b..36d64da196cd2 100644 --- a/utils/build_swift/build_swift/driver_arguments.py +++ b/utils/build_swift/build_swift/driver_arguments.py @@ -417,7 +417,7 @@ def create_argument_parser(): 'fuzzing swiftc') option('--compiler-vendor', store, - choices=['none', 'apple'], + choices=['none', 'apple', 'swiftwasm'], default=defaults.COMPILER_VENDOR, help='Compiler vendor name') option('--clang-compiler-version', store, diff --git a/utils/swift_build_support/swift_build_support/products/llvm.py b/utils/swift_build_support/swift_build_support/products/llvm.py index 1bc27bc89e38a..73d603e4d6638 100644 --- a/utils/swift_build_support/swift_build_support/products/llvm.py +++ b/utils/swift_build_support/swift_build_support/products/llvm.py @@ -48,6 +48,13 @@ def _compiler_vendor_flags(self): if self.args.compiler_vendor == "none": return [] + if self.args.compiler_vendor == "swiftwasm": + return [ + ('CLANG_VENDOR', 'SwiftWasm'), + ('CLANG_VENDOR_UTI', 'org.swiftwasm.compilers.llvm.clang'), + ('PACKAGE_VERSION', str(self.args.clang_user_visible_version)) + ] + if self.args.compiler_vendor != "apple": raise RuntimeError("Unknown compiler vendor?!") diff --git a/utils/swift_build_support/swift_build_support/products/swift.py b/utils/swift_build_support/swift_build_support/products/swift.py index 1e4b4feb2df9b..36e642d9b1d86 100644 --- a/utils/swift_build_support/swift_build_support/products/swift.py +++ b/utils/swift_build_support/swift_build_support/products/swift.py @@ -74,14 +74,22 @@ def _compiler_vendor_flags(self): if self.args.compiler_vendor == "none": return [] - if self.args.compiler_vendor != "apple": - raise RuntimeError("Unknown compiler vendor?! Was build-script \ -updated without updating swift.py?") - swift_compiler_version = "" if self.args.swift_compiler_version is not None: swift_compiler_version = self.args.swift_compiler_version + if self.args.compiler_vendor == "swiftwasm": + return [ + ('SWIFT_VENDOR', 'SwiftWasm'), + ('SWIFT_VENDOR_UTI', 'org.swiftwasm.compilers.llvm.swift'), + ('SWIFT_VERSION', str(self.args.swift_user_visible_version)), + ('SWIFT_COMPILER_VERSION', str(swift_compiler_version)), + ] + + if self.args.compiler_vendor != "apple": + raise RuntimeError("Unknown compiler vendor?! Was build-script \ +updated without updating swift.py?") + return [ ('SWIFT_VENDOR', 'Apple'), ('SWIFT_VENDOR_UTI', 'com.apple.compilers.llvm.swift'), diff --git a/utils/webassembly/build-presets.ini b/utils/webassembly/build-presets.ini index 8fca4eac9df05..f0861b4589844 100644 --- a/utils/webassembly/build-presets.ini +++ b/utils/webassembly/build-presets.ini @@ -8,6 +8,7 @@ cmake-cxx-launcher=%(C_CXX_LAUNCHER)s skip-build-benchmarks llvm-targets-to-build=X86;AArch64;WebAssembly swift-darwin-supported-archs=x86_64 +compiler-vendor=swiftwasm [preset: webassembly-install]