Lines Matching +full:flang +full:- +full:build

6 set(COMMON_CMAKE_ARGS "-DHAVE_LLVM_LIT=ON;-DCLANG_RESOURCE_DIR=${CLANG_RESOURCE_DIR}")
15 STRING(REGEX REPLACE "-" "_" canon_name ${canon_name})
32 if("${projName}" MATCHES "compiler-rt")
47 compiler-rt for Darwin builds for all platforms and architectures using a \
48 single configuration. Specify only a single darwin triple (e.g. x86_64-apple-darwin) \
51 control the specific platforms and architectures to build.")
54 string(REPLACE "-" ";" triple_components ${triple})
76 # AIX should fold 32-bit & 64-bit arch libraries into a single archive.
93 CMAKE_ARGS -DLLVM_LIBRARY_OUTPUT_INTDIR=${LLVM_LIBRARY_DIR}
94 -DLLVM_RUNTIME_OUTPUT_INTDIR=${LLVM_TOOLS_BINARY_DIR}
95 -DLLVM_DEFAULT_TARGET_TRIPLE=${LLVM_TARGET_TRIPLE}
96 -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=${LLVM_ENABLE_PER_TARGET_RUNTIME_DIR}
97 -DLLVM_CMAKE_DIR=${CMAKE_BINARY_DIR}
98 -DCMAKE_C_COMPILER_WORKS=ON
99 -DCMAKE_ASM_COMPILER_WORKS=ON
107 FOLDER "Compiler-RT"
122 list(APPEND ${name}_extra_args -C ${cache})
126 list(APPEND ${name}_extra_args "-D${new_name}=${new_value}")
131 llvm_ExternalProject_Add(builtins-${name}
134 CMAKE_ARGS -DLLVM_LIBRARY_OUTPUT_INTDIR=${LLVM_LIBRARY_DIR}
135 -DLLVM_RUNTIME_OUTPUT_INTDIR=${LLVM_TOOLS_BINARY_DIR}
136 -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON
137 -DLLVM_CMAKE_DIR=${CMAKE_BINARY_DIR}
138 -DCMAKE_C_COMPILER_WORKS=ON
139 -DCMAKE_ASM_COMPILER_WORKS=ON
140 -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON
144 FOLDER "Compiler-RT"
148 # If compiler-rt is present we need to build the builtin libraries first. This
150 # before the just-built compiler can pass the configuration tests.
156 if("compiler-rt" IN_LIST LLVM_ENABLE_RUNTIMES)
160 if("compiler-rt" IN_LIST RUNTIMES_${name}_LLVM_ENABLE_RUNTIMES)
167 DEPENDS clang-resource-headers)
171 add_custom_target(install-builtins)
172 add_custom_target(install-builtins-stripped)
174 builtins install-builtins install-builtins-stripped
175 PROPERTIES FOLDER "Compiler-RT"
183 DEPENDS clang-resource-headers
184 CMAKE_ARGS -DLLVM_DEFAULT_TARGET_TRIPLE=${target}
187 add_dependencies(builtins builtins-${target})
188 add_dependencies(install-builtins install-builtins-${target})
189 add_dependencies(install-builtins-stripped install-builtins-${target}-stripped)
193 # because the next stage will use the same compiler used to build this stage.
195 add_dependencies(clang-bootstrap-deps builtins)
202 string(SUBSTRING ${name} 3 -1 name)
212 string(REPLACE "-" "_" canon_name ${name})
218 # Many compiler-rt options start with SANITIZER_ and DARWIN_ rather than
219 # COMPILER_RT_, so when compiler-rt is enabled, consider both.
242 install-${runtime_name}
243 install-${runtime_name}-stripped)
245 list(APPEND test_targets check-${runtime_name})
250 list(APPEND extra_targets install-${component} install-${component}-stripped)
255 set_property(GLOBAL APPEND PROPERTY LLVM_ALL_LIT_TESTSUITES "@${LLVM_BINARY_DIR}/runtimes/runtimes-bins/lit.tests")
256 list(APPEND test_targets runtimes-test-depends check-runtimes)
265 CMAKE_ARGS -DCOMPILER_RT_BUILD_BUILTINS=Off
266 -DLLVM_INCLUDE_TESTS=${LLVM_INCLUDE_TESTS}
267 -DLLVM_DEFAULT_TARGET_TRIPLE=${LLVM_TARGET_TRIPLE}
268 -DLLVM_ENABLE_PROJECTS_USED=${LLVM_ENABLE_PROJECTS_USED}
269 -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=${LLVM_ENABLE_PER_TARGET_RUNTIME_DIR}
270 -DLLVM_BUILD_TOOLS=${LLVM_BUILD_TOOLS}
271 -DCMAKE_C_COMPILER_WORKS=ON
272 -DCMAKE_CXX_COMPILER_WORKS=ON
273 -DCMAKE_ASM_COMPILER_WORKS=ON
312 set(${runtime_name}-${name} ${runtime_name})
313 set(install-${runtime_name}-${name} install-${runtime_name})
314 set(install-${runtime_name}-${name}-stripped install-${runtime_name}-stripped)
315 list(APPEND ${name}_extra_targets ${runtime_name}-${name} install-${runtime_name}-${name} install-${runtime_name}-${name}-stripped)
317 set(check-${runtime_name}-${name} check-${runtime_name} )
318 list(APPEND ${name}_test_targets check-${runtime_name}-${name})
323 set(${component}-${name} ${component})
324 list(APPEND ${name}_extra_targets ${component}-${name})
328 set(${target}-${name} ${target})
329 set(${target}-${name}-stripped ${target}-stripped)
330 list(APPEND ${name}_extra_targets ${target}-${name} ${target}-${name}-stripped)
335 set(${component}-${name} ${component})
336 set(install-${component}-${name} install-${component})
337 set(install-${component}-${name}-stripped install-${component}-stripped)
338 list(APPEND ${name}_extra_targets ${component}-${name} install-${component}-${name} install-${component}-${name}-stripped)
343 set_property(GLOBAL APPEND PROPERTY LLVM_ALL_LIT_TESTSUITES "@${LLVM_BINARY_DIR}/runtimes/runtimes-${name}-bins/lit.tests")
344 set(runtimes-test-depends-${name} runtimes-test-depends)
345 set(check-runtimes-${name} check-runtimes)
346 list(APPEND ${name}_test_targets runtimes-test-depends-${name} check-runtimes-${name})
351 if(NOT "check-${component}" IN_LIST SUB_CHECK_TARGETS)
352 list(APPEND component_check_targets "check-${component}")
357 set(${target}-${name} ${target})
358 list(APPEND ${name}_test_targets ${target}-${name})
359 list(APPEND test_targets ${target}-${name})
366 list(APPEND ${name}_extra_args -DLLVM_ENABLE_RUNTIMES=${LLVM_ENABLE_RUNTIMES_PASSTHROUGH})
367 list(APPEND ${name}_extra_args -DLLVM_USE_LINKER=${LLVM_USE_LINKER})
377 list(APPEND ${name}_extra_args -C ${cache})
381 list(APPEND ${name}_extra_args "-D${new_name}=${new_value}")
386 string(FIND "${variable_name}" "-DRUNTIMES_${extra_name}_" out)
388 string(REPLACE "-DRUNTIMES_${extra_name}_" "" new_name ${variable_name})
390 list(APPEND ${name}_extra_args "-D${new_value}")
397 llvm_ExternalProject_Add(runtimes-${name}
401 CMAKE_ARGS -DCOMPILER_RT_BUILD_BUILTINS=OFF
402 -DLLVM_INCLUDE_TESTS=${LLVM_INCLUDE_TESTS}
403 -DLLVM_ENABLE_PROJECTS_USED=${LLVM_ENABLE_PROJECTS_USED}
404 -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=${LLVM_ENABLE_PER_TARGET_RUNTIME_DIR}
405 -DCMAKE_C_COMPILER_WORKS=ON
406 -DCMAKE_CXX_COMPILER_WORKS=ON
407 -DCMAKE_ASM_COMPILER_WORKS=ON
408 -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON
409 -DLLVM_RUNTIMES_TARGET=${name}
418 add_dependencies(runtimes runtimes-${name})
419 add_dependencies(runtimes-configure runtimes-${name}-configure)
420 add_dependencies(install-runtimes install-runtimes-${name})
421 add_dependencies(install-runtimes-stripped install-runtimes-${name}-stripped)
423 add_dependencies(check-runtimes check-runtimes-${name})
424 add_dependencies(runtimes-test-depends runtimes-test-depends-${name})
431 add_dependencies(${runtime_name} ${runtime_name}-${name})
432 if(NOT TARGET install-${runtime_name})
433 add_custom_target(install-${runtime_name})
434 set_target_properties(install-${runtime_name} PROPERTIES FOLDER "${runtime_name}")
436 add_dependencies(install-${runtime_name} install-${runtime_name}-${name})
437 if(NOT TARGET install-${runtime_name}-stripped)
438 add_custom_target(install-${runtime_name}-stripped)
439 set_target_properties(install-${runtime_name} PROPERTIES FOLDER "${runtime_name}")
441 add_dependencies(install-${runtime_name}-stripped install-${runtime_name}-${name}-stripped)
444 add_dependencies(${component} ${component}-${name})
445 add_dependencies(install-${component} install-${component}-${name})
446 add_dependencies(install-${component}-stripped install-${component}-${name}-stripped)
450 # Check if we have any runtimes to build.
461 # Create a runtimes target that uses this file as its top-level CMake file.
473 llvm-cov
474 llvm-lto
475 llvm-jitlink
476 llvm-nm
477 llvm-objdump
478 llvm-profdata
479 llvm-size
480 llvm-symbolizer
481 llvm-xray
489 split-file)
496 # Forward user-provived system configuration to runtimes for requirement introspection.
499 list(APPEND extra_cmake_args "-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}")
503 list(APPEND extra_cmake_args "-DCMAKE_PROGRAM_PATH=${CMAKE_PROGRAM_PATH}")
508 message(STATUS "Configuring build of omp_lib.mod and omp_lib_kinds.mod via flang")
509 set(LIBOMP_FORTRAN_MODULES_COMPILER "${CMAKE_BINARY_DIR}/bin/flang")
510 set(LIBOMP_MODULES_INSTALL_PATH "${CMAKE_INSTALL_INCLUDEDIR}/flang")
511 # TODO: This is a workaround until flang becomes a first-class project
512 # in llvm/CMakeList.txt. Until then, this line ensures that flang is
513 # built before "openmp" is built as a runtime project. Besides "flang"
514 # to build the compiler, we also need to add "module_files" to make sure
515 # that all .mod files are also properly build.
516 list(APPEND extra_deps "flang" "module_files")
518 foreach(dep opt llvm-link llvm-extract clang clang-offload-packager)
525 list(APPEND extra_cmake_args "-DLLVM_LIBC_GPU_BUILD=ON")
526 if("libc" IN_LIST RUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES)
527 if(TARGET amdhsa-loader)
529 "-DRUNTIMES_amdgcn-amd-amdhsa_LIBC_GPU_LOADER_EXECUTABLE=$<TARGET_FILE:amdhsa-loader>")
530 list(APPEND extra_deps amdhsa-loader)
532 list(APPEND extra_cmake_args "-DRUNTIMES_amdgcn-amd-amdhsa_LLVM_LIBC_FULL_BUILD=ON")
534 if("libc" IN_LIST RUNTIMES_nvptx64-nvidia-cuda_LLVM_ENABLE_RUNTIMES)
535 if(TARGET nvptx-loader)
537 "-DRUNTIMES_nvptx64-nvidia-cuda_LIBC_GPU_LOADER_EXECUTABLE=$<TARGET_FILE:nvptx-loader>")
538 list(APPEND extra_deps nvptx-loader)
540 list(APPEND extra_cmake_args "-DRUNTIMES_nvptx64-nvidia-cuda_LLVM_LIBC_FULL_BUILD=ON")
542 if(TARGET clang-offload-packager)
543 list(APPEND extra_deps clang-offload-packager)
545 if(TARGET clang-nvlink-wrapper)
546 list(APPEND extra_deps clang-nvlink-wrapper)
550 list(APPEND extra_cmake_args "-DLLVM_LIBC_FULL_BUILD=ON")
558 set(test_targets check-runtimes)
568 add_custom_target(runtimes-configure)
569 add_custom_target(install-runtimes)
570 add_custom_target(install-runtimes-stripped)
572 runtimes runtimes-configure install-runtimes install-runtimes-stripped
576 add_custom_target(check-runtimes)
577 add_custom_target(runtimes-test-depends)
579 check-runtimes runtimes-test-depends
587 add_custom_target(install-${component})
588 add_custom_target(install-${component}-stripped)
590 ${component} install-${component} install-${component}-stripped
600 set(builtins_dep_name "${builtins_dep}-${name}")
610 CMAKE_ARGS -DLLVM_DEFAULT_TARGET_TRIPLE=${name} ${extra_cmake_args}
617 DEPENDS runtimes-${name}
618 CMAKE_ARGS -DLLVM_DEFAULT_TARGET_TRIPLE=${name}
619 -DLLVM_RUNTIMES_PREFIX=${name}/
620 -DLLVM_RUNTIMES_LIBDIR_SUBDIR=${multilib}
630 # build directory during configuration. Without that step the clang in the
631 # build directory cannot find the C++ headers in certain configurations.
632 # I need to build a mechanism for runtime projects to provide CMake code
634 add_dependencies(clang-bootstrap-deps runtimes-configure)
635 # We need to add the runtimes as a dependency because compiler-rt can be
637 add_dependencies(clang-bootstrap-deps runtimes)
638 # The bootstrap build will attempt to configure the offload runtime
643 add_dependencies(clang-bootstrap-deps omp)
648 set_property(GLOBAL APPEND PROPERTY LLVM_ALL_ADDITIONAL_TEST_DEPENDS runtimes-test-depends)