summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLinus Färnstrand <faern@faern.net>2021-11-17 16:22:04 +0100
committerLinus Färnstrand <linus@mullvad.net>2021-11-18 13:48:13 +0100
commit0036ff63d6f9d21fdd90412ce273ce1b5bb9b912 (patch)
treef9228b1066f0034c0e7d66bca5384dabb9318b07
parentd42e3ad1b5a978da5a6e464e2d644f846ca2e7f3 (diff)
downloadmullvadvpn-0036ff63d6f9d21fdd90412ce273ce1b5bb9b912.tar.xz
mullvadvpn-0036ff63d6f9d21fdd90412ce273ce1b5bb9b912.zip
Fix shellcheck warnings on build_windows_modules.sh
-rwxr-xr-xbuild_windows_modules.sh65
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"