[PATCH 2/5] makedep: Check for external libraries instead of include paths when determining whether to allow external includes.
Zebediah Figura
zfigura at codeweavers.com
Mon Nov 29 16:43:06 CST 2021
The include path may be empty, e.g. if the relevant headers are to be found
directly in the MinGW sysroot.
Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
---
tools/makedep.c | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/tools/makedep.c b/tools/makedep.c
index ac3e6d969e2..2301ecf191e 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -1286,6 +1286,22 @@ static struct makefile *find_importlib_module( const char *name )
}
+/*******************************************************************
+ * has_external_import
+ */
+static int has_external_import( const struct makefile *make )
+{
+ unsigned int i;
+
+ for (i = 0; i < make->imports.count; i++)
+ {
+ if (!strncmp( make->imports.str[i], "-l", 2 ))
+ return 1;
+ }
+ return 0;
+}
+
+
/*******************************************************************
* open_include_file
*/
@@ -1404,7 +1420,7 @@ static struct file *open_include_file( const struct makefile *make, struct incl_
{
if (!strcmp( pFile->name, "stdarg.h" )) return NULL;
if (!strcmp( pFile->name, "x86intrin.h" )) return NULL;
- if (make->include_paths.count) return NULL;
+ if (has_external_import( make )) return NULL;
fprintf( stderr, "%s:%d: error: system header %s cannot be used with msvcrt\n",
pFile->included_by->file->name, pFile->included_line, pFile->name );
exit(1);
--
2.34.0
More information about the wine-devel
mailing list