1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-16 11:21:18 +03:00
Commit Graph

102 Commits

Author SHA1 Message Date
b4f2af4f9d Merge remote-tracking branch 'ide-1.5.x-core.a-rebuild' into ide-1.5.x 2014-11-02 11:52:57 +01:00
b78339238d Don't recompile core.a if none of the .o files changed
Before, core.a would be rebuilt on every build, even when none of the
core .o files changed. Now, the timestamps are checked against the
timestamp on core.a first, skipping the build if nothing changed.

Because this uses the current list of .o files, there is a corner case
when a source file is deleted, but no other source file is modified. In
that case, core.a is not rebuilt, even though it should be. However,
this is such a narrow and unrealistic case, that it should pose a real
problem.

This fixes part of #1991
2014-10-31 17:48:29 +01:00
87c87c2897 Delete core.a when building it fails
This prevents a half-finished core.a file from lingering around.
Currently, this should not make a difference since core.a is rebuilt
every time, but this prepares for skipping this build step if possible.
2014-10-31 15:43:42 +01:00
57bdacc93c Remove core.a before rebuilding it
Before, the ar command was just ran for all .o files that should end up
in core.a, which should replace any old code in core.a. However, it
seems that in the unlikely event that functions or entire source files
are deleted, they might linger in the core.a file.
2014-10-31 15:43:07 +01:00
e76de57f6b Fixed parsing of dependency files (.d) to improve sketch build speed
Close #2255
2014-10-31 11:39:36 +01:00
7819374955 Removed unused variables 2014-08-08 15:01:53 +02:00
e5f34e5a83 Merge branch 'ide-1.5.x-timer-variant' of github.com:matthijskooijman/Arduino into matthijskooijman-ide-1.5.x-timer-variant 2014-07-01 18:29:07 +02:00
4eb686673f Don't include .o files from the variant in core.a
If a variant supplied source files, these would be included in core.a
before. However, object files from core.a would only actually be
included in the build if they supplied a symbol for a strong reference
that was still missing.

In practice, this meant that a variant source file that only defines
interrupt handlers, or only defines strong versions of functions that
already had weak versions available, was not included.

By moving the variant .o files out of core.a and including them in the
build directly, this problem is solved.

Furthermore, the compilation of variant files is moved to after the
generation of core.a, to make it clearer in the code and verbose output
what is now happening.
2014-06-25 16:56:17 +02:00
726f2ba931 Unescape special characters in dependency files
When a path contains spaces (or other special characters, probably), gcc
escapes them with a \ in the generated .d files. This previously caused
problems when parsing these files, causing recompiles to happen even
when not needed.

This applies a rather simple approach to unescaping these strings, which
seems to be sufficient because the file format of the .d files is so
predictable (e.g., we don't actually split on colons or spaces when
parsing it).
2014-05-13 16:52:14 +02:00
a89f5e68cf 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.
2014-04-10 12:19:43 +02:00
a96c8cab12 Merge branch 'master' into ide-1.5.x 2014-02-12 17:17:33 +01:00
2a8c06381f Added some friendly messages for Arduino Robot include errors on old sketches
After merging #1859, old sketches that uses Robot_Control library must include
Wire.h and SPI.h to work properly.
2014-02-12 15:28:53 +01:00
2fb3770757 Compile with -x assembler-with-cpp instead of -assembler-with-cpp.
- Newer avr-gcc doesn't use -assembler-with-cpp, but
  uses -x assembler-with-cpp. This works with older compilers as well.
2014-01-21 20:55:18 +01:00
2b53d6988a Added the possibility to override library compatibility check 2013-12-26 12:49:14 +01:00
512925a812 IDE warns if a library is compiled with an unsupported architecture 2013-12-25 20:35:18 +01:00
5e7663574b Use Files instead of String to handle paths in Compiler class. 2013-12-24 20:24:04 +01:00
e93760abc4 Implemented support for 1.5 libraries specification rev.2
- removed "arch" folder support
- allow to optinally use "src" folder
- slightly changed metadata

For more information see:
https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification
http://goo.gl/gfFJzU
2013-12-24 16:20:43 +01:00
beac88e039 Pass arguments to the Compiler constructor
Previously, these arguments would be passed to the compile method.
However, passing them to the constructor makes sure that the build
preferences are created sooner, so they can be used by Sketch before
calling the compile method.

This commit shouldn't change any behaviour, but prepares for the next
commits.
2013-11-28 23:08:35 +01:00
6378c8c647 Moving Library.SOURCE_CONTROL_FOLDERS into FileUtils.isSCCSOrHiddenFile #1619 2013-10-14 14:48:41 +02:00
c0a0e49db6 Ignore folders used by source code control software (subversino, git...) #1619 2013-10-14 11:40:13 +02:00
2f38d1aaa5 Added "Using library.." debugging message in verbose output. 2013-10-01 15:03:43 +02:00
f65e736a12 Workaround for incorrect argument passing of Runtime.exec(args[]) method on Windows.
More info here:
http://stackoverflow.com/questions/5969724/java-runtime-exec-fails-to-escape-characters-properly
http://msdn.microsoft.com/en-us/library/a1y7w461.aspx
http://bugs.sun.com/view_bug.do?bug_id=6468220
http://bugs.sun.com/view_bug.do?bug_id=6518827

Affects #1422
2013-08-05 15:07:59 +02:00
1d89e86b62 "build.core" property can now be used inside custom menus.
Fixes #1304
2013-03-05 20:18:46 +01:00
9024fe455c When using cores from other packages also the referenced platforms.txt is imported
See #1157
2013-03-04 16:56:33 +01:00
bddb47ed26 Library class, round 2 2013-02-13 19:10:30 +01:00
f530539c98 Added boards and arch defines.
Merge branch 'boards_defines' into lib-1.5
2013-02-11 19:53:54 +01:00
e5fa7e8183 BOARDS and ARCH defines from boards.txt
See #308
2013-02-11 19:43:04 +01:00
aa2d0e0c3c Factoring Library class, step 2: first try parsing library metadata 2013-02-11 18:11:52 +01:00
f8deaa5cfb Factoring Library class 2013-02-08 18:15:00 +01:00
a5067567ed see #1160 2012-12-12 17:40:26 +01:00
a71e46f94c recursive library compilation triggered on multiplatform libraries 2012-12-10 11:01:11 +01:00
b532d96564 Updated URL for bugs/issues 2012-11-19 12:57:29 +01:00
ddd35a2441 Updated URL for bugs/issues 2012-11-19 12:54:24 +01:00
e6d5255864 Fixed concurrent access to HashMap when programming Mega2560 2012-10-18 19:34:11 +02:00
46aeeb4b29 Merged upstream Arduino master branch 2012-06-26 00:51:35 +02:00
8c5e21470f Removed isEmpty() calls for Java 1.5 compatibility 2012-06-25 15:30:43 +02:00
5e75bd4a97 Fix for bug 950 -- NPE Compiler.java:407 -- also searched for any other instances & found two other cases of the same bug 2012-06-08 16:49:31 -04:00
958c835ef0 Issue 950: NPE Compiler.java:407 2012-06-06 17:30:14 -04:00
0ebfbf8d2c Fixing typo in custom error message. 2012-06-01 09:20:32 -04:00
77ed2f4d62 Fixing placement of error messages. (Paul Stoffregen)
This patch places #line preprocessor directives into the generated code
file so that the compiler reports the correct location for error
messages.

http://code.google.com/p/arduino/issues/detail?id=907
2012-05-27 12:32:13 -04:00
3f4cbe887d Merge branch 'master' into arduino-1.0.1-merged
Included latest fixes
2012-05-25 15:16:34 +02:00
4fc7f73270 Fixed error message if user didn't select any board 2012-05-23 15:05:19 +02:00
33083d84b3 Merge of arduino-1.0.1. Work in progress... 2012-05-23 09:22:52 +02:00
caeaa4571c sketch USB VID and PID values are passed in from boards.txt at compile time now. changed sketch PIDs to final values. also uncommented Micro section in boards.txt 2012-04-09 08:06:35 -04:00
232c7808be Custom error messages for use of Mouse and Keyboard on non-Leonardo boards. 2012-03-31 14:50:56 -04:00
043c190876 Upload size computation is now parametric 2012-02-06 00:51:24 +01:00
30ec90aca3 First attemp to generalize upload for mutiplatform IDE 2012-02-01 14:34:29 +01:00
fe001fdaba Factored out some common build variables 2012-01-13 20:39:48 +01:00
4a0260e2b5 Refactored corePath field in Compiler class 2012-01-13 18:17:28 +01:00
0dd5309bc0 Recursive properties string-replace 2012-01-13 14:10:34 +01:00