Преглед изворни кода

Video : get unifdef explicitly

CRs-Fixed: 2836558
Change-Id: Iab81cd0ed9791e7426719fbc1b43d9ccafc89bb7
Signed-off-by: Karthikeyan Periasamy <[email protected]>
Karthikeyan Periasamy пре 4 година
родитељ
комит
a00765b85c
2 измењених фајлова са 17 додато и 7 уклоњено
  1. 4 1
      Android.bp
  2. 13 6
      video_kernel_headers.py

+ 4 - 1
Android.bp

@@ -9,7 +9,9 @@ video_headers_out = [
 video_kernel_headers_verbose = "--verbose "
 genrule {
     name: "qti_generate_video_kernel_headers",
-    tools: ["headers_install.sh"],
+    tools: ["headers_install.sh",
+            "unifdef"
+    ],
     tool_files: [
         "video_kernel_headers.py",
     ],
@@ -19,6 +21,7 @@ genrule {
          "--header_arch arm64 " +
          "--gen_dir $(genDir) " +
          "--video_include_uapi $(locations include/uapi/*/**/*.h) " +
+         "--unifdef $(location unifdef) " +
          "--headers_install $(location headers_install.sh)",
     out: video_headers_out,
 }

+ 13 - 6
video_kernel_headers.py

@@ -19,26 +19,28 @@ import re
 import subprocess
 import sys
 
-def run_headers_install(verbose, gen_dir, headers_install, prefix, h):
+def run_headers_install(verbose, gen_dir, headers_install, unifdef, prefix, h):
     if not h.startswith(prefix):
         print('error: expected prefix [%s] on header [%s]' % (prefix, h))
         return False
 
     out_h = os.path.join(gen_dir, h[len(prefix):])
     (out_h_dirname, out_h_basename) = os.path.split(out_h)
-    cmd = ["bash", headers_install, h, out_h]
+    env = os.environ.copy()
+    env["LOC_UNIFDEF"] = unifdef
+    cmd = ["sh", headers_install, h, out_h]
 
     if verbose:
         print('run_headers_install: cmd is %s' % cmd)
 
-    result = subprocess.call(cmd)
+    result = subprocess.call(cmd, env=env)
 
     if result != 0:
         print('error: run_headers_install: cmd %s failed %d' % (cmd, result))
         return False
     return True
 
-def gen_video_headers(verbose, gen_dir, headers_install, video_include_uapi):
+def gen_video_headers(verbose, gen_dir, headers_install, unifdef, video_include_uapi):
     error_count = 0
     for h in video_include_uapi:
         video_uapi_include_prefix = os.path.join(h.split('/include/uapi/')[0],
@@ -46,7 +48,7 @@ def gen_video_headers(verbose, gen_dir, headers_install, video_include_uapi):
                                                  'uapi') + os.sep
 
         if not run_headers_install(
-                verbose, gen_dir, headers_install,
+                verbose, gen_dir, headers_install, unifdef,
                 video_uapi_include_prefix, h): error_count += 1
     return error_count
 
@@ -72,6 +74,10 @@ def main():
     parser.add_argument(
             '--headers_install', required=True,
             help='The headers_install tool to process input headers.')
+    parser.add_argument(
+            '--unifdef',
+            required=True,
+            help='The unifdef tool used by headers_install.')
 
     args = parser.parse_args()
 
@@ -80,9 +86,10 @@ def main():
         print('gen_dir [%s]' % args.gen_dir)
         print('video_include_uapi [%s]' % args.video_include_uapi)
         print('headers_install [%s]' % args.headers_install)
+        print('unifdef [%s]' % args.unifdef)
 
     return gen_video_headers(args.verbose, args.gen_dir,
-            args.headers_install, args.video_include_uapi)
+            args.headers_install, args.unifdef, args.video_include_uapi)
 
 if __name__ == '__main__':
     sys.exit(main())