Ver código fonte

add: 启用flto,尝试生成更优的代码

Wendal Chen 4 anos atrás
pai
commit
885495bec2
1 arquivos alterados com 8 adições e 5 exclusões
  1. 8 5
      xmake.lua

+ 8 - 5
xmake.lua

@@ -16,6 +16,9 @@ elseif is_plat("windows") then
     sdk_dir = "E:\\csky-elfabiv2-tools-mingw-minilibc\\"
 end
 
+local flto = " -flto "
+-- local flto = ""
+
 toolchain("csky_toolchain")
     set_kind("standalone")
     set_sdkdir(sdk_dir)
@@ -28,10 +31,10 @@ add_defines("GCC_COMPILE=1","TLS_CONFIG_CPU_XT804=1","NIMBLE_FTR=1","USE_LUATOS"
 set_warnings("all")
 set_optimize("smallest")
 -- set language: c99
-set_languages("c99", "cxx11")
-add_asflags("-DTLS_CONFIG_CPU_XT804=1 -DGCC_COMPILE=1 -mcpu=ck804ef -std=gnu99 -c -mhard-float -Wa,--gdwarf2 -fdata-sections -ffunction-sections")
-add_cflags("-DTLS_CONFIG_CPU_XT804=1 -DGCC_COMPILE=1 -mcpu=ck804ef -std=gnu99 -c -mhard-float -Wall -fdata-sections -ffunction-sections")
-add_cxflags("-DTLS_CONFIG_CPU_XT804=1 -DGCC_COMPILE=1 -mcpu=ck804ef -std=gnu99 -c -mhard-float -Wall -fdata-sections -ffunction-sections")
+set_languages("c99")
+add_asflags(flto .. "-DTLS_CONFIG_CPU_XT804=1 -DGCC_COMPILE=1 -mcpu=ck804ef -std=gnu99 -c -mhard-float -Wa,--gdwarf2 -fdata-sections -ffunction-sections")
+add_cflags(flto .. "-DTLS_CONFIG_CPU_XT804=1 -DGCC_COMPILE=1 -mcpu=ck804ef -std=gnu99 -c -mhard-float -Wall -fdata-sections -ffunction-sections")
+add_cxflags(flto .. "-DTLS_CONFIG_CPU_XT804=1 -DGCC_COMPILE=1 -mcpu=ck804ef -std=gnu99 -c -mhard-float -Wall -fdata-sections -ffunction-sections")
 
 set_dependir("$(buildir)/.deps")
 set_objectdir("$(buildir)/.objs")
@@ -81,7 +84,7 @@ target("air10x")
         if TARGET_CONF == nil then TARGET_NAME = "AIR103" else TARGET_NAME = "AIR101" end
         target:add("defines", TARGET_NAME)
         target:set("filename", TARGET_NAME..".elf")
-        target:add("ldflags", "-Wl,--gc-sections -Wl,-zmax-page-size=1024 -Wl,--whole-archive ./lib/libwmsys.a ./lib/libdrivers.a ./lib/libos.a ./lib/libblehost.a ./lib/libwmarch.a ./lib/libwmcommon.a ./lib/libapp.a ./lib/libgt.a ./lib/libwlan.a ./lib/libdsp.a ./lib/libbtcontroller.a -Wl,--no-whole-archive -mcpu=ck804ef -nostartfiles -mhard-float -lm -Wl,-T./ld/"..TARGET_NAME..".ld -Wl,-ckmap=./build/out/"..TARGET_NAME..".map ",{force = true})
+        target:add("ldflags", flto .. "-Wl,--gc-sections -Wl,-zmax-page-size=1024 -Wl,--whole-archive ./lib/libwmsys.a ./lib/libdrivers.a ./lib/libos.a ./lib/libblehost.a ./lib/libwmarch.a ./lib/libwmcommon.a ./lib/libapp.a ./lib/libgt.a ./lib/libwlan.a ./lib/libdsp.a ./lib/libbtcontroller.a -Wl,--no-whole-archive -mcpu=ck804ef -nostartfiles -mhard-float -lm -Wl,-T./ld/"..TARGET_NAME..".ld -Wl,-ckmap=./build/out/"..TARGET_NAME..".map ",{force = true})
     end)
 
     -- add files