mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 11:40:06 +02:00
llvm12: add recipe for version 12.0.0~rc4, disabled for now
This commit is contained in:
616
sys-devel/llvm/llvm12-12.0.0~rc4.recipe
Normal file
616
sys-devel/llvm/llvm12-12.0.0~rc4.recipe
Normal file
@@ -0,0 +1,616 @@
|
||||
SUMMARY="Modular and reuseable compiler and toolchain technologies"
|
||||
DESCRIPTION="LLVM is a collection of modular and reuseable compiler and and \
|
||||
toolchain technologies.The LLVM compiler system for C and C++ includes the \
|
||||
following:
|
||||
|
||||
- Front-ends for C, C++, Objective-C, Fortran, etc. based on the GCC 4.2 \
|
||||
parsers. They support the ANSI-standard C and C++ languages to the same \
|
||||
degree that GCC supports them. Additionally, many GCC extensions are \
|
||||
supported.
|
||||
- A stable implementation of the LLVM instruction set, which serves as both \
|
||||
the online and offline code representation, together with assembly (ASCII) \
|
||||
and bytecode (binary) readers and writers, and a verifier.
|
||||
- A powerful pass-management system that automatically sequences passes \
|
||||
(including analysis, transformation, and code-generation passes) based on \
|
||||
their dependences, and pipelines them for efficiency.
|
||||
- A wide range of global scalar optimizations.
|
||||
- A link-time interprocedural optimization framework with a rich set of \
|
||||
analyses and transformations, including sophisticated whole-program pointer \
|
||||
analysis, call graph construction, and support for profile-guided optimizations.
|
||||
- An easily retargettable code generator, which currently supports X86, \
|
||||
X86-64, PowerPC, PowerPC-64, ARM, Thumb, SPARC, Alpha, CellSPU, MIPS, MSP430, \
|
||||
SystemZ, and XCore.
|
||||
- A Just-In-Time (JIT) code generation system, which currently supports X86, \
|
||||
X86-64, ARM, AArch64, Mips, SystemZ, PowerPC, and PowerPC-64.
|
||||
- Support for generating DWARF debugging information.
|
||||
- A C back-end useful for testing and for generating native code on targets \
|
||||
other than the ones listed above.
|
||||
- A profiling system similar to gprof.
|
||||
- A test framework with a number of benchmark codes and applications.
|
||||
- APIs and debugging tools to simplify rapid development of LLVM components."
|
||||
HOMEPAGE="https://www.llvm.org/"
|
||||
COPYRIGHT="2003-2019 University of Illinois at Urbana-Champaign"
|
||||
LICENSE="Apache v2 with LLVM Exception"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.0-rc4/llvm-12.0.0rc4.src.tar.xz"
|
||||
CHECKSUM_SHA256="6efbb5c3be4538a077915aab60de8c36fb308b976e3bcd1c0b04161362312eca"
|
||||
SOURCE_DIR="llvm-12.0.0rc4.src"
|
||||
SOURCE_URI_2="https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.0-rc4/clang-12.0.0rc4.src.tar.xz"
|
||||
CHECKSUM_SHA256_2="7ce1b0168eaf8d1589f4e09e539d7b64327a7f3d984557687cdeb9809c385e85"
|
||||
SOURCE_DIR_2="clang-12.0.0rc4.src"
|
||||
SOURCE_URI_3="https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.0-rc4/clang-tools-extra-12.0.0rc4.src.tar.xz"
|
||||
CHECKSUM_SHA256_3="4f9130cdf2d88b77a6a8d3d84c614bb14f1af8c43d75de27feeb9854917a38d4"
|
||||
SOURCE_DIR_3="clang-tools-extra-12.0.0rc4.src"
|
||||
SOURCE_URI_4="https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.0-rc4//compiler-rt-12.0.0rc4.src.tar.xz"
|
||||
CHECKSUM_SHA256_4="3f99813ab73dfa90b65ff873abd5048a02fc9494060a0e719513a382468ebb05"
|
||||
SOURCE_DIR_4="compiler-rt-12.0.0rc4.src"
|
||||
SOURCE_URI_5="https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.0-rc4//lld-12.0.0rc4.src.tar.xz"
|
||||
CHECKSUM_SHA256_5="e152617312980ea674e17b4acca3751f8c86adb60ecda2d3cef1461b37ec3765"
|
||||
SOURCE_DIR_5="lld-12.0.0rc4.src"
|
||||
PATCHES="llvm-$portVersion.patchset"
|
||||
PATCHES_2="clang-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="!x86_gcc2 ?x86 ?x86_64"
|
||||
SECONDARY_ARCHITECTURES="?x86"
|
||||
|
||||
PROVIDES="
|
||||
llvm12$secondaryArchSuffix = $portVersion compat >= 12
|
||||
cmd:bugpoint
|
||||
cmd:diagtool
|
||||
cmd:dsymutil
|
||||
cmd:find_all_symbols
|
||||
cmd:hmaptool
|
||||
cmd:llc
|
||||
cmd:lli
|
||||
cmd:llvm_addr2line
|
||||
cmd:llvm_ar
|
||||
cmd:llvm_as
|
||||
cmd:llvm_bcanalyzer
|
||||
cmd:llvm_c_test
|
||||
cmd:llvm_cat
|
||||
cmd:llvm_cfi_verify
|
||||
cmd:llvm_config = $portVersion compat >= 12
|
||||
cmd:llvm_cov
|
||||
cmd:llvm_cvtres
|
||||
cmd:llvm_cxxdump
|
||||
cmd:llvm_cxxfilt
|
||||
cmd:llvm_cxxmap
|
||||
cmd:llvm_diff
|
||||
cmd:llvm_dis
|
||||
cmd:llvm_dlltool
|
||||
cmd:llvm_dwarfdump
|
||||
cmd:llvm_dwp
|
||||
cmd:llvm_elfabi
|
||||
cmd:llvm_exegesis
|
||||
cmd:llvm_extract
|
||||
cmd:llvm_jitlink
|
||||
cmd:llvm_lib
|
||||
cmd:llvm_link
|
||||
cmd:llvm_lipo
|
||||
cmd:llvm_lto
|
||||
cmd:llvm_lto2
|
||||
cmd:llvm_mc
|
||||
cmd:llvm_mca
|
||||
cmd:llvm_modextract
|
||||
cmd:llvm_mt
|
||||
cmd:llvm_nm
|
||||
cmd:llvm_objcopy
|
||||
cmd:llvm_objdump
|
||||
cmd:llvm_opt_report
|
||||
cmd:llvm_pdbutil
|
||||
cmd:llvm_profdata
|
||||
cmd:llvm_ranlib
|
||||
cmd:llvm_rc
|
||||
cmd:llvm_readelf
|
||||
cmd:llvm_readobj
|
||||
cmd:llvm_rtdyld
|
||||
cmd:llvm_size
|
||||
cmd:llvm_split
|
||||
cmd:llvm_stress
|
||||
cmd:llvm_strings
|
||||
cmd:llvm_strip
|
||||
cmd:llvm_symbolizer
|
||||
cmd:llvm_tblgen
|
||||
cmd:llvm_undname
|
||||
cmd:llvm_xray
|
||||
cmd:obj2yaml
|
||||
cmd:opt
|
||||
cmd:sancov
|
||||
cmd:sanstats
|
||||
cmd:verify_uselistorder
|
||||
cmd:yaml2obj
|
||||
devel:libfindAllSymbols$secondaryArchSuffix
|
||||
devel:libLLVM$secondaryArchSuffix = $portVersion compat >= 12
|
||||
devel:libLLVM_$portVersion$secondaryArchSuffix = $portVersion compat >= 12
|
||||
devel:libLLVM_12$secondaryArchSuffix = $portVersion compat >= 12
|
||||
devel:libLLVMAArch64AsmParser$secondaryArchSuffix
|
||||
devel:libLLVMAArch64CodeGen$secondaryArchSuffix
|
||||
devel:libLLVMAArch64Desc$secondaryArchSuffix
|
||||
devel:libLLVMAArch64Disassembler$secondaryArchSuffix
|
||||
devel:libLLVMAArch64Info$secondaryArchSuffix
|
||||
devel:libLLVMAArch64Utils$secondaryArchSuffix
|
||||
devel:libLLVMAMDGPUAsmParser$secondaryArchSuffix
|
||||
devel:libLLVMAMDGPUCodeGen$secondaryArchSuffix
|
||||
devel:libLLVMAMDGPUDesc$secondaryArchSuffix
|
||||
devel:libLLVMAMDGPUDisassembler$secondaryArchSuffix
|
||||
devel:libLLVMAMDGPUInfo$secondaryArchSuffix
|
||||
devel:libLLVMAMDGPUUtils$secondaryArchSuffix
|
||||
devel:libLLVMARMAsmParser$secondaryArchSuffix
|
||||
devel:libLLVMARMCodeGen$secondaryArchSuffix
|
||||
devel:libLLVMARMDesc$secondaryArchSuffix
|
||||
devel:libLLVMARMDisassembler$secondaryArchSuffix
|
||||
devel:libLLVMARMInfo$secondaryArchSuffix
|
||||
devel:libLLVMARMUtils$secondaryArchSuffix
|
||||
devel:libLLVMAggressiveInstCombine$secondaryArchSuffix
|
||||
devel:libLLVMAnalysis$secondaryArchSuffix
|
||||
devel:libLLVMAsmParser$secondaryArchSuffix
|
||||
devel:libLLVMAsmPrinter$secondaryArchSuffix
|
||||
devel:libLLVMBPFAsmParser$secondaryArchSuffix
|
||||
devel:libLLVMBPFCodeGen$secondaryArchSuffix
|
||||
devel:libLLVMBPFDesc$secondaryArchSuffix
|
||||
devel:libLLVMBPFDisassembler$secondaryArchSuffix
|
||||
devel:libLLVMBPFInfo$secondaryArchSuffix
|
||||
devel:libLLVMBinaryFormat$secondaryArchSuffix
|
||||
devel:libLLVMBitReader$secondaryArchSuffix
|
||||
devel:libLLVMBitWriter$secondaryArchSuffix
|
||||
devel:libLLVMBitstreamReader$secondaryArchSuffix
|
||||
devel:libLLVMCodeGen$secondaryArchSuffix
|
||||
devel:libLLVMCore$secondaryArchSuffix
|
||||
devel:libLLVMCoroutines$secondaryArchSuffix
|
||||
devel:libLLVMCoverage$secondaryArchSuffix
|
||||
devel:libLLVMDebugInfoCodeView$secondaryArchSuffix
|
||||
devel:libLLVMDebugInfoDWARF$secondaryArchSuffix
|
||||
devel:libLLVMDebugInfoGSYM$secondaryArchSuffix
|
||||
devel:libLLVMDebugInfoMSF$secondaryArchSuffix
|
||||
devel:libLLVMDebugInfoPDB$secondaryArchSuffix
|
||||
devel:libLLVMDemangle$secondaryArchSuffix
|
||||
devel:libLLVMDlltoolDriver$secondaryArchSuffix
|
||||
devel:libLLVMExecutionEngine$secondaryArchSuffix
|
||||
devel:libLLVMFuzzMutate$secondaryArchSuffix
|
||||
devel:libLLVMGlobalISel$secondaryArchSuffix
|
||||
devel:libLLVMHexagonAsmParser$secondaryArchSuffix
|
||||
devel:libLLVMHexagonCodeGen$secondaryArchSuffix
|
||||
devel:libLLVMHexagonDesc$secondaryArchSuffix
|
||||
devel:libLLVMHexagonDisassembler$secondaryArchSuffix
|
||||
devel:libLLVMHexagonInfo$secondaryArchSuffix
|
||||
devel:libLLVMIRReader$secondaryArchSuffix
|
||||
devel:libLLVMInstCombine$secondaryArchSuffix
|
||||
devel:libLLVMInstrumentation$secondaryArchSuffix
|
||||
devel:libLLVMInterpreter$secondaryArchSuffix
|
||||
devel:libLLVMJITLink$secondaryArchSuffix
|
||||
devel:libLLVMLTO$secondaryArchSuffix
|
||||
devel:libLLVMLanaiAsmParser$secondaryArchSuffix
|
||||
devel:libLLVMLanaiCodeGen$secondaryArchSuffix
|
||||
devel:libLLVMLanaiDesc$secondaryArchSuffix
|
||||
devel:libLLVMLanaiDisassembler$secondaryArchSuffix
|
||||
devel:libLLVMLanaiInfo$secondaryArchSuffix
|
||||
devel:libLLVMLibDriver$secondaryArchSuffix
|
||||
devel:libLLVMLineEditor$secondaryArchSuffix
|
||||
devel:libLLVMLinker$secondaryArchSuffix
|
||||
devel:libLLVMMC$secondaryArchSuffix
|
||||
devel:libLLVMMCA$secondaryArchSuffix
|
||||
devel:libLLVMMCDisassembler$secondaryArchSuffix
|
||||
devel:libLLVMMCJIT$secondaryArchSuffix
|
||||
devel:libLLVMMCParser$secondaryArchSuffix
|
||||
devel:libLLVMMIRParser$secondaryArchSuffix
|
||||
devel:libLLVMMSP430AsmParser$secondaryArchSuffix
|
||||
devel:libLLVMMSP430CodeGen$secondaryArchSuffix
|
||||
devel:libLLVMMSP430Desc$secondaryArchSuffix
|
||||
devel:libLLVMMSP430Disassembler$secondaryArchSuffix
|
||||
devel:libLLVMMSP430Info$secondaryArchSuffix
|
||||
devel:libLLVMMipsAsmParser$secondaryArchSuffix
|
||||
devel:libLLVMMipsCodeGen$secondaryArchSuffix
|
||||
devel:libLLVMMipsDesc$secondaryArchSuffix
|
||||
devel:libLLVMMipsDisassembler$secondaryArchSuffix
|
||||
devel:libLLVMMipsInfo$secondaryArchSuffix
|
||||
devel:libLLVMNVPTXCodeGen$secondaryArchSuffix
|
||||
devel:libLLVMNVPTXDesc$secondaryArchSuffix
|
||||
devel:libLLVMNVPTXInfo$secondaryArchSuffix
|
||||
devel:libLLVMObjCARCOpts$secondaryArchSuffix
|
||||
devel:libLLVMObject$secondaryArchSuffix
|
||||
devel:libLLVMObjectYAML$secondaryArchSuffix
|
||||
devel:libLLVMOption$secondaryArchSuffix
|
||||
devel:libLLVMOrcJIT$secondaryArchSuffix
|
||||
devel:libLLVMPasses$secondaryArchSuffix
|
||||
devel:libLLVMPowerPCAsmParser$secondaryArchSuffix
|
||||
devel:libLLVMPowerPCCodeGen$secondaryArchSuffix
|
||||
devel:libLLVMPowerPCDesc$secondaryArchSuffix
|
||||
devel:libLLVMPowerPCDisassembler$secondaryArchSuffix
|
||||
devel:libLLVMPowerPCInfo$secondaryArchSuffix
|
||||
devel:libLLVMProfileData$secondaryArchSuffix
|
||||
devel:libLLVMRISCVAsmParser$secondaryArchSuffix
|
||||
devel:libLLVMRISCVCodeGen$secondaryArchSuffix
|
||||
devel:libLLVMRISCVDesc$secondaryArchSuffix
|
||||
devel:libLLVMRISCVDisassembler$secondaryArchSuffix
|
||||
devel:libLLVMRISCVInfo$secondaryArchSuffix
|
||||
devel:libLLVMRISCVUtils$secondaryArchSuffix
|
||||
devel:libLLVMRemarks$secondaryArchSuffix
|
||||
devel:libLLVMRuntimeDyld$secondaryArchSuffix
|
||||
devel:libLLVMScalarOpts$secondaryArchSuffix
|
||||
devel:libLLVMSelectionDAG$secondaryArchSuffix
|
||||
devel:libLLVMSparcAsmParser$secondaryArchSuffix
|
||||
devel:libLLVMSparcCodeGen$secondaryArchSuffix
|
||||
devel:libLLVMSparcDesc$secondaryArchSuffix
|
||||
devel:libLLVMSparcDisassembler$secondaryArchSuffix
|
||||
devel:libLLVMSparcInfo$secondaryArchSuffix
|
||||
devel:libLLVMSupport$secondaryArchSuffix
|
||||
devel:libLLVMSymbolize$secondaryArchSuffix
|
||||
devel:libLLVMSystemZAsmParser$secondaryArchSuffix
|
||||
devel:libLLVMSystemZCodeGen$secondaryArchSuffix
|
||||
devel:libLLVMSystemZDesc$secondaryArchSuffix
|
||||
devel:libLLVMSystemZDisassembler$secondaryArchSuffix
|
||||
devel:libLLVMSystemZInfo$secondaryArchSuffix
|
||||
devel:libLLVMTableGen$secondaryArchSuffix
|
||||
devel:libLLVMTarget$secondaryArchSuffix
|
||||
devel:libLLVMTextAPI$secondaryArchSuffix
|
||||
devel:libLLVMTransformUtils$secondaryArchSuffix
|
||||
devel:libLLVMVectorize$secondaryArchSuffix
|
||||
devel:libLLVMWebAssemblyAsmParser$secondaryArchSuffix
|
||||
devel:libLLVMWebAssemblyCodeGen$secondaryArchSuffix
|
||||
devel:libLLVMWebAssemblyDesc$secondaryArchSuffix
|
||||
devel:libLLVMWebAssemblyDisassembler$secondaryArchSuffix
|
||||
devel:libLLVMWebAssemblyInfo$secondaryArchSuffix
|
||||
devel:libLLVMWindowsManifest$secondaryArchSuffix
|
||||
devel:libLLVMX86AsmParser$secondaryArchSuffix
|
||||
devel:libLLVMX86CodeGen$secondaryArchSuffix
|
||||
devel:libLLVMX86Desc$secondaryArchSuffix
|
||||
devel:libLLVMX86Disassembler$secondaryArchSuffix
|
||||
devel:libLLVMX86Info$secondaryArchSuffix
|
||||
devel:libLLVMX86Utils$secondaryArchSuffix
|
||||
devel:libLLVMXCoreCodeGen$secondaryArchSuffix
|
||||
devel:libLLVMXCoreDesc$secondaryArchSuffix
|
||||
devel:libLLVMXCoreDisassembler$secondaryArchSuffix
|
||||
devel:libLLVMXCoreInfo$secondaryArchSuffix
|
||||
devel:libLLVMXRay$secondaryArchSuffix
|
||||
devel:libLLVMipo$secondaryArchSuffix
|
||||
devel:libLTO$secondaryArchSuffix = $portVersion compat >= 12
|
||||
devel:libRemarks$secondaryArchSuffix = $portVersion compat >= 12
|
||||
# lib:BugpointPasses$secondaryArchSuffix
|
||||
lib:CheckerDependencyHandlingAnalyzerPlugin$secondaryArchSuffix
|
||||
lib:CheckerOptionHandlingAnalyzerPlugin$secondaryArchSuffix
|
||||
# lib:LLVMHello$secondaryArchSuffix
|
||||
lib:SampleAnalyzerPlugin$secondaryArchSuffix
|
||||
# lib:testplugin$secondaryArchSuffix
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libclang_cpp$secondaryArchSuffix
|
||||
lib:libLLVM_12$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
CONFLICTS="
|
||||
llvm$secondaryArchSuffix
|
||||
llvm6$secondaryArchSuffix
|
||||
llvm7$secondaryArchSuffix
|
||||
llvm8$secondaryArchSuffix
|
||||
llvm9$secondaryArchSuffix
|
||||
"
|
||||
|
||||
PROVIDES_clang="
|
||||
llvm12${secondaryArchSuffix}_clang = $portVersion
|
||||
cmd:c_index_test = $portVersion
|
||||
cmd:clang = $portVersion
|
||||
cmd:clang++ = $portVersion
|
||||
cmd:clang_12 = $portVersion
|
||||
cmd:clang_apply_replacements = $portVersion
|
||||
cmd:clang_change_namespace = $portVersion
|
||||
cmd:clang_check = $portVersion
|
||||
cmd:clang_cl = $portVersion
|
||||
cmd:clang_cpp = $portVersion
|
||||
cmd:clang_doc = $portVersion
|
||||
cmd:clang_extdef_mapping = $portVersion
|
||||
cmd:clang_format = $portVersion
|
||||
cmd:clang_func_mapping = $portVersion
|
||||
cmd:clang_import_test = $portVersion
|
||||
cmd:clang_include_fixer = $portVersion
|
||||
cmd:clang_offload_bundler = $portVersion
|
||||
cmd:clang_query = $portVersion
|
||||
cmd:clang_refactor = $portVersion
|
||||
cmd:clang_rename = $portVersion
|
||||
cmd:clang_reorder_fields = $portVersion
|
||||
cmd:clang_scan_deps = $portVersion
|
||||
cmd:clang_tidy = $portVersion
|
||||
cmd:clangd = $portVersion
|
||||
cmd:git_clang_format = $portVersion
|
||||
cmd:modularize = $portVersion
|
||||
devel:libclang$secondaryArchSuffix = $portVersion compat >= 12
|
||||
devel:libclang_cpp$secondaryArchSuffix = $portVersion compat >= 12
|
||||
devel:libclanganalysis$secondaryArchSuffix = $portVersion
|
||||
devel:libclangapplyreplacements$secondaryArchSuffix = $portVersion
|
||||
devel:libclangarcmigrate$secondaryArchSuffix = $portVersion
|
||||
devel:libclangast$secondaryArchSuffix = $portVersion
|
||||
devel:libclangastmatchers$secondaryArchSuffix = $portVersion
|
||||
devel:libclangbasic$secondaryArchSuffix = $portVersion
|
||||
devel:libclangchangenamespace$secondaryArchSuffix = $portVersion
|
||||
devel:libclangcodegen$secondaryArchSuffix = $portVersion
|
||||
devel:libclangcrosstu$secondaryArchSuffix = $portVersion
|
||||
devel:libclangdaemon$secondaryArchSuffix = $portVersion
|
||||
devel:libclangdaemontweaks$secondaryArchSuffix = $portVersion
|
||||
devel:libclangdependencyscanning$secondaryArchSuffix = $portVersion
|
||||
devel:libclangdoc$secondaryArchSuffix = $portVersion
|
||||
devel:libclangdirectorywatcher$secondaryArchSuffix = $portVersion
|
||||
devel:libclangdriver$secondaryArchSuffix = $portVersion
|
||||
devel:libclangdynamicastmatchers$secondaryArchSuffix = $portVersion
|
||||
devel:libclangedit$secondaryArchSuffix = $portVersion
|
||||
devel:libclangformat$secondaryArchSuffix = $portVersion
|
||||
devel:libclangfrontend$secondaryArchSuffix = $portVersion
|
||||
devel:libclangfrontendtool$secondaryArchSuffix = $portVersion
|
||||
devel:libclanghandlecxx$secondaryArchSuffix = $portVersion
|
||||
devel:libclanghandlellvm$secondaryArchSuffix = $portVersion
|
||||
devel:libclangincludefixer$secondaryArchSuffix = $portVersion
|
||||
devel:libclangincludefixerplugin$secondaryArchSuffix = $portVersion
|
||||
devel:libclangindex$secondaryArchSuffix = $portVersion
|
||||
devel:libclanglex$secondaryArchSuffix = $portVersion
|
||||
devel:libclangmove$secondaryArchSuffix = $portVersion
|
||||
devel:libclangparse$secondaryArchSuffix = $portVersion
|
||||
devel:libclangquery$secondaryArchSuffix = $portVersion
|
||||
devel:libclangreorderfields$secondaryArchSuffix = $portVersion
|
||||
devel:libclangrewrite$secondaryArchSuffix = $portVersion
|
||||
devel:libclangrewritefrontend$secondaryArchSuffix = $portVersion
|
||||
devel:libclangsema$secondaryArchSuffix = $portVersion
|
||||
devel:libclangserialization$secondaryArchSuffix = $portVersion
|
||||
devel:libclangstaticanalyzercheckers$secondaryArchSuffix = $portVersion
|
||||
devel:libclangstaticanalyzercore$secondaryArchSuffix = $portVersion
|
||||
devel:libclangstaticanalyzerfrontend$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtidy$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtidyabseilmodule$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtidyandroidmodule$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtidyboostmodule$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtidybugpronemodule$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtidycertmodule$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtidycppcoreguidelinesmodule$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtidyfuchsiamodule$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtidygooglemodule$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtidyhicppmodule$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtidyllvmmodule$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtidymiscmodule$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtidymodernizemodule$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtidympimodule$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtidyobjcmodule$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtidyopenmpmodule$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtidyperformancemodule$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtidyplugin$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtidyportabilitymodule$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtidyreadabilitymodule$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtidyutils$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtidyzirconmodule$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtooling$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtoolingastdiff$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtoolingcore$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtoolinginclusions$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtoolingrefactor$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtoolingrefactoring$secondaryArchSuffix = $portVersion
|
||||
devel:libclangtoolingsyntax$secondaryArchSuffix = $portVersion
|
||||
"
|
||||
REQUIRES_clang="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libclang$secondaryArchSuffix
|
||||
lib:libclang_cpp$secondaryArchSuffix
|
||||
lib:libLLVM_12$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
CONFLICTS_clang="
|
||||
llvm${secondaryArchSuffix}_clang
|
||||
llvm6${secondaryArchSuffix}_clang
|
||||
llvm7${secondaryArchSuffix}_clang
|
||||
llvm8${secondaryArchSuffix}_clang
|
||||
llvm9${secondaryArchSuffix}_clang
|
||||
"
|
||||
|
||||
PROVIDES_clang_analysis="
|
||||
llvm12${secondaryArchSuffix}_clang_analysis = $portVersion
|
||||
cmd:c++_analyzer = $portVersion
|
||||
cmd:ccc_analyzer = $portVersion
|
||||
cmd:scan_build = $portVersion
|
||||
cmd:scan_view = $portVersion
|
||||
"
|
||||
REQUIRES_clang_analysis="
|
||||
llvm12${secondaryArchSuffix}_clang == $portVersion base
|
||||
cmd:python
|
||||
"
|
||||
CONFLICTS_clang_analysis="
|
||||
llvm${secondaryArchSuffix}_clang_analysis
|
||||
llvm6${secondaryArchSuffix}_clang_analysis
|
||||
llvm7${secondaryArchSuffix}_clang_analysis
|
||||
llvm8${secondaryArchSuffix}_clang_analysis
|
||||
llvm9${secondaryArchSuffix}_clang_analysis
|
||||
"
|
||||
|
||||
PROVIDES_lld="
|
||||
llvm12${secondaryArchSuffix}_lld = $portVersion
|
||||
cmd:ld.lld = $portVersion
|
||||
cmd:ld64.lld = $portVersion
|
||||
cmd:lld = $portVersion
|
||||
cmd:lld_link = $portVersion
|
||||
cmd:wasm_ld = $portVersion
|
||||
devel:liblldCOFF$secondaryArchSuffix = $portVersion
|
||||
devel:liblldCommon$secondaryArchSuffix = $portVersion
|
||||
devel:liblldCore$secondaryArchSuffix = $portVersion
|
||||
devel:liblldDriver$secondaryArchSuffix = $portVersion
|
||||
devel:liblldELF$secondaryArchSuffix = $portVersion
|
||||
devel:liblldMachO$secondaryArchSuffix = $portVersion
|
||||
devel:liblldMinGW$secondaryArchSuffix = $portVersion
|
||||
devel:liblldReaderWriter$secondaryArchSuffix = $portVersion
|
||||
devel:liblldWasm$secondaryArchSuffix = $portVersion
|
||||
devel:liblldYAML$secondaryArchSuffix = $portVersion
|
||||
"
|
||||
REQUIRES_lld="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libLLVM_12$secondaryArchSuffix
|
||||
"
|
||||
|
||||
PROVIDES_libs="
|
||||
llvm12${secondaryArchSuffix}_libs = $portVersion
|
||||
lib:libclang$secondaryArchSuffix = $portVersion compat >= 12
|
||||
lib:libclang_cpp$secondaryArchSuffix = $portVersion compat >= 12
|
||||
lib:libLLVM_12$secondaryArchSuffix = 12.0.0 compat >= 12.0
|
||||
lib:libLTO$secondaryArchSuffix = 12.0.0 compat >= 12
|
||||
lib:libRemarks$secondaryArchSuffix = 12.0.0 compat >= 12
|
||||
"
|
||||
REQUIRES_libs="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
PYTHON3_VERSION="3.9"
|
||||
PROVIDES_python3="
|
||||
llvm12${secondaryArchSuffix}_python3 = $portVersion
|
||||
cmd:lit
|
||||
"
|
||||
REQUIRES_python3="
|
||||
setuptools_python3
|
||||
cmd:python$PYTHON3_VERSION
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libz$secondaryArchSuffix
|
||||
setuptools_python39
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:cmake
|
||||
cmd:diff
|
||||
cmd:find
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:grep
|
||||
cmd:groff
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:ninja
|
||||
cmd:python$PYTHON3_VERSION
|
||||
cmd:sed
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
# Add clang tools
|
||||
mkdir -p tools/clang
|
||||
cp -rdn $sourceDir2/* tools/clang/
|
||||
|
||||
mkdir -p $sourceDir/../clang-tools-extra
|
||||
cp -rdn $sourceDir3/* $sourceDir/../clang-tools-extra
|
||||
|
||||
mkdir -p projects/compiler-rt
|
||||
cp -rdn $sourceDir4/* projects/compiler-rt
|
||||
|
||||
mkdir -p tools/lld
|
||||
cp -rdn $sourceDir5/* tools/lld
|
||||
|
||||
local cmakeFlags
|
||||
if [ -n "$secondaryArchSuffix" ]; then
|
||||
cmakeFlags=-DHAIKU_HYBRID_SECONDARY="\"${effectiveTargetArchitecture}\""
|
||||
cmakeFlags="$cmakeFlags -DLLVM_LIBDIR_SUFFIX=/${effectiveTargetArchitecture}"
|
||||
fi
|
||||
|
||||
mkdir -p build; cd build
|
||||
# Haiku C++ requires rtti in a lot of central system components
|
||||
# such as Mesa
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$prefix \
|
||||
-DCMAKE_SKIP_RPATH=YES $cmakeFlags \
|
||||
-DLLVM_ENABLE_RTTI=ON -DLLVM_LINK_LLVM_DYLIB=YES \
|
||||
-DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR=$sourceDir/../clang-tools-extra \
|
||||
-G Ninja \
|
||||
..
|
||||
|
||||
ninja
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
cd build
|
||||
|
||||
mkdir -p $binDir $developDir $dataDir $docDir $includeDir $manDir $libDir
|
||||
|
||||
ninja install
|
||||
|
||||
# GENERIC: all python_setuptools-based installs need this
|
||||
local pythonPackageName="${portName}_python3-$portFullVersion"
|
||||
local packageLinksDir=$(dirname $portPackageLinksDir)
|
||||
python=$packageLinksDir/${pythonPackageName}/cmd~python$PYTHON3_VERSION/bin/python$PYTHON3_VERSION
|
||||
pythonVersion=$($python --version 2>&1 | sed 's/Python //' | head -c3)
|
||||
installLocation=$prefix/lib/python$pythonVersion/vendor-packages/
|
||||
export PYTHONPATH=$installLocation:$OLDPYTHONPATH
|
||||
|
||||
pushd ../utils/lit
|
||||
$python setup.py install --root=/ --prefix="$prefix" -O1
|
||||
popd
|
||||
|
||||
if [ -n $secondaryArchSuffix ]; then
|
||||
binDir=$prefix/bin
|
||||
fi
|
||||
|
||||
# You can try and be fancy here parsing each arch in a for loop... but
|
||||
# not all arches contain the same libraries. The inventory for each arch
|
||||
# also changes between releases... so lets KISS.
|
||||
prepareInstalledDevelLibs \
|
||||
libfindAllSymbols \
|
||||
libLLVM* \
|
||||
libLTO \
|
||||
libclang* \
|
||||
liblld* \
|
||||
libRemarks
|
||||
|
||||
mv $prefix/include/* $includeDir/
|
||||
mv $prefix/libexec/* $binDir/
|
||||
mv $prefix/share/man/* $manDir/
|
||||
mv $prefix/share/clang $dataDir/
|
||||
mv $prefix/share/opt-viewer $dataDir/
|
||||
mv $prefix/share/scan-build $dataDir/
|
||||
mv $prefix/share/scan-view $dataDir/
|
||||
rmdir $prefix/include $prefix/libexec $prefix/share/man $prefix/share
|
||||
|
||||
sed -i 's|/libexec/|/bin/|' $binDir/scan-build
|
||||
sed -i 's|/share/|/data/|' $binDir/scan-build $binDir/scan-view
|
||||
|
||||
# clang package
|
||||
packageEntries clang \
|
||||
$binDir/c-index-test \
|
||||
$binDir/clang* \
|
||||
$binDir/git-clang-format \
|
||||
$binDir/modularize \
|
||||
$dataDir/clang \
|
||||
$includeDir/clang* \
|
||||
$libDir/clang \
|
||||
$libDir/cmake/clang \
|
||||
$developLibDir/libclang*
|
||||
|
||||
# analysis package
|
||||
packageEntries clang_analysis \
|
||||
$binDir/scan-build \
|
||||
$binDir/scan-view \
|
||||
$binDir/c++-analyzer \
|
||||
$binDir/ccc-analyzer \
|
||||
$dataDir/scan-build \
|
||||
$dataDir/scan-view \
|
||||
$manDir/man1/scan-build.1
|
||||
|
||||
# lld package
|
||||
packageEntries lld \
|
||||
$binDir/ld.lld \
|
||||
$binDir/ld64.lld \
|
||||
$binDir/lld \
|
||||
$binDir/lld-link \
|
||||
$binDir/wasm-ld \
|
||||
$includeDir/lld* \
|
||||
$developLibDir/liblld*
|
||||
|
||||
# libs package
|
||||
packageEntries libs \
|
||||
$libDir/libclang* \
|
||||
$libDir/libLLVM* \
|
||||
$libDir/libLTO* \
|
||||
$libDir/libRemarks*
|
||||
|
||||
# python3 package
|
||||
packageEntries python3 \
|
||||
$binDir/lit \
|
||||
$prefix/lib/python*
|
||||
}
|
||||
|
||||
TEST()
|
||||
{
|
||||
cd build
|
||||
export LIBRARY_PATH=$LIBRARY_PATH:$sourceDir/build/lib
|
||||
export LIT_ARGS="-v"
|
||||
make check-llvm
|
||||
}
|
||||
174
sys-devel/llvm/patches/clang-12.0.0~rc4.patchset
Normal file
174
sys-devel/llvm/patches/clang-12.0.0~rc4.patchset
Normal file
@@ -0,0 +1,174 @@
|
||||
From 1c9c296d5ce0b393fa0e853b461bcd5b46da978f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= <jerome.duval@gmail.com>
|
||||
Date: Mon, 18 Jul 2016 14:13:19 +0200
|
||||
Subject: support for secondary arch.
|
||||
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 9e74014..bc4efa2 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -403,6 +403,10 @@ if (APPLE)
|
||||
endif()
|
||||
message(STATUS "Host linker version: ${HOST_LINK_VERSION}")
|
||||
endif()
|
||||
+if(DEFINED HAIKU_HYBRID_SECONDARY)
|
||||
+ add_definitions(-DHAIKU_HYBRID_SECONDARY=${HAIKU_HYBRID_SECONDARY})
|
||||
+endif()
|
||||
+
|
||||
|
||||
include(CMakeParseArguments)
|
||||
include(AddClang)
|
||||
diff --git a/lib/Driver/ToolChains/Haiku.cpp b/lib/Driver/ToolChains/Haiku.cpp
|
||||
index 18f550c..2716f58 100644
|
||||
--- a/lib/Driver/ToolChains/Haiku.cpp
|
||||
+++ b/lib/Driver/ToolChains/Haiku.cpp
|
||||
@@ -19,6 +19,13 @@ using namespace llvm::opt;
|
||||
Haiku::Haiku(const Driver &D, const llvm::Triple& Triple, const ArgList &Args)
|
||||
: Generic_ELF(D, Triple, Args) {
|
||||
|
||||
+#ifdef HAIKU_HYBRID_SECONDARY
|
||||
+ getProgramPaths().insert(getProgramPaths().begin(), getDriver().SysRoot
|
||||
+ + "/system/bin/" HAIKU_HYBRID_SECONDARY);
|
||||
+ getFilePaths().clear();
|
||||
+ getFilePaths().push_back(getDriver().SysRoot + "/system/lib/"
|
||||
+ HAIKU_HYBRID_SECONDARY);
|
||||
+#endif
|
||||
}
|
||||
|
||||
void Haiku::addLibCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
|
||||
@@ -29,6 +36,12 @@ void Haiku::addLibCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
|
||||
|
||||
void Haiku::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
|
||||
llvm::opt::ArgStringList &CC1Args) const {
|
||||
+#ifdef HAIKU_HYBRID_SECONDARY
|
||||
+ addLibStdCXXIncludePaths(getDriver().SysRoot, "/system/develop/headers/"
|
||||
+ HAIKU_HYBRID_SECONDARY "/c++", getTriple().str(), "", "", "",
|
||||
+ DriverArgs, CC1Args);
|
||||
+#else
|
||||
addLibStdCXXIncludePaths(getDriver().SysRoot, "/system/develop/headers/c++",
|
||||
- getTriple().str(), "", "", "", DriverArgs, CC1Args);
|
||||
+ getTriple().str(), "", "", "", DriverArgs, CC1Args);
|
||||
+#endif
|
||||
}
|
||||
diff --git a/lib/Frontend/InitHeaderSearch.cpp b/lib/Frontend/InitHeaderSearch.cpp
|
||||
index bc31445..b8ecee0 100644
|
||||
--- a/lib/Frontend/InitHeaderSearch.cpp
|
||||
+++ b/lib/Frontend/InitHeaderSearch.cpp
|
||||
@@ -246,7 +246,20 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple,
|
||||
if (HSOpts.UseBuiltinIncludes) {
|
||||
// Ignore the sys root, we *always* look for clang headers relative to
|
||||
// supplied path.
|
||||
+#ifdef HAIKU_HYBRID_SECONDARY
|
||||
+ // Remove version from foo/lib/clang/version
|
||||
+ StringRef Ver = llvm::sys::path::filename(HSOpts.ResourceDir);
|
||||
+ StringRef NoVer = llvm::sys::path::parent_path(HSOpts.ResourceDir);
|
||||
+ // Remove clang from foo/lib/clang
|
||||
+ StringRef Clang = llvm::sys::path::filename(NoVer);
|
||||
+ SmallString<128> P = llvm::sys::path::parent_path(NoVer);
|
||||
+
|
||||
+ // Get foo/include/c++/v1
|
||||
+ llvm::sys::path::append(P, Clang, Ver);
|
||||
+#else
|
||||
SmallString<128> P = StringRef(HSOpts.ResourceDir);
|
||||
+#endif
|
||||
+
|
||||
llvm::sys::path::append(P, "include");
|
||||
AddUnmappedPath(P, ExternCSystem, false);
|
||||
}
|
||||
@@ -282,7 +295,12 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple,
|
||||
}
|
||||
|
||||
case llvm::Triple::Haiku:
|
||||
+#ifdef HAIKU_HYBRID_SECONDARY
|
||||
+ AddPath("/boot/system/non-packaged/develop/headers/" HAIKU_HYBRID_SECONDARY,
|
||||
+ System, false);
|
||||
+#else
|
||||
AddPath("/boot/system/non-packaged/develop/headers", System, false);
|
||||
+#endif
|
||||
AddPath("/boot/system/develop/headers/os", System, false);
|
||||
AddPath("/boot/system/develop/headers/os/app", System, false);
|
||||
AddPath("/boot/system/develop/headers/os/arch", System, false);
|
||||
@@ -314,6 +332,13 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple,
|
||||
AddPath("/boot/system/develop/headers/bsd", System, false);
|
||||
AddPath("/boot/system/develop/headers/glibc", System, false);
|
||||
AddPath("/boot/system/develop/headers/posix", System, false);
|
||||
+#ifdef HAIKU_HYBRID_SECONDARY
|
||||
+ AddPath("/boot/system/develop/headers/" HAIKU_HYBRID_SECONDARY, System, false);
|
||||
+ AddPath("/boot/system/develop/headers/" HAIKU_HYBRID_SECONDARY "/os", System,
|
||||
+ false);
|
||||
+ AddPath("/boot/system/develop/headers/" HAIKU_HYBRID_SECONDARY "/os/opengl",
|
||||
+ System, false);
|
||||
+#endif
|
||||
AddPath("/boot/system/develop/headers", System, false);
|
||||
break;
|
||||
case llvm::Triple::RTEMS:
|
||||
--
|
||||
2.30.0
|
||||
|
||||
|
||||
From 0b2698769c2911197e61a0589f319cbc29f62c22 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Thu, 7 Apr 2016 18:30:52 +0000
|
||||
Subject: add a test for haiku driver.
|
||||
|
||||
* upstream wants a case for libcxx in ToolChains.cpp, so add it.
|
||||
|
||||
diff --git a/test/Driver/haiku.c b/test/Driver/haiku.c
|
||||
new file mode 100644
|
||||
index 0000000..9591739
|
||||
--- /dev/null
|
||||
+++ b/test/Driver/haiku.c
|
||||
@@ -0,0 +1,12 @@
|
||||
+// RUN: %clang -no-canonical-prefixes -target x86_64-unknown-haiku %s -### 2> %t.log
|
||||
+// RUN: FileCheck --check-prefix=CHECK-X86_64 -input-file %t.log %s
|
||||
+
|
||||
+// CHECK-X86_64: clang{{.*}}" "-cc1" "-triple" "x86_64-unknown-haiku"
|
||||
+// CHECK-X86_64: gcc{{.*}}" "-o" "a.out" "{{.*}}.o"
|
||||
+
|
||||
+// RUN: %clang -no-canonical-prefixes -target i586-pc-haiku %s -### 2> %t.log
|
||||
+// RUN: FileCheck --check-prefix=CHECK-X86 -input-file %t.log %s
|
||||
+
|
||||
+// CHECK-X86: clang{{.*}}" "-cc1" "-triple" "i586-pc-haiku"
|
||||
+// CHECK-X86: gcc{{.*}}" "-o" "a.out" "{{.*}}.o"
|
||||
+
|
||||
--
|
||||
2.30.0
|
||||
|
||||
|
||||
From 849fae3751214d060a10bfc1b69ed04a89891ae2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= <jerome.duval@gmail.com>
|
||||
Date: Mon, 18 Jul 2016 14:13:19 +0200
|
||||
Subject: Enable thread-local storage and disable PIE by default
|
||||
|
||||
|
||||
diff --git a/lib/Basic/Targets/OSTargets.h b/lib/Basic/Targets/OSTargets.h
|
||||
index 67fa1a5..ce5f8ff 100644
|
||||
--- a/lib/Basic/Targets/OSTargets.h
|
||||
+++ b/lib/Basic/Targets/OSTargets.h
|
||||
@@ -309,7 +309,6 @@ public:
|
||||
this->IntPtrType = TargetInfo::SignedLong;
|
||||
this->PtrDiffType = TargetInfo::SignedLong;
|
||||
this->ProcessIDType = TargetInfo::SignedLong;
|
||||
- this->TLSSupported = false;
|
||||
switch (Triple.getArch()) {
|
||||
default:
|
||||
break;
|
||||
diff --git a/lib/Driver/ToolChains/Haiku.h b/lib/Driver/ToolChains/Haiku.h
|
||||
index 2bc9832..50a20c2 100644
|
||||
--- a/lib/Driver/ToolChains/Haiku.h
|
||||
+++ b/lib/Driver/ToolChains/Haiku.h
|
||||
@@ -22,9 +22,7 @@ public:
|
||||
Haiku(const Driver &D, const llvm::Triple &Triple,
|
||||
const llvm::opt::ArgList &Args);
|
||||
|
||||
- bool isPIEDefault() const override {
|
||||
- return getTriple().getArch() == llvm::Triple::x86_64;
|
||||
- }
|
||||
+ bool isPIEDefault() const override { return false; }
|
||||
|
||||
void addLibCxxIncludePaths(
|
||||
const llvm::opt::ArgList &DriverArgs,
|
||||
--
|
||||
2.30.0
|
||||
|
||||
70
sys-devel/llvm/patches/lld-12.0.0~rc4.patchset
Normal file
70
sys-devel/llvm/patches/lld-12.0.0~rc4.patchset
Normal file
@@ -0,0 +1,70 @@
|
||||
From 538789bccfab4c63771a2459d99c44f5c4fe11b7 Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Sat, 3 Apr 2021 23:23:24 +0200
|
||||
Subject: MachO needs libunwind somehow, disable
|
||||
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index d4e561b..cd853a0 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -197,7 +197,9 @@ endif()
|
||||
add_subdirectory(docs)
|
||||
add_subdirectory(COFF)
|
||||
add_subdirectory(ELF)
|
||||
+if (NOT HAIKU)
|
||||
add_subdirectory(MachO)
|
||||
+endif()
|
||||
add_subdirectory(MinGW)
|
||||
add_subdirectory(wasm)
|
||||
|
||||
diff --git a/tools/lld/CMakeLists.txt b/tools/lld/CMakeLists.txt
|
||||
index 5cff736..2d4907a 100644
|
||||
--- a/tools/lld/CMakeLists.txt
|
||||
+++ b/tools/lld/CMakeLists.txt
|
||||
@@ -9,6 +9,17 @@ add_lld_tool(lld
|
||||
)
|
||||
export_executable_symbols_for_plugins(lld)
|
||||
|
||||
+if (HAIKU)
|
||||
+target_link_libraries(lld
|
||||
+ PRIVATE
|
||||
+ lldCommon
|
||||
+ lldCOFF
|
||||
+ lldDriver
|
||||
+ lldELF
|
||||
+ lldMinGW
|
||||
+ lldWasm
|
||||
+ )
|
||||
+else()
|
||||
target_link_libraries(lld
|
||||
PRIVATE
|
||||
lldCommon
|
||||
@@ -19,6 +30,7 @@ target_link_libraries(lld
|
||||
lldMinGW
|
||||
lldWasm
|
||||
)
|
||||
+endif()
|
||||
|
||||
install(TARGETS lld
|
||||
RUNTIME DESTINATION bin)
|
||||
diff --git a/tools/lld/lld.cpp b/tools/lld/lld.cpp
|
||||
index 77d7792..973fbf3 100644
|
||||
--- a/tools/lld/lld.cpp
|
||||
+++ b/tools/lld/lld.cpp
|
||||
@@ -153,10 +153,12 @@ static int lldMain(int argc, const char **argv, llvm::raw_ostream &stdoutOS,
|
||||
return !elf::link(args, exitEarly, stdoutOS, stderrOS);
|
||||
case WinLink:
|
||||
return !coff::link(args, exitEarly, stdoutOS, stderrOS);
|
||||
+#ifndef __HAIKU__
|
||||
case Darwin:
|
||||
return !mach_o::link(args, exitEarly, stdoutOS, stderrOS);
|
||||
case DarwinNew:
|
||||
return !macho::link(args, exitEarly, stdoutOS, stderrOS);
|
||||
+#endif
|
||||
case Wasm:
|
||||
return !lld::wasm::link(args, exitEarly, stdoutOS, stderrOS);
|
||||
default:
|
||||
--
|
||||
2.30.0
|
||||
|
||||
100
sys-devel/llvm/patches/llvm-12.0.0~rc4.patchset
Normal file
100
sys-devel/llvm/patches/llvm-12.0.0~rc4.patchset
Normal file
@@ -0,0 +1,100 @@
|
||||
From 090bb7d67f32c41a0f3caeb834000fbcc91ac3bb Mon Sep 17 00:00:00 2001
|
||||
From: Jerome Duval <jerome.duval@gmail.com>
|
||||
Date: Wed, 20 Jan 2016 21:13:28 +0000
|
||||
Subject: llvm-config: use /develop/headers instead of /include
|
||||
|
||||
* don't provide obj-root and src-root.
|
||||
|
||||
diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
|
||||
index 1a2f045..ee0cd89 100644
|
||||
--- a/tools/llvm-config/llvm-config.cpp
|
||||
+++ b/tools/llvm-config/llvm-config.cpp
|
||||
@@ -357,11 +357,16 @@ int main(int argc, char **argv) {
|
||||
("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include");
|
||||
} else {
|
||||
ActivePrefix = CurrentExecPrefix;
|
||||
+#ifdef __HAIKU__
|
||||
+ ActiveIncludeDir = ActivePrefix + "/develop/headers";
|
||||
+ ActiveLibDir = ActivePrefix + "/develop/lib" + LLVM_LIBDIR_SUFFIX;
|
||||
+#else
|
||||
ActiveIncludeDir = ActivePrefix + "/include";
|
||||
+ ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX;
|
||||
+#endif
|
||||
SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR));
|
||||
sys::fs::make_absolute(ActivePrefix, path);
|
||||
ActiveBinDir = std::string(path.str());
|
||||
- ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX;
|
||||
ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
|
||||
ActiveIncludeOption = "-I" + ActiveIncludeDir;
|
||||
}
|
||||
@@ -581,10 +586,16 @@ int main(int argc, char **argv) {
|
||||
OS << (LLVM_HAS_RTTI ? "YES" : "NO") << '\n';
|
||||
} else if (Arg == "--shared-mode") {
|
||||
PrintSharedMode = true;
|
||||
- } else if (Arg == "--obj-root") {
|
||||
- OS << ActivePrefix << '\n';
|
||||
- } else if (Arg == "--src-root") {
|
||||
- OS << LLVM_SRC_ROOT << '\n';
|
||||
+ } else if (Arg == "--obj-root" || Arg == "--src-root") {
|
||||
+ if (IsInDevelopmentTree) {
|
||||
+ if (Arg == "--obj-root")
|
||||
+ OS << ActivePrefix << '\n';
|
||||
+ else
|
||||
+ OS << LLVM_SRC_ROOT << '\n';
|
||||
+ } else {
|
||||
+ llvm::errs() << "llvm-config: sources not installed\n";
|
||||
+ exit(1);
|
||||
+ }
|
||||
} else if (Arg == "--ignore-libllvm") {
|
||||
LinkDyLib = false;
|
||||
LinkMode = BuiltSharedLibs ? LinkModeShared : LinkModeAuto;
|
||||
--
|
||||
2.30.0
|
||||
|
||||
|
||||
From 9c738041dffad94b591ecc4edc3129c6c0d31f31 Mon Sep 17 00:00:00 2001
|
||||
From: Calvin Hill <calvin@hakobaito.co.uk>
|
||||
Date: Sun, 9 Sep 2018 16:11:42 +0100
|
||||
Subject: import header dir suffix patch from 3dEyes.
|
||||
|
||||
|
||||
diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
|
||||
index ee0cd89..87a23c4 100644
|
||||
--- a/tools/llvm-config/llvm-config.cpp
|
||||
+++ b/tools/llvm-config/llvm-config.cpp
|
||||
@@ -358,7 +358,7 @@ int main(int argc, char **argv) {
|
||||
} else {
|
||||
ActivePrefix = CurrentExecPrefix;
|
||||
#ifdef __HAIKU__
|
||||
- ActiveIncludeDir = ActivePrefix + "/develop/headers";
|
||||
+ ActiveIncludeDir = ActivePrefix + "/develop/headers" + LLVM_LIBDIR_SUFFIX;
|
||||
ActiveLibDir = ActivePrefix + "/develop/lib" + LLVM_LIBDIR_SUFFIX;
|
||||
#else
|
||||
ActiveIncludeDir = ActivePrefix + "/include";
|
||||
--
|
||||
2.30.0
|
||||
|
||||
|
||||
From f3f431960bb61dc388c2eab5d5e0d9ae3e57244a Mon Sep 17 00:00:00 2001
|
||||
From: Calvin Hill <calvin@hakobaito.co.uk>
|
||||
Date: Sun, 9 Sep 2018 16:17:33 +0100
|
||||
Subject: llvm: allow llvm gtests to build on Haiku.
|
||||
|
||||
|
||||
diff --git a/utils/unittest/googletest/include/gtest/internal/gtest-port.h b/utils/unittest/googletest/include/gtest/internal/gtest-port.h
|
||||
index 17410d3..3e039a8 100644
|
||||
--- a/utils/unittest/googletest/include/gtest/internal/gtest-port.h
|
||||
+++ b/utils/unittest/googletest/include/gtest/internal/gtest-port.h
|
||||
@@ -793,7 +793,8 @@ using ::std::tuple_size;
|
||||
(GTEST_OS_MAC && !GTEST_OS_IOS) || \
|
||||
(GTEST_OS_WINDOWS_DESKTOP && _MSC_VER >= 1400) || \
|
||||
GTEST_OS_WINDOWS_MINGW || GTEST_OS_AIX || GTEST_OS_HPUX || \
|
||||
- GTEST_OS_OPENBSD || GTEST_OS_QNX || GTEST_OS_FREEBSD || GTEST_OS_NETBSD)
|
||||
+ GTEST_OS_OPENBSD || GTEST_OS_QNX || GTEST_OS_FREEBSD || GTEST_OS_NETBSD \
|
||||
+ || GTEST_OS_HAIKU)
|
||||
# define GTEST_HAS_DEATH_TEST 1
|
||||
#endif
|
||||
|
||||
--
|
||||
2.30.0
|
||||
|
||||
Reference in New Issue
Block a user