mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-02 04:04:31 +02:00
cxx: force pthread to appear later in link line
This commit is contained in:
@@ -1,9 +1,17 @@
|
|||||||
idf_component_register(SRCS "cxx_exception_stubs.cpp"
|
idf_component_register(SRCS "cxx_exception_stubs.cpp"
|
||||||
"cxx_guards.cpp")
|
"cxx_guards.cpp"
|
||||||
|
# Make sure that pthread is in component list
|
||||||
|
PRIV_REQUIRES pthread)
|
||||||
|
|
||||||
target_link_libraries(${COMPONENT_LIB} PUBLIC stdc++ gcc)
|
target_link_libraries(${COMPONENT_LIB} PUBLIC stdc++ gcc)
|
||||||
target_link_libraries(${COMPONENT_LIB} INTERFACE "-u __cxa_guard_dummy")
|
target_link_libraries(${COMPONENT_LIB} INTERFACE "-u __cxa_guard_dummy")
|
||||||
|
|
||||||
|
# Force pthread to also appear later than stdc++ in link line
|
||||||
|
add_library(stdcpp_pthread INTERFACE)
|
||||||
|
idf_component_get_property(pthread pthread COMPONENT_LIB)
|
||||||
|
target_link_libraries(stdcpp_pthread INTERFACE stdc++ $<TARGET_FILE:${pthread}>)
|
||||||
|
target_link_libraries(${COMPONENT_LIB} PUBLIC stdcpp_pthread)
|
||||||
|
|
||||||
if(NOT CONFIG_COMPILER_CXX_EXCEPTIONS)
|
if(NOT CONFIG_COMPILER_CXX_EXCEPTIONS)
|
||||||
target_link_libraries(${COMPONENT_LIB} INTERFACE "-u __cxx_fatal_exception")
|
target_link_libraries(${COMPONENT_LIB} INTERFACE "-u __cxx_fatal_exception")
|
||||||
endif()
|
endif()
|
||||||
|
Reference in New Issue
Block a user