@@ -522,7 +522,7 @@ def gen_blueprints(
522
522
arch_prefix = os .path .join ('arch' , header_arch , generic_prefix )
523
523
generic_src = os .path .join (generic_prefix , rel_glob )
524
524
arch_src = os .path .join (arch_prefix , rel_glob )
525
- techpack_src = 'techpack/*'
525
+ techpack_src = os . path . join ( 'techpack/*' , generic_prefix , '*' , rel_glob )
526
526
527
527
# Excluded sources, architecture specific.
528
528
exclude_srcs = []
@@ -561,7 +561,27 @@ def gen_blueprints(
561
561
f .write ('// ***** DO NOT EDIT *****\n ' )
562
562
f .write ('// This file is generated by %s\n ' % kernel_headers_py )
563
563
f .write ('\n ' )
564
- f .write ('gen_headers_%s = [\n ' % header_arch )
564
+ f .write ('gen_headers_srcs_%s = [\n ' % header_arch )
565
+ f .write (' "%s",\n ' % rel_arch_asm_kbuild )
566
+ f .write (' "%s",\n ' % rel_asm_generic_kbuild )
567
+ f .write (' "%s",\n ' % makefile )
568
+
569
+ if header_arch == "arm" :
570
+ f .write (' "%s",\n ' % arm_syscall_tbl )
571
+
572
+ f .write (' "%s",\n ' % generic_src )
573
+ f .write (' "%s",\n ' % arch_src )
574
+ f .write (']\n ' )
575
+ f .write ('\n ' )
576
+
577
+ if exclude_srcs :
578
+ f .write ('gen_headers_exclude_srcs_%s = [\n ' % header_arch )
579
+ for h in exclude_srcs :
580
+ f .write (' "%s",\n ' % os .path .join (generic_prefix , h ))
581
+ f .write (']\n ' )
582
+ f .write ('\n ' )
583
+
584
+ f .write ('gen_headers_out_%s = [\n ' % header_arch )
565
585
566
586
if generated_list :
567
587
f .write ('\n ' )
@@ -616,7 +636,10 @@ def gen_blueprints(
616
636
f .write (' // checked later to ensure that it matches the checked-\n ' )
617
637
f .write (' // in version (this file).\n ' )
618
638
f .write (' name: "%s",\n ' % gen_blueprints_module_name )
619
- f .write (' srcs: ["%s", "%s", "%s"],\n ' % (rel_arch_asm_kbuild , rel_asm_generic_kbuild , arch_src ))
639
+ f .write (' srcs: gen_headers_srcs_%s,\n ' % header_arch )
640
+ if exclude_srcs :
641
+ f .write (' exclude_srcs: gen_headers_exclude_srcs_%s,\n ' % header_arch )
642
+
620
643
f .write (' tool_files: ["kernel_headers.py"],\n ' )
621
644
f .write (' cmd: "python3 $(location kernel_headers.py) " +\n ' )
622
645
f .write (' kernel_headers_verbose +\n ' )
@@ -625,7 +648,8 @@ def gen_blueprints(
625
648
f .write (' "--arch_asm_kbuild $(location %s) " +\n ' % rel_arch_asm_kbuild )
626
649
f .write (' "--arch_include_uapi $(locations %s) " +\n ' % arch_src )
627
650
f .write (' "--asm_generic_kbuild $(location %s) " +\n ' % rel_asm_generic_kbuild )
628
- f .write (' "blueprints",\n ' )
651
+ f .write (' "blueprints " +\n ' )
652
+ f .write (' "# $(in)",\n ' )
629
653
f .write (' out: ["gen_headers_%s.bp"],\n ' % header_arch )
630
654
f .write ('}\n ' )
631
655
f .write ('\n ' )
@@ -640,25 +664,13 @@ def gen_blueprints(
640
664
f .write (' "%s",\n ' % arm_syscall_tool )
641
665
642
666
f .write (' ],\n ' )
643
- f .write (' srcs: [\n ' )
644
- f .write (' "%s",\n ' % rel_arch_asm_kbuild )
645
- f .write (' "%s",\n ' % rel_asm_generic_kbuild )
667
+ f .write (' srcs: gen_headers_srcs_%s +[\n ' % header_arch )
646
668
f .write (' "%s",\n ' % old_gen_headers_bp )
647
669
f .write (' ":%s",\n ' % gen_blueprints_module_name )
648
- f .write (' "%s",\n ' % makefile )
649
-
650
- if header_arch == "arm" :
651
- f .write (' "%s",\n ' % arm_syscall_tbl )
652
-
653
- f .write (' "%s",\n ' % generic_src )
654
- f .write (' "%s",\n ' % arch_src )
655
670
f .write (' ],\n ' )
656
671
657
672
if exclude_srcs :
658
- f .write (' exclude_srcs: [\n ' )
659
- for h in exclude_srcs :
660
- f .write (' "%s",\n ' % os .path .join (generic_prefix , h ))
661
- f .write (' ],\n ' )
673
+ f .write (' exclude_srcs: gen_headers_exclude_srcs_%s,\n ' % header_arch )
662
674
663
675
f .write (' cmd: "python3 $(location %s) " +\n ' % kernel_headers_py )
664
676
f .write (' kernel_headers_verbose +\n ' )
@@ -678,14 +690,14 @@ def gen_blueprints(
678
690
679
691
f .write (' "--headers_install $(location %s) " +\n ' % headers_install_sh )
680
692
f .write (' "--include_uapi $(locations %s)",\n ' % generic_src )
681
- f .write (' out: ["linux/version.h"] + gen_headers_ %s,\n ' % header_arch )
693
+ f .write (' out: ["linux/version.h"] + gen_headers_out_ %s,\n ' % header_arch )
682
694
f .write ('}\n ' )
683
695
684
696
return 0
685
697
686
698
def parse_bp_for_headers (file_name , headers ):
687
699
parsing_headers = False
688
- pattern = re .compile ("gen_headers_ [a-zA-Z0-9]+\s*=\s*\[\s*" )
700
+ pattern = re .compile ("gen_headers_out_ [a-zA-Z0-9]+\s*=\s*\[\s*" )
689
701
with open (file_name , 'r' ) as f :
690
702
for line in f :
691
703
line = line .strip ()
@@ -949,13 +961,13 @@ def main():
949
961
if args .verbose :
950
962
print ('module_dir [%s]' % module_dir )
951
963
952
- # Get list of techpack uapi headers to be exported from techpack/* directories.
953
- techpack_uapi = extract_techpack_uapi_headers ( args . verbose , module_dir )
964
+ techpack_include_uapi = []
965
+
954
966
955
967
if args .mode == 'blueprints' :
956
968
return gen_blueprints (
957
969
args .verbose , args .header_arch , args .gen_dir , args .arch_asm_kbuild ,
958
- args .asm_generic_kbuild , module_dir , rel_arch_asm_kbuild , rel_asm_generic_kbuild , args .arch_include_uapi , techpack_uapi )
970
+ args .asm_generic_kbuild , module_dir , rel_arch_asm_kbuild , rel_asm_generic_kbuild , args .arch_include_uapi , techpack_include_uapi )
959
971
960
972
if args .mode == 'headers' :
961
973
if args .verbose :
@@ -970,7 +982,7 @@ def main():
970
982
args .verbose , args .header_arch , args .gen_dir , args .arch_asm_kbuild ,
971
983
args .asm_generic_kbuild , module_dir , args .old_gen_headers_bp , args .new_gen_headers_bp ,
972
984
args .version_makefile , args .arch_syscall_tool , args .arch_syscall_tbl ,
973
- args .headers_install , args .include_uapi , args .arch_include_uapi , techpack_uapi )
985
+ args .headers_install , args .include_uapi , args .arch_include_uapi , techpack_include_uapi )
974
986
975
987
print ('error: unknown mode: %s' % args .mode )
976
988
return 1
0 commit comments