mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-04 06:11:06 +00: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 ""
 |