You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.7 KiB
69 lines
1.7 KiB
@setlocal enableextensions & "%2\..\game\sdktools\Perl\bin\perl.exe" -x "%~f0" %* & goto :EOF
|
|
#!/usr/bin/perl
|
|
|
|
my $swigFile = $ARGV[ 0 ];
|
|
my $srcDir = $ARGV[ 1 ];
|
|
my $pyVer = $ARGV[ 2 ];
|
|
|
|
my $swig = $srcDir . "\\devtools\\swigwin-1.3.34\\swig.exe";
|
|
|
|
$dirtyFile = $swigFile . ".dep";
|
|
|
|
if ( ! -f $dirtyFile )
|
|
{
|
|
open DIRTY, ">${dirtyFile}";
|
|
print DIRTY <<"EOF";
|
|
//
|
|
// This file is simply here to be a build dependency for ${swigFile}.i
|
|
// The modification time of this file will be the newest modification time
|
|
// of all of the dependencies of ${baseFile}.i as generated by
|
|
//
|
|
// ${swig} \\
|
|
// -Fmicrosoft -ignoremissing -c++ -I${srcDir}\\public -python -M ${swigFile}.i
|
|
//
|
|
// If this file doesn't exist, it is created by the pre-build step
|
|
//
|
|
EOF
|
|
|
|
( $dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks ) = stat( $dirtyFile );
|
|
|
|
print( "[swig_depend] Setting ${dirtyFile} Modification Time To: " . localtime( $atime ) . "\n" );
|
|
|
|
exit( 0 );
|
|
}
|
|
|
|
if ( ! -f $dirtyFile )
|
|
{
|
|
die( "Can't Find ${dirtyFile}\n" );
|
|
}
|
|
|
|
( $dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks ) = stat( $dirtyFile );
|
|
|
|
my $dirtyTime = $mtime;
|
|
my $maxTime = $mtime;
|
|
|
|
open SWIG, "$swig -Fmicrosoft -ignoremissing -c++ -Iswig_python${pyVer} -I${srcDir}\\public -python -M ${swigFile}.i |" || die( "Couldn't Run Swig\n" );
|
|
|
|
while ( <SWIG> )
|
|
{
|
|
chomp;
|
|
s/^\s+//;
|
|
s/\s+\\\s*$//;
|
|
|
|
( $dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks ) = stat( $_ );
|
|
|
|
if ( $mtime > $maxTime )
|
|
{
|
|
$maxTime = $mtime;
|
|
}
|
|
}
|
|
|
|
close SWIG;
|
|
|
|
if ( $maxTime > $dirtyTime )
|
|
{
|
|
print( "[swig_depend] Setting ${dirtyFile} Modification Time To: " . localtime( $atime ) . "\n" );
|
|
utime $maxTime, $maxTime, $dirtyFile;
|
|
}
|
|
|
|
exit( 0 );
|