• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2013 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# This file is meant to be included into a target to provide a rule
6# to strip and place dependent shared libraries required by a native binary in a
7# single folder that can later be pushed to the device.
8#
9# NOTE: consider packaging your binary as an apk instead of running a native
10# library.
11#
12# To use this, create a gyp target with the following form:
13#  {
14#    'target_name': 'target_that_depends_on_my_binary',
15#    'type': 'none',
16#    'dependencies': [
17#      'my_binary',
18#    ],
19#    'variables': {
20#      'native_binary': '<(PRODUCT_DIR)/my_binary',
21#      'output_dir': 'location to place binary and dependent libraries'
22#    },
23#    'includes': [ '../../build/android/native_app_dependencies.gypi' ],
24#  },
25#
26
27{
28  'copies': [
29    {
30      'destination': '<(output_dir)',
31      'files': [ '<(native_binary)' ],
32    }
33  ],
34  'conditions': [
35      ['component == "shared_library"', {
36        'dependencies': [
37          '<(DEPTH)/build/android/setup.gyp:copy_system_libraries',
38        ],
39        'variables': {
40          'intermediate_dir': '<(PRODUCT_DIR)/<(_target_name)',
41          'ordered_libraries_file': '<(intermediate_dir)/native_libraries.json',
42        },
43        'actions': [
44          {
45            'variables': {
46              'input_libraries': ['<(native_binary)'],
47            },
48            'includes': ['../../build/android/write_ordered_libraries.gypi'],
49          },
50          {
51            'action_name': 'stripping native libraries',
52            'variables': {
53              'stripped_libraries_dir%': '<(output_dir)',
54              'input_paths': ['<(native_binary)'],
55              'stamp': '<(intermediate_dir)/strip.stamp',
56            },
57            'includes': ['../../build/android/strip_native_libraries.gypi'],
58          },
59        ],
60      }],
61  ],
62}
63