|  | #! /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: |