[Lldb-commits] [lldb] r202724 - Build liblldb.dll in Windows
Deepak Panickal
deepak at codeplay.com
Mon Mar 3 07:50:36 PST 2014
Author: panickal
Date: Mon Mar 3 09:50:36 2014
New Revision: 202724
URL: http://llvm.org/viewvc/llvm-project?rev=202724&view=rev
Log:
Build liblldb.dll in Windows
Modified:
lldb/trunk/include/lldb/API/SBDefines.h
lldb/trunk/include/lldb/Host/HostGetOpt.h
lldb/trunk/include/lldb/lldb-defines.h
lldb/trunk/source/CMakeLists.txt
lldb/trunk/source/Host/windows/CMakeLists.txt
lldb/trunk/tools/driver/CMakeLists.txt
Modified: lldb/trunk/include/lldb/API/SBDefines.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/API/SBDefines.h?rev=202724&r1=202723&r2=202724&view=diff
==============================================================================
--- lldb/trunk/include/lldb/API/SBDefines.h (original)
+++ lldb/trunk/include/lldb/API/SBDefines.h Mon Mar 3 09:50:36 2014
@@ -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;
}
Modified: lldb/trunk/include/lldb/Host/HostGetOpt.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Host/HostGetOpt.h?rev=202724&r1=202723&r2=202724&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Host/HostGetOpt.h (original)
+++ lldb/trunk/include/lldb/Host/HostGetOpt.h Mon Mar 3 09:50:36 2014
@@ -15,6 +15,6 @@
#else
-#include <lldb/Host/windows/GetOptInc.h>
+#include <lldb/Host/windows/getopt/GetOptInc.h>
#endif
Modified: lldb/trunk/include/lldb/lldb-defines.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/lldb-defines.h?rev=202724&r1=202723&r2=202724&view=diff
==============================================================================
--- lldb/trunk/include/lldb/lldb-defines.h (original)
+++ lldb/trunk/include/lldb/lldb-defines.h Mon Mar 3 09:50:36 2014
@@ -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
Modified: lldb/trunk/source/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/CMakeLists.txt?rev=202724&r1=202723&r2=202724&view=diff
==============================================================================
--- lldb/trunk/source/CMakeLists.txt (original)
+++ lldb/trunk/source/CMakeLists.txt Mon Mar 3 09:50:36 2014
@@ -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)
+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(NOT CMAKE_SYSTEM_NAME MATCHES "Windows")
- set(LLDB_WRAP_PYTHON ${LLDB_BINARY_DIR}/scripts/LLDBWrapPython.cpp)
+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}
)
Modified: lldb/trunk/source/Host/windows/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/windows/CMakeLists.txt?rev=202724&r1=202723&r2=202724&view=diff
==============================================================================
--- lldb/trunk/source/Host/windows/CMakeLists.txt (original)
+++ lldb/trunk/source/Host/windows/CMakeLists.txt Mon Mar 3 09:50:36 2014
@@ -7,5 +7,4 @@ add_lldb_library(lldbHostWindows
Condition.cpp
Windows.cpp
EditLineWin.cpp
- GetOptInc.cpp
)
Modified: lldb/trunk/tools/driver/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/driver/CMakeLists.txt?rev=202724&r1=202723&r2=202724&view=diff
==============================================================================
--- lldb/trunk/tools/driver/CMakeLists.txt (original)
+++ lldb/trunk/tools/driver/CMakeLists.txt Mon Mar 3 09:50:36 2014
@@ -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})
More information about the lldb-commits
mailing list