@@ -604,6 +604,11 @@ if(LLVM_PREFIX)
604
604
file (STRINGS ${llvm_config_path} llvm_api_version_line REGEX "MONO_API_VERSION " )
605
605
string (REGEX REPLACE ".*MONO_API_VERSION ([0-9]+)" "\\ 1" llvm_api_version ${llvm_api_version_line} )
606
606
607
+ # IMPORTANT: when bumping LLVM make sure to rerun the llvm-config commands below and update the variables accordingly
608
+ if (NOT ${llvm_api_version} EQUAL 1900 )
609
+ message (FATAL_ERROR "Unexpected LLVM version: ${llvm_api_version} ." )
610
+ endif ()
611
+
607
612
# llvm-config --libs analysis core bitwriter mcjit orcjit
608
613
set (MONO_llvm_core_libs "LLVMOrcJIT" "LLVMPasses" "LLVMIRPrinter" "LLVMHipStdPar" "LLVMCoroutines" "LLVMipo" "LLVMInstrumentation" "LLVMVectorize" "LLVMLinker" "LLVMFrontendOpenMP" "LLVMFrontendOffloading" "LLVMCodeGen" "LLVMScalarOpts" "LLVMInstCombine" "LLVMObjCARCOpts" "LLVMCodeGenTypes" "LLVMCFGuard" "LLVMAggressiveInstCombine" "LLVMTransformUtils" "LLVMWindowsDriver" "LLVMJITLink" "LLVMOption" "LLVMMCJIT" "LLVMExecutionEngine" "LLVMTarget" "LLVMRuntimeDyld" "LLVMOrcTargetProcess" "LLVMOrcShared" "LLVMBitWriter" "LLVMAnalysis" "LLVMProfileData" "LLVMSymbolize" "LLVMDebugInfoBTF" "LLVMDebugInfoPDB" "LLVMDebugInfoMSF" "LLVMDebugInfoDWARF" "LLVMObject" "LLVMTextAPI" "LLVMMCParser" "LLVMIRReader" "LLVMAsmParser" "LLVMMC" "LLVMDebugInfoCodeView" "LLVMBitReader" "LLVMCore" "LLVMRemarks" "LLVMBitstreamReader" "LLVMBinaryFormat" "LLVMTargetParser" "LLVMSupport" "LLVMDemangle" )
609
614
@@ -616,24 +621,16 @@ if(LLVM_PREFIX)
616
621
# llvm-config --libs aarch64codegen
617
622
set (MONO_llvm_extra_libs_aarch64codegen "LLVMAArch64CodeGen" "LLVMGlobalISel" "LLVMSelectionDAG" "LLVMCFGuard" "LLVMAsmPrinter" "LLVMCodeGen" "LLVMTarget" "LLVMScalarOpts" "LLVMInstCombine" "LLVMAggressiveInstCombine" "LLVMObjCARCOpts" "LLVMTransformUtils" "LLVMBitWriter" "LLVMAnalysis" "LLVMProfileData" "LLVMSymbolize" "LLVMDebugInfoBTF" "LLVMDebugInfoPDB" "LLVMDebugInfoMSF" "LLVMDebugInfoDWARF" "LLVMObject" "LLVMTextAPI" "LLVMMCParser" "LLVMIRReader" "LLVMAsmParser" "LLVMBitReader" "LLVMAArch64Desc" "LLVMCodeGenTypes" "LLVMAArch64Utils" "LLVMCore" "LLVMRemarks" "LLVMBitstreamReader" "LLVMAArch64Info" "LLVMMC" "LLVMDebugInfoCodeView" "LLVMBinaryFormat" "LLVMTargetParser" "LLVMSupport" "LLVMDemangle" )
618
623
619
- if (HOST_LINUX AND NOT HOST_WASM AND NOT HOST_WASI AND ${llvm_api_version} GREATER_EQUAL 1600 )
624
+ if (HOST_LINUX AND NOT HOST_WASM AND NOT HOST_WASI )
620
625
set (MONO_stdlib "-nostdinc++ -nostdlib++" )
621
626
set (MONO_cxx_lib "-L${LLVM_PREFIX} /lib -lc++ -lc++abi" )
622
627
set (MONO_cxx_include "-isystem ${LLVM_PREFIX} /include/c++/v1" )
623
628
endif ()
624
629
625
- if (${llvm_api_version} GREATER_EQUAL 1600 )
626
- if (HOST_WIN32 )
627
- set (MONO_cxx_std_version "/std:c++17" )
628
- else ()
629
- set (MONO_cxx_std_version "-std=c++17" )
630
- endif ()
630
+ if (HOST_WIN32 )
631
+ set (MONO_cxx_std_version "/std:c++17" )
631
632
else ()
632
- if (HOST_WIN32 )
633
- set (MONO_cxx_std_version "/std:c++14" )
634
- else ()
635
- set (MONO_cxx_std_version "-std=c++14" )
636
- endif ()
633
+ set (MONO_cxx_std_version "-std=c++17" )
637
634
endif ()
638
635
639
636
# llvm-config --cflags
@@ -672,10 +669,6 @@ if(LLVM_PREFIX)
672
669
list (TRANSFORM llvm_libs PREPEND "${LLVM_PREFIX} /lib/${CMAKE_STATIC_LIBRARY_PREFIX} " )
673
670
list (TRANSFORM llvm_libs APPEND "${CMAKE_STATIC_LIBRARY_SUFFIX} " )
674
671
675
- if (${llvm_api_version} LESS 1100 )
676
- message (FATAL_ERROR "LLVM version too old." )
677
- endif ()
678
-
679
672
set (ENABLE_LLVM 1 )
680
673
set (ENABLE_LLVM_RUNTIME 1 )
681
674
set (LLVM_LIBS ${llvm_libs} ${llvm_system_libs} )
0 commit comments