diff --git a/wrappers/clang-scan-deps-wrapper.c b/wrappers/clang-scan-deps-wrapper.c index 11d467c9..dfe51d82 100644 --- a/wrappers/clang-scan-deps-wrapper.c +++ b/wrappers/clang-scan-deps-wrapper.c @@ -92,7 +92,11 @@ int _tmain(int argc, TCHAR *argv[]) { // -target after cmd_exe. exec_argv[arg++] = _T("-target"); exec_argv[arg++] = target; - exec_argv[arg++] = _T("-stdlib=libc++"); + + // Only add -stdlib=libc++ if the target actually is mingw. + if (_tcsstr(target, _T("-mingw32")) || + _tcsstr(target, _T("-windows-gnu"))) + exec_argv[arg++] = _T("-stdlib=libc++"); } } diff --git a/wrappers/clang-scan-deps-wrapper.sh b/wrappers/clang-scan-deps-wrapper.sh index 614e8724..fc64295d 100755 --- a/wrappers/clang-scan-deps-wrapper.sh +++ b/wrappers/clang-scan-deps-wrapper.sh @@ -60,7 +60,14 @@ if [ -n "$CMD_EXE" ]; then fi if [ -n "$TARGET" ]; then - "$EXE" "${FLAGS[@]}" "$CMD_EXE" -target $TARGET -stdlib=libc++ "$@" + TARGETFLAGS="" + case $TARGET in + *-mingw32*|*-windows-gnu*) + # Only add -stdlib=libc++ if the target actually is mingw. + TARGETFLAGS="$TARGETFLAGS -stdlib=libc++" + ;; + esac + "$EXE" "${FLAGS[@]}" "$CMD_EXE" -target $TARGET $TARGETFLAGS "$@" else "$EXE" "${FLAGS[@]}" "$@" fi diff --git a/wrappers/native-wrapper.h b/wrappers/native-wrapper.h index 4e2f3f32..37179025 100644 --- a/wrappers/native-wrapper.h +++ b/wrappers/native-wrapper.h @@ -42,6 +42,7 @@ typedef char TCHAR; #define _tcslen strlen #define _tcscmp strcmp #define _tcsncmp strncmp +#define _tcsstr strstr #define _tperror perror #define _texecvp execvp #define _tmain main