Как установить переменную env rusflags из сценария сборки?Linux

Ответить
Anonymous
 Как установить переменную env rusflags из сценария сборки?

Сообщение Anonymous »

Я пытаюсь установить env далеко от сценария build.rs, например:

Код: Выделить всё

fn main()
{
std::env::set_var("RUSTFLAGS", "-C link-args=-Wl,-rpath,.");
println!("cargo:rustc-env=RUSTFLAGS=\"-C link-args=-Wl,-rpath,.\"");
// RUSTFLAGS="-C link-args=-Wl,-rpath,."
for (key, value) in std::env::vars()
{
println!("{}", format!("cargo:warning={} {}", key, value));
}
}
Что дает результат:

Код: Выделить всё

...
warning: Demiurge@0.1.0: QT_IM_MODULE ibus
warning: Demiurge@0.1.0: RUSTC /home/makogan/.rustup/toolchains/nightly-2024-01-08-x86_64-unknown-linux-gnu/bin/rustc
warning: Demiurge@0.1.0: RUSTDOC /home/makogan/.rustup/toolchains/nightly-2024-01-08-x86_64-unknown-linux-gnu/bin/rustdoc
warning: Demiurge@0.1.0: RUSTUP_HOME /home/makogan/.rustup
warning: Demiurge@0.1.0: RUSTUP_TOOLCHAIN nightly-2024-01-08-x86_64-unknown-linux-gnu
warning: Demiurge@0.1.0: RUST_RECURSION_COUNT 1
warning: Demiurge@0.1.0: SESSION_MANAGER local/makogan-kingdom:@/tmp/.ICE-unix/3901,unix/makogan-kingdom:/tmp/.ICE-unix/3901
warning: Demiurge@0.1.0: SHELL /bin/bash
...
Как видите, ржавчины нет. Я также попробовал установить project_root/.cargo/config.toml на это:

Код: Выделить всё

[env]
RUSTFLAGS= { value = "-C link-args=-Wl,-rpath,.", force = true, relative = true }

[build]
rustflags = ["-C", "link-args=-Wl,-rpath-link,./"]
По-прежнему ничего, как мне установить флаги? если я просто экспортирую RUSTFLAGS="-C link-args=-Wl,-rpath,." перед вызовом груза, он работает так, как я ожидаю.


Подробнее здесь: https://stackoverflow.com/questions/783 ... ild-script
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»