Integrate Mojo JS validation bindings with the Router
[chromium-blink-merge.git] / mojo / public / c / system / system_export.h
blobbc3b459843f1b72f4386186ad635c629c023d888
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)
9 #if defined(WIN32)
11 #if defined(MOJO_SYSTEM_IMPLEMENTATION)
12 #define MOJO_SYSTEM_EXPORT __declspec(dllexport)
13 #else
14 #define MOJO_SYSTEM_EXPORT __declspec(dllimport)
15 #endif
17 #else // !defined(WIN32)
19 #if defined(MOJO_SYSTEM_IMPLEMENTATION)
20 #define MOJO_SYSTEM_EXPORT __attribute__((visibility("default")))
21 #else
22 #define MOJO_SYSTEM_EXPORT
23 #endif
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_