Roll src/third_party/WebKit f36d5e0:68b67cd (svn 193299:193303)
[chromium-blink-merge.git] / tools / gn / example / hello_shared.h
blob7af804b3be4b08a7d2c29d41f9c59d76ddb91016
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 TOOLS_GN_EXAMPLE_HELLO_SHARED_H_
6 #define TOOLS_GN_EXAMPLE_HELLO_SHARED_H_
8 #if defined(WIN32)
10 #if defined(HELLO_SHARED_IMPLEMENTATION)
11 #define HELLO_EXPORT __declspec(dllexport)
12 #define HELLO_EXPORT_PRIVATE __declspec(dllexport)
13 #else
14 #define HELLO_EXPORT __declspec(dllimport)
15 #define HELLO_EXPORT_PRIVATE __declspec(dllimport)
16 #endif // defined(HELLO_SHARED_IMPLEMENTATION)
18 #else
20 #if defined(HELLO_SHARED_IMPLEMENTATION)
21 #define HELLO_EXPORT __attribute__((visibility("default")))
22 #define HELLO_EXPORT_PRIVATE __attribute__((visibility("default")))
23 #else
24 #define HELLO_EXPORT
25 #define HELLO_EXPORT_PRIVATE
26 #endif // defined(HELLO_SHARED_IMPLEMENTATION)
28 #endif
30 HELLO_EXPORT const char* GetSharedText();
32 #endif // TOOLS_GN_EXAMPLE_HELLO_SHARED_H_