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){
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  'variables': {
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    'widevine_cdm_version_h_file%': 'widevine_cdm_version.h',
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    'widevine_cdm_binary_files%': [],
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    'conditions': [
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      [ 'branding == "Chrome"', {
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        'conditions': [
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          [ 'chromeos == 1', {
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'widevine_cdm_version_h_file%':
145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                'chromeos/<(target_arch)/widevine_cdm_version.h',
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'widevine_cdm_binary_files%': [
165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)              'chromeos/<(target_arch)/libwidevinecdm.so',
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            ],
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          }],
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          [ 'OS == "linux" and chromeos == 0', {
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'widevine_cdm_version_h_file%':
215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                'linux/<(target_arch)/widevine_cdm_version.h',
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'widevine_cdm_binary_files%': [
235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)              'linux/<(target_arch)/libwidevinecdm.so',
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            ],
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          }],
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          [ 'OS == "mac"', {
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'widevine_cdm_version_h_file%':
285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                'mac/<(target_arch)/widevine_cdm_version.h',
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'widevine_cdm_binary_files%': [
305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)              'mac/<(target_arch)/libwidevinecdm.dylib',
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            ],
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          }],
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          [ 'OS == "win"', {
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'widevine_cdm_version_h_file%':
355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                'win/<(target_arch)/widevine_cdm_version.h',
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'widevine_cdm_binary_files%': [
375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)              'win/<(target_arch)/widevinecdm.dll',
385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)              'win/<(target_arch)/widevinecdm.dll.lib',
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            ],
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          }],
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        ],
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      }],
435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)      [ 'OS == "android"', {
44d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)        'widevine_cdm_version_h_file%':
45d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)            'android/widevine_cdm_version.h',
46d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)      }],
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    ],
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  },
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # Always provide a target, so we can put the logic about whether there's
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  # anything to be done in this file (instead of a higher-level .gyp file).
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  'targets': [
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    {
536d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      # GN version: //third_party/widevine/cdm:adapter
542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      'target_name': 'widevinecdmadapter',
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      'type': 'none',
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      'conditions': [
5790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)        [ 'branding == "Chrome" and enable_pepper_cdms==1', {
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          'dependencies': [
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            '<(DEPTH)/ppapi/ppapi.gyp:ppapi_cpp',
605d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)            '<(DEPTH)/media/media_cdm_adapter.gyp:cdmadapter',
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'widevine_cdm_version_h',
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            'widevine_cdm_binaries',
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          ],
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          'conditions': [
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            [ 'os_posix == 1 and OS != "mac"', {
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              'libraries': [
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                # Copied by widevine_cdm_binaries.
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                '<(PRODUCT_DIR)/libwidevinecdm.so',
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)              ],
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            }],
71c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)            [ 'OS == "win"', {
72c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)              'libraries': [
73c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                # Copied by widevine_cdm_binaries.
74c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)                '<(PRODUCT_DIR)/widevinecdm.dll.lib',
75c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)              ],
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            }],
77558790d6acca3451cf3a6b497803a5f07d0bec58Ben Murdoch            [ 'OS == "mac"', {
782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              'libraries': [
792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                # Copied by widevine_cdm_binaries.
80eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                '<(PRODUCT_DIR)/libwidevinecdm.dylib',
812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)              ],
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)            }],
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)          ],
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        }],
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      ],
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    },
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    {
886d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      # GN version: //third_party/widevine/cdm:version_h
895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      'target_name': 'widevine_cdm_version_h',
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      'type': 'none',
915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      'copies': [{
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        'destination': '<(SHARED_INTERMEDIATE_DIR)',
935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        'files': [ '<(widevine_cdm_version_h_file)' ],
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      }],
955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    },
965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    {
976d86b77056ed63eb6871182f42a9fd5f07550f90Torne (Richard Coles)      # GN version: //third_party/widevine/cdm:binaries
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      'target_name': 'widevine_cdm_binaries',
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      'type': 'none',
100eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch      'conditions': [
101eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch        [ 'OS=="mac"', {
102eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch          'xcode_settings': {
103eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch            'COPY_PHASE_STRIP': 'NO',
104eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch          }
105eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch        }],
106eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch      ],
1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      'copies': [{
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        # TODO(ddorwin): Do we need a sub-directory? We either need a
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        # sub-directory or to rename manifest.json before we can copy it.
1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        'destination': '<(PRODUCT_DIR)',
1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)        'files': [ '<@(widevine_cdm_binary_files)' ],
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      }],
1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    },
114a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    {
115a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      'target_name': 'widevine_test_license_server',
116a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      'type': 'none',
117a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      'conditions': [
118a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)        [ 'branding == "Chrome" and OS == "linux"', {
119a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)          'dependencies': [
120a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)            '<(DEPTH)/third_party/widevine/test/license_server/license_server.gyp:test_license_server',
121a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)          ],
122a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)        }],
123a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)      ],
124a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)    },
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ],
1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
127