3 Commits
Author SHA1 Message Date
Hanzo AI fe8023d73a docs: precompile Makefile — describe pkg-config fallback accurately
The default `go build ./...` does NOT consult pkg-config; accel's
`ops/code/code_cpu.go` hardcodes the standard install prefixes via
`#cgo` directives. pkg-config is only used when the build tag
`lux_gpu_pkgconfig` is set explicitly, and in that mode the build
hard-fails if pkg-config can't resolve `lux-gpu`.
2026-05-21 18:12:18 -07:00
Hanzo AI 867ab049b1 deps: bump accel v1.1.2 → v1.1.4, drop MLX_ROOT, use auto-discovery
accel v1.1.4 auto-discovers the lux-gpu substrate (libluxgpu_hqc.a +
lux/gpu/hqc.h) by probing every standard install prefix via cgo
#cgo CFLAGS/LDFLAGS directives. The build resolves whichever prefix
has the artefacts (pkg-config, /opt/homebrew, /usr/local, /opt/lux,
in-tree mlx/ sibling) without any env var or Makefile wiring.

Makefile:
  - drop the MLX_ROOT requirement
  - default `make build` works with NO env vars set
  - optional LUX_GPU_PREFIX override remains for non-standard installs
  - rename print-env diagnostic to show LUX_GPU_PREFIX

CI:
  - run `cmake --install build` so lux-gpu lands on the standard
    pkg-config path
  - verify discovery via `pkg-config --modversion lux-gpu`
  - drop the manual CGO_CFLAGS / CGO_LDFLAGS export
  - drop MLX_ROOT references everywhere

go.mod:
  - bump luxfi/accel v1.1.2 → v1.1.4
  - remove the local replace directive (development-only, not for
    release)
2026-05-21 17:34:28 -07:00
Hanzo AI 417224bef3 deps: bump accel/crypto/corona/pulsar/magnetar + add Makefile + CI
Deps:
- accel    v1.1.0  → v1.1.2  (MLDSAVerifyBatch mode-aware dispatch)
- crypto   v1.19.3 → v1.19.10 (runtime dispatch Provenance)
- corona   v0.3.1  → v0.4.1  (parallel VerifyBatch; CORONA-* tags)
- pulsar   (none)  → v1.0.12 (TEE-coupling reverted; protocol stays TEE-agnostic)
- magnetar (none)  → v0.4.1  (FIPS 205 threshold)

Makefile: accel v1.1.2 introduced the ops/code package (HQC code-based
KEM) which is a CGO bridge to libluxgpu_hqc.a built by the sibling
mlx repo. The CGO directive `#cgo CFLAGS: -I${SRCDIR}/../../../mlx/
include` resolves against the accel module-cache path which does NOT
have a sibling mlx/ tree. Consumers must set CGO_CFLAGS/CGO_LDFLAGS
explicitly. Makefile centralises that wiring (MLX_ROOT=~/work/lux/mlx
by default) so devs and CI use the same flags.

ci.yml: matches the Makefile contract. CI checks out luxfi/mlx
sibling, builds libluxgpu_hqc.a (CPU only — no GPU device required
on GitHub-hosted runners), then runs `make build test vet` with
MLX_ROOT pointed at the checkout. govulncheck stays non-blocking.

All 41 packages build + test green locally with these flags
(slhdsa 22s longest; rest <8s).
2026-05-21 15:13:15 -07:00