# HG changeset patch # User Faisal Memon # Date 1273156933 -3600 # Node ID 0af17dab16c33601fe3247d9a25b27aae848caf7 # Parent 0ee978e37eb775962871de12bb9af931c2ede568 Apply patch 4. Fix the stub generator to insert proper license text in autogenerated output. I left out the result of running this script due to a comment earlier to say there was a problem with the def files in my original patch. diff -r 0ee978e37eb7 -r 0af17dab16c3 windowing/windowserver/wins_switching/generate_stubs.pl --- a/windowing/windowserver/wins_switching/generate_stubs.pl Thu May 06 15:31:43 2010 +0100 +++ b/windowing/windowserver/wins_switching/generate_stubs.pl Thu May 06 15:42:13 2010 +0100 @@ -1,6 +1,6 @@ #!/bin/perl -w -# Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies). # All rights reserved. # This component and the accompanying materials are made available # under the terms of "Eclipse Public License v1.0" @@ -15,11 +15,21 @@ # Description: # Generates the ws32_stubs.h header file and the ws32switchU.def # file from the ws322U def file. -# +# # use strict; -my $COPYRIGHT = "Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies)."; + +my $COPYRIGHT = <<"EndCopyrightAndLicense"; +/* + * Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * This component and the accompanying materials are made available + * under the terms of "Eclipse Public License v1.0" + * which accompanies this distribution, and is available + * at the URL "http://www.eclipse.org/legal/epl-v10.html". + */ +EndCopyrightAndLicense my $SOURCE_DEF_SIZE = 0; my $WS32_DEF = "../BWINS/"; @@ -31,97 +41,96 @@ exit(0); sub main() { - my $maxOrdinal = 1; - my $def2MaxOrdinal = 1; + my $maxOrdinal = 1; + my $def2MaxOrdinal = 1; - $WS32_DEF .= $ARGV[0]; - $WS32SWITCH_HEADER = $ARGV[1]; - $WS32SWITCH_DEF .= $ARGV[2]; + $WS32_DEF .= $ARGV[0]; + $WS32SWITCH_HEADER = $ARGV[1]; + $WS32SWITCH_DEF .= $ARGV[2]; - open DEF, $WS32_DEF or - die "Cannot open $WS32_DEF\n"; + open DEF, $WS32_DEF or + die "Cannot open $WS32_DEF\n"; + - - my ($dev, $ino, $mode, $nlink, $uid, $gid, - $rdev, $size, $atime, $mtime, $ctime, - $blksize, $blocks) - = stat($WS32_DEF); - # the file size could be checked by the switcher build to verify that the stub is up to date. - $SOURCE_DEF_SIZE= $size; - - open HEADER_OUT, ">${WS32SWITCH_HEADER}" or - die "Cannot create $WS32SWITCH_HEADER\n"; + my ($dev, $ino, $mode, $nlink, $uid, $gid, + $rdev, $size, $atime, $mtime, $ctime, + $blksize, $blocks) + = stat($WS32_DEF); + # the file size could be checked by the switcher build to verify that the stub is up to date. + $SOURCE_DEF_SIZE= $size; - open DEF_OUT, ">${WS32SWITCH_DEF}" or - die "Cannot create $WS32SWITCH_DEF\n"; + open HEADER_OUT, ">${WS32SWITCH_HEADER}" or + die "Cannot create $WS32SWITCH_HEADER\n"; + + open DEF_OUT, ">${WS32SWITCH_DEF}" or + die "Cannot create $WS32SWITCH_DEF\n"; - &printHeaderStart(\*HEADER_OUT); - &printDefStart(\*DEF_OUT); + &printHeaderStart(\*HEADER_OUT); + &printDefStart(\*DEF_OUT); - while () { - chomp; - if (/^\s+\?/) { - if (s/.*;/;/) { - &printDefEntry(\*DEF_OUT, $maxOrdinal, $_); - &printHeaderEntry(\*HEADER_OUT,$maxOrdinal,$_); - } else { - &printDefEntry(\*DEF_OUT, $maxOrdinal, ""); - &printHeaderEntry(\*HEADER_OUT,$maxOrdinal, "(noname)"); - } - $maxOrdinal++; - } - } - &printHeaderEnd(\*HEADER_OUT,$maxOrdinal); - &printDefEnd(\*DEF_OUT); + while () { + chomp; + if (/^\s+\?/) { + if (s/.*;/;/) { + &printDefEntry(\*DEF_OUT, $maxOrdinal, $_); + &printHeaderEntry(\*HEADER_OUT,$maxOrdinal,$_); + } else { + &printDefEntry(\*DEF_OUT, $maxOrdinal, ""); + &printHeaderEntry(\*HEADER_OUT,$maxOrdinal, "(noname)"); + } + $maxOrdinal++; + } + } + &printHeaderEnd(\*HEADER_OUT,$maxOrdinal); + &printDefEnd(\*DEF_OUT); - + - close DEF; - close HEADER_OUT; - close DEF_OUT; + close DEF; + close HEADER_OUT; + close DEF_OUT; } sub printDefStart(\$) { - my ($fh) = @_; - print $fh "EXPORTS\n"; + my ($fh) = @_; + print $fh "EXPORTS\n"; } sub printDefEntry(\$\$\$) { - my ($fh, $ordinal, $comment) = @_; - print $fh "\tcall_vector_${ordinal} @ ${ordinal} NONAME $comment\n"; + my ($fh, $ordinal, $comment) = @_; + print $fh "\tcall_vector_${ordinal} @ ${ordinal} NONAME $comment\n"; } sub printDefEnd(\$) { - my ($fh) = @_; - print $fh "\n"; + my ($fh) = @_; + print $fh "\n"; } sub printHeaderStart(\$) { - my ($fh) = @_; + my ($fh) = @_; - print $fh "// Generated from \"$WS32_DEF\" file size: $SOURCE_DEF_SIZE\n" . - "// $COPYRIGHT\n" . - "\n" . - "extern \"C\" {\n" . - "void common_dispatch();\n" . - "\n"; + print $fh "$COPYRIGHT\n" . + "/* Generated from \"$WS32_DEF\" file size: $SOURCE_DEF_SIZE */\n\n" . + "extern \"C\" {\n" . + "void common_dispatch();\n" . + "\n"; } sub printHeaderEntry(\$\$\$) { - my ($fh, $ordinal, $comment) = @_; + my ($fh, $ordinal, $comment) = @_; - print $fh "__declspec(dllexport)\n" . - "__declspec(naked)\n" . - "void call_vector_${ordinal} ()\n" . - "\t{\n" . - "\t// ${comment}\n" . - "\t_asm mov eax, $ordinal\n" . - "\t_asm jmp common_dispatch\n" . - "\t}\n\n"; + print $fh "__declspec(dllexport)\n" . + "__declspec(naked)\n" . + "void call_vector_${ordinal} ()\n" . + "\t{\n" . + "\t// ${comment}\n" . + "\t_asm mov eax, $ordinal\n" . + "\t_asm jmp common_dispatch\n" . + "\t}\n\n"; } sub printHeaderEnd(\$\$) { - my ($fh, $maxOrdinal) = @_; - print $fh "}\n" . - "#define MAX_ORDINAL $maxOrdinal\n\n"; + my ($fh, $maxOrdinal) = @_; + print $fh "}\n" . + "#define MAX_ORDINAL $maxOrdinal\n\n"; }