Module: wine Branch: master Commit: 0d537c854c24f85a506a27e417b94d1410c50368 URL: https://source.winehq.org/git/wine.git/?a=commit;h=0d537c854c24f85a506a27e41...
Author: Jacek Caban jacek@codeweavers.com Date: Wed Feb 12 15:55:31 2020 +0100
makedep: Use msvcrt headers for objects inside importlibs.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/msvcrt/crt_main.c | 2 +- dlls/msvcrt/crt_wmain.c | 2 +- dlls/msvcrt/iob.c | 6 +++--- dlls/msvcrt/mathf.c | 14 +++++++++++++- dlls/msvcrt/onexit.c | 1 + dlls/ucrtbase/printf.c | 1 + tools/makedep.c | 1 + 7 files changed, 21 insertions(+), 6 deletions(-)
diff --git a/dlls/msvcrt/crt_main.c b/dlls/msvcrt/crt_main.c index 7502f30075..d9e3e66964 100644 --- a/dlls/msvcrt/crt_main.c +++ b/dlls/msvcrt/crt_main.c @@ -24,7 +24,7 @@
#ifdef __MINGW32__
-#include "msvcrt.h" +#include <stdarg.h>
#include "windef.h" #include "winbase.h" diff --git a/dlls/msvcrt/crt_wmain.c b/dlls/msvcrt/crt_wmain.c index 0588d5bdce..60a67bbe30 100644 --- a/dlls/msvcrt/crt_wmain.c +++ b/dlls/msvcrt/crt_wmain.c @@ -24,7 +24,7 @@
#ifdef __MINGW32__
-#include "msvcrt.h" +#include <stdarg.h>
#include "windef.h" #include "winbase.h" diff --git a/dlls/msvcrt/iob.c b/dlls/msvcrt/iob.c index 5d289f6ba0..a499f19309 100644 --- a/dlls/msvcrt/iob.c +++ b/dlls/msvcrt/iob.c @@ -23,15 +23,15 @@ #pragma makedep implib #endif
-#include "msvcrt.h" +#include <stdio.h>
#undef __iob_func -extern MSVCRT_FILE * CDECL __iob_func(void); +extern FILE * __cdecl __iob_func(void);
/********************************************************************* * __acrt_iob_func(UCRTBASE.@) */ -MSVCRT_FILE * CDECL __acrt_iob_func(unsigned idx) +FILE * __cdecl __acrt_iob_func(unsigned idx) { return __iob_func() + idx; } diff --git a/dlls/msvcrt/mathf.c b/dlls/msvcrt/mathf.c index c2db0c54c3..232740df15 100644 --- a/dlls/msvcrt/mathf.c +++ b/dlls/msvcrt/mathf.c @@ -23,7 +23,19 @@ #pragma makedep implib #endif
-#include <math.h> +#include <corecrt.h> + +double __cdecl sin(double); +double __cdecl cos(double); +double __cdecl tan(double); +double __cdecl atan2(double, double); +double __cdecl exp(double); +double __cdecl log(double); +double __cdecl pow(double, double); +double __cdecl sqrt(double); +double __cdecl floor(double); +double __cdecl ceil(double); +float __cdecl powf(float, float);
#if defined(__i386__) || (_MSVCR_VER > 0 && _MSVCR_VER < 80) float sinf(float x) { return sin(x); } diff --git a/dlls/msvcrt/onexit.c b/dlls/msvcrt/onexit.c index d1877a1c38..62d884f3ac 100644 --- a/dlls/msvcrt/onexit.c +++ b/dlls/msvcrt/onexit.c @@ -23,6 +23,7 @@ #pragma makedep implib #endif
+#define _CRTIMP #include "msvcrt.h" #include "mtdll.h"
diff --git a/dlls/ucrtbase/printf.c b/dlls/ucrtbase/printf.c index 8f58e6c3e5..099026950f 100644 --- a/dlls/ucrtbase/printf.c +++ b/dlls/ucrtbase/printf.c @@ -21,6 +21,7 @@ #pragma makedep implib #endif
+#define _CRTIMP #include <stdarg.h> #include "msvcrt.h"
diff --git a/tools/makedep.c b/tools/makedep.c index 1d9a1b5a59..1e33b1c673 100644 --- a/tools/makedep.c +++ b/tools/makedep.c @@ -1628,6 +1628,7 @@ static void parse_file( struct makefile *make, struct incl_file *source, int src source->files_size = file->deps_count; source->files = xmalloc( source->files_size * sizeof(*source->files) ); if (file->flags & FLAG_C_UNIX) source->use_msvcrt = 0; + else if (file->flags & FLAG_C_IMPLIB) source->use_msvcrt = 1;
if (source->sourcename) {