1*cc02d7e2SAndroid Build Coastguard Worker%YAML 1.2 2*cc02d7e2SAndroid Build Coastguard Worker--- | 3*cc02d7e2SAndroid Build Coastguard Worker // swift-tools-version:5.5 4*cc02d7e2SAndroid Build Coastguard Worker // The swift-tools-version declares the minimum version of Swift required to build this package. 5*cc02d7e2SAndroid Build Coastguard Worker import PackageDescription 6*cc02d7e2SAndroid Build Coastguard Worker import Foundation 7*cc02d7e2SAndroid Build Coastguard Worker 8*cc02d7e2SAndroid Build Coastguard Worker var basePath = FileManager.default.fileExists(atPath: "native") ? "native" : "." 9*cc02d7e2SAndroid Build Coastguard Worker 10*cc02d7e2SAndroid Build Coastguard Worker let package = Package( 11*cc02d7e2SAndroid Build Coastguard Worker name: "gRPC", 12*cc02d7e2SAndroid Build Coastguard Worker products: [ 13*cc02d7e2SAndroid Build Coastguard Worker .library( 14*cc02d7e2SAndroid Build Coastguard Worker name: "gRPC-Core", 15*cc02d7e2SAndroid Build Coastguard Worker targets: [ 16*cc02d7e2SAndroid Build Coastguard Worker "gRPC-Core", 17*cc02d7e2SAndroid Build Coastguard Worker ] 18*cc02d7e2SAndroid Build Coastguard Worker ), 19*cc02d7e2SAndroid Build Coastguard Worker .library( 20*cc02d7e2SAndroid Build Coastguard Worker name: "gRPC-cpp", 21*cc02d7e2SAndroid Build Coastguard Worker targets: [ 22*cc02d7e2SAndroid Build Coastguard Worker "gRPC-cpp", 23*cc02d7e2SAndroid Build Coastguard Worker ] 24*cc02d7e2SAndroid Build Coastguard Worker ) 25*cc02d7e2SAndroid Build Coastguard Worker ], 26*cc02d7e2SAndroid Build Coastguard Worker 27*cc02d7e2SAndroid Build Coastguard Worker dependencies: [ 28*cc02d7e2SAndroid Build Coastguard Worker .package(url: "https://github.com/firebase/abseil-cpp-SwiftPM.git", "0.20230802.0"..<"0.20230803.0"), 29*cc02d7e2SAndroid Build Coastguard Worker .package(url: "https://github.com/firebase/boringssl-SwiftPM.git", "0.9.0"..<"0.10.0"), 30*cc02d7e2SAndroid Build Coastguard Worker ], 31*cc02d7e2SAndroid Build Coastguard Worker 32*cc02d7e2SAndroid Build Coastguard Worker targets: [ 33*cc02d7e2SAndroid Build Coastguard Worker .target( 34*cc02d7e2SAndroid Build Coastguard Worker name: "gRPC-Core", 35*cc02d7e2SAndroid Build Coastguard Worker dependencies: [ 36*cc02d7e2SAndroid Build Coastguard Worker .product(name:"abseil", package: "abseil-cpp-SwiftPM"), 37*cc02d7e2SAndroid Build Coastguard Worker .product(name:"openssl_grpc", package: "boringssl-SwiftPM"), 38*cc02d7e2SAndroid Build Coastguard Worker ], 39*cc02d7e2SAndroid Build Coastguard Worker path: basePath, 40*cc02d7e2SAndroid Build Coastguard Worker exclude: [ 41*cc02d7e2SAndroid Build Coastguard Worker "examples/", 42*cc02d7e2SAndroid Build Coastguard Worker "src/objective-c/", 43*cc02d7e2SAndroid Build Coastguard Worker ], 44*cc02d7e2SAndroid Build Coastguard Worker <% 45*cc02d7e2SAndroid Build Coastguard Worker files = [] 46*cc02d7e2SAndroid Build Coastguard Worker lib_maps = {lib.name: lib for lib in libs} 47*cc02d7e2SAndroid Build Coastguard Worker for dep in swift_package.get('deps', []): 48*cc02d7e2SAndroid Build Coastguard Worker lib = lib_maps[dep] 49*cc02d7e2SAndroid Build Coastguard Worker files.extend(lib.get('public_headers', []) + lib.headers + lib.src) 50*cc02d7e2SAndroid Build Coastguard Worker files = sorted(set(files)) 51*cc02d7e2SAndroid Build Coastguard Worker %> 52*cc02d7e2SAndroid Build Coastguard Worker sources: [ 53*cc02d7e2SAndroid Build Coastguard Worker % for file in files: 54*cc02d7e2SAndroid Build Coastguard Worker "${file}", 55*cc02d7e2SAndroid Build Coastguard Worker % endfor 56*cc02d7e2SAndroid Build Coastguard Worker ], 57*cc02d7e2SAndroid Build Coastguard Worker resources: [ 58*cc02d7e2SAndroid Build Coastguard Worker .copy("src/objective-c/PrivacyInfo.xcprivacy"), 59*cc02d7e2SAndroid Build Coastguard Worker ], 60*cc02d7e2SAndroid Build Coastguard Worker publicHeadersPath: "spm-core-include", 61*cc02d7e2SAndroid Build Coastguard Worker cSettings: [ 62*cc02d7e2SAndroid Build Coastguard Worker .headerSearchPath("./"), 63*cc02d7e2SAndroid Build Coastguard Worker .headerSearchPath("include/"), 64*cc02d7e2SAndroid Build Coastguard Worker .headerSearchPath("third_party/re2/"), 65*cc02d7e2SAndroid Build Coastguard Worker .headerSearchPath("third_party/upb/"), 66*cc02d7e2SAndroid Build Coastguard Worker .headerSearchPath("third_party/utf8_range/"), 67*cc02d7e2SAndroid Build Coastguard Worker .headerSearchPath("third_party/xxhash/"), 68*cc02d7e2SAndroid Build Coastguard Worker .headerSearchPath("src/core/ext/upb-gen/"), 69*cc02d7e2SAndroid Build Coastguard Worker .headerSearchPath("src/core/ext/upbdefs-gen/"), 70*cc02d7e2SAndroid Build Coastguard Worker .define("GRPC_ARES", to: "0"), 71*cc02d7e2SAndroid Build Coastguard Worker ], 72*cc02d7e2SAndroid Build Coastguard Worker linkerSettings: [ 73*cc02d7e2SAndroid Build Coastguard Worker .linkedFramework("CoreFoundation"), 74*cc02d7e2SAndroid Build Coastguard Worker .linkedLibrary("z"), 75*cc02d7e2SAndroid Build Coastguard Worker ] 76*cc02d7e2SAndroid Build Coastguard Worker ), 77*cc02d7e2SAndroid Build Coastguard Worker .target( 78*cc02d7e2SAndroid Build Coastguard Worker name: "gRPC-cpp", 79*cc02d7e2SAndroid Build Coastguard Worker dependencies: [ 80*cc02d7e2SAndroid Build Coastguard Worker .product(name:"abseil", package: "abseil-cpp-SwiftPM"), 81*cc02d7e2SAndroid Build Coastguard Worker "gRPC-Core", 82*cc02d7e2SAndroid Build Coastguard Worker ], 83*cc02d7e2SAndroid Build Coastguard Worker path: basePath, 84*cc02d7e2SAndroid Build Coastguard Worker exclude: [ 85*cc02d7e2SAndroid Build Coastguard Worker "examples/", 86*cc02d7e2SAndroid Build Coastguard Worker "src/cpp/client/cronet_credentials.cc", 87*cc02d7e2SAndroid Build Coastguard Worker "src/cpp/client/channel_test_peer.cc", 88*cc02d7e2SAndroid Build Coastguard Worker "src/cpp/common/alts_util.cc", 89*cc02d7e2SAndroid Build Coastguard Worker "src/cpp/common/alts_context.cc", 90*cc02d7e2SAndroid Build Coastguard Worker "src/cpp/common/insecure_create_auth_context.cc", 91*cc02d7e2SAndroid Build Coastguard Worker "src/cpp/server/admin/", 92*cc02d7e2SAndroid Build Coastguard Worker "src/cpp/server/channelz/", 93*cc02d7e2SAndroid Build Coastguard Worker "src/cpp/server/csds/", 94*cc02d7e2SAndroid Build Coastguard Worker "src/cpp/server/load_reporter/", 95*cc02d7e2SAndroid Build Coastguard Worker "src/cpp/ext/", 96*cc02d7e2SAndroid Build Coastguard Worker "src/cpp/util/core_stats.cc", 97*cc02d7e2SAndroid Build Coastguard Worker "src/cpp/util/core_stats.h", 98*cc02d7e2SAndroid Build Coastguard Worker "src/cpp/util/error_details.cc", 99*cc02d7e2SAndroid Build Coastguard Worker "src/objective-c/examples/", 100*cc02d7e2SAndroid Build Coastguard Worker "src/objective-c/manual_tests/", 101*cc02d7e2SAndroid Build Coastguard Worker "src/objective-c/tests/", 102*cc02d7e2SAndroid Build Coastguard Worker ], 103*cc02d7e2SAndroid Build Coastguard Worker sources: [ 104*cc02d7e2SAndroid Build Coastguard Worker "src/cpp/", 105*cc02d7e2SAndroid Build Coastguard Worker ], 106*cc02d7e2SAndroid Build Coastguard Worker resources: [ 107*cc02d7e2SAndroid Build Coastguard Worker .copy("src/objective-c/PrivacyInfo.xcprivacy"), 108*cc02d7e2SAndroid Build Coastguard Worker ], 109*cc02d7e2SAndroid Build Coastguard Worker publicHeadersPath: "spm-cpp-include", 110*cc02d7e2SAndroid Build Coastguard Worker cSettings: [ 111*cc02d7e2SAndroid Build Coastguard Worker .headerSearchPath("./"), 112*cc02d7e2SAndroid Build Coastguard Worker .headerSearchPath("include/"), 113*cc02d7e2SAndroid Build Coastguard Worker .headerSearchPath("third_party/upb/"), 114*cc02d7e2SAndroid Build Coastguard Worker .headerSearchPath("src/core/ext/upb-gen"), 115*cc02d7e2SAndroid Build Coastguard Worker ] 116*cc02d7e2SAndroid Build Coastguard Worker ), 117*cc02d7e2SAndroid Build Coastguard Worker .testTarget( 118*cc02d7e2SAndroid Build Coastguard Worker name: "build-test", 119*cc02d7e2SAndroid Build Coastguard Worker dependencies: [ 120*cc02d7e2SAndroid Build Coastguard Worker "gRPC-cpp", 121*cc02d7e2SAndroid Build Coastguard Worker ], 122*cc02d7e2SAndroid Build Coastguard Worker path: basePath + "/test/spm_build" 123*cc02d7e2SAndroid Build Coastguard Worker ), 124*cc02d7e2SAndroid Build Coastguard Worker ], 125*cc02d7e2SAndroid Build Coastguard Worker cLanguageStandard: .gnu11, 126*cc02d7e2SAndroid Build Coastguard Worker cxxLanguageStandard: .cxx14 127*cc02d7e2SAndroid Build Coastguard Worker ) 128