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 20use strict; 21 22my $file = $ARGV[0]; 23shift; 24 25my $stub_template = ""; 26my $stub = ""; 27 28my $rtype = ""; 29my $op = ""; 30 31my $rtype_template = quotemeta("#rtype#"); 32my $op_template = quotemeta("#op#"); 33 34print STDERR "Creating RVCT stubs for $file \n"; 35open(IN, $file) or die "No such file $file"; 36 37while ( $_ = <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 52close(IN); 53