mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-23 03:32:27 +08:00
b17124d8d2
This is more complicated than it needs to be thanks to the presence of CMake and the C++ ffi in the picture. rsconf can correctly detect the required libraries and instruct rustc to link against them, but since we generate a static rust library and have CMake link it against the C++ binaries, we are still at the mercy of CMake picking up the symbols we want. Unfortunately, we could detect the gettext symbols but discover at runtime that they weren't linked in because CMake was compiled with `-DWITH_GETTEXT=0` or similar (as the macOS CI runner does). This means we also need to pass state between CMake and our build script to communicate which CMake options were enabled.
72 lines
2.5 KiB
TOML
72 lines
2.5 KiB
TOML
[package]
|
|
name = "fish-rust"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
rust-version = "1.67"
|
|
|
|
[dependencies]
|
|
widestring-suffix = { path = "./widestring-suffix/" }
|
|
pcre2 = { git = "https://github.com/fish-shell/rust-pcre2", branch = "master", default-features = false, features = ["utf32"] }
|
|
fast-float = { git = "https://github.com/fish-shell/fast-float-rust", branch="fish" }
|
|
hexponent = { git = "https://github.com/fish-shell/hexponent", branch="fish" }
|
|
printf-compat = { git = "https://github.com/fish-shell/printf-compat.git", branch="fish" }
|
|
|
|
autocxx = "0.23.1"
|
|
bitflags = "1.3.2"
|
|
cxx = "1.0"
|
|
errno = "0.2.8"
|
|
inventory = { version = "0.3.3", optional = true}
|
|
lazy_static = "1.4.0"
|
|
libc = "0.2.137"
|
|
lru = "0.10.0"
|
|
moveit = "0.5.1"
|
|
nix = { version = "0.25.0", default-features = false, features = [] }
|
|
num-traits = "0.2.15"
|
|
once_cell = "1.17.0"
|
|
rand = { version = "0.8.5", features = ["small_rng"] }
|
|
unixstring = "0.2.7"
|
|
widestring = "1.0.2"
|
|
|
|
[build-dependencies]
|
|
autocxx-build = "0.23.1"
|
|
cc = { git = "https://github.com/mqudsi/cc-rs", branch = "fish" }
|
|
cxx-build = { git = "https://github.com/fish-shell/cxx", branch = "fish" }
|
|
cxx-gen = { git = "https://github.com/fish-shell/cxx", branch = "fish" }
|
|
rsconf = { git = "https://github.com/mqudsi/rsconf", branch = "master" }
|
|
|
|
[lib]
|
|
crate-type = ["staticlib"]
|
|
|
|
[features]
|
|
# The fish-ffi-tests feature causes tests to be built which need to use the FFI.
|
|
# These tests are run by fish_tests().
|
|
default = ["fish-ffi-tests"]
|
|
fish-ffi-tests = ["inventory"]
|
|
|
|
# The following features are auto-detected by the build-script and should not be enabled manually.
|
|
asan = []
|
|
bsd = []
|
|
|
|
[patch.crates-io]
|
|
cc = { git = "https://github.com/mqudsi/cc-rs", branch = "fish" }
|
|
cxx = { git = "https://github.com/fish-shell/cxx", branch = "fish" }
|
|
cxx-gen = { git = "https://github.com/fish-shell/cxx", branch = "fish" }
|
|
autocxx = { git = "https://github.com/fish-shell/autocxx", branch = "fish" }
|
|
autocxx-build = { git = "https://github.com/fish-shell/autocxx", branch = "fish" }
|
|
autocxx-bindgen = { git = "https://github.com/fish-shell/autocxx-bindgen", branch = "fish" }
|
|
|
|
[patch.'https://github.com/fish-shell/cxx']
|
|
cc = { git = "https://github.com/mqudsi/cc-rs", branch = "fish" }
|
|
|
|
[patch.'https://github.com/fish-shell/autocxx']
|
|
cc = { git = "https://github.com/mqudsi/cc-rs", branch = "fish" }
|
|
|
|
#cxx = { path = "../../cxx" }
|
|
#cxx-gen = { path="../../cxx/gen/lib" }
|
|
#autocxx = { path = "../../autocxx" }
|
|
#autocxx-build = { path = "../../autocxx/gen/build" }
|
|
#autocxx-bindgen = { path = "../../autocxx-bindgen" }
|
|
|
|
[profile.release]
|
|
overflow-checks = true
|