diff --git a/sys-devel/llvm/llvm21-21.1.1.recipe b/sys-devel/llvm/llvm21-21.1.1.recipe index 85531ae19..afe8e5044 100644 --- a/sys-devel/llvm/llvm21-21.1.1.recipe +++ b/sys-devel/llvm/llvm21-21.1.1.recipe @@ -132,33 +132,16 @@ PROVIDES=" 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:libLLVMAMDGPUTargetMCA$secondaryArchSuffix - devel:libLLVMAMDGPUUtils$secondaryArchSuffix devel:libLLVMARMAsmParser$secondaryArchSuffix devel:libLLVMARMCodeGen$secondaryArchSuffix devel:libLLVMARMDesc$secondaryArchSuffix devel:libLLVMARMDisassembler$secondaryArchSuffix devel:libLLVMARMInfo$secondaryArchSuffix devel:libLLVMARMUtils$secondaryArchSuffix - devel:libLLVMAVRAsmParser$secondaryArchSuffix - devel:libLLVMAVRCodeGen$secondaryArchSuffix - devel:libLLVMAVRDesc$secondaryArchSuffix - devel:libLLVMAVRDisassembler$secondaryArchSuffix - devel:libLLVMAVRInfo$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 @@ -192,9 +175,6 @@ PROVIDES=" devel:libLLVMExecutionEngine$secondaryArchSuffix devel:libLLVMExegesis$secondaryArchSuffix devel:libLLVMExegesisAArch64$secondaryArchSuffix - devel:libLLVMExegesisMips$secondaryArchSuffix - devel:libLLVMExegesisPowerPC$secondaryArchSuffix - devel:libLLVMExegesisRISCV$secondaryArchSuffix devel:libLLVMExegesisX86$secondaryArchSuffix devel:libLLVMExtensions$secondaryArchSuffix devel:libLLVMFileCheck$secondaryArchSuffix @@ -208,11 +188,6 @@ PROVIDES=" devel:libLLVMFuzzMutate$secondaryArchSuffix devel:libLLVMFuzzerCLI$secondaryArchSuffix devel:libLLVMGlobalISel$secondaryArchSuffix - devel:libLLVMHexagonAsmParser$secondaryArchSuffix - devel:libLLVMHexagonCodeGen$secondaryArchSuffix - devel:libLLVMHexagonDesc$secondaryArchSuffix - devel:libLLVMHexagonDisassembler$secondaryArchSuffix - devel:libLLVMHexagonInfo$secondaryArchSuffix devel:libLLVMHipStdPar$secondaryArchSuffix devel:libLLVMIRPrinter$secondaryArchSuffix devel:libLLVMIRReader$secondaryArchSuffix @@ -221,16 +196,6 @@ PROVIDES=" devel:libLLVMInterfaceStub$secondaryArchSuffix devel:libLLVMInterpreter$secondaryArchSuffix devel:libLLVMJITLink$secondaryArchSuffix - devel:libLLVMLanaiAsmParser$secondaryArchSuffix - devel:libLLVMLanaiCodeGen$secondaryArchSuffix - devel:libLLVMLanaiDesc$secondaryArchSuffix - devel:libLLVMLanaiDisassembler$secondaryArchSuffix - devel:libLLVMLanaiInfo$secondaryArchSuffix - devel:libLLVMLoongArchAsmParser$secondaryArchSuffix - devel:libLLVMLoongArchCodeGen$secondaryArchSuffix - devel:libLLVMLoongArchDesc$secondaryArchSuffix - devel:libLLVMLoongArchDisassembler$secondaryArchSuffix - devel:libLLVMLoongArchInfo$secondaryArchSuffix devel:libLLVMLTO$secondaryArchSuffix devel:libLLVMLibDriver$secondaryArchSuffix devel:libLLVMLineEditor$secondaryArchSuffix @@ -241,6 +206,86 @@ PROVIDES=" devel:libLLVMMCJIT$secondaryArchSuffix devel:libLLVMMCParser$secondaryArchSuffix devel:libLLVMMIRParser$secondaryArchSuffix + devel:libLLVMObjCARCOpts$secondaryArchSuffix + devel:libLLVMObjCopy$secondaryArchSuffix + devel:libLLVMObject$secondaryArchSuffix + devel:libLLVMObjectYAML$secondaryArchSuffix + devel:libLLVMOptDriver$secondaryArchSuffix + devel:libLLVMOption$secondaryArchSuffix + devel:libLLVMOrcDebugging$secondaryArchSuffix + devel:libLLVMOrcJIT$secondaryArchSuffix + devel:libLLVMOrcShared$secondaryArchSuffix + devel:libLLVMOrcTargetProcess$secondaryArchSuffix + devel:libLLVMPasses$secondaryArchSuffix + devel:libLLVMProfileData$secondaryArchSuffix + devel:libLLVMRemarks$secondaryArchSuffix + devel:libLLVMRuntimeDyld$secondaryArchSuffix + devel:libLLVMSandboxIR$secondaryArchSuffix + devel:libLLVMScalarOpts$secondaryArchSuffix + devel:libLLVMSelectionDAG$secondaryArchSuffix + devel:libLLVMSupport$secondaryArchSuffix + devel:libLLVMSymbolize$secondaryArchSuffix + devel:libLLVMTableGen$secondaryArchSuffix + devel:libLLVMTableGenBasic$secondaryArchSuffix + devel:libLLVMTableGenCommon$secondaryArchSuffix + devel:libLLVMTableGenGlobalISel$secondaryArchSuffix + devel:libLLVMTarget$secondaryArchSuffix + devel:libLLVMTargetParser$secondaryArchSuffix + devel:libLLVMTelemetry$secondaryArchSuffix + devel:libLLVMTextAPI$secondaryArchSuffix + devel:libLLVMTextAPIBinaryReader$secondaryArchSuffix + devel:libLLVMTransformUtils$secondaryArchSuffix + devel:libLLVMVectorize$secondaryArchSuffix + devel:libLLVMWindowsDriver$secondaryArchSuffix + devel:libLLVMWindowsManifest$secondaryArchSuffix + devel:libLLVMX86AsmParser$secondaryArchSuffix + devel:libLLVMX86CodeGen$secondaryArchSuffix + devel:libLLVMX86Desc$secondaryArchSuffix + devel:libLLVMX86Disassembler$secondaryArchSuffix + devel:libLLVMX86Info$secondaryArchSuffix + devel:libLLVMX86TargetMCA$secondaryArchSuffix + devel:libLLVMXRay$secondaryArchSuffix + devel:libLLVMipo$secondaryArchSuffix + devel:libLTO$secondaryArchSuffix = $portVersionCompat + devel:libRemarks$secondaryArchSuffix = $portVersionCompat + " +if [ "$targetArchitecture" != x86_gcc2 ];then +PROVIDES=" + devel:libLLVMAMDGPUAsmParser$secondaryArchSuffix + devel:libLLVMAMDGPUCodeGen$secondaryArchSuffix + devel:libLLVMAMDGPUDesc$secondaryArchSuffix + devel:libLLVMAMDGPUDisassembler$secondaryArchSuffix + devel:libLLVMAMDGPUInfo$secondaryArchSuffix + devel:libLLVMAMDGPUTargetMCA$secondaryArchSuffix + devel:libLLVMAMDGPUUtils$secondaryArchSuffix + devel:libLLVMAVRAsmParser$secondaryArchSuffix + devel:libLLVMAVRCodeGen$secondaryArchSuffix + devel:libLLVMAVRDesc$secondaryArchSuffix + devel:libLLVMAVRDisassembler$secondaryArchSuffix + devel:libLLVMAVRInfo$secondaryArchSuffix + devel:libLLVMBPFAsmParser$secondaryArchSuffix + devel:libLLVMBPFCodeGen$secondaryArchSuffix + devel:libLLVMBPFDesc$secondaryArchSuffix + devel:libLLVMBPFDisassembler$secondaryArchSuffix + devel:libLLVMBPFInfo$secondaryArchSuffix + devel:libLLVMExegesisMips$secondaryArchSuffix + devel:libLLVMExegesisPowerPC$secondaryArchSuffix + devel:libLLVMExegesisRISCV$secondaryArchSuffix + devel:libLLVMHexagonAsmParser$secondaryArchSuffix + devel:libLLVMHexagonCodeGen$secondaryArchSuffix + devel:libLLVMHexagonDesc$secondaryArchSuffix + devel:libLLVMHexagonDisassembler$secondaryArchSuffix + devel:libLLVMHexagonInfo$secondaryArchSuffix + devel:libLLVMLanaiAsmParser$secondaryArchSuffix + devel:libLLVMLanaiCodeGen$secondaryArchSuffix + devel:libLLVMLanaiDesc$secondaryArchSuffix + devel:libLLVMLanaiDisassembler$secondaryArchSuffix + devel:libLLVMLanaiInfo$secondaryArchSuffix + devel:libLLVMLoongArchAsmParser$secondaryArchSuffix + devel:libLLVMLoongArchCodeGen$secondaryArchSuffix + devel:libLLVMLoongArchDesc$secondaryArchSuffix + devel:libLLVMLoongArchDisassembler$secondaryArchSuffix + devel:libLLVMLoongArchInfo$secondaryArchSuffix devel:libLLVMMSP430AsmParser$secondaryArchSuffix devel:libLLVMMSP430CodeGen$secondaryArchSuffix devel:libLLVMMSP430Desc$secondaryArchSuffix @@ -254,89 +299,48 @@ PROVIDES=" devel:libLLVMNVPTXCodeGen$secondaryArchSuffix devel:libLLVMNVPTXDesc$secondaryArchSuffix devel:libLLVMNVPTXInfo$secondaryArchSuffix - devel:libLLVMObjCARCOpts$secondaryArchSuffix - devel:libLLVMObjCopy$secondaryArchSuffix - devel:libLLVMObject$secondaryArchSuffix - devel:libLLVMObjectYAML$secondaryArchSuffix - devel:libLLVMOptDriver$secondaryArchSuffix - devel:libLLVMOption$secondaryArchSuffix - devel:libLLVMOrcDebugging$secondaryArchSuffix - devel:libLLVMOrcJIT$secondaryArchSuffix - devel:libLLVMOrcShared$secondaryArchSuffix - devel:libLLVMOrcTargetProcess$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:libLLVMRISCVTargetMCA$secondaryArchSuffix - devel:libLLVMRemarks$secondaryArchSuffix - devel:libLLVMRuntimeDyld$secondaryArchSuffix devel:libLLVMSPIRVAnalysis$secondaryArchSuffix devel:libLLVMSPIRVCodeGen$secondaryArchSuffix devel:libLLVMSPIRVDesc$secondaryArchSuffix devel:libLLVMSPIRVInfo$secondaryArchSuffix - devel:libLLVMSandboxIR$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:libLLVMTableGenBasic$secondaryArchSuffix - devel:libLLVMTableGenCommon$secondaryArchSuffix - devel:libLLVMTableGenGlobalISel$secondaryArchSuffix - devel:libLLVMTarget$secondaryArchSuffix - devel:libLLVMTargetParser$secondaryArchSuffix - devel:libLLVMTelemetry$secondaryArchSuffix - devel:libLLVMTextAPI$secondaryArchSuffix - devel:libLLVMTextAPIBinaryReader$secondaryArchSuffix - devel:libLLVMTransformUtils$secondaryArchSuffix devel:libLLVMVEAsmParser$secondaryArchSuffix devel:libLLVMVECodeGen$secondaryArchSuffix devel:libLLVMVEDesc$secondaryArchSuffix devel:libLLVMVEDisassembler$secondaryArchSuffix devel:libLLVMVEInfo$secondaryArchSuffix - devel:libLLVMVectorize$secondaryArchSuffix devel:libLLVMWebAssemblyAsmParser$secondaryArchSuffix devel:libLLVMWebAssemblyCodeGen$secondaryArchSuffix devel:libLLVMWebAssemblyDesc$secondaryArchSuffix devel:libLLVMWebAssemblyDisassembler$secondaryArchSuffix devel:libLLVMWebAssemblyInfo$secondaryArchSuffix devel:libLLVMWebAssemblyUtils$secondaryArchSuffix - devel:libLLVMWindowsDriver$secondaryArchSuffix - devel:libLLVMWindowsManifest$secondaryArchSuffix - devel:libLLVMX86AsmParser$secondaryArchSuffix - devel:libLLVMX86CodeGen$secondaryArchSuffix - devel:libLLVMX86Desc$secondaryArchSuffix - devel:libLLVMX86Disassembler$secondaryArchSuffix - devel:libLLVMX86Info$secondaryArchSuffix - devel:libLLVMX86TargetMCA$secondaryArchSuffix devel:libLLVMXCoreCodeGen$secondaryArchSuffix devel:libLLVMXCoreDesc$secondaryArchSuffix devel:libLLVMXCoreDisassembler$secondaryArchSuffix devel:libLLVMXCoreInfo$secondaryArchSuffix - devel:libLLVMXRay$secondaryArchSuffix - devel:libLLVMipo$secondaryArchSuffix - devel:libLTO$secondaryArchSuffix = $portVersionCompat - devel:libRemarks$secondaryArchSuffix = $portVersionCompat " +fi REQUIRES=" haiku$secondaryArchSuffix lib:libclang_cpp$secondaryArchSuffix @@ -663,6 +667,8 @@ BUILD() if [ "$targetArchitecture" = x86_gcc2 ];then export LIBRARY_PATH=$LIBRARY_PATH:$sourceDir/build/lib/x86 + cmakeFlags="$cmakeFlags -DLLVM_TARGETS_TO_BUILD=AArch64\;X86" + cmakeFlags="$cmakeFlags -DLLVM_PARALLEL_TABLEGEN_JOBS=1" else export LIBRARY_PATH=$LIBRARY_PATH:$sourceDir/build/lib fi @@ -679,11 +685,6 @@ BUILD() -DLLVM_ENABLE_RUNTIMES="libunwind" \ -DLIBOMP_INSTALL_ALIASES=OFF - case "$buildArchitecture" in - x86 | x86_gcc2) jobArgs="-j2" ;; - esac - - export DISABLE_ASLR=1 cmake --build build $jobArgs } @@ -710,6 +711,10 @@ INSTALL() $python setup.py install --root=/ --prefix="$prefix" -O1 popd + if [ -n "$secondaryArchSuffix" ]; then + mv $prefix/lib/libunwind* $libDir + 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.