blob: f47c8ecc58319f1bd291f07886c8343353502b95 [file] [log] [blame]
[email protected]c5b34a812014-01-29 22:41:451# Copyright 2014 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 'remoting_host_installer_mac_roots': [
8 'host/installer/mac/',
9 '<(DEPTH)/chrome/installer/mac/',
10 ],
11 'remoting_host_installer_mac_files': [
12 'host/installer/mac/do_signing.sh',
13 'host/installer/mac/do_signing.props',
14 'host/installer/mac/ChromotingHost.pkgproj',
15 'host/installer/mac/ChromotingHostService.pkgproj',
16 'host/installer/mac/ChromotingHostUninstaller.pkgproj',
17 'host/installer/mac/LaunchAgents/org.chromium.chromoting.plist',
18 'host/installer/mac/PrivilegedHelperTools/org.chromium.chromoting.me2me.sh',
19 'host/installer/mac/Config/org.chromium.chromoting.conf',
20 'host/installer/mac/Scripts/keystone_install.sh',
21 'host/installer/mac/Scripts/remoting_postflight.sh',
22 'host/installer/mac/Scripts/remoting_preflight.sh',
23 'host/installer/mac/Keystone/GoogleSoftwareUpdate.pkg',
24 '<(DEPTH)/chrome/installer/mac/pkg-dmg',
25 ],
26 },
27
28 'conditions': [
29 ['OS=="mac"', {
30 'targets': [
31 {
32 'target_name': 'remoting_host_uninstaller',
33 'type': 'executable',
34 'mac_bundle': 1,
35 'variables': {
36 'bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_UNINSTALLER_BUNDLE_ID@")',
[email protected]4d3e2132014-03-31 23:39:1737 'host_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_HOST_BUNDLE_NAME@")',
38 'prefpane_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_PREFPANE_BUNDLE_NAME@")',
[email protected]c5b34a812014-01-29 22:41:4539 },
40 'dependencies': [
41 '<(DEPTH)/base/base.gyp:base',
42 'remoting_infoplist_strings',
43 ],
[email protected]4d3e2132014-03-31 23:39:1744 'defines': [
45 'HOST_BUNDLE_NAME="<(host_bundle_name)"',
46 'PREFPANE_BUNDLE_NAME="<(prefpane_bundle_name)"',
47 ],
[email protected]c5b34a812014-01-29 22:41:4548 'sources': [
49 'host/constants_mac.cc',
50 'host/constants_mac.h',
51 'host/installer/mac/uninstaller/remoting_uninstaller.h',
52 'host/installer/mac/uninstaller/remoting_uninstaller.mm',
53 'host/installer/mac/uninstaller/remoting_uninstaller_app.h',
54 'host/installer/mac/uninstaller/remoting_uninstaller_app.mm',
55 ],
56 'xcode_settings': {
57 'INFOPLIST_FILE': 'host/installer/mac/uninstaller/remoting_uninstaller-Info.plist',
58 'INFOPLIST_PREPROCESS': 'YES',
59 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(bundle_id)"',
60 },
61 'mac_bundle_resources': [
62 'host/installer/mac/uninstaller/remoting_uninstaller.icns',
63 'host/installer/mac/uninstaller/remoting_uninstaller.xib',
64 'host/installer/mac/uninstaller/remoting_uninstaller-Info.plist',
65
66 # Localized strings for 'Info.plist'
67 '<!@pymod_do_main(remoting_localize --locale_output '
68 '"<(SHARED_INTERMEDIATE_DIR)/remoting/remoting_uninstaller-InfoPlist.strings/@{json_suffix}.lproj/InfoPlist.strings" '
69 '--print_only <(remoting_locales))',
70 ],
71 'mac_bundle_resources!': [
72 'host/installer/mac/uninstaller/remoting_uninstaller-Info.plist',
73 ],
74 }, # end of target 'remoting_host_uninstaller'
75
76 # This packages up the files needed for the remoting host installer so
77 # they can be sent off to be signed.
78 # We don't build an installer here because we don't have signed binaries.
79 {
80 'target_name': 'remoting_me2me_host_archive',
81 'type': 'none',
82 'dependencies': [
83 'remoting_host_prefpane',
84 'remoting_host_uninstaller',
85 'remoting_me2me_host',
86 'remoting_me2me_native_messaging_host',
[email protected]b1c49c32014-02-07 22:15:0387 'remoting_it2me_native_messaging_host',
[email protected]c5b34a812014-01-29 22:41:4588 'remoting_native_messaging_manifests',
89 ],
90 'variables': {
[email protected]de262802014-06-18 23:49:4691 'host_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_HOST_PACKAGE_NAME@")',
[email protected]c5b34a812014-01-29 22:41:4592 'host_service_name': '<!(python <(version_py_path) -f <(branding_path) -t "@DAEMON_FILE_NAME@")',
93 'host_uninstaller_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_UNINSTALLER_NAME@")',
94 'bundle_prefix': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_UNINSTALLER_BUNDLE_PREFIX@")',
[email protected]1a9acf62014-03-28 05:22:0095 'me2me_host_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_HOST_BUNDLE_NAME@")',
96 'prefpane_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_PREFPANE_BUNDLE_NAME@")',
97 'native_messaging_host_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_NATIVE_MESSAGING_HOST_BUNDLE_NAME@")',
98 'remote_assistance_host_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_REMOTE_ASSISTANCE_HOST_BUNDLE_NAME@")',
[email protected]c5b34a812014-01-29 22:41:4599 },
100 'actions': [
101 {
102 'action_name': 'Zip installer files for signing',
103 'temp_dir': '<(SHARED_INTERMEDIATE_DIR)/remoting/remoting-me2me-host',
104 'zip_path': '<(PRODUCT_DIR)/remoting-me2me-host-<(OS).zip',
105 'variables': {
106 'host_name_nospace': '<!(echo <(host_name) | sed "s/ //g")',
107 'host_service_name_nospace': '<!(echo <(host_service_name) | sed "s/ //g")',
108 'host_uninstaller_name_nospace': '<!(echo <(host_uninstaller_name) | sed "s/ //g")',
109 },
110 'generated_files': [
111 '<(PRODUCT_DIR)/remoting_host_prefpane.prefPane',
112 '<(PRODUCT_DIR)/remoting_me2me_host.app',
[email protected]1a9acf62014-03-28 05:22:00113 '<(PRODUCT_DIR)/native_messaging_host.app',
114 '<(PRODUCT_DIR)/remote_assistance_host.app',
[email protected]b1c49c32014-02-07 22:15:03115 '<(PRODUCT_DIR)/remoting_host_uninstaller.app',
[email protected]c5b34a812014-01-29 22:41:45116 '<(PRODUCT_DIR)/remoting/com.google.chrome.remote_desktop.json',
[email protected]b1c49c32014-02-07 22:15:03117 '<(PRODUCT_DIR)/remoting/com.google.chrome.remote_assistance.json',
[email protected]c5b34a812014-01-29 22:41:45118 ],
119 'generated_files_dst': [
[email protected]1a9acf62014-03-28 05:22:00120 'PreferencePanes/<(prefpane_bundle_name)',
121 'PrivilegedHelperTools/<(me2me_host_bundle_name)',
122 'PrivilegedHelperTools/<(me2me_host_bundle_name)/Contents/MacOS/<(native_messaging_host_bundle_name)',
123 'PrivilegedHelperTools/<(me2me_host_bundle_name)/Contents/MacOS/<(remote_assistance_host_bundle_name)',
[email protected]b1c49c32014-02-07 22:15:03124 'Applications/<(host_uninstaller_name).app',
[email protected]c5b34a812014-01-29 22:41:45125 'Config/com.google.chrome.remote_desktop.json',
[email protected]b1c49c32014-02-07 22:15:03126 'Config/com.google.chrome.remote_assistance.json',
[email protected]c5b34a812014-01-29 22:41:45127 ],
128 'source_files': [
129 '<@(remoting_host_installer_mac_files)',
130 ],
131 'defs': [
132 'VERSION=<(version_full)',
133 'VERSION_SHORT=<(version_short)',
134 'VERSION_MAJOR=<(version_major)',
135 'VERSION_MINOR=<(version_minor)',
136 'HOST_NAME=<(host_name)',
[email protected]1a9acf62014-03-28 05:22:00137 'HOST_BUNDLE_NAME=<(me2me_host_bundle_name)',
[email protected]c5b34a812014-01-29 22:41:45138 'HOST_SERVICE_NAME=<(host_service_name)',
139 'HOST_UNINSTALLER_NAME=<(host_uninstaller_name)',
140 'HOST_PKG=<(host_name)',
141 'HOST_SERVICE_PKG=<(host_service_name_nospace)',
142 'HOST_UNINSTALLER_PKG=<(host_uninstaller_name_nospace)',
143 'BUNDLE_ID_HOST=<(bundle_prefix).<(host_name_nospace)',
144 'BUNDLE_ID_HOST_SERVICE=<(bundle_prefix).<(host_service_name_nospace)',
145 'BUNDLE_ID_HOST_UNINSTALLER=<(bundle_prefix).<(host_uninstaller_name_nospace)',
146 'DMG_VOLUME_NAME=<(host_name) <(version_full)',
147 'DMG_FILE_NAME=<!(echo <(host_name) | sed "s/ //g")-<(version_full)',
[email protected]1a9acf62014-03-28 05:22:00148 'NATIVE_MESSAGING_HOST_BUNDLE_NAME=<(native_messaging_host_bundle_name)',
149 'REMOTE_ASSISTANCE_HOST_BUNDLE_NAME=<(remote_assistance_host_bundle_name)',
150 'PREFPANE_BUNDLE_NAME=<(prefpane_bundle_name)',
[email protected]c5b34a812014-01-29 22:41:45151 ],
152 'inputs': [
153 'host/installer/build-installer-archive.py',
154 '<@(_source_files)',
155 ],
156 'outputs': [
157 '<(_zip_path)',
158 ],
159 'action': [
160 'python', 'host/installer/build-installer-archive.py',
161 '<(_temp_dir)',
162 '<(_zip_path)',
163 '--source-file-roots', '<@(remoting_host_installer_mac_roots)',
164 '--source-files', '<@(_source_files)',
165 '--generated-files', '<@(_generated_files)',
166 '--generated-files-dst', '<@(_generated_files_dst)',
167 '--defs', '<@(_defs)',
168 ],
169 },
170 ], # actions
171 }, # end of target 'remoting_me2me_host_archive'
172
173 {
174 'target_name': 'remoting_host_prefpane',
175 'type': 'loadable_module',
176 'mac_bundle': 1,
177 'product_extension': 'prefPane',
[email protected]4d3e2132014-03-31 23:39:17178 'variables': {
179 'bundle_id': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_PREFPANE_BUNDLE_ID@")',
180 'host_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_HOST_BUNDLE_NAME@")',
181 'prefpane_bundle_name': '<!(python <(version_py_path) -f <(branding_path) -t "@MAC_PREFPANE_BUNDLE_NAME@")',
182 },
[email protected]c5b34a812014-01-29 22:41:45183 'dependencies': [
184 'remoting_infoplist_strings',
185 ],
[email protected]4d3e2132014-03-31 23:39:17186 'defines': [
187 'HOST_BUNDLE_NAME="<(host_bundle_name)"',
188 'PREFPANE_BUNDLE_NAME="<(prefpane_bundle_name)"',
189 'JSON_USE_EXCEPTION=0',
190 ],
[email protected]c5b34a812014-01-29 22:41:45191 'include_dirs': [
192 '../third_party/jsoncpp/overrides/include/',
193 '../third_party/jsoncpp/source/include/',
194 '../third_party/jsoncpp/source/src/lib_json/',
195 ],
196
197 # These source files are included directly, instead of adding target
198 # dependencies, because the targets are not yet built for 64-bit on
199 # Mac OS X - http://crbug.com/125116.
200 #
201 # TODO(lambroslambrou): Fix this when Chrome supports building for
202 # Mac OS X 64-bit - http://crbug.com/128122.
203 'sources': [
204 '../third_party/jsoncpp/source/src/lib_json/json_reader.cpp',
205 '../third_party/jsoncpp/overrides/src/lib_json/json_value.cpp',
206 '../third_party/jsoncpp/source/src/lib_json/json_writer.cpp',
207 '../third_party/modp_b64/modp_b64.cc',
208 'host/constants_mac.cc',
209 'host/constants_mac.h',
wez3b6ea0372014-11-23 02:03:19210 'host/host_config_constants.cc',
[email protected]c5b34a812014-01-29 22:41:45211 'host/mac/me2me_preference_pane.h',
212 'host/mac/me2me_preference_pane.mm',
213 'host/mac/me2me_preference_pane_confirm_pin.h',
214 'host/mac/me2me_preference_pane_confirm_pin.mm',
215 'host/mac/me2me_preference_pane_disable.h',
216 'host/mac/me2me_preference_pane_disable.mm',
217 ],
218 'link_settings': {
219 'libraries': [
220 '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
221 '$(SDKROOT)/System/Library/Frameworks/CoreFoundation.framework',
222 '$(SDKROOT)/System/Library/Frameworks/PreferencePanes.framework',
223 '$(SDKROOT)/System/Library/Frameworks/Security.framework',
224 ],
225 },
[email protected]c5b34a812014-01-29 22:41:45226 'xcode_settings': {
227 'ARCHS': ['i386', 'x86_64'],
228 'GCC_ENABLE_OBJC_GC': 'supported',
229 'INFOPLIST_FILE': 'host/mac/me2me_preference_pane-Info.plist',
230 'INFOPLIST_PREPROCESS': 'YES',
231 'INFOPLIST_PREPROCESSOR_DEFINITIONS': 'VERSION_FULL="<(version_full)" VERSION_SHORT="<(version_short)" BUNDLE_ID="<(bundle_id)"',
232 },
233 'mac_bundle_resources': [
234 'host/mac/me2me_preference_pane.xib',
235 'host/mac/me2me_preference_pane_confirm_pin.xib',
236 'host/mac/me2me_preference_pane_disable.xib',
237 'host/mac/me2me_preference_pane-Info.plist',
238 'resources/chromoting128.png',
239
240 # Localized strings for 'Info.plist'
241 '<!@pymod_do_main(remoting_localize --locale_output '
242 '"<(SHARED_INTERMEDIATE_DIR)/remoting/me2me_preference_pane-InfoPlist.strings/@{json_suffix}.lproj/InfoPlist.strings" '
243 '--print_only <(remoting_locales))',
244 ],
245 'mac_bundle_resources!': [
246 'host/mac/me2me_preference_pane-Info.plist',
247 ],
248 'conditions': [
249 ['mac_breakpad==1', {
250 'variables': {
251 # A real .dSYM is needed for dump_syms to operate on.
252 'mac_real_dsym': 1,
253 },
254 }], # 'mac_breakpad==1'
255 ], # conditions
256 }, # end of target 'remoting_host_prefpane'
257 ], # end of 'targets'
258 }], # 'OS=="mac"'
259
260 ], # end of 'conditions'
261}