Hi,
I want to build and test wine test suite on window, I did
./tools/winapi/msvcmaker --no-wine
that is ok, but when I try to open the fille winetest.dsw,
1. with Developer Studio 6.0, it compaints that all *.dsp files (such as dlls\advapi32\tests\advapi32_test.dsp) have been modified and can not be loaded as Developer Studio Project.
2. with Developer Studio 2008, half of the *.dsp files (such as dlls\user32\tests\user32_test.dsp) was reported corrupted after been converted into the current Visual C++ project format.
Does anyone know what is the problem? Please help me.
I really need to compile and run existing tests on window before I can write any test case for wine.
Regards Hongbo Ni _________________________________________________________________ It's simple! Sell your car for just $40 at CarPoint.com.au http://a.ninemsn.com.au/b.aspx?URL=http%3A%2F%2Fsecure%2Dau%2Eimrworldwide%2...
2008/8/3 Hongbo Ni hongbo_ni@hotmail.com:
Hi,
I want to build and test wine test suite on window, I did
./tools/winapi/msvcmaker --no-wine
that is ok, but when I try to open the fille winetest.dsw,
- with Developer Studio 6.0, it compaints that all *.dsp files (such as dlls\advapi32\tests\advapi32_test.dsp)
have been modified and can not be loaded as Developer Studio Project.
- with Developer Studio 2008, half of the *.dsp files (such as dlls\user32\tests\user32_test.dsp)
was reported corrupted after been converted into the current Visual C++ project format.
Does anyone know what is the problem? Please help me.
I really need to compile and run existing tests on window before I can write any test case for wine.
What is git's core.autocrlf setting configured to? I had this issue (some of the detected filenames are '\r' - which is caused by perl being confused, which then confuses Visual Studio).
You need to set core.autocrlf to false:
$ git config --bool core.autocrlf false
HTH, - Reece
Reece wrote
I really need to compile and run existing tests on window before I can write any test case for wine.
What is git's core.autocrlf setting configured to? I had this issue (some of the detected filenames are '\r' - which is caused by perl being confused, which then confuses Visual Studio).
change of core.autocrlf does not fix the problem.
I have found the problem in msvcmaker generated .dsp file.
It only happens when running msvcmaker on windows under MinGW32. And it only happen to the tests folder with more one c files.
For example in dlls/user32/tests/user32_test.dsp ---------------------------------------------- # Begin Source File
SOURCE=.\broadcast.c # End Source File # Begin Source File
SOURCE=.\ <<--------------- something wrong here, rest of the test files are missing # End Source File # Begin Source File
SOURCE=.\testlist.c # End Source File # End Group ------------------------------------------------
I traced the msvcmaker and found the fix in line 138
if(!$again) { chomp $line; if($lookahead) { $lookahead = 0; - $_ .= "\n" . $line; + $_ .= " " . $line; } else { $_ = $line; } } else {
If lines ending with \ are joined with '\n', the line (12 lines down) "if(s/\$/ /s)" will fail, so rest of test file are not joined.
I replaced "\n" with "" in line 138, so rest of code can split files again. Now it works on Linux and MinGW32.
Does anyone ever run msvcmaker on windows ?
Hongbo Ni
_________________________________________________________________ Meet singles near you. Try ninemsn dating now! http://a.ninemsn.com.au/b.aspx?URL=http%3A%2F%2Fdating%2Eninemsn%2Ecom%2Eau%...
2008/8/4 Hongbo Ni hongbo_ni@hotmail.com:
Reece wrote
I really need to compile and run existing tests on window before I can write any test case for wine.
What is git's core.autocrlf setting configured to? I had this issue (some of the detected filenames are '\r' - which is caused by perl being confused, which then confuses Visual Studio).
change of core.autocrlf does not fix the problem.
I have found the problem in msvcmaker generated .dsp file.
It only happens when running msvcmaker on windows under MinGW32. And it only happen to the tests folder with more one c files.
For example in dlls/user32/tests/user32_test.dsp
# Begin Source File
SOURCE=.\broadcast.c # End Source File # Begin Source File
SOURCE=.\ <<--------------- something wrong here, rest of the test files are missing # End Source File # Begin Source File
SOURCE=.\testlist.c # End Source File
# End Group
This was the error that I was getting. Changing the core.autocrlf property fixed this for me.
I traced the msvcmaker and found the fix in line 138
if(!$again) { chomp $line; if($lookahead) { $lookahead = 0;
$_ .= "\n" . $line;
$_ .= " " . $line; } else { $_ = $line; } } else {
If lines ending with \ are joined with '\n', the line (12 lines down) "if(s/\$/ /s)" will fail, so rest of test file are not joined.
I replaced "\n" with "" in line 138, so rest of code can split files again. Now it works on Linux and MinGW32.
Great! Could you submit a patch for this?
Does anyone ever run msvcmaker on windows ?
I run it when testing my patches on Windows, as I can't get the crosstest target to build on my Windows dev machine (and don't want to continually switch between Linux and Windows when developing the patches - only for testing the results).
I would like to rework the msvcmaker tool. Specifically:
1. Generate VC 2002/3/5/8 vcproj and sln files directly, as well as dsp files.
2. Add support for RC targets (some tests, e.g. user32 need this to build).
3. Add support for IDL targets (some tests need this to build).
There may be more, but that is the general direction.
- Reece