提交 fff17830 编写于 作者: I Ivan Kravets 提交者: Me No Dev

Switch to isolated build flags per framework (#1748)

上级 cb53ec48
...@@ -34,17 +34,25 @@ platform = env.PioPlatform() ...@@ -34,17 +34,25 @@ platform = env.PioPlatform()
FRAMEWORK_DIR = platform.get_package_dir("framework-arduinoespressif32") FRAMEWORK_DIR = platform.get_package_dir("framework-arduinoespressif32")
assert isdir(FRAMEWORK_DIR) assert isdir(FRAMEWORK_DIR)
env.Prepend( env.Append(
CPPDEFINES=[ ASFLAGS=["-x", "assembler-with-cpp"],
("ARDUINO", 10805),
"ARDUINO_ARCH_ESP32",
("ARDUINO_VARIANT", '\\"%s\\"' % env.BoardConfig().get("build.variant").replace('"', "")),
("ARDUINO_BOARD", '\\"%s\\"' % env.BoardConfig().get("name").replace('"', ""))
],
CFLAGS=["-Wno-old-style-declaration"], CFLAGS=[
"-std=gnu99",
"-Wno-old-style-declaration"
],
CCFLAGS=[ CCFLAGS=[
"-Os",
"-Wall",
"-nostdlib",
"-Wpointer-arith",
"-Wno-error=unused-but-set-variable",
"-Wno-error=unused-variable",
"-mlongcalls",
"-ffunction-sections",
"-fdata-sections",
"-fstrict-volatile-bitfields",
"-Wno-error=deprecated-declarations", "-Wno-error=deprecated-declarations",
"-Wno-error=unused-function", "-Wno-error=unused-function",
"-Wno-unused-parameter", "-Wno-unused-parameter",
...@@ -53,6 +61,40 @@ env.Prepend( ...@@ -53,6 +61,40 @@ env.Prepend(
"-fexceptions" "-fexceptions"
], ],
CXXFLAGS=[
"-fno-rtti",
"-fno-exceptions",
"-std=gnu++11"
],
LINKFLAGS=[
"-nostdlib",
"-Wl,-static",
"-u", "call_user_start_cpu0",
"-Wl,--undefined=uxTopUsedPriority",
"-Wl,--gc-sections",
"-Wl,-EL",
"-T", "esp32.common.ld",
"-T", "esp32.rom.ld",
"-T", "esp32.peripherals.ld",
"-T", "esp32.rom.spiram_incompatible_fns.ld",
"-u", "ld_include_panic_highint_hdl",
"-u", "__cxa_guard_dummy",
"-u", "__cxx_fatal_exception"
],
CPPDEFINES=[
"ESP32",
"ESP_PLATFORM",
("F_CPU", "$BOARD_F_CPU"),
"HAVE_CONFIG_H",
("MBEDTLS_CONFIG_FILE", '\\"mbedtls/esp_config.h\\"'),
("ARDUINO", 10805),
"ARDUINO_ARCH_ESP32",
("ARDUINO_VARIANT", '\\"%s\\"' % env.BoardConfig().get("build.variant").replace('"', "")),
("ARDUINO_BOARD", '\\"%s\\"' % env.BoardConfig().get("name").replace('"', ""))
],
CPPPATH=[ CPPPATH=[
join(FRAMEWORK_DIR, "tools", "sdk", "include", "config"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "config"),
join(FRAMEWORK_DIR, "tools", "sdk", "include", "bluedroid"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "bluedroid"),
...@@ -98,32 +140,20 @@ env.Prepend( ...@@ -98,32 +140,20 @@ env.Prepend(
join(FRAMEWORK_DIR, "tools", "sdk", "include", "wpa_supplicant"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "wpa_supplicant"),
join(FRAMEWORK_DIR, "cores", env.BoardConfig().get("build.core")) join(FRAMEWORK_DIR, "cores", env.BoardConfig().get("build.core"))
], ],
LIBPATH=[ LIBPATH=[
join(FRAMEWORK_DIR, "tools", "sdk", "lib"), join(FRAMEWORK_DIR, "tools", "sdk", "lib"),
join(FRAMEWORK_DIR, "tools", "sdk", "ld") join(FRAMEWORK_DIR, "tools", "sdk", "ld")
], ],
LIBS=[ LIBS=[
"gcc", "openssl", "btdm_app", "fatfs", "wps", "coexist", "wear_levelling", "esp_http_client", "hal", "newlib", "driver", "bootloader_support", "pp", "mesh", "smartconfig", "jsmn", "wpa", "ethernet", "phy", "app_trace", "console", "ulp", "wpa_supplicant", "freertos", "bt", "micro-ecc", "cxx", "xtensa-debug-module", "mdns", "vfs", "soc", "core", "sdmmc", "coap", "tcpip_adapter", "c_nano", "esp-tls", "rtc", "spi_flash", "wpa2", "esp32", "app_update", "nghttp", "spiffs", "espnow", "nvs_flash", "esp_adc_cal", "log", "smartconfig_ack", "expat", "m", "c", "heap", "mbedtls", "lwip", "net80211", "pthread", "json", "stdc++" "gcc", "openssl", "btdm_app", "fatfs", "wps", "coexist", "wear_levelling", "esp_http_client", "hal", "newlib", "driver", "bootloader_support", "pp", "mesh", "smartconfig", "jsmn", "wpa", "ethernet", "phy", "app_trace", "console", "ulp", "wpa_supplicant", "freertos", "bt", "micro-ecc", "cxx", "xtensa-debug-module", "mdns", "vfs", "soc", "core", "sdmmc", "coap", "tcpip_adapter", "c_nano", "esp-tls", "rtc", "spi_flash", "wpa2", "esp32", "app_update", "nghttp", "spiffs", "espnow", "nvs_flash", "esp_adc_cal", "log", "smartconfig_ack", "expat", "m", "c", "heap", "mbedtls", "lwip", "net80211", "pthread", "json", "stdc++"
] ],
)
env.Append(
LIBSOURCE_DIRS=[ LIBSOURCE_DIRS=[
join(FRAMEWORK_DIR, "libraries") join(FRAMEWORK_DIR, "libraries")
], ],
LINKFLAGS=[
"-Wl,-EL",
"-T", "esp32.common.ld",
"-T", "esp32.rom.ld",
"-T", "esp32.peripherals.ld",
"-T", "esp32.rom.spiram_incompatible_fns.ld",
"-u", "ld_include_panic_highint_hdl",
"-u", "__cxa_guard_dummy",
"-u", "__cxx_fatal_exception"
],
FLASH_EXTRA_IMAGES=[ FLASH_EXTRA_IMAGES=[
("0x1000", join(FRAMEWORK_DIR, "tools", "sdk", "bin", "bootloader_${BOARD_FLASH_MODE}_${__get_board_f_flash(__env__)}.bin")), ("0x1000", join(FRAMEWORK_DIR, "tools", "sdk", "bin", "bootloader_${BOARD_FLASH_MODE}_${__get_board_f_flash(__env__)}.bin")),
("0x8000", join(env.subst("$BUILD_DIR"), "partitions.bin")), ("0x8000", join(env.subst("$BUILD_DIR"), "partitions.bin")),
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册