1{
2  'target_defaults': {
3    'variables': {
4      'deps': [
5        'libbrillo-<(libbase_ver)',
6        'libchrome-<(libbase_ver)',
7        'libpermission_broker-client',
8      ],
9    },
10  },
11  'targets': [
12    {
13      'target_name': 'libfirewalld',
14      'type': 'static_library',
15      'sources': [
16        'firewall_daemon.cc',
17        'firewall_service.cc',
18        'iptables.cc',
19      ],
20    },
21    {
22      'target_name': 'firewalld-dbus-adaptor',
23      'type': 'none',
24      'variables': {
25        'dbus_service_config': 'dbus_bindings/dbus-service-config.json',
26        'dbus_adaptors_out_dir': 'include/dbus_bindings',
27        'dbus_xml_extension': 'dbus-xml',
28      },
29      'sources': [
30        'dbus_bindings/org.chromium.Firewalld.dbus-xml',
31      ],
32      'includes': ['../common-mk/generate-dbus-adaptors.gypi'],
33    },
34    {
35      'target_name': 'firewalld-dbus-proxies',
36      'type': 'none',
37      'actions': [
38        {
39          'action_name': 'generate-firewalld-dbus-proxies',
40          'variables': {
41            'dbus_service_config': 'dbus_bindings/dbus-service-config.json',
42            'proxy_output_file': 'include/firewalld/dbus-proxies.h',
43            'mock_output_file': 'include/firewalld/dbus-mocks.h',
44            'proxy_path_in_mocks': 'firewalld/dbus-proxies.h',
45          },
46          'sources': [
47            'dbus_bindings/org.chromium.Firewalld.dbus-xml',
48          ],
49          'includes': ['../common-mk/generate-dbus-proxies.gypi'],
50        },
51      ],
52    },
53    {
54      'target_name': 'firewalld',
55      'type': 'executable',
56      'dependencies': [
57        'libfirewalld',
58        'firewalld-dbus-adaptor',
59      ],
60      'sources': ['main.cc'],
61    },
62  ],
63  'conditions': [
64    ['USE_test == 1', {
65      'targets': [
66        {
67          'target_name': 'firewalld_unittest',
68          'type': 'executable',
69          'variables': {
70            'deps': [
71              'libpermission_broker-client-test',
72            ],
73          },
74          'includes': ['../common-mk/common_test.gypi'],
75          'dependencies': ['libfirewalld'],
76          'sources': [
77            'iptables_unittest.cc',
78            'mock_iptables.cc',
79            'run_all_tests.cc',
80          ],
81        },
82      ],
83    }],
84  ],
85}
86