diff --git a/README.md b/README.md index 0f920db0f..058a30d81 100644 --- a/README.md +++ b/README.md @@ -138,8 +138,8 @@ $ ./bootstrap.sh -d $ curl https://sh.rustup.rs -sSf | sh $ source $HOME/.cargo/env -# Install the sysroot manager Xargo -$ cargo install xargo +# Install the sysroot manager Xargo and cargo-config +$ cargo install xargo cargo-config # For successive builds start here. If this is your first build, just continue diff --git a/bootstrap.sh b/bootstrap.sh index ab4b3959c..73a319aaf 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -371,6 +371,18 @@ usage() exit } + +############################################################# +# Looks for and installs a cargo-managed binary or subcommand +############################################################# +cargoInstall() { + if [[ "`cargo install --list`" != *"$1"* ]]; then + cargo install $1 + else + echo "You have $1 installed already!" + fi +} + #################################################################################### # This function takes care of everything associated to rust, and the version manager # That controls it, it can install rustup and uninstall multirust as well as making @@ -481,11 +493,8 @@ boot() echo "Cloning gitlab repo..." git clone https://gitlab.redox-os.org/redox-os/redox.git --origin upstream --recursive rustInstall - if [[ "`cargo install --list`" != *"xargo"* ]]; then - cargo install xargo - else - echo "You have xargo installed already!" - fi + cargoInstall cargo-config + cargoInstall xargo echo "Cleaning up..." rm bootstrap.sh echo