Home | History | Annotate | Download | only in android
      1 # 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 # This file is meant to be included into an action to provide a rule that
      6 # inserts a chromium version string into native libraries.
      7 #
      8 # To use this, create a gyp target with the following form:
      9 #  {
     10 #    'action_name': 'insert_chromium_version',
     11 #    'actions': [
     12 #      'variables': {
     13 #        'ordered_libraries_file': 'file generated by write_ordered_libraries'
     14 #        'stripped_libraries_dir': 'the directory contains native libraries'
     15 #        'input_paths': 'files to be added to the list of inputs'
     16 #        'stamp': 'file to touch when the action is complete'
     17 #        'version_string': 'chromium version string to be inserted'
     18 #      'includes': [ '../../build/android/insert_chromium_version.gypi' ],
     19 #    ],
     20 #  },
     21 #
     22 
     23 {
     24   'message': 'Inserting chromium version string into native libraries',
     25   'variables': {
     26     'input_paths': [],
     27   },
     28   'inputs': [
     29     '<(DEPTH)/build/android/gyp/util/build_utils.py',
     30     '<(DEPTH)/build/android/gyp/insert_chromium_version.py',
     31     '<(ordered_libraries_file)',
     32     '>@(input_paths)',
     33   ],
     34   'outputs': [
     35     '<(stamp)',
     36   ],
     37   'action': [
     38     'python', '<(DEPTH)/build/android/gyp/insert_chromium_version.py',
     39     '--android-objcopy=<(android_objcopy)',
     40     '--stripped-libraries-dir=<(stripped_libraries_dir)',
     41     '--libraries=@FileArg(<(ordered_libraries_file):libraries)',
     42     '--version-string=<(version_string)',
     43     '--stamp=<(stamp)',
     44   ],
     45   'conditions': [
     46     ['component == "shared_library"', {
     47       # Add a fake output to force the build to always re-run this step. This
     48       # is required because the real inputs are not known at gyp-time and
     49       # changing base.so may not trigger changes to dependent libraries.
     50       'outputs': [ '<(stamp).fake' ]
     51     }],
     52   ],
     53 }
     54