Author: janderwald Date: Fri Dec 8 15:47:58 2006 New Revision: 25091
URL: http://svn.reactos.org/svn/reactos?rev=25091&view=rev Log: - generated client header/source files get _c postfix - 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
Modified: trunk/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp
Modified: trunk/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/backend/msvc/v... ============================================================================== --- trunk/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp (original) +++ trunk/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp Fri Dec 8 15:47:58 2006 @@ -595,12 +595,18 @@ 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 "$(InputPath)" /out "$(IntDir)"", 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 "$(InputPath)" /out "$(IntDir)"", src.c_str (), src.c_str () ); + fprintf ( OUT, "
"); + fprintf ( OUT, "cl.exe /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_WIN32_WINNT=0x502" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /Fo"$(IntDir)\%s.obj" /W3 /c /Wp64 /ZI /TC "$(IntDir)\%s_c.c" /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 "$(InputPath)" /out "$(IntDir)"", src.c_str (), src.c_str () ); - - fprintf ( OUT, "
"); - fprintf ( OUT, "cl.exe /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_WIN32_WINNT=0x502" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /Fo"$(IntDir)\%s.obj" /W3 /c /Wp64 /ZI /TC "$(IntDir)\%s.c" /nologo /errorReport:prompt", 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 "$(InputPath)" /out "$(IntDir)"", src.c_str (), src.c_str () ); + fprintf ( OUT, "
"); + fprintf ( OUT, "cl.exe /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_WIN32_WINNT=0x502" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /Fo"$(IntDir)\%s.obj" /W3 /c /Wp64 /ZI /TC "$(IntDir)\%s_s.c" /nologo /errorReport:prompt", src.c_str (), src.c_str () ); + + } fprintf ( OUT, "
"); fprintf ( OUT, "lib.exe /OUT:"$(OutDir)\%s.lib" "$(IntDir)\%s.obj"
"\r\n", module.name.c_str (), src.c_str () ); fprintf ( OUT, "\t\t\t\t\t\tOutputs="$(IntDir)\$(InputName).obj"/>\r\n" );