http_link_flags grepped the IR for "@hs_", which every program's header declares, so `ludic build` linked the HTTP transport and Foundation into everything - invisible on macOS, a failed link on Linux, where it broke four CI cases (ludic run, the installed layout, ludic new, the seed build through `ludic build`). It now looks for a call to hs_send: examples/library/http.ludic has one, snake.ludic (which still declares ten @hs_ names) has none. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
424 B
424 B
bump: patch
type: fix
ludic build links http.ll only into a program that uses Http.*.
The check that added it grepped the IR for @hs_, which every program's header declares,
so the HTTP transport and Foundation were linked into everything. That cost nothing visible
on macOS and failed the link on Linux, where ludic build, ludic run and a new project all
broke in CI. It now looks for a call to hs_send.