POSIX conditional compilation:

* All features related to POSIX environments (env vars, shell stuff) gated by feature flags
* Dependencies optional per feature flags
* new CI target for non-POSIX build
* new CI target for release binary artifact

Signed-off-by: Ava Hahn [ava@sunnypup.io](mailto:ava@sunnypup.io)
This commit is contained in:
Ava Apples Affine 2023-05-26 06:41:18 +00:00
parent 5e15109b0c
commit 906cb16355
13 changed files with 330 additions and 319 deletions

View file

@ -10,11 +10,15 @@ dirs = "3.0"
# these two are used in src/bin/relish.rs to manage a prompt
nu-ansi-term = "0.47.0"
reedline = "0.17.0"
# used by main shell to update console dimensions
termion = "2.0.1"
# these two used in posix shell layer (src/stl/posix.rs)
nix = "0.26.2"
nix = { version = "0.26.2", optional = true }
libc = { version = "0.2.144", optional = true }
# this one provides a global constant lookup table for simple
# string escaping in the lexer
phf = { version = "0.11", default-features = false, features = ["macros"] }
libc = "0.2.144"
# used by main shell to update consol dimensions
termion = "2.0.1"
[features]
default = ["posix"]
posix = ["dep:nix", "dep:libc"]