@zackees/soldr 0.8.18 → 0.8.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -240,6 +240,38 @@ files touched. What you get over `build-backend = "maturin"`:
|
|
|
240
240
|
- **Compilation caching** — rustc invocations run under soldr's
|
|
241
241
|
`RUSTC_WRAPPER`, so repeat builds hit the cache.
|
|
242
242
|
|
|
243
|
+
Local PEP 517 builds use a lightweight `dev` profile by default: line-table
|
|
244
|
+
debug information, no LTO, and incremental compilation. Explicit maturin/Cargo
|
|
245
|
+
profiles and `SOLDR_PEP517_PROFILE` remain authoritative; release pipelines
|
|
246
|
+
should select their release profile explicitly.
|
|
247
|
+
|
|
248
|
+
Projects whose packaging backend is not maturin can use soldr as a managed
|
|
249
|
+
wrapper by selecting a delegate in `pyproject.toml`:
|
|
250
|
+
|
|
251
|
+
```toml
|
|
252
|
+
[build-system]
|
|
253
|
+
requires = ["soldr", "setuptools>=64"]
|
|
254
|
+
build-backend = "soldr"
|
|
255
|
+
|
|
256
|
+
[tool.soldr.pep517]
|
|
257
|
+
delegate-backend = "setuptools.build_meta"
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
The delegate receives the normal PEP 517/660 hooks and return values while
|
|
261
|
+
soldr supplies its target, profile, linker, and cache environment. This is
|
|
262
|
+
intended for projects with custom staging such as native CLI scripts plus a
|
|
263
|
+
PyO3 extension. Maturin remains the default when no delegate is configured.
|
|
264
|
+
The same explicit profile settings work for delegates as for maturin; for
|
|
265
|
+
example, `pip install . --config-settings profile=release` selects the
|
|
266
|
+
release profile, while an ordinary install uses the fast local `dev` profile.
|
|
267
|
+
|
|
268
|
+
The backend also asks soldr to try its fastest supported linker locally. If
|
|
269
|
+
that linker fails with a linker-availability error, soldr retries once with
|
|
270
|
+
the platform linker and remembers the successful fallback in its cache. An
|
|
271
|
+
equivalent later build uses the fallback immediately and prints a warning.
|
|
272
|
+
Set `SOLDR_PEP517_LINKER=none` to disable this policy. An explicit
|
|
273
|
+
`SOLDR_LINKER=fast` is treated as a deliberate choice: it reports the failure
|
|
274
|
+
without silently downgrading to the system linker.
|
|
243
275
|
Note: soldr's own wheel is built with plain `build-backend = "maturin"`,
|
|
244
276
|
not with itself — using soldr as its own build backend created a
|
|
245
277
|
bootstrap cycle where a broken installed soldr made the fix in this
|