mirror of
https://github.com/arduino/Arduino.git
synced 2025-01-30 19:52:13 +01:00
Merge remote-tracking branch 'matthijs/ide-1.5.x-platform.local.txt' into ide-1.5.x
This commit is contained in:
commit
082f12b9f9
@ -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;
|
||||||
|
@ -110,6 +110,20 @@ public class TargetPlatform {
|
|||||||
format(_("Error loading {0}"), platformsFile.getAbsolutePath()), e);
|
format(_("Error loading {0}"), platformsFile.getAbsolutePath()), e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Allow overriding values in platform.txt. This allows changing
|
||||||
|
// platform.txt (e.g. to use a system-wide toolchain), without
|
||||||
|
// having to modify platform.txt (which, when running from git,
|
||||||
|
// prevents files being marked as changed).
|
||||||
|
File localPlatformsFile = new File(folder, "platform.local.txt");
|
||||||
|
try {
|
||||||
|
if (localPlatformsFile.exists() && localPlatformsFile.canRead()) {
|
||||||
|
preferences.load(localPlatformsFile);
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new TargetPlatformException(
|
||||||
|
format(_("Error loading {0}"), localPlatformsFile.getAbsolutePath()), e);
|
||||||
|
}
|
||||||
|
|
||||||
File progFile = new File(folder, "programmers.txt");
|
File progFile = new File(folder, "programmers.txt");
|
||||||
try {
|
try {
|
||||||
if (progFile.exists() && progFile.canRead()) {
|
if (progFile.exists() && progFile.canRead()) {
|
||||||
|
@ -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
|
||||||
@ -28,32 +28,42 @@ compiler.elf2hex.flags=-O ihex -R .eeprom
|
|||||||
compiler.elf2hex.cmd=avr-objcopy
|
compiler.elf2hex.cmd=avr-objcopy
|
||||||
compiler.ldflags=
|
compiler.ldflags=
|
||||||
compiler.size.cmd=avr-size
|
compiler.size.cmd=avr-size
|
||||||
# this can be overriden in boards.txt
|
|
||||||
|
# This can be overriden in boards.txt
|
||||||
build.extra_flags=
|
build.extra_flags=
|
||||||
|
|
||||||
|
# These can be overridden in platform.local.txt
|
||||||
|
compiler.c.extra_flags=
|
||||||
|
compiler.c.elf.extra_flags=
|
||||||
|
compiler.S.extra_flags=
|
||||||
|
compiler.cpp.extra_flags=
|
||||||
|
compiler.ar.extra_flags=
|
||||||
|
compiler.objcopy.eep.extra_flags=
|
||||||
|
compiler.elf2hex.extra_flags=
|
||||||
|
|
||||||
# AVR compile patterns
|
# AVR compile patterns
|
||||||
# --------------------
|
# --------------------
|
||||||
|
|
||||||
## Compile c files
|
## Compile c files
|
||||||
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
|
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
|
||||||
|
|
||||||
## Compile c++ files
|
## Compile c++ files
|
||||||
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
|
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
|
||||||
|
|
||||||
## Compile S files
|
## Compile S files
|
||||||
recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.S.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
|
recipe.S.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.S.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.S.extra_flags} {build.extra_flags} {includes} "{source_file}" -o "{object_file}"
|
||||||
|
|
||||||
## Create archives
|
## Create archives
|
||||||
recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} "{build.path}/{archive_file}" "{object_file}"
|
recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/{archive_file}" "{object_file}"
|
||||||
|
|
||||||
## Combine gc-sections, archives, and objects
|
## Combine gc-sections, archives, and objects
|
||||||
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mmcu={build.mcu} -o "{build.path}/{build.project_name}.elf" {object_files} "{build.path}/{archive_file}" "-L{build.path}" -lm
|
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {compiler.c.elf.flags} -mmcu={build.mcu} {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" {object_files} "{build.path}/{archive_file}" "-L{build.path}" -lm
|
||||||
|
|
||||||
## Create eeprom
|
## Create eeprom
|
||||||
recipe.objcopy.eep.pattern="{compiler.path}{compiler.objcopy.cmd}" {compiler.objcopy.eep.flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.eep"
|
recipe.objcopy.eep.pattern="{compiler.path}{compiler.objcopy.cmd}" {compiler.objcopy.eep.flags} {compiler.objcopy.eep.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.eep"
|
||||||
|
|
||||||
## Create hex
|
## Create hex
|
||||||
recipe.objcopy.hex.pattern="{compiler.path}{compiler.elf2hex.cmd}" {compiler.elf2hex.flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.hex"
|
recipe.objcopy.hex.pattern="{compiler.path}{compiler.elf2hex.cmd}" {compiler.elf2hex.flags} {compiler.elf2hex.extra_flags} "{build.path}/{build.project_name}.elf" "{build.path}/{build.project_name}.hex"
|
||||||
|
|
||||||
## Compute size
|
## Compute size
|
||||||
recipe.size.pattern="{compiler.path}{compiler.size.cmd}" -A "{build.path}/{build.project_name}.elf"
|
recipe.size.pattern="{compiler.path}{compiler.size.cmd}" -A "{build.path}/{build.project_name}.elf"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user