Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(183)

Side by Side Diff: sync/sync.gyp

Issue 11412211: [sync] Componentize sync: Part Final: Target 'sync' is now its own component (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase on r171683 (no code changes) Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 { 5 {
6 'variables': { 6 'variables': {
7 'chromium_code': 1, 7 'chromium_code': 1,
8 }, 8 },
9 'targets': [ 9 'targets': [
10 # The core sync library. 10 # The core sync library.
11 { 11 {
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 }, 202 },
203 203
204 # The sync notifications library. 204 # The sync notifications library.
205 { 205 {
206 'target_name': 'sync_notifier', 206 'target_name': 'sync_notifier',
207 'type': 'static_library', 207 'type': 'static_library',
208 'variables': { 'enable_wexit_time_destructors': 1, }, 208 'variables': { 'enable_wexit_time_destructors': 1, },
209 'include_dirs': [ 209 'include_dirs': [
210 '..', 210 '..',
211 ], 211 ],
212 'defines': [
213 'SYNC_IMPLEMENTATION',
214 ],
212 'dependencies': [ 215 'dependencies': [
213 '../base/base.gyp:base', 216 '../base/base.gyp:base',
214 '../jingle/jingle.gyp:jingle_glue', 217 '../jingle/jingle.gyp:jingle_glue',
215 '../jingle/jingle.gyp:notifier', 218 '../jingle/jingle.gyp:notifier',
216 '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidatio n', 219 '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidatio n',
217 # TODO(akalin): Remove this (http://crbug.com/133352). 220 # TODO(akalin): Remove this (http://crbug.com/133352).
218 '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidatio n_proto_cpp', 221 '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidatio n_proto_cpp',
219 'sync_core', 222 'sync_core',
220 ], 223 ],
221 'export_dependent_settings': [ 224 'export_dependent_settings': [
222 '../jingle/jingle.gyp:notifier', 225 '../jingle/jingle.gyp:notifier',
223 '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidatio n', 226 '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidatio n',
227 'sync_core',
224 ], 228 ],
225 'sources': [ 229 'sources': [
226 'notifier/invalidation_handler.h', 230 'notifier/invalidation_handler.h',
227 'notifier/invalidation_state_tracker.cc', 231 'notifier/invalidation_state_tracker.cc',
228 'notifier/invalidation_state_tracker.h', 232 'notifier/invalidation_state_tracker.h',
229 'notifier/invalidation_util.cc', 233 'notifier/invalidation_util.cc',
230 'notifier/invalidation_util.h', 234 'notifier/invalidation_util.h',
231 'notifier/invalidator_factory.cc', 235 'notifier/invalidator_factory.cc',
232 'notifier/invalidator_factory.h', 236 'notifier/invalidator_factory.h',
233 'notifier/invalidator.h', 237 'notifier/invalidator.h',
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 'notifier/sync_system_resources.h', 269 'notifier/sync_system_resources.h',
266 ], 270 ],
267 }], 271 }],
268 ['OS != "ios"', { 272 ['OS != "ios"', {
269 'dependencies': [ 273 'dependencies': [
270 '../third_party/libjingle/libjingle.gyp:libjingle', 274 '../third_party/libjingle/libjingle.gyp:libjingle',
271 ], 275 ],
272 }], 276 }],
273 ], 277 ],
274 }, 278 },
279
275 # The sync internal API library. 280 # The sync internal API library.
276 { 281 {
277 'target_name': 'sync_internal_api', 282 'target_name': 'sync_internal_api',
278 'type': 'static_library', 283 'type': 'static_library',
279 'variables': { 'enable_wexit_time_destructors': 1, }, 284 'variables': { 'enable_wexit_time_destructors': 1, },
280 'include_dirs': [ 285 'include_dirs': [
281 '..', 286 '..',
282 ], 287 ],
288 'defines': [
289 'SYNC_IMPLEMENTATION',
290 ],
283 'dependencies': [ 291 'dependencies': [
284 '../base/base.gyp:base', 292 '../base/base.gyp:base',
285 '../build/temp_gyp/googleurl.gyp:googleurl', 293 '../build/temp_gyp/googleurl.gyp:googleurl',
286 '../net/net.gyp:net', 294 '../net/net.gyp:net',
287 'protocol/sync_proto.gyp:sync_proto', 295 'protocol/sync_proto.gyp:sync_proto',
288 'sync_core', 296 'sync_core',
289 'sync_notifier', 297 'sync_notifier',
290 ], 298 ],
291 'export_dependent_settings': [ 299 'export_dependent_settings': [
292 # Propagate sync_proto since our headers include its generated 300 # Propagate sync_proto since our headers include its generated
293 # files. 301 # files.
294 'protocol/sync_proto.gyp:sync_proto', 302 'protocol/sync_proto.gyp:sync_proto',
295 'sync_core', 303 'sync_core',
304 'sync_notifier',
296 ], 305 ],
297 'sources': [ 306 'sources': [
298 'internal_api/base_node.cc', 307 'internal_api/base_node.cc',
299 'internal_api/base_transaction.cc', 308 'internal_api/base_transaction.cc',
300 'internal_api/change_record.cc', 309 'internal_api/change_record.cc',
301 'internal_api/change_reorder_buffer.cc', 310 'internal_api/change_reorder_buffer.cc',
302 'internal_api/change_reorder_buffer.h', 311 'internal_api/change_reorder_buffer.h',
303 'internal_api/debug_info_event_listener.cc', 312 'internal_api/debug_info_event_listener.cc',
304 'internal_api/debug_info_event_listener.h', 313 'internal_api/debug_info_event_listener.h',
305 'internal_api/http_bridge.cc', 314 'internal_api/http_bridge.cc',
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 }, 396 },
388 397
389 # The sync external API library. 398 # The sync external API library.
390 { 399 {
391 'target_name': 'sync_api', 400 'target_name': 'sync_api',
392 'type': 'static_library', 401 'type': 'static_library',
393 'variables': { 'enable_wexit_time_destructors': 1, }, 402 'variables': { 'enable_wexit_time_destructors': 1, },
394 'include_dirs': [ 403 'include_dirs': [
395 '..', 404 '..',
396 ], 405 ],
406 'defines': [
407 'SYNC_IMPLEMENTATION',
408 ],
397 'dependencies': [ 409 'dependencies': [
398 '../base/base.gyp:base', 410 '../base/base.gyp:base',
399 'protocol/sync_proto.gyp:sync_proto', 411 'protocol/sync_proto.gyp:sync_proto',
412 'sync_core',
413 'sync_internal_api',
414 ],
415 'export_dependent_settings': [
416 'protocol/sync_proto.gyp:sync_proto',
417 'sync_core',
400 'sync_internal_api', 418 'sync_internal_api',
401 ], 419 ],
402 # We avoid including header files from sync_proto in our public 420 # We avoid including header files from sync_proto in our public
403 # header files so we don't need to export its settings. 421 # header files so we don't need to export its settings.
404 'sources': [ 422 'sources': [
405 'api/string_ordinal.h', 423 'api/string_ordinal.h',
406 'api/syncable_service.cc', 424 'api/syncable_service.cc',
407 'api/syncable_service.h', 425 'api/syncable_service.h',
408 'api/sync_data.h', 426 'api/sync_data.h',
409 'api/sync_data.cc', 427 'api/sync_data.cc',
410 'api/sync_change.h', 428 'api/sync_change.h',
411 'api/sync_change.cc', 429 'api/sync_change.cc',
412 'api/sync_change_processor.h', 430 'api/sync_change_processor.h',
413 'api/sync_change_processor.cc', 431 'api/sync_change_processor.cc',
414 'api/sync_error.h', 432 'api/sync_error.h',
415 'api/sync_error.cc', 433 'api/sync_error.cc',
416 'api/sync_error_factory.h', 434 'api/sync_error_factory.h',
417 'api/sync_error_factory.cc', 435 'api/sync_error_factory.cc',
418 'api/sync_merge_result.h', 436 'api/sync_merge_result.h',
419 'api/sync_merge_result.cc', 437 'api/sync_merge_result.cc',
420 'api/time.h', 438 'api/time.h',
421 ], 439 ],
422 }, 440 },
423 441
424 # The componentized sync library. 442 # The public sync target.
425 { 443 {
426 'target_name': 'sync_component', 444 'target_name': 'sync',
427 # TODO(rsimha): Change the type of this target to '<(component)' after 445 'type': '<(component)',
428 # exporting dependencies on 'sync_proto'. 446 'variables': { 'enable_wexit_time_destructors': 1, },
429 'type': 'none', 447 'defines': [
448 'SYNC_IMPLEMENTATION',
Ryan Sleevi 2012/12/07 03:16:31 This doesn't compile any sources. Why add this?
Raghu Simha 2012/12/07 06:08:33 Removed.
449 ],
430 'dependencies': [ 450 'dependencies': [
451 'protocol/sync_proto.gyp:sync_proto',
Ryan Sleevi 2012/12/07 03:16:31 Why did you add this bit? Seems a bit overkill.
Raghu Simha 2012/12/07 06:08:33 I was under the wrong impression that 'sync' neede
431 'sync_api', 452 'sync_api',
432 'sync_core', 453 'sync_core',
454 'sync_internal_api',
433 'sync_notifier', 455 'sync_notifier',
434 'sync_internal_api',
435 ], 456 ],
436 'export_dependent_settings': [ 457 'export_dependent_settings': [
458 'protocol/sync_proto.gyp:sync_proto',
437 'sync_api', 459 'sync_api',
438 'sync_core', 460 'sync_core',
461 'sync_internal_api',
439 'sync_notifier', 462 'sync_notifier',
440 'sync_internal_api', 463 ],
464 'sources': [
465 # gyp requires at least one dummy file under 'sources'.
466 # TODO(rsimha): Remove this once crbug.com/163033 is fixed.
467 'dummy.cc',
Ryan Sleevi 2012/12/07 03:16:31 So the MSVC issue I was mentioning is that MSVC wi
Raghu Simha 2012/12/07 06:08:33 SGTM.
441 ], 468 ],
442 }, 469 },
443 470
444 # The public sync target. This depends on 'sync_component' and
445 # 'sync_proto' separately since 'sync_proto' isn't exportable from
446 # 'sync_component' (for now).
447 {
448 'target_name': 'sync',
449 'type': 'none',
450 'dependencies': [
451 'sync_component',
452 'protocol/sync_proto.gyp:sync_proto',
453 ],
454 'export_dependent_settings': [
455 'sync_component',
456 'protocol/sync_proto.gyp:sync_proto',
457 ],
458 },
459
460 # Test support files for the 'sync_core' target. 471 # Test support files for the 'sync_core' target.
461 { 472 {
462 'target_name': 'test_support_sync_core', 473 'target_name': 'test_support_sync_core',
463 'type': 'static_library', 474 'type': 'static_library',
464 'variables': { 'enable_wexit_time_destructors': 1, }, 475 'variables': { 'enable_wexit_time_destructors': 1, },
465 'include_dirs': [ 476 'include_dirs': [
466 '..', 477 '..',
467 ], 478 ],
468 'dependencies': [ 479 'dependencies': [
469 '../base/base.gyp:base', 480 '../base/base.gyp:base',
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 # Test support files for the 'sync_notifier' target. 533 # Test support files for the 'sync_notifier' target.
523 { 534 {
524 'target_name': 'test_support_sync_notifier', 535 'target_name': 'test_support_sync_notifier',
525 'type': 'static_library', 536 'type': 'static_library',
526 'include_dirs': [ 537 'include_dirs': [
527 '..', 538 '..',
528 ], 539 ],
529 'dependencies': [ 540 'dependencies': [
530 '../testing/gmock.gyp:gmock', 541 '../testing/gmock.gyp:gmock',
531 '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidatio n_proto_cpp', 542 '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidatio n_proto_cpp',
543 'sync_core',
532 'sync_internal_api', 544 'sync_internal_api',
533 'sync_notifier', 545 'sync_notifier',
534 ], 546 ],
535 'export_dependent_settings': [ 547 'export_dependent_settings': [
536 '../testing/gmock.gyp:gmock', 548 '../testing/gmock.gyp:gmock',
537 '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidatio n_proto_cpp', 549 '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidatio n_proto_cpp',
550 'sync_core',
538 'sync_internal_api', 551 'sync_internal_api',
539 'sync_notifier', 552 'sync_notifier',
540 ], 553 ],
541 'sources': [ 554 'sources': [
542 'notifier/fake_invalidation_state_tracker.cc', 555 'notifier/fake_invalidation_state_tracker.cc',
543 'notifier/fake_invalidation_state_tracker.h', 556 'notifier/fake_invalidation_state_tracker.h',
544 'notifier/fake_invalidator.cc', 557 'notifier/fake_invalidator.cc',
545 'notifier/fake_invalidator.h', 558 'notifier/fake_invalidator.h',
546 'notifier/fake_invalidation_handler.cc', 559 'notifier/fake_invalidation_handler.cc',
547 'notifier/fake_invalidation_handler.h', 560 'notifier/fake_invalidation_handler.h',
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after
889 }, 902 },
890 903
891 # The unit test executable for sync tests. 904 # The unit test executable for sync tests.
892 { 905 {
893 'target_name': 'sync_unit_tests', 906 'target_name': 'sync_unit_tests',
894 'type': '<(gtest_target_type)', 907 'type': '<(gtest_target_type)',
895 # Typed-parametrized tests generate exit-time destructors. 908 # Typed-parametrized tests generate exit-time destructors.
896 'variables': { 'enable_wexit_time_destructors': 0, }, 909 'variables': { 'enable_wexit_time_destructors': 0, },
897 'dependencies': [ 910 'dependencies': [
898 '../base/base.gyp:run_all_unittests', 911 '../base/base.gyp:run_all_unittests',
899 'sync', 912 'sync_api',
900 'sync_api_tests', 913 'sync_api_tests',
901 'sync_core_tests', 914 'sync_core_tests',
902 'sync_internal_api_tests', 915 'sync_internal_api_tests',
903 'sync_notifier_tests', 916 'sync_notifier_tests',
904 ], 917 ],
905 'conditions': [ 918 'conditions': [
906 # TODO(akalin): This is needed because histogram.cc uses 919 # TODO(akalin): This is needed because histogram.cc uses
907 # leak_annotations.h, which pulls this in. Make 'base' 920 # leak_annotations.h, which pulls this in. Make 'base'
908 # propagate this dependency. 921 # propagate this dependency.
909 ['OS=="linux" and linux_use_tcmalloc==1', { 922 ['OS=="linux" and linux_use_tcmalloc==1', {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
943 }, 956 },
944 # A tool to listen to sync notifications and print them out. 957 # A tool to listen to sync notifications and print them out.
945 { 958 {
946 'target_name': 'sync_listen_notifications', 959 'target_name': 'sync_listen_notifications',
947 'type': 'executable', 960 'type': 'executable',
948 'dependencies': [ 961 'dependencies': [
949 '../base/base.gyp:base', 962 '../base/base.gyp:base',
950 '../jingle/jingle.gyp:notifier', 963 '../jingle/jingle.gyp:notifier',
951 '../net/net.gyp:net', 964 '../net/net.gyp:net',
952 '../net/net.gyp:net_test_support', 965 '../net/net.gyp:net_test_support',
953 'sync', 966 'sync_internal_api',
967 'sync_notifier',
954 'sync_tools_helper', 968 'sync_tools_helper',
955 ], 969 ],
956 'sources': [ 970 'sources': [
957 'tools/sync_listen_notifications.cc', 971 'tools/sync_listen_notifications.cc',
958 ], 972 ],
959 }, 973 },
960 974
961 # A standalone command-line sync client. 975 # A standalone command-line sync client.
962 { 976 {
963 'target_name': 'sync_client', 977 'target_name': 'sync_client',
964 'type': 'executable', 978 'type': 'executable',
965 'defines': [ 979 'defines': [
966 'SYNC_TEST', 980 'SYNC_TEST',
967 ], 981 ],
968 'dependencies': [ 982 'dependencies': [
969 '../base/base.gyp:base', 983 '../base/base.gyp:base',
970 '../jingle/jingle.gyp:notifier', 984 '../jingle/jingle.gyp:notifier',
971 '../net/net.gyp:net', 985 '../net/net.gyp:net',
972 '../net/net.gyp:net_test_support', 986 '../net/net.gyp:net_test_support',
973 'sync', 987 'sync_core',
988 'sync_internal_api',
989 'sync_notifier',
974 'sync_tools_helper', 990 'sync_tools_helper',
991 'test_support_sync_core'
975 ], 992 ],
976 'sources': [ 993 'sources': [
977 'tools/sync_client.cc', 994 'tools/sync_client.cc',
978 ], 995 ],
979 }, 996 },
980 ], 997 ],
981 }], 998 }],
982 999
983 # Special target to wrap a gtest_target_type==shared_library 1000 # Special target to wrap a gtest_target_type==shared_library
984 # sync_unit_tests into an android apk for execution. 1001 # sync_unit_tests into an android apk for execution.
985 ['OS == "android" and gtest_target_type == "shared_library"', { 1002 ['OS == "android" and gtest_target_type == "shared_library"', {
986 'targets': [ 1003 'targets': [
987 { 1004 {
988 'target_name': 'sync_unit_tests_apk', 1005 'target_name': 'sync_unit_tests_apk',
989 'type': 'none', 1006 'type': 'none',
990 'dependencies': [ 1007 'dependencies': [
991 'sync_unit_tests', 1008 'sync_unit_tests',
992 ], 1009 ],
993 'variables': { 1010 'variables': {
994 'test_suite_name': 'sync_unit_tests', 1011 'test_suite_name': 'sync_unit_tests',
995 'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)sync_unit _tests<(SHARED_LIB_SUFFIX)', 1012 'input_shlib_path': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)sync_unit _tests<(SHARED_LIB_SUFFIX)',
996 }, 1013 },
997 'includes': [ '../build/apk_test.gypi' ], 1014 'includes': [ '../build/apk_test.gypi' ],
998 }, 1015 },
999 ], 1016 ],
1000 }], 1017 }],
1001 ], 1018 ],
1002 } 1019 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698