* Upgrade to upstream newlib 4.0.0 release Includes 64 bit time_t and 5 years of updates. Binary incompatible with libraries which use time_t (due to the size difference). Recompiling with the new newlib should be sufficient for most libraries, assuming source is available. * Remove tools/sdk/libc directory, it isn't used anywhere Somewhere along the line the copy of libc in tools/sdl/libc was taken out of the build process. Files in there are not used, take add'l time to build and install on a toolchain release, and just cause confusion. Remove them. * Fix 64-bit time for LittleFS The core was setting 64-bit times automatically on new file creation or updates, but would fail when attempting to read them back due to 64/32b confusion. Now attempt to read 64b time, and if that fails fallback to reading 32b time to allow both old and new FS to preserve timestamps. * Update to jjsuwa-sys3175 additions to GCC and newlib @jjsuwa-sys3175 contributed multiple patches to GCC, included in the toolchain, as well as a slightly faster pgm_read_byte() macro. * Rebuild w/addl GCC patches, new BearSSL flags * Remove copied libgcc.a file, is contained in toolchain
BearSSL ESP8266 builder
This directory contains the git submodule for the ESP8266 ported bearssl low-level library, a port of BearSSL
If you are only working on the BearSSL::
namespace functions in the
Arduino ESP8266WiFi
library (BearSSL::WiFiClientSecure
,
BearSSL::WiFiServerSecure
, etc.) you do NOT need to work in this
directory.
Normal users can simply use the libbearssl.a file already included in
the Arduino
repo. Experienced users looking to work on the underlying
BearSSL-ESP8266 ported library can use this directory to automate the
build flow.
Prerequisites
The tools directory needs to be populated (i.e. Arduino IDE should be able
to compile an executable probect. get.py
should ensure this).
UNIX-like system (Linux, Mac):
If you need to change the *.t0 (Forth-like language) you will need a
.NET-compatible runtime (such as mono
under Linux) to rebuild the
resulant .c
files.
For Windows (untested)
Microsoft's .NET runtime must be installed to run the .t0
->.c
workflow.
Building
make all
: Init the submodule, if needed, then build but do not install the librarymake install
: Init the submodule, if needed, then build and copy the library to the standard location intools/sdk/lib
Editing the library
https://github.com/earlephilhower/bearssl-esp8266
is the current repository
for this library. A git remote
to the original BearSSL sources from
https://bearssl.org/git/BearSSL
is added on submodule init. You can either
manually do pulls, or make merge-upstream
to bring in any BearSSL upstream
changes.
Documentation in the library README-esp8266 and git log describes the changes done.
Feel free to drop me a line at earlephilhower@yahoo.com if you have questions.
-Earle F. Philhower, III