mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-30 23:42:52 +01:00
a57bb6a6f7
Where a source tree is complete with lld, lldb and polly, it may not be possible to use cmake to configure build scripts if the host compiler it not capable of compiling these sub-projects. This change makes it possible to first build a bootstrap clang compiler when can then be used to build a complete llvm toolchain. An example bootstrap build sequence could be as follows: $ mkdir bootstrap $ cd bootstrap $ cmake -G 'Unix Makefiles' -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_PREFIX_PATH:STRING=$(pwd) -DLLVM_TARGETS_TO_BUILD:STRING=host -DLLVM_INCLUDE_TOOLS:STRING=bootstrap-only ../source $ make clang # build clang only for host $ cd .. $ export CC=$(realpath bootstrap/bin)/clang $ export CXX=$(realpath bootstrap/bin)/clang++ $ mkdir final $ cd final $ cmake -G 'Unix Makefiles' ../source $ make all check-all llvm-svn: 184924
69 lines
1.7 KiB
CMake
69 lines
1.7 KiB
CMake
# NOTE: The tools are organized into groups of four consisting of one large and
|
|
# three small executables. This is done to minimize memory load in parallel
|
|
# builds. Please retain this ordering.
|
|
|
|
if( NOT WIN32 OR MSYS OR CYGWIN )
|
|
# We currently require 'sed' to build llvm-config, so don't try to build it
|
|
# on pure Win32.
|
|
add_subdirectory(llvm-config)
|
|
endif()
|
|
|
|
add_subdirectory(opt)
|
|
add_subdirectory(llvm-as)
|
|
add_subdirectory(llvm-dis)
|
|
add_subdirectory(llvm-mc)
|
|
|
|
add_subdirectory(llc)
|
|
add_subdirectory(llvm-ar)
|
|
add_subdirectory(llvm-nm)
|
|
add_subdirectory(llvm-size)
|
|
|
|
add_subdirectory(llvm-cov)
|
|
add_subdirectory(llvm-prof)
|
|
add_subdirectory(llvm-link)
|
|
add_subdirectory(lli)
|
|
|
|
add_subdirectory(llvm-extract)
|
|
add_subdirectory(llvm-diff)
|
|
add_subdirectory(macho-dump)
|
|
add_subdirectory(llvm-objdump)
|
|
add_subdirectory(llvm-readobj)
|
|
add_subdirectory(llvm-rtdyld)
|
|
add_subdirectory(llvm-dwarfdump)
|
|
if( LLVM_USE_INTEL_JITEVENTS )
|
|
add_subdirectory(llvm-jitlistener)
|
|
endif( LLVM_USE_INTEL_JITEVENTS )
|
|
|
|
add_subdirectory(bugpoint)
|
|
add_subdirectory(bugpoint-passes)
|
|
add_subdirectory(llvm-bcanalyzer)
|
|
add_subdirectory(llvm-stress)
|
|
add_subdirectory(llvm-mcmarkup)
|
|
|
|
add_subdirectory(llvm-symbolizer)
|
|
|
|
add_subdirectory(obj2yaml)
|
|
add_subdirectory(yaml2obj)
|
|
|
|
if( NOT WIN32 )
|
|
add_subdirectory(lto)
|
|
endif()
|
|
|
|
if( LLVM_ENABLE_PIC )
|
|
# TODO: support other systems:
|
|
if( (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
OR (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") )
|
|
add_subdirectory(gold)
|
|
endif()
|
|
endif()
|
|
|
|
add_llvm_external_project(clang)
|
|
|
|
if( NOT LLVM_INCLUDE_TOOLS STREQUAL "bootstrap-only" )
|
|
add_llvm_external_project(lld)
|
|
add_llvm_external_project(lldb)
|
|
add_llvm_external_project(polly)
|
|
endif()
|
|
|
|
set(LLVM_COMMON_DEPENDS ${LLVM_COMMON_DEPENDS} PARENT_SCOPE)
|