aboutsummaryrefslogtreecommitdiff
path: root/msvc-common/msvc-cl-common
diff options
context:
space:
mode:
Diffstat (limited to 'msvc-common/msvc-cl-common')
-rwxr-xr-xmsvc-common/msvc-cl-common24
1 files changed, 21 insertions, 3 deletions
diff --git a/msvc-common/msvc-cl-common b/msvc-common/msvc-cl-common
index a5eb069..66d0773 100755
--- a/msvc-common/msvc-cl-common
+++ b/msvc-common/msvc-cl-common
@@ -36,13 +36,28 @@ diag=1
#
args=()
+# Whether to export IFCPATH. We suppress it if /module:stdIfcDir is specified
+# since IFCPATH path (misguidedly) takes precedence.
+#
+ifc=true
+
while [ $# -gt 0 ]; do
case $1 in
# /I <dir>, /AI <dir>
+ # /module:output <file>, /module:reference <file>
+ # /module:search <dir>, /module:stdIfcDir <dir>
#
- [/-]I | \
- [/-]AI)
+ [/-]I | \
+ [/-]AI | \
+ [/-]module:output | \
+ [/-]module:reference | \
+ [/-]module:search | \
+ [/-]module:stdIfcDir)
+ if [ "$1" = "/module:stdIfcDir" ]; then
+ ifc=
+ fi
+
args=("${args[@]}" "$1")
shift
args=("${args[@]}" "$(translate $1)")
@@ -144,9 +159,12 @@ while [ $# -gt 0 ]; do
done
export INCLUDE
-export IFCPATH
export LIB
+if [ "$ifc" = "true" ]; then
+ export IFCPATH
+fi
+
# The linker may need to run mt.exe which is in the SDK.
#
export WINEPATH="$VCBIN;$VCDLL;$SDKBIN;$WINEPATH"