Greetings Farid
I wonder if MSVC 7.1 has a fixed length buffer used in generating the
temporary batch file. If this is the case, the buffer seems to have an
odd length. wc indicates that the fragment of the vcproject present in
the output file has a length of 1044 characters, with the entire
fragment having a length of 1228 characters. These numbers might be a
tad off, as I'm using unix newlines rather than windows newlines.
The fact that it's the last block of characters rather than the first
block is a tad puzzling if this is a fixed length buffer. If the
command were read in blocks of X characters (Where X is a round number
like 2048), and a bug causes MSVC to not echo the intermediate reads,
this could make more sense.
A workaround might be to create a test_locales.bat script, containing
the series of commands, then execute that script as the pre-build (or
build event?). It might also be possible to compress the command string
by using a for /F loop to iterate over the locales to test, rather
than spelling out each test step.
--Andrew Black
Farid Zaripov wrote:
-----Original Message-----
From: Martin Sebor [mailto:[EMAIL PROTECTED]
Sent: Tuesday, January 16, 2007 8:27 PM
To: [email protected]
Subject: Windows locale failures
It looks like the recent changes to the Windows side of the
build and test infrastructure might be causing all locales to
fail to build (see the error below). Farid, can you see
what's going on?
Hmm, I see that Pre-Build command line is broken.
Should be:
@echo off
if exist "%builddir%\lib\stdlib12d.dll" if not exist
"%builddir%\12d\bin\stdlib12d.dll" copy /Y
"%builddir%\lib\stdlib12d.dll" "%builddir%\12d\bin\stdlib12d.dll"
echo cscript /nologo "%srcdir%\etc\config\windows\run_locale_utils.wsf"
/s /b:"%builddir%\12d\bin" > "%builddir%\12d\bin\sanity_test.bat"
echo cscript /nologo "%srcdir%\etc\config\windows\run_locale_utils.wsf"
/f /b:"%builddir%\12d\bin" /i:"%srcdir%\etc\nls" /l:af_ZA.ISO-8859-1 >
"%builddir%\12d\bin\af_ZA.ISO-8859-1.bat"
and so on by one line per locale
But the present command line is:
@echo off
i12d\bin\zh_CN.GBK.bat"
echo cscript /nologo "%srcdir%\etc\config\windows\run_locale_utils.wsf"
/f /b:"%builddir%\12d\bin" /i:"%srcdir%\etc\nls" /l:zh_HK.BIG5-HKSCS >
"%builddir%\12d\bin\zh_HK.BIG5-HKSCS.bat"
...
Seems to first 'i' from line "i12d\bin\zh_CN.GBK.bat"" is cutted line
"if exist ...", but I have no idea how this can happened.
Farid.