sbsv1/abld/e32util/genshimsrc.bat
author srilekhas <srilekhas@symbian.org>
Wed, 18 Aug 2010 11:18:38 +0100
changeset 627 cb3264f4c6e6
parent 599 fa7a3cc6effd
permissions -rw-r--r--
Merge : re-applies missing part of fix for Bug 2901,Add export for s60ibymacros.pm
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
599
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     1
@REM Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     2
@REM All rights reserved.
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     3
@REM This component and the accompanying materials are made available
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     4
@REM under the terms of "Eclipse Public License v1.0"
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     5
@REM which accompanies this distribution, and is available
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     6
@REM at the URL "http://www.eclipse.org/legal/epl-v10.html".
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     7
@REM
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     8
@REM Initial Contributors:
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
     9
@REM Nokia Corporation - initial contribution.
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    10
@REM 
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    11
@REM Contributors:
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    12
@REM
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    13
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    14
@goto invoke
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    15
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    16
#!perl
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    17
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    18
use FindBin;		# for FindBin::Bin
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    19
use Getopt::Long;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    20
use Cwd;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    21
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    22
$_ = cwd;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    23
tr/\//\\/;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    24
my $Pwd = $_;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    25
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    26
my $PerlLibPath;    # fully qualified pathname of the directory containing our Perl modules
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    27
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    28
# establish the path to the Perl binaries
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    29
BEGIN {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    30
	require 5.005_03;				# check user has a version of perl that will cope
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    31
# establish the path to the Perl libraries: currently the same directory as this script
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    32
	$PerlLibPath = $FindBin::Bin;	# X:/epoc32/tools
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    33
	$PerlLibPath =~ s/\//\\/g;	# X:\epoc32\tools
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    34
	$PerlLibPath .= "\\";
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    35
}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    36
use lib $PerlLibPath;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    37
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    38
use Defutl;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    39
use Genutl;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    40
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    41
my %opts = ();
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    42
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    43
my $result = GetOptions(\%opts,
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    44
			"srcpath:s",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    45
			"defpath:s",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    46
			"name:s",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    47
			"version:s",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    48
			"alignstack",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    49
			"help",
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    50
		       );
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    51
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    52
Usage() if(!$result || $opts{'help'} || @ARGV < 1);
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    53
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    54
my $srcPath = $opts{"srcpath"} || $Pwd;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    55
my $defPath = $opts{"defpath"} || $srcPath;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    56
my $outputName = $opts{"name"} || "shim";
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    57
my %Version;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    58
if ($opts{version}) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    59
	%Version = &Genutl_StringToVersion($opts{version}) or die "Bad version number\n";
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    60
} else {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    61
	$Version{major} = 0;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    62
	$Version{minor} = 0;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    63
}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    64
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    65
my $infile = pop @ARGV;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    66
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    67
my @DefData;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    68
eval { &Def_ReadFileL(\@DefData, $infile); } ;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    69
die $@ if $@;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    70
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    71
sub WriteFunction($$$) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    72
  my ($ordinal, $branchTarget, $comment) = @_;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    73
  my $fnName = "export_at_ordinal_$ordinal";
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    74
  if ($branchTarget =~ /^\"(.*)\"$/) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    75
	  $branchTarget = $1;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    76
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    77
  if ($comment =~ /(null)/) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    78
    $comment = $branchTarget;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    79
  }
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    80
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    81
  print CPP <<FUNCTION_DEFINITION;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    82
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    83
EXPORT_C __NAKED__ int $fnName()
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    84
//
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    85
// $comment
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    86
//
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    87
	{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    88
	asm("B $branchTarget ");
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    89
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    90
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    91
FUNCTION_DEFINITION
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    92
}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    93
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    94
sub WriteFunctionAligned($$$) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    95
  my ($ordinal, $branchTarget, $comment) = @_;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    96
  my $fnName = "export_at_ordinal_$ordinal";
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    97
  if ($branchTarget =~ /^\"(.*)\"$/) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    98
	  $branchTarget = $1;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
    99
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   100
  if ($comment =~ /(null)/) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   101
    $comment = $branchTarget;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   102
  }
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   103
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   104
  print CPP <<FUNCTION_DEFINITION2;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   105
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   106
EXPORT_C __NAKED__ int $fnName()
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   107
//
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   108
// $comment
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   109
//
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   110
	{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   111
	asm("stmfd sp!, {r4,lr} ");
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   112
	asm("mov r4, sp ");
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   113
	asm("bic sp, sp, #4 ");
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   114
	asm("bl $branchTarget ");
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   115
	asm("mov sp, r4 ");
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   116
	asm("ldmfd sp!, {r4,pc} ");
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   117
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   118
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   119
FUNCTION_DEFINITION2
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   120
}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   121
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   122
sub WriteCppHeader($) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   123
  my ($filename) = @_;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   124
  print CPP <<FILE_HEADER;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   125
//
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   126
// $filename - generated by GENSHIMSRC.BAT
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   127
//
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   128
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   129
#include <e32def.h>
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   130
#include <e32const.h>
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   131
#include <cpudefs.h>
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   132
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   133
FILE_HEADER
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   134
}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   135
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   136
sub WriteExport($$$) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   137
  my ($ordinal, $export, $comment) = @_;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   138
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   139
  if ($comment =~ /(null)/) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   140
    $comment = $export;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   141
  }
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   142
  printf DEF "\t${export}=export_at_ordinal_${ordinal}__Fv \@ $ordinal NONAME \; $comment\n";
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   143
}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   144
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   145
my $cppFile = "$srcPath\\$outputName\.cia";
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   146
die "ERROR: Couldn't open $cppFile\n" unless open CPP, ">$cppFile";
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   147
my $vstring = &Genutl_VersionToFileAugment(%Version);
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   148
my $defFile = "$defPath\\${outputName}$vstring\.def";
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   149
die "ERROR: Couldn't open $defFile\n" unless open DEF, ">$defFile";
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   150
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   151
WriteCppHeader(uc "${outputName}.cia");
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   152
printf DEF "EXPORTS\n";
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   153
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   154
foreach my $defData (@DefData){
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   155
  my $ord = $$defData{Ordinal};
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   156
  if ($ord) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   157
	my $name = $$defData{Name};
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   158
	my $comment = $$defData{Comment};
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   159
	if ($opts{alignstack}) {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   160
		WriteFunctionAligned($ord, $name, $comment);
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   161
	} else {
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   162
		WriteFunction($ord, $name, $comment);
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   163
	}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   164
	WriteExport($ord, $name, $comment);
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   165
  }
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   166
}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   167
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   168
close CPP;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   169
close DEF;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   170
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   171
#####################################################################
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   172
sub Usage
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   173
{
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   174
	print <<EOT;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   175
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   176
genshimsrc
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   177
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   178
	Generate source for a shim DLL and its associated deffile from a supplied deffile
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   179
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   180
Usage:
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   181
	genshimsrc [options] deffile
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   182
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   183
Where:
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   184
	[deffile]     The source deffile
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   185
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   186
Options:
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   187
	--srcpath         the path for the output source file (defaults to CWD)
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   188
	--defpath         the path for the output DEF file (defaults to srcpath)
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   189
	--name            the name to use for the output files (defaults to shim)
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   190
	--version         the version to use for the output DEF file (defaults to 0.0)
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   191
	--alignstack      use shims which align the stack to an 8 byte boundary
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   192
EOT
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   193
	exit 1;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   194
}
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   195
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   196
1;
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   197
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   198
__END__
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   199
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   200
# Tell emacs that this is a perl script even 'though it has a .bat extension
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   201
# Local Variables:
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   202
# mode:perl
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   203
# tab-width:4
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   204
# End:
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   205
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   206
:invoke
fa7a3cc6effd Add sbsv1 to new structure
jjkang
parents:
diff changeset
   207
@perl -x -S genshimsrc.bat %1 %2 %3 %4 %5 %6 %7 %8 %9