| diff --git a/mingw-w64-tools/widl/src/widl.c b/mingw-w64-tools/widl/src/widl.c |
| index a99eed4e9..69cb4b628 100644 |
| --- a/mingw-w64-tools/widl/src/widl.c |
| +++ b/mingw-w64-tools/widl/src/widl.c |
| @@ -42,6 +42,7 @@ |
| #include "parser.h" |
| #include "wine/wpp.h" |
| #include "header.h" |
| +#include "pathtools.h" |
| |
| static const char usage[] = |
| "Usage: widl [options...] infile.idl\n" |
| @@ -596,7 +597,7 @@ static void init_argv0_dir( const char *argv0 ) |
| |
| int main(int argc,char *argv[]) |
| { |
| - int i, optc; |
| + int optc; |
| int ret = 0; |
| int opti = 0; |
| char *output_name = NULL; |
| @@ -772,19 +773,12 @@ int main(int argc,char *argv[]) |
| |
| if (stdinc) |
| { |
| - static const char *incl_dirs[] = { INCLUDEDIR, "/usr/include", "/usr/local/include" }; |
| - |
| - if (includedir) |
| - { |
| - wpp_add_include_path( strmake( "%s/wine/msvcrt", includedir )); |
| - wpp_add_include_path( strmake( "%s/wine/windows", includedir )); |
| - } |
| - for (i = 0; i < ARRAY_SIZE(incl_dirs); i++) |
| - { |
| - if (i && !strcmp( incl_dirs[i], incl_dirs[0] )) continue; |
| - wpp_add_include_path( strmake( "%s%s/wine/msvcrt", sysroot, incl_dirs[i] )); |
| - wpp_add_include_path( strmake( "%s%s/wine/windows", sysroot, incl_dirs[i] )); |
| + char exe_path[PATH_MAX]; |
| + get_executable_path (argv[0], &exe_path[0], sizeof (exe_path) / sizeof (exe_path[0])); |
| + if (strrchr (exe_path, '/') != NULL) { |
| + strrchr (exe_path, '/')[1] = '\0'; |
| } |
| + wpp_add_include_path(strmake("%s%s/%s", sysroot, exe_path, BIN_TO_INCLUDEDIR)); |
| } |
| |
| switch (target_cpu) |