1: 2eval 'exec perl -S $0 ${1+"$@"}' 3 if 0; 4#************************************************************************* 5# 6# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 7# 8# Copyright 2000, 2010 Oracle and/or its affiliates. 9# 10# OpenOffice.org - a multi-platform office productivity suite 11# 12# This file is part of OpenOffice.org. 13# 14# OpenOffice.org is free software: you can redistribute it and/or modify 15# it under the terms of the GNU Lesser General Public License version 3 16# only, as published by the Free Software Foundation. 17# 18# OpenOffice.org is distributed in the hope that it will be useful, 19# but WITHOUT ANY WARRANTY; without even the implied warranty of 20# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21# GNU Lesser General Public License version 3 for more details 22# (a copy is included in the LICENSE file that accompanied this code). 23# 24# You should have received a copy of the GNU Lesser General Public License 25# version 3 along with OpenOffice.org. If not, see 26# <http://www.openoffice.org/license.html> 27# for a copy of the LGPLv3 License. 28# 29#************************************************************************* 30# 31# make_patched_header - make patched header 32# 33 34use strict; 35use File::Basename; 36use File::Path; 37use Carp; 38 39my $patched_file = shift @ARGV; 40$patched_file =~ s/\\/\//g; 41my $module = shift @ARGV; 42my $patch_dir = dirname($patched_file); 43my $orig_file = $patched_file; 44$orig_file =~ s/\/patched\//\//; 45 46if (!-f $orig_file) { carp("Cannot find file $orig_file\n"); }; 47if (!-d $patch_dir) { 48 mkpath($patch_dir, 0, 0775); 49 if (!-d $patch_dir) {("mkdir: could not create directory $patch_dir\n"); }; 50}; 51 52open(PATCHED_FILE, ">$patched_file") or carp("Cannot open file $patched_file\n"); 53open(ORIG_FILE, "<$orig_file") or carp("Cannot open file $orig_file\n"); 54foreach (<ORIG_FILE>) { 55 if (/#include\s*"(\w+\.h\w*)"/) { 56 my $include = $1; 57 s/#include "$include"/#include <$module\/$include>/g; 58 }; 59 print PATCHED_FILE $_; 60}; 61close PATCHED_FILE; 62close ORIG_FILE; 63 64exit(0); 65 66 67