make-system-wrappers.pl (643B)
1 #!/usr/bin/perl 2 # 3 # This Source Code Form is subject to the terms of the Mozilla Public 4 # License, v. 2.0. If a copy of the MPL was not distributed with this 5 # file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 7 $output_dir = shift; 8 9 while (<STDIN>) { 10 chomp; 11 if (-e "$output_dir/$_") { 12 next; 13 } 14 15 if (/(.*)\/[^\/*]/) { 16 mkdir "$output_dir/$1"; 17 } 18 19 open OUT, ">$output_dir/$_"; 20 print OUT "#pragma GCC system_header\n"; # suppress include_next warning 21 print OUT "#pragma GCC visibility push(default)\n"; 22 print OUT "#include_next \<$_\>\n"; 23 print OUT "#pragma GCC visibility pop\n"; 24 close OUT; 25 }