// Copyright 2018 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 COMPONENTS_VIZ_COMMON_VIZ_VULKAN_CONTEXT_PROVIDER_EXPORT_H_
#define COMPONENTS_VIZ_COMMON_VIZ_VULKAN_CONTEXT_PROVIDER_EXPORT_H_

#if defined(COMPONENT_BUILD)
#if defined(WIN32)

#if defined(VIZ_VULKAN_CONTEXT_PROVIDER_IMPLEMENTATION)
#define VIZ_VULKAN_CONTEXT_PROVIDER_EXPORT __declspec(dllexport)
#else
#define VIZ_VULKAN_CONTEXT_PROVIDER_EXPORT __declspec(dllimport)
#endif  // defined(VIZ_VULKAN_CONTEXT_PROVIDER_IMPLEMENTATION)

#else  // defined(WIN32)
#if defined(VIZ_VULKAN_CONTEXT_PROVIDER_IMPLEMENTATION)
#define VIZ_VULKAN_CONTEXT_PROVIDER_EXPORT \
  __attribute__((visibility("default")))
#else
#define VIZ_VULKAN_CONTEXT_PROVIDER_EXPORT
#endif
#endif

#else  // defined(COMPONENT_BUILD)
#define VIZ_VULKAN_CONTEXT_PROVIDER_EXPORT
#endif

#endif  // COMPONENTS_VIZ_COMMON_VIZ_VULKAN_CONTEXT_PROVIDER_EXPORT_H_
