1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef MOJO_PUBLIC_C_SYSTEM_SYSTEM_EXPORT_H_
6 #define MOJO_PUBLIC_C_SYSTEM_SYSTEM_EXPORT_H_
8 #if defined(COMPONENT_BUILD) && defined(MOJO_USE_SYSTEM_IMPL)
11 #if defined(MOJO_SYSTEM_IMPLEMENTATION)
12 #define MOJO_SYSTEM_EXPORT __declspec(dllexport)
14 #define MOJO_SYSTEM_EXPORT __declspec(dllimport)
17 #else // !defined(WIN32)
19 #if defined(MOJO_SYSTEM_IMPLEMENTATION)
20 #define MOJO_SYSTEM_EXPORT __attribute__((visibility("default")))
22 #define MOJO_SYSTEM_EXPORT
25 #endif // defined(WIN32)
27 #else // !defined(COMPONENT_BUILD) || !defined(MOJO_USE_SYSTEM_IMPL)
29 #define MOJO_SYSTEM_EXPORT
31 #endif // defined(COMPONENT_BUILD) && defined(MOJO_USE_SYSTEM_IMPL)
33 #endif // MOJO_PUBLIC_C_SYSTEM_SYSTEM_EXPORT_H_