# Additional handling of transfer files.
# target: Target location relative to the target release directory. This
#     value is required.
# source: Source location relative to the CEF root directory. This value
#     is optional. If specified the source file will be copied to the target
#     location and a TRANSFER-README.txt file will be created.
# post-process: Post-processing operation to perform. This value is
#     optional and may be any one of the following:
#   'normalize_headers': Replace fully-qualified project header paths with
#     the optionally specified 'new_header_path' value.

[
  {
    'source' : '../net/base/net_error_list.h',
    'target' : 'include/base/internal/cef_net_error_list.h',
  },
]