17ab2548759e41803a43ab455f95fbc8ffe23eb2
[WebKit.git] / WebKit / chromium / WebKit.gyp
1 #
2 # Copyright (C) 2010 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         '../../WebCore/WebCore.gypi',
34         '../../Tools/DumpRenderTree/DumpRenderTree.gypi',
35         'WebKit.gypi',
36         'features.gypi',
37     ],
38     'variables': {
39         'conditions': [
40             # Location of the chromium src directory and target type is different
41             # if webkit is built inside chromium or as standalone project.
42             ['inside_chromium_build==0', {
43                 # Webkit is being built outside of the full chromium project.
44                 # e.g. via build-webkit --chromium
45                 'chromium_src_dir': '../../WebKit/chromium',
46                 'webkit_target_type': 'static_library',
47
48                 # List of DevTools source files, ordered by dependencies. It is used both
49                 # for copying them to resource dir, and for generating 'devtools.html' file.
50                 'devtools_files': [
51                     '<@(devtools_css_files)',
52                     '<@(devtools_js_files)',
53                 ],
54             },{
55                 # WebKit is checked out in src/chromium/third_party/WebKit
56                 'chromium_src_dir': '../../../..',
57                 'webkit_target_type': '<(library)',
58
59                 'devtools_files': [
60                     '<@(devtools_css_files)',
61                     '<@(devtools_js_files)',
62                 ],
63             }],
64         ],
65         'ahem_path': '../../Tools/DumpRenderTree/qt/fonts/AHEM____.TTF',
66
67         # If debug_devtools is set to 1, JavaScript files for DevTools are
68         # stored as is. Otherwise, a concatenated file is stored.
69         'debug_devtools%': 0,
70     },
71     'targets': [
72         {
73             'target_name': 'webkit',
74             'msvs_guid': '5ECEC9E5-8F23-47B6-93E0-C3B328B3BE65',
75             'dependencies': [
76                 '../../WebCore/WebCore.gyp/WebCore.gyp:webcore',
77                 '<(chromium_src_dir)/app/app.gyp:app_base', # For GLContext
78                 '<(chromium_src_dir)/skia/skia.gyp:skia',
79                 '<(chromium_src_dir)/third_party/npapi/npapi.gyp:npapi',
80                 '<(chromium_src_dir)/third_party/angle/src/build_angle.gyp:translator_glsl',
81             ],
82             'export_dependent_settings': [
83                 '<(chromium_src_dir)/skia/skia.gyp:skia',
84                 '<(chromium_src_dir)/third_party/npapi/npapi.gyp:npapi',
85             ],
86             'include_dirs': [
87                 'public',
88                 'src',
89                 '<(chromium_src_dir)/third_party/angle/include',
90             ],
91             'defines': [
92                 'WEBKIT_IMPLEMENTATION=1',
93             ],
94             'sources': [
95                 'public/gtk/WebInputEventFactory.h',
96                 'public/linux/WebFontRendering.h',
97                 'public/linux/WebFontRenderStyle.h',
98                 'public/linux/WebRenderTheme.h',
99                 'public/linux/WebThemeEngine.h',
100                 'public/x11/WebScreenInfoFactory.h',
101                 'public/mac/WebInputEventFactory.h',
102                 'public/mac/WebSandboxSupport.h',
103                 'public/mac/WebScreenInfoFactory.h',
104                 'public/mac/WebThemeEngine.h',
105                 'public/WebAccessibilityCache.h',
106                 'public/WebAccessibilityNotification.h',
107                 'public/WebAccessibilityObject.h',
108                 'public/WebAccessibilityRole.h',
109                 'public/WebAnimationController.h',
110                 'public/WebApplicationCacheHost.h',
111                 'public/WebApplicationCacheHostClient.h',
112                 'public/WebAttribute.h',
113                 'public/WebAudioBus.h',
114                 'public/WebAudioDevice.h',
115                 'public/WebBindings.h',
116                 'public/WebBlobData.h',
117                 'public/WebBlobRegistry.h',
118                 'public/WebCache.h',
119                 'public/WebCanvas.h',
120                 'public/WebClipboard.h',
121                 'public/WebColor.h',
122                 'public/WebColorName.h',
123                 'public/WebCommon.h',
124                 'public/WebCommonWorkerClient.h',
125                 'public/WebCompositionUnderline.h',
126                 'public/WebConsoleMessage.h',
127                 'public/WebContextMenuData.h',
128                 'public/WebCookie.h',
129                 'public/WebCookieJar.h',
130                 'public/WebCrossOriginPreflightResultCache.h',
131                 'public/WebCString.h',
132                 'public/WebCursorInfo.h',
133                 'public/WebDOMEvent.h',
134                 'public/WebDOMEventListener.h',
135                 'public/WebDOMMouseEvent.h',
136                 'public/WebDOMMutationEvent.h',
137                 'public/WebDOMStringList.h',
138                 'public/WebData.h',
139                 'public/WebDatabase.h',
140                 'public/WebDatabaseObserver.h',
141                 'public/WebDataSource.h',
142                 'public/WebDevToolsAgent.h',
143                 'public/WebDevToolsAgentClient.h',
144                 'public/WebDevToolsFrontend.h',
145                 'public/WebDevToolsFrontendClient.h',
146                 'public/WebDeviceOrientation.h',
147                 'public/WebDeviceOrientationClient.h',
148                 'public/WebDeviceOrientationClientMock.h',
149                 'public/WebDeviceOrientationController.h',
150                 'public/WebDocument.h',
151                 'public/WebDocumentType.h',
152                 'public/WebDragData.h',
153                 'public/WebEditingAction.h',
154                 'public/WebElement.h',
155                 'public/WebExceptionCode.h',
156                 'public/WebExternalPopupMenu.h',
157                 'public/WebExternalPopupMenuClient.h',
158                 'public/WebFileChooserCompletion.h',
159                 'public/WebFileChooserParams.h',
160                 'public/WebFileError.h',
161                 'public/WebFileInfo.h',
162                 'public/WebFileSystem.h',
163                 'public/WebFileSystemCallbacks.h',
164                 'public/WebFileSystemEntry.h',
165                 'public/WebFileUtilities.h',
166                 'public/WebFileWriter.h',
167                 'public/WebFileWriterClient.h',
168                 'public/WebFindOptions.h',
169                 'public/WebFloatPoint.h',
170                 'public/WebFloatRect.h',
171                 'public/WebFont.h',
172                 'public/WebFontDescription.h',
173                 'public/WebFrame.h',
174                 'public/WebFrameClient.h',
175                 'public/WebFontCache.h',
176                 'public/WebFormControlElement.h',
177                 'public/WebFormElement.h',
178                 'public/WebGeolocationClient.h',
179                 'public/WebGeolocationClientMock.h',
180                 'public/WebGeolocationController.h',
181                 'public/WebGeolocationError.h',
182                 'public/WebGeolocationPermissionRequest.h',
183                 'public/WebGeolocationPermissionRequestManager.h',
184                 'public/WebGeolocationPosition.h',
185                 'public/WebGeolocationService.h',
186                 'public/WebGeolocationServiceBridge.h',
187                 'public/WebGeolocationServiceMock.h',
188                 'public/WebGlyphCache.h',
189                 'public/WebGraphicsContext3D.h',
190                 'public/WebHistoryItem.h',
191                 'public/WebHTTPBody.h',
192                 'public/WebHTTPLoadInfo.h',
193                 'public/WebImage.h',
194                 'public/WebImageDecoder.h',
195                 'public/WebIDBCallbacks.h',
196                 'public/WebIDBCursor.h',
197                 'public/WebIDBDatabase.h',
198                 'public/WebIDBDatabaseError.h',
199                 'public/WebIDBFactory.h',
200                 'public/WebIDBKeyRange.h',
201                 'public/WebIDBIndex.h',
202                 'public/WebIDBKey.h',
203                 'public/WebIDBKeyPath.h',
204                 'public/WebIDBObjectStore.h',
205                 'public/WebIDBTransaction.h',
206                 'public/WebIDBTransactionCallbacks.h',
207                 'public/WebInputElement.h',
208                 'public/WebInputEvent.h',
209                 'public/WebKit.h',
210                 'public/WebKitClient.h',
211                 'public/WebLabelElement.h',
212                 'public/WebLocalizedString.h',
213                 'public/WebMediaElement.h',
214                 'public/WebMediaPlayer.h',
215                 'public/WebMediaPlayerAction.h',
216                 'public/WebMediaPlayerClient.h',
217                 'public/WebMenuItemInfo.h',
218                 'public/WebMessagePortChannel.h',
219                 'public/WebMessagePortChannelClient.h',
220                 'public/WebMimeRegistry.h',
221                 'public/WebNamedNodeMap.h',
222                 'public/WebNavigationType.h',
223                 'public/WebNode.h',
224                 'public/WebNodeCollection.h',
225                 'public/WebNodeList.h',
226                 'public/WebNonCopyable.h',
227                 'public/WebNotification.h',
228                 'public/WebNotificationPresenter.h',
229                 'public/WebNotificationPermissionCallback.h',
230                 'public/WebOptionElement.h',
231                 'public/WebPageSerializer.h',
232                 'public/WebPageSerializerClient.h',
233                 'public/WebPasswordAutocompleteListener.h',
234                 'public/WebPasswordFormData.h',
235                 'public/WebPerformance.h',
236                 'public/WebPlugin.h',
237                 'public/WebPluginContainer.h',
238                 'public/WebPluginDocument.h',
239                 'public/WebPluginListBuilder.h',
240                 'public/WebPoint.h',
241                 'public/WebPopupMenu.h',
242                 'public/WebPopupMenuInfo.h',
243                 'public/WebPopupType.h',
244                 'public/WebPrivatePtr.h',
245                 'public/WebPrivateOwnPtr.h',
246                 'public/WebRange.h',
247                 'public/WebRect.h',
248                 'public/WebRegularExpression.h',
249                 'public/WebRuntimeFeatures.h',
250                 'public/WebScrollbar.h',
251                 'public/WebScrollbarClient.h',
252                 'public/WebScreenInfo.h',
253                 'public/WebScriptController.h',
254                 'public/WebScriptSource.h',
255                 'public/WebSearchableFormData.h',
256                 'public/WebSecurityOrigin.h',
257                 'public/WebSecurityPolicy.h',
258                 'public/WebSelectElement.h',
259                 'public/WebSerializedScriptValue.h',
260                 'public/WebSettings.h',
261                 'public/WebSharedWorker.h',
262                 'public/WebSharedWorkerRepository.h',
263                 'public/WebSize.h',
264                 'public/WebSocketStreamError.h',
265                 'public/WebSocketStreamHandle.h',
266                 'public/WebSocketStreamHandleClient.h',
267                 'public/WebSpeechInputController.h',
268                 'public/WebSpeechInputControllerMock.h',
269                 'public/WebSpeechInputListener.h',
270                 'public/WebSpeechInputResult.h',
271                 'public/WebStorageArea.h',
272                 'public/WebStorageEventDispatcher.h',
273                 'public/WebStorageNamespace.h',
274                 'public/WebString.h',
275                 'public/WebTextAffinity.h',
276                 'public/WebTextCaseSensitivity.h',
277                 'public/WebTextDirection.h',
278                 'public/WebTextInputType.h',
279                 'public/WebTextRun.h',
280                 'public/WebThreadSafeData.h',
281                 'public/WebURL.h',
282                 'public/WebURLError.h',
283                 'public/WebURLLoader.h',
284                 'public/WebURLLoadTiming.h',
285                 'public/WebURLLoaderClient.h',
286                 'public/WebURLRequest.h',
287                 'public/WebURLResponse.h',
288                 'public/WebVector.h',
289                 'public/WebView.h',
290                 'public/WebViewClient.h',
291                 'public/WebWidget.h',
292                 'public/WebWidgetClient.h',
293                 'public/WebWorker.h',
294                 'public/WebWorkerClient.h',
295                 'public/win/WebInputEventFactory.h',
296                 'public/win/WebSandboxSupport.h',
297                 'public/win/WebScreenInfoFactory.h',
298                 'public/win/WebThemeEngine.h',
299                 'src/ApplicationCacheHost.cpp',
300                 'src/ApplicationCacheHostInternal.h',
301                 'src/AssertMatchingEnums.cpp',
302                 'src/AssociatedURLLoader.cpp',
303                 'src/AssociatedURLLoader.h',
304                 'src/AsyncFileSystemChromium.cpp',
305                 'src/AsyncFileSystemChromium.h',
306                 'src/AsyncFileWriterChromium.cpp',
307                 'src/AsyncFileWriterChromium.h',
308                 'src/AudioDestinationChromium.cpp',
309                 'src/AudioDestinationChromium.h',
310                 'src/AutoFillPopupMenuClient.cpp',
311                 'src/AutoFillPopupMenuClient.h',
312                 'src/BackForwardListClientImpl.cpp',
313                 'src/BackForwardListClientImpl.h',
314                 'src/BlobRegistryProxy.cpp',
315                 'src/BlobRegistryProxy.h',
316                 'src/BoundObject.cpp',
317                 'src/BoundObject.h',
318                 'src/ChromeClientImpl.cpp',
319                 'src/ChromeClientImpl.h',
320                 'src/ChromiumBridge.cpp',
321                 'src/ChromiumCurrentTime.cpp',
322                 'src/ChromiumThreading.cpp',
323                 'src/CompositionUnderlineBuilder.h',
324                 'src/CompositionUnderlineVectorBuilder.cpp',
325                 'src/CompositionUnderlineVectorBuilder.h',
326                 'src/ContextMenuClientImpl.cpp',
327                 'src/ContextMenuClientImpl.h',
328                 'src/DatabaseObserver.cpp',
329                 'src/DebuggerAgentImpl.cpp',
330                 'src/DebuggerAgentImpl.h',
331                 'src/DebuggerAgentManager.cpp',
332                 'src/DebuggerAgentManager.h',
333                 'src/DeviceOrientationClientProxy.cpp',
334                 'src/DeviceOrientationClientProxy.h',
335                 'src/DOMUtilitiesPrivate.cpp',
336                 'src/DOMUtilitiesPrivate.h',
337                 'src/DragClientImpl.cpp',
338                 'src/DragClientImpl.h',
339                 'src/DragScrollTimer.cpp',
340                 'src/DragScrollTimer.h',
341                 'src/EditorClientImpl.cpp',
342                 'src/EditorClientImpl.h',
343                 'src/EventListenerWrapper.cpp',
344                 'src/EventListenerWrapper.h',
345                 'src/Extensions3DChromium.cpp',
346                 'src/ExternalPopupMenu.cpp',
347                 'src/ExternalPopupMenu.h',
348                 'src/FrameLoaderClientImpl.cpp',
349                 'src/FrameLoaderClientImpl.h',
350                 'src/FrameNetworkingContextImpl.h',
351                 'src/GeolocationClientProxy.cpp',
352                 'src/GeolocationClientProxy.h',
353                 'src/GraphicsContext3DChromium.cpp',
354                 'src/GraphicsContext3DInternal.h',
355                 'src/gtk/WebFontInfo.cpp',
356                 'src/gtk/WebFontInfo.h',
357                 'src/gtk/WebInputEventFactory.cpp',
358                 'src/IDBCallbacksProxy.cpp',
359                 'src/IDBCallbacksProxy.h',
360                 'src/IDBCursorBackendProxy.cpp',
361                 'src/IDBCursorBackendProxy.h',
362                 'src/IDBDatabaseProxy.cpp',
363                 'src/IDBDatabaseProxy.h',
364                 'src/IDBFactoryBackendProxy.cpp',
365                 'src/IDBFactoryBackendProxy.h',
366                 'src/IDBIndexBackendProxy.cpp',
367                 'src/IDBIndexBackendProxy.h',
368                 'src/IDBObjectStoreProxy.cpp',
369                 'src/IDBObjectStoreProxy.h',
370                 'src/IDBTransactionBackendProxy.cpp',
371                 'src/IDBTransactionBackendProxy.h',
372                 'src/IDBTransactionCallbacksProxy.cpp',
373                 'src/IDBTransactionCallbacksProxy.h',
374                 'src/InspectorClientImpl.cpp',
375                 'src/InspectorClientImpl.h',
376                 'src/InspectorFrontendClientImpl.cpp',
377                 'src/InspectorFrontendClientImpl.h',
378                 'src/linux/WebFontRendering.cpp',
379                 'src/linux/WebFontRenderStyle.cpp',
380                 'src/linux/WebRenderTheme.cpp',
381                 'src/x11/WebScreenInfoFactory.cpp',
382                 'src/mac/WebInputEventFactory.mm',
383                 'src/mac/WebScreenInfoFactory.mm',
384                 'src/LocalFileSystemChromium.cpp',
385                 'src/LocalizedStrings.cpp',
386                 'src/MediaPlayerPrivateChromium.cpp',
387                 'src/NotificationPresenterImpl.h',
388                 'src/NotificationPresenterImpl.cpp',
389                 'src/PlatformMessagePortChannel.cpp',
390                 'src/PlatformMessagePortChannel.h',
391                 'src/ResourceHandle.cpp',
392                 'src/SharedWorkerRepository.cpp',
393                 'src/SocketStreamHandle.cpp',
394                 'src/SpeechInputClientImpl.cpp',
395                 'src/SpeechInputClientImpl.h',
396                 'src/StorageAreaProxy.cpp',
397                 'src/StorageAreaProxy.h',
398                 'src/StorageEventDispatcherChromium.cpp',
399                 'src/StorageEventDispatcherImpl.cpp',
400                 'src/StorageEventDispatcherImpl.h',
401                 'src/StorageNamespaceProxy.cpp',
402                 'src/StorageNamespaceProxy.h',
403                 'src/TemporaryGlue.h',
404                 'src/VideoFrameChromiumImpl.cpp',
405                 'src/VideoFrameChromiumImpl.h',
406                 'src/WebAccessibilityCache.cpp',
407                 'src/WebAccessibilityCacheImpl.cpp',
408                 'src/WebAccessibilityCacheImpl.h',
409                 'src/WebAccessibilityObject.cpp',
410                 'src/WebAnimationControllerImpl.cpp',
411                 'src/WebAnimationControllerImpl.h',
412                 'src/WebAttribute.cpp',
413                 'src/WebAudioBus.cpp',
414                 'src/WebBindings.cpp',
415                 'src/WebBlobData.cpp',
416                 'src/WebCache.cpp',
417                 'src/WebColor.cpp',
418                 'src/WebCommon.cpp',
419                 'src/WebCrossOriginPreflightResultCache.cpp',
420                 'src/WebCString.cpp',
421                 'src/WebCursorInfo.cpp',
422                 'src/WebDOMEvent.cpp',
423                 'src/WebDOMEventListener.cpp',
424                 'src/WebDOMEventListenerPrivate.cpp',
425                 'src/WebDOMEventListenerPrivate.h',
426                 'src/WebDOMMouseEvent.cpp',
427                 'src/WebDOMMutationEvent.cpp',
428                 'src/WebDOMStringList.cpp',
429                 'src/WebData.cpp',
430                 'src/WebDatabase.cpp',
431                 'src/WebDataSourceImpl.cpp',
432                 'src/WebDataSourceImpl.h',
433                 'src/WebDevToolsAgentImpl.cpp',
434                 'src/WebDevToolsAgentImpl.h',
435                 'src/WebDevToolsFrontendImpl.cpp',
436                 'src/WebDevToolsFrontendImpl.h',
437                 'src/WebDeviceOrientation.cpp',
438                 'src/WebDeviceOrientationClientMock.cpp',
439                 'src/WebDeviceOrientationController.cpp',
440                 'src/WebDocument.cpp',
441                 'src/WebDocumentType.cpp',
442                 'src/WebDragData.cpp',
443                 'src/WebElement.cpp',
444                 'src/WebEntities.cpp',
445                 'src/WebEntities.h',
446                 'src/WebFileChooserCompletionImpl.cpp',
447                 'src/WebFileChooserCompletionImpl.h',
448                 'src/WebFileSystemCallbacksImpl.cpp',
449                 'src/WebFileSystemCallbacksImpl.h',
450                 'src/WebFontCache.cpp',
451                 'src/WebFontDescription.cpp',
452                 'src/WebFontImpl.cpp',
453                 'src/WebFontImpl.h',
454                 'src/WebFormControlElement.cpp',
455                 'src/WebFormElement.cpp',
456                 'src/WebFrameImpl.cpp',
457                 'src/WebFrameImpl.h',
458                 'src/WebGeolocationController.cpp',
459                 'src/WebGeolocationClientMock.cpp',
460                 'src/WebGeolocationError.cpp',
461                 'src/WebGeolocationPermissionRequest.cpp',
462                 'src/WebGeolocationPermissionRequestManager.cpp',
463                 'src/WebGeolocationPosition.cpp',
464                 'src/WebGeolocationServiceBridgeImpl.cpp',
465                 'src/WebGeolocationServiceBridgeImpl.h',
466                 'src/WebGeolocationServiceMock.cpp',
467                 'src/WebGlyphCache.cpp',
468                 'src/WebGraphicsContext3D.cpp',
469                 'src/WebGraphicsContext3DDefaultImpl.cpp',
470                 'src/WebGraphicsContext3DDefaultImpl.h',
471                 'src/WebHistoryItem.cpp',
472                 'src/WebHTTPBody.cpp',
473                 'src/WebHTTPLoadInfo.cpp',
474                 'src/WebIDBCallbacksImpl.cpp',
475                 'src/WebIDBCallbacksImpl.h',
476                 'src/WebIDBCursorImpl.cpp',
477                 'src/WebIDBCursorImpl.h',
478                 'src/WebIDBDatabaseError.cpp',
479                 'src/WebIDBDatabaseImpl.cpp',
480                 'src/WebIDBDatabaseImpl.h',
481                 'src/WebIDBFactoryImpl.cpp',
482                 'src/WebIDBFactoryImpl.h',
483                 'src/WebIDBIndexImpl.cpp',
484                 'src/WebIDBIndexImpl.h',
485                 'src/WebIDBKey.cpp',
486                 'src/WebIDBKeyPath.cpp',
487                 'src/WebIDBKeyRange.cpp',
488                 'src/WebIDBObjectStoreImpl.cpp',
489                 'src/WebIDBObjectStoreImpl.h',
490                 'src/WebIDBTransactionImpl.cpp',
491                 'src/WebIDBTransactionImpl.h',
492                 'src/WebIDBTransactionCallbacksImpl.cpp',
493                 'src/WebIDBTransactionCallbacksImpl.h',
494                 'src/WebImageCG.cpp',
495                 'src/WebImageDecoder.cpp',
496                 'src/WebImageSkia.cpp',
497                 'src/WebInputElement.cpp',
498                 'src/WebInputEvent.cpp',
499                 'src/WebInputEventConversion.cpp',
500                 'src/WebInputEventConversion.h',
501                 'src/WebKit.cpp',
502                 'src/WebLabelElement.cpp',
503                 'src/WebMediaElement.cpp',
504                 'src/WebMediaPlayerClientImpl.cpp',
505                 'src/WebMediaPlayerClientImpl.h',
506                 'src/WebNamedNodeMap.cpp',
507                 'src/WebNode.cpp',
508                 'src/WebNodeCollection.cpp',
509                 'src/WebNodeList.cpp',
510                 'src/WebNotification.cpp',
511                 'src/WebOptionElement.cpp',
512                 'src/WebPageSerializer.cpp',
513                 'src/WebPageSerializerImpl.cpp',
514                 'src/WebPageSerializerImpl.h',
515                 'src/WebPasswordFormData.cpp',
516                 'src/WebPasswordFormUtils.cpp',
517                 'src/WebPasswordFormUtils.h',
518                 'src/WebPerformance.cpp',
519                 'src/WebPluginContainerImpl.h',
520                 'src/WebPluginContainerImpl.cpp',
521                 'src/WebPluginDocument.cpp',
522                 'src/WebPluginListBuilderImpl.cpp',
523                 'src/WebPluginListBuilderImpl.h',
524                 'src/WebPluginLoadObserver.cpp',
525                 'src/WebPluginLoadObserver.h',
526                 'src/WebPopupMenuImpl.cpp',
527                 'src/WebPopupMenuImpl.h',
528                 'src/WebRange.cpp',
529                 'src/WebRegularExpression.cpp',
530                 'src/WebRuntimeFeatures.cpp',
531                 'src/WebScriptController.cpp',
532                 'src/WebScrollbarImpl.cpp',
533                 'src/WebScrollbarImpl.h',
534                 'src/WebSearchableFormData.cpp',
535                 'src/WebSecurityOrigin.cpp',
536                 'src/WebSecurityPolicy.cpp',
537                 'src/WebSelectElement.cpp',
538                 'src/WebSerializedScriptValue.cpp',
539                 'src/WebSettingsImpl.cpp',
540                 'src/WebSettingsImpl.h',
541                 'src/WebSharedWorkerImpl.cpp',
542                 'src/WebSharedWorkerImpl.h',
543                 'src/WebSpeechInputControllerMockImpl.cpp',
544                 'src/WebSpeechInputControllerMockImpl.h',
545                 'src/WebSpeechInputResult.cpp',
546                 'src/WebStorageAreaImpl.cpp',
547                 'src/WebStorageAreaImpl.h',
548                 'src/WebStorageEventDispatcherImpl.cpp',
549                 'src/WebStorageEventDispatcherImpl.h',
550                 'src/WebStorageNamespaceImpl.cpp',
551                 'src/WebStorageNamespaceImpl.h',
552                 'src/WebString.cpp',
553                 'src/WebTextRun.cpp',
554                 'src/WebThreadSafeData.cpp',
555                 'src/WebURL.cpp',
556                 'src/WebURLLoadTiming.cpp',
557                 'src/WebURLRequest.cpp',
558                 'src/WebURLRequestPrivate.h',
559                 'src/WebURLResponse.cpp',
560                 'src/WebURLResponsePrivate.h',
561                 'src/WebURLError.cpp',
562                 'src/WebViewImpl.cpp',
563                 'src/WebViewImpl.h',
564                 'src/WebWorkerBase.cpp',
565                 'src/WebWorkerBase.h',
566                 'src/WebWorkerClientImpl.cpp',
567                 'src/WebWorkerClientImpl.h',
568                 'src/WebWorkerImpl.cpp',
569                 'src/WebWorkerImpl.h',
570                 'src/WorkerAsyncFileSystemChromium.cpp',
571                 'src/WorkerAsyncFileSystemChromium.h',
572                 'src/WorkerAsyncFileWriterChromium.cpp',
573                 'src/WorkerAsyncFileWriterChromium.h',
574                 'src/WorkerFileSystemCallbacksBridge.cpp',
575                 'src/WorkerFileSystemCallbacksBridge.h',
576                 'src/WorkerFileWriterCallbacksBridge.cpp',
577                 'src/WorkerFileWriterCallbacksBridge.h',
578                 'src/WrappedResourceRequest.h',
579                 'src/WrappedResourceResponse.h',
580                 'src/win/WebInputEventFactory.cpp',
581                 'src/win/WebScreenInfoFactory.cpp',
582             ],
583             'conditions': [
584                 ['inside_chromium_build==1 and OS=="win"', {
585                     'type': '<(component)',
586
587                     'conditions': [
588                         ['component=="shared_library"', {
589                             'defines': [
590                                 'WEBKIT_DLL',
591                             ],
592                             'dependencies': [
593                                 '../../WebCore/WebCore.gyp/WebCore.gyp:webcore_bindings',
594                                 '<(chromium_src_dir)/base/base.gyp:test_support_base',
595                                 '<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
596                                 '<(chromium_src_dir)/testing/gtest.gyp:gtest',
597                                 '<(chromium_src_dir)/third_party/icu/icu.gyp:*',
598                                 '<(chromium_src_dir)/third_party/libjpeg/libjpeg.gyp:libjpeg',
599                                 '<(chromium_src_dir)/third_party/libpng/libpng.gyp:libpng',
600                                 '<(chromium_src_dir)/third_party/libxml/libxml.gyp:libxml',
601                                 '<(chromium_src_dir)/third_party/libxslt/libxslt.gyp:libxslt',
602                                 '<(chromium_src_dir)/third_party/modp_b64/modp_b64.gyp:modp_b64',
603                                 '<(chromium_src_dir)/third_party/nss/nss.gyp:*',
604                                 '<(chromium_src_dir)/third_party/ots/ots.gyp:ots',
605                                 '<(chromium_src_dir)/third_party/zlib/zlib.gyp:zlib',
606                                 '<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
607                             ],
608                             'direct_dependent_settings': {
609                                 'defines': [
610                                     'WEBKIT_DLL',
611                                 ],
612                             },
613                             'export_dependent_settings': [
614                                 '<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
615                                 '<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
616                             ],
617                             'sources': [
618                                 '<@(webkit_unittest_files)',
619                                 'tests/PopupMenuTest.cpp',
620                                 'tests/TransparencyWinTest.cpp',
621                                 'tests/UniscribeHelperTest.cpp',
622                                 'tests/WebUnitTests.cpp'
623                             ]
624                         }],
625                     ],
626                 }, {
627                     'type': '<(webkit_target_type)'
628                 }],
629                 ['OS=="linux" or OS=="freebsd"', {
630                     'dependencies': [
631                         '<(chromium_src_dir)/build/linux/system.gyp:fontconfig',
632                         '<(chromium_src_dir)/build/linux/system.gyp:gtk',
633                         '<(chromium_src_dir)/build/linux/system.gyp:x11',
634                     ],
635                     'include_dirs': [
636                         'public/x11',
637                         'public/gtk',
638                         'public/linux',
639                     ],
640                 }, { # else: OS!="linux" and OS!="freebsd"
641                     'sources/': [
642                         ['exclude', '/gtk/'],
643                         ['exclude', '/x11/'],
644                         ['exclude', '/linux/'],
645                     ],
646                 }],
647                 ['OS=="mac"', {
648                     'include_dirs': [
649                         'public/mac',
650                     ],
651                     'sources/': [
652                         ['exclude', 'Skia\\.cpp$'],
653                     ],
654                 }, { # else: OS!="mac"
655                     'sources/': [
656                         ['exclude', '/mac/'],
657                         ['exclude', 'CG\\.cpp$'],
658                     ],
659                 }],
660                 ['OS=="win"', {
661                     'include_dirs': [
662                         'public/win',
663                     ],
664                 }, { # else: OS!="win"
665                     'sources/': [['exclude', '/win/']],
666                     'variables': {
667                         # FIXME: Turn on warnings on Windows.
668                         'chromium_code': 1,
669                     }
670                 }],
671                 ['"ENABLE_3D_CANVAS=1" in feature_defines', {
672                     'conditions': [
673                         ['OS=="mac"', {
674                             'link_settings': {
675                                 'libraries': [
676                                     '$(SDKROOT)/System/Library/Frameworks/OpenGL.framework',
677                                 ],
678                             },
679                         }],
680                     ],
681                 }],
682                 ['"ENABLE_CLIENT_BASED_GEOLOCATION=1" in feature_defines', {
683                     'sources/': [
684                         ['exclude', 'WebGeolocationService.*$'],
685                     ],
686                 }, {
687                    'sources/': [
688                         ['exclude', 'GeolocationClientProxy.*'],
689                         ['exclude', 'WebGeolocationClient.*'],
690                         ['exclude', 'WebGeolocationController.*'],
691                         ['exclude', 'WebGeolocationError.*'],
692                         ['exclude', 'WebGeolocationPermissionRequest.*'],
693                         ['exclude', 'WebGeolocationPosition.*'],
694                    ],
695                 }]
696             ],
697         },
698
699         {
700             'target_name': 'inspector_resources',
701             'type': 'none',
702             'dependencies': [
703                 'devtools_html',
704                 '../../WebCore/WebCore.gyp/WebCore.gyp:inspector_protocol_sources',
705             ],
706             'conditions': [
707                 ['debug_devtools==0', {
708                     'dependencies': ['concatenated_devtools_js',
709                                      'concatenated_devtools_css'],
710                 }],
711             ],
712             'copies': [
713                 {
714                     'destination': '<(PRODUCT_DIR)/resources/inspector',
715                     'files': [
716                         '<@(devtools_files)',
717                         '<@(webinspector_files)',
718                         '<(SHARED_INTERMEDIATE_DIR)/webcore/InspectorBackendStub.js',
719                     ],
720                     'conditions': [
721                         ['debug_devtools==0', {
722                             'files/': [['exclude', '\\.(js|css|html)$']],
723                         }],
724                     ],
725                 },
726                 {
727                     'destination': '<(PRODUCT_DIR)/resources/inspector/Images',
728                     'files': [
729                         '<@(webinspector_image_files)',
730                         '<@(devtools_image_files)',
731                     ],
732                },
733             ],
734         },
735         {
736             'target_name': 'devtools_html',
737             'type': 'none',
738             'sources': ['<(PRODUCT_DIR)/resources/inspector/devtools.html'],
739             'actions': [{
740                 'action_name': 'devtools_html',
741                 'inputs': [
742                     'scripts/generate_devtools_html.py',
743                     # See issue 29695: WebKit.gypi is a source file for devtools.html.
744                     'WebKit.gypi',
745                     '../../WebCore/inspector/front-end/inspector.html',
746                 ],
747                 'outputs': ['<(PRODUCT_DIR)/resources/inspector/devtools.html'],
748                 'action': ['python', '<@(_inputs)', '<@(_outputs)', '<@(debug_devtools)', '<@(devtools_files)'],
749             }],
750         },
751         {
752             'target_name': 'concatenated_devtools_js',
753             'type': 'none',
754             'dependencies': [
755                 'devtools_html',
756                 '../../WebCore/WebCore.gyp/WebCore.gyp:inspector_protocol_sources'
757             ],
758             'sources': ['<(PRODUCT_DIR)/resources/inspector/DevTools.js'],
759             'actions': [{
760                 'action_name': 'concatenate_devtools_js',
761                 'script_name': 'scripts/concatenate_js_files.py',
762                 'input_page': '../../WebCore/inspector/front-end/inspector.html',
763                 'inputs': [
764                     '<@(_script_name)',
765                     '<@(_input_page)',
766                     '<@(webinspector_files)',
767                     '<@(devtools_files)',
768                     '<(SHARED_INTERMEDIATE_DIR)/webcore/InspectorBackendStub.js'
769                 ],
770                 'search_path': [
771                     '../../WebCore/inspector/front-end',
772                     'src/js',
773                     '<(SHARED_INTERMEDIATE_DIR)/webcore',
774                 ],
775                 'outputs': ['<(PRODUCT_DIR)/resources/inspector/DevTools.js'],
776                 'action': ['python', '<@(_script_name)', '<@(_input_page)', '<@(_search_path)', '<@(_outputs)'],
777             }],
778         },
779         {
780             'target_name': 'concatenated_devtools_css',
781             'type': 'none',
782             'dependencies': [
783                 'devtools_html'
784             ],
785             'sources': ['<(PRODUCT_DIR)/resources/inspector/devTools.css'],
786             'actions': [{
787                 'action_name': 'concatenate_devtools_css',
788                 'script_name': 'scripts/concatenate_css_files.py',
789                 'input_page': '../../WebCore/inspector/front-end/inspector.html',
790                 'inputs': [
791                     '<@(_script_name)',
792                     '<@(_input_page)',
793                     '<@(webinspector_files)',
794                     '<@(devtools_files)'
795                 ],
796                 'search_path': [
797                     '../../WebCore/inspector/front-end',
798                     'src/js',
799                 ],
800                 'outputs': ['<(PRODUCT_DIR)/resources/inspector/devTools.css'],
801                 'action': ['python', '<@(_script_name)', '<@(_input_page)', '<@(_search_path)', '<@(_outputs)'],
802             }],
803         },
804         {
805             'target_name': 'webkit_unit_tests',
806             'type': 'executable',
807             'msvs_guid': '7CEFE800-8403-418A-AD6A-2D52C6FC3EAD',
808             'dependencies': [
809                 'webkit',
810                 '../../WebCore/WebCore.gyp/WebCore.gyp:webcore',
811                 '<(chromium_src_dir)/testing/gtest.gyp:gtest',
812                 '<(chromium_src_dir)/base/base.gyp:base',
813                 '<(chromium_src_dir)/base/base.gyp:base_i18n',
814                 '<(chromium_src_dir)/base/base.gyp:test_support_base',
815                 '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support',
816             ],
817             'sources': [
818                 'tests/RunAllTests.cpp',
819             ],
820             'include_dirs': [
821                 'public',
822                 'src',
823             ],
824             'conditions': [
825                 ['inside_chromium_build==1 and OS=="win" and component=="shared_library"', {
826                     'defines': [
827                         'WEBKIT_DLL_UNITTEST',
828                     ],
829                 }, {
830                     'sources': [
831                         '<@(webkit_unittest_files)',
832                     ],
833                     'conditions': [
834                         ['OS=="win"', {
835                             'sources': [
836                                 # FIXME: Port PopupMenuTest and WebFrameTest to Linux and Mac.
837                                 'tests/PopupMenuTest.cpp',
838                                 'tests/TransparencyWinTest.cpp',
839                                 'tests/UniscribeHelperTest.cpp',
840                                 'tests/WebFrameTest.cpp',
841                             ],
842                         }],
843                         ['OS=="mac"', {
844                             'sources!': [
845                                 # FIXME: Port DragImageTest to Mac.
846                                 'tests/DragImageTest.cpp',
847                             ],
848                         }],
849                         ['OS=="linux" or OS=="freebsd"', {
850                             'sources': [
851                                 'tests/WebInputEventFactoryTestGtk.cpp',
852                             ],
853                             'include_dirs': [
854                                 'public/gtk',
855                             ],
856                             'variables': {
857                               # FIXME: Enable warnings on other platforms.
858                               'chromium_code': 1,
859                             },
860                         }],
861                     ],
862                 }],
863                 ['inside_chromium_build==1 and OS=="win" and component!="shared_library"', {
864                     'configurations': {
865                         'Debug_Base': {
866                             'msvs_settings': {
867                                 'VCLinkerTool': {
868                                     'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
869                                 },
870                             },
871                         },
872                     },
873                 }],
874                 ['"ENABLE_CLIENT_BASED_GEOLOCATION=1" in feature_defines', {
875                     'sources/': [
876                         ['exclude', 'WebGeolocationService.*$'],
877                     ],
878                 }]
879             ],
880         },
881         {
882             'target_name': 'ImageDiff',
883             'type': 'executable',
884             'dependencies': [
885                 'webkit',
886                 '../../Source/JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf',
887                 '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support',
888             ],
889             'include_dirs': [
890                 '../../Source/JavaScriptCore',
891                 '<(DEPTH)',
892             ],
893             'sources': [
894                 '../../Tools/DumpRenderTree/chromium/ImageDiff.cpp',
895             ],
896         },
897         {
898             'target_name': 'DumpRenderTree',
899             'type': 'executable',
900             'mac_bundle': 1,
901             'dependencies': [
902                 'ImageDiff',
903                 'inspector_resources',
904                 'TestNetscapePlugIn',
905                 'copy_TestNetscapePlugIn',
906                 'webkit',
907                 '../../Source/JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf_config',
908                 '<(chromium_src_dir)/third_party/icu/icu.gyp:icuuc',
909                 '<(chromium_src_dir)/third_party/mesa/mesa.gyp:osmesa',
910                 '<(chromium_src_dir)/webkit/support/webkit_support.gyp:blob',
911                 '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support',
912             ],
913             'include_dirs': [
914                 '<(chromium_src_dir)',
915                 'public',
916                 '../../Source/JavaScriptCore',
917                 '../../Source/JavaScriptCore/wtf', # wtf/text/*.h refers headers in wtf/ without wtf/.
918                 '<(DEPTH)',
919             ],
920             'defines': [
921                 # Technically not a unit test but require functions available only to
922                 # unit tests.
923                 'UNIT_TEST',
924             ],
925             'sources': [
926                 '<@(drt_files)',
927             ],
928             'conditions': [
929                 ['OS=="win"', {
930                     'dependencies': ['LayoutTestHelper'],
931
932                     'resource_include_dirs': ['<(SHARED_INTERMEDIATE_DIR)/webkit'],
933                     'sources': [
934                         '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc',
935                         '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.rc',
936                         '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources.rc',
937                         '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_en-US.rc',
938                     ],
939                     'conditions': [
940                         ['inside_chromium_build==1 and component=="shared_library"', {
941                             'sources': [
942                                 'src/ChromiumCurrentTime.cpp',
943                                 'src/ChromiumThreading.cpp',
944                             ],
945                             'include_dirs': [
946                                 'public',
947                             ],
948                             'dependencies': [
949                                 '../../Source/JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf',
950                             ],
951                         }],
952                         ['inside_chromium_build==1', {
953                             'configurations': {
954                                 'Debug_Base': {
955                                     'msvs_settings': {
956                                         'VCLinkerTool': {
957                                             'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
958                                         },
959                                     },
960                                 },
961                             },
962                         }],
963                     ],
964                     'copies': [{
965                         'destination': '<(PRODUCT_DIR)',
966                         'files': ['<(ahem_path)'],
967                     }],
968                 },{ # OS!="win"
969                     'sources/': [
970                         ['exclude', 'Win\\.cpp$'],
971                     ],
972                     'actions': [
973                         {
974                             'action_name': 'repack_locale',
975                             'variables': {
976                                 'repack_path': '<(chromium_src_dir)/tools/data_pack/repack.py',
977                                 'pak_inputs': [
978                                     '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak',
979                                     '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.pak',
980                                     '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_en-US.pak',
981                                     '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources.pak',
982                             ]},
983                             'inputs': [
984                                 '<(repack_path)',
985                                 '<@(pak_inputs)',
986                             ],
987                             'outputs': [
988                                 '<(INTERMEDIATE_DIR)/repack/DumpRenderTree.pak',
989                             ],
990                             'action': ['python', '<(repack_path)', '<@(_outputs)', '<@(pak_inputs)'],
991                             'process_outputs_as_mac_bundle_resources': 1,
992                         },
993                     ], # actions
994                 }],
995                 ['OS=="mac"', {
996                     'dependencies': [
997                         'copy_mesa',
998                         'LayoutTestHelper',
999                     ],
1000                     'mac_bundle_resources': [
1001                         '<(ahem_path)',
1002                         '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher100.ttf',
1003                         '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher200.ttf',
1004                         '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher300.ttf',
1005                         '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher400.ttf',
1006                         '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher500.ttf',
1007                         '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher600.ttf',
1008                         '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher700.ttf',
1009                         '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher800.ttf',
1010                         '../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher900.ttf',
1011                         '<(SHARED_INTERMEDIATE_DIR)/webkit/textAreaResizeCorner.png',
1012                     ],
1013                 },{ # OS!="mac"
1014                     'sources/': [
1015                         # .mm is already excluded by common.gypi
1016                         ['exclude', 'Mac\\.cpp$'],
1017                     ],
1018                 }],
1019                 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
1020                     'dependencies': [
1021                         '<(chromium_src_dir)/build/linux/system.gyp:fontconfig',
1022                         '<(chromium_src_dir)/build/linux/system.gyp:gtk',
1023                     ],
1024                     'include_dirs': [
1025                         'public/gtk',
1026                     ],
1027                     'copies': [{
1028                         'destination': '<(PRODUCT_DIR)',
1029                         'files': [
1030                             '<(ahem_path)',
1031                             '../../Tools/DumpRenderTree/chromium/fonts.conf',
1032                             '<(INTERMEDIATE_DIR)/repack/DumpRenderTree.pak',
1033                         ]
1034                     }],
1035                     'variables': {
1036                       # FIXME: Enable warnings on other platforms.
1037                       'chromium_code': 1,
1038                     },
1039                 },{ # OS!="linux" and OS!="freebsd" and OS!="openbsd" and OS!="solaris"
1040                     'sources/': [
1041                         ['exclude', '(Gtk|Linux)\\.cpp$']
1042                     ]
1043                 }],
1044                 ['inside_chromium_build==0', {
1045                     'dependencies': [
1046                         '<(chromium_src_dir)/webkit/support/setup_third_party.gyp:third_party_headers',
1047                     ]
1048                 }],
1049             ],
1050         },
1051         {
1052             'target_name': 'TestNetscapePlugIn',
1053             'type': 'loadable_module',
1054             'sources': [ '<@(test_plugin_files)' ],
1055             'dependencies': [
1056                 '<(chromium_src_dir)/third_party/npapi/npapi.gyp:npapi',
1057             ],
1058             'include_dirs': [
1059                 '<(chromium_src_dir)',
1060                 '../../Tools/DumpRenderTree/TestNetscapePlugIn',
1061                 '../../Tools/DumpRenderTree/chromium/TestNetscapePlugIn/ForwardingHeaders',
1062             ],
1063             'conditions': [
1064                 ['OS=="mac"', {
1065                     'mac_bundle': 1,
1066                     # It would be nice to name this
1067                     # TestNetscapePlugIn, but that name is already
1068                     # used by the fork of this plugin in Chromium.
1069                     'product_name': 'WebKitTestNetscapePlugIn',
1070                     'product_extension': 'plugin',
1071                     'link_settings': {
1072                         'libraries': [
1073                             '$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
1074                             '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
1075                             '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
1076                         ]
1077                     },
1078                     'xcode_settings': {
1079                         'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO',
1080                         # This is a temporary fork of
1081                         # DRT/TestNetscapePlugIn/mac/Info.plist.  Once
1082                         # we get rid of our forked plugin in the
1083                         # chromium repo, we can share the same
1084                         # Info.plist.
1085                         'INFOPLIST_FILE': '../../Tools/DumpRenderTree/chromium/TestNetscapePlugIn/Info.plist',
1086                     },
1087                 }],
1088                 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
1089                     'cflags': [
1090                         '-fvisibility=default',
1091                     ],
1092                 }],
1093                 ['OS=="win"', {
1094                     'defines': [
1095                         # This seems like a hack, but this is what Safari Win does.
1096                         'snprintf=_snprintf',
1097                     ],
1098                     'sources': [
1099                         '../../Tools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.def',
1100                         '../../Tools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.rc',
1101                     ],
1102                     # The .rc file requires that the name of the dll is npTestNetscapePlugin.dll.
1103                     # This adds the 'np' to the dll name.
1104                     'product_prefix': 'np',
1105                 }],
1106             ],
1107         },
1108         {
1109             'target_name': 'copy_TestNetscapePlugIn',
1110             'type': 'none',
1111             'dependencies': [
1112                 'TestNetscapePlugIn',
1113             ],
1114             'conditions': [
1115                 ['OS=="win"', {
1116                     'copies': [{
1117                         'destination': '<(PRODUCT_DIR)/plugins',
1118                         'files': ['<(PRODUCT_DIR)/npTestNetscapePlugIn.dll'],
1119                     }],
1120                 }],
1121                 ['OS=="mac"', {
1122                     'copies': [{
1123                         'destination': '<(PRODUCT_DIR)/plugins/',
1124                         'files': ['<(PRODUCT_DIR)/WebKitTestNetscapePlugIn.plugin/'],
1125                     }],
1126                 }],
1127                 ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
1128                     'copies': [{
1129                         'destination': '<(PRODUCT_DIR)/plugins',
1130                         'files': ['<(PRODUCT_DIR)/libTestNetscapePlugIn.so'],
1131                     }],
1132                 }],
1133             ],
1134         },
1135     ], # targets
1136     'conditions': [
1137         ['OS=="win"', {
1138             'targets': [{
1139                 'target_name': 'LayoutTestHelper',
1140                 'type': 'executable',
1141                 'sources': ['../../Tools/DumpRenderTree/chromium/LayoutTestHelperWin.cpp'],
1142             }],
1143         }],
1144         ['OS=="mac"', {
1145             'targets': [
1146                 {
1147                     'target_name': 'LayoutTestHelper',
1148                     'type': 'executable',
1149                     'sources': ['../../Tools/DumpRenderTree/chromium/LayoutTestHelper.mm'],
1150                     'link_settings': {
1151                         'libraries': [
1152                             '$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
1153                         ],
1154                     },
1155                 },
1156                 {
1157                     'target_name': 'copy_mesa',
1158                     'type': 'none',
1159                     'dependencies': ['<(chromium_src_dir)/third_party/mesa/mesa.gyp:osmesa'],
1160                     'copies': [{
1161                         'destination': '<(PRODUCT_DIR)/DumpRenderTree.app/Contents/MacOS/',
1162                         'files': ['<(PRODUCT_DIR)/osmesa.so'],
1163                     }],
1164                 },
1165             ],
1166         }],
1167     ], # conditions
1168 }
1169
1170 # Local Variables:
1171 # tab-width:2
1172 # indent-tabs-mode:nil
1173 # End:
1174 # vim: set expandtab tabstop=2 shiftwidth=2: