[CMAKE]
authorAmine Khaldi <amine.khaldi@reactos.org>
Sat, 14 Aug 2010 10:10:21 +0000 (10:10 +0000)
committerAmine Khaldi <amine.khaldi@reactos.org>
Sat, 14 Aug 2010 10:10:21 +0000 (10:10 +0000)
- Add an MSVC compatible definition file for msvcrt.
- Temporarily add the msvcrt import library (until RosBE ships with one).
- Group msvcrt wine stubs into msvcrt_stubs.c
- Add msvcrt to build.

svn path=/branches/cmake-bringup/; revision=48537

dll/win32/CMakeLists.txt
dll/win32/msvcrt/CMakeLists.txt [new file with mode: 0644]
dll/win32/msvcrt/libmsvcrt.a [new file with mode: 0644]
dll/win32/msvcrt/msvcrt.def [new file with mode: 0644]
dll/win32/msvcrt/msvcrt_stubs.c [new file with mode: 0644]

index 05fc78f..75397f9 100644 (file)
@@ -2,5 +2,5 @@
 add_subdirectory(advapi32)
 add_subdirectory(gdi32)
 add_subdirectory(kernel32)
-#add_subdirectory(msvcrt)
+add_subdirectory(msvcrt)
 add_subdirectory(user32)
diff --git a/dll/win32/msvcrt/CMakeLists.txt b/dll/win32/msvcrt/CMakeLists.txt
new file mode 100644 (file)
index 0000000..09889c9
--- /dev/null
@@ -0,0 +1,32 @@
+
+set(CMAKE_C_CREATE_SHARED_LIBRARY "<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
+
+add_definitions(-DUSE_MSVCRT_PREFIX)
+add_definitions(-D_MSVCRT_)
+add_definitions(-D_MSVCRT_LIB_)
+add_definitions(-D_MT)
+add_definitions(-D_CTYPE_DISABLE_MACROS)
+add_definitions(-D_NO_INLINING)
+add_definitions(-DCRTDLL)
+add_definitions(-D__MINGW_IMPORT="")
+
+include_directories(${REACTOS_SOURCE_DIR}/lib/sdk/crt/include)
+
+file(GLOB_RECURSE SOURCE *.c)
+
+add_library(msvcrt SHARED
+            ${SOURCE}
+            ${CMAKE_CURRENT_SOURCE_DIR}/msvcrt.rc
+            ${CMAKE_CURRENT_BINARY_DIR}/msvcrt_precomp.h.gch)
+
+set_target_properties(msvcrt PROPERTIES LINK_FLAGS "-Wl,-entry,_DllMain@12 -u __seh_longjmp_unwind@4")
+
+target_link_libraries(msvcrt ${CMAKE_CURRENT_SOURCE_DIR}/msvcrt.def
+                      crt
+                      wine
+                      pseh
+                      ${REACTOS_SOURCE_DIR}/dll/win32/kernel32/libkernel32.a
+                      ${REACTOS_SOURCE_DIR}/dll/ntdll/libntdll.a)
+
+add_pch(msvcrt ${CMAKE_CURRENT_SOURCE_DIR}/precomp.h ${SOURCE})
+add_dependencies(msvcrt psdk)
diff --git a/dll/win32/msvcrt/libmsvcrt.a b/dll/win32/msvcrt/libmsvcrt.a
new file mode 100644 (file)
index 0000000..73c5047
Binary files /dev/null and b/dll/win32/msvcrt/libmsvcrt.a differ
diff --git a/dll/win32/msvcrt/msvcrt.def b/dll/win32/msvcrt/msvcrt.def
new file mode 100644 (file)
index 0000000..474dccf
--- /dev/null
@@ -0,0 +1,841 @@
+
+LIBRARY msvcrt.dll
+
+EXPORTS
+  $I10_OUTPUT=MSVCRT_I10_OUTPUT
+  ??0__non_rtti_object@@QAE@ABV0@@Z=__thiscall_MSVCRT___non_rtti_object_copy_ctor
+  ??0__non_rtti_object@@QAE@PBD@Z=__thiscall_MSVCRT___non_rtti_object_ctor
+  ??0bad_cast@@AAE@PBQBD@Z=__thiscall_MSVCRT_bad_cast_ctor
+  ??0bad_cast@@QAE@ABQBD@Z=__thiscall_MSVCRT_bad_cast_ctor
+  ??0bad_cast@@QAE@ABV0@@Z=__thiscall_MSVCRT_bad_cast_copy_ctor
+  ??0bad_cast@@QAE@PBD@Z=__thiscall_MSVCRT_bad_cast_ctor_charptr
+  ??0bad_typeid@@QAE@ABV0@@Z=__thiscall_MSVCRT_bad_typeid_copy_ctor
+  ??0bad_typeid@@QAE@PBD@Z=__thiscall_MSVCRT_bad_typeid_ctor
+  ??0exception@@QAE@ABQBD@Z=__thiscall_MSVCRT_exception_ctor
+  ??0exception@@QAE@ABQBDH@Z=__thiscall_MSVCRT_exception_ctor_noalloc
+  ??0exception@@QAE@ABV0@@Z=__thiscall_MSVCRT_exception_copy_ctor
+  ??0exception@@QAE@XZ=__thiscall_MSVCRT_exception_default_ctor
+  ??1__non_rtti_object@@UAE@XZ=__thiscall_MSVCRT___non_rtti_object_dtor
+  ??1bad_cast@@UAE@XZ=__thiscall_MSVCRT_bad_cast_dtor
+  ??1bad_typeid@@UAE@XZ=__thiscall_MSVCRT_bad_typeid_dtor
+  ??1exception@@UAE@XZ=__thiscall_MSVCRT_exception_dtor
+  ??1type_info@@UAE@XZ=__thiscall_MSVCRT_type_info_dtor
+  ??2@YAPAXI@Z=MSVCRT_operator_new
+  ??3@YAXPAX@Z=MSVCRT_operator_delete
+  ??4__non_rtti_object@@QAEAAV0@ABV0@@Z=__thiscall_MSVCRT___non_rtti_object_opequals
+  ??4bad_cast@@QAEAAV0@ABV0@@Z=__thiscall_MSVCRT_bad_cast_opequals
+  ??4bad_typeid@@QAEAAV0@ABV0@@Z=__thiscall_MSVCRT_bad_typeid_opequals
+  ??4exception@@QAEAAV0@ABV0@@Z=__thiscall_MSVCRT_exception_opequals
+  ??8type_info@@QBEHABV0@@Z=__thiscall_MSVCRT_type_info_opequals_equals
+  ??9type_info@@QBEHABV0@@Z=__thiscall_MSVCRT_type_info_opnot_equals
+  ??_7__non_rtti_object@@6B@=MSVCRT___non_rtti_object_vtable DATA
+  ??_7bad_cast@@6B@=MSVCRT_bad_cast_vtable DATA
+  ??_7bad_typeid@@6B@=MSVCRT_bad_typeid_vtable DATA
+  ??_7exception@@6B@=MSVCRT_exception_vtable DATA
+  ??_E__non_rtti_object@@UAEPAXI@Z=__thiscall_MSVCRT___non_rtti_object_vector_dtor
+  ??_Ebad_cast@@UAEPAXI@Z=__thiscall_MSVCRT_bad_cast_vector_dtor
+  ??_Ebad_typeid@@UAEPAXI@Z=__thiscall_MSVCRT_bad_typeid_vector_dtor
+  ??_Eexception@@UAEPAXI@Z=__thiscall_MSVCRT_exception_vector_dtor
+  ??_Fbad_cast@@QAEXXZ=__thiscall_MSVCRT_bad_cast_default_ctor
+  ??_Fbad_typeid@@QAEXXZ=__thiscall_MSVCRT_bad_typeid_default_ctor
+  ??_G__non_rtti_object@@UAEPAXI@Z=__thiscall_MSVCRT___non_rtti_object_scalar_dtor
+  ??_Gbad_cast@@UAEPAXI@Z=__thiscall_MSVCRT_bad_cast_scalar_dtor
+  ??_Gbad_typeid@@UAEPAXI@Z=__thiscall_MSVCRT_bad_typeid_scalar_dtor
+  ??_Gexception@@UAEPAXI@Z=__thiscall_MSVCRT_exception_scalar_dtor
+  ??_U@YAPAXI@Z=MSVCRT_operator_new
+  ??_V@YAXPAX@Z=MSVCRT_operator_delete
+  ?_query_new_handler@@YAP6AHI@ZXZ=MSVCRT__query_new_handler
+  ?_query_new_mode@@YAHXZ=MSVCRT__query_new_mode
+  ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z=MSVCRT__set_new_handler
+  ?_set_new_mode@@YAHH@Z=MSVCRT__set_new_mode
+  ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z=MSVCRT__set_se_translator
+  ?before@type_info@@QBEHABV1@@Z=__thiscall_MSVCRT_type_info_before
+  ?name@type_info@@QBEPBDXZ=__thiscall_MSVCRT_type_info_name
+  ?raw_name@type_info@@QBEPBDXZ=__thiscall_MSVCRT_type_info_raw_name
+  ?set_new_handler@@YAP6AXXZP6AXXZ@Z=MSVCRT_set_new_handler
+  ?set_terminate@@YAP6AXXZP6AXXZ@Z=MSVCRT_set_terminate
+  ?set_unexpected@@YAP6AXXZP6AXXZ@Z=MSVCRT_set_unexpected
+  ?terminate@@YAXXZ=MSVCRT_terminate
+  ?unexpected@@YAXXZ=MSVCRT_unexpected
+  ?what@exception@@UBEPBDXZ=__thiscall_MSVCRT_what_exception
+  _CIacos
+  _CIasin
+  _CIatan
+  _CIatan2
+  _CIcos
+  _CIcosh
+  _CIexp
+  _CIfmod
+  _CIlog
+  _CIlog10
+  _CIpow
+  _CIsin
+  _CIsinh
+  _CIsqrt
+  _CItan
+  _CItanh
+  _CxxThrowException
+  _EH_prolog
+  _Getdays
+  _Getmonths
+  _Gettnames
+  _HUGE DATA
+  _Strftime
+  _XcptFilter
+  __CppXcptFilter
+  __CxxDetectRethrow
+  __CxxFrameHandler
+  __CxxFrameHandler2=__CxxFrameHandler
+  __CxxFrameHandler3=__CxxFrameHandler
+  __CxxLongjmpUnwind
+  __CxxQueryExceptionSize
+  __RTCastToVoid=MSVCRT___RTCastToVoid
+  __RTDynamicCast=MSVCRT___RTDynamicCast
+  __RTtypeid=MSVCRT___RTtypeid
+  __STRINGTOLD
+  ___lc_codepage_func
+  ___lc_handle_func
+  ___setlc_active_func
+  ___unguarded_readlc_active_add_func
+  __argc DATA
+  __argv DATA
+  __badioinfo DATA
+  __crtCompareStringA=kernel32.CompareStringA
+  __crtCompareStringW=kernel32.CompareStringW
+  __crtGetLocaleInfoW=kernel32.GetLocaleInfo
+  __crtGetStringTypeW
+  __crtLCMapStringA
+  __dllonexit
+  __doserrno
+  __fpecode
+  __get_app_type=__wine_stub_msvcrt_dll_107
+  __getmainargs
+  __initenv DATA
+  __iob_func=__p__iob
+  __isascii
+  __iscsym
+  __iscsymf
+  __lc_codepage=MSVCRT___lc_codepage DATA
+  __lc_collate=__wine_stub_msvcrt_dll_115
+  __lc_collate_cp=MSVCRT___lc_collate_cp DATA
+  __lc_handle=MSVCRT___lc_handle DATA
+  __lconv_init
+  __mb_cur_max DATA
+  __p___argc
+  __p___argv
+  __p___initenv
+  __p___mb_cur_max
+  __p___wargv
+  __p___winitenv
+  __p__acmdln
+  __p__amblksiz
+  __p__commode
+  __p__daylight
+  __p__dstbias
+  __p__environ
+  __p__fileinfo=__wine_stub_msvcrt_dll_132
+  __p__fmode
+  __p__iob
+  __p__mbcasemap=__wine_stub_msvcrt_dll_135
+  __p__mbctype
+  __p__osver
+  __p__pctype=__pctype_func
+  __p__pgmptr
+  __p__pwctype=__wine_stub_msvcrt_dll_140
+  __p__timezone
+  __p__tzname
+  __p__wcmdln
+  __p__wenviron
+  __p__winmajor
+  __p__winminor
+  __p__winver
+  __p__wpgmptr
+  __pctype_func
+  __pioinfo DATA
+  __pxcptinfoptrs=__wine_stub_msvcrt_dll_151
+  __set_app_type
+  __setlc_active DATA
+  __setusermatherr
+  __threadhandle=kernel32.GetCurrentThread
+  __threadid=kernel32.GetCurrentThreadId
+  __toascii
+  __uncaught_exception
+  __unDName
+  __unDNameEx
+  __unguarded_readlc_active DATA
+  __wargv DATA
+  __wgetmainargs
+  __winitenv DATA
+  _abnormal_termination
+  _access
+  _acmdln DATA
+  _adj_fdiv_m16i
+  _adj_fdiv_m32
+  _adj_fdiv_m32i
+  _adj_fdiv_m64
+  _adj_fdiv_r
+  _adj_fdivr_m16i
+  _adj_fdivr_m32
+  _adj_fdivr_m32i
+  _adj_fdivr_m64
+  _adj_fpatan
+  _adj_fprem
+  _adj_fprem1
+  _adj_fptan
+  _adjust_fdiv DATA
+  _aligned_free
+  _aligned_malloc
+  _aligned_offset_malloc
+  _aligned_offset_realloc
+  _aligned_realloc
+  _amsg_exit
+  _assert
+  _atodbl=__wine_stub_msvcrt_dll_189
+  _atoi64
+  _atoldbl
+  _beep
+  _beginthread
+  _beginthreadex
+  _c_exit
+  _cabs
+  _callnewh
+  _cexit
+  _cgets
+  _chdir
+  _chdrive
+  _chgsign
+  _chkesp
+  _chmod
+  _chsize
+  _clearfp
+  _close
+  _commit
+  _commode DATA
+  _control87
+  _controlfp
+  _copysign
+  _cprintf
+  _cputs
+  _creat
+  _cscanf
+  _ctime32
+  _ctime64
+  _ctype DATA
+  _cwait
+  _daylight DATA
+  _difftime32
+  _difftime64
+  _dstbias DATA
+  _dup
+  _dup2
+  _ecvt
+  _endthread
+  _endthreadex
+  _environ DATA
+  _eof
+  _errno
+  _except_handler2
+  _except_handler3
+  _except_handler4_common
+  _execl
+  _execle
+  _execlp
+  _execlpe
+  _execv
+  _execve
+  _execvp
+  _execvpe
+  _exit
+  _expand
+  _fcloseall
+  _fcvt
+  _fdopen
+  _fgetchar
+  _fgetwchar
+  _filbuf
+  _filelength
+  _filelengthi64
+  _fileno
+  _findclose
+  _findfirst
+  _findfirst64
+  _findfirsti64
+  _findnext
+  _findnext64
+  _findnexti64
+  _finite
+  _flsbuf
+  _flushall
+  _fmode DATA
+  _fpclass
+  _fpieee_flt=__wine_stub_msvcrt_dll_267
+  _fpreset
+  _fputchar
+  _fputwchar
+  _fsopen
+  _fstat
+  _fstat64
+  _fstati64
+  _ftime
+  _ftime32
+  _ftime64
+  _ftol
+  _ftol2=_ftol
+  _ftol2_sse=_ftol
+  _fullpath
+  _futime
+  _futime32
+  _futime64
+  _gcvt
+  _get_osfhandle
+  _get_sbh_threshold
+  _get_terminate=__wine_stub_msvcrt_dll_288
+  _get_unexpected=__wine_stub_msvcrt_dll_289
+  _getch
+  _getche
+  _getcwd
+  _getdcwd
+  _getdiskfree
+  _getdllprocaddr
+  _getdrive
+  _getdrives=kernel32.GetLogicalDrives
+  _getmaxstdio
+  _getmbcp
+  _getpid=kernel32.GetCurrentProcessId
+  _getsystime=__wine_stub_msvcrt_dll_301
+  _getw
+  _getws
+  _global_unwind2
+  _gmtime32
+  _gmtime64
+  _heapadd
+  _heapchk
+  _heapmin
+  _heapset
+  _heapused=__wine_stub_msvcrt_dll_311
+  _heapwalk
+  _hypot
+  _i64toa
+  _i64tow
+  _initterm
+  _inp=__wine_stub_msvcrt_dll_317
+  _inpd=__wine_stub_msvcrt_dll_318
+  _inpw=__wine_stub_msvcrt_dll_319
+  _iob DATA
+  _isatty
+  _isctype
+  _ismbbalnum=__wine_stub_msvcrt_dll_323
+  _ismbbalpha=__wine_stub_msvcrt_dll_324
+  _ismbbgraph=__wine_stub_msvcrt_dll_325
+  _ismbbkalnum=__wine_stub_msvcrt_dll_326
+  _ismbbkana
+  _ismbbkprint=__wine_stub_msvcrt_dll_328
+  _ismbbkpunct=__wine_stub_msvcrt_dll_329
+  _ismbblead
+  _ismbbprint=__wine_stub_msvcrt_dll_331
+  _ismbbpunct=__wine_stub_msvcrt_dll_332
+  _ismbbtrail
+  _ismbcalnum
+  _ismbcalpha
+  _ismbcdigit
+  _ismbcgraph
+  _ismbchira
+  _ismbckata
+  _ismbcl0=__wine_stub_msvcrt_dll_340
+  _ismbcl1=__wine_stub_msvcrt_dll_341
+  _ismbcl2=__wine_stub_msvcrt_dll_342
+  _ismbclegal
+  _ismbclower
+  _ismbcprint
+  _ismbcpunct
+  _ismbcspace
+  _ismbcsymbol
+  _ismbcupper
+  _ismbslead
+  _ismbstrail
+  _isnan
+  _itoa
+  _itow
+  _kbhit
+  _lfind
+  _loaddll
+  _local_unwind2
+  _local_unwind4=msvcrt_local_unwind4
+  _localtime32
+  _localtime64
+  _lock
+  _locking
+  _logb
+  _longjmpex=longjmp
+  _lrotl
+  _lrotr
+  _lsearch
+  _lseek
+  _lseeki64
+  _ltoa
+  _ltow
+  _makepath
+  _makepath_s
+  _matherr
+  _mbbtombc
+  _mbbtype
+  _mbccpy
+  _mbcjistojms
+  _mbcjmstojis=__wine_stub_msvcrt_dll_380
+  _mbclen
+  _mbctohira=__wine_stub_msvcrt_dll_382
+  _mbctokata=__wine_stub_msvcrt_dll_383
+  _mbctolower
+  _mbctombb
+  _mbctoupper
+  _mbctype DATA
+  _mbsbtype
+  _mbscat
+  _mbschr
+  _mbscmp
+  _mbscoll
+  _mbscpy
+  _mbscspn
+  _mbsdec
+  _mbsdup=_strdup
+  _mbsicmp
+  _mbsicoll
+  _mbsinc
+  _mbslen
+  _mbslwr
+  _mbsnbcat
+  _mbsnbcmp
+  _mbsnbcnt
+  _mbsnbcoll=__wine_stub_msvcrt_dll_405
+  _mbsnbcpy
+  _mbsnbcpy_s
+  _mbsnbicmp
+  _mbsnbicoll=__wine_stub_msvcrt_dll_409
+  _mbsnbset
+  _mbsncat
+  _mbsnccnt
+  _mbsncmp
+  _mbsncoll=__wine_stub_msvcrt_dll_414
+  _mbsncpy
+  _mbsnextc
+  _mbsnicmp
+  _mbsnicoll=__wine_stub_msvcrt_dll_418
+  _mbsninc
+  _mbsnset
+  _mbspbrk
+  _mbsrchr
+  _mbsrev
+  _mbsset
+  _mbsspn
+  _mbsspnp
+  _mbsstr
+  _mbstok
+  _mbstrlen
+  _mbsupr
+  _memccpy
+  _memicmp
+  _mkdir
+  _mkgmtime
+  _mkgmtime32
+  _mkgmtime64
+  _mktemp
+  _mktime32
+  _mktime64
+  _msize
+  _nextafter
+  _onexit
+  _open
+  _open_osfhandle
+  _osplatform DATA
+  _osver DATA
+  _outp=__wine_stub_msvcrt_dll_447
+  _outpd=__wine_stub_msvcrt_dll_448
+  _outpw=__wine_stub_msvcrt_dll_449
+  _pclose
+  _pctype DATA
+  _pgmptr DATA
+  _pipe
+  _popen
+  _purecall
+  _putch
+  _putenv
+  _putw
+  _putws
+  _read
+  _rmdir
+  _rmtmp
+  _rotl
+  _rotr
+  _safe_fdiv
+  _safe_fdivr
+  _safe_fprem
+  _safe_fprem1
+  _scalb
+  _searchenv
+  _seh_longjmp_unwind
+  _set_error_mode
+  _set_sbh_threshold
+  _seterrormode
+  _setjmp
+  _setjmp3
+  _setmaxstdio
+  _setmbcp
+  _setmode
+  _setsystime=__wine_stub_msvcrt_dll_480
+  _sleep
+  _snprintf
+  _snwprintf
+  _sopen
+  _spawnl
+  _spawnle
+  _spawnlp
+  _spawnlpe
+  _spawnv
+  _spawnve
+  _spawnvp
+  _spawnvpe
+  _splitpath
+  _stat
+  _stat64
+  _stati64
+  _statusfp
+  _strcmpi
+  _strdate
+  _strdup
+  _strerror
+  _stricmp
+  _stricoll
+  _strlwr
+  _strncoll=__wine_stub_msvcrt_dll_505
+  _strnicmp
+  _strnicoll=__wine_stub_msvcrt_dll_507
+  _strnset
+  _strrev
+  _strset
+  _strtime
+  _strtoi64
+  _strtoui64=strtoull
+  _strupr
+  _swab
+  _swprintf=swprintf
+  _sys_errlist DATA
+  _sys_nerr DATA
+  _tell
+  _telli64
+  _tempnam
+  _time32
+  _time64
+  _timezone DATA
+  _tolower
+  _toupper
+  _tzname DATA
+  _tzset
+  _ui64toa
+  _ui64tow
+  _ultoa
+  _ultow
+  _umask
+  _ungetch
+  _unlink
+  _unloaddll
+  _unlock
+  _utime32
+  _utime64
+  _utime
+  _vsnprintf
+  _vsnprintf_c=_vsnprintf
+  _vsnwprintf
+  _vswprintf=_vsnwprintf
+  _vswprintf_c=_vsnwprintf
+  _waccess
+  _wasctime
+  _wchdir
+  _wchmod
+  _wcmdln DATA
+  _wcreat
+  _wcsdup
+  _wcsicmp
+  _wcsicoll
+  _wcslwr
+  _wcsncoll=__wine_stub_msvcrt_dll_556
+  _wcsnicmp
+  _wcsnicoll=__wine_stub_msvcrt_dll_558
+  _wcsnset
+  _wcsrev
+  _wcsset
+  _wcstoi64
+  _wcstoui64
+  _wcsupr
+  _wcsupr_s
+  _wctime
+  _wctime32
+  _wctime64
+  _wenviron DATA
+  _wexecl
+  _wexecle
+  _wexeclp
+  _wexeclpe
+  _wexecv
+  _wexecve
+  _wexecvp
+  _wexecvpe
+  _wfdopen
+  _wfindfirst
+  _wfindfirsti64
+  _wfindnext
+  _wfindnexti64
+  _wfopen
+  _wfreopen
+  _wfsopen
+  _wfullpath
+  _wgetcwd
+  _wgetdcwd
+  _wgetenv
+  _winmajor DATA
+  _winminor DATA
+  _winver DATA
+  _wmakepath
+  _wmakepath_s
+  _wmkdir
+  _wmktemp
+  _wopen
+  _wperror=__wine_stub_msvcrt_dll_598
+  _wpgmptr DATA
+  _wpopen
+  _wputenv
+  _wremove
+  _wrename
+  _write
+  _wrmdir
+  _wsearchenv
+  _wsetlocale
+  _wsopen
+  _wspawnl
+  _wspawnle
+  _wspawnlp
+  _wspawnlpe
+  _wspawnv
+  _wspawnve
+  _wspawnvp
+  _wspawnvpe
+  _wsplitpath
+  _wstat
+  _wstati64
+  _wstat64
+  _wstrdate
+  _wstrtime
+  _wsystem
+  _wtempnam
+  _wtmpnam=__wine_stub_msvcrt_dll_625
+  _wtoi
+  _wtoi64
+  _wtol
+  _wunlink
+  _wutime
+  _wutime32
+  _wutime64
+  abort
+  abs
+  acos
+  asctime
+  asin
+  atan
+  atan2
+  atexit
+  atof
+  atoi
+  atol
+  bsearch
+  calloc
+  ceil
+  clearerr
+  clock
+  cos
+  cosh
+  ctime
+  difftime
+  div
+  exit
+  exp
+  fabs
+  fclose
+  feof
+  ferror
+  fflush
+  fgetc
+  fgetpos
+  fgets
+  fgetwc
+  fgetws
+  floor
+  fmod
+  fopen
+  fprintf
+  fputc
+  fputs
+  fputwc
+  fputws
+  fread
+  free
+  freopen
+  frexp
+  fscanf
+  fseek
+  fsetpos
+  ftell
+  fwprintf
+  fwrite
+  fwscanf
+  getc
+  getchar
+  getenv
+  gets
+  getwc
+  getwchar
+  gmtime
+  is_wctype=iswctype
+  isalnum
+  isalpha
+  iscntrl
+  isdigit
+  isgraph
+  isleadbyte
+  islower
+  isprint
+  ispunct
+  isspace
+  isupper
+  iswalnum
+  iswalpha
+  iswascii
+  iswcntrl
+  iswctype
+  iswdigit
+  iswgraph
+  iswlower
+  iswprint
+  iswpunct
+  iswspace
+  iswupper
+  iswxdigit
+  isxdigit
+  labs
+  ldexp
+  ldiv
+  localeconv
+  localtime
+  log
+  log10
+  longjmp
+  malloc
+  mblen
+  mbstowcs
+  mbtowc
+  memchr
+  memcmp
+  memcpy
+  memcpy_s=memmove_s
+  memmove
+  memmove_s
+  memset
+  mktime
+  modf
+  perror
+  pow
+  printf
+  putc
+  putchar
+  puts
+  putwc=fputwc
+  putwchar=_fputwchar
+  qsort
+  raise
+  rand
+  rand_s
+  realloc
+  remove
+  rename
+  rewind
+  scanf
+  setbuf
+  setlocale
+  setvbuf
+  signal
+  sin
+  sinh
+  sprintf
+  sqrt
+  srand
+  sscanf
+  strcat
+  strcat_s
+  strchr
+  strcmp
+  strcoll
+  strcpy
+  strcpy_s
+  strcspn
+  strerror
+  strftime
+  strlen
+  strncat
+  strncmp
+  strncpy
+  strnlen
+  strpbrk
+  strrchr
+  strspn
+  strstr
+  strtod
+  strtok
+  strtol
+  strtoul
+  strxfrm
+  swprintf
+  swscanf
+  system
+  tan
+  tanh
+  time
+  tmpfile
+  tmpnam
+  tolower
+  toupper
+  towlower
+  towupper
+  ungetc
+  ungetwc
+  vfprintf
+  vfwprintf
+  vprintf
+  vsprintf
+  vswprintf
+  vwprintf
+  wcscat
+  wcschr
+  wcscmp
+  wcscoll
+  wcscpy
+  wcscpy_s
+  wcscspn
+  wcsftime
+  wcslen
+  wcsncat
+  wcsncmp
+  wcsncpy
+  wcsncpy_s
+  wcspbrk
+  wcsrchr
+  wcsspn
+  wcsstr
+  wcstod
+  wcstok
+  wcstol
+  wcstombs
+  wcstoul
+  wcsxfrm=__wine_stub_msvcrt_dll_832
+  wctomb
+  wprintf
+  wscanf
+  _get_invalid_parameter_handler
+  _set_invalid_parameter_handler
diff --git a/dll/win32/msvcrt/msvcrt_stubs.c b/dll/win32/msvcrt/msvcrt_stubs.c
new file mode 100644 (file)
index 0000000..1a56ed3
--- /dev/null
@@ -0,0 +1,62 @@
+
+#include <stdarg.h>
+#include "windef.h"
+#include "winbase.h"
+#include "wine/config.h"
+#include "wine/exception.h"
+
+void __wine_spec_unimplemented_stub( const char *module, const char *function )
+{
+    ULONG_PTR args[2];
+
+    args[0] = (ULONG_PTR)module;
+    args[1] = (ULONG_PTR)function;
+    RaiseException( EXCEPTION_WINE_STUB, EH_NONCONTINUABLE, 2, args );
+}
+
+static const char __wine_spec_file_name[] = "msvcrt.dll";
+
+void __wine_stub_msvcrt_dll_107(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "__get_app_type"); }
+void __wine_stub_msvcrt_dll_115(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "__lc_collate"); }
+void __wine_stub_msvcrt_dll_132(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "__p__fileinfo"); }
+void __wine_stub_msvcrt_dll_135(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "__p__mbcasemap"); }
+void __wine_stub_msvcrt_dll_140(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "__p__pwctype"); }
+void __wine_stub_msvcrt_dll_151(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "__pxcptinfoptrs"); }
+void __wine_stub_msvcrt_dll_189(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_atodbl"); }
+void __wine_stub_msvcrt_dll_267(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_fpieee_flt"); }
+void __wine_stub_msvcrt_dll_288(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_get_terminate"); }
+void __wine_stub_msvcrt_dll_289(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_get_unexpected"); }
+void __wine_stub_msvcrt_dll_301(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_getsystime"); }
+void __wine_stub_msvcrt_dll_311(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_heapused"); }
+void __wine_stub_msvcrt_dll_317(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_inp"); }
+void __wine_stub_msvcrt_dll_318(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_inpd"); }
+void __wine_stub_msvcrt_dll_319(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_inpw"); }
+void __wine_stub_msvcrt_dll_323(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_ismbbalnum"); }
+void __wine_stub_msvcrt_dll_324(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_ismbbalpha"); }
+void __wine_stub_msvcrt_dll_325(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_ismbbgraph"); }
+void __wine_stub_msvcrt_dll_326(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_ismbbkalnum"); }
+void __wine_stub_msvcrt_dll_328(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_ismbbkprint"); }
+void __wine_stub_msvcrt_dll_329(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_ismbbkpunct"); }
+void __wine_stub_msvcrt_dll_331(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_ismbbprint"); }
+void __wine_stub_msvcrt_dll_332(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_ismbbpunct"); }
+void __wine_stub_msvcrt_dll_340(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_ismbcl0"); }
+void __wine_stub_msvcrt_dll_341(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_ismbcl1"); }
+void __wine_stub_msvcrt_dll_342(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_ismbcl2"); }
+void __wine_stub_msvcrt_dll_380(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_mbcjmstojis"); }
+void __wine_stub_msvcrt_dll_382(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_mbctohira"); }
+void __wine_stub_msvcrt_dll_383(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_mbctokata"); }
+void __wine_stub_msvcrt_dll_405(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_mbsnbcoll"); }
+void __wine_stub_msvcrt_dll_409(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_mbsnbicoll"); }
+void __wine_stub_msvcrt_dll_414(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_mbsncoll"); }
+void __wine_stub_msvcrt_dll_418(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_mbsnicoll"); }
+void __wine_stub_msvcrt_dll_447(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_outp"); }
+void __wine_stub_msvcrt_dll_448(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_outpd"); }
+void __wine_stub_msvcrt_dll_449(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_outpw"); }
+void __wine_stub_msvcrt_dll_480(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_setsystime"); }
+void __wine_stub_msvcrt_dll_505(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_strncoll"); }
+void __wine_stub_msvcrt_dll_507(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_strnicoll"); }
+void __wine_stub_msvcrt_dll_556(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_wcsncoll"); }
+void __wine_stub_msvcrt_dll_558(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_wcsnicoll"); }
+void __wine_stub_msvcrt_dll_598(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_wperror"); }
+void __wine_stub_msvcrt_dll_625(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "_wtmpnam"); }
+void __wine_stub_msvcrt_dll_832(void) { __wine_spec_unimplemented_stub(__wine_spec_file_name, "wcsxfrm"); }