From 9f67d83907cc92fc140dfb435b116eb238512740 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Mon, 20 Aug 2018 17:17:49 +0800 Subject: [PATCH] build: place generated ld script into build directory (#5043) arduino-builder 1.3.25 (shipped with Arduino 1.8.5) forces full recompilation when any file in the core directory is modified. Avoid full recompilation by placing generated ld script into build directory, not source directory. Also fix an issue where git version description would not be generated if there were spaces in build path. --- platform.txt | 4 ++-- tools/boards.txt.py | 2 +- tools/sdk/ld/eagle.flash.16m.ld | 2 +- tools/sdk/ld/eagle.flash.1m0.ld | 2 +- tools/sdk/ld/eagle.flash.1m128.ld | 2 +- tools/sdk/ld/eagle.flash.1m144.ld | 2 +- tools/sdk/ld/eagle.flash.1m160.ld | 2 +- tools/sdk/ld/eagle.flash.1m192.ld | 2 +- tools/sdk/ld/eagle.flash.1m256.ld | 2 +- tools/sdk/ld/eagle.flash.1m512.ld | 2 +- tools/sdk/ld/eagle.flash.1m64.ld | 2 +- tools/sdk/ld/eagle.flash.2m.ld | 2 +- tools/sdk/ld/eagle.flash.4m.ld | 2 +- tools/sdk/ld/eagle.flash.4m1m.ld | 2 +- tools/sdk/ld/eagle.flash.4m2m.ld | 2 +- tools/sdk/ld/eagle.flash.512k0.ld | 2 +- tools/sdk/ld/eagle.flash.512k128.ld | 2 +- tools/sdk/ld/eagle.flash.512k32.ld | 2 +- tools/sdk/ld/eagle.flash.512k64.ld | 2 +- tools/sdk/ld/eagle.flash.8m.ld | 2 +- 20 files changed, 21 insertions(+), 21 deletions(-) diff --git a/platform.txt b/platform.txt index ce11500ba..05a0b1ae1 100644 --- a/platform.txt +++ b/platform.txt @@ -74,13 +74,13 @@ compiler.elf2hex.extra_flags= ## generate file with git version number ## needs bash, git, and echo recipe.hooks.core.prebuild.1.pattern=bash -c "mkdir -p {build.path}/core && echo \#define ARDUINO_ESP8266_GIT_VER 0x`git --git-dir {runtime.platform.path}/.git rev-parse --short=8 HEAD 2>/dev/null || echo ffffffff` >{build.path}/core/core_version.h" -recipe.hooks.core.prebuild.2.pattern=bash -c "mkdir -p {build.path}/core && echo \#define ARDUINO_ESP8266_GIT_DESC `cd {runtime.platform.path}; git describe --tags 2>/dev/null || echo unix-{version}` >>{build.path}/core/core_version.h" +recipe.hooks.core.prebuild.2.pattern=bash -c "mkdir -p {build.path}/core && echo \#define ARDUINO_ESP8266_GIT_DESC `cd "{runtime.platform.path}"; git describe --tags 2>/dev/null || echo unix-{version}` >>{build.path}/core/core_version.h" ## windows-compatible version without git recipe.hooks.core.prebuild.1.pattern.windows=cmd.exe /c mkdir {build.path}\core & (echo #define ARDUINO_ESP8266_GIT_VER 0x00000000 & echo #define ARDUINO_ESP8266_GIT_DESC win-{version} ) > {build.path}\core\core_version.h recipe.hooks.core.prebuild.2.pattern.windows= ## Build the app.ld linker file -recipe.hooks.linking.prelink.1.pattern="{compiler.path}{compiler.c.cmd}" -CC -E -P {build.vtable_flags} "{runtime.platform.path}/tools/sdk/ld/eagle.app.v6.common.ld.h" -o "{runtime.platform.path}/tools/sdk/ld/eagle.app.v6.common.ld" +recipe.hooks.linking.prelink.1.pattern="{compiler.path}{compiler.c.cmd}" -CC -E -P {build.vtable_flags} "{runtime.platform.path}/tools/sdk/ld/eagle.app.v6.common.ld.h" -o "{build.path}/eagle.app.v6.common.ld" ## Compile c files recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.cpreprocessor.flags} {compiler.c.flags} -DF_CPU={build.f_cpu} {build.lwip_flags} {build.debug_port} {build.debug_level} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} -DARDUINO_BOARD="{build.board}" {build.led} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}" diff --git a/tools/boards.txt.py b/tools/boards.txt.py index fe60838a3..bac65d043 100755 --- a/tools/boards.txt.py +++ b/tools/boards.txt.py @@ -1144,7 +1144,7 @@ def flash_size (size_bytes, display, optname, ld, desc, max_upload_size, spiffs_ print("PROVIDE ( _SPIFFS_page = 0x%X );" % page) print("PROVIDE ( _SPIFFS_block = 0x%X );" % block) print("") - print('INCLUDE "../ld/eagle.app.v6.common.ld"') + print('INCLUDE "eagle.app.v6.common.ld"') if ldgen: sys.stdout.close() diff --git a/tools/sdk/ld/eagle.flash.16m.ld b/tools/sdk/ld/eagle.flash.16m.ld index d6d15fd2c..023985cc9 100644 --- a/tools/sdk/ld/eagle.flash.16m.ld +++ b/tools/sdk/ld/eagle.flash.16m.ld @@ -16,4 +16,4 @@ PROVIDE ( _SPIFFS_end = 0x411FB000 ); PROVIDE ( _SPIFFS_page = 0x100 ); PROVIDE ( _SPIFFS_block = 0x2000 ); -INCLUDE "../ld/eagle.app.v6.common.ld" +INCLUDE "eagle.app.v6.common.ld" diff --git a/tools/sdk/ld/eagle.flash.1m0.ld b/tools/sdk/ld/eagle.flash.1m0.ld index 36477dc8d..9c109ad74 100644 --- a/tools/sdk/ld/eagle.flash.1m0.ld +++ b/tools/sdk/ld/eagle.flash.1m0.ld @@ -15,4 +15,4 @@ PROVIDE ( _SPIFFS_end = 0x402FB000 ); PROVIDE ( _SPIFFS_page = 0x0 ); PROVIDE ( _SPIFFS_block = 0x0 ); -INCLUDE "../ld/eagle.app.v6.common.ld" +INCLUDE "eagle.app.v6.common.ld" diff --git a/tools/sdk/ld/eagle.flash.1m128.ld b/tools/sdk/ld/eagle.flash.1m128.ld index 12a70ed15..9d639c388 100644 --- a/tools/sdk/ld/eagle.flash.1m128.ld +++ b/tools/sdk/ld/eagle.flash.1m128.ld @@ -16,4 +16,4 @@ PROVIDE ( _SPIFFS_end = 0x402FB000 ); PROVIDE ( _SPIFFS_page = 0x100 ); PROVIDE ( _SPIFFS_block = 0x1000 ); -INCLUDE "../ld/eagle.app.v6.common.ld" +INCLUDE "eagle.app.v6.common.ld" diff --git a/tools/sdk/ld/eagle.flash.1m144.ld b/tools/sdk/ld/eagle.flash.1m144.ld index 32c3d645c..0d6c19bda 100644 --- a/tools/sdk/ld/eagle.flash.1m144.ld +++ b/tools/sdk/ld/eagle.flash.1m144.ld @@ -16,4 +16,4 @@ PROVIDE ( _SPIFFS_end = 0x402FB000 ); PROVIDE ( _SPIFFS_page = 0x100 ); PROVIDE ( _SPIFFS_block = 0x1000 ); -INCLUDE "../ld/eagle.app.v6.common.ld" +INCLUDE "eagle.app.v6.common.ld" diff --git a/tools/sdk/ld/eagle.flash.1m160.ld b/tools/sdk/ld/eagle.flash.1m160.ld index 89e7897f1..ad0177eb9 100644 --- a/tools/sdk/ld/eagle.flash.1m160.ld +++ b/tools/sdk/ld/eagle.flash.1m160.ld @@ -16,4 +16,4 @@ PROVIDE ( _SPIFFS_end = 0x402FB000 ); PROVIDE ( _SPIFFS_page = 0x100 ); PROVIDE ( _SPIFFS_block = 0x1000 ); -INCLUDE "../ld/eagle.app.v6.common.ld" +INCLUDE "eagle.app.v6.common.ld" diff --git a/tools/sdk/ld/eagle.flash.1m192.ld b/tools/sdk/ld/eagle.flash.1m192.ld index cf21286a9..fe4ab645c 100644 --- a/tools/sdk/ld/eagle.flash.1m192.ld +++ b/tools/sdk/ld/eagle.flash.1m192.ld @@ -16,4 +16,4 @@ PROVIDE ( _SPIFFS_end = 0x402FB000 ); PROVIDE ( _SPIFFS_page = 0x100 ); PROVIDE ( _SPIFFS_block = 0x1000 ); -INCLUDE "../ld/eagle.app.v6.common.ld" +INCLUDE "eagle.app.v6.common.ld" diff --git a/tools/sdk/ld/eagle.flash.1m256.ld b/tools/sdk/ld/eagle.flash.1m256.ld index 0f97d179c..e0e3c1f31 100644 --- a/tools/sdk/ld/eagle.flash.1m256.ld +++ b/tools/sdk/ld/eagle.flash.1m256.ld @@ -16,4 +16,4 @@ PROVIDE ( _SPIFFS_end = 0x402FB000 ); PROVIDE ( _SPIFFS_page = 0x100 ); PROVIDE ( _SPIFFS_block = 0x1000 ); -INCLUDE "../ld/eagle.app.v6.common.ld" +INCLUDE "eagle.app.v6.common.ld" diff --git a/tools/sdk/ld/eagle.flash.1m512.ld b/tools/sdk/ld/eagle.flash.1m512.ld index 89350c44e..acc6b1c03 100644 --- a/tools/sdk/ld/eagle.flash.1m512.ld +++ b/tools/sdk/ld/eagle.flash.1m512.ld @@ -16,4 +16,4 @@ PROVIDE ( _SPIFFS_end = 0x402FB000 ); PROVIDE ( _SPIFFS_page = 0x100 ); PROVIDE ( _SPIFFS_block = 0x2000 ); -INCLUDE "../ld/eagle.app.v6.common.ld" +INCLUDE "eagle.app.v6.common.ld" diff --git a/tools/sdk/ld/eagle.flash.1m64.ld b/tools/sdk/ld/eagle.flash.1m64.ld index 73fa6e51b..44b3102d5 100644 --- a/tools/sdk/ld/eagle.flash.1m64.ld +++ b/tools/sdk/ld/eagle.flash.1m64.ld @@ -16,4 +16,4 @@ PROVIDE ( _SPIFFS_end = 0x402FB000 ); PROVIDE ( _SPIFFS_page = 0x100 ); PROVIDE ( _SPIFFS_block = 0x1000 ); -INCLUDE "../ld/eagle.app.v6.common.ld" +INCLUDE "eagle.app.v6.common.ld" diff --git a/tools/sdk/ld/eagle.flash.2m.ld b/tools/sdk/ld/eagle.flash.2m.ld index 0753f5ead..bbc5e6ddc 100644 --- a/tools/sdk/ld/eagle.flash.2m.ld +++ b/tools/sdk/ld/eagle.flash.2m.ld @@ -16,4 +16,4 @@ PROVIDE ( _SPIFFS_end = 0x403FB000 ); PROVIDE ( _SPIFFS_page = 0x100 ); PROVIDE ( _SPIFFS_block = 0x2000 ); -INCLUDE "../ld/eagle.app.v6.common.ld" +INCLUDE "eagle.app.v6.common.ld" diff --git a/tools/sdk/ld/eagle.flash.4m.ld b/tools/sdk/ld/eagle.flash.4m.ld index 04aa3a8f4..7038f7f62 100644 --- a/tools/sdk/ld/eagle.flash.4m.ld +++ b/tools/sdk/ld/eagle.flash.4m.ld @@ -16,4 +16,4 @@ PROVIDE ( _SPIFFS_end = 0x405FB000 ); PROVIDE ( _SPIFFS_page = 0x100 ); PROVIDE ( _SPIFFS_block = 0x2000 ); -INCLUDE "../ld/eagle.app.v6.common.ld" +INCLUDE "eagle.app.v6.common.ld" diff --git a/tools/sdk/ld/eagle.flash.4m1m.ld b/tools/sdk/ld/eagle.flash.4m1m.ld index 8746031c3..42f15f677 100644 --- a/tools/sdk/ld/eagle.flash.4m1m.ld +++ b/tools/sdk/ld/eagle.flash.4m1m.ld @@ -17,4 +17,4 @@ PROVIDE ( _SPIFFS_end = 0x405FB000 ); PROVIDE ( _SPIFFS_page = 0x100 ); PROVIDE ( _SPIFFS_block = 0x2000 ); -INCLUDE "../ld/eagle.app.v6.common.ld" +INCLUDE "eagle.app.v6.common.ld" diff --git a/tools/sdk/ld/eagle.flash.4m2m.ld b/tools/sdk/ld/eagle.flash.4m2m.ld index 59c6e57a2..c563edc33 100644 --- a/tools/sdk/ld/eagle.flash.4m2m.ld +++ b/tools/sdk/ld/eagle.flash.4m2m.ld @@ -17,4 +17,4 @@ PROVIDE ( _SPIFFS_end = 0x405FB000 ); PROVIDE ( _SPIFFS_page = 0x100 ); PROVIDE ( _SPIFFS_block = 0x2000 ); -INCLUDE "../ld/eagle.app.v6.common.ld" +INCLUDE "eagle.app.v6.common.ld" diff --git a/tools/sdk/ld/eagle.flash.512k0.ld b/tools/sdk/ld/eagle.flash.512k0.ld index e28fc9f1c..7f377f61b 100644 --- a/tools/sdk/ld/eagle.flash.512k0.ld +++ b/tools/sdk/ld/eagle.flash.512k0.ld @@ -15,4 +15,4 @@ PROVIDE ( _SPIFFS_end = 0x4027B000 ); PROVIDE ( _SPIFFS_page = 0x0 ); PROVIDE ( _SPIFFS_block = 0x0 ); -INCLUDE "../ld/eagle.app.v6.common.ld" +INCLUDE "eagle.app.v6.common.ld" diff --git a/tools/sdk/ld/eagle.flash.512k128.ld b/tools/sdk/ld/eagle.flash.512k128.ld index 87ce60da6..18d184a04 100644 --- a/tools/sdk/ld/eagle.flash.512k128.ld +++ b/tools/sdk/ld/eagle.flash.512k128.ld @@ -16,4 +16,4 @@ PROVIDE ( _SPIFFS_end = 0x4027B000 ); PROVIDE ( _SPIFFS_page = 0x100 ); PROVIDE ( _SPIFFS_block = 0x1000 ); -INCLUDE "../ld/eagle.app.v6.common.ld" +INCLUDE "eagle.app.v6.common.ld" diff --git a/tools/sdk/ld/eagle.flash.512k32.ld b/tools/sdk/ld/eagle.flash.512k32.ld index 140d23c3d..0e9ff3c6d 100644 --- a/tools/sdk/ld/eagle.flash.512k32.ld +++ b/tools/sdk/ld/eagle.flash.512k32.ld @@ -16,4 +16,4 @@ PROVIDE ( _SPIFFS_end = 0x4027B000 ); PROVIDE ( _SPIFFS_page = 0x100 ); PROVIDE ( _SPIFFS_block = 0x1000 ); -INCLUDE "../ld/eagle.app.v6.common.ld" +INCLUDE "eagle.app.v6.common.ld" diff --git a/tools/sdk/ld/eagle.flash.512k64.ld b/tools/sdk/ld/eagle.flash.512k64.ld index 5d01d3259..cee6c1a82 100644 --- a/tools/sdk/ld/eagle.flash.512k64.ld +++ b/tools/sdk/ld/eagle.flash.512k64.ld @@ -16,4 +16,4 @@ PROVIDE ( _SPIFFS_end = 0x4027B000 ); PROVIDE ( _SPIFFS_page = 0x100 ); PROVIDE ( _SPIFFS_block = 0x1000 ); -INCLUDE "../ld/eagle.app.v6.common.ld" +INCLUDE "eagle.app.v6.common.ld" diff --git a/tools/sdk/ld/eagle.flash.8m.ld b/tools/sdk/ld/eagle.flash.8m.ld index 1bce8f50a..ac2547af9 100644 --- a/tools/sdk/ld/eagle.flash.8m.ld +++ b/tools/sdk/ld/eagle.flash.8m.ld @@ -16,4 +16,4 @@ PROVIDE ( _SPIFFS_end = 0x409FB000 ); PROVIDE ( _SPIFFS_page = 0x100 ); PROVIDE ( _SPIFFS_block = 0x2000 ); -INCLUDE "../ld/eagle.app.v6.common.ld" +INCLUDE "eagle.app.v6.common.ld"