make-system-wrappers.pl 643 B

123456789101112131415161718192021222324252627
  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. $output_dir = shift;
  7. while (<STDIN>) {
  8. chomp;
  9. if (-e "$output_dir/$_") {
  10. next;
  11. }
  12. if (/(.*)\/[^\/*]/) {
  13. mkdir "$output_dir/$1";
  14. }
  15. open OUT, ">$output_dir/$_";
  16. print OUT "#pragma GCC system_header\n"; # suppress include_next warning
  17. print OUT "#pragma GCC visibility push(default)\n";
  18. print OUT "#include_next \<$_\>\n";
  19. print OUT "#pragma GCC visibility pop\n";
  20. close OUT;
  21. }