[MSVCRT20]

- link to static crt instead of forwarding function to msvcrt.
As msvcrt, msvcrt20 exports some variable, marked as DATA in the def file. Forwarding them is not a good idea, since msvcrt would be initialized only if one of the forwarded function is called. We must keep those variables in our module. And as the forwarded functions might use the said variables, we can't really forward them, as they would not know which instance they should reference.

svn path=/trunk/; revision=52826
This commit is contained in:
Jérôme Gardou 2011-07-23 22:47:04 +00:00
parent 841762ca39
commit 4b7b205f04
3 changed files with 730 additions and 698 deletions

View file

@ -8,14 +8,19 @@ spec2def(msvcrt20.dll msvcrt20.spec)
list(APPEND SOURCE
msvcrt20.c
stubs.c
${CMAKE_CURRENT_BINARY_DIR}/msvcrt20_stubs.c
${CMAKE_CURRENT_BINARY_DIR}/msvcrt20.def)
add_library(msvcrt20 SHARED ${SOURCE})
set_entrypoint(msvcrt20 0)
target_link_libraries(msvcrt20 wine)
target_link_libraries(msvcrt20 crt wine)
add_importlibs(msvcrt20 msvcrt kernel32 ntdll)
if(NOT MSVC)
target_link_libraries(msvcrt20 pseh)
endif()
add_importlibs(msvcrt20 kernel32 ntdll)
add_dependencies(msvcrt20 psdk)
add_cd_file(TARGET msvcrt20 DESTINATION reactos/system32 FOR all)

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,27 @@
#include <stubs.h>
#undef UNIMPLEMENTED
#define UNIMPLEMENTED __wine_spec_unimplemented_stub("msvcrt.dll", __FUNCTION__)
int _atodbl(
void * value,
char * str)
{
UNIMPLEMENTED;
return 0;
}
int _ismbbkprint(
unsigned int c)
{
UNIMPLEMENTED;
return 0;
}
size_t _heapused( size_t *pUsed, size_t *pCommit )
{
UNIMPLEMENTED;
return( 0 );
}
int _fileinfo = 0;