[lldb] Remove the requirement for windows clients to specify -DIMPORT_LIBLLDB

This macro was being used to select the proper import/export annotations
on SB classes. Non-windows clients do not have such requirements.

Instead introduce a new macro (LLDB_IN_LIBLLDB), which signals that
we're compiling liblldb itself (and should use dllexport). The default
(no macro) is to use dllimport. I've moved the macro definition to
SBDefines.h, since it only makes sense when building the API library.

Differential Revision: https://reviews.llvm.org/D117564
This commit is contained in:
Pavel Labath
2022-01-18 16:15:10 +01:00
parent 8bfa7a6dcc
commit b2a162e63b
5 changed files with 11 additions and 21 deletions

View File

@@ -15,6 +15,16 @@
#include "lldb/lldb-types.h"
#include "lldb/lldb-versioning.h"
#if defined(_WIN32)
#if defined(LLDB_IN_LIBLLDB)
#define LLDB_API __declspec(dllexport)
#else
#define LLDB_API __declspec(dllimport)
#endif
#else // defined (_WIN32)
#define LLDB_API
#endif
// Forward Declarations
namespace lldb {

View File

@@ -11,18 +11,6 @@
#include "lldb/lldb-types.h"
#if defined(_WIN32)
#if defined(EXPORT_LIBLLDB)
#define LLDB_API __declspec(dllexport)
#elif defined(IMPORT_LIBLLDB)
#define LLDB_API __declspec(dllimport)
#else
#define LLDB_API
#endif
#else // defined (_WIN32)
#define LLDB_API
#endif
#if !defined(INT32_MAX)
#define INT32_MAX 2147483647
#endif

View File

@@ -1,7 +1,3 @@
if ( CMAKE_SYSTEM_NAME MATCHES "Windows" )
add_definitions( -DEXPORT_LIBLLDB )
endif()
get_property(LLDB_ALL_PLUGINS GLOBAL PROPERTY LLDB_PLUGINS)
if(LLDB_BUILD_FRAMEWORK)
@@ -165,6 +161,7 @@ set_target_properties(liblldb
VERSION ${LLDB_VERSION}
)
target_compile_definitions(liblldb PRIVATE LLDB_IN_LIBLLDB)
if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows")
if (NOT LLDB_EXPORT_ALL_SYMBOLS)
# If we're not exporting all symbols, we'll want to explicitly set

View File

@@ -23,10 +23,6 @@ add_lldb_tool(lldb
Support
)
if ( CMAKE_SYSTEM_NAME MATCHES "Windows" )
add_definitions( -DIMPORT_LIBLLDB )
endif()
add_dependencies(lldb
LLDBOptionsTableGen
${tablegen_deps}

View File

@@ -1,5 +1,4 @@
if ( CMAKE_SYSTEM_NAME MATCHES "Windows" OR CMAKE_SYSTEM_NAME MATCHES "NetBSD" )
add_definitions( -DIMPORT_LIBLLDB )
list(APPEND extra_libs lldbHost)
endif ()