| #! /bin/sh | |
| # MIT License | |
| # Copyright (c) Microsoft Corporation | |
| # Permission is hereby granted, free of charge, to any person obtaining a copy of this | |
| # software and associated documentation files (the "Software"), to deal in the Software | |
| # without restriction, including without limitation the rights to use, copy, modify, | |
| # merge, publish, distribute, sublicense, and/or sell copies of the Software, and to | |
| # permit persons to whom the Software is furnished to do so, subject to the following | |
| # conditions: | |
| # The above copyright notice and this permission notice shall be included in all copies | |
| # or substantial portions of the Software. | |
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, | |
| # INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A | |
| # PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | |
| # HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF | |
| # CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE | |
| # OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |
| # https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/buildsystems/make_wrapper/windres-rc | |
| # Wrapper for windres to rc which do not understand '-i -o --output-format'. | |
| # cvtres is invoked by the linker | |
| scriptversion=2022-08-24.12; # UTC | |
| nl=' | |
| ' | |
| # We need space, tab and new line, in precisely that order. Quoting is | |
| # there to prevent tools from complaining about whitespace usage. | |
| IFS=" "" $nl" | |
| file_conv= | |
| # func_file_conv build_file lazy | |
| # Convert a $build file to $host form and store it in $file | |
| # Currently only supports Windows hosts. If the determined conversion | |
| # type is listed in (the comma separated) LAZY, no conversion will | |
| # take place. | |
| func_file_conv () | |
| { | |
| file=$1 | |
| case $file in | |
| / | /[!/]*) # absolute file, and not a UNC file | |
| if test -z "$file_conv"; then | |
| # lazily determine how to convert abs files | |
| case `uname -s` in | |
| MINGW*) | |
| file_conv=mingw | |
| ;; | |
| CYGWIN* | MSYS*) | |
| file_conv=cygwin | |
| ;; | |
| *) | |
| file_conv=wine | |
| ;; | |
| esac | |
| fi | |
| case $file_conv/,$2, in | |
| *,$file_conv,*) | |
| ;; | |
| mingw/*) | |
| file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` | |
| ;; | |
| cygwin/* | msys/*) | |
| file=`cygpath -m "$file" || echo "$file"` | |
| ;; | |
| wine/*) | |
| file=`winepath -w "$file" || echo "$file"` | |
| ;; | |
| esac | |
| ;; | |
| esac | |
| } | |
| # func_windres_wrapper rc args... | |
| # Adjust compile command to suit rc instead of windres | |
| func_windres_wrapper () | |
| { | |
| # Assume a capable shell | |
| bin= | |
| in= | |
| out= | |
| for arg | |
| do | |
| if test -z "$bin"; then | |
| bin=$1 | |
| elif test -n "$eat"; then | |
| eat= | |
| else | |
| case $1 in | |
| --output-format=*) | |
| ;; | |
| --define*) | |
| eat=1 | |
| set -- "$@" "-d $2" | |
| ;; | |
| --include-dir*) | |
| eat=1 | |
| func_file_conv "$2" | |
| set -- "$@" "-I $file" | |
| ;; | |
| -o) | |
| eat=1 | |
| func_file_conv "$2" | |
| out="$file" | |
| echo "OUTPUT:$file" | |
| ;; | |
| *.obj) | |
| func_file_conv "$1" | |
| out="$file" | |
| echo "OUTPUT:$file" | |
| ;; | |
| -i) | |
| eat=1 | |
| func_file_conv "$2" mingw | |
| in="$file" | |
| echo "INPUT:$file" | |
| ;; | |
| -*) | |
| set -- "$@" "${1//\\\"/\"}" | |
| ;; | |
| *) | |
| # libtool reorders arguments; save unqualified one as input | |
| func_file_conv "$1" | |
| in="$file" | |
| echo "INPUT:$file" | |
| ;; | |
| esac | |
| fi | |
| shift | |
| done | |
| echo "$bin" "$@" -fo "$out" "$in" | |
| exec "$bin" "$@" -fo "$out" "$in" | |
| exit 1 | |
| } | |
| eat= | |
| func_windres_wrapper "$@" | |
| # Local Variables: | |
| # mode: shell-script | |
| # sh-indentation: 2 | |
| # eval: (add-hook 'before-save-hook 'time-stamp) | |
| # time-stamp-start: "scriptversion=" | |
| # time-stamp-format: "%:y-%02m-%02d.%02H" | |
| # time-stamp-time-zone: "UTC0" | |
| # time-stamp-end: "; # UTC" | |
| # End: |