{
  'target_defaults': {
    'defines': [
      'OS_CHROMEOS',
      'USE_CHEETS=<(USE_cheets)',
      'USE_NSS_CERTS',
      'USE_SYSTEMD=<(USE_systemd)',
    ],
    'variables': {
      'deps': [
        'dbus-1',
        'libbrillo-<(libbase_ver)',
        'libchrome-<(libbase_ver)',
        'libchromeos-ui-<(libbase_ver)',
        'libcontainer',
        'libcros_config',
        'libmetrics-<(libbase_ver)',
        'libminijail',
        'nss',
        # system_api depends on protobuf (or protobuf-lite). It must appear
        # before protobuf here or the linker flags won't be in the right
        # order.
        'system_api',
        'protobuf-lite',
        'vboot_host',
      ],
    },
  },
  'targets': [
    {
      # For naming, '-adaptors' suffix uses hyphen, but 'session_manager' uses
      # underscore. So, here intentionally mix them.
      'target_name': 'session_manager-adaptors',
      'type': 'none',
      'variables': {
        'dbus_service_config': 'dbus_bindings/dbus-service-config.json',
        'dbus_adaptors_out_dir': 'include/login_manager/dbus_adaptors',
      },
      'sources': [
        'dbus_bindings/org.chromium.SessionManagerInterface.xml',
      ],
      'includes': ['../common-mk/generate-dbus-adaptors.gypi'],
    },
    {
      'target_name': 'libsession_manager',
      'type': 'static_library',
      'dependencies': [
        'session_manager-adaptors',
        '../common-mk/external_dependencies.gyp:install_attributes-proto',
        '../common-mk/external_dependencies.gyp:policy-protos',
      ],
      'link_settings': {
        'libraries': [
          '-lbootstat',
          '-linstallattributes-<(libbase_ver)',
          '-lpolicy-<(libbase_ver)',
        ],
      },
      'sources': [
        'blob_util.cc',
        'browser_job.cc',
        'child_exit_handler.cc',
        'child_job.cc',
        'chrome_setup.cc',
        'container_config_parser.cc',
        'container_manager_impl.cc',
        'container_manager_interface.cc',
        'crossystem.cc',
        'crossystem_impl.cc',
        'cumulative_use_time_metric.cc',
        'dbus_util.cc',
        'device_local_account_policy_service.cc',
        'device_policy_service.cc',
        'file_checker.cc',
        'generator_job.cc',
        'key_generator.cc',
        'liveness_checker_impl.cc',
        'login_metrics.cc',
        'named_platform_handle_utils_posix.cc',
        'nss_util.cc',
        'owner_key_loss_mitigator.cc',
        'policy_key.cc',
        'policy_service.cc',
        'policy_store.cc',
        'regen_mitigator.cc',
        'server_backed_state_key_generator.cc',
        'session_manager_impl.cc',
        'session_manager_service.cc',
        'system_utils_impl.cc',
        'systemd_unit_starter.cc',
        'termina_manager_impl.cc',
        'upstart_signal_emitter.cc',
        'user_policy_service.cc',
        'user_policy_service_factory.cc',
        'vpd_process_impl.cc',
      ],
      'variables': {
        'USE_android_container_master_arc_dev%': 0,
      },
      'conditions': [
        ['USE_android_container_master_arc_dev == 1', {
          'sources': [
            'android_oci_wrapper.cc',
          ],
          'defines': [
            'USE_ANDROID_MASTER_CONTAINER=1',
          ],
        }, { # USE_android_container_master_arc_dev != 1
          'sources': [
            'android_container_manager_impl.cc',
          ],
          'defines': [
            'USE_ANDROID_MASTER_CONTAINER=0',
          ],
        }],
      ],
    },
    {
      'target_name': 'keygen',
      'type': 'executable',
      'sources': [
        'keygen.cc',
        'keygen_worker.cc',
        'named_platform_handle_utils_posix.cc',
        'nss_util.cc',
        'policy_key.cc',
        'system_utils_impl.cc',
      ],
    },
    {
      'target_name': 'session_manager',
      'type': 'executable',
      'libraries': [
        '-lrootdev',
        '-lcontainer',
      ],
      'dependencies': ['libsession_manager'],
      'sources': ['session_manager_main.cc'],
    },
  ],
  'conditions': [
    ['USE_test == 1', {
      'targets': [
        {
          'target_name': 'session_manager_test',
          'type': 'executable',
          'includes': ['../common-mk/common_test.gypi'],
          'defines': ['UNIT_TEST'],
          'dependencies': ['libsession_manager'],
          'variables': {
            'deps': [
              'libbrillo-test-<(libbase_ver)',
              'libchrome-test-<(libbase_ver)',
              'libcros_config',
            ],
            'USE_android_container_master_arc_dev%': 0,
          },
          'sources': [
            'browser_job_unittest.cc',
            'child_exit_handler_unittest.cc',
            'chrome_setup_unittest.cc',
            'container_config_parser_unittest.cc',
            'cumulative_use_time_metric_unittest.cc',
            'device_local_account_policy_service_unittest.cc',
            'device_policy_service_unittest.cc',
            'fake_browser_job.cc',
            'fake_child_process.cc',
            'fake_container_manager.cc',
            'fake_crossystem.cc',
            'fake_generated_key_handler.cc',
            'fake_generator_job.cc',
            'fake_termina_manager.cc',
            'key_generator_unittest.cc',
            'keygen_worker.cc',
            'liveness_checker_impl_unittest.cc',
            'login_metrics_unittest.cc',
            'mock_constructors.cc',
            'mock_nss_util.cc',
            'nss_util_unittest.cc',
            'policy_key_unittest.cc',
            'policy_service_unittest.cc',
            'policy_store_unittest.cc',
            'regen_mitigator_unittest.cc',
            'server_backed_state_key_generator_unittest.cc',
            'session_manager_impl_unittest.cc',
            'session_manager_process_unittest.cc',
            'session_manager_testrunner.cc',
            'system_utils_unittest.cc',
            'user_policy_service_unittest.cc',
          ],
          'conditions': [
            ['USE_android_container_master_arc_dev == 1', {
              'sources': [
                'android_oci_wrapper_unittest.cc',
              ],
              'defines': [
                'USE_ANDROID_MASTER_CONTAINER=1',
              ],
            }, { # USE_android_container_master_arc_dev != 1
              'defines': [
                'USE_ANDROID_MASTER_CONTAINER=0',
              ],
            }],
          ],
        },
      ],
    }],
  ],
}
