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