Home | History | Annotate | Download | only in sync
      1 # Copyright 2013 The Chromium Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 {
      6   'variables': {
      7     'chromium_code': 1,
      8   },
      9 
     10   'includes': [
     11     'sync_android.gypi',
     12     'sync_tests.gypi',
     13   ],
     14 
     15   'targets': [
     16     # This target will add '-lsync_core' and '-lsync_proto' to the link line of
     17     # targets that depend on it.  Anything that depends on sync code should
     18     # declare a dependency on this target.
     19     {
     20       'target_name': 'sync',
     21       'type': 'none',
     22       'dependencies': [
     23         'sync_core',
     24         'sync_proto',
     25       ],
     26       'export_dependent_settings': [
     27         'sync_proto',
     28       ],
     29     },
     30 
     31     # Contains everything related to sync implementation that does not depend
     32     # on chrome/ or components/.  Do not depend on this directly.  Depend on
     33     # the 'sync' target to get the sync protobufs, too.
     34     {
     35       'target_name': 'sync_core',
     36       'type': '<(component)',
     37       'variables': { 'enable_wexit_time_desctructors': 1, },
     38       'defines': [
     39         'SYNC_IMPLEMENTATION',
     40       ],
     41       'include_dirs': [
     42         '..',
     43       ],
     44       'dependencies': [
     45         '../base/base.gyp:base',
     46         '../base/base.gyp:base_i18n',
     47         '../crypto/crypto.gyp:crypto',
     48         '../google_apis/google_apis.gyp:google_apis',
     49         '../net/net.gyp:net',
     50         '../sql/sql.gyp:sql',
     51         '../third_party/protobuf/protobuf.gyp:protobuf_lite',
     52         '../third_party/zlib/zlib.gyp:zlib',
     53         '../url/url.gyp:url_lib',
     54         'sync_proto',
     55       ],
     56       'export_dependent_settings': [
     57         'sync_proto',
     58       ],
     59       'sources': [
     60         'api/attachments/attachment.cc',
     61         'api/attachments/attachment.h',
     62         'api/attachments/attachment_id.cc',
     63         'api/attachments/attachment_id.h',
     64         'api/attachments/attachment_store.cc',
     65         'api/attachments/attachment_store.h',
     66         'api/attachments/fake_attachment_store.cc',
     67         'api/attachments/fake_attachment_store.h',
     68         'api/string_ordinal.h',
     69         'api/sync_change.cc',
     70         'api/sync_change.h',
     71         'api/sync_change_processor.cc',
     72         'api/sync_change_processor.h',
     73         'api/sync_data.cc',
     74         'api/sync_data.h',
     75         'api/sync_error.cc',
     76         'api/sync_error.h',
     77         'api/sync_error_factory.cc',
     78         'api/sync_error_factory.h',
     79         'api/sync_merge_result.cc',
     80         'api/sync_merge_result.h',
     81         'api/syncable_service.cc',
     82         'api/syncable_service.h',
     83         'api/time.h',
     84         'base/sync_export.h',
     85         'engine/all_status.cc',
     86         'engine/all_status.h',
     87         'engine/apply_control_data_updates.cc',
     88         'engine/apply_control_data_updates.h',
     89         'engine/backoff_delay_provider.cc',
     90         'engine/backoff_delay_provider.h',
     91         'engine/commit.cc',
     92         'engine/commit.h',
     93         'engine/commit_contribution.cc',
     94         'engine/commit_contribution.h',
     95         'engine/commit_contributor.cc',
     96         'engine/commit_contributor.h',
     97         'engine/commit_processor.cc',
     98         'engine/commit_processor.h',
     99         'engine/commit_util.cc',
    100         'engine/commit_util.h',
    101         'engine/conflict_resolver.cc',
    102         'engine/conflict_resolver.h',
    103         'engine/conflict_util.cc',
    104         'engine/conflict_util.h',
    105         'engine/directory_commit_contribution.cc',
    106         'engine/directory_commit_contribution.h',
    107         'engine/directory_commit_contributor.cc',
    108         'engine/directory_commit_contributor.h',
    109         'engine/directory_update_handler.cc',
    110         'engine/directory_update_handler.h',
    111         'engine/entity_tracker.cc',
    112         'engine/entity_tracker.h',
    113         'engine/get_commit_ids.cc',
    114         'engine/get_commit_ids.h',
    115         'engine/get_updates_delegate.cc',
    116         'engine/get_updates_delegate.h',
    117         'engine/get_updates_processor.cc',
    118         'engine/get_updates_processor.h',
    119         'engine/model_type_entity.cc',
    120         'engine/model_type_entity.h',
    121         'engine/model_type_sync_proxy.cc',
    122         'engine/model_type_sync_proxy.h',
    123         'engine/model_type_sync_proxy_impl.cc',
    124         'engine/model_type_sync_proxy_impl.h',
    125         'engine/model_type_sync_worker.cc',
    126         'engine/model_type_sync_worker.h',
    127         'engine/model_type_sync_worker_impl.cc',
    128         'engine/model_type_sync_worker_impl.h',
    129         'engine/net/server_connection_manager.cc',
    130         'engine/net/server_connection_manager.h',
    131         'engine/net/url_translator.cc',
    132         'engine/net/url_translator.h',
    133         'engine/non_blocking_type_commit_contribution.cc',
    134         'engine/non_blocking_type_commit_contribution.h',
    135         'engine/nudge_handler.cc',
    136         'engine/nudge_handler.h',
    137         'engine/nudge_source.cc',
    138         'engine/nudge_source.h',
    139         'engine/process_updates_util.cc',
    140         'engine/process_updates_util.h',
    141         'engine/sync_cycle_event.cc',
    142         'engine/sync_cycle_event.h',
    143         'engine/sync_engine_event_listener.cc',
    144         'engine/sync_engine_event_listener.h',
    145         'engine/sync_scheduler.cc',
    146         'engine/sync_scheduler.h',
    147         'engine/sync_scheduler_impl.cc',
    148         'engine/sync_scheduler_impl.h',
    149         'engine/syncer.cc',
    150         'engine/syncer.h',
    151         'engine/syncer_proto_util.cc',
    152         'engine/syncer_proto_util.h',
    153         'engine/syncer_types.h',
    154         'engine/syncer_util.cc',
    155         'engine/syncer_util.h',
    156         'engine/traffic_logger.cc',
    157         'engine/traffic_logger.h',
    158         'engine/update_applicator.cc',
    159         'engine/update_applicator.h',
    160         'engine/update_handler.cc',
    161         'engine/update_handler.h',
    162         'internal_api/attachments/attachment_downloader.cc',
    163         'internal_api/attachments/attachment_downloader_impl.cc',
    164         'internal_api/attachments/attachment_service.cc',
    165         'internal_api/attachments/attachment_service_impl.cc',
    166         'internal_api/attachments/attachment_service_proxy.cc',
    167         'internal_api/attachments/attachment_service_proxy_for_test.cc',
    168         'internal_api/attachments/attachment_uploader.cc',
    169         'internal_api/attachments/attachment_uploader_impl.cc',
    170         'internal_api/attachments/fake_attachment_downloader.cc',
    171         'internal_api/attachments/fake_attachment_uploader.cc',
    172         'internal_api/attachments/task_queue.cc',
    173         'internal_api/base_node.cc',
    174         'internal_api/base_transaction.cc',
    175         'internal_api/change_record.cc',
    176         'internal_api/change_reorder_buffer.cc',
    177         'internal_api/change_reorder_buffer.h',
    178         'internal_api/debug_info_event_listener.cc',
    179         'internal_api/debug_info_event_listener.h',
    180         'internal_api/delete_journal.cc',
    181         'internal_api/events/commit_request_event.cc',
    182         'internal_api/events/commit_response_event.cc',
    183         'internal_api/events/configure_get_updates_request_event.cc',
    184         'internal_api/events/get_updates_response_event.cc',
    185         'internal_api/events/normal_get_updates_request_event.cc',
    186         'internal_api/events/poll_get_updates_request_event.cc',
    187         'internal_api/events/protocol_event.cc',
    188         'internal_api/http_bridge.cc',
    189         'internal_api/http_bridge_network_resources.cc',
    190         'internal_api/internal_components_factory_impl.cc',
    191         'internal_api/js_mutation_event_observer.cc',
    192         'internal_api/js_mutation_event_observer.h',
    193         'internal_api/js_sync_encryption_handler_observer.cc',
    194         'internal_api/js_sync_encryption_handler_observer.h',
    195         'internal_api/js_sync_manager_observer.cc',
    196         'internal_api/js_sync_manager_observer.h',
    197         'internal_api/protocol_event_buffer.cc',
    198         'internal_api/protocol_event_buffer.h',
    199         'internal_api/attachments/public/attachment_downloader.h',
    200         'internal_api/attachments/public/attachment_service.h',
    201         'internal_api/attachments/public/attachment_service_impl.h',
    202         'internal_api/attachments/public/attachment_service_proxy_for_test.h',
    203         'internal_api/attachments/public/attachment_service_proxy.h',
    204         'internal_api/attachments/public/attachment_uploader.h',
    205         'internal_api/public/attachments/attachment_downloader_impl.h',
    206         'internal_api/public/attachments/attachment_uploader_impl.h',
    207         'internal_api/public/attachments/fake_attachment_downloader.h',
    208         'internal_api/public/attachments/fake_attachment_uploader.h',
    209         'internal_api/public/attachments/task_queue.h',
    210         'internal_api/public/base/attachment_id_proto.cc',
    211         'internal_api/public/base/attachment_id_proto.h',
    212         'internal_api/public/base/cancelation_observer.cc',
    213         'internal_api/public/base/cancelation_observer.h',
    214         'internal_api/public/base/cancelation_signal.cc',
    215         'internal_api/public/base/cancelation_signal.h',
    216         'internal_api/public/base/enum_set.h',
    217         'internal_api/public/base/enum_set.h',
    218         'internal_api/public/base/invalidation_interface.cc',
    219         'internal_api/public/base/invalidation_interface.h',
    220         'internal_api/public/base/model_type.h',
    221         'internal_api/public/base/node_ordinal.cc',
    222         'internal_api/public/base/node_ordinal.h',
    223         'internal_api/public/base/ordinal.h',
    224         'internal_api/public/base/progress_marker_map.cc',
    225         'internal_api/public/base/progress_marker_map.h',
    226         'internal_api/public/base/unique_position.cc',
    227         'internal_api/public/base/unique_position.h',
    228         'internal_api/public/base_node.h',
    229         'internal_api/public/base_transaction.h',
    230         'internal_api/public/change_record.h',
    231         'internal_api/public/configure_reason.h',
    232         'internal_api/public/data_type_association_stats.cc',
    233         'internal_api/public/data_type_association_stats.h',
    234         'internal_api/public/data_type_debug_info_listener.cc',
    235         'internal_api/public/data_type_debug_info_listener.h',
    236         'internal_api/public/delete_journal.h',
    237         'internal_api/public/engine/model_safe_worker.cc',
    238         'internal_api/public/engine/model_safe_worker.h',
    239         'internal_api/public/engine/passive_model_worker.cc',
    240         'internal_api/public/engine/passive_model_worker.h',
    241         'internal_api/public/engine/polling_constants.cc',
    242         'internal_api/public/engine/polling_constants.h',
    243         'internal_api/public/engine/sync_status.cc',
    244         'internal_api/public/engine/sync_status.h',
    245         'internal_api/public/events/commit_request_event.h',
    246         'internal_api/public/events/commit_response_event.h',
    247         'internal_api/public/events/configure_get_updates_request_event.h',
    248         'internal_api/public/events/get_updates_response_event.h',
    249         'internal_api/public/events/normal_get_updates_request_event.h',
    250         'internal_api/public/events/poll_get_updates_request_event.h',
    251         'internal_api/public/events/protocol_event.h',
    252         'internal_api/public/http_bridge.h',
    253         'internal_api/public/http_bridge_network_resources.h',
    254         'internal_api/public/http_post_provider_factory.h',
    255         'internal_api/public/http_post_provider_interface.h',
    256         'internal_api/public/internal_components_factory.h',
    257         'internal_api/public/internal_components_factory_impl.h',
    258         'internal_api/public/network_resources.h',
    259         'internal_api/public/non_blocking_sync_common.cc',
    260         'internal_api/public/non_blocking_sync_common.h',
    261         'internal_api/public/read_node.h',
    262         'internal_api/public/read_transaction.h',
    263         'internal_api/public/shutdown_reason.h',
    264         'internal_api/public/sessions/commit_counters.cc',
    265         'internal_api/public/sessions/commit_counters.h',
    266         'internal_api/public/sessions/model_neutral_state.cc',
    267         'internal_api/public/sessions/model_neutral_state.h',
    268         'internal_api/public/sessions/status_counters.cc',
    269         'internal_api/public/sessions/status_counters.h',
    270         'internal_api/public/sessions/sync_session_snapshot.cc',
    271         'internal_api/public/sessions/sync_session_snapshot.h',
    272         'internal_api/public/sessions/type_debug_info_observer.cc',
    273         'internal_api/public/sessions/type_debug_info_observer.h',
    274         'internal_api/public/sessions/update_counters.cc',
    275         'internal_api/public/sessions/update_counters.h',
    276         'internal_api/public/sync_auth_provider.h',
    277         'internal_api/public/sync_context.h',
    278         'internal_api/public/sync_context_proxy.h',
    279         'internal_api/public/sync_encryption_handler.cc',
    280         'internal_api/public/sync_encryption_handler.h',
    281         'internal_api/public/sync_manager.cc',
    282         'internal_api/public/sync_manager.h',
    283         'internal_api/public/sync_manager_factory.h',
    284         'internal_api/public/user_share.h',
    285         'internal_api/public/util/experiments.h',
    286         'internal_api/public/util/immutable.h',
    287         'internal_api/public/util/report_unrecoverable_error_function.h',
    288         'internal_api/public/util/sync_db_util.h',
    289         'internal_api/public/util/sync_string_conversions.cc',
    290         'internal_api/public/util/sync_string_conversions.h',
    291         'internal_api/public/util/syncer_error.cc',
    292         'internal_api/public/util/syncer_error.h',
    293         'internal_api/public/util/unrecoverable_error_handler.h',
    294         'internal_api/public/util/unrecoverable_error_info.cc',
    295         'internal_api/public/util/unrecoverable_error_info.h',
    296         'internal_api/public/util/weak_handle.cc',
    297         'internal_api/public/util/weak_handle.h',
    298         'internal_api/public/write_node.h',
    299         'internal_api/public/write_transaction.h',
    300         'internal_api/read_node.cc',
    301         'internal_api/read_transaction.cc',
    302         'internal_api/sync_backup_manager.cc',
    303         'internal_api/sync_backup_manager.h',
    304         'internal_api/sync_context.cc',
    305         'internal_api/sync_context_proxy.cc',
    306         'internal_api/sync_context_proxy_impl.cc',
    307         'internal_api/sync_context_proxy_impl.h',
    308         'internal_api/sync_db_util.cc',
    309         'internal_api/sync_encryption_handler_impl.cc',
    310         'internal_api/sync_encryption_handler_impl.h',
    311         'internal_api/sync_manager_factory.cc',
    312         'internal_api/sync_manager_impl.cc',
    313         'internal_api/sync_manager_impl.h',
    314         'internal_api/sync_rollback_manager.cc',
    315         'internal_api/sync_rollback_manager.h',
    316         'internal_api/sync_rollback_manager_base.cc',
    317         'internal_api/sync_rollback_manager_base.h',
    318         'internal_api/syncapi_internal.cc',
    319         'internal_api/syncapi_internal.h',
    320         'internal_api/syncapi_server_connection_manager.cc',
    321         'internal_api/syncapi_server_connection_manager.h',
    322         'internal_api/user_share.cc',
    323         'internal_api/write_node.cc',
    324         'internal_api/write_transaction.cc',
    325         'js/js_backend.h',
    326         'js/js_controller.h',
    327         'js/js_event_details.cc',
    328         'js/js_event_details.h',
    329         'js/js_event_handler.h',
    330         'js/sync_js_controller.cc',
    331         'js/sync_js_controller.h',
    332         'protocol/proto_enum_conversions.cc',
    333         'protocol/proto_enum_conversions.h',
    334         'protocol/proto_value_conversions.cc',
    335         'protocol/proto_value_conversions.h',
    336         'protocol/sync_protocol_error.cc',
    337         'protocol/sync_protocol_error.h',
    338         'sessions/data_type_tracker.cc',
    339         'sessions/data_type_tracker.h',
    340         'sessions/debug_info_getter.h',
    341         'sessions/directory_type_debug_info_emitter.cc',
    342         'sessions/directory_type_debug_info_emitter.h',
    343         'sessions/model_type_registry.cc',
    344         'sessions/model_type_registry.h',
    345         'sessions/nudge_tracker.cc',
    346         'sessions/nudge_tracker.h',
    347         'sessions/status_controller.cc',
    348         'sessions/status_controller.h',
    349         'sessions/sync_session.cc',
    350         'sessions/sync_session.h',
    351         'sessions/sync_session_context.cc',
    352         'sessions/sync_session_context.h',
    353         'syncable/blob.h',
    354         'syncable/deferred_on_disk_directory_backing_store.cc',
    355         'syncable/deferred_on_disk_directory_backing_store.h',
    356         'syncable/dir_open_result.h',
    357         'syncable/directory.cc',
    358         'syncable/directory.h',
    359         'syncable/directory_backing_store.cc',
    360         'syncable/directory_backing_store.h',
    361         'syncable/directory_change_delegate.h',
    362         'syncable/entry.cc',
    363         'syncable/entry.h',
    364         'syncable/entry_kernel.cc',
    365         'syncable/entry_kernel.h',
    366         'syncable/in_memory_directory_backing_store.cc',
    367         'syncable/in_memory_directory_backing_store.h',
    368         'syncable/invalid_directory_backing_store.cc',
    369         'syncable/invalid_directory_backing_store.h',
    370         'syncable/metahandle_set.h',
    371         'syncable/model_neutral_mutable_entry.cc',
    372         'syncable/model_neutral_mutable_entry.h',
    373         'syncable/model_type.cc',
    374         'syncable/mutable_entry.cc',
    375         'syncable/mutable_entry.h',
    376         'syncable/nigori_handler.cc',
    377         'syncable/nigori_handler.h',
    378         'syncable/nigori_util.cc',
    379         'syncable/nigori_util.h',
    380         'syncable/on_disk_directory_backing_store.cc',
    381         'syncable/on_disk_directory_backing_store.h',
    382         'syncable/parent_child_index.cc',
    383         'syncable/parent_child_index.h',
    384         'syncable/scoped_kernel_lock.cc',
    385         'syncable/scoped_kernel_lock.h',
    386         'syncable/scoped_parent_child_index_updater.cc',
    387         'syncable/scoped_parent_child_index_updater.h',
    388         'syncable/syncable-inl.h',
    389         'syncable/syncable_base_transaction.cc',
    390         'syncable/syncable_base_transaction.h',
    391         'syncable/syncable_base_write_transaction.cc',
    392         'syncable/syncable_base_write_transaction.h',
    393         'syncable/syncable_changes_version.h',
    394         'syncable/syncable_columns.h',
    395         'syncable/syncable_delete_journal.cc',
    396         'syncable/syncable_delete_journal.h',
    397         'syncable/syncable_enum_conversions.cc',
    398         'syncable/syncable_enum_conversions.h',
    399         'syncable/syncable_id.cc',
    400         'syncable/syncable_id.h',
    401         'syncable/syncable_model_neutral_write_transaction.cc',
    402         'syncable/syncable_model_neutral_write_transaction.h',
    403         'syncable/syncable_proto_util.cc',
    404         'syncable/syncable_proto_util.h',
    405         'syncable/syncable_read_transaction.cc',
    406         'syncable/syncable_read_transaction.h',
    407         'syncable/syncable_util.cc',
    408         'syncable/syncable_util.h',
    409         'syncable/syncable_write_transaction.cc',
    410         'syncable/syncable_write_transaction.h',
    411         'syncable/transaction_observer.h',
    412         'syncable/write_transaction_info.cc',
    413         'syncable/write_transaction_info.h',
    414         'util/cryptographer.cc',
    415         'util/cryptographer.h',
    416         'util/data_type_histogram.h',
    417         'util/encryptor.h',
    418         'util/extensions_activity.cc',
    419         'util/extensions_activity.h',
    420         'util/get_session_name.cc',
    421         'util/get_session_name.h',
    422         'util/get_session_name_ios.h',
    423         'util/get_session_name_ios.mm',
    424         'util/get_session_name_linux.cc',
    425         'util/get_session_name_linux.h',
    426         'util/get_session_name_mac.h',
    427         'util/get_session_name_mac.mm',
    428         'util/get_session_name_win.cc',
    429         'util/get_session_name_win.h',
    430         'util/logging.cc',
    431         'util/logging.h',
    432         'util/nigori.cc',
    433         'util/nigori.h',
    434         'util/time.cc',
    435         'util/time.h',
    436       ],
    437 
    438       'conditions': [
    439         ['OS=="linux" and chromeos==1', {
    440           # Required by get_session_name.cc on Chrome OS.
    441           'dependencies': [
    442             '../chromeos/chromeos.gyp:chromeos',
    443             ],
    444         }],
    445       ],
    446     },
    447     {
    448       # Contains sync protobuf definitions.  Do not depend on this directly.
    449       # Depend on the 'sync' target to get the relevant C++ code, too.
    450       #
    451       # GN version: //sync/protocol
    452       'target_name': 'sync_proto',
    453       'type': '<(component)',
    454       'include_dirs': [
    455         '..',
    456       ],
    457       'defines': [
    458         'SYNC_PROTO_IMPLEMENTATION',
    459       ],
    460       'sources': [
    461         # NOTE: If you add a file to this list, also add it to
    462         # sync/protocol/BUILD.gn
    463         'protocol/app_notification_specifics.proto',
    464         'protocol/app_setting_specifics.proto',
    465         'protocol/app_specifics.proto',
    466         'protocol/app_list_specifics.proto',
    467         'protocol/article_specifics.proto',
    468         'protocol/attachments.proto',
    469         'protocol/autofill_specifics.proto',
    470         'protocol/bookmark_specifics.proto',
    471         'protocol/client_commands.proto',
    472         'protocol/client_debug_info.proto',
    473         'protocol/device_info_specifics.proto',
    474         'protocol/dictionary_specifics.proto',
    475         'protocol/encryption.proto',
    476         'protocol/experiment_status.proto',
    477         'protocol/experiments_specifics.proto',
    478         'protocol/extension_setting_specifics.proto',
    479         'protocol/extension_specifics.proto',
    480         'protocol/favicon_image_specifics.proto',
    481         'protocol/favicon_tracking_specifics.proto',
    482         'protocol/get_updates_caller_info.proto',
    483         'protocol/history_delete_directive_specifics.proto',
    484         'protocol/nigori_specifics.proto',
    485         'protocol/managed_user_setting_specifics.proto',
    486         'protocol/managed_user_shared_setting_specifics.proto',
    487         'protocol/managed_user_specifics.proto',
    488         'protocol/password_specifics.proto',
    489         'protocol/preference_specifics.proto',
    490         'protocol/priority_preference_specifics.proto',
    491         'protocol/search_engine_specifics.proto',
    492         'protocol/session_specifics.proto',
    493         'protocol/sync.proto',
    494         'protocol/sync_enums.proto',
    495         'protocol/synced_notification_app_info_specifics.proto',
    496         'protocol/synced_notification_data.proto',
    497         'protocol/synced_notification_render.proto',
    498         'protocol/synced_notification_specifics.proto',
    499         'protocol/test.proto',
    500         'protocol/theme_specifics.proto',
    501         'protocol/typed_url_specifics.proto',
    502         'protocol/unique_position.proto',
    503       ],
    504       'variables': {
    505         'enable_wexit_time_desctructors': 1,
    506         'proto_in_dir': './protocol',
    507         'proto_out_dir': 'sync/protocol',
    508         'cc_generator_options': 'dllexport_decl=SYNC_PROTO_EXPORT:',
    509         'cc_include': 'sync/protocol/sync_proto_export.h',
    510       },
    511       'includes': [
    512         '../build/protoc.gypi'
    513       ],
    514     },
    515   ],
    516 }
    517