# `CauldronGPU.Setup.Platform`
[🔗](https://github.com/jaman/cauldron/blob/v0.3.3/cauldron_gpu/lib/cauldron_gpu/setup/platform.ex#L1)

What a platform module of `CauldronGPU.Setup` provides.

  * `c:probe/0`: each thing the build needs, found or not, looked for in the
    platform's usual places
  * `c:install/1`: installs one item: `:ok` when done, `{:wait, text}` when a person
    must finish it (an installer the platform opened), `{:error, text}` otherwise
  * `c:config/1`: the configuration (`CauldronGPU.Setup`) for the items found

# `config`

```elixir
@callback config([CauldronGPU.Setup.item()]) :: map()
```

# `install`

```elixir
@callback install(CauldronGPU.Setup.item()) ::
  :ok | {:wait, String.t()} | {:error, String.t()}
```

# `probe`

```elixir
@callback probe() :: [CauldronGPU.Setup.item()]
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
