1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-07 19:18:19 +02:00

LLVM linux fixes

This commit is contained in:
Brian Fiete 2024-05-07 18:09:01 -04:00
parent 29f6313bb3
commit b0a559e464
9 changed files with 36 additions and 184 deletions

View file

@ -15,7 +15,7 @@ set(OUTPUT_RELEASE Release/bin)
project(${PROJECT_NAME} CXX C)
set (CMAKE_CXX_STANDARD 14)
set (CMAKE_CXX_STANDARD 17)
add_definitions(-D_GLIBCXX_USE_CXX11_ABI=1)
#set(CMAKE_POSITION_INDEPENDENT_CODE ON)
@ -119,7 +119,7 @@ add_executable(${PROJECT_NAME}
${SRC_FILES}
)
find_package(LLVM 18 CONFIG COMPONENTS)
find_package(LLVM 18.1 CONFIG COMPONENTS)
if (LLVM_FOUND)
message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
@ -130,41 +130,7 @@ if (LLVM_FOUND)
set(TARGET_LIBS_OS "-lLLVM-18")
else()
include_directories(
../extern/llvm-project_18_1_4/llvm/include
../extern/llvm-project_18_1_4/llvm/lib/Target
)
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
include_directories(
../extern/llvm_linux_18_1_4/include
../extern/llvm_linux_18_1_4/lib/Target/X86
)
set(LLVM_LIB "${CMAKE_CURRENT_SOURCE_DIR}/../extern/llvm_linux_18_1_4/lib")
else()
include_directories(
../extern/llvm_linux_rel_18_1_4/include
../extern/llvm_linux_rel_18_1_4/lib/Target/X86
)
set(LLVM_LIB "${CMAKE_CURRENT_SOURCE_DIR}/../extern/llvm_linux_rel_18_1_4/lib")
endif()
execute_process(
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../extern/llvm_linux_18_1_4/bin/llvm-config --system-libs --link-static
OUTPUT_VARIABLE LLVM_SYSTEM_LIBS
OUTPUT_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE EXEC_RESULT
)
if (EXEC_RESULT AND NOT EXEC_RESULT EQUAL 0)
if (EXEC_RESULT MATCHES "^[0-9]+$")
message(FATAL_ERROR "llvm-config exited with code ${EXEC_RESULT}.")
else()
message(FATAL_ERROR "llvm-config couldn't be executed: ${EXEC_RESULT}")
endif()
endif()
message(STATUS "Found LLVM 18.1.4 (local build)")
message(FATAL_ERROR "LLVM not found")
endif()
if (${APPLE})

View file

@ -27,7 +27,7 @@ PreprocessorMacros = ["DEBUG", "CLI"]
[Configs.Debug.macOS]
TargetDirectory = "$(WorkspaceDir)/../IDE/dist"
TargetName = "$(ProjectName)_d"
OtherLinkFlags = "./libBeefRT_d.a ./libIDEHelper_d.dylib ./libBeefySysLib_d.dylib $(Var IDEHelperLibs) -Wl,-rpath -Wl,@executable_path"
OtherLinkFlags = "./libBeefRT_d.a ./libIDEHelper_d.a ./libBeefySysLib_d.a ./libhunspell.dylib $(Var IDEHelperLibs) -Wl,-rpath -Wl,@executable_path"
CLibType = "Dynamic"
PreBuildCmds = ["ReadFile(\"$(WorkspaceDir)/../IDE/dist/IDEHelper_libs_d.txt\", \"IDEHelperLibs\")"]
DebugCommandArguments = "-proddir=..\\ -config=Debug -platform=Win64"
@ -37,7 +37,7 @@ PreprocessorMacros = ["DEBUG", "CLI"]
[Configs.Debug.Linux64]
TargetDirectory = "$(WorkspaceDir)/../IDE/dist"
TargetName = "$(ProjectName)_d"
OtherLinkFlags = "$(LinkFlags) ./libIDEHelper_d.so ./libBeefySysLib_d.so $(Var IDEHelperLibs) -Wl,-rpath -Wl,$ORIGIN"
OtherLinkFlags = "$(LinkFlags) ./libIDEHelper_d.a ./libBeefySysLib_d.a ./libhunspell.so $(Var IDEHelperLibs) -Wl,-rpath -Wl,$ORIGIN"
CLibType = "Dynamic"
PreBuildCmds = ["ReadFile(\"$(WorkspaceDir)/../IDE/dist/IDEHelper_libs_d.txt\", \"IDEHelperLibs\")"]
DebugCommandArguments = "-proddir=..\\ -config=Debug -platform=Win64"
@ -46,7 +46,7 @@ PreprocessorMacros = ["DEBUG", "CLI"]
[Configs.Release.macOS]
TargetDirectory = "$(WorkspaceDir)/../IDE/dist"
OtherLinkFlags = "./libBeefRT.a ./libIDEHelper.dylib ./libBeefySysLib.dylib $(Var IDEHelperLibs) -Wl,-rpath -Wl,@executable_path"
OtherLinkFlags = "./libBeefRT.a ./libIDEHelper.a ./libBeefySysLib.a ./libhunspell.dylib $(Var IDEHelperLibs) -Wl,-rpath -Wl,@executable_path"
CLibType = "Dynamic"
PreBuildCmds = ["ReadFile(\"$(WorkspaceDir)/../IDE/dist/IDEHelper_libs.txt\", \"IDEHelperLibs\")"]
DebugCommandArguments = "-proddir=..\\ -config=Debug -platform=Win64"
@ -55,7 +55,7 @@ PreprocessorMacros = ["CLI"]
[Configs.Release.Linux64]
TargetDirectory = "$(WorkspaceDir)/../IDE/dist"
OtherLinkFlags = "$(LinkFlags) ./libIDEHelper.so ./libBeefySysLib.so $(Var IDEHelperLibs) -Wl,-rpath -Wl,$ORIGIN"
OtherLinkFlags = "$(LinkFlags) ./libIDEHelper.a ./libBeefySysLib.a ./libhunspell.so $(Var IDEHelperLibs) -Wl,-rpath -Wl,$ORIGIN"
CLibType = "Dynamic"
PreBuildCmds = ["ReadFile(\"$(WorkspaceDir)/../IDE/dist/IDEHelper_libs.txt\", \"IDEHelperLibs\")"]
DebugCommandArguments = "-proddir=..\\ -config=Debug -platform=Win64"

View file

@ -10,6 +10,6 @@
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
</PropertyGroup>
<PropertyGroup>
<ShowAllFiles>true</ShowAllFiles>
<ShowAllFiles>false</ShowAllFiles>
</PropertyGroup>
</Project>

View file

@ -121,7 +121,7 @@ file(GLOB SRC_FILES
CachedDataStream.cpp
Common.cpp
DataStream.cpp
FileStream.cpp
FileStream.cpp
MemStream.cpp
ResLib.cpp
Startup.cpp
@ -329,7 +329,7 @@ if (DEFINED BF_ENABLE_SDL)
endif()
# Add library to build.
add_library(${PROJECT_NAME} SHARED
add_library(${PROJECT_NAME} STATIC
${SRC_FILES}
${SRC_FILES_OS}
)

View file

@ -2744,10 +2744,10 @@ $as_echo "continue configure in default builddir \"./$ax_enable_builddir\"" >&6;
srcdir=`echo "$ax_enable_builddir" |
sed -e 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g;s,[/]$,,;'`
# going to restart from subdirectory location
test -f $srcdir/config.log && mv $srcdir/config.log .
test -f $srcdir/confdefs.h && mv $srcdir/confdefs.h .
test -f $srcdir/conftest.log && mv $srcdir/conftest.log .
test -f $srcdir/$cache_file && mv $srcdir/$cache_file .
test -f $srcdir/config.log && cp $srcdir/config.log .
test -f $srcdir/confdefs.h && cp $srcdir/confdefs.h .
test -f $srcdir/conftest.log && cp $srcdir/conftest.log .
test -f $srcdir/$cache_file && cp $srcdir/$cache_file .
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&5
$as_echo "....exec $SHELL $srcdir/$0 \"--srcdir=$srcdir\" \"--enable-builddir=$ax_enable_builddir\" ${1+\"$@\"}" >&6; }
case "$0" in # restart

View file

@ -33,7 +33,7 @@ add_definitions(
-DBFSYSLIB_DYNAMIC
)
set (CMAKE_CXX_STANDARD 14)
set (CMAKE_CXX_STANDARD 17)
#add_definitions(-D_GLIBCXX_USE_CXX11_ABI=1)
INCLUDE(CheckIncludeFiles)
@ -168,7 +168,7 @@ file(GLOB SRC_FILES
Backend/BeModule.cpp
)
find_package(LLVM 13 CONFIG COMPONENTS)
find_package(LLVM 18.1 CONFIG COMPONENTS)
if (LLVM_FOUND)
message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
@ -177,128 +177,13 @@ if (LLVM_FOUND)
include_directories(${LLVM_INCLUDE_DIRS})
add_definitions(${LLVM_DEFINITIONS})
set(TARGET_LIBS_OS "-lLLVM-13 ${LLVM_SYSTEM_LIBS}")
set(TARGET_LIBS_OS "-lLLVM-18 ${LLVM_SYSTEM_LIBS}")
else()
list(APPEND SRC_FILES
X64.cpp
X86.cpp
X86Target.cpp
)
include_directories(h
../extern/llvm-project_18_1_4/llvm/include
../extern/llvm-project_18_1_4/llvm/lib/Target18_1_4
)
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
include_directories(
../extern/llvm_linux_18_1_4/include
../extern/llvm_linux_18_1_4/lib/Target/X86
../extern/llvm_linux_18_1_4/lib/Target/AArch64
)
set(LLVM_LIB "${CMAKE_CURRENT_SOURCE_DIR}/../extern/llvm_linux_18_1_4/lib")
else()
include_directories(
../extern/llvm_linux_rel_18_1_4/include
../extern/llvm_linux_rel_18_1_4/lib/Target/X86
../extern/llvm_linux_rel_18_1_4/lib/Target/AArch64
)
set(LLVM_LIB "${CMAKE_CURRENT_SOURCE_DIR}/../extern/llvm_linux_rel_18_1_4/lib")
endif()
execute_process(
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../extern/llvm_linux_18_1_4/bin/llvm-config --system-libs --link-static
OUTPUT_VARIABLE LLVM_SYSTEM_LIBS
OUTPUT_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE EXEC_RESULT
)
if (EXEC_RESULT AND NOT EXEC_RESULT EQUAL 0)
if (EXEC_RESULT MATCHES "^[0-9]+$")
message(FATAL_ERROR "llvm-config exited with code ${EXEC_RESULT}.")
else()
message(FATAL_ERROR "llvm-config couldn't be executed: ${EXEC_RESULT}")
endif()
endif()
message(STATUS "Found LLVM 18.1.4 (local build)")
set(TARGET_LIBS_OS "${LLVM_SYSTEM_LIBS}")
list(APPEND LLVM_LIBS
${LLVM_LIB}/libLLVMCore.a
${LLVM_LIB}/libLLVMCodeGen.a
${LLVM_LIB}/libLLVMMC.a
${LLVM_LIB}/libLLVMMCParser.a
${LLVM_LIB}/libLLVMMCDisassembler.a
${LLVM_LIB}/libLLVMObject.a
${LLVM_LIB}/libLLVMBitReader.a
${LLVM_LIB}/libLLVMAsmParser.a
${LLVM_LIB}/libLLVMTarget.a
${LLVM_LIB}/libLLVMScalarOpts.a
${LLVM_LIB}/libLLVMInstCombine.a
${LLVM_LIB}/libLLVMSelectionDAG.a
${LLVM_LIB}/libLLVMProfileData.a
${LLVM_LIB}/libLLVMAnalysis.a
${LLVM_LIB}/libLLVMAsmPrinter.a
${LLVM_LIB}/libLLVMBitWriter.a
${LLVM_LIB}/libLLVMVectorize.a
${LLVM_LIB}/libLLVMipo.a
${LLVM_LIB}/libLLVMInstrumentation.a
${LLVM_LIB}/libLLVMDebugInfoDWARF.a
${LLVM_LIB}/libLLVMDebugInfoPDB.a
${LLVM_LIB}/libLLVMDebugInfoCodeView.a
${LLVM_LIB}/libLLVMGlobalISel.a
${LLVM_LIB}/libLLVMTransformUtils.a
${LLVM_LIB}/libLLVMBinaryFormat.a
${LLVM_LIB}/libLLVMIRReader.a
${LLVM_LIB}/libLLVMLinker.a
${LLVM_LIB}/libLLVMAggressiveInstCombine.a
${LLVM_LIB}/libLLVMBitstreamReader.a
${LLVM_LIB}/libLLVMCFGuard.a
${LLVM_LIB}/libLLVMTextAPI.a
${LLVM_LIB}/libLLVMRemarks.a
${LLVM_LIB}/libLLVMX86Info.a
${LLVM_LIB}/libLLVMX86Desc.a
${LLVM_LIB}/libLLVMX86CodeGen.a
${LLVM_LIB}/libLLVMX86AsmParser.a
${LLVM_LIB}/libLLVMX86Disassembler.a
${LLVM_LIB}/libLLVMARMDesc.a
${LLVM_LIB}/libLLVMARMUtils.a
${LLVM_LIB}/libLLVMARMInfo.a
${LLVM_LIB}/libLLVMARMCodeGen.a
${LLVM_LIB}/libLLVMARMAsmParser.a
${LLVM_LIB}/libLLVMARMDisassembler.a
${LLVM_LIB}/libLLVMAArch64Desc.a
${LLVM_LIB}/libLLVMAArch64Utils.a
${LLVM_LIB}/libLLVMAArch64Info.a
${LLVM_LIB}/libLLVMAArch64CodeGen.a
${LLVM_LIB}/libLLVMAArch64AsmParser.a
${LLVM_LIB}/libLLVMAArch64Disassembler.a
${LLVM_LIB}/libLLVMWebAssemblyDesc.a
${LLVM_LIB}/libLLVMWebAssemblyInfo.a
${LLVM_LIB}/libLLVMWebAssemblyCodeGen.a
${LLVM_LIB}/libLLVMWebAssemblyAsmParser.a
${LLVM_LIB}/libLLVMWebAssemblyDisassembler.a
${LLVM_LIB}/libLLVMWebAssemblyUtils.a
${LLVM_LIB}/libLLVMSupport.a
${LLVM_LIB}/libLLVMDemangle.a
)
FOREACH (lib ${LLVM_LIBS})
string(APPEND TARGET_LIBS_OS " " ${lib})
ENDFOREACH()
message(FATAL_ERROR "LLVM not found")
endif()
# Add library to build.
add_library(${PROJECT_NAME} SHARED
add_library(${PROJECT_NAME} STATIC
${SRC_FILES}
)

View file

@ -1113,7 +1113,7 @@ void X64CPU::GetClobbersForMnemonic(const StringImpl& mnemonic, int argCount, Ar
outMayClobberMem = true;
int numImplicits = (int)desc.implicit_defs().size();
auto& impPtr = desc.implicit_defs();
auto impPtr = desc.implicit_defs();
for (int iImp = 0; iImp<numImplicits; ++iImp)
impRegs.Add(impPtr[iImp]);
}

View file

@ -49,7 +49,8 @@ LLVM_FOUND=0
if [ -n "$LLVM_CONFIG" ]; then
LLVM_VERSION=$($LLVM_CONFIG --version)
LLVM_MAJOR_VERSION=$(echo "$LLVM_VERSION" | cut -d. -f1)
if [ "$LLVM_MAJOR_VERSION" = "18" ]; then
LLVM_MINOR_VERSION=$(echo "$LLVM_VERSION" | cut -d. -f2)
if [ "$LLVM_MAJOR_VERSION" = "18" ] && [ "$LLVM_MINOR_VERSION" = "1" ]; then
LLVM_FOUND=1
fi
fi
@ -59,9 +60,8 @@ set -e
### Dependencies ###
if [ ! -f ../extern/llvm_linux_18_1_4/_Done.txt ] && [ $LLVM_FOUND == 0 ]; then
echo "ERROR: LLVM 18 was not detected on your system. Please install the package 'llvm-18-dev' and try again." >&2
echo "ERROR: As an alternative, you can compile LLVM from source using the script 'extern/llvm_build.sh'." >&2
if [ $LLVM_FOUND == 0 ]; then
echo "ERROR: LLVM 18.1 was not detected on your system. Please install the package 'llvm-18-dev' and try again." >&2
exit
fi
@ -102,25 +102,26 @@ else
fi
ln -s -f $ROOTPATH/jbuild_d/Debug/bin/libBeefRT_d.a libBeefRT_d.a
ln -s -f $ROOTPATH/jbuild_d/Debug/bin/libBeefySysLib_d.$LIBEXT libBeefySysLib_d.$LIBEXT
ln -s -f $ROOTPATH/jbuild_d/Debug/bin/libIDEHelper_d.$LIBEXT libIDEHelper_d.$LIBEXT
ln -s -f $ROOTPATH/jbuild_d/Debug/bin/libBeefySysLib_d.a libBeefySysLib_d.a
ln -s -f $ROOTPATH/jbuild_d/Debug/bin/libIDEHelper_d.a libIDEHelper_d.a
ln -s -f $ROOTPATH/jbuild/Release/bin/libBeefRT.a libBeefRT.a
ln -s -f $ROOTPATH/jbuild/Release/bin/libBeefySysLib.$LIBEXT libBeefySysLib.$LIBEXT
ln -s -f $ROOTPATH/jbuild/Release/bin/libIDEHelper.$LIBEXT libIDEHelper.$LIBEXT
ln -s -f $ROOTPATH/jbuild/Release/bin/libBeefySysLib.a libBeefySysLib.a
ln -s -f $ROOTPATH/jbuild/Release/bin/libIDEHelper.a libIDEHelper.a
ln -s -f $ROOTPATH/jbuild_d/Debug/bin/libhunspell.$LIBEXT libhunspell.$LIBEXT
ln -s -f $ROOTPATH/jbuild_d/Debug/bin/libBeefRT_d.a ../../BeefLibs/Beefy2D/dist/libBeefRT_d.a
ln -s -f $ROOTPATH/jbuild_d/Debug/bin/libBeefySysLib_d.$LIBEXT ../../BeefLibs/Beefy2D/dist/libBeefySysLib_d.$LIBEXT
ln -s -f $ROOTPATH/jbuild_d/Debug/bin/libIDEHelper_d.$LIBEXT ../../BeefLibs/Beefy2D/dist/libIDEHelper_d.$LIBEXT
ln -s -f $ROOTPATH/jbuild_d/Debug/bin/libBeefySysLib_d.a ../../BeefLibs/Beefy2D/dist/libBeefySysLib_d.a
ln -s -f $ROOTPATH/jbuild_d/Debug/bin/libIDEHelper_d.a ../../BeefLibs/Beefy2D/dist/libIDEHelper_d.a
ln -s -f $ROOTPATH/jbuild/Release/bin/libBeefRT.a ../../BeefLibs/Beefy2D/dist/libBeefRT.a
ln -s -f $ROOTPATH/jbuild/Release/bin/libBeefySysLib.$LIBEXT ../../BeefLibs/Beefy2D/dist/libBeefySysLib.$LIBEXT
ln -s -f $ROOTPATH/jbuild/Release/bin/libIDEHelper.$LIBEXT ../../BeefLibs/Beefy2D/dist/libIDEHelper.$LIBEXT
ln -s -f $ROOTPATH/jbuild/Release/bin/libBeefySysLib.a ../../BeefLibs/Beefy2D/dist/libBeefySysLib.a
ln -s -f $ROOTPATH/jbuild/Release/bin/libIDEHelper.a ../../BeefLibs/Beefy2D/dist/libIDEHelper.a
### DEBUG ###
echo Building BeefBuild_bootd
../../jbuild_d/Debug/bin/BeefBoot --out="BeefBuild_bootd" --src=../src --src=../../BeefBuild/src --src=../../BeefLibs/corlib/src --src=../../BeefLibs/Beefy2D/src --define=CLI --define=DEBUG --startup=BeefBuild.Program --linkparams="./libBeefRT_d.a ./libIDEHelper_d.$LIBEXT ./libBeefySysLib_d.$LIBEXT $(< ../../IDE/dist/IDEHelper_libs_d.txt) $LINKOPTS"
../../jbuild_d/Debug/bin/BeefBoot --out="BeefBuild_bootd" --src=../src --src=../../BeefBuild/src --src=../../BeefLibs/corlib/src --src=../../BeefLibs/Beefy2D/src --define=CLI --define=DEBUG --startup=BeefBuild.Program --linkparams="./libBeefRT_d.a ./libIDEHelper_d.a ./libBeefySysLib_d.a ./libhunspell.$LIBEXT $(< ../../IDE/dist/IDEHelper_libs_d.txt) $LINKOPTS"
echo Building BeefBuild_d
./BeefBuild_bootd -clean -proddir=../../BeefBuild -config=Debug
echo Testing IDEHelper/Tests in BeefBuild_d
@ -129,7 +130,7 @@ echo Testing IDEHelper/Tests in BeefBuild_d
### RELEASE ###
echo Building BeefBuild_boot
../../jbuild/Release/bin/BeefBoot --out="BeefBuild_boot" --src=../src --src=../../BeefBuild/src --src=../../BeefLibs/corlib/src --src=../../BeefLibs/Beefy2D/src --define=CLI --startup=BeefBuild.Program --linkparams="./libBeefRT.a ./libIDEHelper.$LIBEXT ./libBeefySysLib.$LIBEXT $(< ../../IDE/dist/IDEHelper_libs.txt) $LINKOPTS"
../../jbuild/Release/bin/BeefBoot --out="BeefBuild_boot" --src=../src --src=../../BeefBuild/src --src=../../BeefLibs/corlib/src --src=../../BeefLibs/Beefy2D/src --define=CLI --startup=BeefBuild.Program --linkparams="./libBeefRT.a ./libIDEHelper.a ./libBeefySysLib.a ./libhunspell.$LIBEXT $(< ../../IDE/dist/IDEHelper_libs.txt) $LINKOPTS"
echo Building BeefBuild
./BeefBuild_boot -clean -proddir=../../BeefBuild -config=Release
echo Testing IDEHelper/Tests in BeefBuild

View file

@ -1 +1 @@
llvm-ar LLVMObjCARCOpts LLVMWebAssemblyAsmParser LLVMX86Disassembler LLVMMCDisassembler LLVMSupport LLVMX86Info LLVMX86Desc LLVMMC LLVMObject LLVMCore LLVMBitReader LLVMAsmParser LLVMMCParser LLVMCodeGen LLVMTarget LLVMX86CodeGen LLVMScalarOpts LLVMInstCombine LLVMSelectionDAG LLVMProfileData LLVMTransformUtils LLVMAnalysis LLVMX86AsmParser LLVMAsmPrinter LLVMBitWriter LLVMVectorize LLVMipo LLVMInstrumentation LLVMDebugInfoDWARF LLVMDebugInfoPDB LLVMDebugInfoCodeView LLVMGlobalISel LLVMBinaryFormat LLVMCoverage LLVMDebugInfoGSYM LLVMDWARFLinker LLVMRuntimeDyld LLVMExecutionEngine LLVMMCJIT LLVMFuzzMutate LLVMInterpreter LLVMLineEditor LLVMExtensions LLVMObjCARCOpts LLVMCoroutines LLVMPasses LLVMLTO LLVMMCA LLVMMIRParser LLVMObjectYAML LLVMJITLink LLVMSymbolize LLVMTestingSupport LLVMWindowsManifest LLVMXRay LLVMARMCodeGen LLVMARMDisassembler LLVMAArch64CodeGen LLVMAArch64Disassembler LLVMWebAssemblyCodeGen LLVMWebAssemblyDisassembler LLVMWebAssemblyUtils LLVMFileCheck LLVMInterfaceStub LLVMFrontendOpenACC LLVMDWP LLVMOrcJIT
llvm-config llvm-ar LLVMObjCARCOpts LLVMWebAssemblyAsmParser LLVMX86Disassembler LLVMMCDisassembler LLVMSupport LLVMX86Info LLVMX86Desc LLVMMC LLVMObject LLVMCore LLVMBitReader LLVMAsmParser LLVMMCParser LLVMCodeGen LLVMTarget LLVMX86CodeGen LLVMScalarOpts LLVMInstCombine LLVMSelectionDAG LLVMProfileData LLVMTransformUtils LLVMAnalysis LLVMX86AsmParser LLVMAsmPrinter LLVMBitWriter LLVMVectorize LLVMipo LLVMInstrumentation LLVMDebugInfoDWARF LLVMDebugInfoPDB LLVMDebugInfoCodeView LLVMGlobalISel LLVMBinaryFormat LLVMCoverage LLVMDebugInfoGSYM LLVMDWARFLinker LLVMRuntimeDyld LLVMExecutionEngine LLVMMCJIT LLVMFuzzMutate LLVMInterpreter LLVMLineEditor LLVMExtensions LLVMObjCARCOpts LLVMCoroutines LLVMPasses LLVMLTO LLVMMCA LLVMMIRParser LLVMObjectYAML LLVMJITLink LLVMSymbolize LLVMTestingSupport LLVMWindowsManifest LLVMXRay LLVMARMCodeGen LLVMARMDisassembler LLVMAArch64CodeGen LLVMAArch64Disassembler LLVMWebAssemblyCodeGen LLVMWebAssemblyDisassembler LLVMWebAssemblyUtils LLVMFileCheck LLVMInterfaceStub LLVMFrontendOpenACC LLVMDWP LLVMOrcJIT LLVMFuzzerCLI LLVMDWARFLinkerClassic LLVMDWARFLinkerParallel LLVMFrontendDriver LLVMFrontendHLSL LLVMObjCopy LLVMDebugInfoLogicalView LLVMOrcDebugging LLVMX86TargetMCA LLVMTextAPIBinaryReader