# coding=utf-8 # pylint: dummy-variables-rgx='(_+[a-zA-Z0-9]*?$)|dummy|env|projenv' # # Original extra_scripts.py # Copyright (C) 2016-2019 by Xose PĂ©rez # # ldscripts, lwip patching, updated postmortem flags and git support # Copyright (C) 2019-2020 by Maxim Prokhorov # Run this script every time building an env AFTER platform-specific code is loaded from espurna_utils import ( check_printsize, remove_float_support, ldscripts_inject_libpath, lwip_inject_patcher, app_inject_revision, dummy_ets_printf, app_inject_flags, ) Import("env", "projenv") # Always show warnings for project code projenv.ProcessUnFlags("-w") # XXX: note that this will also break %d format with floats and print raw memory contents as int # Cores after 2.3.0 can disable %f in the printf / scanf to reduce .bin size remove_float_support(env) ldscripts_inject_libpath(env) # two-step update hint when using 1MB boards env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", check_printsize) # disable postmortem printing to the uart. another one is in eboot, but this is what causes the most harm if "DISABLE_POSTMORTEM_STACKDUMP" in env["CPPFLAGS"]: env.AddPostAction( "$BUILD_DIR/FrameworkArduino/core_esp8266_postmortem.c.o", dummy_ets_printf ) env.AddPostAction( "$BUILD_DIR/FrameworkArduino/core_esp8266_postmortem.cpp.o", dummy_ets_printf ) # patch lwip1 sources conditionally: # https://github.com/xoseperez/espurna/issues/1610 lwip_inject_patcher(env) # when using git, add -DAPP_REVISION=(git-commit-hash) app_inject_revision(projenv) # handle OTA board and flags here, since projenv is not available in pre-scripts app_inject_flags(projenv)