1 // Copyright 2016 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. 4 5 #ifndef MOJO_PUBLIC_CPP_BINDINGS_BINDINGS_EXPORT_H_ 6 #define MOJO_PUBLIC_CPP_BINDINGS_BINDINGS_EXPORT_H_ 7 8 #if defined(COMPONENT_BUILD) 9 10 #if defined(WIN32) 11 12 #if defined(MOJO_CPP_BINDINGS_IMPLEMENTATION) 13 #define MOJO_CPP_BINDINGS_EXPORT __declspec(dllexport) 14 #else 15 #define MOJO_CPP_BINDINGS_EXPORT __declspec(dllimport) 16 #endif 17 18 #else // !defined(WIN32) 19 20 #if defined(MOJO_CPP_BINDINGS_IMPLEMENTATION) 21 #define MOJO_CPP_BINDINGS_EXPORT __attribute((visibility("default"))) 22 #else 23 #define MOJO_CPP_BINDINGS_EXPORT 24 #endif 25 26 #endif // defined(WIN32) 27 28 #else // !defined(COMPONENT_BUILD) 29 30 #define MOJO_CPP_BINDINGS_EXPORT 31 32 #endif // defined(COMPONENT_BUILD) 33 34 #endif // MOJO_PUBLIC_CPP_BINDINGS_BINDINGS_EXPORT_H_ 35