Skip to content

Commit bd92f1a

Browse files
authored
Arm backend: Add limited support for fish shell in setup_path.sh (#13323)
Generate both sh and fish shell versions of the setup_path script Signed-off-by: Zingo Andersen <[email protected]>
1 parent 2f47ee2 commit bd92f1a

File tree

1 file changed

+31
-18
lines changed

1 file changed

+31
-18
lines changed

examples/arm/setup.sh

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ function check_options() {
199199
function setup_root_dir() {
200200
mkdir -p ${root_dir}
201201
root_dir=$(realpath ${root_dir})
202-
setup_path_script="${root_dir}/setup_path.sh"
202+
setup_path_script="${root_dir}/setup_path"
203203
}
204204

205205
function check_fvp_eula () {
@@ -333,55 +333,68 @@ function setup_vela() {
333333
pip install ethos-u-vela@git+${vela_repo_url}@${vela_rev}
334334
}
335335

336+
function prepend_env_in_setup_path() {
337+
echo "export $1=$2:\${$1-}" >> ${setup_path_script}.sh
338+
echo "set --path -pgx $1 $2" >> ${setup_path_script}.fish
339+
}
340+
341+
function append_env_in_setup_path() {
342+
echo "export $1=\${$1-}:$2" >> ${setup_path_script}.sh
343+
echo "set --path -agx $1 $2" >> ${setup_path_script}.fish
344+
}
345+
336346
function create_setup_path(){
337347
cd "${root_dir}"
338348

339-
echo "" > "${setup_path_script}"
349+
# Clear setup_path_script
350+
echo "" > "${setup_path_script}.sh"
351+
echo "" > "${setup_path_script}.fish"
340352

341353
if [[ "${enable_fvps}" -eq 1 ]]; then
342354
fvps=("corstone300" "corstone320")
343355
for fvp in "${fvps[@]}"; do
344356
model_dir_variable=${fvp}_model_dir
345357
fvp_model_dir=${!model_dir_variable}
346358
fvp_bin_path="${root_dir}/FVP-${fvp}/models/${fvp_model_dir}"
347-
echo "export PATH=\${PATH}:${fvp_bin_path}" >> ${setup_path_script}
359+
append_env_in_setup_path PATH ${fvp_bin_path}
348360
done
349361

350362
# Fixup for Corstone-320 python dependency
351-
echo "export LD_LIBRARY_PATH=${root_dir}/FVP-corstone320/python/lib/" >> ${setup_path_script}
363+
append_env_in_setup_path LD_LIBRARY_PATH "${root_dir}/FVP-corstone320/python/lib/"
352364

353-
echo "hash FVP_Corstone_SSE-300_Ethos-U55" >> ${setup_path_script}
354-
echo "hash FVP_Corstone_SSE-300_Ethos-U65" >> ${setup_path_script}
355-
echo "hash FVP_Corstone_SSE-320" >> ${setup_path_script}
365+
echo "hash FVP_Corstone_SSE-300_Ethos-U55" >> ${setup_path_script}.sh
366+
echo "hash FVP_Corstone_SSE-300_Ethos-U65" >> ${setup_path_script}.sh
367+
echo "hash FVP_Corstone_SSE-320" >> ${setup_path_script}.sh
356368
fi
357369

358370
if [[ "${enable_baremetal_toolchain}" -eq 1 ]]; then
359371
toolchain_bin_path="$(cd ${toolchain_dir}/bin && pwd)"
360-
echo "export PATH=\${PATH}:${toolchain_bin_path}" >> ${setup_path_script}
372+
append_env_in_setup_path PATH ${toolchain_bin_path}
361373
fi
362374

363375
if [[ "${enable_model_converter}" -eq 1 ]]; then
364376
cd "${root_dir}"
365377
model_converter_bin_path="$(cd ${mlsdk_manifest_dir}/sw/model-converter/build && pwd)"
366-
echo "export PATH=\${PATH}:${model_converter_bin_path}" >> ${setup_path_script}
378+
append_env_in_setup_path PATH ${model_converter_bin_path}
367379
fi
368380

369381
# Add Path for vgf-lib and emulation-layer
370382
if [[ "${enable_vgf_lib}" -eq 1 ]]; then
371383
cd "${root_dir}"
372384
model_vgf_path="$(cd ${mlsdk_manifest_dir}/sw/vgf-lib/deploy && pwd)"
373-
echo "export PATH=\${PATH}:${model_vgf_path}/bin" >> ${setup_path_script}
374-
echo "export LD_LIBRARY_PATH=\${LD_LIBRARY_PATH-}:${model_vgf_path}/lib" >> ${setup_path_script}
375-
echo "export DYLD_LIBRARY_PATH=\${DYLD_LIBRARY_PATH-}:${model_vgf_path}/lib" >> ${setup_path_script}
385+
append_env_in_setup_path PATH ${model_vgf_path}/bin
386+
append_env_in_setup_path LD_LIBRARY_PATH "${model_vgf_path}/lib"
387+
append_env_in_setup_path DYLD_LIBRARY_PATH "${model_vgf_path}/lib"
376388
fi
377389

378390
if [[ "${enable_emulation_layer}" -eq 1 ]]; then
379391
cd "${root_dir}"
380392
model_emulation_layer_path="$(cd ${mlsdk_manifest_dir}/sw/emulation-layer/ && pwd)"
381-
echo "export LD_LIBRARY_PATH=${model_emulation_layer_path}/deploy/lib:\${LD_LIBRARY_PATH}" >> ${setup_path_script}
382-
echo "export DYLD_LIBRARY_PATH=${model_emulation_layer_path}/deploy/lib:\${DYLD_LIBRARY_PATH-}" >> ${setup_path_script}
383-
echo "export VK_INSTANCE_LAYERS=VK_LAYER_ML_Graph_Emulation:VK_LAYER_ML_Tensor_Emulation:\${VK_INSTANCE_LAYERS-}" >> ${setup_path_script}
384-
echo "export VK_ADD_LAYER_PATH=${model_emulation_layer_path}/deploy/share/vulkan/explicit_layer.d:\${VK_ADD_LAYER_PATH-}" >> ${setup_path_script}
393+
prepend_env_in_setup_path LD_LIBRARY_PATH "${model_emulation_layer_path}/deploy/lib"
394+
prepend_env_in_setup_path DYLD_LIBRARY_PATH "${model_emulation_layer_path}/deploy/lib"
395+
prepend_env_in_setup_path VK_INSTANCE_LAYERS VK_LAYER_ML_Tensor_Emulation
396+
prepend_env_in_setup_path VK_INSTANCE_LAYERS VK_LAYER_ML_Graph_Emulation
397+
prepend_env_in_setup_path VK_ADD_LAYER_PATH "${model_emulation_layer_path}/deploy/share/vulkan/explicit_layer.d"
385398
fi
386399
}
387400

@@ -460,8 +473,8 @@ if [[ $is_script_sourced -eq 0 ]]; then
460473
setup_vela
461474
fi
462475

463-
echo "[main] update path by doing 'source ${setup_path_script}'"
464-
476+
echo "[main] Update path by running 'source ${setup_path_script}.sh'"
477+
hash fish 2>/dev/null && echo >&2 "[main] Or for fish shell use 'source ${setup_path_script}.fish'"
465478
echo "[main] success!"
466479
exit 0
467480
fi

0 commit comments

Comments
 (0)