# You need to set both the URL they will be downloaded from
# and the exact name of the individual component files.
-MINGW_URL="http://heanet.dl.sourceforge.net/sourceforge/mingw"
+MINGW_URL="http://superb-west.dl.sourceforge.net/sourceforge/mingw"
# GCC_CORE is required; the other components are optional.
# Set any you don't want to "". You need binutils,
# GCC_JAVA_ARCHIVE="gcc-java-3.4.2-20040916-1-src.tar.gz"
BINUTILS_ARCHIVE="binutils-2.16.91-20060119-1-src.tar.gz"
+BINUTILS_PATCH="binutils_texinfo_version.patch"
MINGW_ARCHIVE="mingw-runtime-3.9.tar.gz"
#-----------------------------------------------------
-function download_files
+download_files()
{
# Download a file from a given url, only if it is not present
mkdir -p "$SRCDIR"
}
-function download_file
+download_file()
{
cd "$SRCDIR"
if test ! -f $1 ; then
}
-function purge_existing_install
+purge_existing_install()
{
echo "Purging the existing files in $PREFIX"
if cd "$PREFIX"; then
}
-function install_libs
+install_libs()
{
echo "Installing cross libs and includes"
mkdir -p "$PREFIX/$TARGET"
}
-function extract_binutils
+extract_binutils()
{
cd "$SRCDIR"
BINUTILS=`tar -tzf "$SRCDIR/$BINUTILS_ARCHIVE" | head -n 1`
cd "$BUILDDIR"
}
+patch_binutils()
+{
+ if [ "$BINUTILS_PATCH" != "" ]; then
+ echo "Patching binutils"
+ cd "$SRCDIR/$BINUTILS"
+ patch -p1 < "${cwd}/patches/$BINUTILS_PATCH"
+ cd "$BUILDDIR"
+ fi
+}
+
-function configure_binutils
+configure_binutils()
{
cd "$BUILDDIR"
rm -rf "binutils-$TARGET"
cd "binutils-$TARGET"
echo "Configuring binutils"
"$SRCDIR/$BINUTILS/configure" --prefix="$PREFIX" --target=$TARGET --disable-nls \
- --with-gcc --with-gnu-as --with-gnu-ld --disable-shared &> configure.log
+ --with-gcc --with-gnu-as --with-gnu-ld --disable-shared 2>&1 > configure.log
cd "$BUILDDIR"
}
-function build_binutils
+build_binutils()
{
cd "$BUILDDIR/binutils-$TARGET"
echo "Building binutils"
- make CFLAGS="-O2 -fno-exceptions" LDFLAGS="-s" &> make.log
+ make CFLAGS="-O2 -fno-exceptions" LDFLAGS="-s" 2>&1 > make.log
if test $? -ne 0; then
echo "make of binutils failed - log available: binutils-$TARGET/make.log"
exit 1
}
-function install_binutils
+install_binutils()
{
cd "$BUILDDIR/binutils-$TARGET"
echo "Installing binutils"
- make install &> make-install.log
+ make install 2>&1 > make-install.log
if test $? -ne 0; then
echo "install of binutils failed - log available: binutils-$TARGET/make-install.log"
exit 1
}
-function extract_gcc
+extract_gcc()
{
cd "$SRCDIR"
GCC=`tar -tzf "$SRCDIR/$GCC_CORE_ARCHIVE" | head -n 1`
}
-function patch_gcc
+patch_gcc()
{
if [ "$GCC_PATCH" != "" ]; then
echo "Patching gcc"
}
-function configure_gcc
+configure_gcc()
{
cd "$BUILDDIR"
rm -rf "gcc-$TARGET"
--disable-win32-registry --disable-shared --enable-sjlj-exceptions --enable-libgcj \
--disable-java-awt --without-x --enable-java-gc=boehm --disable-libgcj-debug \
--enable-interpreter --enable-hash-synchronization --enable-libstdcxx-debug \
- &> configure.log
+ 2>&1 > configure.log
cd "$BUILDDIR"
}
-function build_gcc
+build_gcc()
{
cd "$BUILDDIR/gcc-$TARGET"
echo "Building gcc"
- make CFLAGS="-O2" CXXFLAGS="-O2" GCJFLAGS="-O2" LDFLAGS="-s" DEBUG_FLAGS="-g0" &> make.log
+ make CFLAGS="-O2" CXXFLAGS="-O2" GCJFLAGS="-O2" LDFLAGS="-s" DEBUG_FLAGS="-g0" 2>&1 > make.log
if test $? -ne 0; then
echo "make of gcc failed - log available: gcc-$TARGET/make.log"
exit 1
fi
if [ "x$GCC_ADA" != "x" ]; then
cd gcc
- make "CFLAGS=-O2" "LDFLAGS=-s" gnatlib_and_tools &> make-gnatlib.log
+ make "CFLAGS=-O2" "LDFLAGS=-s" gnatlib_and_tools 2>&1 > make-gnatlib.log
if test $? -ne 0; then
echo "make of gnatlib and tools failed - log available: gcc-$TARGET/make-gnatlib.log"
exit 1
}
-function install_gcc
+install_gcc()
{
cd "$BUILDDIR/gcc-$TARGET"
echo "Installing gcc"
- make install &> make-install.log
+ make install 2>&1 > make-install.log
if test $? -ne 0; then
echo "install of gcc failed - log available: gcc-$TARGET/make-install.log"
exit 1
}
-function extract_mingw_utils
+extract_mingw_utils()
{
- cd "$SRCDIR"
- MINGW_UTILS=`tar -tzf "$SRCDIR/$MINGW_UTILS_ARCHIVE" | head -n 1`
- if [ "x${MINGW_UTILS}" != "x./" ]; then
- rm -rf "$MINGW_UTILS"
- fi
- echo "Extracting mingw-utils"
- tar -xzf "$SRCDIR/$MINGW_UTILS_ARCHIVE"
- cd "$BUILDDIR"
+ cd "$SRCDIR"
+ MINGW_UTILS=`tar -tzf "$SRCDIR/$MINGW_UTILS_ARCHIVE" | head -n 1`
+ if [ "x${MINGW_UTILS}" != "x./" ]; then
+ rm -rf "$MINGW_UTILS"
+ fi
+ echo "Extracting mingw-utils"
+ tar -xzf "$SRCDIR/$MINGW_UTILS_ARCHIVE"
+ cd "$BUILDDIR"
}
-function patch_mingw_utils
+patch_mingw_utils()
{
- MINGW_UTILS=`tar -tzf "$SRCDIR/$MINGW_UTILS_ARCHIVE" | head -n 1`
- cd "${SRCDIR}/${MINGW_UTILS}"
- echo "Patching mingw-utils"
- patch -p0 < ${SCRIPTDIR}/mingw-utils.patch &> patch.log
- cd "$BUILDDIR"
+ MINGW_UTILS=`tar -tzf "$SRCDIR/$MINGW_UTILS_ARCHIVE" | head -n 1`
+ cd "${SRCDIR}/${MINGW_UTILS}"
+ echo "Patching mingw-utils"
+ patch -p0 < ${SCRIPTDIR}/patches/mingw-utils.patch 2>&1 > patch.log
+ cd "$BUILDDIR"
}
-function configure_mingw_utils
+configure_mingw_utils()
{
- cd "$BUILDDIR"
- rm -rf "mingw-utils"
- mkdir "mingw-utils"
- cd "mingw-utils"
- echo "Configuring mingw-utils"
- "$SRCDIR/$MINGW_UTILS/configure" --disable-nonportable --prefix="${PREFIX}/${TARGET}" &> configure.log
- cd "$BUILDDIR"
+ cd "$BUILDDIR"
+ rm -rf "mingw-utils"
+ mkdir "mingw-utils"
+ cd "mingw-utils"
+ echo "Configuring mingw-utils"
+ "$SRCDIR/$MINGW_UTILS/configure" --disable-nonportable --prefix="${PREFIX}/${TARGET}" 2>&1 > configure.log
+ cd "$BUILDDIR"
}
-function build_mingw_utils
+build_mingw_utils()
{
- cd "$BUILDDIR/mingw-utils"
- echo "Building mingw-utils"
- make CFLAGS="-O2 -fno-exceptions" LDFLAGS="-s" &> make.log
- if test $? -ne 0; then
- echo "make of mingw-utils failed - log available: mingw-utils/make.log"
- exit 1
- fi
- cd "$BUILDDIR"
+ cd "$BUILDDIR/mingw-utils"
+ echo "Building mingw-utils"
+ make CFLAGS="-O2 -fno-exceptions" LDFLAGS="-s" 2>&1 > make.log
+ if test $? -ne 0; then
+ echo "make of mingw-utils failed - log available: mingw-utils/make.log"
+ exit 1
+ fi
+ cd "$BUILDDIR"
}
-function install_mingw_utils
+install_mingw_utils()
{
- cd "$BUILDDIR/mingw-utils"
- echo "Installing mingw-utils"
- make install &> make-install.log
- if test $? -ne 0; then
- echo "install of mingw-utils failed - log available: mingw-utils/make-install.log"
- exit 1
- fi
- cd "$BUILDDIR"
+ cd "$BUILDDIR/mingw-utils"
+ echo "Installing mingw-utils"
+ make install 2>&1 > make-install.log
+ if test $? -ne 0; then
+ echo "install of mingw-utils failed - log available: mingw-utils/make-install.log"
+ exit 1
+ fi
+ cd "$BUILDDIR"
}
-function final_tweaks
+final_tweaks()
{
echo "Finalizing installation"
install_libs
extract_binutils
+patch_binutils
configure_binutils
build_binutils
install_binutils
install_gcc
if test -n "${MINGW_UTILS_ARCHIVE}"; then
- extract_mingw_utils
- patch_mingw_utils
- configure_mingw_utils
- build_mingw_utils
- install_mingw_utils
+ extract_mingw_utils
+ patch_mingw_utils
+ configure_mingw_utils
+ build_mingw_utils
+ install_mingw_utils
fi
final_tweaks