15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles){
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  'target_defaults': {
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    'variables': {
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      'chromium_code': 1,
82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      'enable_wexit_time_destructors': 1,
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    },
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    'include_dirs': [
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      '<(DEPTH)',
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      # To allow including "version.h"
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      '<(SHARED_INTERMEDIATE_DIR)',
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    ],
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    'defines' : [
16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      'COMPILE_CONTENT_STATICALLY',
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      'SECURITY_WIN32',
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      'STRICT',
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      '_ATL_APARTMENT_THREADED',
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      '_ATL_CSTRING_EXPLICIT_CONSTRUCTORS',
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      '_ATL_NO_COM_SUPPORT',
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      '_ATL_NO_AUTOMATIC_NAMESPACE',
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      '_ATL_NO_EXCEPTIONS',
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    ],
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    'conditions': [
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      ['OS=="win"', {
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        'msvs_disabled_warnings': [ 4267, ],
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      }],
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ],
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  },
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  'targets': [
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    {
34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      'target_name': 'service_resources',
35c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      'type': 'none',
36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      'variables': {
37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/cloud_print',
38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      },
39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      'actions': [
40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        {
41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)          'action_name': 'service_resources',
42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)          'variables': {
43c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)            'grit_grd_file': 'win/service_resources.grd',
44c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)          },
45c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)          'includes': [ '../../build/grit_action.gypi' ],
46c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        },
47c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      ],
48c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      'includes': [ '../../build/grit_target.gypi' ],
49c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    },
50c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    {
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      'target_name': 'cloud_print_service_lib',
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      'type': 'static_library',
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      'dependencies': [
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        '<(DEPTH)/base/base.gyp:base',
55c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        '<(DEPTH)/base/base.gyp:base_static',
56c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        '<(DEPTH)/base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
570529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch        '<(DEPTH)/components/components.gyp:cloud_devices_common',
58c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        '<(DEPTH)/google_apis/google_apis.gyp:google_apis',
592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        '<(DEPTH)/ipc/ipc.gyp:ipc',
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        '<(DEPTH)/net/net.gyp:net',
61868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)        '<(DEPTH)/url/url.gyp:url_lib',
62c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        'service_resources',
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      ],
642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      'conditions': [
652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        ['OS=="win"', {
662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          'dependencies': [
672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            '<(DEPTH)/chrome/chrome.gyp:chrome_version_header',
682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)            '<(DEPTH)/chrome/chrome.gyp:launcher_support',
69c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)            '<(DEPTH)/chrome/common_constants.gyp:common_constants',
702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)          ],
712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        }],
72f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)        ['enable_printing!=0', {
73f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)          'dependencies': [
74f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)            '<(DEPTH)/printing/printing.gyp:printing',
75f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)          ],
76f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)        }],
772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      ],
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      'sources': [
79c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        '<(DEPTH)/content/public/common/content_switches.h',
80c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        '<(DEPTH)/content/public/common/content_switches.cc',
81c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        '<(DEPTH)/cloud_print/common/win/cloud_print_utils.cc',
82c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        '<(DEPTH)/cloud_print/common/win/cloud_print_utils.h',
83c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        'service_constants.cc',
84c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        'service_constants.h',
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        'service_state.cc',
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        'service_state.h',
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        'service_switches.cc',
885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        'service_switches.h',
895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        'win/chrome_launcher.cc',
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        'win/chrome_launcher.h',
915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        'win/local_security_policy.cc',
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        'win/local_security_policy.h',
932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        'win/service_controller.cc',
942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        'win/service_controller.h',
952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        'win/service_listener.cc',
962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        'win/service_listener.h',
972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        'win/service_utils.cc',
982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        'win/service_utils.h',
992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        'win/setup_listener.cc',
1002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        'win/setup_listener.h',
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      ],
1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    },
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    {
1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      'target_name': 'cloud_print_service',
1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      'type': 'executable',
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      'sources': [
1072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)        '<(SHARED_INTERMEDIATE_DIR)/cloud_print/cloud_print_service_exe_version.rc',
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        'win/cloud_print_service.cc',
109c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      ],
110c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      'includes': [
111c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        'win/service_resources.gypi'
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      ],
1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      'dependencies': [
1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        'cloud_print_service_lib',
1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      ],
1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      'msvs_settings': {
1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        'VCLinkerTool': {
1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          'SubSystem': '1',         # Set /SUBSYSTEM:CONSOLE
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          'UACExecutionLevel': '2', # /level='requireAdministrator'
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          'AdditionalDependencies': [
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'secur32.lib',
1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          ],
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        },
1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      },
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    },
126c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    {
127c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      'target_name': 'cloud_print_service_config',
128c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      'type': 'executable',
129c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      'sources': [
130c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        '<(SHARED_INTERMEDIATE_DIR)/cloud_print/cloud_print_service_config_exe_version.rc',
131c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        'win/cloud_print_service_config.cc',
132c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      ],
133c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      'includes': [
134c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        'win/service_resources.gypi'
135c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      ],
136c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      'dependencies': [
137c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        '<(DEPTH)/cloud_print/common/common.gyp:cloud_print_install_lib',
138c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        'cloud_print_service_lib',
139c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      ],
140c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      'msvs_settings': {
1415d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        'VCManifestTool': {
1425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          'AdditionalManifestFiles': [
1435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)            'common-controls.manifest',
1445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)          ],
1455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)        },
146c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        'VCLinkerTool': {
147c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)          'SubSystem': '2',         # Set /SUBSYSTEM:WINDOWS
148c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)          'UACExecutionLevel': '2', # /level='requireAdministrator'
149c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)          'AdditionalDependencies': [
150c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)              'secur32.lib',
151c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)          ],
152c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        },
1531320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci        'conditions': [
1541320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci          ['clang==1', {
1551320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci            # atlapp.h contains a global "using namespace WTL;".
1561320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci            # TODO: Remove once cloud_print_service_config.cc no longer depends
1571320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci            # on atlapp.h, http://crbug.com/5027
1581320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci            'VCCLCompilerTool': {
1591320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci              'AdditionalOptions': ['-Wno-header-hygiene'],
1601320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci            },
1611320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci          }],
1621320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci        ],
163c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      },
164c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    },
165c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    {
166c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      'target_name': 'cloud_print_service_setup',
167c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      'type': 'executable',
168c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      'sources': [
169c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        '<(SHARED_INTERMEDIATE_DIR)/cloud_print/cloud_print_service_setup_exe_version.rc',
170c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        'win/installer.cc',
171c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        'win/installer.h',
172c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      ],
173c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      'includes': [
174c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        'win/service_resources.gypi'
175c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      ],
176c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      'dependencies': [
177c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        '<(DEPTH)/cloud_print/common/common.gyp:cloud_print_install_lib',
178c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        'cloud_print_service_lib',
179c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      ],
180c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      'msvs_settings': {
181c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        'VCLinkerTool': {
182c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)          'SubSystem': '2',         # Set /SUBSYSTEM:WINDOWS
183c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)          'UACExecutionLevel': '2', # /level='requireAdministrator'
184c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)          'AdditionalDependencies': [
185c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)              'secur32.lib',
186c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)          ],
187c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)        },
188c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)      },
189c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)    },
1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ],
1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
192