1 #! /usr/bin/perl -w 2 # 3 # Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies) 4 # 5 # This library is free software; you can redistribute it and/or 6 # modify it under the terms of the GNU Library General Public 7 # License as published by the Free Software Foundation; either 8 # version 2 of the License, or (at your option) any later version. 9 # 10 # This library is distributed in the hope that it will be useful, 11 # but WITHOUT ANY WARRANTY; without even the implied warranty of 12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 # Library General Public License for more details. 14 # 15 # You should have received a copy of the GNU Library General Public License 16 # along with this library; see the file COPYING.LIB. If not, write to 17 # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 # Boston, MA 02110-1301, USA. 19 20 use strict; 21 22 my $file = $ARGV[0]; 23 shift; 24 25 my $stub_template = ""; 26 my $stub = ""; 27 28 my $rtype = ""; 29 my $op = ""; 30 31 my $rtype_template = quotemeta("#rtype#"); 32 my $op_template = quotemeta("#op#"); 33 34 print STDERR "Creating RVCT stubs for $file \n"; 35 open(IN, $file) or die "No such file $file"; 36 37 while ( $_ = <IN> ) { 38 if ( /^RVCT\((.*)\)/ ) { 39 $stub_template .= $1 . "\n"; 40 } 41 if ( /^DEFINE_STUB_FUNCTION\((.*), (.*)\)/ ) { 42 $stub = $stub_template; 43 $rtype = quotemeta($1); 44 $op = quotemeta($2); 45 $stub =~ s/$rtype_template/$rtype/g; 46 $stub =~ s/$op_template/$op/g; 47 $stub =~ s/\\\*/\*/g; 48 print $stub; 49 } 50 } 51 52 close(IN); 53