@@ -41,10 +41,9 @@ toolchain needed.
4141
4242The r-universe binaries compile the zarrs backend with local
4343filesystem I/O, synchronous HTTP reads, gzip/zstd/blosc codecs,
44- sharding, and S3/GCS cloud store support via ` object_store ` . The
45- build system enables these features automatically when ` NOT_CRAN ` is
46- set (which r-universe does). To compile with a different feature set,
47- set ` PIZZARR_FEATURES ` explicitly (see below).
44+ sharding, and S3/GCS cloud store support via ` object_store ` . Any build
45+ that compiles Rust enables these features by default. To compile with
46+ a different feature set, set ` PIZZARR_FEATURES ` explicitly (see below).
4847
4948` pizzarr_compiled_features() ` lists what the zarrs backend provides,
5049and ` pizzarr_upgrade() ` prints the install command when zarrs is not
@@ -71,10 +70,10 @@ The build system uses two environment variables to control compilation:
7170 runtime because it skips link-time optimization and does not strip
7271 symbols. Use this during active development on the Rust code.
7372- ** ` PIZZARR_FEATURES ` ** — a comma-separated list of extra Cargo
74- features. When ` NOT_CRAN ` is set and ` PIZZARR_FEATURES ` is empty,
75- the build defaults to ` s3,gcs ` (S3 and GCS cloud store support via
76- ` object_store ` and ` tokio ` ). Set this explicitly to override — e.g.,
77- ` PIZZARR_FEATURES=none ` for default features only, or
73+ features. When unset, the build defaults to ` s3,gcs ` (S3 and GCS
74+ cloud store support via ` object_store ` and ` tokio ` , which also pulls
75+ in blosc and sharding ). Set this explicitly to override — e.g.,
76+ ` PIZZARR_FEATURES=none ` for Cargo's default features only, or
7877 ` PIZZARR_FEATURES=s3 ` for S3 without GCS.
7978
8079A release build (no ` DEBUG ` ) uses LTO, single codegen unit, and symbol
@@ -86,16 +85,15 @@ scratch.
8685DEBUG=1 R CMD INSTALL .
8786
8887# Production: slow first build, fast runtime, S3/GCS included
89- NOT_CRAN=true R CMD INSTALL .
90-
91- # Production with default features only (no cloud stores)
9288R CMD INSTALL .
89+
90+ # Production with Cargo default features only (no cloud stores)
91+ PIZZARR_FEATURES=none R CMD INSTALL .
9392```
9493
95- ` NOT_CRAN ` is set automatically when ` DEBUG ` is present. For builds
96- without vendored crates (the normal case for local development),
97- ` NOT_CRAN ` prevents the build system from attempting offline
98- compilation.
94+ ` NOT_CRAN=true ` opts builds out of the offline-vendored-crates path
95+ used for CRAN; it's set automatically when ` DEBUG ` is present and only
96+ matters when ` src/rust/vendor.tar.xz ` is also present.
9997
10098Development happens on the ` develop ` branch. See
10199[ CONTRIBUTING.md] ( https://github.com/zarr-developers/pizzarr/blob/main/CONTRIBUTING.md )
0 commit comments