OLD | NEW |
| (Empty) |
1 # Copyright 2015 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 import datetime | |
6 import util | |
7 import os | |
8 | |
9 H_FILE_TEMPLATE = \ | |
10 """// Copyright %(year)d The Chromium Authors. All rights reserved. | |
11 // Use of this source code is governed by a BSD-style license that can be | |
12 // found in the LICENSE file. | |
13 | |
14 // NOTE: this file is generated from "%(source)s". Do not modify directly. | |
15 | |
16 #ifndef %(include_guard)s | |
17 #define %(include_guard)s | |
18 | |
19 #if defined(COMPONENT_BUILD) | |
20 | |
21 #if defined(WIN32) | |
22 | |
23 #if defined(%(impl_macro)s) | |
24 #define %(export_macro)s __declspec(dllexport) | |
25 #else | |
26 #define %(export_macro)s __declspec(dllimport) | |
27 #endif // defined(%(impl_macro)s) | |
28 | |
29 #else // defined(WIN32) | |
30 | |
31 #if defined(%(impl_macro)s) | |
32 #define %(export_macro)s __attribute__((visibility("default"))) | |
33 #else | |
34 #define %(export_macro)s | |
35 #endif // defined(%(impl_macro)s) | |
36 | |
37 #endif // defined(WIN32) | |
38 | |
39 #else // defined(COMPONENT_BUILD) | |
40 | |
41 #define %(export_macro)s | |
42 | |
43 #endif | |
44 | |
45 #endif // %(include_guard)s | |
46 """ | |
47 | |
48 def GenHFile(declaration): | |
49 subs = {} | |
50 subs['year'] = datetime.date.today().year | |
51 subs['source'] = declaration.path | |
52 subs['include_guard'] = util.PathToIncludeGuard( | |
53 declaration.export_h_include_path) | |
54 subs['export_macro'] = declaration.component_export_macro | |
55 subs['impl_macro'] = declaration.component_impl_macro | |
56 return H_FILE_TEMPLATE % subs | |
57 | |
58 def ListOutputs(declaration, destination): | |
59 dirname = os.path.join(destination, os.path.dirname(declaration.path)) | |
60 h_file_path = os.path.join(dirname, declaration.export_h_name) | |
61 return [h_file_path] | |
62 | |
63 def Gen(declaration, destination): | |
64 h_file_path = ListOutputs(declaration, destination)[0] | |
65 util.CreateDirIfNotExists(os.path.dirname(h_file_path)) | |
66 open(h_file_path, 'w').write(GenHFile(declaration)) | |
OLD | NEW |