# `mix ccxt.build_lighter_signer`
[🔗](https://github.com/ZenHive/bourse/blob/main/lib/mix/tasks/ccxt.build_lighter_signer.ex#L1)

Builds the official Lighter Go C-shared library and its generated header,
then links the isolated Port helper for the current release target.

    mix ccxt.build_lighter_signer

The Go module pins the exact lighter-go revision selected by Task 198.

# `host_target`

```elixir
@spec host_target() :: String.t()
```

Returns the native target identifier for the current host.

# `output_dir`

```elixir
@spec output_dir(String.t()) :: String.t()
```

Returns the runtime output directory for a supported target.

# `source_dir`

```elixir
@spec source_dir() :: String.t()
```

Returns the packaged Lighter signer source directory.

# `target_for`

```elixir
@spec target_for({:unix | :win32, atom()}, String.t(), %{
  optional(String.t()) =&gt; String.t()
}) ::
  String.t()
```

Resolves a release target from an explicit host description.

Windows reports a `:system_architecture` of `"win32"` — the OS, not the CPU —
so on that platform the architecture comes from the environment the Windows
loader populates instead. Taking the host as arguments keeps every branch
reachable from a test on any one machine.

---

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