From 1210fb7142001eae19061f30b26369ad90be00fd Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Tue, 8 Feb 2022 10:38:02 -0800 Subject: [PATCH] LLVM 13 Linux fixes --- BeefBoot/CMakeLists.txt | 22 +++++++++++----------- IDEHelper/CMakeLists.txt | 34 ++++++++++++++++++---------------- bin/build.sh | 2 +- extern/llvm_build.sh | 1 + extern/llvm_targets.txt | 2 +- 5 files changed, 32 insertions(+), 29 deletions(-) diff --git a/BeefBoot/CMakeLists.txt b/BeefBoot/CMakeLists.txt index 9ceb3c88..08236d59 100644 --- a/BeefBoot/CMakeLists.txt +++ b/BeefBoot/CMakeLists.txt @@ -44,8 +44,8 @@ if (${APPLE}) ../BeefySysLib/ ../BeefySysLib/third_party ../BeefySysLib/third_party/freetype/include - ../extern/llvm-project_11_0_0/llvm/include - ../extern/llvm-project_11_0_0/llvm/lib/Target + ../extern/llvm-project_13_0_1/llvm/include + ../extern/llvm-project_13_0_1/llvm/lib/Target ../IDEHelper ../BeefySysLib/platform/osx @@ -57,8 +57,8 @@ else() ../BeefySysLib/ ../BeefySysLib/third_party ../BeefySysLib/third_party/freetype/include - ../extern/llvm-project_11_0_0/llvm/include - ../extern/llvm-project_11_0_0/llvm/lib/Target + ../extern/llvm-project_13_0_1/llvm/include + ../extern/llvm-project_13_0_1/llvm/lib/Target ../IDEHelper ../BeefySysLib/platform/linux @@ -74,18 +74,18 @@ if(CMAKE_BUILD_TYPE STREQUAL "Debug") -D_DEBUG ) include_directories( - ../extern/llvm_linux_11_0_0/include - ../extern/llvm_linux_11_0_0/lib/Target/X86 + ../extern/llvm_linux_13_0_1/include + ../extern/llvm_linux_13_0_1/lib/Target/X86 ) set(EXECUTABLE_OUTPUT_PATH "${CMAKE_BINARY_DIR}/${OUTPUT_DEBUG}") - set(LLVM_LIB "${CMAKE_CURRENT_SOURCE_DIR}/../extern/llvm_linux_11_0_0/lib") + set(LLVM_LIB "${CMAKE_CURRENT_SOURCE_DIR}/../extern/llvm_linux_13_0_1/lib") else() include_directories( - ../extern/llvm_linux_rel_11_0_0/include - ../extern/llvm_linux_rel_11_0_0/lib/Target/X86 + ../extern/llvm_linux_rel_13_0_1/include + ../extern/llvm_linux_rel_13_0_1/lib/Target/X86 ) set(EXECUTABLE_OUTPUT_PATH "${CMAKE_BINARY_DIR}/${OUTPUT_RELEASE}") - set(LLVM_LIB "${CMAKE_CURRENT_SOURCE_DIR}/../extern/llvm_linux_rel_11_0_0/lib") + set(LLVM_LIB "${CMAKE_CURRENT_SOURCE_DIR}/../extern/llvm_linux_rel_13_0_1/lib") endif() ################### Dependencies ################## @@ -134,7 +134,7 @@ add_executable(${PROJECT_NAME} ) execute_process( - COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../extern/llvm_linux_11_0_0/bin/llvm-config --system-libs --link-static + COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../extern/llvm_linux_13_0_1/bin/llvm-config --system-libs --link-static OUTPUT_VARIABLE LLVM_SYSTEM_LIBS OUTPUT_STRIP_TRAILING_WHITESPACE ) diff --git a/IDEHelper/CMakeLists.txt b/IDEHelper/CMakeLists.txt index e3512450..0db952ad 100644 --- a/IDEHelper/CMakeLists.txt +++ b/IDEHelper/CMakeLists.txt @@ -49,8 +49,8 @@ if (${APPLE}) ../BeefySysLib/ ../BeefySysLib/third_party ../BeefySysLib/third_party/freetype/include - ../extern/llvm-project_11_0_0/llvm/include - ../extern/llvm-project_11_0_0/llvm/lib/Target + ../extern/llvm-project_13_0_1/llvm/include + ../extern/llvm-project_13_0_1/llvm/lib/Target ../BeefySysLib/platform/osx ) @@ -61,8 +61,8 @@ else() ../BeefySysLib/ ../BeefySysLib/third_party ../BeefySysLib/third_party/freetype/include - ../extern/llvm-project_11_0_0/llvm/include - ../extern/llvm-project_11_0_0/llvm/lib/Target + ../extern/llvm-project_13_0_1/llvm/include + ../extern/llvm-project_13_0_1/llvm/lib/Target ../BeefySysLib/platform/linux ) @@ -77,24 +77,24 @@ if(CMAKE_BUILD_TYPE STREQUAL "Debug") -D_DEBUG ) include_directories( - ../extern/llvm_linux_11_0_0/include - ../extern/llvm_linux_11_0_0/lib/Target/X86 - ../extern/llvm_linux_11_0_0/lib/Target/AArch64 + ../extern/llvm_linux_13_0_1/include + ../extern/llvm_linux_13_0_1/lib/Target/X86 + ../extern/llvm_linux_13_0_1/lib/Target/AArch64 ) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${OUTPUT_DEBUG}") set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${OUTPUT_DEBUG}") set(CMAKE_EXECUTABLE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${OUTPUT_DEBUG}") - set(LLVM_LIB "${CMAKE_CURRENT_SOURCE_DIR}/../extern/llvm_linux_11_0_0/lib") + set(LLVM_LIB "${CMAKE_CURRENT_SOURCE_DIR}/../extern/llvm_linux_13_0_1/lib") else() include_directories( - ../extern/llvm_linux_rel_11_0_0/include - ../extern/llvm_linux_rel_11_0_0/lib/Target/X86 - ../extern/llvm_linux_rel_11_0_0/lib/Target/AArch64 + ../extern/llvm_linux_rel_13_0_1/include + ../extern/llvm_linux_rel_13_0_1/lib/Target/X86 + ../extern/llvm_linux_rel_13_0_1/lib/Target/AArch64 ) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${OUTPUT_RELEASE}") set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${OUTPUT_RELEASE}") set(CMAKE_EXECUTABLE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${OUTPUT_RELEASE}") - set(LLVM_LIB "${CMAKE_CURRENT_SOURCE_DIR}/../extern/llvm_linux_rel_11_0_0/lib") + set(LLVM_LIB "${CMAKE_CURRENT_SOURCE_DIR}/../extern/llvm_linux_rel_13_0_1/lib") endif() ################### Dependencies ################## @@ -192,15 +192,16 @@ add_library(${PROJECT_NAME} SHARED ) execute_process( - COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../extern/llvm_linux_11_0_0/bin/llvm-config --system-libs --link-static + COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../extern/llvm_linux_13_0_1/bin/llvm-config --system-libs --link-static OUTPUT_VARIABLE LLVM_SYSTEM_LIBS - OUTPUT_STRIP_TRAILING_WHITESPACE + OUTPUT_STRIP_TRAILING_WHITESPACE ) set(TARGET_LIBS_OS "${LLVM_SYSTEM_LIBS}") if (HAVE_BACKTRACE_HEADERS) string(APPEND TARGET_LIBS_OS " -lbacktrace") + string(STRIP ${TARGET_LIBS_OS} TARGET_LIBS_OS) endif() list(APPEND LLVM_LIBS @@ -217,7 +218,7 @@ list(APPEND LLVM_LIBS ${LLVM_LIB}/libLLVMInstCombine.a ${LLVM_LIB}/libLLVMSelectionDAG.a ${LLVM_LIB}/libLLVMProfileData.a - ${LLVM_LIB}/libLLVMTransformUtils.a + ${LLVM_LIB}/libLLVMAnalysis.a ${LLVM_LIB}/libLLVMAsmPrinter.a ${LLVM_LIB}/libLLVMBitWriter.a @@ -226,8 +227,9 @@ list(APPEND LLVM_LIBS ${LLVM_LIB}/libLLVMInstrumentation.a ${LLVM_LIB}/libLLVMDebugInfoDWARF.a ${LLVM_LIB}/libLLVMDebugInfoPDB.a - ${LLVM_LIB}/libLLVMDebugInfoCodeView.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 diff --git a/bin/build.sh b/bin/build.sh index dd3fe080..22c3b141 100755 --- a/bin/build.sh +++ b/bin/build.sh @@ -20,7 +20,7 @@ if [ ! -f ../BeefySysLib/third_party/libffi/Makefile ]; then cd $SCRIPTPATH fi -if [ ! -d ../extern/llvm_linux_13_0_1/bin ]; then +if [ ! -f ../extern/llvm_linux_13_0_1/_Done.txt ]; then echo Building LLVM... cd ../extern ./llvm_build.sh diff --git a/extern/llvm_build.sh b/extern/llvm_build.sh index c04d8c64..261e8062 100755 --- a/extern/llvm_build.sh +++ b/extern/llvm_build.sh @@ -39,3 +39,4 @@ if [ ! -d ../IDE/dist/llvm/bin ]; then fi cp llvm_linux_rel_13_0_1/bin/llvm-ar ../IDE/dist/llvm/bin +echo done > llvm_linux_13_0_1/_Done.txt \ No newline at end of file diff --git a/extern/llvm_targets.txt b/extern/llvm_targets.txt index a5fd4715..7edd2b4b 100644 --- a/extern/llvm_targets.txt +++ b/extern/llvm_targets.txt @@ -1 +1 @@ -llvm-ar llvm-config gtest_main 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 +llvm-ar llvm-config gtest_main 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