mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-10-31 13:09:38 +00:00 
			
		
		
		
	 420aef1ffe
			
		
	
	420aef1ffe
	
	
	
		
			
			* Target components pull in xtensa component directly * Use CPU HAL where applicable * Remove unnecessary xtensa headers * Compilation changes necessary to support non-xtensa gcc types (ie int32_t/uint32_t is no longer signed/unsigned int). Changes come from internal branch commit a6723fc
		
			
				
	
	
		
			77 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| idf_build_get_property(target IDF_TARGET)
 | |
| 
 | |
| if(CONFIG_IDF_ENV_FPGA)
 | |
|     list(APPEND srcs "src/fpga_overrides.c")
 | |
| endif()
 | |
| 
 | |
| if(BOOTLOADER_BUILD)
 | |
|     # For bootloader, all we need from esp_common is headers
 | |
|     idf_component_register(SRCS ${srcs}
 | |
|                            INCLUDE_DIRS include
 | |
|                            PRIV_REQUIRES soc)
 | |
|     set_property(TARGET ${COMPONENT_LIB} APPEND PROPERTY INTERFACE_LINK_LIBRARIES "-Wl,--gc-sections")
 | |
| else()
 | |
|     # Regular app build
 | |
|     list(APPEND srcs "src/brownout.c"
 | |
|              "src/esp_err.c"
 | |
|              "src/esp_err_to_name.c"
 | |
|              "src/freertos_hooks.c"
 | |
|              "src/mac_addr.c"
 | |
|              "src/stack_check.c"
 | |
|              "src/task_wdt.c"
 | |
|              "src/int_wdt.c")
 | |
| 
 | |
|     if(NOT CONFIG_IDF_TARGET_ESP32C3)
 | |
|         list(APPEND srcs "src/dbg_stubs.c")
 | |
|     endif()
 | |
| 
 | |
|     # Note: esp_ipc, esp_pm added as a public requirement to keep compatibility as to be located here.
 | |
|     idf_component_register(SRCS "${srcs}"
 | |
|                            INCLUDE_DIRS include
 | |
|                            REQUIRES ${target} espcoredump esp_timer esp_ipc esp_pm esp_hw_support
 | |
|                            PRIV_REQUIRES soc
 | |
|                            LDFRAGMENTS "linker.lf")
 | |
| 
 | |
|     set_source_files_properties(
 | |
|         "src/stack_check.c"
 | |
|         PROPERTIES COMPILE_FLAGS
 | |
|         -fno-stack-protector)
 | |
| 
 | |
|     set_property(TARGET ${COMPONENT_LIB} APPEND PROPERTY LINK_LIBRARIES "-Wl,--gc-sections")
 | |
|     set_property(TARGET ${COMPONENT_LIB} APPEND PROPERTY INTERFACE_LINK_LIBRARIES "-Wl,--gc-sections")
 | |
|     set_property(TARGET ${COMPONENT_LIB} APPEND PROPERTY LINK_INTERFACE_MULTIPLICITY 4)
 | |
| 
 | |
|     # List of components needed for the error codes list
 | |
|     set(optional_reqs ulp
 | |
|                       efuse
 | |
|                       esp_http_client
 | |
|                       esp_http_server
 | |
|                       bootloader_support
 | |
|                       nvs_flash
 | |
|                       esp_wifi
 | |
|                       app_update
 | |
|                       lwip
 | |
|                       spi_flash
 | |
|                       wpa_supplicant
 | |
|                       tcpip_adapter
 | |
|                       esp_serial_slave_link
 | |
|                       esp_netif
 | |
|                       soc
 | |
|                       esp-tls
 | |
|                       esp_https_ota)
 | |
| 
 | |
|     idf_build_get_property(build_components BUILD_COMPONENTS)
 | |
|     foreach(req ${optional_reqs})
 | |
|         if(req IN_LIST build_components)
 | |
|             idf_component_get_property(req_lib ${req} COMPONENT_LIB)
 | |
|             target_link_libraries(${COMPONENT_LIB} PRIVATE ${req_lib})
 | |
|         endif()
 | |
|     endforeach()
 | |
| 
 | |
| endif()
 | |
| 
 | |
| if(CONFIG_IDF_ENV_FPGA)
 | |
|     # Forces the linker to include fpga stubs from this component
 | |
|     target_link_libraries(${COMPONENT_LIB} INTERFACE "-u esp_common_include_fpga_overrides")
 | |
| endif()
 |