@@ -176,10 +176,12 @@ if [ -z "${VENV_ROOT}" ] ; then
176176fi
177177
178178ACTIVATE=" ${VENV_ROOT} /bin/activate"
179+ # For Windows/MSYS2
180+ ALT_ACTIVATE=" ${VENV_ROOT} /Scripts/activate"
179181if [ -z " ${PC_TARGET} " ] ; then
180182 # Doing a PlatformIO build, locate PlatformIO. It may or may not
181183 # already be in the users' path.
182- if [ -e " ${ACTIVATE} " ] ; then
184+ if [ -f " ${ACTIVATE} " ] ; then
183185 # Activate now in case pio isn't already in PATH
184186 source " ${ACTIVATE} "
185187 fi
193195# Let the user know about any required packages they need to install
194196MISSING=" "
195197if [ -n " ${PC_TARGET} " ] ; then
196- for REQUIRED in g++ make cmake ; do
198+ COMPILER=g++
199+ if [ " $MSYSTEM " = " CLANG64" ]; then
200+ COMPILER=clang++
201+ fi
202+ for REQUIRED in ${COMPILER} make cmake ; do
197203 if ! command -v ${REQUIRED} > /dev/null ; then
198204 MISSING=" ${REQUIRED} ${MISSING} "
199205 fi
@@ -204,17 +210,42 @@ if [ -n "${MISSING}" ] ; then
204210 exit 1
205211fi
206212
213+ normalize_path () {
214+ case " $OSTYPE " in
215+ msys* |cygwin* )
216+ cygpath --unix " $1 "
217+ ;;
218+ * )
219+ # Already Unix-style, return as-is
220+ echo " $1 "
221+ ;;
222+ esac
223+ }
224+
207225if [[ " $VIRTUAL_ENV " != " $VENV_ROOT " ]] ; then
208- if [ ! -e " ${ACTIVATE} " ] ; then
226+ if [ ! -f " ${ACTIVATE} " ] ; then
209227 echo Creating venv at " ${VENV_ROOT} "
210228 mkdir -p $( dirname " ${VENV_ROOT} " )
211229 ${PYTHON} -m venv " ${VENV_ROOT} " || exit 1
212230 fi
213- if [ -e " ${ACTIVATE} " ] ; then
231+ if [ -f " ${ACTIVATE} " ] ; then
214232 source " ${ACTIVATE} "
233+ elif [ -f " ${ALT_ACTIVATE} " ] ; then
234+ source " ${ALT_ACTIVATE} "
235+ echo " -------------------"
236+ cat " ${ALT_ACTIVATE} "
237+ echo " -------------------"
215238 fi
216- if [[ " $VIRTUAL_ENV " != " $VENV_ROOT " ]] ; then
239+ VENV_ACTUAL=" $( normalize_path " $VIRTUAL_ENV " ) "
240+ if [[ " ${VENV_ACTUAL} " != " ${VENV_ROOT} " ]] ; then
217241 echo Unable to activate penv/venv
242+ echo " ACTIVATE = ${ACTIVATE} "
243+ echo " ALT_ACTIVATE = ${ALT_ACTIVATE} "
244+ echo " VIRTAUL_ENV = ${VIRTUAL_ENV} "
245+ echo " VENV_ACTUAL = ${VENV_ACTUAL} "
246+ echo " VENV_ROOT = ${VENV_ROOT} "
247+ ls -Fla " $( dirname ${ACTIVATE} ) " || true
248+ ls -Fla " $( dirname ${ALT_ACTIVATE} ) " || true
218249 exit 1
219250 fi
220251fi
0 commit comments