%YAML 1.2 --- | // swift-tools-version:5.5 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription import Foundation let basePath = "third_party/boringssl-with-bazel" let privacyInfoPath = "../../src/objective-c/PrivacyInfo.xcprivacy" let testPath = "test/boringssl_spm_build" let package = Package( name: "BoringSSL-GRPC", products: [ .library( name: "openssl_grpc", targets: ["openssl_grpc"] ) ], targets: [ .target( name: "openssl_grpc", path: basePath, exclude: [ ], <% def remove_prefix(s, prefix): return s[len(prefix):] if s.startswith(prefix) else s files = [] lib_maps = {lib.name: lib for lib in libs} for dep in swift_boringssl_package.get('deps', []): lib = lib_maps[dep] files.extend(lib.src) files = sorted(set({remove_prefix(file, "third_party/boringssl-with-bazel/"): file for file in files})) %> sources: [ % for file in files: "${file}", % endfor ], resources: [ .copy(privacyInfoPath), ], publicHeadersPath: "src/include", cSettings: [ .define("OPENSSL_NO_ASM", to: "1"), .headerSearchPath("./"), .headerSearchPath("include/"), ] ), .testTarget( name: "build-test", dependencies: [ "openssl_grpc", ], path: testPath ), ], cxxLanguageStandard: .cxx14 )