From b441b2ed03e9af367287337c406c86a29be08aa1 Mon Sep 17 00:00:00 2001 From: Emanuele Aliberti Date: Sun, 18 Jun 2000 10:57:42 +0000 Subject: [PATCH] Base files for a compatible MSVCRT.DLL. Currently useless. svn path=/trunk/; revision=1195 --- reactos/lib/msvcrt/Makefile | 122 +++++ reactos/lib/msvcrt/misc/dllmain.c | 27 + reactos/lib/msvcrt/misc/msvcrt.def | 773 +++++++++++++++++++++++++++ reactos/lib/msvcrt/misc/msvcrt.rc | 37 ++ reactos/lib/msvcrt/misc/msvcrt_specs | 78 +++ reactos/lib/msvcrt/process/thread.c | 44 ++ reactos/lib/msvcrt/stdlib/errno.c | 11 + 7 files changed, 1092 insertions(+) create mode 100644 reactos/lib/msvcrt/Makefile create mode 100644 reactos/lib/msvcrt/misc/dllmain.c create mode 100644 reactos/lib/msvcrt/misc/msvcrt.def create mode 100644 reactos/lib/msvcrt/misc/msvcrt.rc create mode 100644 reactos/lib/msvcrt/misc/msvcrt_specs create mode 100644 reactos/lib/msvcrt/process/thread.c create mode 100644 reactos/lib/msvcrt/stdlib/errno.c diff --git a/reactos/lib/msvcrt/Makefile b/reactos/lib/msvcrt/Makefile new file mode 100644 index 00000000000..50b3aad4f59 --- /dev/null +++ b/reactos/lib/msvcrt/Makefile @@ -0,0 +1,122 @@ +# $Id: Makefile,v 1.1 2000/06/18 10:57:42 ea Exp $ +# +# ReactOS Operating System +# +TARGET_NAME=msvcrt +ifneq ($(HOST),mingw32-windows) + ifneq ($(HOST),mingw32-linux) + TARGET_DLL=$(TARGET_NAME).a + else + TARGET_DLL=$(TARGET_NAME).dll + endif +else + TARGET_DLL=$(TARGET_NAME).dll +endif + +BASE_CFLAGS = -I../../include + +all: $(TARGET_DLL) + + + +OBJECTS_MISC = \ + misc/dllmain.o \ + misc/msvcrt.coff + +OBJECTS_PROCESS = \ + process/thread.o + +OBJECTS_STDLIB = \ + stdlib/errno.o + + +OBJECTS = \ + $(OBJECTS_MISC) \ + $(OBJECTS_PROCESS) \ + $(OBJECTS_STDLIB) + +ifeq ($(DOSCLI), yes) +CLEAN_FILES = \ + misc\*.o \ + misc\*.coff \ + process\*.o \ + stdlib\*.o \ + $(TARGET_NAME).a \ + $(TARGET_NAME).o \ + $(TARGET_NAME).dll \ + $(TARGET_NAME).sym +else +CLEAN_FILES = \ + misc/*.o \ + misc/*.coff \ + process/*.o \ + stdlib/*.o \ + $(TARGET_NAME).a \ + $(TARGET_NAME).o \ + $(TARGET_NAME).dll \ + $(TARGET_NAME).sym +endif + +$(TARGET_NAME).coff: $(TARGET_NAME).rc ../../include/reactos/resource.h + +$(TARGET_NAME).a: $(OBJECTS) + $(LD) -r $(OBJECTS) -o $(TARGET_NAME).a + +$(TARGET_NAME).dll: $(DLLMAIN) $(OBJECTS) misc/$(TARGET_NAME).def + $(LD) -r $(OBJECTS) -o $(TARGET_NAME).o + $(DLLTOOL) \ + --dllname $(TARGET_NAME).dll \ + --def misc/$(TARGET_NAME).def \ + --output-lib misc/$(TARGET_NAME).a + $(CC) \ + -specs=misc/$(TARGET_NAME)_specs \ + -mdll \ + -o junk.tmp \ + -Wl,--base-file,base.tmp \ + $(TARGET_NAME).o \ + ../kernel32/kernel32.a + - $(RM) junk.tmp + $(DLLTOOL) \ + --dllname $(TARGET_NAME).dll \ + --base-file base.tmp \ + --output-exp temp.exp \ + --def misc/$(TARGET_NAME).def + - $(RM) base.tmp + $(CC) \ + -specs=misc/$(TARGET_NAME)_specs \ + -mdll \ + -o $(TARGET_NAME).dll \ + $(TARGET_NAME).o \ + ../kernel32/kernel32.a \ + -Wl,--image-base,0x77630000 \ + -Wl,--file-alignment,0x1000 \ + -Wl,--section-alignment,0x1000 \ + -Wl,temp.exp + - $(RM) temp.exp + $(NM) --numeric-sort $(TARGET_NAME).dll > $(TARGET_NAME).sym + +clean: $(CLEAN_FILES:%=%_clean) + +$(CLEAN_FILES:%=%_clean): %_clean: + - $(RM) $* + +floppy: $(FLOPPY_DIR)/dlls/$(TARGET_NAME).dll + +$(FLOPPY_DIR)/dlls/$(TARGET_NAME).dll: $(TARGET_NAME).dll +ifeq ($(DOSCLI),yes) + $(CP) $(TARGET_NAME).dll $(FLOPPY_DIR)\dlls\$(TARGET_NAME).dll +else + $(CP) $(TARGET_NAME).dll $(FLOPPY_DIR)/dlls/$(TARGET_NAME).dll +endif + +dist: $(DIST_DIR)/dlls/$(TARGET_NAME).dll + +$(DIST_DIR)/dlls/$(TARGET_NAME).dll: $(TARGET_NAME).dll +ifeq ($(DOSCLI),yes) + $(CP) $(TARGET_NAME).dll ..\..\$(DIST_DIR)\dlls\$(TARGET_NAME).dll +else + $(CP) $(TARGET_NAME).dll ../../$(DIST_DIR)/dlls/$(TARGET_NAME).dll +endif + +include ../../rules.mak + diff --git a/reactos/lib/msvcrt/misc/dllmain.c b/reactos/lib/msvcrt/misc/dllmain.c new file mode 100644 index 00000000000..171675f7116 --- /dev/null +++ b/reactos/lib/msvcrt/misc/dllmain.c @@ -0,0 +1,27 @@ +/* $Id: dllmain.c,v 1.1 2000/06/18 10:57:42 ea Exp $ + * + * ReactOS MSVCRT.DLL Compatibility Library + */ +#include +BOOLEAN +__stdcall +DllMain( + PVOID hinstDll, + ULONG dwReason, + PVOID reserved + ) +{ + switch (dwReason) + { + case DLL_PROCESS_ATTACH: + break; + case DLL_THREAD_ATTACH: + break; + case DLL_THREAD_DETACH: + break; + case DLL_PROCESS_DETACH: + break; + } + return (TRUE); +} +/* EOF */ diff --git a/reactos/lib/msvcrt/misc/msvcrt.def b/reactos/lib/msvcrt/misc/msvcrt.def new file mode 100644 index 00000000000..6a268e977ff --- /dev/null +++ b/reactos/lib/msvcrt/misc/msvcrt.def @@ -0,0 +1,773 @@ +; $Id: msvcrt.def,v 1.1 2000/06/18 10:57:42 ea Exp $ +; +; ReactOS MSVCRT Compatibility Library +; +LIBRARY MSVCRT.DLL +EXPORTS +;---------------------------------------------------------------------- +; C++ Mangled Symbols +;---------------------------------------------------------------------- +; $I10_OUTPUT +; ??0__non_rtti_object@@QAE@ABV0@@Z +; ??0__non_rtti_object@@QAE@PBD@Z +; ??0bad_cast@@QAE@ABQBD@Z +; ??0bad_cast@@QAE@ABV0@@Z +; ??0bad_typeid@@QAE@ABV0@@Z +; ??0bad_typeid@@QAE@PBD@Z +; ??0exception@@QAE@ABQBD@Z +; ??0exception@@QAE@ABV0@@Z +; ??0exception@@QAE@XZ +; ??1__non_rtti_object@@UAE@XZ +; ??1bad_cast@@UAE@XZ +; ??1bad_typeid@@UAE@XZ +; ??1exception@@UAE@XZ +; ??1type_info@@UAE@XZ +; ??2@YAPAXI@Z +; ??3@YAXPAX@Z +; ??4__non_rtti_object@@QAEAAV0@ABV0@@Z +; ??4bad_cast@@QAEAAV0@ABV0@@Z +; ??4bad_typeid@@QAEAAV0@ABV0@@Z +; ??4exception@@QAEAAV0@ABV0@@Z +; ??8type_info@@QBEHABV0@@Z +; ??9type_info@@QBEHABV0@@Z +; ??_7__non_rtti_object@@6B@ +; ??_7bad_cast@@6B@ +; ??_7bad_typeid@@6B@ +; ??_7exception@@6B@ +; ??_E__non_rtti_object@@UAEPAXI@Z +; ??_Ebad_cast@@UAEPAXI@Z +; ??_Ebad_typeid@@UAEPAXI@Z +; ??_Eexception@@UAEPAXI@Z +; ??_G__non_rtti_object@@UAEPAXI@Z +; ??_Gbad_cast@@UAEPAXI@Z +; ??_Gbad_typeid@@UAEPAXI@Z +; ??_Gexception@@UAEPAXI@Z +; ?_query_new_handler@@YAP6AHI@ZXZ +; ?_query_new_mode@@YAHXZ +; ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z +; ?_set_new_mode@@YAHH@Z +; ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z +; ?before@type_info@@QBEHABV1@@Z +; ?name@type_info@@QBEPBDXZ +; ?raw_name@type_info@@QBEPBDXZ +; ?set_new_handler@@YAP6AXXZP6AXXZ@Z +; ?set_terminate@@YAP6AXXZP6AXXZ@Z +; ?set_unexpected@@YAP6AXXZP6AXXZ@Z +; ?terminate@@YAXXZ +; ?unexpected@@YAXXZ +; ?what@exception@@UBEPBDXZ +;---------------------------------------------------------------------- +; C Undecorated Symbols +;---------------------------------------------------------------------- +; _CIacos +; _CIasin +; _CIatan +; _CIatan2 +; _CIcos +; _CIcosh +; _CIexp +; _CIfmod +; _CIlog +; _CIlog10 +; _CIpow +; _CIsin +; _CIsinh +; _CIsqrt +; _CItan +; _CItanh +; _CxxThrowException +; _EH_prolog +; _Getdays +; _Getmonths +; _Gettnames +; _HUGE +; _Strftime +; _XcptFilter +; __CxxFrameHandler +; __CxxLongjmpUnwind +; __RTCastToVoid +; __RTDynamicCast +; __RTtypeid +; __STRINGTOLD +; __argc +; __argv +; __badioinfo +; __crtCompareStringA +; __crtGetLocaleInfoW +; __crtLCMapStringA +; __dllonexit +; __doserrno +; __fpecode +; __getmainargs +; __initenv +; __isascii +; __iscsym +; __iscsymf +; __lc_codepage +; __lc_collate_cp +; __lc_handle +; __lconv_init +; __mb_cur_max +; __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 +; __p__fmode +; __p__iob +; __p__mbcasemap +; __p__mbctype +; __p__osver +; __p__pctype +; __p__pgmptr +; __p__pwctype +; __p__timezone +; __p__tzname +; __p__wcmdln +; __p__wenviron +; __p__winmajor +; __p__winminor +; __p__winver +; __p__wpgmptr +; __pioinfo +; __pxcptinfoptrs +; __set_app_type +; __setlc_active +; __setusermatherr +; __threadhandle +; __threadid +; __toascii +; __unDName +; __unDNameEx +; __unguarded_readlc_active +; __wargv +; __wgetmainargs +; __winitenv +; _abnormal_termination +; _access +; _acmdln +; _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 +; _aexit_rtn +; _amsg_exit +; _assert +; _atodbl +; _atoi64 +; _atoldbl +; _beep +_beginthread +_beginthreadex +; _c_exit +; _cabs +; _callnewh +; _cexit +; _cgets +; _chdir +; _chdrive +; _chgsign +; _chkesp +; _chmod +; _chsize +; _clearfp +; _close +; _commit +; _commode +; _control87 +; _controlfp +; _copysign +; _cprintf +; _cputs +; _creat +; _cscanf +; _ctype +; _cwait +; _daylight +; _dstbias +; _dup +; _dup2 +; _ecvt +_endthread +_endthreadex +; _environ +; _eof +; _errno +; _except_handler2 +; _except_handler3 +; _execl +; _execle +; _execlp +; _execlpe +; _execv +; _execve +; _execvp +; _execvpe +; _exit +; _expand +; _fcloseall +; _fcvt +; _fdopen +; _fgetchar +; _fgetwchar +; _filbuf +; _fileinfo +; _filelength +; _filelengthi64 +; _fileno +; _findclose +; _findfirst +; _findfirsti64 +; _findnext +; _findnexti64 +; _finite +; _flsbuf +; _flushall +; _fmode +; _fpclass +; _fpieee_flt +; _fpreset +; _fputchar +; _fputwchar +; _fsopen +; _fstat +; _fstati64 +; _ftime +; _ftol +; _fullpath +; _futime +; _gcvt +; _get_osfhandle +; _get_sbh_threshold +; _getch +; _getche +; _getcwd +; _getdcwd +; _getdiskfree +; _getdllprocaddr +; _getdrive +; _getdrives +; _getmaxstdio +; _getmbcp +; _getpid +; _getsystime +; _getw +; _getws +; _global_unwind2 +; _heapadd +; _heapchk +; _heapmin +; _heapset +; _heapused +; _heapwalk +; _hypot +; _i64toa +; _i64tow +; _initterm +; _inp +; _inpd +; _inpw +; _iob +; _isatty +; _isctype +; _ismbbalnum +; _ismbbalpha +; _ismbbgraph +; _ismbbkalnum +; _ismbbkana +; _ismbbkprint +; _ismbbkpunct +; _ismbblead +; _ismbbprint +; _ismbbpunct +; _ismbbtrail +; _ismbcalnum +; _ismbcalpha +; _ismbcdigit +; _ismbcgraph +; _ismbchira +; _ismbckata +; _ismbcl0 +; _ismbcl1 +; _ismbcl2 +; _ismbclegal +; _ismbclower +; _ismbcprint +; _ismbcpunct +; _ismbcspace +; _ismbcsymbol +; _ismbcupper +; _ismbslead +; _ismbstrail +; _isnan +; _itoa +; _itow +; _j0 +; _j1 +; _jn +; _kbhit +; _lfind +; _loaddll +; _local_unwind2 +; _lock +; _locking +; _logb +; _longjmpex +; _lrotl +; _lrotr +; _lsearch +; _lseek +; _lseeki64 +; _ltoa +; _ltow +; _makepath +; _mbbtombc +; _mbbtype +; _mbcasemap +; _mbccpy +; _mbcjistojms +; _mbcjmstojis +; _mbclen +; _mbctohira +; _mbctokata +; _mbctolower +; _mbctombb +; _mbctoupper +; _mbctype +; _mbsbtype +; _mbscat +; _mbschr +; _mbscmp +; _mbscoll +; _mbscpy +; _mbscspn +; _mbsdec +; _mbsdup +; _mbsicmp +; _mbsicoll +; _mbsinc +; _mbslen +; _mbslwr +; _mbsnbcat +; _mbsnbcmp +; _mbsnbcnt +; _mbsnbcoll +; _mbsnbcpy +; _mbsnbicmp +; _mbsnbicoll +; _mbsnbset +; _mbsncat +; _mbsnccnt +; _mbsncmp +; _mbsncoll +; _mbsncpy +; _mbsnextc +; _mbsnicmp +; _mbsnicoll +; _mbsninc +; _mbsnset +; _mbspbrk +; _mbsrchr +; _mbsrev +; _mbsset +; _mbsspn +; _mbsspnp +; _mbsstr +; _mbstok +; _mbstrlen +; _mbsupr +; _memccpy +; _memicmp +; _mkdir +; _mktemp +; _msize +; _nextafter +; _onexit +; _open +; _open_osfhandle +; _osver +; _outp +; _outpd +; _outpw +; _pclose +; _pctype +; _pgmptr +; _pipe +; _popen +; _purecall +; _putch +; _putenv +; _putw +; _putws +; _pwctype +; _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 +; _sleep +; _snprintf +; _snwprintf +; _sopen +; _spawnl +; _spawnle +; _spawnlp +; _spawnlpe +; _spawnv +; _spawnve +; _spawnvp +; _spawnvpe +; _splitpath +; _stat +; _stati64 +; _statusfp +; _strcmpi +; _strdate +; _strdup +; _strerror +; _stricmp +; _stricoll +; _strlwr +; _strncoll +; _strnicmp +; _strnicoll +; _strnset +; _strrev +; _strset +; _strtime +; _strupr +; _swab +; _sys_errlist +; _sys_nerr +; _tell +; _telli64 +; _tempnam +; _timezone +; _tolower +; _toupper +; _tzname +; _tzset +; _ui64toa +; _ui64tow +; _ultoa +; _ultow +; _umask +; _ungetch +; _unlink +; _unloaddll +; _unlock +; _utime +; _vsnprintf +; _vsnwprintf +; _waccess +; _wasctime +; _wchdir +; _wchmod +; _wcmdln +; _wcreat +; _wcsdup +; _wcsicmp +; _wcsicoll +; _wcslwr +; _wcsncoll +; _wcsnicmp +; _wcsnicoll +; _wcsnset +; _wcsrev +; _wcsset +; _wcsupr +; _wctime +; _wenviron +; _wexecl +; _wexecle +; _wexeclp +; _wexeclpe +; _wexecv +; _wexecve +; _wexecvp +; _wexecvpe +; _wfdopen +; _wfindfirst +; _wfindfirsti64 +; _wfindnext +; _wfindnexti64 +; _wfopen +; _wfreopen +; _wfsopen +; _wfullpath +; _wgetcwd +; _wgetdcwd +; _wgetenv +; _winmajor +; _winminor +; _winver +; _wmakepath +; _wmkdir +; _wmktemp +; _wopen +; _wperror +; _wpgmptr +; _wpopen +; _wputenv +; _wremove +; _wrename +; _write +; _wrmdir +; _wsearchenv +; _wsetlocale +; _wsopen +; _wspawnl +; _wspawnle +; _wspawnlp +; _wspawnlpe +; _wspawnv +; _wspawnve +; _wspawnvp +; _wspawnvpe +; _wsplitpath +; _wstat +; _wstati64 +; _wstrdate +; _wstrtime +; _wsystem +; _wtempnam +; _wtmpnam +; _wtoi +; _wtoi64 +; _wtol +; _wunlink +; _wutime +; _y0 +; _y1 +; _yn +; 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 +; 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 +; memmove +; memset +; mktime +; modf +; perror +; pow +; printf +; putc +; putchar +; puts +; putwc +; putwchar +; qsort +; raise +; rand +; realloc +; remove +; rename +; rewind +; scanf +; setbuf +; setlocale +; setvbuf +; signal +; sin +; sinh +; sprintf +; sqrt +; srand +; sscanf +; strcat +; strchr +; strcmp +; strcoll +; strcpy +; strcspn +; strerror +; strftime +; strlen +; strncat +; strncmp +; strncpy +; 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 +; wcscspn +; wcsftime +; wcslen +; wcsncat +; wcsncmp +; wcsncpy +; wcspbrk +; wcsrchr +; wcsspn +; wcsstr +; wcstod +; wcstok +; wcstol +; wcstombs +; wcstoul +; wcsxfrm +; wctomb +; wprintf +; wscanf + +; EOF diff --git a/reactos/lib/msvcrt/misc/msvcrt.rc b/reactos/lib/msvcrt/misc/msvcrt.rc new file mode 100644 index 00000000000..f778fed99e0 --- /dev/null +++ b/reactos/lib/msvcrt/misc/msvcrt.rc @@ -0,0 +1,37 @@ +#include "../../include/defines.h" +#include "../../include/reactos/resource.h" + +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +VS_VERSION_INFO VERSIONINFO + FILEVERSION RES_UINT_FV_MAJOR,RES_UINT_FV_MINOR,RES_UINT_FV_REVISION,RES_UINT_FV_BUILD + PRODUCTVERSION RES_UINT_PV_MAJOR,RES_UINT_PV_MINOR,RES_UINT_PV_REVISION,RES_UINT_PV_BUILD + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", RES_STR_COMPANY_NAME + VALUE "FileDescription", "MSVCRT.DLL Compatibility Library\0" + VALUE "FileVersion", RES_STR_FILE_VERSION + VALUE "InternalName", "msvcrt\0" + VALUE "LegalCopyright", RES_STR_LEGAL_COPYRIGHT + VALUE "OriginalFilename", "msvcrt.dll\0" + VALUE "ProductName", RES_STR_PRODUCT_NAME + VALUE "ProductVersion", RES_STR_PRODUCT_VERSION + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END diff --git a/reactos/lib/msvcrt/misc/msvcrt_specs b/reactos/lib/msvcrt/misc/msvcrt_specs new file mode 100644 index 00000000000..81539eee5ca --- /dev/null +++ b/reactos/lib/msvcrt/misc/msvcrt_specs @@ -0,0 +1,78 @@ +*asm: + + +*asm_final: + + +*cpp: +-remap %(cpp_cpu) %{posix:-D_POSIX_SOURCE} + +*cc1: +%(cc1_spec) + +*cc1plus: + + +*endfile: + + +*link: +%{mwindows:--subsystem windows} %{mdll:--dll -e _DllMain@12} + +*lib: + + +*libgcc: +-lgcc + +*startfile: + + +*switches_need_spaces: + + +*signed_char: +%{funsigned-char:-D__CHAR_UNSIGNED__} + +*predefines: +-Di386 -D_WIN32 -DWIN32 -D__WIN32__ -D__MINGW32__ -DWINNT -D_X86_=1 -D__STDC__=1 -D__stdcall=__attribute__((__stdcall__)) _D_stdcall=__attribute__((__stdcall__)) -D__cdecl=__attribute__((__cdecl__)) -D__declspec(x)=__attribute__((x)) -Asystem(winnt) -Acpu(i386) -Amachine(i386) + +*cross_compile: +0 + +*version: +egcs-2.8.2 + +*multilib: +. ; + +*multilib_defaults: + + +*multilib_extra: + + +*multilib_matches: + + +*linker: +collect2 + +*cpp_486: +%{!ansi:-Di486} -D__i486 -D__i486__ + +*cpp_586: +%{!ansi:-Di586 -Dpentium} -D__i586 -D__i586__ -D__pentium -D__pentium__ + +*cpp_686: +%{!ansi:-Di686 -Dpentiumpro} -D__i686 -D__i686__ -D__pentiumpro -D__pentiumpro__ + +*cpp_cpu_default: +%(cpp_586) + +*cpp_cpu: +-Acpu(i386) -Amachine(i386) %{!ansi:-Di386} -D__i386 -D__i386__ %{mcpu=i486:%(cpp_486)} %{m486:%(cpp_486)} %{mpentium:%(cpp_586)} %{mcpu=pentium:%(cpp_586)} %{mpentiumpro:%(cpp_686)} %{mcpu=pentiumpro:%(cpp_686)} %{!mcpu*:%{!m486:%{!mpentium*:%(cpp_cpu_default)}}} + +*cc1_cpu: +%{!mcpu*: %{m386:-mcpu=i386 -march=i386} %{mno-486:-mcpu=i386 -march=i386} %{m486:-mcpu=i486 -march=i486} %{mno-386:-mcpu=i486 -march=i486} %{mno-pentium:-mcpu=i486 -march=i486} %{mpentium:-mcpu=pentium} %{mno-pentiumpro:-mcpu=pentium} %{mpentiumpro:-mcpu=pentiumpro}} + diff --git a/reactos/lib/msvcrt/process/thread.c b/reactos/lib/msvcrt/process/thread.c new file mode 100644 index 00000000000..84beefa023a --- /dev/null +++ b/reactos/lib/msvcrt/process/thread.c @@ -0,0 +1,44 @@ +/* $Id: thread.c,v 1.1 2000/06/18 10:57:42 ea Exp $ + * + */ +#include +#include + +unsigned long +_beginthread ( + void ( __cdecl * start_address ) (void *), + unsigned stack_size, + void * arglist + ) +{ + errno = ENOSYS; + return (unsigned long) -1; +} + + +unsigned long +_beginthreadex ( + void * security, + unsigned stack_size, + unsigned ( __stdcall * start_address ) (void *), + void * arglist, + unsigned initflag, + unsigned * thrdaddr + ) +{ + errno = ENOSYS; + return (unsigned long) -1; +} + + +void _endthread (void) +{ +} + + +void _endthreadex (unsigned retval) +{ +} + + +/* EOF */ diff --git a/reactos/lib/msvcrt/stdlib/errno.c b/reactos/lib/msvcrt/stdlib/errno.c new file mode 100644 index 00000000000..7aedeacdb24 --- /dev/null +++ b/reactos/lib/msvcrt/stdlib/errno.c @@ -0,0 +1,11 @@ +/* $Id: errno.c,v 1.1 2000/06/18 10:57:42 ea Exp $ + * + */ +int errno; + +int _errno (void) +{ + return errno; +} + +/* EOF */