rust-osdev / bootimage

Tool to create bootable disk images from a Rust OS kernel.
Apache License 2.0
767 stars 67 forks source link

Set empty RUSTFLAGS to ensure that no .cargo/config applies #51

Closed phil-opp closed 4 years ago

phil-opp commented 4 years ago

Without the RUSTFLAGS environment variable set, cargo looks at .cargo/config files in all parent directories. Such a file can contain a build.rustflags key that would then be applied to the bootloader build too. Since some rustflags can break the build (e.g. -C target-cpu=native), we should prevent that.

Creating a cargo/.config file with an empty build.rustflags key in the bootloader repository does not suffice for fixing this because cargo unifies arrays with the values defined in parent directories. So the only way to ensure that no rustflags are passed is to set the RUSTFLAGS environment variable to the empty string, exploiting the fact that it takes precedence over any build.rustflags key.

Fixes https://github.com/phil-opp/blog_os/issues/770

phil-opp commented 4 years ago

Released as version 0.7.9.