- generated client header/source files get _c postfix
authorJohannes Anderwald <johannes.anderwald@reactos.org>
Fri, 8 Dec 2006 12:47:58 +0000 (12:47 +0000)
committerJohannes Anderwald <johannes.anderwald@reactos.org>
Fri, 8 Dec 2006 12:47:58 +0000 (12:47 +0000)
- generated server header/source files get _s postfix
- only generate code for the required module
Note: due to an bug in VS2005 build tool lib tool does only get part of generated object filename i.e. pnp_c.obj becomes pnp.obj. As a result the lib tool cannot link. However we need to generate unique obj files so that client / server project always compiles the requires source files

svn path=/trunk/; revision=25091

reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp

index a0e971a..0f5d2ec 100644 (file)
@@ -595,12 +595,18 @@ MSVCBackend::_generate_vcproj ( const Module& module )
                                                fprintf ( OUT, "\t\t\t\t\t\tName=\"VCCustomBuildTool\"\r\n" );
 
                                                if ( module.type == RpcClient )
-                                                       fprintf ( OUT, "\t\t\t\t\t\tCommandLine=\"midl.exe /cstub %s.c /header %s.h &quot;$(InputPath)&quot; /out &quot;$(IntDir)&quot;", src.c_str (), src.c_str () );
+                                               {
+                                                       fprintf ( OUT, "\t\t\t\t\t\tCommandLine=\"midl.exe /cstub %s_c.c /header %s_c.h /server none &quot;$(InputPath)&quot; /out &quot;$(IntDir)&quot;", src.c_str (), src.c_str () );
+                                                       fprintf ( OUT, "&#x0D;&#x0A;");
+                                                       fprintf ( OUT, "cl.exe /Od /D &quot;WIN32&quot; /D &quot;_DEBUG&quot; /D &quot;_WINDOWS&quot; /D &quot;_WIN32_WINNT=0x502&quot; /D &quot;_UNICODE&quot; /D &quot;UNICODE&quot; /Gm /EHsc /RTC1 /MDd /Fo&quot;$(IntDir)\\%s.obj&quot; /W3 /c /Wp64 /ZI /TC &quot;$(IntDir)\\%s_c.c&quot; /nologo /errorReport:prompt", src.c_str (), src.c_str () ); 
+                                               }
                                                else
-                                                       fprintf ( OUT, "\t\t\t\t\t\tCommandLine=\"midl.exe /sstub %s.c /header %s.h &quot;$(InputPath)&quot; /out &quot;$(IntDir)&quot;", src.c_str (), src.c_str () );
+                                               {
+                                                       fprintf ( OUT, "\t\t\t\t\t\tCommandLine=\"midl.exe /sstub %s_s.c /header %s_s.h /client none &quot;$(InputPath)&quot; /out &quot;$(IntDir)&quot;", src.c_str (), src.c_str () );
+                                                       fprintf ( OUT, "&#x0D;&#x0A;");
+                                                       fprintf ( OUT, "cl.exe /Od /D &quot;WIN32&quot; /D &quot;_DEBUG&quot; /D &quot;_WINDOWS&quot; /D &quot;_WIN32_WINNT=0x502&quot; /D &quot;_UNICODE&quot; /D &quot;UNICODE&quot; /Gm /EHsc /RTC1 /MDd /Fo&quot;$(IntDir)\\%s.obj&quot; /W3 /c /Wp64 /ZI /TC &quot;$(IntDir)\\%s_s.c&quot; /nologo /errorReport:prompt", src.c_str (), src.c_str () ); 
 
-                                               fprintf ( OUT, "&#x0D;&#x0A;");
-                                               fprintf ( OUT, "cl.exe /Od /D &quot;WIN32&quot; /D &quot;_DEBUG&quot; /D &quot;_WINDOWS&quot; /D &quot;_WIN32_WINNT=0x502&quot; /D &quot;_UNICODE&quot; /D &quot;UNICODE&quot; /Gm /EHsc /RTC1 /MDd /Fo&quot;$(IntDir)\\%s.obj&quot; /W3 /c /Wp64 /ZI /TC &quot;$(IntDir)\\%s.c&quot; /nologo /errorReport:prompt", src.c_str (), src.c_str () ); 
+                                               }
                                                fprintf ( OUT, "&#x0D;&#x0A;");
                                                fprintf ( OUT, "lib.exe /OUT:&quot;$(OutDir)\\%s.lib&quot; &quot;$(IntDir)\\%s.obj&quot;&#x0D;&#x0A;\"\r\n", module.name.c_str (), src.c_str () );
                                                fprintf ( OUT, "\t\t\t\t\t\tOutputs=\"$(IntDir)\\$(InputName).obj\"/>\r\n" );