]> granicus.if.org Git - handbrake/commitdiff
scripts: Add script to install prebuilt MinGW on Linux.
authorBradley Sepos <bradley@bradleysepos.com>
Tue, 3 May 2016 22:59:56 +0000 (18:59 -0400)
committerBradley Sepos <bradley@bradleysepos.com>
Tue, 3 May 2016 23:00:46 +0000 (19:00 -0400)
scripts/mingw-install-prebuilt.sh [new file with mode: 0755]

diff --git a/scripts/mingw-install-prebuilt.sh b/scripts/mingw-install-prebuilt.sh
new file mode 100755 (executable)
index 0000000..4d74855
--- /dev/null
@@ -0,0 +1,48 @@
+#!/bin/bash
+# usage: mingw-install-prebuilt [install-dir]
+
+function mingw-install-prebuilt()
+{
+    local TC_PARAM TC_DIR MINGW_DIR MINGW_TAR MINGW_URL MINGW_MD5 LAS LA
+
+    TC_PARAM="${1}"
+    TC_DIR="${HOME}/toolchains"
+    if [[ "${TC_PARAM:=}" != "" ]]; then
+        TC_DIR="${TC_PARAM}"
+    fi
+
+    MINGW_DIR="mingw-w64-x86_64"
+    MINGW_TAR="mingw-w64-bin_x86_64-linux_20131228.tar.bz2"
+    MINGW_URL="http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Automated%20Builds/${MINGW_TAR}"
+    MINGW_MD5="17669566433998307f894d3476fcdc48"
+
+    if [[ -e "${TC_DIR}/${MINGW_DIR}" ]]; then
+        echo "directory exists: ${TC_DIR}/${MINGW_DIR}" >&2
+        exit 1
+    fi
+    mkdir -p "${TC_DIR}/${MINGW_DIR}"
+    cd "${TC_DIR}"
+    TC_DIR="$(pwd)"
+
+    if [[ ! -e "${MINGW_TAR}" ]] || [[ "$(md5sum ${MINGW_TAR} | awk '{ print $1 }')" != "${MINGW_MD5}" ]]; then
+        rm -f "${MINGW_TAR}"
+        wget "${MINGW_URL}"
+    fi
+    cd "${MINGW_DIR}"
+    tar -xf "../${MINGW_TAR}"
+
+    LAS=$(find . -type f -name \*.la)
+    for LA in ${LAS[@]}; do
+        sed -i \
+            -e "s;/home/mingw-w64/mingw-w64/linux-x86_64-x86_64/build/build/root/mingw/lib;${TC_DIR}/${MINGW_DIR}/mingw/lib;" \
+            -e "s;/home/mingw-w64/mingw-w64/linux-x86_64-x86_64/build/build/root/lib;${TC_DIR}/${MINGW_DIR}/lib;" \
+            -e "s;/home/mingw-w64/mingw-w64/linux-x86_64-x86_64/build/build/root/x86_64-w64-mingw32/lib;${TC_DIR}/${MINGW_DIR}/x86_64-w64-mingw32/lib;" \
+            "${LA}"
+    done
+
+    echo "export PATH=\${PATH}:${TC_DIR}/${MINGW_DIR}/bin" >> ~/.bashrc
+
+    return 0
+}
+
+mingw-install-prebuilt "$@"