#!/bin/bash -e
-export MINGW_PARALLEL="-j4"
-export MINGW_BUILD=x86_64-pc-linux-gnu
-export MINGW_GCC_VERSION=4.7.3
+source config
export MINGW_PREFIX=/opt/mingw/32
export MINGW_TARGET=i686-w64-mingw32
#
# Build binutils running on Linux and targeting Windows.
-tar xjf Archives/binutils-2.23.2.tar.bz2
-cd binutils-2.23.2
-sed -i -e 's/@colophon/@@colophon/' \
- -e 's/doc@cygnus.com/doc@@cygnus.com/' bfd/doc/bfd.texinfo
-cd ..
+tar xjf Archives/binutils-$MINGW_BINUTILS_VERSION.tar.bz2
mkdir -p binutils-build-$MINGW_TARGET
cd binutils-build-$MINGW_TARGET
-../binutils-2.23.2/configure --with-sysroot=$MINGW_PREFIX --prefix=$MINGW_PREFIX --disable-multilib -target=$MINGW_TARGET --enable-targets=$MINGW_TARGET
+../binutils-$MINGW_BINUTILS_VERSION/configure --with-sysroot=$MINGW_PREFIX --prefix=$MINGW_PREFIX --disable-multilib \
+ -target=$MINGW_TARGET --enable-targets=$MINGW_TARGET
make $MINGW_PARALLEL
sudo make install
# Build binutils running on Windows and targeting Windows.
# At the moment this is just for addr2line.exe
-tar xzf Archives/binutils-2.24.tar.gz
+tar xzf Archives/binutils-$MINGW_BINUTILS_VERSION.tar.gz
mkdir -p binutils-windows-build-$MINGW_TARGET
cd binutils-windows-build-$MINGW_TARGET
-PATH=$MINGW_PREFIX/bin:$PATH ../binutils-2.24/configure --with-sysroot=$MINGW_PREFIX --prefix=/tmp/frobozz --disable-multilib \
+PATH=$MINGW_PREFIX/bin:$PATH ../binutils-$MINGW_BINUTILS_VERSION/configure --with-sysroot=$MINGW_PREFIX --prefix=/tmp/frobozz --disable-multilib \
--host=$MINGW_TARGET --target=$MINGW_TARGET --enable-targets=$MINGW_TARGET
PATH=$MINGW_PREFIX/bin:$PATH make $MINGW_PARALLEL
sudo cp binutils/.libs/addr2line.exe $MINGW_PREFIX/bin
#!/bin/bash -e
-tar xjf Archives/gdb-7.5.1.tar.bz2
+tar xJf Archives/gdb-$MINGW_GDB_VERSION.tar.xz
mkdir -p gdb-build-$MINGW_TARGET
cd gdb-build-$MINGW_TARGET
export LDFLAGS=-L$MINGW_PREFIX/lib
-PATH=$MINGW_PREFIX/bin:$PATH ../gdb-7.5.1/configure --prefix=$MINGW_PREFIX --target=$MINGW_TARGET --host=$MINGW_TARGET
+PATH=$MINGW_PREFIX/bin:$PATH ../gdb-$MINGW_GDB_VERSION/configure --prefix=$MINGW_PREFIX --target=$MINGW_TARGET --host=$MINGW_TARGET
PATH=$MINGW_PREFIX/bin:$PATH make $MINGW_PARALLEL
sudo PATH=$MINGW_PREFIX/bin:$PATH make install
#!/bin/bash
-tar xzf Archives/mingw-w64-v2.0.7.tar.gz
+tar xjf Archives/mingw-w64-v$MINGW_VERSION.tar.bz2
mkdir -p mingw-headers-build-$MINGW_TARGET
cd mingw-headers-build-$MINGW_TARGET
-../mingw-w64-v2.0.7/mingw-w64-headers/configure --prefix=$MINGW_PREFIX --build=$MINGW_BUILD --host=$MINGW_TARGET
+../mingw-w64-v$MINGW_VERSION/mingw-w64-headers/configure --prefix=$MINGW_PREFIX --build=$MINGW_BUILD --host=$MINGW_TARGET
sudo make install
sudo ln -s $MINGW_PREFIX/$MINGW_TARGET $MINGW_PREFIX/mingw
sudo mkdir -p $MINGW_PREFIX/$MINGW_TARGET/lib
mkdir -p mingw-runtime-build-$MINGW_TARGET
cd mingw-runtime-build-$MINGW_TARGET
-PATH=$PATH:$MINGW_PREFIX/bin ../mingw-w64-v2.0.7/mingw-w64-crt/configure --prefix=$MINGW_PREFIX --with-sysroot=$MINGW_PREFIX --host=$MINGW_TARGET
+PATH=$PATH:$MINGW_PREFIX/bin ../mingw-w64-v$MINGW_VERSION/mingw-w64-crt/configure --prefix=$MINGW_PREFIX --with-sysroot=$MINGW_PREFIX --host=$MINGW_TARGET
PATH=$PATH:$MINGW_PREFIX/bin make $MINGW_PARALLEL
sudo PATH=$PATH:$MINGW_PREFIX/bin make install
#!/bin/bash -e
-tar xzf Archives/termcap-1.3.1.tar.gz
+tar xzf Archives/termcap-$MINGW_TERMCAP_VERSION.tar.gz
mkdir -p termcap-build-$MINGW_TARGET
cd termcap-build-$MINGW_TARGET
export CC=$MINGW_PREFIX/bin/$MINGW_TARGET-gcc
-../termcap-1.3.1/configure --prefix=$MINGW_PREFIX/$MINGW_TARGET --target=$MINGW_TARGET
+../termcap-$MINGW_TERMCAP_VERSION/configure --prefix=$MINGW_PREFIX/$MINGW_TARGET --target=$MINGW_TARGET
make $MINGW_PARALLEL
sudo make install
#!/bin/bash -e
-rm -rf binutils-2.23
-rm -rf binutils-2.23.2
+source config
+
+rm -rf binutils-$MINGW_BINUTILS_VERSION
rm -rf binutils-windows-build-i686-w64-mingw32
rm -rf binutils-windows-build-x86_64-w64-mingw32
-rm -rf binutils-linux-build-i686-w64-mingw32
-rm -rf binutils-linux-build-x86_64-w64-mingw32
-rm -rf gcc-4.7.3
+rm -rf binutils-build-i686-w64-mingw32
+rm -rf binutils-build-x86_64-w64-mingw32
+rm -rf gcc-$MINGW_GCC_VERSION
rm -rf gcc-build-i686-w64-mingw32
rm -rf gcc-build-x86_64-w64-mingw32
rm -rf mingw-headers-build-i686-w64-mingw32
rm -rf mingw-headers-build-x86_64-w64-mingw32
rm -rf mingw-runtime-build-i686-w64-mingw32
rm -rf mingw-runtime-build-x86_64-w64-mingw32
-rm -rf mingw-w64-v2.0.7
-rm -rf gdb-7.5.1
+rm -rf mingw-w64-v$MINGW_VERSION
+rm -rf gdb-$MINGW_GDB_VERSION
rm -rf gdb-build-i686-w64-mingw32
rm -rf gdb-build-x86_64-w64-mingw32
-rm -rf termcap-1.3.1
+rm -rf termcap-$MINGW_TERMCAP_VERSION
rm -rf termcap-build-i686-w64-mingw32
rm -rf termcap-build-x86_64-w64-mingw32
--- /dev/null
+export MINGW_PARALLEL="-j4"
+export MINGW_BUILD=x86_64-pc-linux-gnu
+export MINGW_GCC_VERSION=5.4.0
+export MINGW_GDB_VERSION=7.11
+export MINGW_VERSION=4.0.6
+export MINGW_BINUTILS_VERSION=2.26
+export MINGW_TERMCAP_VERSION=1.3.1
#!/bin/bash
-mkdir Archives
+
+source config
+
+mkdir -p Archives
cd Archives
-wget http://ftp.gnu.org/gnu/binutils/binutils-2.23.2.tar.bz2
-wget http://ftp.gnu.org/gnu/binutils/binutils-2.24.tar.bz2
-wget http://ftp.gnu.org/gnu/gcc/gcc-4.7.3/gcc-4.7.3.tar.bz2
-wget http://ftp.gnu.org/gnu/gdb/gdb-7.5.1.tar.bz2
-wget http://ftp.gnu.org/gnu/termcap/termcap-1.3.1.tar.gz
-curl -L -O http://downloads.sourceforge.net/project/mingw-w64/mingw-w64/mingw-w64-release/mingw-w64-v2.0.7.tar.gz
+wget http://ftp.gnu.org/gnu/binutils/binutils-$MINGW_BINUTILS_VERSION.tar.bz2
+wget http://ftp.gnu.org/gnu/gcc/gcc-$MINGW_GCC_VERSION/gcc-$MINGW_GCC_VERSION.tar.bz2
+wget http://ftp.gnu.org/gnu/gdb/gdb-$MINGW_GDB_VERSION.tar.xz
+wget http://ftp.gnu.org/gnu/termcap/termcap-$MINGW_TERMCAP_VERSION.tar.gz
+curl -L -O http://downloads.sourceforge.net/project/mingw-w64/mingw-w64/mingw-w64-release/mingw-w64-v$MINGW_VERSION.tar.bz2