diff options
author | Ivan Donchevskii <[email protected]> | 2019-03-21 14:56:54 +0100 |
---|---|---|
committer | Simon Hausmann <[email protected]> | 2019-03-21 16:58:54 +0100 |
commit | fee353db3778da2cdedd7670337e8d7d548e8b07 (patch) | |
tree | c1d4b7ac409972a8cd3bbbaeec7e164bfbb89260 | |
parent | 9fc5dfce8e15fd7b3ffe657278c045ee5471d26f (diff) |
WIP: Clang: Add patch to build static libclangrelease_50-based
-rw-r--r-- | cmake/modules/AddClang.cmake | 8 | ||||
-rw-r--r-- | include/clang-c/Platform.h | 14 | ||||
-rw-r--r-- | tools/libclang/CMakeLists.txt | 6 |
3 files changed, 19 insertions, 9 deletions
diff --git a/cmake/modules/AddClang.cmake b/cmake/modules/AddClang.cmake index e657059744..de58491c63 100644 --- a/cmake/modules/AddClang.cmake +++ b/cmake/modules/AddClang.cmake @@ -44,7 +44,7 @@ endmacro() macro(add_clang_library name) cmake_parse_arguments(ARG - "SHARED" + "SHARED;STATIC" "" "ADDITIONAL_HEADERS" ${ARGN}) @@ -83,7 +83,11 @@ macro(add_clang_library name) if(ARG_SHARED) set(ARG_ENABLE_SHARED SHARED) endif() - llvm_add_library(${name} ${ARG_ENABLE_SHARED} ${ARG_UNPARSED_ARGUMENTS} ${srcs}) + if(ARG_STATIC) + set(ARG_ENABLE_STATIC STATIC) + endif() + + llvm_add_library(${name} ${ARG_ENABLE_SHARED} ${ARG_ENABLE_STATIC} ${ARG_UNPARSED_ARGUMENTS} ${srcs}) if(TARGET ${name}) target_link_libraries(${name} INTERFACE ${LLVM_COMMON_LIBS}) diff --git a/include/clang-c/Platform.h b/include/clang-c/Platform.h index e2a4dccbda..717ca6d88d 100644 --- a/include/clang-c/Platform.h +++ b/include/clang-c/Platform.h @@ -19,14 +19,16 @@ extern "C" { #endif /* MSVC DLL import/export. */ -#ifdef _MSC_VER - #ifdef _CINDEX_LIB_ - #define CINDEX_LINKAGE __declspec(dllexport) +#ifndef CINDEX_LINKAGE + #ifdef _MSC_VER + #ifdef _CINDEX_LIB_ + #define CINDEX_LINKAGE __declspec(dllexport) + #else + #define CINDEX_LINKAGE __declspec(dllimport) + #endif #else - #define CINDEX_LINKAGE __declspec(dllimport) + #define CINDEX_LINKAGE #endif -#else - #define CINDEX_LINKAGE #endif #ifdef __GNUC__ diff --git a/tools/libclang/CMakeLists.txt b/tools/libclang/CMakeLists.txt index 2dd6703076..c21eb220c0 100644 --- a/tools/libclang/CMakeLists.txt +++ b/tools/libclang/CMakeLists.txt @@ -74,7 +74,7 @@ if( LLVM_ENABLE_PIC ) set(ENABLE_SHARED SHARED) endif() -if((NOT LLVM_ENABLE_PIC OR LIBCLANG_BUILD_STATIC) AND NOT WIN32) +if(NOT LLVM_ENABLE_PIC OR LIBCLANG_BUILD_STATIC) set(ENABLE_STATIC STATIC) endif() @@ -118,6 +118,10 @@ if(ENABLE_SHARED) endif() endif() +if (LIBCLANG_BUILD_STATIC) + add_definitions(-DCINDEX_LINKAGE=) +endif() + if(INTERNAL_INSTALL_PREFIX) set(LIBCLANG_HEADERS_INSTALL_DESTINATION "${INTERNAL_INSTALL_PREFIX}/include") else() |