// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CoreExport_h #define CoreExport_h #include "wtf/Compiler.h" #if defined(COMPONENT_BUILD) #if defined(WIN32) #if defined(BLINK_CORE_IMPLEMENTATION) && BLINK_CORE_IMPLEMENTATION #define CORE_EXPORT __declspec(dllexport) #else #define CORE_EXPORT __declspec(dllimport) #endif // defined(BLINK_CORE_IMPLEMENTATION) && BLINK_CORE_IMPLEMENTATION #else // defined(WIN32) #if defined(BLINK_CORE_IMPLEMENTATION) && BLINK_CORE_IMPLEMENTATION #define CORE_EXPORT __attribute__((visibility("default"))) #else #define CORE_EXPORT #endif #endif #else // defined(COMPONENT_BUILD) #define CORE_EXPORT #endif #if defined(BLINK_CORE_IMPLEMENTATION) && BLINK_CORE_IMPLEMENTATION #if COMPILER(MSVC) #define CORE_TEMPLATE_CLASS_EXPORT #define CORE_EXTERN_TEMPLATE_EXPORT CORE_EXPORT #define CORE_TEMPLATE_EXPORT CORE_EXPORT #elif COMPILER(GCC) #define CORE_TEMPLATE_CLASS_EXPORT CORE_EXPORT #define CORE_EXTERN_TEMPLATE_EXPORT CORE_EXPORT #define CORE_TEMPLATE_EXPORT #else #error Unknown compiler #endif #else // !BLINK_CORE_IMPLEMENTATION #define CORE_TEMPLATE_CLASS_EXPORT #define CORE_EXTERN_TEMPLATE_EXPORT CORE_EXPORT #define CORE_TEMPLATE_EXPORT #endif #endif // CoreExport_h