1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-12-01 12:24:14 +01:00

Explicitly define compiler.path in avr/platform.txt

Previously, this relied on an (ugly, avr-specific) magic default for the
compiler.path variable, set by the IDE. This allowed the IDE to fall
back to a system-wide toolchain when no bundled toolchain was found (by
making compiler.path empty).

However,
 - this only worked for avr, not sam,
 - this worked only for gcc, a system-wide avrdude would break on the
   avrdude.conf path in platform.txt, and

This would mean that automatic system-wide fallback didn't work in all
situations, so you'd still have to modify platform.txt (or create
platform.local.txt). Since doing that explictly is the most reliable
way, this commit removes the partial-working ability to do this
automatically.

Note that the code to automatically set compiler.path is still kept
around, in case third-party hardware still relies on this. At some
point, this code should be removed, but for now it just shows a warning
message.
This commit is contained in:
Matthijs Kooijman 2014-04-04 12:04:57 +02:00
parent d2ec05611c
commit a89f5e68cf
2 changed files with 8 additions and 2 deletions

View File

@ -197,8 +197,14 @@ public class Compiler implements MessageConsumer {
targetArch = targetPlatform.getId(); targetArch = targetPlatform.getId();
p.put("build.arch", targetArch.toUpperCase()); p.put("build.arch", targetArch.toUpperCase());
if (!p.containsKey("compiler.path")) // Platform.txt should define its own compiler.path. For
// compatibility with earlier 1.5 versions, we define a (ugly,
// avr-specific) default for it, but this should be removed at some
// point.
if (!p.containsKey("compiler.path")) {
System.err.println(_("Third-party platform.txt does not define compiler.path. Please report this to the third-party hardware maintainer."));
p.put("compiler.path", Base.getAvrBasePath()); p.put("compiler.path", Base.getAvrBasePath());
}
// Core folder // Core folder
TargetPlatform tp = corePlatform; TargetPlatform tp = corePlatform;

View File

@ -12,7 +12,7 @@ version=1.5.6
# --------------------- # ---------------------
# Default "compiler.path" is correct, change only if you want to overidde the initial value # Default "compiler.path" is correct, change only if you want to overidde the initial value
#compiler.path={ide.path}/tools/avr/bin/.. compiler.path={runtime.ide.path}/hardware/tools/avr/bin/
compiler.c.cmd=avr-gcc compiler.c.cmd=avr-gcc
compiler.c.flags=-c -g -Os -w -ffunction-sections -fdata-sections -MMD compiler.c.flags=-c -g -Os -w -ffunction-sections -fdata-sections -MMD
compiler.c.elf.flags=-Os -Wl,--gc-sections compiler.c.elf.flags=-Os -Wl,--gc-sections