tools: added realpath_int() for MacOS script path resolution

JIRA IDF-790
This commit is contained in:
Martin Vychodil 2019-07-16 15:38:40 +02:00
parent fdab15dc76
commit 54b16b7f5a

View File

@ -1,5 +1,16 @@
# This script should be sourced, not executed.
function realpath_int() {
wdir="$PWD"; [ "$PWD" = "/" ] && wdir=""
case "$0" in
/*) scriptdir="${0}";;
*) scriptdir="$wdir/${0#./}";;
esac
scriptdir="${scriptdir%/*}"
echo "$scriptdir"
}
function idf_export_main() {
# The file doesn't have executable permissions, so this shouldn't really happen.
# Doing this in case someone tries to chmod +x it and execute...
@ -14,8 +25,13 @@ function idf_export_main() {
# If using bash, try to guess IDF_PATH from script location
if [[ -n "${BASH_SOURCE}" ]]
then
script_name="$(readlink -f $BASH_SOURCE)"
export IDF_PATH="$(dirname ${script_name})"
if [[ "$OSTYPE" == "darwin"* ]]; then
script_dir="$(realpath_int $BASH_SOURCE)"
else
script_name="$(readlink -f $BASH_SOURCE)"
script_dir="$(dirname $script_name)"
fi
export IDF_PATH="${script_dir}"
else
echo "IDF_PATH must be set before sourcing this script"
return 1
@ -67,6 +83,7 @@ function idf_export_main() {
unset path_entry
unset IDF_ADD_PATHS_EXTRAS
unset idf_exports
# Not unsetting IDF_PYTHON_ENV_PATH, it can be used by IDF build system
# to check whether we are using a private Python environment
@ -79,4 +96,5 @@ function idf_export_main() {
idf_export_main
unset realpath_int
unset idf_export_main