Changeset 102201 in webkit


Ignore:
Timestamp:
Dec 6, 2011 5:39:36 PM (12 years ago)
Author:
dpranke@chromium.org
Message:

.: Add Tools/Tool.xcodeproj,
Source/WebKit/chromium/WebKitUnitTests.xcodeproj,
Source/WebKit/chromium/All.xcodeproj to .gitignore

https://bugs.webkit.org/show_bug.cgi?id=73823

Reviewed by Tony Chang.

  • .gitignore:

Source/WebKit/chromium: binaries in webkit.gyp should be split into a new file to break circular dependencies on webkit_support
https://bugs.webkit.org/show_bug.cgi?id=73382

Reviewed by Tony Chang.

XCode (and hence GYP) can't handle circular dependencies between
files (and projects). Accordingly, although the binaries in
WebKit.gyp depend on webkit_support and webkit_support depends
on webkit, we don't mention the latter dependency in the file.
To fix this, this change moves the binaries like DRT into a new
GYP file, and modifies gyp_webkit to build from that file
instead of WebKit.gyp.

  • WebKit.gyp:
  • All.gyp:
  • WebKitUnitTests.gyp:
  • gyp_webkit:

Tools: binaries in webkit.gyp should be split into a new file to break circular dependencies on webkit_support
https://bugs.webkit.org/show_bug.cgi?id=73382

Reviewed by Tony Chang.

XCode (and hence GYP) can't handle circular dependencies between
files (and projects). Accordingly, although the binaries in
WebKit.gyp depend on webkit_support and webkit_support depends
on webkit, we don't mention the latter dependency in the file.
To fix this, this change moves the binaries like DRT into a new
GYP file, and modifies gyp_webkit to build from that file
instead of WebKit.gyp.

  • Tools.gyp: Added.
Location:
trunk
Files:
3 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/.gitignore

    r102001 r102201  
    5252Source/WebKit/chromium/*.sln
    5353Source/WebKit/chromium/*.vcproj*
     54Source/WebKit/chromium/All.xcodeproj
    5455Source/WebKit/chromium/WebKit.xcodeproj
     56Source/WebKit/chromium/WebKitUnitTests.xcodeproj
     57Tools/Tools.xcodeproj
    5558Tools/DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.xcodeproj
    5659
  • trunk/ChangeLog

    r102125 r102201  
     12011-12-06  Dirk Pranke  <dpranke@chromium.org>
     2
     3        Add Tools/Tool.xcodeproj,
     4        Source/WebKit/chromium/WebKitUnitTests.xcodeproj,
     5        Source/WebKit/chromium/All.xcodeproj to .gitignore
     6
     7        https://bugs.webkit.org/show_bug.cgi?id=73823
     8
     9        Reviewed by Tony Chang.
     10
     11        * .gitignore:
     12
    1132011-12-06  Simon Hausmann  <simon.hausmann@nokia.com>
    214
  • trunk/Source/WebKit/chromium/ChangeLog

    r102196 r102201  
     12011-12-06  Dirk Pranke  <dpranke@chromium.org>
     2
     3        binaries in webkit.gyp should be split into a new file to break circular dependencies on webkit_support
     4        https://bugs.webkit.org/show_bug.cgi?id=73382
     5
     6        Reviewed by Tony Chang.
     7
     8        XCode (and hence GYP) can't handle circular dependencies between
     9        files (and projects). Accordingly, although the binaries in
     10        WebKit.gyp depend on webkit_support and webkit_support depends
     11        on webkit, we don't mention the latter dependency in the file.
     12        To fix this, this change moves the binaries like DRT into a new
     13        GYP file, and modifies gyp_webkit to build from that file
     14        instead of WebKit.gyp.
     15
     16        * WebKit.gyp:
     17        * All.gyp:
     18        * WebKitUnitTests.gyp:
     19        * gyp_webkit:
     20
    1212011-12-06  Adrienne Walker  <enne@google.com>
    222
  • trunk/Source/WebKit/chromium/WebKit.gyp

    r102099 r102201  
    3232    'includes': [
    3333        '../../WebCore/WebCore.gypi',
    34         '../../../Tools/DumpRenderTree/DumpRenderTree.gypi',
    35         '../../../Tools/TestWebKitAPI/TestWebKitAPI.gypi',
    3634        'WebKit.gypi',
    3735        'features.gypi',
     
    10251023            }],
    10261024        },
    1027         {
    1028             'target_name': 'webkit_unit_tests',
    1029             'type': 'executable',
    1030             'msvs_guid': '7CEFE800-8403-418A-AD6A-2D52C6FC3EAD',
    1031             'dependencies': [
    1032                 'webkit',
    1033                 '../../WebCore/WebCore.gyp/WebCore.gyp:webcore',
    1034                 '<(chromium_src_dir)/testing/gtest.gyp:gtest',
    1035                 '<(chromium_src_dir)/testing/gmock.gyp:gmock',
    1036                 '<(chromium_src_dir)/base/base.gyp:base',
    1037                 '<(chromium_src_dir)/base/base.gyp:base_i18n',
    1038                 '<(chromium_src_dir)/base/base.gyp:test_support_base',
    1039                 '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support',
    1040                 '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_user_agent',
    1041             ],
    1042             'sources': [
    1043                 'tests/RunAllTests.cpp',
    1044             ],
    1045             'include_dirs': [
    1046                 'public',
    1047                 'src',
    1048             ],
    1049             'conditions': [
    1050                 ['inside_chromium_build==1 and component=="shared_library"', {
    1051                     'defines': [
    1052                         'WEBKIT_DLL_UNITTEST',
    1053                     ],
    1054                 }, {
    1055                     'sources': [
    1056                         '<@(webkit_unittest_files)',
    1057                     ],
    1058                     'conditions': [
    1059                         ['toolkit_uses_gtk == 1', {
    1060                             'include_dirs': [
    1061                                 'public/gtk',
    1062                             ],
    1063                             'variables': {
    1064                               # FIXME: Enable warnings on other platforms.
    1065                               'chromium_code': 1,
    1066                             },
    1067                         }],
    1068                     ],
    1069                 }],
    1070                 ['inside_chromium_build==1 and OS=="win" and component!="shared_library"', {
    1071                     'configurations': {
    1072                         'Debug_Base': {
    1073                             'msvs_settings': {
    1074                                 'VCLinkerTool': {
    1075                                     'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
    1076                                 },
    1077                             },
    1078                         },
    1079                     },
    1080                 }],
    1081             ],
    1082         },
    1083         {
    1084             'target_name': 'ImageDiff',
    1085             'type': 'executable',
    1086             'dependencies': [
    1087                 '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support_gfx',
    1088             ],
    1089             'include_dirs': [
    1090                 '../../JavaScriptCore',
    1091                 '<(DEPTH)',
    1092             ],
    1093             'sources': [
    1094                 '../../../Tools/DumpRenderTree/chromium/ImageDiff.cpp',
    1095             ],
    1096             'conditions': [
    1097                 ['OS=="android"', {
    1098                     'toolsets': ['host'],
    1099                 }],
    1100             ],
    1101         },
    1102         {
    1103             'target_name': 'DumpRenderTree',
    1104             'type': 'executable',
    1105             'mac_bundle': 1,
    1106             'dependencies': [
    1107                 'inspector_resources',
    1108                 'webkit',
    1109                 '../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf_config',
    1110                 '<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
    1111                 '<(chromium_src_dir)/third_party/icu/icu.gyp:icuuc',
    1112                 '<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
    1113                 '<(chromium_src_dir)/webkit/support/webkit_support.gyp:blob',
    1114                 '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support',
    1115                 '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_user_agent',
    1116             ],
    1117             'include_dirs': [
    1118                 '<(chromium_src_dir)',
    1119                 'public',
    1120                 '../../JavaScriptCore',
    1121                 '../../JavaScriptCore/wtf', # wtf/text/*.h refers headers in wtf/ without wtf/.
    1122                 '<(DEPTH)',
    1123             ],
    1124             'defines': [
    1125                 # Technically not a unit test but require functions available only to
    1126                 # unit tests.
    1127                 'UNIT_TEST',
    1128             ],
    1129             'sources': [
    1130                 '<@(drt_files)',
    1131             ],
    1132             'conditions': [
    1133                 ['OS=="win"', {
    1134                     'dependencies': [
    1135                         'LayoutTestHelper',
    1136                         '<(chromium_src_dir)/third_party/angle/src/build_angle.gyp:libEGL',
    1137                         '<(chromium_src_dir)/third_party/angle/src/build_angle.gyp:libGLESv2',
    1138                     ],
    1139 
    1140                     'resource_include_dirs': ['<(SHARED_INTERMEDIATE_DIR)/webkit'],
    1141                     'sources': [
    1142                         '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc',
    1143                         '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.rc',
    1144                         '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources.rc',
    1145                         '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_en-US.rc',
    1146                     ],
    1147                     'conditions': [
    1148                         ['inside_chromium_build==1', {
    1149                             'configurations': {
    1150                                 'Debug_Base': {
    1151                                     'msvs_settings': {
    1152                                         'VCLinkerTool': {
    1153                                             'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
    1154                                         },
    1155                                     },
    1156                                 },
    1157                             },
    1158                         }],
    1159                     ],
    1160                     'copies': [{
    1161                         'destination': '<(PRODUCT_DIR)',
    1162                         'files': ['<(ahem_path)'],
    1163                     }],
    1164                 },{ # OS!="win"
    1165                     'sources/': [
    1166                         ['exclude', 'Win\\.cpp$'],
    1167                     ],
    1168                     'actions': [
    1169                         {
    1170                             'action_name': 'repack_locale',
    1171                             'variables': {
    1172                                 'repack_path': '<(chromium_src_dir)/tools/grit/grit/format/repack.py',
    1173                                 'pak_inputs': [
    1174                                     '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak',
    1175                                     '<(SHARED_INTERMEDIATE_DIR)/ui/gfx/gfx_resources.pak',
    1176                                     '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.pak',
    1177                                     '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_en-US.pak',
    1178                                     '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources.pak',
    1179                             ]},
    1180                             'inputs': [
    1181                                 '<(repack_path)',
    1182                                 '<@(pak_inputs)',
    1183                             ],
    1184                             'outputs': [
    1185                                 '<(INTERMEDIATE_DIR)/repack/DumpRenderTree.pak',
    1186                             ],
    1187                             'action': ['python', '<(repack_path)', '<@(_outputs)', '<@(pak_inputs)'],
    1188                             'process_outputs_as_mac_bundle_resources': 1,
    1189                         },
    1190                     ], # actions
    1191                 }],
    1192                 ['OS=="mac"', {
    1193                     'dependencies': [
    1194                         'copy_mesa',
    1195                         'LayoutTestHelper',
    1196                     ],
    1197                     'mac_bundle_resources': [
    1198                         '<(ahem_path)',
    1199                         '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher100.ttf',
    1200                         '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher200.ttf',
    1201                         '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher300.ttf',
    1202                         '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher400.ttf',
    1203                         '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher500.ttf',
    1204                         '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher600.ttf',
    1205                         '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher700.ttf',
    1206                         '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher800.ttf',
    1207                         '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher900.ttf',
    1208                         '<(SHARED_INTERMEDIATE_DIR)/webkit/textAreaResizeCorner.png',
    1209                     ],
    1210                 },{ # OS!="mac"
    1211                     'sources/': [
    1212                         # .mm is already excluded by common.gypi
    1213                         ['exclude', 'Mac\\.cpp$'],
    1214                     ],
    1215                 }],
    1216                 ['use_x11 == 1', {
    1217                     'dependencies': [
    1218                         '<(chromium_src_dir)/build/linux/system.gyp:fontconfig',
    1219                     ],
    1220                     'copies': [{
    1221                         'destination': '<(PRODUCT_DIR)',
    1222                         'files': [
    1223                             '<(ahem_path)',
    1224                             '../../../Tools/DumpRenderTree/chromium/fonts.conf',
    1225                             '<(INTERMEDIATE_DIR)/repack/DumpRenderTree.pak',
    1226                         ]
    1227                     }],
    1228                     'variables': {
    1229                         # FIXME: Enable warnings on other platforms.
    1230                         'chromium_code': 1,
    1231                     },
    1232                     'conditions': [
    1233                         ['linux_use_tcmalloc == 1', {
    1234                             'dependencies': [
    1235                                 '<(chromium_src_dir)/base/allocator/allocator.gyp:allocator',
    1236                             ],
    1237                         }],
    1238                     ],
    1239                 },{ # use_x11 != 1
    1240                     'sources/': [
    1241                         ['exclude', 'Linux\\.cpp$']
    1242                     ]
    1243                 }],
    1244                 ['toolkit_uses_gtk == 1', {
    1245                     'defines': [
    1246                         'WTF_USE_GTK=1',
    1247                     ],
    1248                     'dependencies': [
    1249                         '<(chromium_src_dir)/build/linux/system.gyp:gtk',
    1250                     ],
    1251                     'include_dirs': [
    1252                         'public/gtk',
    1253                     ],
    1254                 },{ # toolkit_uses_gtk != 1
    1255                     'sources/': [
    1256                         ['exclude', 'Gtk\\.cpp$']
    1257                     ]
    1258                 }],
    1259                 ['OS=="android"', {
    1260                     'dependencies': [
    1261                         'ImageDiff#host',
    1262                     ],
    1263                 },{ # OS!="android"
    1264                     'dependencies': [
    1265                         'ImageDiff',
    1266                         'copy_TestNetscapePlugIn',
    1267                         '<(chromium_src_dir)/third_party/mesa/mesa.gyp:osmesa',
    1268                     ],
    1269                 }],
    1270                 ['inside_chromium_build==1 and component=="shared_library"', {
    1271                     'sources': [
    1272                         'src/ChromiumCurrentTime.cpp',
    1273                         'src/ChromiumThreading.cpp',
    1274                     ],
    1275                     'include_dirs': [
    1276                         'public',
    1277                     ],
    1278                     'dependencies': [
    1279                         '../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf',
    1280                         '../../WTF/WTF.gyp/WTF.gyp:newwtf',
    1281                     ],
    1282                 }],
    1283                 ['inside_chromium_build==0', {
    1284                     'dependencies': [
    1285                         '<(chromium_src_dir)/webkit/support/setup_third_party.gyp:third_party_headers',
    1286                     ]
    1287                 }],
    1288                 ['inside_chromium_build==0 or component!="shared_library"', {
    1289                     'dependencies': [
    1290                         '../../WebCore/WebCore.gyp/WebCore.gyp:webcore_test_support',
    1291                     ],
    1292                     'include_dirs': [
    1293                         # WARNING: Do not view this particular case as a precedent for
    1294                         # including WebCore headers in DumpRenderTree project.
    1295                         '../../WebCore/testing/v8', # for WebCoreTestSupport.h, needed to link in window.internals code.
    1296                     ],
    1297                     'sources': [
    1298                         'src/WebTestingSupport.cpp',
    1299                         'public/WebTestingSupport.h',
    1300                     ],
    1301                 }],
    1302             ],
    1303         },
    1304         {
    1305             'target_name': 'TestNetscapePlugIn',
    1306             'type': 'loadable_module',
    1307             'sources': [ '<@(test_plugin_files)' ],
    1308             'dependencies': [
    1309                 '<(chromium_src_dir)/third_party/npapi/npapi.gyp:npapi',
    1310             ],
    1311             'include_dirs': [
    1312                 '<(chromium_src_dir)',
    1313                 '../../../Tools/DumpRenderTree/TestNetscapePlugIn',
    1314                 '../../../Tools/DumpRenderTree/chromium/TestNetscapePlugIn/ForwardingHeaders',
    1315             ],
    1316             'conditions': [
    1317                 ['OS=="mac"', {
    1318                     'mac_bundle': 1,
    1319                     'product_extension': 'plugin',
    1320                     'link_settings': {
    1321                         'libraries': [
    1322                             '$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
    1323                             '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
    1324                             '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
    1325                         ]
    1326                     },
    1327                     'xcode_settings': {
    1328                         'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO',
    1329                         'INFOPLIST_FILE': '../../../Tools/DumpRenderTree/TestNetscapePlugIn/mac/Info.plist',
    1330                     },
    1331                 }],
    1332                 ['os_posix == 1 and OS != "mac"', {
    1333                     'cflags': [
    1334                         '-fvisibility=default',
    1335                     ],
    1336                 }],
    1337                 ['OS=="win"', {
    1338                     'defines': [
    1339                         # This seems like a hack, but this is what Safari Win does.
    1340                         'snprintf=_snprintf',
    1341                     ],
    1342                     'sources': [
    1343                         '../../../Tools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.def',
    1344                         '../../../Tools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.rc',
    1345                     ],
    1346                     # The .rc file requires that the name of the dll is npTestNetscapePlugin.dll.
    1347                     'product_name': 'npTestNetscapePlugin',
    1348                 }],
    1349             ],
    1350         },
    1351         {
    1352             'target_name': 'copy_TestNetscapePlugIn',
    1353             'type': 'none',
    1354             'dependencies': [
    1355                 'TestNetscapePlugIn',
    1356             ],
    1357             'conditions': [
    1358                 ['OS=="win"', {
    1359                     'copies': [{
    1360                         'destination': '<(PRODUCT_DIR)/plugins',
    1361                         'files': ['<(PRODUCT_DIR)/npTestNetscapePlugIn.dll'],
    1362                     }],
    1363                 }],
    1364                 ['OS=="mac"', {
    1365                     'dependencies': ['TestNetscapePlugIn'],
    1366                     'copies': [{
    1367                         'destination': '<(PRODUCT_DIR)/plugins/',
    1368                         'files': ['<(PRODUCT_DIR)/TestNetscapePlugIn.plugin/'],
    1369                     }],
    1370                 }],
    1371                 ['os_posix == 1 and OS != "mac"', {
    1372                     'copies': [{
    1373                         'destination': '<(PRODUCT_DIR)/plugins',
    1374                         'files': ['<(PRODUCT_DIR)/libTestNetscapePlugIn.so'],
    1375                     }],
    1376                 }],
    1377             ],
    1378         },
    1379         {
    1380             'target_name': 'TestWebKitAPI',
    1381             'type': 'executable',
    1382             'dependencies': [
    1383                 'webkit',
    1384                 '../../WebCore/WebCore.gyp/WebCore.gyp:webcore',
    1385                 '<(chromium_src_dir)/base/base.gyp:test_support_base',
    1386                 '<(chromium_src_dir)/testing/gtest.gyp:gtest',
    1387                 '<(chromium_src_dir)/testing/gmock.gyp:gmock',
    1388                 '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support',
    1389             ],
    1390             'include_dirs': [
    1391                 '../../../Tools/TestWebKitAPI',
    1392                 # Needed by tests/RunAllTests.cpp, as well as ChromiumCurrentTime.cpp and
    1393                 # ChromiumThreading.cpp in chromium shared library configuration.
    1394                 'public',
    1395             ],
    1396             'sources': [
    1397                 # Reuse the same testing driver of Chromium's webkit_unit_tests.
    1398                 'tests/RunAllTests.cpp',
    1399                 '<@(TestWebKitAPI_files)',
    1400             ],
    1401             'conditions': [
    1402                 ['inside_chromium_build==1 and component=="shared_library"', {
    1403                     'sources': [
    1404                         # To satisfy linking of WTF::currentTime() etc. in shared library configuration,
    1405                         # as the symbols are not exported from the DLLs.
    1406                         'src/ChromiumCurrentTime.cpp',
    1407                         'src/ChromiumThreading.cpp',
    1408                     ],
    1409                 }],
    1410             ],
    1411         },
    14121025    ], # targets
    14131026    'conditions': [
    1414         ['OS=="win"', {
    1415             'targets': [{
    1416                 'target_name': 'LayoutTestHelper',
    1417                 'type': 'executable',
    1418                 'sources': ['../../../Tools/DumpRenderTree/chromium/LayoutTestHelperWin.cpp'],
    1419             }],
    1420         }],
    14211027        ['os_posix==1 and OS!="mac" and OS!="android" and gcc_version==46', {
    14221028            'target_defaults': {
     
    14281034        ['OS=="mac"', {
    14291035            'targets': [
    1430                 {
    1431                     'target_name': 'LayoutTestHelper',
    1432                     'type': 'executable',
    1433                     'sources': ['../../../Tools/DumpRenderTree/chromium/LayoutTestHelper.mm'],
    1434                     'link_settings': {
    1435                         'libraries': [
    1436                             '$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
    1437                         ],
    1438                     },
    1439                 },
    14401036                {
    14411037                    'target_name': 'copy_mesa',
     
    15471143            ],
    15481144        }],
     1145        # FIXME: Delete this whole block once chromium's build/common.gypi
     1146        # is setting this flag to 0 by default. See
     1147        # https://bugs.webkit.org/show_bug.cgi?id=68463.
     1148        ['build_webkit_exes_from_webkit_gyp==1', {
     1149            'includes': [
     1150                '../../../Tools/DumpRenderTree/DumpRenderTree.gypi',
     1151                '../../../Tools/TestWebKitAPI/TestWebKitAPI.gypi',
     1152            ],
     1153            'targets': [
     1154                {
     1155                    'target_name': 'webkit_unit_tests',
     1156                    'type': 'executable',
     1157                    'msvs_guid': '7CEFE800-8403-418A-AD6A-2D52C6FC3EAD',
     1158                    'dependencies': [
     1159                        'webkit',
     1160                        '../../WebCore/WebCore.gyp/WebCore.gyp:webcore',
     1161                        '<(chromium_src_dir)/testing/gtest.gyp:gtest',
     1162                        '<(chromium_src_dir)/testing/gmock.gyp:gmock',
     1163                        '<(chromium_src_dir)/base/base.gyp:base',
     1164                        '<(chromium_src_dir)/base/base.gyp:base_i18n',
     1165                        '<(chromium_src_dir)/base/base.gyp:test_support_base',
     1166                        '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support',
     1167                        '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_user_agent',
     1168                    ],
     1169                    'sources': [
     1170                        'tests/RunAllTests.cpp',
     1171                    ],
     1172                    'include_dirs': [
     1173                        'public',
     1174                        'src',
     1175                    ],
     1176                    'conditions': [
     1177                        ['inside_chromium_build==1 and component=="shared_library"', {
     1178                            'defines': [
     1179                                'WEBKIT_DLL_UNITTEST',
     1180                            ],
     1181                        }, {
     1182                            'sources': [
     1183                                '<@(webkit_unittest_files)',
     1184                            ],
     1185                            'conditions': [
     1186                                ['toolkit_uses_gtk == 1', {
     1187                                    'include_dirs': [
     1188                                        'public/gtk',
     1189                                    ],
     1190                                    'variables': {
     1191                                    # FIXME: Enable warnings on other platforms.
     1192                                    'chromium_code': 1,
     1193                                    },
     1194                                }],
     1195                            ],
     1196                        }],
     1197                        ['inside_chromium_build==1 and OS=="win" and component!="shared_library"', {
     1198                            'configurations': {
     1199                                'Debug_Base': {
     1200                                    'msvs_settings': {
     1201                                        'VCLinkerTool': {
     1202                                            'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
     1203                                        },
     1204                                    },
     1205                                },
     1206                            },
     1207                        }],
     1208                    ],
     1209                },
     1210                {
     1211                    'target_name': 'ImageDiff',
     1212                    'type': 'executable',
     1213                    'dependencies': [
     1214                        '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support_gfx',
     1215                    ],
     1216                    'include_dirs': [
     1217                        '../../JavaScriptCore',
     1218                        '<(DEPTH)',
     1219                    ],
     1220                    'sources': [
     1221                        '../../../Tools/DumpRenderTree/chromium/ImageDiff.cpp',
     1222                    ],
     1223                    'conditions': [
     1224                        ['OS=="android"', {
     1225                            'toolsets': ['host'],
     1226                        }],
     1227                    ],
     1228                },
     1229                {
     1230                    'target_name': 'DumpRenderTree',
     1231                    'type': 'executable',
     1232                    'mac_bundle': 1,
     1233                    'dependencies': [
     1234                        'inspector_resources',
     1235                        'webkit',
     1236                        '../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf_config',
     1237                        '<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
     1238                        '<(chromium_src_dir)/third_party/icu/icu.gyp:icuuc',
     1239                        '<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
     1240                        '<(chromium_src_dir)/webkit/support/webkit_support.gyp:blob',
     1241                        '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support',
     1242                        '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_user_agent',
     1243                    ],
     1244                    'include_dirs': [
     1245                        '<(chromium_src_dir)',
     1246                        'public',
     1247                        '../../JavaScriptCore',
     1248                        '../../JavaScriptCore/wtf', # wtf/text/*.h refers headers in wtf/ without wtf/.
     1249                        '<(DEPTH)',
     1250                    ],
     1251                    'defines': [
     1252                        # Technically not a unit test but require functions available only to
     1253                        # unit tests.
     1254                        'UNIT_TEST',
     1255                    ],
     1256                    'sources': [
     1257                        '<@(drt_files)',
     1258                    ],
     1259                    'conditions': [
     1260                        ['OS=="win"', {
     1261                            'dependencies': [
     1262                                'LayoutTestHelper',
     1263                                '<(chromium_src_dir)/third_party/angle/src/build_angle.gyp:libEGL',
     1264                                '<(chromium_src_dir)/third_party/angle/src/build_angle.gyp:libGLESv2',
     1265                            ],
     1266
     1267                            'resource_include_dirs': ['<(SHARED_INTERMEDIATE_DIR)/webkit'],
     1268                            'sources': [
     1269                                '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc',
     1270                                '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.rc',
     1271                                '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources.rc',
     1272                                '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_en-US.rc',
     1273                            ],
     1274                            'conditions': [
     1275                                ['inside_chromium_build==1', {
     1276                                    'configurations': {
     1277                                        'Debug_Base': {
     1278                                            'msvs_settings': {
     1279                                                'VCLinkerTool': {
     1280                                                    'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
     1281                                                },
     1282                                            },
     1283                                        },
     1284                                    },
     1285                                }],
     1286                            ],
     1287                            'copies': [{
     1288                                'destination': '<(PRODUCT_DIR)',
     1289                                'files': ['<(ahem_path)'],
     1290                            }],
     1291                        },{ # OS!="win"
     1292                            'sources/': [
     1293                                ['exclude', 'Win\\.cpp$'],
     1294                            ],
     1295                            'actions': [
     1296                                {
     1297                                    'action_name': 'repack_locale',
     1298                                    'variables': {
     1299                                        'repack_path': '<(chromium_src_dir)/tools/grit/grit/format/repack.py',
     1300                                        'pak_inputs': [
     1301                                            '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak',
     1302                                            '<(SHARED_INTERMEDIATE_DIR)/ui/gfx/gfx_resources.pak',
     1303                                            '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.pak',
     1304                                            '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_en-US.pak',
     1305                                            '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources.pak',
     1306                                    ]},
     1307                                    'inputs': [
     1308                                        '<(repack_path)',
     1309                                        '<@(pak_inputs)',
     1310                                    ],
     1311                                    'outputs': [
     1312                                        '<(INTERMEDIATE_DIR)/repack/DumpRenderTree.pak',
     1313                                    ],
     1314                                    'action': ['python', '<(repack_path)', '<@(_outputs)', '<@(pak_inputs)'],
     1315                                    'process_outputs_as_mac_bundle_resources': 1,
     1316                                },
     1317                            ], # actions
     1318                        }],
     1319                        ['OS=="mac"', {
     1320                            'dependencies': [
     1321                                'copy_mesa',
     1322                                'LayoutTestHelper',
     1323                            ],
     1324                            'mac_bundle_resources': [
     1325                                '<(ahem_path)',
     1326                                '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher100.ttf',
     1327                                '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher200.ttf',
     1328                                '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher300.ttf',
     1329                                '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher400.ttf',
     1330                                '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher500.ttf',
     1331                                '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher600.ttf',
     1332                                '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher700.ttf',
     1333                                '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher800.ttf',
     1334                                '../../../Tools/DumpRenderTree/fonts/WebKitWeightWatcher900.ttf',
     1335                                '<(SHARED_INTERMEDIATE_DIR)/webkit/textAreaResizeCorner.png',
     1336                            ],
     1337                        },{ # OS!="mac"
     1338                            'sources/': [
     1339                                # .mm is already excluded by common.gypi
     1340                                ['exclude', 'Mac\\.cpp$'],
     1341                            ],
     1342                        }],
     1343                        ['use_x11 == 1', {
     1344                            'dependencies': [
     1345                                '<(chromium_src_dir)/build/linux/system.gyp:fontconfig',
     1346                            ],
     1347                            'copies': [{
     1348                                'destination': '<(PRODUCT_DIR)',
     1349                                'files': [
     1350                                    '<(ahem_path)',
     1351                                    '../../../Tools/DumpRenderTree/chromium/fonts.conf',
     1352                                    '<(INTERMEDIATE_DIR)/repack/DumpRenderTree.pak',
     1353                                ]
     1354                            }],
     1355                            'variables': {
     1356                                # FIXME: Enable warnings on other platforms.
     1357                                'chromium_code': 1,
     1358                            },
     1359                            'conditions': [
     1360                                ['linux_use_tcmalloc == 1', {
     1361                                    'dependencies': [
     1362                                        '<(chromium_src_dir)/base/allocator/allocator.gyp:allocator',
     1363                                    ],
     1364                                }],
     1365                            ],
     1366                        },{ # use_x11 != 1
     1367                            'sources/': [
     1368                                ['exclude', 'Linux\\.cpp$']
     1369                            ]
     1370                        }],
     1371                        ['toolkit_uses_gtk == 1', {
     1372                            'defines': [
     1373                                'WTF_USE_GTK=1',
     1374                            ],
     1375                            'dependencies': [
     1376                                '<(chromium_src_dir)/build/linux/system.gyp:gtk',
     1377                            ],
     1378                            'include_dirs': [
     1379                                'public/gtk',
     1380                            ],
     1381                        },{ # toolkit_uses_gtk != 1
     1382                            'sources/': [
     1383                                ['exclude', 'Gtk\\.cpp$']
     1384                            ]
     1385                        }],
     1386                        ['OS=="android"', {
     1387                            'dependencies': [
     1388                                'ImageDiff#host',
     1389                            ],
     1390                        },{ # OS!="android"
     1391                            'dependencies': [
     1392                                'ImageDiff',
     1393                                'copy_TestNetscapePlugIn',
     1394                                '<(chromium_src_dir)/third_party/mesa/mesa.gyp:osmesa',
     1395                            ],
     1396                        }],
     1397                        ['inside_chromium_build==1 and component=="shared_library"', {
     1398                            'sources': [
     1399                                'src/ChromiumCurrentTime.cpp',
     1400                                'src/ChromiumThreading.cpp',
     1401                            ],
     1402                            'include_dirs': [
     1403                                'public',
     1404                            ],
     1405                            'dependencies': [
     1406                                '../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:wtf',
     1407                                '../../WTF/WTF.gyp/WTF.gyp:newwtf',
     1408                            ],
     1409                        }],
     1410                        ['inside_chromium_build==0', {
     1411                            'dependencies': [
     1412                                '<(chromium_src_dir)/webkit/support/setup_third_party.gyp:third_party_headers',
     1413                            ]
     1414                        }],
     1415                        ['inside_chromium_build==0 or component!="shared_library"', {
     1416                            'dependencies': [
     1417                                '../../WebCore/WebCore.gyp/WebCore.gyp:webcore_test_support',
     1418                            ],
     1419                            'include_dirs': [
     1420                                # WARNING: Do not view this particular case as a precedent for
     1421                                # including WebCore headers in DumpRenderTree project.
     1422                                '../../WebCore/testing/v8', # for WebCoreTestSupport.h, needed to link in window.internals code.
     1423                            ],
     1424                            'sources': [
     1425                                'src/WebTestingSupport.cpp',
     1426                                'public/WebTestingSupport.h',
     1427                            ],
     1428                        }],
     1429                    ],
     1430                },
     1431                {
     1432                    'target_name': 'TestNetscapePlugIn',
     1433                    'type': 'loadable_module',
     1434                    'sources': [ '<@(test_plugin_files)' ],
     1435                    'dependencies': [
     1436                        '<(chromium_src_dir)/third_party/npapi/npapi.gyp:npapi',
     1437                    ],
     1438                    'include_dirs': [
     1439                        '<(chromium_src_dir)',
     1440                        '../../../Tools/DumpRenderTree/TestNetscapePlugIn',
     1441                        '../../../Tools/DumpRenderTree/chromium/TestNetscapePlugIn/ForwardingHeaders',
     1442                    ],
     1443                    'conditions': [
     1444                        ['OS=="mac"', {
     1445                            'mac_bundle': 1,
     1446                            'product_extension': 'plugin',
     1447                            'link_settings': {
     1448                                'libraries': [
     1449                                    '$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
     1450                                    '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
     1451                                    '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
     1452                                ]
     1453                            },
     1454                            'xcode_settings': {
     1455                                'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO',
     1456                                'INFOPLIST_FILE': '../../../Tools/DumpRenderTree/TestNetscapePlugIn/mac/Info.plist',
     1457                            },
     1458                        }],
     1459                        ['os_posix == 1 and OS != "mac"', {
     1460                            'cflags': [
     1461                                '-fvisibility=default',
     1462                            ],
     1463                        }],
     1464                        ['OS=="win"', {
     1465                            'defines': [
     1466                                # This seems like a hack, but this is what Safari Win does.
     1467                                'snprintf=_snprintf',
     1468                            ],
     1469                            'sources': [
     1470                                '../../../Tools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.def',
     1471                                '../../../Tools/DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.rc',
     1472                            ],
     1473                            # The .rc file requires that the name of the dll is npTestNetscapePlugin.dll.
     1474                            'product_name': 'npTestNetscapePlugin',
     1475                        }],
     1476                    ],
     1477                },
     1478                {
     1479                    'target_name': 'copy_TestNetscapePlugIn',
     1480                    'type': 'none',
     1481                    'dependencies': [
     1482                        'TestNetscapePlugIn',
     1483                    ],
     1484                    'conditions': [
     1485                        ['OS=="win"', {
     1486                            'copies': [{
     1487                                'destination': '<(PRODUCT_DIR)/plugins',
     1488                                'files': ['<(PRODUCT_DIR)/npTestNetscapePlugIn.dll'],
     1489                            }],
     1490                        }],
     1491                        ['OS=="mac"', {
     1492                            'dependencies': ['TestNetscapePlugIn'],
     1493                            'copies': [{
     1494                                'destination': '<(PRODUCT_DIR)/plugins/',
     1495                                'files': ['<(PRODUCT_DIR)/TestNetscapePlugIn.plugin/'],
     1496                            }],
     1497                        }],
     1498                        ['os_posix == 1 and OS != "mac"', {
     1499                            'copies': [{
     1500                                'destination': '<(PRODUCT_DIR)/plugins',
     1501                                'files': ['<(PRODUCT_DIR)/libTestNetscapePlugIn.so'],
     1502                            }],
     1503                        }],
     1504                    ],
     1505                },
     1506                {
     1507                    'target_name': 'TestWebKitAPI',
     1508                    'type': 'executable',
     1509                    'dependencies': [
     1510                        'webkit',
     1511                        '../../WebCore/WebCore.gyp/WebCore.gyp:webcore',
     1512                        '<(chromium_src_dir)/base/base.gyp:test_support_base',
     1513                        '<(chromium_src_dir)/testing/gtest.gyp:gtest',
     1514                        '<(chromium_src_dir)/testing/gmock.gyp:gmock',
     1515                        '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support',
     1516                    ],
     1517                    'include_dirs': [
     1518                        '../../../Tools/TestWebKitAPI',
     1519                        # Needed by tests/RunAllTests.cpp, as well as ChromiumCurrentTime.cpp and
     1520                        # ChromiumThreading.cpp in chromium shared library configuration.
     1521                        'public',
     1522                    ],
     1523                    'sources': [
     1524                        # Reuse the same testing driver of Chromium's webkit_unit_tests.
     1525                        'tests/RunAllTests.cpp',
     1526                        '<@(TestWebKitAPI_files)',
     1527                    ],
     1528                    'conditions': [
     1529                        ['inside_chromium_build==1 and component=="shared_library"', {
     1530                            'sources': [
     1531                                # To satisfy linking of WTF::currentTime() etc. in shared library configuration,
     1532                                # as the symbols are not exported from the DLLs.
     1533                                'src/ChromiumCurrentTime.cpp',
     1534                                'src/ChromiumThreading.cpp',
     1535                            ],
     1536                        }],
     1537                    ],
     1538                },
     1539            ], # targets
     1540            'conditions': [
     1541                ['OS=="win"', {
     1542                    'targets': [{
     1543                        'target_name': 'LayoutTestHelper',
     1544                        'type': 'executable',
     1545                        'sources': ['../../../Tools/DumpRenderTree/chromium/LayoutTestHelperWin.cpp'],
     1546                    }],
     1547                }],
     1548                ['OS="mac"', {
     1549                    'targets': [{
     1550                        'target_name': 'LayoutTestHelper',
     1551                        'type': 'executable',
     1552                        'sources': ['../../../Tools/DumpRenderTree/chromium/LayoutTestHelper.mm'],
     1553                        'link_settings': {
     1554                            'libraries': [
     1555                                '$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
     1556                            ],
     1557                        },
     1558                    }],
     1559                }],
     1560            ],
     1561        }],
    15491562    ], # conditions
    15501563}
    1551 
    1552 # Local Variables:
    1553 # tab-width:2
    1554 # indent-tabs-mode:nil
    1555 # End:
    1556 # vim: set expandtab tabstop=2 shiftwidth=2:
  • trunk/Source/WebKit/chromium/gyp_webkit

    r101011 r102201  
    121121               '-Dmsvs_use_common_release=0',
    122122               '-Ddisable_nacl=1',
     123               '-Dbuild_webkit_exes_from_webkit_gyp=0',
    123124
    124125               # WebKit doesn't use the chromium style checker.
     
    130131
    131132               # gyp file to execute.
    132                'WebKit.gyp'])
     133               'All.gyp'])
    133134
    134135  print 'Updating webkit projects from gyp files...'
  • trunk/Tools/ChangeLog

    r102163 r102201  
     12011-12-06  Dirk Pranke  <dpranke@chromium.org>
     2
     3        binaries in webkit.gyp should be split into a new file to break circular dependencies on webkit_support
     4        https://bugs.webkit.org/show_bug.cgi?id=73382
     5
     6        Reviewed by Tony Chang.
     7
     8        XCode (and hence GYP) can't handle circular dependencies between
     9        files (and projects). Accordingly, although the binaries in
     10        WebKit.gyp depend on webkit_support and webkit_support depends
     11        on webkit, we don't mention the latter dependency in the file.
     12        To fix this, this change moves the binaries like DRT into a new
     13        GYP file, and modifies gyp_webkit to build from that file
     14        instead of WebKit.gyp.
     15
     16        * Tools.gyp: Added.
     17
    1182011-12-06  Adam Roben  <aroben@apple.com>
    219
Note: See TracChangeset for help on using the changeset viewer.