6cb857fae27ca54b6e825bb6a109e39d3dbfec20
[WebKit-https.git] / Source / JavaScriptCore / JavaScriptCore.gyp / JavaScriptCore.gyp
1 #
2 # Copyright (C) 2009, 2012 Google Inc. All rights reserved.
3 #
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions are
6 # met:
7 #
8 #     * Redistributions of source code must retain the above copyright
9 # notice, this list of conditions and the following disclaimer.
10 #     * Redistributions in binary form must reproduce the above
11 # copyright notice, this list of conditions and the following disclaimer
12 # in the documentation and/or other materials provided with the
13 # distribution.
14 #     * Neither the name of Google Inc. nor the names of its
15 # contributors may be used to endorse or promote products derived from
16 # this software without specific prior written permission.
17 #
18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 #
30
31 {
32   'includes': [
33     '../../WebKit/chromium/WinPrecompile.gypi',
34     '../../WebKit/chromium/features.gypi',
35     '../JavaScriptCore.gypi',
36   ],
37   'variables': {
38     # Location of the chromium src directory.
39     'conditions': [
40       ['inside_chromium_build==0', {
41         # Webkit is being built outside of the full chromium project.
42         'chromium_src_dir': '../../WebKit/chromium',
43       },{
44         # WebKit is checked out in src/chromium/third_party/WebKit
45         'chromium_src_dir': '../../../../..',
46       }],
47     ],
48   },
49   'conditions': [
50     ['os_posix == 1 and OS != "mac" and OS != "android" and gcc_version==46', {
51       'target_defaults': {
52         # Disable warnings about c++0x compatibility, as some names (such as nullptr) conflict
53         # with upcoming c++0x types.
54         'cflags_cc': ['-Wno-c++0x-compat'],
55       },
56     }],
57   ],
58   'targets': [
59     {
60       'target_name': 'yarr',
61       'type': 'static_library',
62       'dependencies': [
63         '../../WTF/WTF.gyp/WTF.gyp:newwtf',
64       ],
65       'variables': { 'optimize': 'max' },
66       'actions': [
67         {
68           'action_name': 'retgen',
69           'inputs': [
70             '../create_regex_tables',
71           ],
72           'arguments': [
73             '--no-tables',
74           ],
75           'outputs': [
76             '<(INTERMEDIATE_DIR)/RegExpJitTables.h',
77           ],
78           'action': ['python', '<@(_inputs)', '<@(_arguments)', '<@(_outputs)'],
79         },
80       ],
81       'include_dirs': [
82         '<(INTERMEDIATE_DIR)',
83         '..',
84         '../runtime',
85       ],
86       'sources': [
87         '<@(javascriptcore_files)',
88       ],
89       'sources/': [
90         # First exclude everything ...
91         ['exclude', '../'],
92         # ... Then include what we want.
93         ['include', '../yarr/'],
94         # The Yarr JIT isn't used in WebCore.
95         ['exclude', '../yarr/YarrJIT\\.(h|cpp)$'],
96       ],
97       'export_dependent_settings': [
98         '../../WTF/WTF.gyp/WTF.gyp:newwtf',
99       ],
100     },
101   ], # targets
102 }