Added the start of platform configuration designed for internal LLDB use.

Internal use means for compiling the LLDB debug engine and plug-ins, but it
should never make it into the public API.

Since we don't currently have a configuration script that detects avaiable
functionality in the LLDB build system, we are hard coding #define values
in the host specific "Config.h" files. 

#define values in these Config.h header files should set the value to zero or
one:

#define LLDB_CONFIG_TERMIOS_SUPPORTED 1

#define LLDB_CONFIG_OTHER 0

Then any code in the LLDB engine should check the availability using:

#if LLDB_CONFIG_TERMIOS_SUPPORTED
....
#endif

Eventually the contents of the host specific Config.h files will be auto
generated, but for now they will be hard coded. Any LLDB_CONFIG_XXXX items
that are added should be added to all Config.h files and set to either zero
or one.

llvm-svn: 124892
This commit is contained in:
Greg Clayton 2011-02-04 19:17:57 +00:00
parent 05c32e27c6
commit 768f2809f2
6 changed files with 127 additions and 0 deletions

View File

@ -0,0 +1,35 @@
//===-- Config.h ------------------------------------------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef liblldb_Config_h_
#define liblldb_Config_h_
#if defined(__APPLE__)
#include "lldb/Host/macosx/Config.h"
#elif defined(__linux__)
#include "lldb/Host/linux/Config.h"
#elif defined(__FreeBSD__)
#include "lldb/Host/freebsd/Config.h"
#elif defined(__MINGW__) || defined (__MINGW32__)
#include "lldb/Host/mingw/Config.h"
#else
#error undefined platform
#endif
#endif // #ifndef liblldb_Config_h_

View File

@ -0,0 +1,22 @@
//===-- 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
#endif // #ifndef liblldb_Platform_Config_h_

View File

@ -0,0 +1,22 @@
//===-- 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
#endif // #ifndef liblldb_Platform_Config_h_

View File

@ -0,0 +1,22 @@
//===-- 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
#endif // #ifndef liblldb_Platform_Config_h_

View File

@ -0,0 +1,22 @@
//===-- 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 0
#endif // #ifndef liblldb_Platform_Config_h_

View File

@ -65,6 +65,7 @@
2668035C11601108008E1FE4 /* LLDB.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 26680207115FD0ED008E1FE4 /* LLDB.framework */; };
266A42D6128E3FFB0090CF7C /* ClangNamespaceDecl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 266A42D5128E3FFB0090CF7C /* ClangNamespaceDecl.cpp */; };
266A42D8128E40040090CF7C /* ClangNamespaceDecl.h in Headers */ = {isa = PBXBuildFile; fileRef = 266A42D7128E40040090CF7C /* ClangNamespaceDecl.h */; };
266F5CBC12FC846200DFCE33 /* Config.h in Headers */ = {isa = PBXBuildFile; fileRef = 266F5CBB12FC846200DFCE33 /* Config.h */; };
268F9D53123AA15200B91E9B /* SBSymbolContextList.h in Headers */ = {isa = PBXBuildFile; fileRef = 268F9D52123AA15200B91E9B /* SBSymbolContextList.h */; settings = {ATTRIBUTES = (Public, ); }; };
268F9D55123AA16600B91E9B /* SBSymbolContextList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 268F9D54123AA16600B91E9B /* SBSymbolContextList.cpp */; };
26B42B1F1187A92B0079C8C8 /* lldb-include.h in Headers */ = {isa = PBXBuildFile; fileRef = 26B42B1E1187A92B0079C8C8 /* lldb-include.h */; settings = {ATTRIBUTES = (Public, ); }; };
@ -579,6 +580,7 @@
266960631199F4230075C61A /* sed-sources */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.perl; path = "sed-sources"; sourceTree = "<group>"; };
266A42D5128E3FFB0090CF7C /* ClangNamespaceDecl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ClangNamespaceDecl.cpp; path = source/Symbol/ClangNamespaceDecl.cpp; sourceTree = "<group>"; };
266A42D7128E40040090CF7C /* ClangNamespaceDecl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClangNamespaceDecl.h; path = include/lldb/Symbol/ClangNamespaceDecl.h; sourceTree = "<group>"; };
266F5CBB12FC846200DFCE33 /* Config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Config.h; path = include/lldb/Host/Config.h; sourceTree = "<group>"; };
2672D8461189055500FF4019 /* CommandObjectFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandObjectFrame.cpp; path = source/Commands/CommandObjectFrame.cpp; sourceTree = "<group>"; };
2672D8471189055500FF4019 /* CommandObjectFrame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandObjectFrame.h; path = source/Commands/CommandObjectFrame.h; sourceTree = "<group>"; };
2676A093119C93C8008A98EF /* StringExtractorGDBRemote.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StringExtractorGDBRemote.cpp; path = source/Utility/StringExtractorGDBRemote.cpp; sourceTree = "<group>"; };
@ -1970,6 +1972,7 @@
69A01E1A1236C5D400C660B5 /* common */,
26BC7EE510F1B88100F91463 /* MacOSX */,
26BC7DD210F1B7D500F91463 /* Condition.h */,
266F5CBB12FC846200DFCE33 /* Config.h */,
26BC7DD310F1B7D500F91463 /* Endian.h */,
26BC7DD410F1B7D500F91463 /* Host.h */,
26BC7DD510F1B7D500F91463 /* Mutex.h */,
@ -2341,6 +2344,7 @@
B287E63F12EFAE2C00C9BEFE /* ARMDefines.h in Headers */,
26D9FDC712F784E60003F2EE /* EmulateInstruction.h in Headers */,
26D9FDCF12F7853F0003F2EE /* EmulateInstructionARM.h in Headers */,
266F5CBC12FC846200DFCE33 /* Config.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};