Jacek Caban : makedep: Use msvcrt headers for objects inside importlibs.

Alexandre Julliard julliard at winehq.org
Thu Feb 13 15:36:29 CST 2020


Module: wine
Branch: master
Commit: 0d537c854c24f85a506a27e417b94d1410c50368
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=0d537c854c24f85a506a27e417b94d1410c50368

Author: Jacek Caban <jacek at 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 at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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)
     {




More information about the wine-cvs mailing list