blob: dff1dd3b70b51f1a40c84b84c0d354544aeb58d8 [file] [log] [blame] [edit]
add_subdirectory(generic)
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${LIBC_TARGET_ARCHITECTURE})
add_subdirectory(${LIBC_TARGET_ARCHITECTURE})
endif()
function(add_vector_math_entrypoint_object name)
# We prefer machine specific implementation if available. Hence we check
# that first and return early if we are able to add an alias target for the
# machine specific implementation.
get_fq_target_name("${LIBC_TARGET_ARCHITECTURE}.${name}" fq_machine_specific_target_name)
if(TARGET ${fq_machine_specific_target_name})
add_entrypoint_object(
${name}
ALIAS
DEPENDS
.${LIBC_TARGET_ARCHITECTURE}.${name}
)
return()
endif()
get_fq_target_name("generic.${name}" fq_generic_target_name)
if(TARGET ${fq_generic_target_name})
add_entrypoint_object(
${name}
ALIAS
DEPENDS
.generic.${name}
)
return()
endif()
# Add a dummy entrypoint object for missing implementations. They will be skipped
# anyway as there will be no entry for them in the target entrypoints list.
add_entrypoint_object(
${name}
SRCS
dummy_srcs
HDRS
dummy_hdrs
)
endfunction()
add_vector_math_entrypoint_object(expf)