Home | History | Annotate | Download | only in libvpx
      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 # Rule to extract integer values for each symbol from an object file.
      6 # The output file name is the input file name with extension replaced with
      7 # asm or h.
      8 # The following gyp variables must be set before including this gypi:
      9 #   output_format, the output format of integer value.
     10 #   output_dir, the full path where the output file should be created.
     11 #
     12 # For example:
     13 #
     14 # 'sources': ['a.o', 'b.o'],
     15 # 'variables': {
     16 #   'output_format': 'cheader',
     17 #   'output_dir': 'output',
     18 # },
     19 # 'includes': ['obj_int_extract.gypi'],
     20 #
     21 # This extracts the symbol from a.o and b.o, and outputs them to a.h and b.h
     22 # in output directory.
     23 {
     24   'variables': {
     25     'conditions': [
     26       ['os_posix==1', {
     27         'asm_obj_extension': 'o',
     28       }],
     29       ['OS=="win"', {
     30         'asm_obj_extension': 'obj',
     31       }],
     32       ['output_format=="cheader"', {
     33         'output_extension': 'h',
     34       }, {
     35         'output_extension': 'asm',
     36       }],
     37     ],
     38   },
     39   'rules': [
     40     {
     41       'rule_name': 'obj_int_extract',
     42       'extension': '<(asm_obj_extension)',
     43       'inputs': [
     44         '<(PRODUCT_DIR)/libvpx_obj_int_extract',
     45         'obj_int_extract.py',
     46       ],
     47       'outputs': [
     48         '<(output_dir)/<(RULE_INPUT_ROOT).<(output_extension)',
     49       ],
     50       'action': [
     51 	'python',
     52         '<(DEPTH)/third_party/libvpx/obj_int_extract.py',
     53         '-e', '<(PRODUCT_DIR)/libvpx_obj_int_extract',
     54         '-f', '<(output_format)',
     55         '-b', '<(RULE_INPUT_PATH)',
     56         '-o', '<(output_dir)/<(RULE_INPUT_ROOT).<(output_extension)',
     57       ],
     58       'message': 'Generate assembly offsets <(RULE_INPUT_PATH)',
     59     },
     60   ],
     61 }
     62