Skip to content

Commit 09c61ef

Browse files
committed
Split partition from LTO enable
1 parent 6d36988 commit 09c61ef

File tree

4 files changed

+15
-21
lines changed

4 files changed

+15
-21
lines changed

ports/atmel-samd/boards/feather_m4_can/mpconfigboard.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@ LONGINT_IMPL = MPZ
1313
CIRCUITPY__EVE = 1
1414
CIRCUITPY_CANIO = 1
1515

16-
CIRCUITPY_LTO = one
16+
CIRCUITPY_LTO_PARTITION = one

ports/atmel-samd/mpconfigport.mk

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ USB_NUM_ENDPOINT_PAIRS = 8
99

1010
CIRCUITPY_ROTARYIO_SOFTENCODER = 1
1111
CIRCUITPY_OPTIMIZE_PROPERTY_FLASH_SIZE ?= 1
12+
CIRCUITPY_LTO = 1
1213

1314
######################################################################
1415
# Put samd21-only choices here.
@@ -78,7 +79,7 @@ endif
7879
SUPEROPT_GC = 0
7980
SUPEROPT_VM = 0
8081

81-
CIRCUITPY_LTO = one
82+
CIRCUITPY_LTO_PARTITION = one
8283

8384
ifeq ($(CIRCUITPY_FULL_BUILD),0)
8485
# On the smallest boards, this saves about 180 bytes. On other boards, it may -increase- space used.
@@ -96,10 +97,8 @@ ifeq ($(CHIP_FAMILY),samd51)
9697
# No native touchio on SAMD51.
9798
CIRCUITPY_TOUCHIO_USE_NATIVE = 0
9899

99-
ifeq ($(CIRCUITPY_FULL_BUILD),1)
100-
CIRCUITPY_LTO ?= balanced
101-
else
102-
CIRCUITPY_LTO ?= one
100+
ifeq ($(CIRCUITPY_FULL_BUILD),0)
101+
CIRCUITPY_LTO_PARTITION ?= one
103102
endif
104103

105104
# The ?='s allow overriding in mpconfigboard.mk.
@@ -124,10 +123,8 @@ ifeq ($(CHIP_FAMILY),same51)
124123
# No native touchio on SAME51.
125124
CIRCUITPY_TOUCHIO_USE_NATIVE = 0
126125

127-
ifeq ($(CIRCUITPY_FULL_BUILD),1)
128-
CIRCUITPY_LTO ?= balanced
129-
else
130-
CIRCUITPY_LTO ?= one
126+
ifeq ($(CIRCUITPY_FULL_BUILD),0)
127+
CIRCUITPY_LTO_PARTITION ?= one
131128
endif
132129

133130
# The ?='s allow overriding in mpconfigboard.mk.

ports/nrf/mpconfigport.mk

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,8 @@ CFLAGS += -DCONFIG_NFCT_PINS_AS_GPIOS
7373

7474
ifeq ($(INTERNAL_FLASH_FILESYSTEM),1)
7575
OPTIMIZATION_FLAGS ?= -Os
76-
CIRCUITPY_LTO=balanced
76+
CIRCUITPY_LTO = 1
77+
CIRCUITPY_LTO_PARTITION = balanced
7778
endif
7879

7980
else
@@ -94,6 +95,7 @@ NRF_DEFINES += -DNRF52833_XXAA -DNRF52833
9495

9596
OPTIMIZATION_FLAGS ?= -Os
9697

97-
CIRCUITPY_LTO=one
98+
CIRCUITPY_LTO = 1
99+
CIRCUITPY_LTO_PARTITION = one
98100
endif
99101
endif

py/circuitpy_defns.mk

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -68,20 +68,15 @@ CFLAGS += -DCIRCUITPY_DEBUG=0
6868
endif
6969

7070
CIRCUITPY_LTO ?= 0
71-
ifneq ($(CIRCUITPY_LTO),0)
72-
CFLAGS += -DCIRCUITPY_LTO=1 -flto=$(shell $(NPROC)) -flto-partition=$(CIRCUITPY_LTO)
73-
else
74-
CFLAGS += -DCIRCUITPY_LTO=0
71+
CIRCUITPY_LTO_PARTITION ?= balanced
72+
ifeq ($(CIRCUITPY_LTO),1)
73+
CFLAGS += -flto -flto-partition=$(CIRCUITPY_LTO_PARTITION)
7574
endif
7675

7776
# Produce an object file for translate.c instead of including it in a header.
7877
# The header version can be optimized on non-LTO builds *if* inlining is allowed
7978
# otherwise, it blows up the binary sizes with tons of translate copies.
80-
ifeq ($(CIRCUITPY_LTO), 0)
81-
CIRCUITPY_TRANSLATE_OBJECT ?= 0
82-
else
83-
CIRCUITPY_TRANSLATE_OBJECT ?= 1
84-
endif
79+
CIRCUITPY_TRANSLATE_OBJECT ?= $(CIRCUITPY_LTO)
8580
CFLAGS += -DCIRCUITPY_TRANSLATE_OBJECT=$(CIRCUITPY_TRANSLATE_OBJECT)
8681

8782
###

0 commit comments

Comments
 (0)