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