mirror of
https://github.com/espressif/esp-idf.git
synced 2024-09-21 06:56:11 -04:00
Use `pwd -P` to resolve any symlinks in the current directory path. This makes the behavior in the shell script similar to the idf_tools.py code, which calls `os.path.realpath()`. Without this, multiple entries can get created in the `idfInstalled` dictionary in idf-env.json, and the installed targets and features are not fully present in all entries. This results in a broken installation, where `export.sh` cannot set up the environment correctly afterwards.
30 lines
798 B
Bash
Executable File
30 lines
798 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
set -u
|
|
|
|
basedir=$(dirname "$0")
|
|
IDF_PATH=$(cd "${basedir}"; pwd -P)
|
|
export IDF_PATH
|
|
|
|
echo "Detecting the Python interpreter"
|
|
. "${IDF_PATH}/tools/detect_python.sh"
|
|
|
|
echo "Checking Python compatibility"
|
|
"${ESP_PYTHON}" "${IDF_PATH}/tools/python_version_checker.py"
|
|
|
|
TARGETS=`"${ESP_PYTHON}" "${IDF_PATH}/tools/install_util.py" extract targets "$@"`
|
|
|
|
echo "Installing ESP-IDF tools"
|
|
"${ESP_PYTHON}" "${IDF_PATH}/tools/idf_tools.py" install --targets=${TARGETS}
|
|
|
|
FEATURES=`"${ESP_PYTHON}" "${IDF_PATH}/tools/install_util.py" extract features "$@"`
|
|
|
|
echo "Installing Python environment and packages"
|
|
"${ESP_PYTHON}" "${IDF_PATH}/tools/idf_tools.py" install-python-env --features=${FEATURES}
|
|
|
|
echo "All done! You can now run:"
|
|
echo ""
|
|
echo " . ${basedir}/export.sh"
|
|
echo ""
|