# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

[GENERAL]
#
# Chrome Application dir entries, sorted alphabetically.
#
chrome.exe: %(ChromeDir)s\
chrome_proxy.exe: %(ChromeDir)s\
#
# Chrome version dir assembly manifest.
# The name of this file must match the name of the version dir, so we cannot
# hard-code it.
# // TODO(caitkp): Find a way to do this without wildcards.
#
*.*.*.*.manifest: %(VersionDir)s\
#
# Chrome version dir entries, sorted alphabetically.
#
chrome.dll: %(VersionDir)s\
chrome_100_percent.pak: %(VersionDir)s\
chrome_child.dll: %(VersionDir)s\
chrome_elf.dll: %(VersionDir)s\
chrome_watcher.dll: %(VersionDir)s\
d3dcompiler_47.dll: %(VersionDir)s\
elevation_service.exe: %(VersionDir)s\
eventlog_provider.dll: %(VersionDir)s\
ffmpeg.dll: %(VersionDir)s\
icudt.dll: %(VersionDir)s\
icudtl.dat: %(VersionDir)s\
libEGL.dll: %(VersionDir)s\
libGLESv2.dll: %(VersionDir)s\
nacl64.exe: %(VersionDir)s\
nacl_irt_x86_32.nexe: %(VersionDir)s\
nacl_irt_x86_64.nexe: %(VersionDir)s\
natives_blob.bin: %(VersionDir)s\
notification_helper.exe: %(VersionDir)s\
resources.pak: %(VersionDir)s\
v8_context_snapshot.bin: %(VersionDir)s\
#
# Sub directories living in the version dir
#
default_apps\*.crx: %(VersionDir)s\default_apps\
default_apps\external_extensions.json: %(VersionDir)s\default_apps\
Extensions\*.*: %(VersionDir)s\Extensions\
locales\*.dll: %(VersionDir)s\Locales
locales\*.pak: %(VersionDir)s\Locales

#
# VisualElements sub-dir.
#
# All or none of the following files need to be present as the creation of
# VisualElementsManifest.xml is based on the existence of
# %(VersionDir)\VisualElements.
Logo.png: %(VersionDir)s\VisualElements\
LogoBeta.png: %(VersionDir)s\VisualElements\
LogoCanary.png: %(VersionDir)s\VisualElements\
LogoDev.png: %(VersionDir)s\VisualElements\
SmallLogo.png: %(VersionDir)s\VisualElements\
SmallLogoBeta.png: %(VersionDir)s\VisualElements\
SmallLogoCanary.png: %(VersionDir)s\VisualElements\
SmallLogoDev.png: %(VersionDir)s\VisualElements\

#
# SwiftShader sub-dir
#
swiftshader\libEGL.dll: %(VersionDir)s\swiftshader\
swiftshader\libGLESv2.dll: %(VersionDir)s\swiftshader\

[HIDPI]
chrome_200_percent.pak: %(VersionDir)s\

[TOUCH]

[GOOGLE_CHROME]
#
# Widevine CDM sub-dir
#
WidevineCdm\manifest.json: %(VersionDir)s\WidevineCdm\
WidevineCdm\_platform_specific\win_x86\widevinecdm.dll: %(VersionDir)s\WidevineCdm\_platform_specific\win_x86\
WidevineCdm\_platform_specific\win_x86\widevinecdm.dll.sig: %(VersionDir)s\WidevineCdm\_platform_specific\win_x86\
WidevineCdm\_platform_specific\win_x64\widevinecdm.dll: %(VersionDir)s\WidevineCdm\_platform_specific\win_x64\
WidevineCdm\_platform_specific\win_x64\widevinecdm.dll.sig: %(VersionDir)s\WidevineCdm\_platform_specific\win_x64\

#
# MEI Preload sub dir
#
MEIPreload\manifest.json: %(VersionDir)s\MEIPreload\
MEIPreload\preloaded_data.pb: %(VersionDir)s\MEIPreload\
