From 6b469045107d241c9894cf1b44853937d10f1bcf Mon Sep 17 00:00:00 2001 From: bfiete Date: Thu, 21 May 2020 06:58:26 -0700 Subject: [PATCH] Working on Linux fixes --- BeefBoot/BootApp.cpp | 6 ++- BeefBoot/CMakeLists.txt | 17 ++++++-- BeefBuild/BeefProj.toml | 4 +- BeefBuild/src/BuildApp.bf | 2 + BeefRT/CMakeLists.txt | 22 +++++++++- BeefySysLib/CMakeLists.txt | 4 +- BeefySysLib/platform/linux/LinuxCommon.cpp | 1 - BeefySysLib/platform/posix/PosixCommon.cpp | 7 ++++ BeefySysLib/util/String.h | 1 + IDE/src/BuildContext.bf | 11 +++++ IDEHelper/CMakeLists.txt | 21 +++++----- IDEHelper/Compiler/BfAst.h | 2 + IDEHelper/Compiler/BfAutoComplete.cpp | 2 + IDEHelper/Compiler/BfModuleTypeUtils.cpp | 2 + IDEHelper/Compiler/BfReducer.cpp | 2 +- IDEHelper/Compiler/BfResolvedTypeUtils.h | 2 +- bin/build.sh | 7 ++-- bin/build.txt | 47 ++++++++++++++++++++++ 18 files changed, 135 insertions(+), 25 deletions(-) create mode 100644 bin/build.txt diff --git a/BeefBoot/BootApp.cpp b/BeefBoot/BootApp.cpp index 6ae1c0e9..bb38c4ec 100644 --- a/BeefBoot/BootApp.cpp +++ b/BeefBoot/BootApp.cpp @@ -733,7 +733,11 @@ void BootApp::DoLinkMS() void BootApp::DoLinkGNU() { - String linkerPath = "/usr/bin/c++"; + String linkerPath; + if (FileExists("/usr/bin/clang++")) + linkerPath = "/usr/bin/clang++"; + else + linkerPath = "/usr/bin/c++"; String linkLine; diff --git a/BeefBoot/CMakeLists.txt b/BeefBoot/CMakeLists.txt index 3466c664..e15857a6 100644 --- a/BeefBoot/CMakeLists.txt +++ b/BeefBoot/CMakeLists.txt @@ -15,6 +15,11 @@ set(OUTPUT_RELEASE Release/bin) project(${PROJECT_NAME} CXX C) +set (CMAKE_CXX_STANDARD 11) +add_definitions(-D_GLIBCXX_USE_CXX11_ABI=1) + +#set(CMAKE_POSITION_INDEPENDENT_CODE ON) + # Define Release by default. if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "Debug") @@ -110,7 +115,7 @@ endif(MSVC) if(NOT MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-multichar -Wno-invalid-offsetof") if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") + #set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") endif() endif(NOT MSVC) @@ -131,14 +136,18 @@ add_executable(${PROJECT_NAME} if (${APPLE}) set(TARGET_LIBS_OS "") else() - set(TARGET_LIBS_OS "tinfo") + #set(TARGET_LIBS_OS "tinfo") + set(TARGET_LIBS_OS "-Xlinker --no-demangle -v") endif() # Link with other dependencies. if(MSVC) target_link_libraries(${PROJECT_NAME} BeefySysLib IDEHelper kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib) else() - target_link_libraries(${PROJECT_NAME} BeefySysLib IDEHelper ${TARGET_LIBS_OS} - #${LLVM_LIB}/libLLVMMC.a + target_link_libraries(${PROJECT_NAME} BeefySysLib + IDEHelper + ${TARGET_LIBS_OS} + + #${LLVM_LIB}/libLLVMSupport.a ) endif() diff --git a/BeefBuild/BeefProj.toml b/BeefBuild/BeefProj.toml index 64cac690..f88e5583 100644 --- a/BeefBuild/BeefProj.toml +++ b/BeefBuild/BeefProj.toml @@ -36,7 +36,7 @@ PreprocessorMacros = ["DEBUG", "CLI"] [Configs.Debug.Linux64] TargetDirectory = "$(WorkspaceDir)/../IDE/dist" TargetName = "$(ProjectName)_d" -OtherLinkFlags = "$(LinkFlags) ./libIDEHelper_d.so ./libBeefySysLib_d.so ../../extern/llvm_linux_8_0_0/lib/libLLVMCore.a ../../extern/llvm_linux_8_0_0/lib/libLLVMMC.a ../../extern/llvm_linux_8_0_0/lib/libLLVMMCParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMCodeGen.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Disassembler.a ../../extern/llvm_linux_8_0_0/lib/libLLVMMCDisassembler.a ../../extern/llvm_linux_8_0_0/lib/libLLVMSupport.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Info.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Utils.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86AsmPrinter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Desc.a ../../extern/llvm_linux_8_0_0/lib/libLLVMObject.a ../../extern/llvm_linux_8_0_0/lib/libLLVMBitReader.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAsmParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMTarget.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86CodeGen.a ../../extern/llvm_linux_8_0_0/lib/libLLVMScalarOpts.a ../../extern/llvm_linux_8_0_0/lib/libLLVMInstCombine.a ../../extern/llvm_linux_8_0_0/lib/libLLVMSelectionDAG.a ../../extern/llvm_linux_8_0_0/lib/libLLVMProfileData.a ../../extern/llvm_linux_8_0_0/lib/libLLVMTransformUtils.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAnalysis.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86AsmParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAsmPrinter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMBitWriter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMVectorize.a ../../extern/llvm_linux_8_0_0/lib/libLLVMipo.a ../../extern/llvm_linux_8_0_0/lib/libLLVMInstrumentation.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoDWARF.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoPDB.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoCodeView.a ../../extern/llvm_linux_8_0_0/lib/libLLVMGlobalISel.a ../../extern/llvm_linux_8_0_0/lib/libLLVMBinaryFormat.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDemangle.a -ltinfo -Wl,-rpath -Wl,$ORIGIN" +OtherLinkFlags = "$(LinkFlags) ./libIDEHelper_d.so ./libBeefySysLib_d.so ../../extern/llvm_linux_8_0_0/lib/libLLVMCore.a ../../extern/llvm_linux_8_0_0/lib/libLLVMMC.a ../../extern/llvm_linux_8_0_0/lib/libLLVMMCParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMCodeGen.a ../../extern/llvm_linux_8_0_0/lib/libLLVMMCDisassembler.a ../../extern/llvm_linux_8_0_0/lib/libLLVMObject.a ../../extern/llvm_linux_8_0_0/lib/libLLVMBitReader.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAsmParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMTarget.a ../../extern/llvm_linux_8_0_0/lib/libLLVMScalarOpts.a ../../extern/llvm_linux_8_0_0/lib/libLLVMInstCombine.a ../../extern/llvm_linux_8_0_0/lib/libLLVMSelectionDAG.a ../../extern/llvm_linux_8_0_0/lib/libLLVMProfileData.a ../../extern/llvm_linux_8_0_0/lib/libLLVMTransformUtils.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAnalysis.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAsmPrinter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMBitWriter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMVectorize.a ../../extern/llvm_linux_8_0_0/lib/libLLVMipo.a ../../extern/llvm_linux_8_0_0/lib/libLLVMInstrumentation.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoDWARF.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoPDB.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoCodeView.a ../../extern/llvm_linux_8_0_0/lib/libLLVMGlobalISel.a ../../extern/llvm_linux_8_0_0/lib/libLLVMBinaryFormat.a ../../extern/llvm_linux_8_0_0/lib/libLLVMIRReader.a ../../extern/llvm_linux_8_0_0/lib/libLLVMLinker.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAggressiveInstCombine.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Info.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Utils.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86AsmPrinter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Desc.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86CodeGen.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86AsmParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Disassembler.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMInfo.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMUtils.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMAsmPrinter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMDesc.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMCodeGen.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMAsmParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMDisassembler.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64Info.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64Utils.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64AsmPrinter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64Desc.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64CodeGen.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64AsmParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64Disassembler.a ../../extern/llvm_linux_8_0_0/lib/libLLVMSupport.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDemangle.a -Wl,-rpath -Wl,$ORIGIN" CLibType = "Dynamic" DebugCommandArguments = "-proddir=..\\ -config=Debug -platform=Win64" DebugWorkingDirectory = "$(WorkspaceDir)/../IDE/dist" @@ -52,7 +52,7 @@ PreprocessorMacros = ["CLI"] [Configs.Release.Linux64] TargetDirectory = "$(WorkspaceDir)/../IDE/dist" -OtherLinkFlags = "$(LinkFlags) ./libIDEHelper.so ./libBeefySysLib.so ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMCore.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMMC.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMMCParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMCodeGen.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Disassembler.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMMCDisassembler.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMSupport.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Info.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Utils.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86AsmPrinter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Desc.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMObject.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMBitReader.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAsmParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMTarget.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86CodeGen.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMScalarOpts.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMInstCombine.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMSelectionDAG.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMProfileData.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMTransformUtils.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAnalysis.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86AsmParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAsmPrinter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMBitWriter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMVectorize.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMipo.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMInstrumentation.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDebugInfoDWARF.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDebugInfoPDB.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDebugInfoCodeView.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMGlobalISel.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMBinaryFormat.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDemangle.a -ltinfo -Wl,-rpath -Wl,$ORIGIN" +OtherLinkFlags = "$(LinkFlags) ./libIDEHelper.so ./libBeefySysLib.so ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMCore.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMMC.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMMCParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMCodeGen.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMMCDisassembler.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMObject.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMBitReader.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAsmParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMTarget.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMScalarOpts.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMInstCombine.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMSelectionDAG.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMProfileData.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMTransformUtils.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAnalysis.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAsmPrinter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMBitWriter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMVectorize.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMipo.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMInstrumentation.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDebugInfoDWARF.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDebugInfoPDB.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDebugInfoCodeView.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMGlobalISel.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMBinaryFormat.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMIRReader.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMLinker.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAggressiveInstCombine.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Info.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Utils.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86AsmPrinter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Desc.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86CodeGen.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86AsmParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Disassembler.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMInfo.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMUtils.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMAsmPrinter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMDesc.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMCodeGen.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMAsmParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMDisassembler.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64Info.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64Utils.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64AsmPrinter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64Desc.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64CodeGen.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64AsmParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64Disassembler.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMSupport.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDemangle.a -Wl,-rpath -Wl,$ORIGIN" CLibType = "Dynamic" DebugCommandArguments = "-proddir=..\\ -config=Debug -platform=Win64" DebugWorkingDirectory = "$(WorkspaceDir)/../IDE/dist" diff --git a/BeefBuild/src/BuildApp.bf b/BeefBuild/src/BuildApp.bf index 124676d9..1653c4b6 100644 --- a/BeefBuild/src/BuildApp.bf +++ b/BeefBuild/src/BuildApp.bf @@ -160,6 +160,8 @@ namespace BeefBuild case "-version": mVerb = .GetVersion; return true; + case "-crash": + Runtime.FatalError("-crash specified on command line"); } } else diff --git a/BeefRT/CMakeLists.txt b/BeefRT/CMakeLists.txt index 56653f86..11babadc 100644 --- a/BeefRT/CMakeLists.txt +++ b/BeefRT/CMakeLists.txt @@ -35,6 +35,23 @@ add_definitions( -DBFRTMERGED ) +set (CMAKE_CXX_STANDARD 11) + +INCLUDE(CheckIncludeFiles) +CHECK_INCLUDE_FILES(backtrace.h HAVE_BACKTRACE_HEADERS) +if (HAVE_BACKTRACE_HEADERS) + add_definitions(-DBFP_HAS_BACKTRACE) +endif () + +#find_package(Backtrace) +#if(Backtrace_FOUND) +# include_directories(${Backtrace_INCLUDE_DIRS}) +# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Backtrace_LIBRARIES}") +# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${Backtrace_LIBRARIES}") +# add_definitions(-DBFP_HAS_BACKTRACE) +# add_definitions(-DBFP_BACKTRACE_PATH="${Backtrace_HEADER}") +#endif(Backtrace_FOUND) + if (${IOS}) include_directories( . @@ -188,7 +205,7 @@ endif(MSVC) if(NOT MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -Wno-multichar -Wno-invalid-offsetof") if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") + #set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") endif() endif(NOT MSVC) @@ -277,7 +294,8 @@ elseif (${ANDROID}) #target_link_libraries(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/../BeefySysLib/third_party/libffi/aarch64-unknown-linux-gnu/.libs/libffi.a) #target_link_libraries(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/../BeefySysLib/third_party/libffi/i686-pc-linux-gnu/.libs/libffi.a) else() - target_link_libraries(${PROJECT_NAME} pthread ffi backtrace) + #target_link_libraries(${PROJECT_NAME} pthread ffi backtrace) + target_link_libraries(${PROJECT_NAME} pthread ffi) endif() # Link with other dependencies. diff --git a/BeefySysLib/CMakeLists.txt b/BeefySysLib/CMakeLists.txt index 0e562c57..14175184 100644 --- a/BeefySysLib/CMakeLists.txt +++ b/BeefySysLib/CMakeLists.txt @@ -34,6 +34,8 @@ add_definitions( -DBP_DYNAMIC ) +set (CMAKE_CXX_STANDARD 11) + if (${APPLE}) include_directories( . @@ -97,7 +99,7 @@ endif(MSVC) if(NOT MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-multichar") if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") + #set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") endif() endif(NOT MSVC) diff --git a/BeefySysLib/platform/linux/LinuxCommon.cpp b/BeefySysLib/platform/linux/LinuxCommon.cpp index aadbd294..f6448a87 100644 --- a/BeefySysLib/platform/linux/LinuxCommon.cpp +++ b/BeefySysLib/platform/linux/LinuxCommon.cpp @@ -1,4 +1,3 @@ -#define BFP_HAS_BACKTRACE #define BFP_HAS_EXECINFO #define BFP_HAS_PTHREAD_TIMEDJOIN_NP #define BFP_HAS_PTHREAD_GETATTR_NP diff --git a/BeefySysLib/platform/posix/PosixCommon.cpp b/BeefySysLib/platform/posix/PosixCommon.cpp index 28cf2354..f7033301 100644 --- a/BeefySysLib/platform/posix/PosixCommon.cpp +++ b/BeefySysLib/platform/posix/PosixCommon.cpp @@ -27,8 +27,14 @@ #endif #ifdef BFP_HAS_BACKTRACE + +#ifdef BFP_BACKTRACE_PATH +#include BFP_BACKTRACE_PATH +#else #include "backtrace.h" #include "backtrace-supported.h" +#endif + #endif #include "../third_party/stb/stb_sprintf.h" #include @@ -1357,6 +1363,7 @@ BFP_EXPORT BfpThreadInfo* BFP_CALLTYPE BfpThreadInfo_Create() threadInfo->mStackBase = 0; threadInfo->mStackLimit = 0; threadInfo->mPThread = pthread_self(); + return threadInfo; } BFP_EXPORT void BFP_CALLTYPE BfpThreadInfo_Release(BfpThreadInfo* threadInfo) diff --git a/BeefySysLib/util/String.h b/BeefySysLib/util/String.h index adf3a67d..bf436461 100644 --- a/BeefySysLib/util/String.h +++ b/BeefySysLib/util/String.h @@ -1,5 +1,6 @@ #pragma once +#include #include "BFPlatform.h" #include "Array.h" #include "SizedArray.h" diff --git a/IDE/src/BuildContext.bf b/IDE/src/BuildContext.bf index 6d022a73..c0ebcdb8 100644 --- a/IDE/src/BuildContext.bf +++ b/IDE/src/BuildContext.bf @@ -399,6 +399,17 @@ namespace IDE #else String gccExePath = "/usr/bin/c++"; String clangExePath = scope String("/usr/bin/c++"); + + if (File.Exists("/usr/bin/clang++")) + { + gccExePath = "/usr/bin/clang++"; + clangExePath = scope String("/usr/bin/clang++"); + } + else + { + gccExePath = "/usr/bin/c++"; + clangExePath = scope String("/usr/bin/c++"); + } #endif if (project.mNeedsTargetRebuild) diff --git a/IDEHelper/CMakeLists.txt b/IDEHelper/CMakeLists.txt index f312c97a..28b6c4b6 100644 --- a/IDEHelper/CMakeLists.txt +++ b/IDEHelper/CMakeLists.txt @@ -33,6 +33,9 @@ add_definitions( -DBFSYSLIB_DYNAMIC ) +set (CMAKE_CXX_STANDARD 11) +#add_definitions(-D_GLIBCXX_USE_CXX11_ABI=1) + if (${APPLE}) include_directories( . @@ -115,7 +118,7 @@ endif(MSVC) if(NOT MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -Wno-multichar -Wno-invalid-offsetof") if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") + #set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") endif() endif(NOT MSVC) @@ -182,20 +185,19 @@ add_library(${PROJECT_NAME} SHARED if (${APPLE}) set(TARGET_LIBS_OS "ncurses") else() - set(TARGET_LIBS_OS "backtrace") + #set(TARGET_LIBS_OS "backtrace") endif() # Link with other dependencies. if(MSVC) target_link_libraries(${PROJECT_NAME} BeefySysLib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib LLVMX86Disassembler.lib LLVMMCDisassembler.lib LLVMSupport.lib LLVMX86Info.lib LLVMX86Utils.lib LLVMX86AsmPrinter.lib LLVMX86Desc.lib %(AdditionalDependencies) LLVMMC.lib LLVMObject.lib LLVMCore.lib LLVMBitReader.lib LLVMAsmParser.lib LLVMMCParser.lib LLVMCodeGen.lib LLVMTarget.lib LLVMX86CodeGen.lib LLVMScalarOpts.lib LLVMInstCombine.lib LLVMSelectionDAG.lib LLVMProfileData.lib LLVMTransformUtils.lib LLVMAnalysis.lib LLVMX86AsmParser.lib LLVMAsmPrinter.lib LLVMBitWriter.lib LLVMVectorize.lib LLVMipo.lib LLVMInstrumentation.lib LLVMDebugInfoDWARF.lib LLVMDebugInfoPDB.lib LLVMDebugInfoCodeView.lib LLVMGlobalISel.lib LLVMBinaryFormat.lib LLVMAggressiveInstCombine.lib libcurl_a.lib) else() - target_link_libraries(${PROJECT_NAME} BeefySysLib hunspell pthread dl ${TARGET_LIBS_OS} + target_link_libraries(${PROJECT_NAME} BeefySysLib hunspell pthread dl ${TARGET_LIBS_OS} ${LLVM_LIB}/libLLVMCore.a ${LLVM_LIB}/libLLVMMC.a ${LLVM_LIB}/libLLVMMCParser.a ${LLVM_LIB}/libLLVMCodeGen.a - ${LLVM_LIB}/libLLVMMCDisassembler.a - ${LLVM_LIB}/libLLVMSupport.a + ${LLVM_LIB}/libLLVMMCDisassembler.a ${LLVM_LIB}/libLLVMObject.a ${LLVM_LIB}/libLLVMBitReader.a ${LLVM_LIB}/libLLVMAsmParser.a @@ -215,11 +217,9 @@ else() ${LLVM_LIB}/libLLVMDebugInfoPDB.a ${LLVM_LIB}/libLLVMDebugInfoCodeView.a ${LLVM_LIB}/libLLVMGlobalISel.a - ${LLVM_LIB}/libLLVMBinaryFormat.a - ${LLVM_LIB}/libLLVMObject.a + ${LLVM_LIB}/libLLVMBinaryFormat.a ${LLVM_LIB}/libLLVMIRReader.a - ${LLVM_LIB}/libLLVMLinker.a - ${LLVM_LIB}/libLLVMDemangle.a + ${LLVM_LIB}/libLLVMLinker.a ${LLVM_LIB}/libLLVMAggressiveInstCombine.a ${LLVM_LIB}/libLLVMX86Info.a @@ -245,5 +245,8 @@ else() ${LLVM_LIB}/libLLVMAArch64CodeGen.a ${LLVM_LIB}/libLLVMAArch64AsmParser.a ${LLVM_LIB}/libLLVMAArch64Disassembler.a + + ${LLVM_LIB}/libLLVMSupport.a + ${LLVM_LIB}/libLLVMDemangle.a ) endif() diff --git a/IDEHelper/Compiler/BfAst.h b/IDEHelper/Compiler/BfAst.h index 49863b3f..31f0860f 100644 --- a/IDEHelper/Compiler/BfAst.h +++ b/IDEHelper/Compiler/BfAst.h @@ -724,6 +724,8 @@ public: case BfTypedValueKind_TempAddr: mKind = BfTypedValueKind_ReadOnlyTempAddr; break; + default: + break; } } }; diff --git a/IDEHelper/Compiler/BfAutoComplete.cpp b/IDEHelper/Compiler/BfAutoComplete.cpp index 01a15952..2303f58e 100644 --- a/IDEHelper/Compiler/BfAutoComplete.cpp +++ b/IDEHelper/Compiler/BfAutoComplete.cpp @@ -3016,6 +3016,8 @@ String BfAutoComplete::ConstantToString(BfIRConstHolder* constHolder, BfIRValue result += str; return result; } + default: + break; } return ""; diff --git a/IDEHelper/Compiler/BfModuleTypeUtils.cpp b/IDEHelper/Compiler/BfModuleTypeUtils.cpp index 1b0e2331..2dafe86f 100644 --- a/IDEHelper/Compiler/BfModuleTypeUtils.cpp +++ b/IDEHelper/Compiler/BfModuleTypeUtils.cpp @@ -10259,6 +10259,8 @@ void BfModule::DoTypeToString(StringImpl& str, BfType* resolvedType, BfTypeNameF case BfCallingConvention_Fastcall: str += "[FastCall] "; break; + default: + break; } if (resolvedType->IsDelegateFromTypeRef()) diff --git a/IDEHelper/Compiler/BfReducer.cpp b/IDEHelper/Compiler/BfReducer.cpp index 858e2161..1e0b0f17 100644 --- a/IDEHelper/Compiler/BfReducer.cpp +++ b/IDEHelper/Compiler/BfReducer.cpp @@ -6163,7 +6163,7 @@ void BfReducer::ReadPropertyBlock(BfPropertyDeclaration* propertyDeclaration, Bf bool handled = false; BfTokenNode* fatArrowToken = NULL; BfAstNode* endSemicolon = NULL; - if (tokenNode = BfNodeDynCast(child)) + if ((tokenNode = BfNodeDynCast(child))) { if ((tokenNode->GetToken() == BfToken_Semicolon)) { diff --git a/IDEHelper/Compiler/BfResolvedTypeUtils.h b/IDEHelper/Compiler/BfResolvedTypeUtils.h index 8a0557e2..beaa365d 100644 --- a/IDEHelper/Compiler/BfResolvedTypeUtils.h +++ b/IDEHelper/Compiler/BfResolvedTypeUtils.h @@ -1684,7 +1684,7 @@ public: ~BfTypeInstance(); - virtual bool IsInstanceOf(BfTypeDef* typeDef) { return typeDef == mTypeDef; } + virtual bool IsInstanceOf(BfTypeDef* typeDef) override { return typeDef == mTypeDef; } virtual BfModule* GetModule() override { return mModule; } virtual BfTypeInstance* ToTypeInstance() override { return this; } virtual bool IsDependentOnUnderlyingType() override { return true; } diff --git a/bin/build.sh b/bin/build.sh index 801d66b9..6c4155f3 100755 --- a/bin/build.sh +++ b/bin/build.sh @@ -47,7 +47,8 @@ if [[ "$OSTYPE" == "darwin"* ]]; then LINKOPTS="-Wl,-rpath -Wl,@executable_path" else LIBEXT=so - LINKOPTS="-ldl -lpthread -ltinfo -Wl,-rpath -Wl,\$ORIGIN" + #LINKOPTS="-ldl -lpthread -ltinfo -Wl,-rpath -Wl,\$ORIGIN" + LINKOPTS="-ldl -lpthread -Wl,-rpath -Wl,\$ORIGIN" fi if [ ! -L libBeefRT_d.a ]; then @@ -63,7 +64,7 @@ fi ### 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 ../../extern/llvm_linux_8_0_0/lib/libLLVMCore.a ../../extern/llvm_linux_8_0_0/lib/libLLVMMC.a ../../extern/llvm_linux_8_0_0/lib/libLLVMMCParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMCodeGen.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Disassembler.a ../../extern/llvm_linux_8_0_0/lib/libLLVMMCDisassembler.a ../../extern/llvm_linux_8_0_0/lib/libLLVMSupport.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Info.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Utils.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86AsmPrinter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Desc.a ../../extern/llvm_linux_8_0_0/lib/libLLVMObject.a ../../extern/llvm_linux_8_0_0/lib/libLLVMBitReader.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAsmParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMTarget.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86CodeGen.a ../../extern/llvm_linux_8_0_0/lib/libLLVMScalarOpts.a ../../extern/llvm_linux_8_0_0/lib/libLLVMInstCombine.a ../../extern/llvm_linux_8_0_0/lib/libLLVMSelectionDAG.a ../../extern/llvm_linux_8_0_0/lib/libLLVMProfileData.a ../../extern/llvm_linux_8_0_0/lib/libLLVMTransformUtils.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAnalysis.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86AsmParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAsmPrinter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMBitWriter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMVectorize.a ../../extern/llvm_linux_8_0_0/lib/libLLVMipo.a ../../extern/llvm_linux_8_0_0/lib/libLLVMInstrumentation.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoDWARF.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoPDB.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoCodeView.a ../../extern/llvm_linux_8_0_0/lib/libLLVMGlobalISel.a ../../extern/llvm_linux_8_0_0/lib/libLLVMBinaryFormat.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDemangle.a $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.$LIBEXT ./libBeefySysLib_d.$LIBEXT ../../extern/llvm_linux_8_0_0/lib/libLLVMCore.a ../../extern/llvm_linux_8_0_0/lib/libLLVMMC.a ../../extern/llvm_linux_8_0_0/lib/libLLVMMCParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMCodeGen.a ../../extern/llvm_linux_8_0_0/lib/libLLVMMCDisassembler.a ../../extern/llvm_linux_8_0_0/lib/libLLVMObject.a ../../extern/llvm_linux_8_0_0/lib/libLLVMBitReader.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAsmParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMTarget.a ../../extern/llvm_linux_8_0_0/lib/libLLVMScalarOpts.a ../../extern/llvm_linux_8_0_0/lib/libLLVMInstCombine.a ../../extern/llvm_linux_8_0_0/lib/libLLVMSelectionDAG.a ../../extern/llvm_linux_8_0_0/lib/libLLVMProfileData.a ../../extern/llvm_linux_8_0_0/lib/libLLVMTransformUtils.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAnalysis.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAsmPrinter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMBitWriter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMVectorize.a ../../extern/llvm_linux_8_0_0/lib/libLLVMipo.a ../../extern/llvm_linux_8_0_0/lib/libLLVMInstrumentation.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoDWARF.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoPDB.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoCodeView.a ../../extern/llvm_linux_8_0_0/lib/libLLVMGlobalISel.a ../../extern/llvm_linux_8_0_0/lib/libLLVMBinaryFormat.a ../../extern/llvm_linux_8_0_0/lib/libLLVMIRReader.a ../../extern/llvm_linux_8_0_0/lib/libLLVMLinker.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAggressiveInstCombine.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Info.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Utils.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86AsmPrinter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Desc.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86CodeGen.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86AsmParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Disassembler.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMInfo.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMUtils.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMAsmPrinter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMDesc.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMCodeGen.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMAsmParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMDisassembler.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64Info.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64Utils.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64AsmPrinter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64Desc.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64CodeGen.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64AsmParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64Disassembler.a ../../extern/llvm_linux_8_0_0/lib/libLLVMSupport.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDemangle.a $LINKOPTS" echo Building BeefBuild_d ./BeefBuild_bootd -clean -proddir=../../BeefBuild -config=Debug #./BeefBuild_d -proddir=../../TestApp @@ -74,7 +75,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 --define=DEBUG --startup=BeefBuild.Program --linkparams="./libBeefRT.a ./libIDEHelper.$LIBEXT ./libBeefySysLib.$LIBEXT ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMCore.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMMC.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMMCParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMCodeGen.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Disassembler.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMMCDisassembler.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMSupport.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Info.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Utils.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86AsmPrinter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Desc.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMObject.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMBitReader.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAsmParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMTarget.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86CodeGen.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMScalarOpts.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMInstCombine.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMSelectionDAG.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMProfileData.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMTransformUtils.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAnalysis.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86AsmParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAsmPrinter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMBitWriter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMVectorize.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMipo.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMInstrumentation.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDebugInfoDWARF.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDebugInfoPDB.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDebugInfoCodeView.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMGlobalISel.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMBinaryFormat.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDemangle.a $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.$LIBEXT ./libBeefySysLib.$LIBEXT ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMCore.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMMC.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMMCParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMCodeGen.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMMCDisassembler.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMObject.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMBitReader.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAsmParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMTarget.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMScalarOpts.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMInstCombine.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMSelectionDAG.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMProfileData.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMTransformUtils.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAnalysis.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAsmPrinter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMBitWriter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMVectorize.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMipo.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMInstrumentation.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDebugInfoDWARF.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDebugInfoPDB.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDebugInfoCodeView.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMGlobalISel.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMBinaryFormat.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMIRReader.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMLinker.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAggressiveInstCombine.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Info.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Utils.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86AsmPrinter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Desc.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86CodeGen.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86AsmParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Disassembler.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMInfo.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMUtils.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMAsmPrinter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMDesc.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMCodeGen.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMAsmParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMDisassembler.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64Info.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64Utils.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64AsmPrinter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64Desc.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64CodeGen.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64AsmParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64Disassembler.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMSupport.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDemangle.a $LINKOPTS" echo Building BeefBuild ./BeefBuild_boot -clean -proddir=../../BeefBuild -config=Release #./BeefBuild_d -proddir=../../TestApp diff --git a/bin/build.txt b/bin/build.txt new file mode 100644 index 00000000..24af2040 --- /dev/null +++ b/bin/build.txt @@ -0,0 +1,47 @@ +clang version 7.0.1 (tags/RELEASE_701/final 349238) +Target: x86_64-unknown-linux-gnu +Thread model: posix +InstalledDir: /usr/bin +Found candidate GCC installation: /usr/bin/../lib64/gcc/x86_64-suse-linux/7 +Found candidate GCC installation: /usr/lib64/gcc/x86_64-suse-linux/7 +Selected GCC installation: /usr/bin/../lib64/gcc/x86_64-suse-linux/7 +Candidate multilib: .;@m64 +Selected multilib: .;@m64 + "/usr/bin/ld" -export-dynamic -z relro --hash-style=gnu --hash-style=both --build-id --enable-new-dtags --eh-frame-hdr -m elf_x86_64 -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o ../Debug/bin/BeefBoot /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../lib64/crt1.o /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../lib64/crti.o /usr/bin/../lib64/gcc/x86_64-suse-linux/7/crtbegin.o -L/usr/bin/../lib64/gcc/x86_64-suse-linux/7 -L/usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../lib64 -L/usr/bin/../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/lib -L/usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../.. -L/usr/bin/../lib -L/lib -L/usr/lib --no-demangle CMakeFiles/BeefBoot.dir/BeefBoot.cpp.o CMakeFiles/BeefBoot.dir/BootApp.cpp.o -rpath /home/bfiete/Beef/jbuild_d/Debug/bin ../Debug/bin/libIDEHelper_d.so ../Debug/bin/libBeefySysLib_d.so ../Debug/bin/libhunspell.so -lpthread -ldl ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMCore.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMMC.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMMCParser.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMCodeGen.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMMCDisassembler.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMSupport.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMObject.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMBitReader.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMAsmParser.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMTarget.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMScalarOpts.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMInstCombine.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMSelectionDAG.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMProfileData.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMTransformUtils.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMAnalysis.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMAsmPrinter.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMBitWriter.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMVectorize.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMipo.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMInstrumentation.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoDWARF.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoPDB.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoCodeView.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMGlobalISel.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMBinaryFormat.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMIRReader.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMLinker.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMDemangle.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMAggressiveInstCombine.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMX86Info.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMX86Utils.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMX86AsmPrinter.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMX86Desc.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMX86CodeGen.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMX86AsmParser.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMX86Disassembler.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMARMInfo.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMARMUtils.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMARMAsmPrinter.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMARMDesc.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMARMCodeGen.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMARMAsmParser.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMARMDisassembler.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMAArch64Info.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMAArch64Utils.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMAArch64AsmPrinter.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMAArch64Desc.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMAArch64CodeGen.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMAArch64AsmParser.a ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMAArch64Disassembler.a -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/bin/../lib64/gcc/x86_64-suse-linux/7/crtend.o /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../lib64/crtn.o +/usr/bin/ld: ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMCodeGen.a(LLVMTargetMachine.cpp.o): in function `_ZNK4llvm6Target17createAsmStreamerERNS_9MCContextESt10unique_ptrINS_21formatted_raw_ostreamESt14default_deleteIS4_EEbbPNS_13MCInstPrinterEOS3_INS_13MCCodeEmitterES5_ISA_EEOS3_INS_12MCAsmBackendES5_ISE_EEb': +/home/bfiete/Beef/extern/llvm-project_8_0_0/llvm/include/llvm/Support/TargetRegistry.h:522: undefined reference to `_ZN4llvm17createAsmStreamerERNS_9MCContextESt10unique_ptrINS_21formatted_raw_ostreamESt14default_deleteIS3_EEbbPNS_13MCInstPrinterEOS2_INS_13MCCodeEmitterES4_IS9_EEOS2_INS_12MCAsmBackendES4_ISD_EEb' +/usr/bin/ld: ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMCodeGen.a(LLVMTargetMachine.cpp.o): in function `_ZNK4llvm6Target22createMCObjectStreamerERKNS_6TripleERNS_9MCContextEOSt10unique_ptrINS_12MCAsmBackendESt14default_deleteIS7_EEOS6_INS_14MCObjectWriterES8_ISC_EEOS6_INS_13MCCodeEmitterES8_ISG_EERKNS_15MCSubtargetInfoEbbb': +/home/bfiete/Beef/extern/llvm-project_8_0_0/llvm/include/llvm/Support/TargetRegistry.h:505: undefined reference to `_ZN4llvm18createWasmStreamerERNS_9MCContextEOSt10unique_ptrINS_12MCAsmBackendESt14default_deleteIS3_EEOS2_INS_14MCObjectWriterES4_IS8_EEOS2_INS_13MCCodeEmitterES4_ISC_EEb' +/usr/bin/ld: ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMAsmParser.a(LLLexer.cpp.o): in function `_ZN4llvm7LLLexer18LexDigitOrNegativeEv': +/home/bfiete/Beef/extern/llvm-project_8_0_0/llvm/lib/AsmParser/LLLexer.cpp:1064: undefined reference to `_ZN4llvm6APSIntC1ENS_9StringRefE' +/usr/bin/ld: ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMProfileData.a(InstrProfReader.cpp.o): in function `SymbolRemappingReader': +/home/bfiete/Beef/extern/llvm-project_8_0_0/llvm/include/llvm/Support/SymbolRemappingReader.h:98: undefined reference to `_ZN4llvm28ItaniumManglingCanonicalizerC1Ev' +/usr/bin/ld: ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMProfileData.a(InstrProfReader.cpp.o): in function `_ZN4llvm30InstrProfReaderItaniumRemapperINS_30OnDiskIterableChainedHashTableINS_20InstrProfLookupTraitEEEE18populateRemappingsEv': +/home/bfiete/Beef/extern/llvm-project_8_0_0/llvm/lib/ProfileData/InstrProfReader.cpp:660: undefined reference to `_ZN4llvm21SymbolRemappingReader4readERNS_12MemoryBufferE' +/usr/bin/ld: ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMProfileData.a(InstrProfReader.cpp.o): in function `~SymbolRemappingReader': +/home/bfiete/Beef/extern/llvm-project_8_0_0/llvm/include/llvm/Support/SymbolRemappingReader.h:98: undefined reference to `_ZN4llvm28ItaniumManglingCanonicalizerD1Ev' +/usr/bin/ld: ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMProfileData.a(InstrProfReader.cpp.o): in function `_ZN4llvm21SymbolRemappingReader6insertENS_9StringRefE': +/home/bfiete/Beef/extern/llvm-project_8_0_0/llvm/include/llvm/Support/SymbolRemappingReader.h:114: undefined reference to `_ZN4llvm28ItaniumManglingCanonicalizer12canonicalizeENS_9StringRefE' +/usr/bin/ld: ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMProfileData.a(InstrProfReader.cpp.o): in function `_ZN4llvm21SymbolRemappingReader6lookupENS_9StringRefE': +/home/bfiete/Beef/extern/llvm-project_8_0_0/llvm/include/llvm/Support/SymbolRemappingReader.h:124: undefined reference to `_ZN4llvm28ItaniumManglingCanonicalizer6lookupENS_9StringRefE' +/usr/bin/ld: ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMProfileData.a(SampleProfReader.cpp.o): in function `_ZN4llvm10sampleprof34SampleProfileReaderItaniumRemapper4readEv': +/home/bfiete/Beef/extern/llvm-project_8_0_0/llvm/lib/ProfileData/SampleProfReader.cpp:927: undefined reference to `_ZN4llvm21SymbolRemappingReader4readERNS_12MemoryBufferE' +/usr/bin/ld: ../../IDEHelper/../extern/llvm_linux_8_0_0/lib/libLLVMProfileData.a(SampleProfReader.cpp.o): in function `_ZN4llvm9ErrorInfoINS_25SymbolRemappingParseErrorENS_13ErrorInfoBaseEE7classIDEv': +/home/bfiete/Beef/extern/llvm-project_8_0_0/llvm/include/llvm/Support/Error.h:349: undefined reference to `_ZN4llvm25SymbolRemappingParseError2IDE' +/usr/bin/ld: ../Debug/bin/libIDEHelper_d.so: undefined reference to `_ZN4llvm14TargetRegistry12lookupTargetERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEERNS_6TripleERS7_' +/usr/bin/ld: ../Debug/bin/libIDEHelper_d.so: undefined reference to `_ZN4llvm2cl12basic_parserINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEC2ERNS0_6OptionE' +/usr/bin/ld: ../Debug/bin/libIDEHelper_d.so: undefined reference to `_ZN4llvm12PluginLoaderaSERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE' +/usr/bin/ld: ../Debug/bin/libIDEHelper_d.so: undefined reference to `_ZNK4llvm19MachineFunctionPass17createPrinterPassERNS_11raw_ostreamERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE' +/usr/bin/ld: ../Debug/bin/libIDEHelper_d.so: undefined reference to `_ZTVN4llvm2cl6parserINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEE' +/usr/bin/ld: ../Debug/bin/libIDEHelper_d.so: undefined reference to `_ZN4llvm14raw_fd_ostreamC1ENS_9StringRefERNSt3__110error_codeENS_3sys2fs9OpenFlagsE' +/usr/bin/ld: ../Debug/bin/libIDEHelper_d.so: undefined reference to `_ZN4llvm19createMachOStreamerERNS_9MCContextEONSt3__110unique_ptrINS_12MCAsmBackendENS2_14default_deleteIS4_EEEEONS3_INS_14MCObjectWriterENS5_IS9_EEEEONS3_INS_13MCCodeEmitterENS5_ISD_EEEEbbb' +/usr/bin/ld: ../Debug/bin/libIDEHelper_d.so: undefined reference to `_ZN4llvm18createWasmStreamerERNS_9MCContextEONSt3__110unique_ptrINS_12MCAsmBackendENS2_14default_deleteIS4_EEEEONS3_INS_14MCObjectWriterENS5_IS9_EEEEONS3_INS_13MCCodeEmitterENS5_ISD_EEEEb' +/usr/bin/ld: ../Debug/bin/libIDEHelper_d.so: undefined reference to `_ZN4llvm27createCFGSimplificationPassEjbbbbNSt3__18functionIFbRKNS_8FunctionEEEE' +/usr/bin/ld: ../Debug/bin/libIDEHelper_d.so: undefined reference to `_ZN4llvm17createAsmStreamerERNS_9MCContextENSt3__110unique_ptrINS_21formatted_raw_ostreamENS2_14default_deleteIS4_EEEEbbPNS_13MCInstPrinterEONS3_INS_13MCCodeEmitterENS5_ISA_EEEEONS3_INS_12MCAsmBackendENS5_ISE_EEEEb' +/usr/bin/ld: ../Debug/bin/libIDEHelper_d.so: undefined reference to `_ZN4llvm17createELFStreamerERNS_9MCContextEONSt3__110unique_ptrINS_12MCAsmBackendENS2_14default_deleteIS4_EEEEONS3_INS_14MCObjectWriterENS5_IS9_EEEEONS3_INS_13MCCodeEmitterENS5_ISD_EEEEb' +/usr/bin/ld: ../Debug/bin/libIDEHelper_d.so: undefined reference to `_ZN4llvm3sys22getDefaultTargetTripleEv' +/usr/bin/ld: ../Debug/bin/libIDEHelper_d.so: undefined reference to `_ZN4llvm11StringErrorC1ERKNS_5TwineENSt3__110error_codeE' +clang-7.0.1: error: linker command failed with exit code 1 (use -v to see invocation) +gmake[2]: *** [BeefBoot/CMakeFiles/BeefBoot.dir/build.make:175: Debug/bin/BeefBoot] Error 1 +gmake[1]: *** [CMakeFiles/Makefile2:254: BeefBoot/CMakeFiles/BeefBoot.dir/all] Error 2 +gmake: *** [Makefile:84: all] Error 2