From 67ee30245146ded077f11d51fc4533d657dc5e08 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Tue, 15 Oct 2019 17:27:09 -0700 Subject: [PATCH] Fixes from macOS, first working build --- BeefBoot/BootApp.cpp | 2 +- BeefBuild/BeefProj.toml | 22 +++- BeefRT/gperftools/src/tcconfig.h | 2 +- BeefRT/rt/Thread.cpp | 10 +- BeefTools/BeefMem/gperftools/src/tcconfig.h | 2 +- BeefySysLib/platform/darwin/DarwinCommon.cpp | 101 ++++++++++++++--- BeefySysLib/platform/darwin/DarwinCommon.h | 13 +-- BeefySysLib/platform/linux/BFPlatform.h | 1 + BeefySysLib/platform/linux/LinuxCommon.cpp | 113 ++++++++++--------- BeefySysLib/platform/linux/LinuxCommon.h | 2 - BeefySysLib/platform/osx/BFPlatform.h | 3 +- IDE/.DS_Store | Bin 0 -> 8196 bytes IDE/src/BuildContext.bf | 14 ++- IDE/src/IDEApp.bf | 6 +- IDE/src/SpellChecker.bf | 4 +- IDEHelper/Compiler/BfExprEvaluator.cpp | 1 + IDEHelper/Compiler/BfModuleTypeUtils.cpp | 38 +++++-- IDEHelper/Tests/BeefSpace.toml | 4 +- bin/build.sh | 6 +- 19 files changed, 237 insertions(+), 107 deletions(-) create mode 100644 IDE/.DS_Store diff --git a/BeefBoot/BootApp.cpp b/BeefBoot/BootApp.cpp index 219b7f15..90cb52f3 100644 --- a/BeefBoot/BootApp.cpp +++ b/BeefBoot/BootApp.cpp @@ -166,7 +166,7 @@ BootApp::BootApp() #ifdef BF_PLATFORM_WINDOWS mTargetTriple = "x86_64-pc-windows-msvc"; -#elif defined BF_PLATFORM_OSX +#elif defined BF_PLATFORM_MACOS mTargetTriple = "x86_64-apple-macosx10.14.0"; #else mTargetTriple = "x86_64-unknown-linux-gnu"; diff --git a/BeefBuild/BeefProj.toml b/BeefBuild/BeefProj.toml index c27bfec6..5f60befd 100644 --- a/BeefBuild/BeefProj.toml +++ b/BeefBuild/BeefProj.toml @@ -25,10 +25,28 @@ DebugWorkingDirectory = "c:\\beef\\ide\\mintest" EnvironmentVars = ["_NO_DEBUG_HEAP=1"] PreprocessorMacros = ["DEBUG", "CLI"] +[Configs.Debug.macOS] +TargetDirectory = "$(WorkspaceDir)/../IDE/dist" +TargetName = "$(ProjectName)_d" +OtherLinkFlags = "./libBeefRT_d.dylib ./libIDEHelper_d.dylib ./libBeefySysLib_d.dylib ../../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 -Wl,-rpath -Wl,." +CLibType = "Dynamic" +DebugCommandArguments = "-proddir=..\\ -config=Debug -platform=Win64" +DebugWorkingDirectory = "$(WorkspaceDir)/../IDE/dist" +PreprocessorMacros = ["DEBUG", "CLI"] + +[Configs.Release.macOS] +TargetDirectory = "$(WorkspaceDir)/../IDE/dist" +OtherLinkFlags = "./libBeefRT.dylib ./libIDEHelper.dylib ./libBeefySysLib.dylib ../../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 -Wl,-rpath -Wl,." +CLibType = "Dynamic" +DebugCommandArguments = "-proddir=..\\ -config=Debug -platform=Win64" +DebugWorkingDirectory = "$(WorkspaceDir)/../IDE/dist" +PreprocessorMacros = ["CLI"] + + [Configs.Debug.Linux64] TargetDirectory = "$(WorkspaceDir)/../IDE/dist" TargetName = "$(ProjectName)_d" -OtherLinkFlags = "./libBeefRT_d.so ./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,." +OtherLinkFlags = "./libBeefRT_d.so ./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" CLibType = "Dynamic" DebugCommandArguments = "-proddir=..\\ -config=Debug -platform=Win64" DebugWorkingDirectory = "$(WorkspaceDir)/../IDE/dist" @@ -36,7 +54,7 @@ PreprocessorMacros = ["DEBUG", "CLI"] [Configs.Release.Linux64] TargetDirectory = "$(WorkspaceDir)/../IDE/dist" -OtherLinkFlags = "./libBeefRT.so ./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,." +OtherLinkFlags = "./libBeefRT.so ./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" CLibType = "Dynamic" DebugCommandArguments = "-proddir=..\\ -config=Debug -platform=Win64" DebugWorkingDirectory = "$(WorkspaceDir)/../IDE/dist" diff --git a/BeefRT/gperftools/src/tcconfig.h b/BeefRT/gperftools/src/tcconfig.h index 14c965b3..7688dd22 100644 --- a/BeefRT/gperftools/src/tcconfig.h +++ b/BeefRT/gperftools/src/tcconfig.h @@ -10,7 +10,7 @@ #endif #include "windows/config.h" #include "windows/gperftools/tcmalloc.h" -#elif defined BF_PLATFORM_OSX +#elif defined BF_PLATFORM_MACOS #include "osx/config.h" #include "osx/gperftools/tcmalloc.h" #elif defined BF_PLATFORM_IOS diff --git a/BeefRT/rt/Thread.cpp b/BeefRT/rt/Thread.cpp index f476e88e..e0f8d0c1 100644 --- a/BeefRT/rt/Thread.cpp +++ b/BeefRT/rt/Thread.cpp @@ -76,8 +76,10 @@ bool Thread::GetIsThreadPoolThread() bool Thread::JoinInternal(int millisecondsTimeout) { - bool success = BfpThread_WaitFor(GetInternalThread()->mThreadHandle, millisecondsTimeout); - //((BFInternalThread*) thread)->ClrState(Threading::ThreadState::WaitSleepJoin); + auto internalThread = GetInternalThread(); + if (internalThread == NULL) + return true; + bool success = BfpThread_WaitFor(internalThread->mThreadHandle, millisecondsTimeout); return success; } @@ -176,6 +178,8 @@ void Thread::ManualThreadInit() { #ifdef BF_THREAD_TLS sCurrentThread = this; +#else + BfpTLS_SetValue(BfTLSManager::sInternalThreadKey, this); #endif BfInternalThread* internalThread = SetupInternalThread(); @@ -207,6 +211,8 @@ void Thread::SetStackStart(void* ptr) void Thread::InternalFinalize() { auto internalThread = GetInternalThread(); + if (internalThread == NULL) + return; bool wantsJoin = false; // diff --git a/BeefTools/BeefMem/gperftools/src/tcconfig.h b/BeefTools/BeefMem/gperftools/src/tcconfig.h index 481e62d0..e96e1264 100644 --- a/BeefTools/BeefMem/gperftools/src/tcconfig.h +++ b/BeefTools/BeefMem/gperftools/src/tcconfig.h @@ -3,7 +3,7 @@ #ifdef BF_PLATFORM_WINDOWS #include "windows/config.h" #include "windows/gperftools/tcmalloc.h" -#elif defined BF_PLATFORM_OSX +#elif defined BF_PLATFORM_MACOS #include "osx/config.h" #include "osx/gperftools/tcmalloc.h" #elif defined BF_PLATFORM_IOS diff --git a/BeefySysLib/platform/darwin/DarwinCommon.cpp b/BeefySysLib/platform/darwin/DarwinCommon.cpp index 361ca20c..15e7eaf7 100644 --- a/BeefySysLib/platform/darwin/DarwinCommon.cpp +++ b/BeefySysLib/platform/darwin/DarwinCommon.cpp @@ -27,6 +27,8 @@ #include #include +#include + USING_NS_BF; @@ -293,6 +295,48 @@ static Array gCrashInfoFuncs; static String gCmdLine; static String gExePath; +typedef struct _Unwind_Context _Unwind_Context; // opaque + +typedef enum { + _URC_NO_REASON = 0, + _URC_OK = 0, + _URC_FOREIGN_EXCEPTION_CAUGHT = 1, + _URC_FATAL_PHASE2_ERROR = 2, + _URC_FATAL_PHASE1_ERROR = 3, + _URC_NORMAL_STOP = 4, + _URC_END_OF_STACK = 5, + _URC_HANDLER_FOUND = 6, + _URC_INSTALL_CONTEXT = 7, + _URC_CONTINUE_UNWIND = 8, + _URC_FAILURE = 9 +} _Unwind_Reason_Code; + +typedef _Unwind_Reason_Code (*_Unwind_Trace_Fn)(struct _Unwind_Context *, void *); +extern "C" _Unwind_Reason_Code _Unwind_Backtrace(_Unwind_Trace_Fn, void *); +extern "C" uintptr_t _Unwind_GetIP(struct _Unwind_Context *context); + +static String gUnwindExecStr; +static int gUnwindIdx = 0; + +static _Unwind_Reason_Code UnwindHandler(struct _Unwind_Context* context, void* ref) +{ + gUnwindIdx++; + if (gUnwindIdx < 2) + return _URC_NO_REASON; + + dl_info dyldInfo; + void* addr = (void*)_Unwind_GetIP(context); + gUnwindExecStr += StrFormat(" %p", addr); + return _URC_NO_REASON; +} + +static bool FancyBacktrace() +{ + gUnwindExecStr += StrFormat("atos -p %d", getpid()); + _Unwind_Backtrace(&UnwindHandler, NULL); + return system(gUnwindExecStr.c_str()) == 0; +} + static void Crashed() { // @@ -315,18 +359,21 @@ static void Crashed() fprintf(stderr, "%s", debugDump.c_str()); } - void* array[64]; - size_t size; - char** strings; - size_t i; + if (!FancyBacktrace()) + { + void* array[64]; + size_t size; + char** strings; + size_t i; - size = backtrace(array, 64); - strings = backtrace_symbols(array, size); + size = backtrace(array, 64); + strings = backtrace_symbols(array, size); - for (i = 0; i < size; i++) - fprintf(stderr, "%s\n", strings[i]); + for (i = 0; i < size; i++) + fprintf(stderr, "%s\n", strings[i]); - free(strings); + free(strings); + } exit(1); } @@ -372,11 +419,12 @@ BFP_EXPORT void BFP_CALLTYPE BfpSystem_Init(int version, BfpSystemInitFlags flag } BFP_EXPORT void BFP_CALLTYPE BfpSystem_SetCommandLine(int argc, char** argv) -{ +{ char* relPath = argv[0]; char* cwd = getcwd(NULL, 0); gExePath = GetAbsPath(relPath, cwd); + free(cwd); for (int i = 0; i < argc; i++) @@ -501,6 +549,19 @@ BFP_EXPORT void BFP_CALLTYPE BfpSystem_GetCommandLine(char* outStr, int* inOutSt BFP_EXPORT void BFP_CALLTYPE BfpSystem_GetExecutablePath(char* outStr, int* inOutStrSize, BfpSystemResult* outResult) { + //printf("Setting BfpSystem_GetExecutablePath %s %p\n", gExePath.c_str(), &gExePath); + + if (gExePath.IsEmpty()) + { + char path[4096]; + uint32_t size = sizeof(path); + if (_NSGetExecutablePath(path, &size) == 0) + gExePath = path; + + // When when running with a './file', we end up with an annoying '/./' in our path + gExePath.Replace("/./", "/"); + } + TryStringOut(gExePath, outStr, inOutStrSize, (BfpResult*)outResult); } @@ -1101,6 +1162,8 @@ BFP_EXPORT bool BFP_CALLTYPE BfpThread_WaitFor(BfpThread* thread, int waitMS) return true; } + if (thread == NULL) + BF_FATAL("Invalid thread with non-infinite wait"); return BfpEvent_WaitFor(thread->mDoneEvent, waitMS); } @@ -1505,12 +1568,14 @@ BFP_EXPORT BfpFile* BFP_CALLTYPE BfpFile_Create(const char* inName, BfpFileCreat if ((createFlags & BfpFileCreateFlag_Pipe) != 0) { name = "/tmp/" + name; + if ((createKind == BfpFileCreateKind_CreateAlways) || (createKind == BfpFileCreateKind_CreateIfNotExists)) { for (int pass = 0; pass < 2; pass++) { - int result = mknod(name.c_str(), S_IFIFO | ALLPERMS, 0); + int result = mknod(name.c_str(), S_IFIFO | 0666, 0); + if (result == 0) break; @@ -1821,10 +1886,20 @@ BFP_EXPORT void BFP_CALLTYPE BfpFile_Copy(const char* oldPath, const char* newPa return; } - fd_to = open(newPath, O_WRONLY | O_CREAT | O_EXCL, 0666); + int flags = O_WRONLY | O_CREAT; + if (copyKind == BfpFileCopyKind_IfNotExists) + flags |= O_EXCL; + + fd_to = open(newPath, flags, 0666); if (fd_to < 0) { - OUTRESULT(BfpFileResult_AlreadyExists); + if (errno == EEXIST) + { + OUTRESULT(BfpFileResult_AlreadyExists); + goto out_error; + } + + OUTRESULT(BfpFileResult_UnknownError); goto out_error; } diff --git a/BeefySysLib/platform/darwin/DarwinCommon.h b/BeefySysLib/platform/darwin/DarwinCommon.h index 433f32f5..927ce241 100644 --- a/BeefySysLib/platform/darwin/DarwinCommon.h +++ b/BeefySysLib/platform/darwin/DarwinCommon.h @@ -58,8 +58,6 @@ typedef int16_t int16; typedef int8_t int8; typedef unsigned int uint; -#define BF_PLATFORM_LINUX -#define BF_PLATFORM_NAME "BF_PLATFORM_LINUX" //#define BF_PLATFORM_SDL #define NOP @@ -67,13 +65,8 @@ typedef unsigned int uint; //#define BF_NOTHROW noexcept #define BF_NOTHROW -#ifdef BF64 -typedef int64 intptr; -typedef uint64 uintptr; -#else -typedef int32 intptr; -typedef uint32 uintptr; -#endif +typedef intptr_t intptr; +typedef uintptr_t uintptr; typedef wchar_t* BSTR; typedef int HRESULT; @@ -85,6 +78,8 @@ typedef int32 LONG; typedef pthread_key_t BFTlsKey; typedef pthread_t BF_THREADID; typedef pthread_t BF_THREADHANDLE; + +#define BF_HAS_TLS_DECLSPEC #define BF_TLS_DECLSPEC thread_local //:int64 abs(int64 val); diff --git a/BeefySysLib/platform/linux/BFPlatform.h b/BeefySysLib/platform/linux/BFPlatform.h index 9a80d87b..1c82a091 100644 --- a/BeefySysLib/platform/linux/BFPlatform.h +++ b/BeefySysLib/platform/linux/BFPlatform.h @@ -5,6 +5,7 @@ #include "LinuxCommon.h" #define BF_PLATFORM_LINUX +#define BF_PLATFORM_NAME "BF_PLATFORM_LINUX" #define BF_IMPORT extern "C" diff --git a/BeefySysLib/platform/linux/LinuxCommon.cpp b/BeefySysLib/platform/linux/LinuxCommon.cpp index e946cc13..f21ddb07 100644 --- a/BeefySysLib/platform/linux/LinuxCommon.cpp +++ b/BeefySysLib/platform/linux/LinuxCommon.cpp @@ -28,7 +28,6 @@ USING_NS_BF; - struct BfpPipeInfo { String mPipePath; @@ -431,7 +430,7 @@ BFP_EXPORT void BFP_CALLTYPE BfpSystem_Init(int version, BfpSystemInitFlags flag } BFP_EXPORT void BFP_CALLTYPE BfpSystem_SetCommandLine(int argc, char** argv) -{ +{ char* relPath = argv[0]; char* cwd = getcwd(NULL, 0); @@ -1565,7 +1564,7 @@ BFP_EXPORT BfpFile* BFP_CALLTYPE BfpFile_Create(const char* inName, BfpFileCreat { for (int pass = 0; pass < 2; pass++) { - int result = mknod(name.c_str(), S_IFIFO | ALLPERMS, 0); + int result = mknod(name.c_str(), S_IFIFO | 0666, 0); if (result == 0) break; @@ -1865,64 +1864,74 @@ BFP_EXPORT void BFP_CALLTYPE BfpFile_SetAttributes(const char* path, BfpFileAttr BFP_EXPORT void BFP_CALLTYPE BfpFile_Copy(const char* oldPath, const char* newPath, BfpFileCopyKind copyKind, BfpFileResult* outResult) { - int fd_to, fd_from; - char buf[4096]; - ssize_t nread; + int fd_to, fd_from; + char buf[4096]; + ssize_t nread; - fd_from = open(oldPath, O_RDONLY); - if (fd_from < 0) - { - OUTRESULT(BfpFileResult_NotFound); - return; - } + fd_from = open(oldPath, O_RDONLY); + if (fd_from < 0) + { + OUTRESULT(BfpFileResult_NotFound); + return; + } - fd_to = open(newPath, O_WRONLY | O_CREAT | O_EXCL, 0666); - if (fd_to < 0) - { - OUTRESULT(BfpFileResult_AlreadyExists); - goto out_error; - } + int flags = O_WRONLY | O_CREAT; + if (copyKind == BfpFileCopyKind_IfNotExists) + flags |= O_EXCL; - while (nread = read(fd_from, buf, sizeof buf), nread > 0) - { - char *out_ptr = buf; - ssize_t nwritten; + fd_to = open(newPath, flags, 0666); + if (fd_to < 0) + { + if (errno == EEXIST) + { + OUTRESULT(BfpFileResult_AlreadyExists); + goto out_error; + } - do { - nwritten = write(fd_to, out_ptr, nread); + OUTRESULT(BfpFileResult_UnknownError); + goto out_error; + } - if (nwritten >= 0) - { - nread -= nwritten; - out_ptr += nwritten; - } - else if (errno != EINTR) - { - OUTRESULT(BfpFileResult_UnknownError); - goto out_error; - } - } while (nread > 0); - } + while (nread = read(fd_from, buf, sizeof buf), nread > 0) + { + char *out_ptr = buf; + ssize_t nwritten; - if (nread == 0) - { - if (close(fd_to) < 0) - { - fd_to = -1; - OUTRESULT(BfpFileResult_UnknownError); - goto out_error; - } - close(fd_from); + do { + nwritten = write(fd_to, out_ptr, nread); - /* Success! */ - OUTRESULT(BfpFileResult_Ok); - return; - } + if (nwritten >= 0) + { + nread -= nwritten; + out_ptr += nwritten; + } + else if (errno != EINTR) + { + OUTRESULT(BfpFileResult_UnknownError); + goto out_error; + } + } while (nread > 0); + } + + if (nread == 0) + { + if (close(fd_to) < 0) + { + fd_to = -1; + OUTRESULT(BfpFileResult_UnknownError); + goto out_error; + } + close(fd_from); + + /* Success! */ + OUTRESULT(BfpFileResult_Ok); + return; + } out_error: - close(fd_from); - if (fd_to >= 0) - close(fd_to); + close(fd_from); + if (fd_to >= 0) + close(fd_to); } BFP_EXPORT void BFP_CALLTYPE BfpFile_Rename(const char* oldPath, const char* newPath, BfpFileResult* outResult) diff --git a/BeefySysLib/platform/linux/LinuxCommon.h b/BeefySysLib/platform/linux/LinuxCommon.h index b739a38d..2a973f6d 100644 --- a/BeefySysLib/platform/linux/LinuxCommon.h +++ b/BeefySysLib/platform/linux/LinuxCommon.h @@ -55,8 +55,6 @@ typedef int16_t int16; typedef int8_t int8; typedef unsigned int uint; -#define BF_PLATFORM_LINUX -#define BF_PLATFORM_NAME "BF_PLATFORM_LINUX" //#define BF_PLATFORM_SDL #define NOP diff --git a/BeefySysLib/platform/osx/BFPlatform.h b/BeefySysLib/platform/osx/BFPlatform.h index a166db8e..acc558d0 100644 --- a/BeefySysLib/platform/osx/BFPlatform.h +++ b/BeefySysLib/platform/osx/BFPlatform.h @@ -5,7 +5,8 @@ #include "../darwin/DarwinCommon.h" #include -#define BF_PLATFORM_OSX +#define BF_PLATFORM_MACOS +#define BF_PLATFORM_NAME "BF_PLATFORM_MACOS" #define BF_IMPORT extern "C" diff --git a/IDE/.DS_Store b/IDE/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..e9b4d6f5fb87fd50d8ab11bf12434bf407de4eac GIT binary patch literal 8196 zcmeHMzi-n(6n>Ya)Coe(0BQt_g+Kz-At9wd1|$>0(5=E19Vlw!I%+H>z9?~sN)pJQ zzzPck3kb2JfP^~o7cjyC~x%*Iy#hxVDvwI3$@SqKWdVY7Bb*~-d z^Iu6KnVLH@Zx|UPb1w79uFsRB1hASDTff=E(LIrS);U;ym!G-QDc@yVMUV zo?mV8WY4W)$j-LsyR=)P9p7#9acto*jI@#7&E|T&m0QInv$$3qESbIao7i4mUKtG1 z#^Tk&?Tx+0;geo}@brbaCnDbqurPIxFV!2Y9~A6;+Gw&E^5Mrv)z_fqvix{q)HZ_t z^1GuuVZVE#zgbhp9(~8uiLj6DmS3m-0roMT^Uy%SeF&h+WLH^1>gakjLgluw{j9t5 zhI5-5r$HwSXGf_#kqNU5Y(fhtG?7mWS$T|Ch!rf3X2q%8-W$DRZn0yk41X6J;t3|> znTGpZF$x{zxgTLke!h*5QaO%tV~#Q7sSHn!4Dn0k8NVd1Ch`g?cV(6BNYbP7c=gHp zd_z2AWA9}BqTbMa*Z4L!2U}c^U~084e7lTuDqeNo_1FF5H3~&c=8lgD&41}RPJoZH z-v3btZCZiTs6bMX&aw0Vz1iRYPvfm=&RPMjz#l3=Qf0eb!eI8>G|t#AZ(`ZQ!i>cY n1@aWELO%rXdi;kWwoMFWIhMqsK= .Diagnostic) && (useArgsFile != .None)) + OutputLine("Arg file contents: {0}", args); + } else OutputLine("Executing: {0}", showArgs); } diff --git a/IDE/src/SpellChecker.bf b/IDE/src/SpellChecker.bf index 059ba5ae..6331d907 100644 --- a/IDE/src/SpellChecker.bf +++ b/IDE/src/SpellChecker.bf @@ -45,13 +45,13 @@ namespace IDE scope AutoBeefPerf("SpellChecker.Init"); mLangPath = new String(langPath); + mNativeSpellChecker = SpellChecker_Create(langPath); if (mNativeSpellChecker == null) return .Err; String fileName = scope String(); - GetUserDirectFileName(fileName); - //if (File.ReadLines(fileName) case .Ok(var lineEnumeratorVal)) + GetUserDirectFileName(fileName); let streamReader = scope StreamReader(); if (streamReader.Open(fileName) case .Ok) diff --git a/IDEHelper/Compiler/BfExprEvaluator.cpp b/IDEHelper/Compiler/BfExprEvaluator.cpp index d8dd0d40..49fbddca 100644 --- a/IDEHelper/Compiler/BfExprEvaluator.cpp +++ b/IDEHelper/Compiler/BfExprEvaluator.cpp @@ -17551,6 +17551,7 @@ void BfExprEvaluator::PerformBinaryOperation(BfType* resultType, BfIRValue convL case BfBinaryOp_RightShift: mResult = BfTypedValue(mModule->mBfIRBuilder->CreateShr(convLeftValue, convRightValue, resultType->IsSigned()), resultType); return; + default: break; } } diff --git a/IDEHelper/Compiler/BfModuleTypeUtils.cpp b/IDEHelper/Compiler/BfModuleTypeUtils.cpp index 857dcae2..24a75980 100644 --- a/IDEHelper/Compiler/BfModuleTypeUtils.cpp +++ b/IDEHelper/Compiler/BfModuleTypeUtils.cpp @@ -8028,10 +8028,15 @@ bool BfModule::CanImplicitlyCast(BfTypedValue typedVal, BfType* toType, BfCastFl } else if (toType->IsSigned()) { - int64 minVal = -(1LL << (8 * toType->mSize - 1)); - int64 maxVal = (1LL << (8 * toType->mSize - 1)) - 1; - if ((srcVal >= minVal) && (srcVal <= maxVal)) - return true; + if (toType->mSize == 8) // int64 + return true; + else + { + int64 minVal = -(1LL << (8 * toType->mSize - 1)); + int64 maxVal = (1LL << (8 * toType->mSize - 1)) - 1; + if ((srcVal >= minVal) && (srcVal <= maxVal)) + return true; + } } else if (toType->mSize == 8) // ulong { @@ -9155,12 +9160,17 @@ BfIRValue BfModule::CastToValue(BfAstNode* srcNode, BfTypedValue typedVal, BfTyp } else if (toType->IsSigned()) { - int64 minVal = -(1LL << (8 * toType->mSize - 1)); - int64 maxVal = (1LL << (8 * toType->mSize - 1)) - 1; - if ((srcVal >= minVal) && (srcVal <= maxVal)) - explicitCast = true; + if (toType->mSize == 8) // int64 + explicitCast = true; + else + { + int64 minVal = -(1LL << (8 * toType->mSize - 1)); + int64 maxVal = (1LL << (8 * toType->mSize - 1)) - 1; + if ((srcVal >= minVal) && (srcVal <= maxVal)) + explicitCast = true; + } } - else if (toType->mSize == 8) // ulong + else if (toType->mSize == 8) // uint64 { if (srcVal >= 0) explicitCast = true; @@ -9703,10 +9713,16 @@ BfIRValue BfModule::CastToValue(BfAstNode* srcNode, BfTypedValue typedVal, BfTyp if ((castFlags & BfCastFlags_SilentFail) == 0) { - const char* errStr = explicitCast ? + if (mIgnoreErrors) + return BfIRValue(); + + const char* errStrF = explicitCast ? "Unable to cast '%s' to '%s'" : "Unable to implicitly cast '%s' to '%s'"; - auto error = Fail(StrFormat(errStr, TypeToString(typedVal.mType).c_str(), TypeToString(toType).c_str()), srcNode); + + String errStr = StrFormat(errStrF, TypeToString(typedVal.mType).c_str(), TypeToString(toType).c_str()); + printf("Err: %s\n", errStr.c_str()); + auto error = Fail(errStr, srcNode); if ((error != NULL) && (srcNode != NULL)) { if ((mCompiler->IsAutocomplete()) && (mCompiler->mResolvePassData->mAutoComplete->CheckFixit((srcNode)))) diff --git a/IDEHelper/Tests/BeefSpace.toml b/IDEHelper/Tests/BeefSpace.toml index 111d248d..8c29f4ab 100644 --- a/IDEHelper/Tests/BeefSpace.toml +++ b/IDEHelper/Tests/BeefSpace.toml @@ -14,7 +14,9 @@ ConfigSelections = {TestsB = {Config = "Test"}} [Configs.Test.Linux64] IntermediateType = "ObjectAndIRCode" -COptimizationLevel = "O2" +ConfigSelections = {TestsB = {Config = "Test"}} + +[Configs.Test.macOS] ConfigSelections = {TestsB = {Config = "Test"}} [Configs.TestFail.Win64] diff --git a/bin/build.sh b/bin/build.sh index b01cb3f6..c055df54 100755 --- a/bin/build.sh +++ b/bin/build.sh @@ -63,7 +63,7 @@ fi 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.$LIBEXT ./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" echo Building BeefBuild_d -./BeefBuild_bootd -clean -proddir=../../BeefBuild -config=Debug -platform=Linux64 +./BeefBuild_bootd -clean -proddir=../../BeefBuild -config=Debug #./BeefBuild_d -proddir=../../TestApp #../../TestApp/build/Debug_Linux64/TestApp/TestApp echo Testing IDEHelper/Tests in BeefBuild_d @@ -72,9 +72,9 @@ 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.$LIBEXT ./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 -Wl,-rpath -Wl,\$ORIGIN" +../../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.$LIBEXT ./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" echo Building BeedBuild -./BeefBuild_boot -clean -proddir=../../BeefBuild -config=Release -platform=Linux64 +./BeefBuild_boot -clean -proddir=../../BeefBuild -config=Release #./BeefBuild_d -proddir=../../TestApp #../../TestApp/build/Debug_Linux64/TestApp/TestApp echo Testing IDEHelper/Tests in BeefBuild