LLVM_CLANG_C_EXTERN_C_BEGIN
-/* Windows DLL import/export. */
-#ifndef CINDEX_NO_EXPORTS
- #define CINDEX_EXPORTS
-#endif
-#ifdef _WIN32
- #ifdef CINDEX_EXPORTS
- #ifdef _CINDEX_LIB_
- #define CINDEX_LINKAGE __declspec(dllexport)
- #else
- #define CINDEX_LINKAGE __declspec(dllimport)
- #endif
+/* MSVC DLL import/export. */
+#ifdef _MSC_VER
+ #ifdef _CINDEX_LIB_
+ #define CINDEX_LINKAGE __declspec(dllexport)
+ #else
+ #define CINDEX_LINKAGE __declspec(dllimport)
#endif
-#elif defined(CINDEX_EXPORTS) && defined(__GNUC__)
- #define CINDEX_LINKAGE __attribute__((visibility("default")))
-#endif
-
-#ifndef CINDEX_LINKAGE
+#else
#define CINDEX_LINKAGE
#endif
set(LLVM_EXPORTED_SYMBOL_FILE)
endif()
-if(LLVM_ENABLE_PIC OR NOT LIBCLANG_BUILD_STATIC)
+if(LLVM_ENABLE_PIC OR WIN32)
set(ENABLE_SHARED SHARED)
endif()
-if(NOT LLVM_ENABLE_PIC OR LIBCLANG_BUILD_STATIC)
+if((NOT LLVM_ENABLE_PIC OR LIBCLANG_BUILD_STATIC) AND NOT WIN32)
set(ENABLE_STATIC STATIC)
endif()
Support
)
-if(ENABLE_STATIC)
- foreach(name libclang obj.libclang libclang_static)
- if (TARGET ${name})
- target_compile_definitions(${name} PUBLIC CINDEX_NO_EXPORTS)
- endif()
- endforeach()
-endif()
-
if(ENABLE_SHARED)
if(WIN32)
set_target_properties(libclang