Merge branch 'bugfix/fix_ldgen_pyparsing_new_version' into 'master'

ldgen: fix issues when using pyparsing 2.3.0

See merge request idf/esp-idf!3739
This commit is contained in:
Angus Gratton 2018-11-23 10:38:18 +08:00
commit 269e94f387
12 changed files with 28 additions and 5743 deletions

View File

@ -19,11 +19,11 @@ To compile with ESP-IDF you need to get the following packages:
- Ubuntu and Debian::
sudo apt-get install git wget libncurses-dev flex bison gperf python python-pip python-setuptools python-serial cmake ninja-build ccache
sudo apt-get install git wget libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-pyparsing cmake ninja-build ccache
- Arch::
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial cmake ninja ccache
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial python2-pyparsing cmake ninja ccache
.. note::
CMake version 3.5 or newer is required for use with ESP-IDF. Older Linux distributions may require updating, enabling of a "backports" repository, or installing of a "cmake3" package rather than "cmake".

View File

@ -17,11 +17,11 @@ To compile with ESP-IDF you need to get the following packages:
- Ubuntu and Debian::
sudo apt-get install git wget libncurses-dev flex bison gperf python python-pip python-setuptools python-serial cmake ninja-build ccache
sudo apt-get install git wget libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-pyparsing cmake ninja-build ccache
- Arch::
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial cmake ninja ccache
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial python2-pyparsing cmake ninja ccache
.. note::
CMake version 3.5 or newer is required for use with ESP-IDF. Older Linux distributions may require updating, enabling of a "backports" repository, or installing of a "cmake3" package rather than "cmake".

View File

@ -13,11 +13,11 @@ To compile with ESP-IDF you need to get the following packages:
- Ubuntu and Debian::
sudo apt-get install git wget make libncurses-dev flex bison gperf python python-pip python-setuptools python-serial
sudo apt-get install git wget make libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-pyparsing
- Arch::
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial python2-pyparsing
.. note::

View File

@ -14,11 +14,11 @@ To compile with ESP-IDF you need to get the following packages:
- Ubuntu and Debian::
sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-cryptography python-future
sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-cryptography python-future python-pyparsing
- Arch::
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial python2-cryptography python2-future
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial python2-cryptography python2-future python2-pyparsing
.. note::

View File

@ -19,11 +19,11 @@
- Ubuntu 和 Debian::
sudo apt-get install git wget libncurses-dev flex bison gperf python python-pip python-setuptools python-serial cmake ninja-build ccache
sudo apt-get install git wget libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-pyparsing cmake ninja-build ccache
- Arch::
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial cmake ninja ccache
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial python2-pyparsing cmake ninja ccache
.. note::
使用 ESP-IDF 需要 CMake 3.5 或以上版本。较早版本的 Linux 可能需要升级才能向后移植仓库,或安装 "cmake3" 软件包,而不是安装 "cmake"。

View File

@ -17,11 +17,11 @@ Linux 平台工具链的标准设置 (CMake)
- Ubuntu 和 Debian::
sudo apt-get install git wget libncurses-dev flex bison gperf python python-pip python-setuptools python-serial cmake ninja-build ccache
sudo apt-get install git wget libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-pyparsing cmake ninja-build ccache
- Arch::
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial cmake ninja ccache
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial python2-pyparsing cmake ninja ccache
.. note::
使用 ESP-IDF 需要 CMake 3.5 或以上版本。较早版本的 Linux 可能需要升级才能向后移植仓库,或安装 "cmake3" 软件包,而不是安装 "cmake"。

View File

@ -14,11 +14,11 @@
- Ubuntu 和 Debian::
sudo apt-get install git wget make libncurses-dev flex bison gperf python python-pip python-setuptools python-serial
sudo apt-get install git wget make libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-pyparsing
- Arch::
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial python2-pyparsing
.. note::

View File

@ -16,11 +16,11 @@ Linux 平台工具链的标准设置
- Ubuntu and Debian::
sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-pip python-setuptools python-serial
sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-pyparsing
- Arch::
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial python2-pyparsing
.. note::

View File

@ -8,3 +8,4 @@ setuptools
pyserial>=3.0
future>=0.15.2
cryptography>=2.1.4
pyparsing>=2.0.3

View File

@ -183,15 +183,20 @@ class Mapping(Fragment):
def _process_entries(self):
processed = []
for normal_group in self.entries.normal_groups:
for normal_group in self.entries[0]:
# Get the original string of the condition
condition = next(iter(normal_group.condition.asList())).strip()
mappings = self._create_mappings_set(normal_group.mappings)
mappings = self._create_mappings_set(normal_group[1])
processed.append((condition, mappings))
default_group = self.entries[1]
if len(default_group) > 1:
mappings = self._create_mappings_set(default_group[1])
else:
mappings = self._create_mappings_set(default_group[0])
default_group = self.entries.default_group
mappings = self._create_mappings_set(default_group.mappings)
processed.append(("default", mappings))
self.entries = processed

View File

@ -91,8 +91,7 @@ def main():
script_model.fill(mapping_rules, sdkconfig)
script_model.write(output_file)
except Exception, e:
except Exception as e:
print("linker script generation failed for %s\nERROR: %s" % (input_file.name, e.message))
# Delete the file so the entire build will fail; and not use an outdated script.
os.remove(output_file.name)

File diff suppressed because it is too large Load Diff