mirror of
https://github.com/notwa/rc
synced 2024-11-05 02:29:06 -08:00
47 lines
1.2 KiB
Bash
47 lines
1.2 KiB
Bash
|
# FYI you use /opt/mingw-w64 for mingw itself
|
||
|
# but /opt/mingw for things built with mingw...
|
||
|
#[ -d "$HOME/opt/mingw-w64" ] || echo -E "crap no mingw" >&2
|
||
|
|
||
|
mkdir -p ~/opt/mingw
|
||
|
alias cmakem='cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=~/mingw.cmake'
|
||
|
|
||
|
_mw_enabled=0
|
||
|
_mw_name=i686-w64-mingw32
|
||
|
_mw_bin=~/opt/mingw-w64/bin/$_mw_name
|
||
|
_mw_misc=~/opt/mingw-w64/$_mw_name
|
||
|
_mw_prefix=~/opt/mingw
|
||
|
|
||
|
declare -A _mw_
|
||
|
|
||
|
_mw_export() {
|
||
|
[ -z "$1" ] && return 1
|
||
|
[ -n "${ZSH_VERSION:-}" ] && _mw_[$1]=${(P)1} || _mw_[$1]="${!1}"
|
||
|
export "$1=$2"
|
||
|
}
|
||
|
|
||
|
mingw-disable() {
|
||
|
[ $_mw_enabled -eq 0 ] && return 1
|
||
|
_mw_enabled=0
|
||
|
|
||
|
local e=
|
||
|
for e in PATH AR CC CPP CXX CFLAGS CPPFLAGS CXXFLAGS LDFLAGS RANLIB RC WINDRES; do
|
||
|
export "$e=${_mw_[$e]}"
|
||
|
done
|
||
|
}
|
||
|
|
||
|
mingw-enable() {
|
||
|
[ $_mw_enabled -eq 1 ] && return 1
|
||
|
_mw_enabled=1
|
||
|
|
||
|
set -- CC gcc CXX g++ CPP cpp AR ar RANLIB ranlib RC windres WINDRES windres
|
||
|
while _mw_export "$1" "$_mw_bin-$2"; do
|
||
|
shift 2
|
||
|
done
|
||
|
|
||
|
_mw_export PATH "$PATH:$HOME/opt/mingw-w64/bin"
|
||
|
_mw_export CFLAGS "-O2 -I $_mw_misc/include -I $_mw_prefix/include"
|
||
|
_mw_export LDFLAGS "-s -L $_mw_misc/lib -L $_mw_prefix/lib"
|
||
|
_mw_export CPPFLAGS ''
|
||
|
_mw_export CXXFLAGS "$CFLAGS"
|
||
|
}
|