rama 0.3.0

modular service framework
Documentation
// swift-tools-version: 5.9

import PackageDescription

let package = Package(
    name: "RamaAppleNetworkExtension",
    platforms: [
        .macOS(.v12)
    ],
    products: [
        .library(
            name: "RamaAppleNetworkExtension",
            targets: ["RamaAppleNetworkExtension"]
        ),
        .library(
            name: "RamaAppleSecureEnclave",
            targets: ["RamaAppleSecureEnclave"]
        ),
        .library(
            name: "RamaAppleXpcClient",
            targets: ["RamaAppleXpcClient"]
        ),
    ],
    targets: [
        .target(
            name: "RamaAppleNEFFI",
            path: "ffi/apple/RamaAppleNetworkExtension/Sources/RamaAppleNEFFI",
            linkerSettings: [
                .linkedLibrary("bsm"),
                .linkedLibrary("proc"),
            ]
        ),
        .target(
            name: "RamaAppleNetworkExtension",
            dependencies: ["RamaAppleNEFFI"],
            path: "ffi/apple/RamaAppleNetworkExtension/Sources/RamaAppleNetworkExtension"
        ),
        .target(
            name: "RamaAppleSEFFI",
            path: "ffi/apple/RamaAppleSecureEnclave/Sources/RamaAppleSEFFI"
        ),
        .target(
            name: "RamaAppleSecureEnclave",
            dependencies: ["RamaAppleSEFFI"],
            path: "ffi/apple/RamaAppleSecureEnclave/Sources/RamaAppleSecureEnclave"
        ),
        .target(
            name: "RamaAppleXpcClient",
            path: "ffi/apple/RamaAppleXpcClient/Sources/RamaAppleXpcClient"
        ),
        // Swift FFI integration tests. Drive them via `just ttest-e2e-ffi-swift`
        // so the rama staticlib path stays in one place. CI uses the same recipes.
        .testTarget(
            name: "RamaAppleNetworkExtensionTests",
            dependencies: [
                "RamaAppleNetworkExtension",
                "RamaAppleSecureEnclave",
                "RamaAppleNEFFI",
                "RamaAppleSEFFI",
            ],
            path: "ffi/apple/RamaAppleNetworkExtension/Tests/RamaAppleNetworkExtensionTests"
        ),
    ]
)