$LocalizeBinList=$ARGV[0]; $TargetOS=$ARGV[1]; $BuildType=$ENV{NTDEBUG}; $BinPlaceFile=$ENV{BINPLACE_PLACEFILE}; $BuildErrMsg="nmake : error GENLOC : "; open(LOCALIZEBINLIST,">$LocalizeBinList") || die "$BuildErrMsg Unable to open $LocalizeBinList for write\n"; open(BINPLACEFILE,$BinPlaceFile) || die "$BuildErrMsg Unable to open $BinPlaceFile for reading\n"; @LocalizedFiles=grep(m/;localize/g,); close BINPLACEFILE; print LOCALIZEBINLIST "PRELOCBINS= \\\n"; foreach (@LocalizedFiles) { @DataLine=split; $DataLine[1]=~s/retail/\./; if (($DataLine[0]!~m/directx\.cpl/i && $DataLine[0]!~m/\.inf/i) && ((($TargetOS=~m/Win9X/i) && ($DataLine[0]!~m/directx\.cpl/i)) || (($TargetOS!~m/Win9X/i) && ($DataLine[0]!~m/dxsetup\.exe/i) && ($DataLine[0]!~m/dsetup32\.dll/i) && ($DataLine[0]!~m/migrate\.dll/i)))) { if ($#DataLine > 3) { $IfDefs="!if ((\"\$(MULTI_PLACEFILE)\" == \"1\")"; for ($Counter=3, ,$#DataLine) { $IfDefs="$IfDefs || (\"\$(LANGUAGE)\" == \"$DataLine[$Counter++]\")"; } print LOCALIZEBINLIST "$IfDefs)\n"; } #diquick hack if ($DataLine[0]=~m/diquick\.exe/i) { print LOCALIZEBINLIST "\$(_NTTREE:Win9x=samples)\\$DataLine[1]\\$DataLine[0] \\\n"; } elsif ($DataLine[0]=~m/dplay\.dll/i || $DataLine[0]=~m/dpserial\.dll/i) { if ($TargetOS=~m/Win9X/i) { print LOCALIZEBINLIST "\$(_NTTREE)\\..\\dx6\\$DataLine[1]\\$DataLine[0] \\\n"; } else { print LOCALIZEBINLIST "\$(_NTTREE)\\redist\\$DataLine[1]\\$DataLine[0] \\\n"; } } elsif ($DataLine[0]=~m/migrate\.dll/i) { print LOCALIZEBINLIST "\$(_NTTREE)\\..\\dx8\\$DataLine[1]\\$DataLine[0] \\\n"; } else { if ($TargetOS=~m/Win9X/i) { $AltNTTree="\$(_ALT_NTTREE)\\win9x"; } else { $AltNTTree="\$(_ALT_NTTREE)"; } if (($BuildType eq "" || $BuildType eq "ntsdnodbg")) { if ($DataLine[0]=~m/dinput8d\.dll/i || $DataLine[0]=~m/d3d8d\.dll/i || $DataLine[0]=~m/dmusicd\.dll/i) { print LOCALIZEBINLIST "$AltNTTree\\$DataLine[1]\\$DataLine[0] \\\n"; } else { print LOCALIZEBINLIST "\$(_NTTREE)\\$DataLine[1]\\$DataLine[0] \\\n"; } } else { if ($DataLine[0]=~m/dinput8\.dll/i || $DataLine[0]=~m/d3d8\.dll/i || $DataLine[0]=~m/dmusic\.dll/i) { print LOCALIZEBINLIST "$AltNTTree\\$DataLine[1]\\$DataLine[0] \\\n"; } else { print LOCALIZEBINLIST "\$(_NTTREE)\\$DataLine[1]\\$DataLine[0] \\\n"; } } } if ($IfDefs) { undef $IfDefs; print LOCALIZEBINLIST "!endif\n"; } } } close LOCALIZEBINLIST; exit;