aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon John <git@the-jedi.co.uk>2018-02-24 16:06:09 +0000
committerGitHub <noreply@github.com>2018-02-24 16:06:09 +0000
commita7b8084ac6b9b4d94dd91b9b996243432a7de4b3 (patch)
treecff8ea8bb5e6f63d7ada4eb85ad67a9b5237525a
parentc10eaa4f480da35437d13fdc21df5d13e2d11866 (diff)
parent139b5dbc4919e118b0e18783fae8e51a2dbc258c (diff)
Merge pull request #546 from kierdavis/disable-prog-types-compat
Allow compatibility with old pgmspace API to be disabled by the user
-rw-r--r--Arduino.mk8
-rw-r--r--HISTORY.md1
2 files changed, 8 insertions, 1 deletions
diff --git a/Arduino.mk b/Arduino.mk
index f55fd87..a238fe6 100644
--- a/Arduino.mk
+++ b/Arduino.mk
@@ -1047,11 +1047,17 @@ else
endif
# Using += instead of =, so that CPPFLAGS can be set per sketch level
-CPPFLAGS += -$(MCU_FLAG_NAME)=$(MCU) -DF_CPU=$(F_CPU) -DARDUINO=$(ARDUINO_VERSION) $(ARDUINO_ARCH_FLAG) -D__PROG_TYPES_COMPAT__ \
+CPPFLAGS += -$(MCU_FLAG_NAME)=$(MCU) -DF_CPU=$(F_CPU) -DARDUINO=$(ARDUINO_VERSION) $(ARDUINO_ARCH_FLAG) \
-I$(ARDUINO_CORE_PATH) -I$(ARDUINO_VAR_PATH)/$(VARIANT) \
$(SYS_INCLUDES) $(PLATFORM_INCLUDES) $(USER_INCLUDES) -Wall -ffunction-sections \
-fdata-sections
+# PROG_TYPES_COMPAT is enabled by default for compatibility with the Arduino IDE.
+# By placing it before the user-provided CPPFLAGS rather than after, we allow the
+# the user to disable it if they like, by adding the negation of the flag
+# (-U__PROG_TYPES_COMPAT__) to the user-provided CPPFLAGS.
+CPPFLAGS := -D__PROG_TYPES_COMPAT__ $(CPPFLAGS)
+
ifdef DEBUG
OPTIMIZATION_FLAGS= $(DEBUG_FLAGS)
else
diff --git a/HISTORY.md b/HISTORY.md
index b4f4200..434ed96 100644
--- a/HISTORY.md
+++ b/HISTORY.md
@@ -18,6 +18,7 @@ I tried to give credit whenever possible. If I have missed anyone, kindly add it
- New: Add generation of tags file using ctags, which automatically includes project libs and Arduino core. (https://github.com/tuna-f1sh)
- New: Add template Makefile and project boilerplate initialise script, `ardmk-init`. (https://github.com/tuna-f1sh)
- New: Support atmelice_isp JTAG tool as ISP programmer. (https://github.com/tuna-f1sh)
+- New: Compatibility with deprecated pgmspace.h API can now be disabled since it sometimes causes bogus compiler warnings (issue #546)
- New: Support Arduino ARM-based (SAM/SAMD) devices. (https://github.com/tuna-f1sh)
### 1.6.0 (2017-07-11)