brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · 9987d6f Raw
51 lines · plain
1#===-- cmake/modules/HandleLibs.cmake --------------------------------------===#2#3# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4# See https://llvm.org/LICENSE.txt for license information.5# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6#7#===------------------------------------------------------------------------===#8 9# Select the C library to use for building flang-rt.10if (FLANG_RT_LIBC_PROVIDER STREQUAL "system")11  add_library(flang-rt-libc-headers INTERFACE)12  add_library(flang-rt-libc-static INTERFACE)13  add_library(flang-rt-libc-shared INTERFACE)14elseif (FLANG_RT_LIBC_PROVIDER STREQUAL "llvm")15  add_library(flang-rt-libc-headers INTERFACE)16  target_link_libraries(flang-rt-libc-headers INTERFACE libc-headers)17  if (FLANG_RT_HAS_NOSTDLIBINC_FLAG)18    target_compile_options(flang-rt-libc-headers INTERFACE $<$<COMPILE_LANGUAGE:CXX,C>:-nostdlibinc>)19  endif ()20 21  add_library(flang-rt-libc-static INTERFACE)22  if (TARGET libc)23    target_link_libraries(flang-rt-libc-static INTERFACE libc)24  endif ()25  if (TARGET libm)26    target_link_libraries(flang-rt-libc-static INTERFACE libm)27  endif ()28  if (FLANG_RT_HAS_NOSTDLIB_FLAG)29    target_compile_options(flang-rt-libc-headers INTERFACE $<$<COMPILE_LANGUAGE:CXX,C>:-nostdlib>)30  endif ()31 32  # TODO: There's no support for building LLVM libc as a shared library yet.33  add_library(flang-rt-libc-shared INTERFACE)34endif ()35 36# Select the C++ library to use for building flang-rt.37if (FLANG_RT_LIBCXX_PROVIDER STREQUAL "system")38  add_library(flang-rt-libcxx-headers INTERFACE)39elseif (FLANG_RT_LIBCXX_PROVIDER STREQUAL "llvm")40  add_library(flang-rt-libcxx-headers INTERFACE)41  target_link_libraries(flang-rt-libcxx-headers INTERFACE cxx-headers)42 43  if (CXX_SUPPORTS_NOSTDINCXX_FLAG)44    target_compile_options(flang-rt-libc-headers INTERFACE $<$<COMPILE_LANGUAGE:CXX,C>:-nostdinc++>)45  endif ()46 47  if (FLANG_RT_HAS_STDLIB_FLAG)48    target_compile_options(flang-rt-libc-headers INTERFACE $<$<COMPILE_LANGUAGE:CXX,C>:-stdlib=libc++>)49  endif ()50endif ()51