12345678910111213141516171819202122232425262728293031323334353637383940 |
- #!/bin/sh
- # Wrapper for winegcc that allows it to be used in a build generated
- # from PuTTY's CMakeLists.txt, by bodging around the command-line
- # options that CMake gets wrong.
- init=true
- link=true
- for arg in init "$@"; do
- if $init; then
- set --
- init=false
- continue
- fi
- case "$arg" in
- # The Windows build definition for PuTTY specifies all the
- # system API libraries by names like kernel32.lib. When CMake
- # reads that file and thinks it's compiling for Linux, it will
- # generate link options such as -lkernel32.lib. But in fact
- # winegcc expects -lkernel32, so we need to strip the ".lib"
- # suffix.
- -l*.lib) set -- "$@" "${arg%.lib}";;
- # Options that mean we're not linking.
- -E | -S | -c) link=false set -- "$@" "$arg";;
- # Anything else, we leave unchanged.
- *) set -- "$@" "$arg";;
- esac
- done
- if $link; then
- # winegcc requires this library for _wfopen
- set -- "$@" -lucrtbase
- fi
- echo "$@" >&2
- exec winegcc "$@"
|