diff options
Diffstat (limited to 'include/lldb/Host/macosx')
-rw-r--r-- | include/lldb/Host/macosx/Config.h | 28 | ||||
-rw-r--r-- | include/lldb/Host/macosx/HostInfoMacOSX.h | 47 | ||||
-rw-r--r-- | include/lldb/Host/macosx/HostThreadMacOSX.h | 31 |
3 files changed, 106 insertions, 0 deletions
diff --git a/include/lldb/Host/macosx/Config.h b/include/lldb/Host/macosx/Config.h new file mode 100644 index 0000000000000..c8add4498f27a --- /dev/null +++ b/include/lldb/Host/macosx/Config.h @@ -0,0 +1,28 @@ +//===-- Config.h -----------------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +//---------------------------------------------------------------------- +// LLDB currently doesn't have a dynamic configuration mechanism, so we +// are going to hardcode things for now. Eventually these files will +// be auto generated by some configuration script that can detect +// platform functionality availability. +//---------------------------------------------------------------------- + +#ifndef liblldb_Platform_Config_h_ +#define liblldb_Platform_Config_h_ + +#define LLDB_CONFIG_TERMIOS_SUPPORTED 1 + +#define LLDB_CONFIG_TILDE_RESOLVES_TO_USER 1 + +#define LLDB_CONFIG_DLOPEN_RTLD_FIRST_SUPPORTED 1 + +#define LLDB_CONFIG_FCNTL_GETPATH_SUPPORTED 1 + +#endif // #ifndef liblldb_Platform_Config_h_ diff --git a/include/lldb/Host/macosx/HostInfoMacOSX.h b/include/lldb/Host/macosx/HostInfoMacOSX.h new file mode 100644 index 0000000000000..3b62c7fb9061e --- /dev/null +++ b/include/lldb/Host/macosx/HostInfoMacOSX.h @@ -0,0 +1,47 @@ +//===-- HostInfoMacOSX.h ----------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef lldb_Host_macosx_HostInfoMacOSX_h_ +#define lldb_Host_macosx_HostInfoMacOSX_h_ + +#include "lldb/Host/FileSpec.h" +#include "lldb/Host/posix/HostInfoPosix.h" + +namespace lldb_private +{ + +class ArchSpec; + +class HostInfoMacOSX : public HostInfoPosix +{ + friend class HostInfoBase; + + private: + // Static class, unconstructable. + HostInfoMacOSX(); + ~HostInfoMacOSX(); + + public: + static bool GetOSVersion(uint32_t &major, uint32_t &minor, uint32_t &update); + static bool GetOSBuildString(std::string &s); + static bool GetOSKernelDescription(std::string &s); + static FileSpec GetProgramFileSpec(); + + protected: + static bool ComputeSupportExeDirectory(FileSpec &file_spec); + static void ComputeHostArchitectureSupport(ArchSpec &arch_32, ArchSpec &arch_64); + static bool ComputeHeaderDirectory(FileSpec &file_spec); + static bool ComputePythonDirectory(FileSpec &file_spec); + static bool ComputeClangDirectory(FileSpec &file_spec); + static bool ComputeSystemPluginsDirectory(FileSpec &file_spec); + static bool ComputeUserPluginsDirectory(FileSpec &file_spec); +}; +} + +#endif diff --git a/include/lldb/Host/macosx/HostThreadMacOSX.h b/include/lldb/Host/macosx/HostThreadMacOSX.h new file mode 100644 index 0000000000000..9173aaf92f32b --- /dev/null +++ b/include/lldb/Host/macosx/HostThreadMacOSX.h @@ -0,0 +1,31 @@ +//===-- HostThreadMacOSX.h --------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef lldb_Host_macosx_HostThreadMacOSX_h_ +#define lldb_Host_macosx_HostThreadMacOSX_h_ + +#include "lldb/Host/posix/HostThreadPosix.h" + +namespace lldb_private +{ + +class HostThreadMacOSX : public HostThreadPosix +{ + friend class ThreadLauncher; + + public: + HostThreadMacOSX(); + HostThreadMacOSX(lldb::thread_t thread); + + protected: + static lldb::thread_result_t ThreadCreateTrampoline(lldb::thread_arg_t arg); +}; +} + +#endif |