diff options
Diffstat (limited to 'msvc-common/msvc-cl-common')
-rwxr-xr-x | msvc-common/msvc-cl-common | 24 |
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" |