Build liblldb.dll in Windows
llvm-svn: 202724
This commit is contained in:
parent
99fbc07600
commit
627f4ae811
@ -21,62 +21,65 @@
|
||||
#include "lldb/lldb-types.h"
|
||||
#include "lldb/lldb-versioning.h"
|
||||
|
||||
// Forward Declarations
|
||||
#ifdef SWIG
|
||||
#define LLDB_API
|
||||
#endif
|
||||
|
||||
// Forward Declarations
|
||||
namespace lldb {
|
||||
|
||||
class SBAddress;
|
||||
class SBBlock;
|
||||
class SBBreakpoint;
|
||||
class SBBreakpointLocation;
|
||||
class SBBroadcaster;
|
||||
class SBCommand;
|
||||
class SBCommandInterpreter;
|
||||
class SBCommandPluginInterface;
|
||||
class SBCommandReturnObject;
|
||||
class SBCommunication;
|
||||
class SBCompileUnit;
|
||||
class SBData;
|
||||
class SBDebugger;
|
||||
class SBDeclaration;
|
||||
class SBError;
|
||||
class SBEvent;
|
||||
class SBEventList;
|
||||
class SBExpressionOptions;
|
||||
class SBFileSpec;
|
||||
class SBFileSpecList;
|
||||
class SBFrame;
|
||||
class SBFunction;
|
||||
class SBHostOS;
|
||||
class SBInstruction;
|
||||
class SBInstructionList;
|
||||
class SBLineEntry;
|
||||
class SBListener;
|
||||
class SBModule;
|
||||
class SBModuleSpec;
|
||||
class SBModuleSpecList;
|
||||
class SBProcess;
|
||||
class SBSourceManager;
|
||||
class SBStream;
|
||||
class SBStringList;
|
||||
class SBSymbol;
|
||||
class SBSymbolContext;
|
||||
class SBSymbolContextList;
|
||||
class SBTarget;
|
||||
class SBThread;
|
||||
class SBType;
|
||||
class SBTypeCategory;
|
||||
class SBTypeFilter;
|
||||
class SBTypeFormat;
|
||||
class SBTypeNameSpecifier;
|
||||
class SBTypeSummary;
|
||||
class LLDB_API SBAddress;
|
||||
class LLDB_API SBBlock;
|
||||
class LLDB_API SBBreakpoint;
|
||||
class LLDB_API SBBreakpointLocation;
|
||||
class LLDB_API SBBroadcaster;
|
||||
class LLDB_API SBCommand;
|
||||
class LLDB_API SBCommandInterpreter;
|
||||
class LLDB_API SBCommandPluginInterface;
|
||||
class LLDB_API SBCommandReturnObject;
|
||||
class LLDB_API SBCommunication;
|
||||
class LLDB_API SBCompileUnit;
|
||||
class LLDB_API SBData;
|
||||
class LLDB_API SBDebugger;
|
||||
class LLDB_API SBDeclaration;
|
||||
class LLDB_API SBError;
|
||||
class LLDB_API SBEvent;
|
||||
class LLDB_API SBEventList;
|
||||
class LLDB_API SBExpressionOptions;
|
||||
class LLDB_API SBFileSpec;
|
||||
class LLDB_API SBFileSpecList;
|
||||
class LLDB_API SBFrame;
|
||||
class LLDB_API SBFunction;
|
||||
class LLDB_API SBHostOS;
|
||||
class LLDB_API SBInstruction;
|
||||
class LLDB_API SBInstructionList;
|
||||
class LLDB_API SBLineEntry;
|
||||
class LLDB_API SBListener;
|
||||
class LLDB_API SBModule;
|
||||
class LLDB_API SBModuleSpec;
|
||||
class LLDB_API SBModuleSpecList;
|
||||
class LLDB_API SBProcess;
|
||||
class LLDB_API SBSourceManager;
|
||||
class LLDB_API SBStream;
|
||||
class LLDB_API SBStringList;
|
||||
class LLDB_API SBSymbol;
|
||||
class LLDB_API SBSymbolContext;
|
||||
class LLDB_API SBSymbolContextList;
|
||||
class LLDB_API SBTarget;
|
||||
class LLDB_API SBThread;
|
||||
class LLDB_API SBType;
|
||||
class LLDB_API SBTypeCategory;
|
||||
class LLDB_API SBTypeFilter;
|
||||
class LLDB_API SBTypeFormat;
|
||||
class LLDB_API SBTypeNameSpecifier;
|
||||
class LLDB_API SBTypeSummary;
|
||||
#ifndef LLDB_DISABLE_PYTHON
|
||||
class SBTypeSynthetic;
|
||||
class LLDB_API SBTypeSynthetic;
|
||||
#endif
|
||||
class SBTypeList;
|
||||
class SBValue;
|
||||
class SBValueList;
|
||||
class SBWatchpoint;
|
||||
class LLDB_API SBTypeList;
|
||||
class LLDB_API SBValue;
|
||||
class LLDB_API SBValueList;
|
||||
class LLDB_API SBWatchpoint;
|
||||
|
||||
}
|
||||
|
||||
|
@ -15,6 +15,6 @@
|
||||
|
||||
#else
|
||||
|
||||
#include <lldb/Host/windows/GetOptInc.h>
|
||||
#include <lldb/Host/windows/getopt/GetOptInc.h>
|
||||
|
||||
#endif
|
||||
|
@ -11,6 +11,7 @@
|
||||
#define LLDB_lldb_defines_h_
|
||||
|
||||
#include "lldb/lldb-types.h"
|
||||
#include "lldb/lldb-dll-export.h"
|
||||
|
||||
#if !defined(UINT32_MAX)
|
||||
#define UINT32_MAX 4294967295U
|
||||
|
@ -14,7 +14,11 @@ include_directories(
|
||||
)
|
||||
endif ()
|
||||
|
||||
add_subdirectory(API)
|
||||
# Need to export the API in the liblldb.dll for Windows
|
||||
# The lldbAPI source files are added directly in liblldb
|
||||
if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows" )
|
||||
add_subdirectory(API)
|
||||
endif ()
|
||||
add_subdirectory(Breakpoint)
|
||||
add_subdirectory(Commands)
|
||||
add_subdirectory(Core)
|
||||
@ -28,7 +32,6 @@ add_subdirectory(Target)
|
||||
add_subdirectory(Utility)
|
||||
|
||||
set( LLDB_USED_LIBS
|
||||
lldbAPI
|
||||
lldbBreakpoint
|
||||
lldbCommands
|
||||
lldbDataFormatters
|
||||
@ -77,6 +80,14 @@ set( LLDB_USED_LIBS
|
||||
lldbPluginOSPython
|
||||
)
|
||||
|
||||
# Need to export the API in the liblldb.dll for Windows
|
||||
# The lldbAPI source files are added directly in liblldb
|
||||
if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows" )
|
||||
list(APPEND LLDB_USED_LIBS
|
||||
lldbAPI
|
||||
)
|
||||
endif ()
|
||||
|
||||
# Windows-only libraries
|
||||
if ( CMAKE_SYSTEM_NAME MATCHES "Windows" )
|
||||
list(APPEND LLDB_USED_LIBS
|
||||
@ -171,29 +182,102 @@ set( LLVM_LINK_COMPONENTS
|
||||
option
|
||||
)
|
||||
|
||||
set_source_files_properties(${LLDB_BINARY_DIR}/scripts/LLDBWrapPython.cpp PROPERTIES GENERATED 1)
|
||||
|
||||
if(NOT CMAKE_SYSTEM_NAME MATCHES "Windows")
|
||||
set(SHARED_LIBRARY 1)
|
||||
endif()
|
||||
|
||||
if(NOT CMAKE_SYSTEM_NAME MATCHES "Windows")
|
||||
if ( NOT LLDB_DISABLE_PYTHON )
|
||||
set_source_files_properties(${LLDB_BINARY_DIR}/scripts/LLDBWrapPython.cpp PROPERTIES GENERATED 1)
|
||||
set(LLDB_WRAP_PYTHON ${LLDB_BINARY_DIR}/scripts/LLDBWrapPython.cpp)
|
||||
endif()
|
||||
set(SHARED_LIBRARY 1)
|
||||
|
||||
if ( CMAKE_SYSTEM_NAME MATCHES "Windows" )
|
||||
add_definitions( -DEXPORT_LIBLLDB )
|
||||
endif()
|
||||
|
||||
# Need to export the API in the liblldb.dll for Windows
|
||||
# The lldbAPI source files are added directly in liblldb
|
||||
if ( CMAKE_SYSTEM_NAME MATCHES "Windows" )
|
||||
add_lldb_library(liblldb
|
||||
lldb.cpp
|
||||
lldb-log.cpp
|
||||
API/SBAddress.cpp
|
||||
API/SBBlock.cpp
|
||||
API/SBBreakpoint.cpp
|
||||
API/SBBreakpointLocation.cpp
|
||||
API/SBBroadcaster.cpp
|
||||
API/SBCommandInterpreter.cpp
|
||||
API/SBCommandReturnObject.cpp
|
||||
API/SBCommunication.cpp
|
||||
API/SBCompileUnit.cpp
|
||||
API/SBData.cpp
|
||||
API/SBDebugger.cpp
|
||||
API/SBDeclaration.cpp
|
||||
API/SBError.cpp
|
||||
API/SBEvent.cpp
|
||||
API/SBExpressionOptions.cpp
|
||||
API/SBFileSpec.cpp
|
||||
API/SBFileSpecList.cpp
|
||||
API/SBFrame.cpp
|
||||
API/SBFunction.cpp
|
||||
API/SBHostOS.cpp
|
||||
API/SBInstruction.cpp
|
||||
API/SBInstructionList.cpp
|
||||
API/SBLineEntry.cpp
|
||||
API/SBListener.cpp
|
||||
API/SBModule.cpp
|
||||
API/SBModuleSpec.cpp
|
||||
API/SBPlatform.cpp
|
||||
API/SBProcess.cpp
|
||||
API/SBQueue.cpp
|
||||
API/SBQueueItem.cpp
|
||||
API/SBSection.cpp
|
||||
API/SBSourceManager.cpp
|
||||
API/SBStream.cpp
|
||||
API/SBStringList.cpp
|
||||
API/SBSymbol.cpp
|
||||
API/SBSymbolContext.cpp
|
||||
API/SBSymbolContextList.cpp
|
||||
API/SBTarget.cpp
|
||||
API/SBThread.cpp
|
||||
API/SBType.cpp
|
||||
API/SBTypeCategory.cpp
|
||||
API/SBTypeFilter.cpp
|
||||
API/SBTypeFormat.cpp
|
||||
API/SBTypeNameSpecifier.cpp
|
||||
API/SBTypeSummary.cpp
|
||||
API/SBTypeSynthetic.cpp
|
||||
API/SBValue.cpp
|
||||
API/SBValueList.cpp
|
||||
API/SBWatchpoint.cpp
|
||||
Host/Windows/getopt/GetOptInc.cpp
|
||||
${LLDB_WRAP_PYTHON}
|
||||
${LLDB_VERS_GENERATED_FILE}
|
||||
)
|
||||
else ()
|
||||
add_lldb_library(liblldb
|
||||
lldb.cpp
|
||||
lldb-log.cpp
|
||||
${LLDB_WRAP_PYTHON}
|
||||
${LLDB_VERS_GENERATED_FILE}
|
||||
)
|
||||
endif ()
|
||||
|
||||
if ( CMAKE_SYSTEM_NAME MATCHES "Windows" )
|
||||
set_target_properties(liblldb
|
||||
PROPERTIES
|
||||
OUTPUT_NAME liblldb
|
||||
VERSION ${LLDB_VERSION}
|
||||
)
|
||||
else()
|
||||
set_target_properties(liblldb
|
||||
PROPERTIES
|
||||
OUTPUT_NAME lldb
|
||||
VERSION ${LLDB_VERSION}
|
||||
)
|
||||
endif()
|
||||
|
||||
if (LLDB_WRAP_PYTHON OR LLDB_VERS_GENERATED_FILE)
|
||||
add_dependencies(liblldb
|
||||
swig_wrapper
|
||||
${LLDB_WRAP_PYTHON}
|
||||
${LLDB_VERS_GENERATED_FILE}
|
||||
)
|
||||
|
@ -7,5 +7,4 @@ add_lldb_library(lldbHostWindows
|
||||
Condition.cpp
|
||||
Windows.cpp
|
||||
EditLineWin.cpp
|
||||
GetOptInc.cpp
|
||||
)
|
||||
|
@ -4,6 +4,10 @@ add_lldb_executable(lldb
|
||||
Platform.cpp
|
||||
)
|
||||
|
||||
if ( CMAKE_SYSTEM_NAME MATCHES "Windows" )
|
||||
add_definitions( -DIMPORT_LIBLLDB )
|
||||
endif()
|
||||
|
||||
target_link_libraries(lldb liblldb)
|
||||
# TODO: why isn't this done by add_lldb_executable?
|
||||
#target_link_libraries(lldb ${LLDB_USED_LIBS})
|
||||
|
Loading…
x
Reference in New Issue
Block a user