diff options
| author | Linus Färnstrand <faern@faern.net> | 2021-11-17 16:22:04 +0100 |
|---|---|---|
| committer | Linus Färnstrand <linus@mullvad.net> | 2021-11-18 13:48:13 +0100 |
| commit | 0036ff63d6f9d21fdd90412ce273ce1b5bb9b912 (patch) | |
| tree | f9228b1066f0034c0e7d66bca5384dabb9318b07 | |
| parent | d42e3ad1b5a978da5a6e464e2d644f846ca2e7f3 (diff) | |
| download | mullvadvpn-0036ff63d6f9d21fdd90412ce273ce1b5bb9b912.tar.xz mullvadvpn-0036ff63d6f9d21fdd90412ce273ce1b5bb9b912.zip | |
Fix shellcheck warnings on build_windows_modules.sh
| -rwxr-xr-x | build_windows_modules.sh | 65 |
1 files changed, 36 insertions, 29 deletions
diff --git a/build_windows_modules.sh b/build_windows_modules.sh index cc003f8007..69d91ee8d4 100755 --- a/build_windows_modules.sh +++ b/build_windows_modules.sh @@ -20,7 +20,7 @@ function clean_solution { if [[ -z ${DEV_BUILD+x} ]]; then # Clean all intermediate and output files - rm -r $path/bin/* || true + rm -r "${path:?}/bin/"* || true else echo "Will NOT clean intermediate files in $path/bin/" fi @@ -32,7 +32,7 @@ function build_solution_config { local platform="$3" set -x - cmd.exe "/c msbuild.exe /m $(to_win_path $sln) /p:Configuration=$config /p:Platform=$platform" + cmd.exe "/c msbuild.exe /m $(to_win_path "$sln") /p:Configuration=$config /p:Platform=$platform" set +x } @@ -41,39 +41,39 @@ function build_solution { local path="$1" local sln="$1/$2" - clean_solution $path + clean_solution "$path" for mode in $CPP_BUILD_MODES; do for target in $CPP_BUILD_TARGETS; do - build_solution_config $sln $mode $target + build_solution_config "$sln" "$mode" "$target" done done } function to_win_path { - local unixpath=$1 + local unixpath="$1" # if it's a relative path and starts with a dot (.), don't transform the # drive prefix (/c/ -> C:\) - if echo $unixpath | grep '^\.' >/dev/null; then - echo $unixpath | sed -e 's/^\///' -e 's/\//\\/g' + if echo "$unixpath" | grep '^\.' >/dev/null; then + echo "$unixpath" | sed -e 's/^\///' -e 's/\//\\/g' # if it's an absolute path, transform the drive prefix else # remove the cygrdive prefix if it's there - unixpath=$(echo $1 | sed -e 's/^\/cygdrive//') - echo $unixpath | sed -e 's/^\///' -e 's/\//\\/g' -e 's/^./\0:/' + unixpath=$(echo "$unixpath" | sed -e 's/^\/cygdrive//') + echo "$unixpath" | sed -e 's/^\///' -e 's/\//\\/g' -e 's/^./\0:/' fi } function get_solution_output_path { - local solution_root=$1 - local build_target=$2 - local build_mode=$3 + local solution_root="$1" + local build_target="$2" + local build_mode="$3" case $build_target in "x86") echo "$solution_root/bin/Win32-$build_mode";; "x64") echo "$solution_root/bin/x64-$build_mode";; *) - echo Unkown build target $build_target + echo "Unkown build target: $build_target" exit 1 ;; esac @@ -82,12 +82,16 @@ function get_solution_output_path { # builds an appropriate cargo target path for the specified build target and # build mode function get_cargo_target_dir { - local build_target=$1 - local build_mode=$2 + local build_target="$1" + local build_mode="$2" + + local host_arch + host_arch=$(rustc_host_arch) + local host_target_arch + host_target_arch=$(arch_from_build_target "$host_arch") + local build_target_arch + build_target_arch=$(arch_from_build_target "$build_target") - local host_arch=$(rustc_host_arch) - local host_target_arch=$(arch_from_build_target $host_arch) - local build_target_arch=$(arch_from_build_target $build_target) # if the target is the same as the host, cargo omits the platform triplet if [ "$host_target_arch" == "$build_target_arch" ]; then platform_triplet="" @@ -100,14 +104,17 @@ function get_cargo_target_dir { } function copy_outputs { - local solution_path=$1 - local artifacts=$2 + local solution_path="$1" + local artifacts="$2" for mode in $CPP_BUILD_MODES; do for target in $CPP_BUILD_TARGETS; do - local dll_path=$(get_solution_output_path $solution_path $target $mode) - local cargo_target=$(get_cargo_target_dir $target $mode) - mkdir -p $cargo_target + local dll_path + dll_path=$(get_solution_output_path "$solution_path" "$target" "$mode") + local cargo_target + cargo_target=$(get_cargo_target_dir "$target" "$mode") + + mkdir -p "$cargo_target" for artifact in $artifacts; do cp "$dll_path/$artifact" "$cargo_target" done @@ -118,12 +125,12 @@ function copy_outputs { # Since Microsoft likes to name their architectures differently from Rust, this # function tries to match microsoft names to Rust names. function arch_from_build_target { - local build_target=$1 + local build_target="$1" - case $build_target in + case $build_target in "x86") echo "i686";; "x64") echo "x86_64";; - *) echo $build_target;; + *) echo "$build_target";; esac } @@ -150,9 +157,9 @@ function main { build_solution "$windns_root_path" "windns.sln" build_solution "$winnet_root_path" "winnet.sln" - copy_outputs $winfw_root_path "winfw.dll" - copy_outputs $windns_root_path "windns.dll" - copy_outputs $winnet_root_path "winnet.dll" + copy_outputs "$winfw_root_path" "winfw.dll" + copy_outputs "$windns_root_path" "windns.dll" + copy_outputs "$winnet_root_path" "winnet.dll" local driverlogic_root_path=${CPP_ROOT_PATH:-"./windows/driverlogic"} build_solution "$driverlogic_root_path" "driverlogic.sln" |
