From 94268c04bca55727af26569ed799928ead29d0c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Kohlschu=CC=88tter?= Date: Wed, 6 Mar 2024 18:36:21 +0100 Subject: [PATCH] crossclang: Add support for arguments specified via file (@...) Xcode 15.3 organizes some common arguments into files named something like "*-common-args.resp" and then specifies the filename as an argument starting with a "@" character. This currently breaks crossclang. Add support for common arguments. --- junixsocket-native/crossclang/bin/clang | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/junixsocket-native/crossclang/bin/clang b/junixsocket-native/crossclang/bin/clang index 39e4749f2..0c504e41a 100755 --- a/junixsocket-native/crossclang/bin/clang +++ b/junixsocket-native/crossclang/bin/clang @@ -100,7 +100,17 @@ while [ $# -gt 0 ]; do --serialize-diagnostics ) serializeDiagnosticsOut="$v" ;; esac - case "$v" in + case "$v" in + @* ) + argFile=${v:1} + if [[ -f "$argFile" ]]; then + OLDIFS=$IFS + IFS=$'\n' + set -- $(cat -- "$argFile" | xargs -n1) $@ + IFS=$OLDIFS + continue + fi + ;; -E ) needLinker=0 ;; -fsyntax-only ) needLinker=0 ;; -c ) needLinker=0 ;;