diff --git a/docs/get-started/eclipse-setup-windows.rst b/docs/get-started/eclipse-setup-windows.rst index 94ee30d34..a924d2dc7 100644 --- a/docs/get-started/eclipse-setup-windows.rst +++ b/docs/get-started/eclipse-setup-windows.rst @@ -73,6 +73,6 @@ Technical Details Explanations of the technical reasons for some of these steps. You don't need to know this to use esp-idf with Eclipse on Windows, but it may be helpful background knowledge if you plan to do dig into the Eclipse support: -* The xtensa-esp32-elf-gcc cross-compiler is *not* a Cygwin toolchain, even though we tell Eclipse that it is one. This is because msys2 uses Cygwin and supports Cygwin paths (of the type ``/c/blah`` instead of ``c:/blah`` or ``c:\\blah``). In particular, xtensa-esp32-elf-gcc reports to the Eclipse "built-in compiler settings" function that its built-in include directories are all under ``/usr/``, which is a Unix/Cygwin-style path that Eclipse otherwise can't resolve. By telling Eclipse the compiler is Cygwin, it resolves these paths internally using the ``cygpath`` utility. +* The xtensa-esp32-elf-gcc cross-compiler is *not* a Cygwin toolchain, even though we tell Eclipse that it is one. This is because msys2 uses Cygwin and supports Unix-style paths (of the type ``/c/blah`` instead of ``c:/blah`` or ``c:\\blah``). In particular, xtensa-esp32-elf-gcc reports to the Eclipse "built-in compiler settings" function that its built-in include directories are all under ``/usr/``, which is a Unix/Cygwin-style path that Eclipse otherwise can't resolve. By telling Eclipse the compiler is Cygwin, it resolves these paths internally using the ``cygpath`` utility. * The same problem occurs when parsing make output from esp-idf. Eclipse parses this output to find header directories, but it can't resolve include directories of the form ``/c/blah`` without using ``cygpath``. There is a heuristic that Eclipse Build Output Parser uses to determine whether it should call ``cygpath``, but for currently unknown reasons the esp-idf configuration doesn't trigger it. For this reason, the ``eclipse_make.py`` wrapper script is used to call ``make`` and then use ``cygpath`` to process the output for Eclipse. diff --git a/make/project.mk b/make/project.mk index a12132c9f..11d1c977d 100644 --- a/make/project.mk +++ b/make/project.mk @@ -60,7 +60,7 @@ OS ?= # make IDF_PATH a "real" absolute path # * works around the case where a shell character is embedded in the environment variable value. -# * changes Windows-style C:/blah/ paths to MSYS/Cygwin style /c/blah +# * changes Windows-style C:/blah/ paths to MSYS style /c/blah ifeq ("$(OS)","Windows_NT") # On Windows MSYS2, make wildcard function returns empty string for paths of form /xyz # where /xyz is a directory inside the MSYS root - so we don't use it. @@ -85,7 +85,7 @@ $(error If IDF_PATH is overriden on command line, it must be an absolute path wi endif ifneq ("$(IDF_PATH)","$(subst :,,$(IDF_PATH))") -$(error IDF_PATH cannot contain colons. If overriding IDF_PATH on Windows, use Cygwin-style /c/dir instead of C:/dir) +$(error IDF_PATH cannot contain colons. If overriding IDF_PATH on Windows, use MSYS Unix-style /c/dir instead of C:/dir) endif # disable built-in make rules, makes debugging saner diff --git a/tools/windows/eclipse_make.py b/tools/windows/eclipse_make.py index e65cfc9cc..c0b037d66 100644 --- a/tools/windows/eclipse_make.py +++ b/tools/windows/eclipse_make.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Wrapper to run make and preprocess any paths in the output from MSYS/Cygwin paths +# Wrapper to run make and preprocess any paths in the output from MSYS Unix-style paths # to Windows paths, for Eclipse from __future__ import print_function, division import sys, subprocess, os.path, re