blob: 433e0af715d30ef60d2cd110d8d1c55d6d9076a9 [file] [log] [blame]
# The top-level lib directory contains a large amount of C code which provides
# generic implementations of the core runtime library along with optimized
# architecture-specific code in various subdirectories.
file(GLOB GENERIC_SOURCES . "*.c")
# FIXME: We don't currently support building an atomic library, and as it must
# be a separate library from the runtime library, we need to remove its source
# code from the glob.
file(GLOB ATOMIC . "atomic.c")
list(REMOVE_ITEM GENERIC_SOURCES ${ATOMIC})
if(CAN_TARGET_X86_64)
file(GLOB X86_64_SOURCES . "*.c" "*.S")
add_library(clang_rt.x86_64 STATIC ${X86_64_SOURCES} ${GENERIC_SOURCES})
set_target_properties(clang_rt.x86_64 PROPERTIES COMPILE_FLAGS "${TARGET_X86_64_CFLAGS}")
endif()
if(CAN_TARGET_I386)
file(GLOB I386_SOURCES . "*.c" "*.S")
add_library(clang_rt.i386 STATIC ${I386_SOURCES} ${GENERIC_SOURCES})
set_target_properties(clang_rt.i386 PROPERTIES COMPILE_FLAGS "${TARGET_I386_CFLAGS}")
endif()
# Also support building feature-based runtime libraries in their various
# subdircetories.
add_subdirectory(asan)
# FIXME: Add support for the profile library.