diff --git a/miosix/_tools/compiler/Readme.txt b/miosix/_tools/compiler/gcc-4.7.3-mp1/Readme.txt
similarity index 100%
rename from miosix/_tools/compiler/Readme.txt
rename to miosix/_tools/compiler/gcc-4.7.3-mp1/Readme.txt
diff --git a/miosix/_tools/compiler/additional-download-linux-release.sh b/miosix/_tools/compiler/gcc-4.7.3-mp1/additional-download-linux-release.sh
similarity index 100%
rename from miosix/_tools/compiler/additional-download-linux-release.sh
rename to miosix/_tools/compiler/gcc-4.7.3-mp1/additional-download-linux-release.sh
diff --git a/miosix/_tools/compiler/additional-download-windows-release.sh b/miosix/_tools/compiler/gcc-4.7.3-mp1/additional-download-windows-release.sh
similarity index 100%
rename from miosix/_tools/compiler/additional-download-windows-release.sh
rename to miosix/_tools/compiler/gcc-4.7.3-mp1/additional-download-windows-release.sh
diff --git a/miosix/_tools/compiler/checkdeps.sh b/miosix/_tools/compiler/gcc-4.7.3-mp1/checkdeps.sh
similarity index 100%
rename from miosix/_tools/compiler/checkdeps.sh
rename to miosix/_tools/compiler/gcc-4.7.3-mp1/checkdeps.sh
diff --git a/miosix/_tools/compiler/cleanup.sh b/miosix/_tools/compiler/gcc-4.7.3-mp1/cleanup.sh
old mode 100755
new mode 100644
similarity index 100%
rename from miosix/_tools/compiler/cleanup.sh
rename to miosix/_tools/compiler/gcc-4.7.3-mp1/cleanup.sh
diff --git a/miosix/_tools/compiler/download.sh b/miosix/_tools/compiler/gcc-4.7.3-mp1/download.sh
similarity index 100%
rename from miosix/_tools/compiler/download.sh
rename to miosix/_tools/compiler/gcc-4.7.3-mp1/download.sh
diff --git a/miosix/_tools/compiler/install-script.sh b/miosix/_tools/compiler/gcc-4.7.3-mp1/install-script.sh
old mode 100755
new mode 100644
similarity index 100%
rename from miosix/_tools/compiler/install-script.sh
rename to miosix/_tools/compiler/gcc-4.7.3-mp1/install-script.sh
diff --git a/miosix/_tools/compiler/linux-installer/installer.sh b/miosix/_tools/compiler/gcc-4.7.3-mp1/linux-installer/installer.sh
similarity index 100%
rename from miosix/_tools/compiler/linux-installer/installer.sh
rename to miosix/_tools/compiler/gcc-4.7.3-mp1/linux-installer/installer.sh
diff --git a/miosix/_tools/compiler/lpc21isp_148_src.zip b/miosix/_tools/compiler/gcc-4.7.3-mp1/lpc21isp_148_src.zip
similarity index 100%
rename from miosix/_tools/compiler/lpc21isp_148_src.zip
rename to miosix/_tools/compiler/gcc-4.7.3-mp1/lpc21isp_148_src.zip
diff --git a/miosix/_tools/compiler/mx-postlinker/ELF.h b/miosix/_tools/compiler/gcc-4.7.3-mp1/mx-postlinker/ELF.h
similarity index 100%
rename from miosix/_tools/compiler/mx-postlinker/ELF.h
rename to miosix/_tools/compiler/gcc-4.7.3-mp1/mx-postlinker/ELF.h
diff --git a/miosix/_tools/compiler/mx-postlinker/Makefile b/miosix/_tools/compiler/gcc-4.7.3-mp1/mx-postlinker/Makefile
similarity index 100%
rename from miosix/_tools/compiler/mx-postlinker/Makefile
rename to miosix/_tools/compiler/gcc-4.7.3-mp1/mx-postlinker/Makefile
diff --git a/miosix/_tools/compiler/mx-postlinker/main.cpp b/miosix/_tools/compiler/gcc-4.7.3-mp1/mx-postlinker/main.cpp
similarity index 100%
rename from miosix/_tools/compiler/mx-postlinker/main.cpp
rename to miosix/_tools/compiler/gcc-4.7.3-mp1/mx-postlinker/main.cpp
diff --git a/miosix/_tools/compiler/mx-postlinker/postlinker.cpp b/miosix/_tools/compiler/gcc-4.7.3-mp1/mx-postlinker/postlinker.cpp
similarity index 100%
rename from miosix/_tools/compiler/mx-postlinker/postlinker.cpp
rename to miosix/_tools/compiler/gcc-4.7.3-mp1/mx-postlinker/postlinker.cpp
diff --git a/miosix/_tools/compiler/mx-postlinker/postlinker.h b/miosix/_tools/compiler/gcc-4.7.3-mp1/mx-postlinker/postlinker.h
similarity index 100%
rename from miosix/_tools/compiler/mx-postlinker/postlinker.h
rename to miosix/_tools/compiler/gcc-4.7.3-mp1/mx-postlinker/postlinker.h
diff --git a/miosix/_tools/compiler/patches/force-got.patch b/miosix/_tools/compiler/gcc-4.7.3-mp1/patches/force-got.patch
similarity index 100%
rename from miosix/_tools/compiler/patches/force-got.patch
rename to miosix/_tools/compiler/gcc-4.7.3-mp1/patches/force-got.patch
diff --git a/miosix/_tools/compiler/patches/gcc.patch b/miosix/_tools/compiler/gcc-4.7.3-mp1/patches/gcc.patch
similarity index 100%
rename from miosix/_tools/compiler/patches/gcc.patch
rename to miosix/_tools/compiler/gcc-4.7.3-mp1/patches/gcc.patch
diff --git a/miosix/_tools/compiler/patches/gcc.txt b/miosix/_tools/compiler/gcc-4.7.3-mp1/patches/gcc.txt
similarity index 100%
rename from miosix/_tools/compiler/patches/gcc.txt
rename to miosix/_tools/compiler/gcc-4.7.3-mp1/patches/gcc.txt
diff --git a/miosix/_tools/compiler/patches/newlib.patch b/miosix/_tools/compiler/gcc-4.7.3-mp1/patches/newlib.patch
similarity index 100%
rename from miosix/_tools/compiler/patches/newlib.patch
rename to miosix/_tools/compiler/gcc-4.7.3-mp1/patches/newlib.patch
diff --git a/miosix/_tools/compiler/uninstall.sh b/miosix/_tools/compiler/gcc-4.7.3-mp1/uninstall.sh
old mode 100755
new mode 100644
similarity index 100%
rename from miosix/_tools/compiler/uninstall.sh
rename to miosix/_tools/compiler/gcc-4.7.3-mp1/uninstall.sh
diff --git a/miosix/_tools/compiler/windows-installer/MiosixInstaller.iss b/miosix/_tools/compiler/gcc-4.7.3-mp1/windows-installer/MiosixInstaller.iss
similarity index 100%
rename from miosix/_tools/compiler/windows-installer/MiosixInstaller.iss
rename to miosix/_tools/compiler/gcc-4.7.3-mp1/windows-installer/MiosixInstaller.iss
diff --git a/miosix/_tools/compiler/windows-installer/license.txt b/miosix/_tools/compiler/gcc-4.7.3-mp1/windows-installer/license.txt
similarity index 100%
rename from miosix/_tools/compiler/windows-installer/license.txt
rename to miosix/_tools/compiler/gcc-4.7.3-mp1/windows-installer/license.txt
diff --git a/miosix/_tools/compiler/windows-installer/rm.c b/miosix/_tools/compiler/gcc-4.7.3-mp1/windows-installer/rm.c
similarity index 100%
rename from miosix/_tools/compiler/windows-installer/rm.c
rename to miosix/_tools/compiler/gcc-4.7.3-mp1/windows-installer/rm.c
diff --git a/miosix/_tools/compiler/gcc8.2.0-mp2.1/Readme.txt b/miosix/_tools/compiler/gcc8.2.0-mp2.1/Readme.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8a697d7bf4e51ad85638f474a27d03a204ab1534
--- /dev/null
+++ b/miosix/_tools/compiler/gcc8.2.0-mp2.1/Readme.txt
@@ -0,0 +1,79 @@
+This is the readme for installing the arm-miosix-eabi-gcc compiler,
+required to build Miosix.
+Currently this can only be done on Linux, even when compiling a
+compiler that will work for Windows.
+===================================================================
+
+
+Step 1
+------
+Copy this folder in a path without spaces, or compiling will fail.
+Example:
+/home/foo/temp                          OK
+/home/foo/directory with spaces/temp    NO!!
+
+
+Step 2
+------
+Install the following dependencies:
+gcc, g++, make, ncurses, byacc, flex, texinfo, patch, gmp, mpfr, mpc, tar, unzip, lzip, libelf perl
+
+For example, for Ubuntu/Kubuntu open a shell and type:
+sudo apt-get install gcc g++ make libncurses5-dev byacc flex texinfo patch libgmp3-dev libmpfr-dev libmpc-dev tar unzip lzip libelf-dev perl
+
+While on Fedora:
+sudo yum intall gcc gcc-c++ make ncurses-devel byacc flex texinfo patch gmp-devel mpfr-devel libmpc-devel tar unzip lzip elfutils-libelf-devel perl
+
+Note: these scripts require "sudo" unless you want to intall the compiler locally.
+If you use a distro like Fedora where sudo is not enabled by default, use "visudo" to enable sudo for your account.
+
+Step 3
+------
+Download the the required sources with the download script:
+
+./download.sh
+
+
+Step 4
+------
+After meeting these prerequisites, install:
+
+./install-script.sh -j`nproc`
+./cleanup.sh
+
+Both scripts will prompt for root password at some point. It is normal,
+since they need to write in /opt and /usr/bin.
+The cleanup script won't remove the compressed files downloaded with the
+download script. You might want to do so manually to save space on your disk.
+
+
+Step 5
+------
+Test the compiler by typing in a shell
+
+arm-miosix-eabi-gcc -v
+
+If you get something like
+
+bash: arm-miosix-eabi-gcc: command not found
+
+it means something did not work.
+
+
+Step 6
+------
+If required, also install OpenOCD for in circuit debugging.
+There are no scripts for doing that, since it is rather independent on the
+gcc version. On many distros it is also available thrugh package managers,
+for example on Ubuntu/Kubuntu you can install it with
+
+sudo apt-get install openocd
+
+Uninstalling the compiler
+=========================
+In case you need to uninstall the compiler (perhaps because you need to install
+an upgraded version as part of a new Miosix release) you can run the
+
+./uninstall.sh
+
+script.
diff --git a/miosix/_tools/compiler/gcc8.2.0-mp2.1/additional-download-linux-release.sh b/miosix/_tools/compiler/gcc8.2.0-mp2.1/additional-download-linux-release.sh
new file mode 100644
index 0000000000000000000000000000000000000000..686b4fbea14104ad78df73eb9b9dc94e998626aa
--- /dev/null
+++ b/miosix/_tools/compiler/gcc8.2.0-mp2.1/additional-download-linux-release.sh
@@ -0,0 +1,10 @@
+echo "FIXME: upgrade"
+exit
+
+#!/bin/sh
+
+# This simple script will download additional surces required to make a
+# distributable release build for linux
+
+wget http://mirror2.mirror.garr.it/mirrors/gnuftp/gnu/ncurses/ncurses-5.9.tar.gz
+wget http://megastep.org/makeself/makeself-2.1.5.run
diff --git a/miosix/_tools/compiler/gcc8.2.0-mp2.1/additional-download-windows-release.sh b/miosix/_tools/compiler/gcc8.2.0-mp2.1/additional-download-windows-release.sh
new file mode 100644
index 0000000000000000000000000000000000000000..5e8f6ff074c8d901633845891f55b286c7a3edca
--- /dev/null
+++ b/miosix/_tools/compiler/gcc8.2.0-mp2.1/additional-download-windows-release.sh
@@ -0,0 +1,13 @@
+echo "FIXME: upgrade"
+exit
+
+#!/bin/sh
+
+# This simple script will download additional surces required to make a
+# distributable release build for windows
+
+wget http://mirror2.mirror.garr.it/mirrors/gnuftp/gnu/make/make-4.0.tar.bz2
+wget https://qstlink2.googlecode.com/files/qstlink2_1.0.3.exe
+mv qstlink2_1.0.3.exe qstlink2.exe
+wget http://www.jrsoftware.org/download.php/is.exe
+mv is.exe innosetup.exe
diff --git a/miosix/_tools/compiler/gcc8.2.0-mp2.1/checkdeps.sh b/miosix/_tools/compiler/gcc8.2.0-mp2.1/checkdeps.sh
new file mode 100644
index 0000000000000000000000000000000000000000..94b6f1e0065a3e26432633e02e147c5e4f30a787
--- /dev/null
+++ b/miosix/_tools/compiler/gcc8.2.0-mp2.1/checkdeps.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+# When making a redistributable linux installation, use this
+# to check the required librearies after it's installed on
+# another machine
+
+ldd gcc/arm-miosix-eabi/bin/* | perl -e 'while(<>){next unless(/\s+(\S+.so(\S+))\s+/);print "$1\n";}' | sort -u
diff --git a/miosix/_tools/compiler/gcc8.2.0-mp2.1/cleanup.sh b/miosix/_tools/compiler/gcc8.2.0-mp2.1/cleanup.sh
new file mode 100644
index 0000000000000000000000000000000000000000..5f45eeefe653555fe9adaa022ed96e9c6d4ca5f5
--- /dev/null
+++ b/miosix/_tools/compiler/gcc8.2.0-mp2.1/cleanup.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+# After running install-script.sh, this script will clean up temporary files
+
+rm -rf binutils-2.31.1 gcc-8.2.0 gdb-8.1.1 newlib-3.0.0.20180802 newlib-obj \
+	gmp-6.1.2 mpfr-4.0.1 mpc-1.1.0 make-4.0 ncurses-5.9 makeself-2.1.5 \
+	lib quickfix lpc21isp.c
+
+if [[ `stat -c "%U" objdir` == 'root' ]]; then
+    sudo rm -rf objdir/ log/
+else
+    rm -rf objdir/ log/
+fi
+
diff --git a/miosix/_tools/compiler/gcc8.2.0-mp2.1/download.sh b/miosix/_tools/compiler/gcc8.2.0-mp2.1/download.sh
new file mode 100644
index 0000000000000000000000000000000000000000..c2257357c03b42eb07416529d61bd1ee55db10cb
--- /dev/null
+++ b/miosix/_tools/compiler/gcc8.2.0-mp2.1/download.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# This simple script will download all the required source files
+# for compiling arm-miosix-eabi-gcc
+
+wget http://ftp.gnu.org/gnu/binutils/binutils-2.31.1.tar.xz
+wget ftp://ftp.fu-berlin.de/unix/languages/gcc/releases/gcc-8.2.0/gcc-8.2.0.tar.xz
+wget ftp://sourceware.org/pub/newlib/newlib-3.0.0.20180802.tar.gz
+wget https://mirror2.mirror.garr.it/mirrors/gnuftp/gdb/gdb-8.1.1.tar.xz
+wget https://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.xz
+wget https://www.mpfr.org/mpfr-current/mpfr-4.0.1.tar.xz
+wget https://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
diff --git a/miosix/_tools/compiler/gcc8.2.0-mp2.1/install-script.sh b/miosix/_tools/compiler/gcc8.2.0-mp2.1/install-script.sh
new file mode 100644
index 0000000000000000000000000000000000000000..2453a1c496e46080b05b095bb5645c1d337ca9f5
--- /dev/null
+++ b/miosix/_tools/compiler/gcc8.2.0-mp2.1/install-script.sh
@@ -0,0 +1,549 @@
+#!/bin/bash
+
+# Script to build the gcc compiler required for Miosix.
+# Usage: ./install-script -j2
+# The first parameter is used to speed up compiling for multicore processors,
+# use -j2 for a dual core, -j4 for a quad core, ...
+#
+# Building Miosix is officially supported only through the gcc compiler built
+# with this script. This is because this script patches the compiler.
+# Starting from Miosix 1.58 the use of the arm-miosix-eabi-gcc compiler built
+# by this script has become mandatory due to patches related to posix threads
+# in newlib. The kernel *won't* compile unless the correct compiler is used.
+#
+# Starting from 04/2014 this script is also used to build binary releases
+# of the Miosix compiler for both linux and windows. Most users will want to
+# download the binary relase from http://miosix.org instead of compiling GCC
+# using this script.
+#
+# This script will install arm-miosix-eabi-gcc in /opt, creating links to
+# binaries in /usr/bin.
+# It should be run without root privileges, but it will ask for the root
+# password when installing files to /opt and /usr/bin
+
+#### Configuration tunables -- begin ####
+
+# Uncomment if installing globally on the system
+# INSTALL_DIR=/opt
+# SUDO=sudo
+# Uncomment if installing locally, sudo isn't necessary
+INSTALL_DIR=`pwd`/gcc
+SUDO=
+
+# Uncomment if targeting a local install (linux only). This will use
+# -march= -mtune= flags to optimize for your processor, but the code
+# won't be portable to other architectures, so don't distribute it
+HOST=
+# Uncomment if targeting linux 32 bit (distributable)
+#HOST=i686-linux-gnu
+# Uncomment if targeting windows (distributable)
+# you have to run this script from Linux anyway (see canadian cross compiling)
+#HOST=i686-w64-mingw32
+
+#### Configuration tunables -- end ####
+
+# Libraries are compiled statically, so they are never installed in the system
+LIB_DIR=`pwd`/lib
+
+# Program versions
+BINUTILS=binutils-2.31.1
+GCC=gcc-8.2.0
+NEWLIB=newlib-3.0.0.20180802
+GDB=gdb-8.1.1
+GMP=gmp-6.1.2
+MPFR=mpfr-4.0.1
+MPC=mpc-1.1.0
+# NCURSES=ncurses-5.9
+# MAKE=make-4.0
+# MAKESELF=makeself-2.1.5
+
+quit() {
+	echo $1
+	exit 1
+}
+
+if [[ $SUDO ]]; then
+	if [[ $HOST ]]; then
+		quit ":: Error global install distributable compiling are mutually exclusive"
+	fi
+fi
+
+if [[ $HOST ]]; then
+	# Canadian cross compiling requires to have the same version of the
+	# arm-miosix-eabi-gcc that we are going to compile installed locally
+	# in the Linux system from which we are compiling, so as to build
+	# libc, libstdc++, ...
+	# Please note that since the already installed version of
+	# arm-miosix-eabi-gcc is used to build the standard libraries, it
+	# NUST BE THE EXACT SAME VERSION, including miosix-specific patches
+	which arm-miosix-eabi-gcc > /dev/null || quit ":: Error must first install arm-miosix-eabi-gcc"
+
+	HOSTCC="$HOST-gcc"
+	HOSTSTRIP="$HOST-strip"
+	if [[ $HOST == *mingw* ]]; then
+		# Canadian cross compiling requires the windows compiler to build
+		# arm-miosix-eabi-gcc.exe, ...
+		which "$HOST-gcc" > /dev/null || quit ":: Error must have host cross compiler"
+
+		HOSTCXX="$HOST-g++ -static -s" # For windows not to depend on libstdc++.dll
+		EXT=".exe"
+	else
+		# Crosscompiling linux 2 linux to achieve a redistributable build is
+		# really a pain. Even worse than doing a redistributable windows
+		# version. The reason is that we need to set --host=i686-linux-gnu
+		# but there isn't actually a compiler named i686-linux-gnu-gcc.
+		# You might be thinking that autotools are smart enough to call
+		# the regular gcc with '-m32 -march=i686', but they aren't. I've
+		# tried messing with CFLAGS but gone nowhere, since some scripts
+		# insist for calling tools such as i686-linux-gnu-ar without
+		# first checking for their existence, so here's my "quick fix":
+		# make a directory with shell scripts named i686-linux-gnu-gcc, ...
+		# that just contain 'gcc -m32 -march=i686 $@' and add it to PATH.
+		# It isn't pretty, but it works.
+		# Also, these scripts work around gdb needing libncurses and
+		# totally ignoring the --with-sysroot flag by adding `pwd`/lib
+		# to the compiler search path.
+		mkdir quickfix
+		cd quickfix
+		echo "gcc -m32 -march=i686 -I$LIB_DIR/include -L$LIB_DIR/lib "'"$@"' > "$HOST-gcc"
+		echo "g++ -m32 -march=i686 -I$LIB_DIR/include -L$LIB_DIR/lib "'"$@"' > "$HOST-g++"
+		echo "ld -m32 -march=i686 -L$LIB_DIR/lib "'"$@"' > "$HOST-ld"
+		echo "ar "'"$@"' > "$HOST-ar"
+		echo "ranlib "'"$@"' > "$HOST-ranlib"
+		echo "strip "'"$@"' > "$HOST-strip"
+		chmod +x *
+		export PATH=$PATH:`pwd`
+		cd ..
+
+		HOSTCXX="$HOST-g++"
+		EXT=
+	fi
+else
+	export PATH=$INSTALL_DIR/arm-miosix-eabi/bin:$PATH
+
+	HOSTCC=gcc
+	HOSTCXX=g++
+	HOSTSTRIP=strip
+	EXT=
+fi
+
+if [[ $1 == '' ]]; then
+	PARALLEL="-j1"
+else
+	PARALLEL=$1;
+fi
+
+#
+# Part 1: extract data
+#
+
+echo "Extracting files, please wait..."
+tar -xf  $BINUTILS.tar.xz			|| quit ":: Error extracting binutils"
+tar -xf  $GCC.tar.xz				|| quit ":: Error extracting gcc"
+tar -xf  $NEWLIB.tar.gz				|| quit ":: Error extracting newlib"
+tar -xf  $GDB.tar.xz				|| quit ":: Error extracing gdb"
+tar -xf  $GMP.tar.xz				|| quit ":: Error extracting gmp"
+tar -xf  $MPFR.tar.xz				|| quit ":: Error extracting mpfr"
+tar -xf  $MPC.tar.gz				|| quit ":: Error extracting mpc"
+
+if [[ $HOST == *mingw* ]]; then
+	tar -xf  $MAKE.tar.bz2			|| quit ":: Error extracting make"
+fi
+if [[ $HOST == *linux* ]]; then
+	tar -xf  $NCURSES.tar.gz		|| quit ":: Error extracting ncurses"
+fi
+
+unzip lpc21isp_148_src.zip			|| quit ":: Error extracting lpc21isp"
+mkdir log
+
+#
+# Part 2: applying patches
+#
+
+patch -p0 < patches/gcc.patch		|| quit ":: Failed patching gcc 1"
+# patch -p0 < patches/force-got.patch	|| quit ":: Failed patching gcc 2"
+patch -p0 < patches/newlib.patch	|| quit ":: Failed patching newlib"
+
+#
+# Part 3: compile libraries
+#
+
+cd $GMP
+
+./configure \
+	--build=`./config.guess` \
+	--host=$HOST \
+	--prefix=$LIB_DIR \
+	--enable-static --disable-shared \
+	2> ../log/z.gmp.a.txt					|| quit ":: Error configuring gmp"
+
+make all $PARALLEL 2>../log/z.gmp.b.txt		|| quit ":: Error compiling gmp"
+
+if [[ $HOST != *mingw* ]]; then
+	# FIXME: test fails (t-scanf.exe)
+	make check $PARALLEL 2> ../log/z.gmp.c.txt	|| quit ":: Error testing gmp"
+fi
+
+make install 2>../log/z.gmp.d.txt			|| quit ":: Error installing gmp"
+
+cd ..
+
+cd $MPFR
+
+./configure \
+	--build=`./config.guess` \
+	--host=$HOST \
+	--prefix=$LIB_DIR \
+	--enable-static --disable-shared \
+	--with-gmp=$LIB_DIR \
+	2> ../log/z.mpfr.a.txt					|| quit ":: Error configuring mpfr"
+
+make all $PARALLEL 2>../log/z.mpfr.b.txt	|| quit ":: Error compiling mpfr"
+
+if [[ $HOST != *mingw* ]]; then
+	# printf/scanf tests fail due to wine unimplemented features, this is known
+	# http://readlist.com/lists/gcc.gnu.org/gcc/10/53348.html
+	make check $PARALLEL 2> ../log/z.mpfr.c.txt	|| quit ":: Error testing mpfr"
+fi
+
+make install 2>../log/z.mpfr.d.txt			|| quit ":: Error installing mpfr"
+
+cd ..
+
+cd $MPC
+
+./configure \
+	--build=`./config.guess` \
+	--host=$HOST \
+	--prefix=$LIB_DIR \
+	--enable-static --disable-shared \
+	--with-gmp=$LIB_DIR \
+	--with-mpfr=$LIB_DIR \
+	2> ../log/z.mpc.a.txt					|| quit ":: Error configuring mpc"
+
+make all $PARALLEL 2>../log/z.mpc.b.txt		|| quit ":: Error compiling mpc"
+
+make check $PARALLEL 2> ../log/z.mpc.c.txt	|| quit ":: Error testing mpc"
+
+make install 2>../log/z.mpc.d.txt			|| quit ":: Error installing mpc"
+
+cd ..
+
+#
+# Part 4: compile and install binutils
+#
+
+#To enable gold (currently does not work) instead of ld, add
+#	--enable-gold=yes \
+#	--enable-ld=no \
+cd $BINUTILS
+
+./configure \
+	--build=`./config.guess` \
+	--host=$HOST \
+	--target=arm-miosix-eabi \
+	--prefix=$INSTALL_DIR/arm-miosix-eabi \
+	--enable-interwork \
+	--enable-multilib \
+	--enable-lto \
+	--disable-werror 2>../log/a.txt			|| quit ":: Error configuring binutils"
+
+make all $PARALLEL 2>../log/b.txt			|| quit ":: Error compiling binutils"
+
+$SUDO make install 2>../log/c.txt			|| quit ":: Error installing binutils"
+
+cd ..
+
+#
+# Part 5: compile and install gcc-start
+#
+
+mkdir objdir
+cd objdir
+
+$SUDO ../$GCC/configure \
+	--build=`../$GCC/config.guess` \
+	--host=$HOST \
+	--target=arm-miosix-eabi \
+	--with-gmp=$LIB_DIR \
+	--with-mpfr=$LIB_DIR \
+	--with-mpc=$LIB_DIR \
+	MAKEINFO=missing \
+	--prefix=$INSTALL_DIR/arm-miosix-eabi \
+	--disable-shared \
+	--disable-libmudflap \
+	--disable-libssp \
+	--disable-nls \
+	--disable-libgomp \
+	--disable-libstdcxx-pch \
+	--enable-threads=miosix \
+	--enable-languages="c,c++" \
+	--enable-lto \
+	--disable-wchar_t \
+	--with-newlib \
+	--with-headers=../$NEWLIB/newlib/libc/include \
+	2>../log/d.txt							|| quit ":: Error configuring gcc-start"
+
+$SUDO make all-gcc $PARALLEL 2>../log/e.txt	|| quit ":: Error compiling gcc-start"
+
+$SUDO make install-gcc 2>../log/f.txt		|| quit ":: Error installing gcc-start"
+
+# Remove the sys-include directory
+# There are two reasons why to remove it: first because it is unnecessary,
+# second because it is harmful. Apparently GCC needs the C headers of the target
+# to build the compiler itself, therefore when configured --with-newlib and
+# --with-headers=[...] it copies those headers in the sys-include folder.
+# After gcc is compiled, the installation of newlib places the headers in the
+# include dirctory and at that point the sys-include headers aren't necessary anymore
+# Now, to see why the're harmful, consider the header newlib.h It is initially
+# empty and is filled in by the newlib's ./configure with the appropriate options
+# Now, since the configure process happens after, the newlib.h in sys-include
+# is the wrong (empty) one, while the one in include is the correct one.
+# This causes troubles because newlib.h contains the _WANT_REENT_SMALL used to
+# select the appropriate _Reent struct. This error is visible to user code since
+# GCC seems to take the wrong newlib.h and user code gets the wrong _Reent struct
+$SUDO rm -rf $INSTALL_DIR/arm-miosix-eabi/arm-miosix-eabi/sys-include
+
+# Another fix, looks like export PATH isn't enough for newlib, it fails
+# running arm-miosix-eabi-ranlib when installing
+if [[ $SUDO ]]; then
+	$SUDO ln -s $INSTALL_DIR/arm-miosix-eabi/bin/* /usr/bin
+fi
+
+cd ..
+
+#
+# Part 6: compile and install newlib
+#
+
+mkdir newlib-obj
+cd newlib-obj
+
+../$NEWLIB/configure \
+	--build=`../$GCC/config.guess` \
+	--host=$HOST \
+	--target=arm-miosix-eabi \
+	--prefix=$INSTALL_DIR/arm-miosix-eabi \
+	--enable-multilib \
+	--enable-newlib-reent-small \
+	--enable-newlib-multithread \
+	--enable-newlib-io-long-long \
+	--disable-newlib-io-c99-formats \
+	--disable-newlib-io-long-double \
+	--disable-newlib-io-pos-args \
+	--disable-newlib-mb \
+	--disable-newlib-supplied-syscalls \
+	2>../log/g.txt							|| quit ":: Error configuring newlib"
+
+make $PARALLEL 2>../log/h.txt				|| quit ":: Error compiling newlib"
+
+$SUDO make install 2>../log/i.txt			|| quit ":: Error installing newlib"
+
+cd ..
+
+#
+# Part 7: compile and install gcc-end
+#
+
+cd objdir
+
+# This fails with windows crosscompiling because GCC seems to have a bug when
+# compiling crtstuff.c, the following error is found:
+# sys/types.h:130:16: error: expected identifier or '(' before 'char'
+# the line in question is 'typedef	char *	caddr_t;', but a look at the
+# compiler output after the preprocessor (-E option) it becomes
+# 'typedef	char *	char *;' so someone is doing a '#define caddr_t char *'
+# A look at objdir/gcc/config.log shows
+# configure:9173: checking for caddr_t
+# configure:9173: i686-w64-mingw32-gcc -c -g -D__USE_MINGW_ACCESS  conftest.c >&5
+# conftest.c: In function 'main':
+# conftest.c:108:13: error: 'caddr_t' undeclared (first use in this function)
+# so there's likely a bug in GCC configure scripts that define caddr_t for the
+# TARGET compiler if the HOST compiler doesn't have it. This seems to explain
+# why while building for linux this bug was never found.
+# The #define seems to be in 'objdir/gcc/auto-host.h', and sure enough having a
+# look at line 53 of crtstuff.c we have this comment:
+# /* FIXME: Including auto-host is incorrect, but until we have
+#   identified the set of defines that need to go into auto-target.h,
+#   this will have to do.  */
+# To fix this we add an '#undef caddr_t' to crtstuff.c
+sed -i 's/#include "auto-host.h"/#include "auto-host.h"\n#undef caddr_t/' ../$GCC/libgcc/crtstuff.c
+
+$SUDO make all $PARALLEL 2>../log/j.txt		|| quit ":: Error compiling gcc-end"
+
+$SUDO make install 2>../log/k.txt			|| quit ":: Error installing gcc-end"
+
+cd ..
+
+#
+# Part 8: check that all multilibs have been built.
+# This check has been added after an attempt to build arm-miosix-eabi-gcc on Fedora
+# where newlib's multilibs were not built. Gcc produced binaries that failed on
+# Cortex M3 because the first call to a libc function was a blx into ARM instruction
+# set, but since Cortex M3 only has the thumb2 instruction set, the CPU locked.
+# By checking that all multilibs are correctly built, this error can be spotted
+# immediately instead of leaving a gcc that produces wrong code in the wild. 
+
+check_multilibs() {
+	if [[ ! -f $1/libc.a ]]; then
+		quit "::Error, $1/libc.a not installed"
+	fi
+	if [[ ! -f $1/libm.a ]]; then
+		quit "::Error, $1/libm.a not installed"
+	fi
+	if [[ ! -f $1/libg.a ]]; then
+		quit "::Error, $1/libg.a not installed"
+	fi
+	if [[ ! -f $1/libstdc++.a ]]; then
+		quit "::Error, $1/libstdc++.a not installed"
+	fi
+	if [[ ! -f $1/libsupc++.a ]]; then
+		quit "::Error, $1/libsupc++.a not installed"
+	fi 
+}
+
+check_multilibs $INSTALL_DIR/arm-miosix-eabi/arm-miosix-eabi/lib/arm
+check_multilibs $INSTALL_DIR/arm-miosix-eabi/arm-miosix-eabi/lib/thumb/cm3
+check_multilibs $INSTALL_DIR/arm-miosix-eabi/arm-miosix-eabi/lib/thumb/cm4/hardfp/fpv4sp
+check_multilibs $INSTALL_DIR/arm-miosix-eabi/arm-miosix-eabi/lib/thumb/cm7/hardfp/fpv5
+check_multilibs $INSTALL_DIR/arm-miosix-eabi/arm-miosix-eabi/lib/thumb/cm3/pie/single-pic-base
+check_multilibs $INSTALL_DIR/arm-miosix-eabi/arm-miosix-eabi/lib/thumb/cm4/hardfp/fpv4sp/pie/single-pic-base
+check_multilibs $INSTALL_DIR/arm-miosix-eabi/arm-miosix-eabi/lib/thumb/cm7/hardfp/fpv5/pie/single-pic-base
+echo "::All multilibs have been built. OK"
+
+#
+# Part 9: compile and install gdb
+#
+
+# GDB on linux requires ncurses, and not to depend on them when doing a
+# redistributable linux build we build a static version
+if [[ $HOST == *linux* ]]; then
+	cd $NCURSES
+
+	./configure \
+		--build=`./config.guess` \
+		--host=$HOST \
+		--prefix=$LIB_DIR \
+		--enable-static --disable-shared \
+		--without-cxx-binding --without-ada \
+		--without-progs --without-tests \
+		2> ../log/z.ncurses.a.txt				|| quit ":: Error configuring ncurses"
+
+	make all $PARALLEL 2>../log/z.ncurses.b.txt	|| quit ":: Error compiling ncurses"
+
+	make install 2>../log/z.ncursesp.d.txt		|| quit ":: Error installing ncurses"
+
+	cd ..
+fi
+
+cd $GDB
+
+./configure \
+	--build=`../$GCC/config.guess` \
+	--host=$HOST \
+	--target=arm-miosix-eabi \
+	--prefix=$INSTALL_DIR/arm-miosix-eabi \
+	--enable-interwork \
+	--enable-multilib \
+	--disable-werror 2>../log/l.txt			|| quit ":: Error configuring gdb"
+
+make all $PARALLEL 2>../log/m.txt			|| quit ":: Error compiling gdb"
+
+$SUDO make install 2>../log/n.txt			|| quit ":: Error installing gdb"
+
+cd ..
+
+#
+# Part 10: install the postlinker
+#
+cd mx-postlinker
+make CXX="$HOSTCXX" SUFFIX=$EXT				|| quit ":: Error compiling mx-postlinker"
+$SUDO make install CXX="$HOSTCXX" SUFFIX=$EXT \
+	INSTALL_DIR=$INSTALL_DIR/arm-miosix-eabi/bin \
+											|| quit ":: Error installing mx-postlinker"
+make CXX="$HOSTCXX" SUFFIX=$EXT clean
+cd ..
+
+#
+# Part 11: compile and install lpc21isp.c
+#
+
+$HOSTCC -o lpc21isp$EXT lpc21isp.c						|| quit ":: Error compiling lpc21isp"
+
+$SUDO mv lpc21isp$EXT $INSTALL_DIR/arm-miosix-eabi/bin	|| quit ":: Error installing lpc21isp"
+
+#
+# Part 12: install GNU make and rm (windows release only)
+#
+
+if [[ $HOST == *mingw* ]]; then
+
+	cd $MAKE
+
+	./configure \
+	--host=$HOST \
+	--prefix=$INSTALL_DIR/arm-miosix-eabi 2> z.make.a.txt	|| quit ":: Error configuring make"
+
+	make all $PARALLEL 2>../log/z.make.b.txt				|| quit ":: Error compiling make"
+
+	make install 2>../log/z.make.c.txt						|| quit ":: Error installing make"
+
+	cd ..
+
+	# FIXME get a better rm to distribute for windows
+	$HOSTCC -o rm$EXT -O2 windows-installer/rm.c			|| quit ":: Error compiling rm"
+
+	mv rm$EXT $INSTALL_DIR/arm-miosix-eabi/bin				|| quit ":: Error installing rm"
+
+	cp qstlink2.exe $INSTALL_DIR/arm-miosix-eabi/bin		|| quit ":: Error installing qstlink2"
+fi
+
+#
+# Part 13: Final fixups
+#
+
+# Remove this since its name is not arm-miosix-eabi-
+$SUDO rm $INSTALL_DIR/arm-miosix-eabi/bin/arm-miosix-eabi-$GCC$EXT
+
+# Installers, env variables and other stuff
+if [[ $HOST ]]; then
+	# Strip stuff that is very large when having debug symbols to save disk space
+	# This simple thing can easily save 100+MB
+	find $INSTALL_DIR -name cc1$EXT | xargs $HOSTSTRIP
+	find $INSTALL_DIR -name cc1plus$EXT | xargs $HOSTSTRIP
+	find $INSTALL_DIR -name lto1$EXT | xargs $HOSTSTRIP
+
+	if [[ $HOST == *mingw* ]]; then
+		cd windows-installer
+		wine "C:\Program Files\Inno Setup 5\Compil32.exe" /cc MiosixInstaller.iss
+		cd ..
+	else
+		chmod +x linux-installer/installer.sh uninstall.sh
+		# Distribute the installer and uninstaller too
+		cp linux-installer/installer.sh uninstall.sh $INSTALL_DIR/arm-miosix-eabi
+		sh $MAKESELF.run
+		./$MAKESELF/makeself.sh --bzip2 \
+			$INSTALL_DIR/arm-miosix-eabi \
+			MiosixToolchainInstaller.run \
+			"Miosix toolchain for Linux" \
+			"./installer.sh"
+	fi
+else
+	# If sudo not an empty variable, make symlinks to /usr/bin
+	# else make a script to override PATH
+	if [[ $SUDO ]]; then
+		$SUDO ln -s $INSTALL_DIR/arm-miosix-eabi/bin/* /usr/bin
+	else
+		echo '# Used when installing the compiler locally to test it' > env.sh
+		echo '# usage: $ . ./env.sh' >> env.sh
+		echo '# or     $ source ./env.sh' >> env.sh
+		echo "export PATH=`pwd`/gcc/arm-miosix-eabi/bin:"'$PATH' >> env.sh
+		chmod +x env.sh
+	fi
+fi
+
+#
+# The end.
+#
+
+echo ":: Successfully installed"
diff --git a/miosix/_tools/compiler/gcc8.2.0-mp2.1/linux-installer/installer.sh b/miosix/_tools/compiler/gcc8.2.0-mp2.1/linux-installer/installer.sh
new file mode 100644
index 0000000000000000000000000000000000000000..78bc8197de403d55fa48ae41b371000e65e3feb1
--- /dev/null
+++ b/miosix/_tools/compiler/gcc8.2.0-mp2.1/linux-installer/installer.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+echo "Checking if a previous version of the Miosix Toolchain is installed"
+echo "and uninstalling it ..."
+
+./uninstall.sh
+
+quit() {
+	echo $1
+	exit 1
+}
+
+echo "Installing the Miosix toolchain ..."
+sudo cp -R `pwd` /opt/arm-miosix-eabi			|| quit "Error: can't install to /opt"
+sudo ln -s /opt/arm-miosix-eabi/bin/* /usr/bin	|| quit "Error: can't make symlinks to /usr/bin"
diff --git a/miosix/_tools/compiler/gcc8.2.0-mp2.1/lpc21isp_148_src.zip b/miosix/_tools/compiler/gcc8.2.0-mp2.1/lpc21isp_148_src.zip
new file mode 100644
index 0000000000000000000000000000000000000000..ccded9c388e0a9673c9a2fd6733035a325835e34
Binary files /dev/null and b/miosix/_tools/compiler/gcc8.2.0-mp2.1/lpc21isp_148_src.zip differ
diff --git a/miosix/_tools/compiler/gcc8.2.0-mp2.1/mx-postlinker/ELF.h b/miosix/_tools/compiler/gcc8.2.0-mp2.1/mx-postlinker/ELF.h
new file mode 100644
index 0000000000000000000000000000000000000000..8ec65f2013820c9ca6f3197b7997cf96fb0e6373
--- /dev/null
+++ b/miosix/_tools/compiler/gcc8.2.0-mp2.1/mx-postlinker/ELF.h
@@ -0,0 +1,194 @@
+/***************************************************************************
+ *   Copyright (C) 2012 by Luigi Rucco and Terraneo Federico               *
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   This program is distributed in the hope that it will be useful,       *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
+ *   GNU General Public License for more details.                          *
+ *                                                                         *
+ *   You should have received a copy of the GNU General Public License     *
+ *   along with this program; if not, see <http://www.gnu.org/licenses/>   *
+ ***************************************************************************/
+
+#ifndef ELF_TYPES_H
+#define	ELF_TYPES_H
+
+#include <inttypes.h>
+
+// elf-specific types
+typedef uint32_t Elf32_Word;
+typedef int32_t  Elf32_Sword;
+typedef uint16_t Elf32_Half;
+typedef uint32_t Elf32_Off;
+typedef uint32_t Elf32_Addr;
+
+// Size of e_ident in the elf header
+const int EI_NIDENT=16;
+
+/*
+ * Elf header
+ */
+struct Elf32_Ehdr
+{
+    unsigned char e_ident[EI_NIDENT]; // Ident bytes
+    Elf32_Half e_type;                // File type, any of the ET_* constants
+    Elf32_Half e_machine;             // Target machine
+    Elf32_Word e_version;             // File version
+    Elf32_Addr e_entry;               // Start address
+    Elf32_Off e_phoff;                // Phdr file offset
+    Elf32_Off e_shoff;                // Shdr file offset
+    Elf32_Word e_flags;               // File flags
+    Elf32_Half e_ehsize;              // Sizeof ehdr
+    Elf32_Half e_phentsize;           // Sizeof phdr
+    Elf32_Half e_phnum;               // Number phdrs
+    Elf32_Half e_shentsize;           // Sizeof shdr
+    Elf32_Half e_shnum;               // Number shdrs
+    Elf32_Half e_shstrndx;            // Shdr string index
+} __attribute__((packed));
+
+// Values for e_type
+const Elf32_Half ET_NONE = 0; // Unknown type
+const Elf32_Half ET_REL  = 1; // Relocatable
+const Elf32_Half ET_EXEC = 2; // Executable
+const Elf32_Half ET_DYN  = 3; // Shared object
+const Elf32_Half ET_CORE = 4; // Core file
+
+// Values for e_version
+const Elf32_Word EV_CURRENT = 1;
+
+// Values for e_machine
+const Elf32_Half EM_ARM  = 0x28;
+
+// Values for e_flags
+const Elf32_Word EF_ARM_EABI_MASK = 0x05000000;
+const Elf32_Word EF_HAS_ENTRY_POINT = 2;
+
+/*
+ * Elf program header
+ */
+struct Elf32_Phdr
+{
+    Elf32_Word p_type;   // Program header type, any of the PH_* constants
+    Elf32_Off  p_offset; // Segment start offset in file
+    Elf32_Addr p_vaddr;  // Segment virtual address
+    Elf32_Addr p_paddr;  // Segment physical address
+    Elf32_Word p_filesz; // Segment size in file
+    Elf32_Word p_memsz;  // Segment size in memory
+    Elf32_Word p_flags;  // Segment flasgs, any of the PF_* constants
+    Elf32_Word p_align;  // Segment alignment requirements
+} __attribute__((packed));
+
+// Values for p_type
+const Elf32_Word PT_NULL    = 0; // Unused array entry
+const Elf32_Word PT_LOAD    = 1; // Loadable segment
+const Elf32_Word PT_DYNAMIC = 2; // Segment is the dynamic section
+const Elf32_Word PT_INTERP  = 3; // Shared library interpreter
+const Elf32_Word PT_NOTE    = 4; // Auxiliary information
+
+// Values for p_flags
+const Elf32_Word PF_X = 0x1; // Execute
+const Elf32_Word PF_W = 0x2; // Write
+const Elf32_Word PF_R = 0x4; // Read
+
+/*
+ * Entries of the DYNAMIC segment
+ */
+struct Elf32_Dyn
+{
+    Elf32_Sword d_tag;    // Type of entry
+    union {
+        Elf32_Word d_val; // Value of entry, if number
+        Elf32_Addr d_ptr; // Value of entry, if offset into the file
+    } d_un;
+} __attribute__((packed));
+
+// Values for d_tag
+const int DT_NULL         = 0;
+const int DT_NEEDED       = 1;
+const int DT_PLTRELSZ     = 2;
+const int DT_PLTGOT       = 3;
+const int DT_HASH         = 4;
+const int DT_STRTAB       = 5;
+const int DT_SYMTAB       = 6;
+const int DT_RELA         = 7;
+const int DT_RELASZ       = 8;
+const int DT_RELAENT      = 9;
+const int DT_STRSZ        = 10;
+const int DT_SYMENT       = 11;
+const int DT_INIT         = 12;
+const int DT_FINI         = 13;
+const int DT_SONAME       = 14;
+const int DT_RPATH        = 15;
+const int DT_SYMBOLIC     = 16;
+const int DT_REL          = 17;
+const int DT_RELSZ        = 18;
+const int DT_RELENT       = 19;
+const int DT_PLTREL       = 20;
+const int DT_DEBUG        = 21;
+const int DT_TEXTREL      = 22;
+const int DT_JMPREL       = 23;
+const int DT_BINDNOW      = 24;
+const int DT_MX_RAMSIZE   = 0x10000000; //Miosix specific, RAM size
+const int DT_MX_STACKSIZE = 0x10000001; //Miosix specific, STACK size
+const int DT_MX_ABI       = 0x736f694d; //Miosix specific, ABI version
+const unsigned int DV_MX_ABI_V0 = 0x00007869; //Miosix specific, ABI version 0
+
+/*
+ * Relocation entries
+ */
+struct Elf32_Rel
+{
+    Elf32_Addr r_offset;
+    Elf32_Word r_info;
+} __attribute__((packed));
+
+// To extract the two fields of r_info
+#define ELF32_R_SYM(i) ((i)>>8)
+#define ELF32_R_TYPE(i) ((unsigned char)(i))
+
+// Possible values for ELF32_R_TYPE(r_info)
+const unsigned char R_ARM_NONE     = 0;
+const unsigned char R_ARM_ABS32    = 2;
+const unsigned char R_ARM_RELATIVE = 23;
+
+/*
+ * Elf Section header
+ */
+struct Elf32_Shdr
+{  
+  Elf32_Word sh_name;
+  Elf32_Word sh_type;
+  Elf32_Word sh_flags;
+  Elf32_Addr sh_addr;
+  Elf32_Off  sh_offset;
+  Elf32_Word sh_size;
+  Elf32_Word sh_link;
+  Elf32_Word sh_info;
+  Elf32_Word sh_addralign;
+  Elf32_Word sh_entsize;
+};
+
+// sh_type 
+const int SHT_NULL     =   0;               /* inactive */
+const int SHT_PROGBITS =   1;               /* program defined information */
+const int SHT_SYMTAB   =   2;               /* symbol table section */   
+const int SHT_STRTAB   =   3;               /* string table section */
+const int SHT_RELA     =   4;               /* relocation section with addends*/
+const int SHT_HASH     =   5;               /* symbol hash table section */
+const int SHT_DYNAMIC  =   6;               /* dynamic section */
+const int SHT_NOTE     =   7;               /* note section */
+const int SHT_NOBITS   =   8;               /* no space section */
+const int SHT_REL      =   9;               /* relation section without addends */
+const int SHT_SHLIB    =   10;              /* reserved - purpose unknown */
+const int SHT_DYNSYM   =   11;              /* dynamic symbol table section */
+const int SHT_LOPROC   =   0x70000000;      /* reserved range for processor */
+const int SHT_HIPROC   =   0x7fffffff;      /* specific section header types */
+const int SHT_LOUSER   =   0x80000000;      /* reserved range for application */
+const int SHT_HIUSER   =   0xffffffff;      /* specific indexes */
+
+#endif //ELF_TYPES_H
diff --git a/miosix/_tools/compiler/gcc8.2.0-mp2.1/mx-postlinker/Makefile b/miosix/_tools/compiler/gcc8.2.0-mp2.1/mx-postlinker/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..27a6f85538f089e4e8457e7a2ec0823ec5eb54e3
--- /dev/null
+++ b/miosix/_tools/compiler/gcc8.2.0-mp2.1/mx-postlinker/Makefile
@@ -0,0 +1,21 @@
+CXX:= g++
+CXXFLAGS:= -O2 -c
+OBJS:= postlinker.o main.o
+DFLAGS:= -MMD -MP
+
+#create program target
+
+mx-postlinker: $(OBJS)
+	$(CXX) -o $@${SUFFIX} $?
+
+install: mx-postlinker
+	cp mx-postlinker${SUFFIX} $(INSTALL_DIR)
+
+clean:
+	-rm mx-postlinker${SUFFIX} *.o *.d
+
+%.o: %.cpp
+	$(CXX) $(DFLAGS) $(CXXFLAGS) $? -o $@
+
+#pull in dependecy info for existing .o files
+-include $(OBJ:.o=.d)
diff --git a/miosix/_tools/compiler/gcc8.2.0-mp2.1/mx-postlinker/main.cpp b/miosix/_tools/compiler/gcc8.2.0-mp2.1/mx-postlinker/main.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..cbec798f53cb07c0f00e24137070c3f15cf1a260
--- /dev/null
+++ b/miosix/_tools/compiler/gcc8.2.0-mp2.1/mx-postlinker/main.cpp
@@ -0,0 +1,52 @@
+/***************************************************************************
+ *   Copyright (C) 2012 by Luigi Rucco and Terraneo Federico               *
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   This program is distributed in the hope that it will be useful,       *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
+ *   GNU General Public License for more details.                          *
+ *                                                                         *
+ *   You should have received a copy of the GNU General Public License     *
+ *   along with this program; if not, see <http://www.gnu.org/licenses/>   *
+ ***************************************************************************/
+
+#include <iostream>
+#include "postlinker.h"
+
+using namespace std;
+
+int main(int argc, char *argv[])
+{
+    int stackSize=-1;
+    int ramSize=-1;
+    string prog;
+    bool strip=false;
+    for(int i=1;i<argc;i++)
+    {
+        string opt(argv[i]);
+        if(opt=="--strip-sectheader")
+            strip=true;
+        else if(opt.substr(0,10)=="--ramsize=")
+            ramSize=atoi(opt.substr(10).c_str());
+        else if(opt.substr(0,12)=="--stacksize=")
+            stackSize=atoi(opt.substr(12).c_str());
+        else
+            prog=opt;
+    }
+    if(stackSize<=0 || ramSize<=0 || prog=="")
+    {
+        cerr<<"usage:"<<endl<<"mx-postlinker prog.elf --ramsize=<size>"
+            <<" --stacksize=<size> [--strip-sectheader]"<<endl;
+        return 1;
+    }
+    PostLinker pl(prog);
+    if(strip) pl.removeSectionHeaders();
+    pl.setMxTags(stackSize,ramSize);
+    pl.writeFile();
+    return 0;
+}
diff --git a/miosix/_tools/compiler/gcc8.2.0-mp2.1/mx-postlinker/postlinker.cpp b/miosix/_tools/compiler/gcc8.2.0-mp2.1/mx-postlinker/postlinker.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..83fa3b44a42aecc66aa48f431b6176a67c91cb5f
--- /dev/null
+++ b/miosix/_tools/compiler/gcc8.2.0-mp2.1/mx-postlinker/postlinker.cpp
@@ -0,0 +1,120 @@
+/***************************************************************************
+ *   Copyright (C) 2012 by Luigi Rucco and Terraneo Federico               *
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   This program is distributed in the hope that it will be useful,       *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
+ *   GNU General Public License for more details.                          *
+ *                                                                         *
+ *   You should have received a copy of the GNU General Public License     *
+ *   along with this program; if not, see <http://www.gnu.org/licenses/>   *
+ ***************************************************************************/
+
+#include "postlinker.h"
+
+using namespace std;
+
+PostLinker::PostLinker(string s) 
+{
+    elfFile=s;
+    ifstream f(s.c_str(),ios::binary);
+    if(!f.good()) throw runtime_error("File not found");
+    f.seekg(0,ios::end);
+    size=f.tellg();
+    newSize=size;
+    f.seekg(0,ios::beg);
+    int roundedSize=(size+sizeof(Elf32_Word)-1) & ~(sizeof(Elf32_Word)-1);
+    elf=new Elf32_Word[roundedSize/sizeof(Elf32_Word)];
+    memset(elf,0,roundedSize);
+    f.read(reinterpret_cast<char*>(elf),size);
+    static const char magic[EI_NIDENT]={0x7f,'E','L','F',1,1,1};
+    if(size<sizeof(Elf32_Ehdr) || memcmp(getElfHeader()->e_ident,magic,EI_NIDENT))
+        throw runtime_error("Unrecognized format");
+}
+
+void PostLinker::removeSectionHeaders()
+{ 
+    newSize=getElfSection(getElfHeader()->e_shstrndx)->sh_offset;
+    getElfHeader()->e_shoff=0;
+    getElfHeader()->e_shnum=0;
+    getElfHeader()->e_shentsize=0;
+    getElfHeader()->e_shstrndx=0;
+}
+
+void PostLinker::setMxTags(int stackSize, int ramSize)
+{
+    if(stackSize & 0x3)
+        throw runtime_error("stack size not four word aligned");
+    if(ramSize & 0x3)
+        throw runtime_error("ram size not four word aligned");
+    if(getSizeOfDataAndBss()+stackSize>ramSize)
+        throw runtime_error(".data + .bss + stack exceeds ramsize");
+    getElfHeader()->e_type=ET_EXEC; //Force ET_EXEC
+    int ctr=0;
+    pair<Elf32_Dyn *,Elf32_Word> dyn=getDynamic();
+    for(int i=0;i<dyn.second;i++,dyn.first++)
+    {
+        if(dyn.first->d_tag!=DT_NULL) continue;
+        switch(ctr)
+        {
+            case 0:
+                dyn.first->d_tag=DT_MX_RAMSIZE;
+                dyn.first->d_un.d_val=ramSize;
+                break;
+            case 1:
+                dyn.first->d_tag=DT_MX_STACKSIZE;
+                dyn.first->d_un.d_val=stackSize;
+                break;
+            case 2:
+                dyn.first->d_tag=DT_MX_ABI;
+                dyn.first->d_un.d_val=DV_MX_ABI_V0;
+                return;
+        }
+        ctr++;     
+    }
+    throw runtime_error("Not enough null entries");
+}
+
+void PostLinker::writeFile()
+{
+    ofstream o(elfFile.c_str(),ios::binary);
+    o.write(reinterpret_cast<char*>(elf),newSize);
+}
+
+pair<Elf32_Dyn *,Elf32_Word> PostLinker::getDynamic()
+{
+    for(int i=0;i<getElfHeader()->e_phnum;i++)
+    {
+        Elf32_Phdr* phdr=getElfSegment(i);
+        if(phdr->p_type!=PT_DYNAMIC) continue;
+        unsigned char *base=reinterpret_cast<unsigned char*>(elf);
+        unsigned int offset=phdr->p_offset;
+        if(offset+phdr->p_memsz>size)
+            throw std::runtime_error("Dynamic outside file bounds");
+        return make_pair(reinterpret_cast<Elf32_Dyn*>(base+offset),
+                phdr->p_memsz/sizeof(Elf32_Dyn));
+    }
+    throw runtime_error("Dynamic not found");
+}
+
+int PostLinker::getSizeOfDataAndBss()
+{
+    for(int i=0;i<getElfHeader()->e_phnum;i++)
+    {
+        Elf32_Phdr* phdr=getElfSegment(i);
+        if(phdr->p_type!=PT_LOAD) continue;
+        if(!(phdr->p_flags & PF_W) || (phdr->p_flags & PF_X)) continue;
+        return phdr->p_memsz;
+    }
+    throw runtime_error(".data/.bss not found");
+}
+
+PostLinker::~PostLinker() 
+{
+    delete[] elf;
+}
diff --git a/miosix/_tools/compiler/gcc8.2.0-mp2.1/mx-postlinker/postlinker.h b/miosix/_tools/compiler/gcc8.2.0-mp2.1/mx-postlinker/postlinker.h
new file mode 100644
index 0000000000000000000000000000000000000000..24b205706196f7bedab884c899cfd821e7f27b58
--- /dev/null
+++ b/miosix/_tools/compiler/gcc8.2.0-mp2.1/mx-postlinker/postlinker.h
@@ -0,0 +1,127 @@
+/***************************************************************************
+ *   Copyright (C) 2012 by Luigi Rucco and Terraneo Federico               *
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   This program is distributed in the hope that it will be useful,       *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
+ *   GNU General Public License for more details.                          *
+ *                                                                         *
+ *   You should have received a copy of the GNU General Public License     *
+ *   along with this program; if not, see <http://www.gnu.org/licenses/>   *
+ ***************************************************************************/
+
+#ifndef POSTLINKER_H
+#define	POSTLINKER_H
+
+#include "ELF.h"
+#include <cstring>
+#include <iostream>
+#include <exception>
+#include <stdexcept>
+#include <utility>
+#include <cstdlib>
+#include <fstream>
+
+/**
+ * This class performs transformations on an elf file,
+ * including stripping the section header and associated
+ * string table, and setting some Miosix specific options
+ * in the dynamic segment
+ */
+class PostLinker
+{
+public:
+    /**
+     * Constructor
+     * \param s elf file name 
+     */
+    PostLinker(std::string s);
+
+    /**
+     * Remove the section header and string table from the elf file
+     */
+    void removeSectionHeaders();
+
+    /**
+     * Set the Miosix specific options in the dynamic segment
+     * \param stackSize size that the runtime linker-loader will reserve for
+     * the stack of the process
+     * \param ramSize size of the process RAM image that the runtime
+     * linker-loader will allocate for the process
+     */
+    void setMxTags(int stackSize, int ramSize);
+
+    /**
+     * Write changes to disk
+     */
+    void writeFile();
+
+    /**
+     * Destructor
+     */
+    ~PostLinker();
+    
+private:
+    PostLinker(const PostLinker&);
+    PostLinker& operator= (const PostLinker&);
+
+    /**
+     * \return the elf header
+     */
+    Elf32_Ehdr* getElfHeader()
+    {
+        return reinterpret_cast<Elf32_Ehdr*>(elf);
+    }
+
+    /**
+     * Allows to retrieve a section header given its index
+     * \param index a index from 0 to getElfHeader()->e_shnum
+     * \return the corresponding section header
+     */
+    Elf32_Shdr* getElfSection(int index)
+    {
+        unsigned char *base=reinterpret_cast<unsigned char*>(elf);
+        unsigned int offset=getElfHeader()->e_shoff+index*sizeof(Elf32_Shdr);
+        if(offset+sizeof(Elf32_Shdr)>size)
+            throw std::runtime_error("Elf section outside file bounds");
+        return reinterpret_cast<Elf32_Shdr*>(base+offset);
+    }
+    
+    /**
+     * Allows to retrieve a segment header given its index
+     * \param index a index from 0 to getElfHeader()->e_phnum
+     * \return the corresponding secgment header
+     */
+    Elf32_Phdr *getElfSegment(int index)
+    {
+        unsigned char *base=reinterpret_cast<unsigned char*>(elf);
+        unsigned int offset=getElfHeader()->e_phoff+index*sizeof(Elf32_Phdr);
+        if(offset+sizeof(Elf32_Phdr)>size)
+            throw std::runtime_error("Elf segment outside file bounds");
+        return reinterpret_cast<Elf32_Phdr*>(base+offset);
+    }
+    
+    /**
+     * \return the size of the segment that is loaded in RAM, with
+     * .data and .bss
+     */
+    int getSizeOfDataAndBss();
+    
+    /**
+     * \return a pair with a pointer to the first element in the dynamic
+     * segment and the number of entries in the dynamic segment
+     */
+    std::pair<Elf32_Dyn *,Elf32_Word> getDynamic();
+    
+    Elf32_Word* elf;
+    int size;
+    int newSize;
+    std::string elfFile;
+};
+
+#endif	//POSTLINKER_H
diff --git a/miosix/_tools/compiler/gcc8.2.0-mp2.1/patches/TODO.txt b/miosix/_tools/compiler/gcc8.2.0-mp2.1/patches/TODO.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ec747f533058b7725eb5c2a65499681a4e80cd09
--- /dev/null
+++ b/miosix/_tools/compiler/gcc8.2.0-mp2.1/patches/TODO.txt
@@ -0,0 +1,99 @@
+
+Note:
+- older kernels CANNOT use the new compiler due to at least __throw_out_of_range_fmt
+  being added, hence breaking compatibility
+- can newer kernels continue using the old compiler? We'll see
+
+TODO: install-script.sh
+=======================
+
+GDB not tested, may not compile
+Release mode and compiling for windows not tested, may not work
+
+TODO: gcc.patch
+===============
+
+NOT APPLIED, without those, armv7 use of atomic ops in libstdc++ is expected to be slower
+Thread safety of libstdc++ on all platforms has to be reavaluated
+libstdc++-v3/config/cpu/arm/atomicity.h
+libstdc++-v3/config/cpu/arm/atomic_word.h
+
+NOT APPLIED, reevaluate why is it needed
+gcc-8.2.0/libstdc++-v3/include/bits/fstream.tcc
+
+Test emergency buffer size is still enough
+gcc-8.2.0/libstdc++-v3/libsupc++/eh_alloc.cc
+
+NOT APPLIED Do not patch these, patch eh_teminate.cc instead, may catch more use cases!
+Also update miosix as neeed and keep the old redeclaration for the previous compiler support
+gcc-8.2.0/libstdc++-v3/libsupc++/pure.cc
+
+Extend Miosix to add support for __throw_out_of_range_fmt
+Investigate why __throw_ios_failure, __throw_system_error, __throw_future_error
+__throw_bad_function_call no longer exist!
+gcc-8.2.0/libstdc++-v3/src/c++11/functexcept.cc
+
+New files using gthread_key not yet part of patch
+libstdc++-v3/src/c++11/condition_variable.cc:    __gthread_key_t key;
+libstdc++-v3/libsupc++/atexit_thread.cc:  __gthread_key_t key;
+
+TODO: force-got.patch
+=====================
+
+Entire patch not yet ported
+
+
+TODO: newlib.patch
+==================
+
+Test new _REENT_GLOBAL_STDIO_STREAMS
+/*
+ * Newlib has this feature of having one set of {stdin,stdout,stderr} per
+ * _reent structure. This has mainly two advantages:
+ * - writing to stdout is thread safe without the need for file locking,
+ *   as each thread has its own FILE struct and therefore its buffer,
+ *   so two threads can't stomp each other due to a shared stdout buffer.
+ * - it allows to implement 'threads as if they were processes', each with
+ *   its own fully independent set of stdin/out/err file descriptors.
+ * However, this also has its own disadvantages:
+ * - It may create a race condition when doing a
+ *   fclose(stdout);
+ *   fopen(stdout,...);
+ *   Note that this argument applies also to stdin and stderr. In this case
+ *   if for any reason the fopen does not reuse the very same fd that was
+ *   closed (such as a context switch between the calls, and another thread
+ *   'stealing' the low-numbered file descriptor), then *ALL* the other
+ *   threads in the system, including those that will be created after the
+ *   fact, will write/read to the wrong file descriptor.
+ * - In a C library for embedded systems, this wastes a considerable amount
+ *   of RAM. First of all, FILE is a big struct, ~100Bytes, so for every
+ *   thread that you create that uses stdio, you pay ~300Bytes. And then
+ *   there's file buffering. The default BUFSIZ is 1024Bytes, so the first
+ *   printf you make in a thread adds that amount of RAM. Of course, if the
+ *   thread also reads from stdin, a second buffer is needed.
+ * 
+ * Considering that neither of the advantages applies to Miosix (as it
+ * already implements file locking and doesn't intend to let threads have
+ * separate stdin/stdout/stderr), this only has disadvantages.
+ * Therefore for Miosix this has been changed, by making stdin, stdout
+ * and stderr always point to _GLOBAL_REENT (and changing __sinit() to only
+ * initialize _stdin,_stdout and _stderr of _GLOBAL_REENT).
+ * 
+ * The only thing that has been left out, is to completely remove stdio
+ * stuff from _reent (this means _stdin, _stdout, _stderr, __sdidinit,
+ * __cleanup and _sglue). This would reduce the size of _reent by 24 bytes,
+ * but woul require complex changes and is therefore postponed.
+ */
+
+Not added last part of patch,seems unnecessary as _REENT_ONLY is not defined
+anyway (lines 823..837 old patch?)
+patching file newlib-3.0.0.20180802/newlib/libc/include/sys/reent.h
+
+TODO: reevaluate if the only small if remaining is this patch is still needed
+patching file newlib-3.0.0.20180802/newlib/libc/reent/reent.c
+
+TODO: the old patch had a memory leak comment, is it still relevant?
+patching file newlib-3.0.0.20180802/newlib/libc/stdio/findfp.c
+
+TODO: recheck the entire atexit stuff looking at the patches that move atexit out of reent
+patching file newlib-3.0.0.20180802/newlib/libc/stdlib/__atexit.c
diff --git a/miosix/_tools/compiler/gcc8.2.0-mp2.1/patches/gcc.patch b/miosix/_tools/compiler/gcc8.2.0-mp2.1/patches/gcc.patch
new file mode 100644
index 0000000000000000000000000000000000000000..13f96a458ad87f04acd634c655586480d67ef65c
--- /dev/null
+++ b/miosix/_tools/compiler/gcc8.2.0-mp2.1/patches/gcc.patch
@@ -0,0 +1,445 @@
+diff -ruN gcc-8.2.0-old/config/gthr.m4 gcc-8.2.0/config/gthr.m4
+--- gcc-8.2.0-old/config/gthr.m4	2012-10-15 15:10:30.000000000 +0200
++++ gcc-8.2.0/config/gthr.m4	2018-08-26 16:26:15.031486302 +0200
+@@ -14,6 +14,7 @@
+     aix)	thread_header=config/rs6000/gthr-aix.h ;;
+     dce)	thread_header=config/pa/gthr-dce.h ;;
+     lynx)	thread_header=config/gthr-lynx.h ;;
++    miosix)	thread_header=config/gthr-miosix.h ;;
+     mipssde)	thread_header=config/mips/gthr-mipssde.h ;;
+     posix)	thread_header=gthr-posix.h ;;
+     rtems)	thread_header=config/gthr-rtems.h ;;
+diff -ruN gcc-8.2.0-old/gcc/config/arm/miosix-eabi.h gcc-8.2.0/gcc/config/arm/miosix-eabi.h
+--- gcc-8.2.0-old/gcc/config/arm/miosix-eabi.h	1970-01-01 01:00:00.000000000 +0100
++++ gcc-8.2.0/gcc/config/arm/miosix-eabi.h	2018-08-26 16:26:15.035486303 +0200
+@@ -0,0 +1,19 @@
++
++/*
++ * RATIONALE: adding builtin_define to always define _MIOSIX
++ * - when libgcc/libstdc++/newlib are compiled, as there are some #ifdef _MIOSIX
++ * - when Miosix processes are compiled, to allow #ifdef _MIOSIX
++ * Also add versioning to miosix-specific compiler patches.
++ * Note: intentionally breaking compatibility with previous compiler patches
++ * which defined _MIOSIX_GCC_PATCH_VERSION instead of _MIOSIX_GCC_PATCH_MAJOR
++ */
++
++#undef TARGET_OS_CPP_BUILTINS
++#define TARGET_OS_CPP_BUILTINS()         \
++    do {                                 \
++        TARGET_BPABI_CPP_BUILTINS();     \
++        builtin_define("_MIOSIX");       \
++        builtin_define("_MIOSIX_GCC_PATCH_MAJOR=2"); \
++        builtin_define("_MIOSIX_GCC_PATCH_MINOR=1"); \
++        builtin_assert("system=miosix"); \
++    } while(false)
+diff -ruN gcc-8.2.0-old/gcc/config/arm/t-arm-miosix gcc-8.2.0/gcc/config/arm/t-arm-miosix
+--- gcc-8.2.0-old/gcc/config/arm/t-arm-miosix	1970-01-01 01:00:00.000000000 +0100
++++ gcc-8.2.0/gcc/config/arm/t-arm-miosix	2018-08-26 16:26:15.035486303 +0200
+@@ -0,0 +1,49 @@
++
++## RATIONALE: build multilibs for ARM, Cortex-Mx, and the pie versions
++
++## To update this file, first have a look in t-arm-elf to see if some new
++## variable has been added
++## According to https://gcc.gnu.org/onlinedocs/gccint/Target-Fragment.html
++## MULTILIB_REQUIRED has been introduced replacing the awkwardly long
++## MULTILIB_EXCEPTIONS list.
++
++MULTILIB_OPTIONS     =
++MULTILIB_DIRNAMES    =
++MULTILIB_MATCHES     =
++MULTILIB_EXCEPTIONS  = 
++MULTILIB_REQUIRED    =
++MULTILIB_REUSE       =
++
++MULTILIB_OPTIONS    += marm/mthumb
++MULTILIB_DIRNAMES   += arm thumb
++
++MULTILIB_OPTIONS    += mcpu=cortex-m3/mcpu=cortex-m4/mcpu=cortex-m7
++MULTILIB_DIRNAMES   += cm3 cm4 cm7
++
++MULTILIB_OPTIONS    += mfloat-abi=hard
++MULTILIB_DIRNAMES   += hardfp
++
++MULTILIB_OPTIONS    += mfpu=fpv4-sp-d16/mfpu=fpv5-d16
++MULTILIB_DIRNAMES   += fpv4sp fpv5
++
++MULTILIB_OPTIONS    += fpie msingle-pic-base
++MULTILIB_DIRNAMES   += pie single-pic-base
++
++## The following multilibs will be built:
++MULTILIB_REQUIRED   += marm
++MULTILIB_REQUIRED   += mthumb/mcpu=cortex-m3
++MULTILIB_REQUIRED   += mthumb/mcpu=cortex-m4/mfloat-abi=hard/mfpu=fpv4-sp-d16
++MULTILIB_REQUIRED   += mthumb/mcpu=cortex-m7/mfloat-abi=hard/mfpu=fpv5-d16
++MULTILIB_REQUIRED   += mthumb/mcpu=cortex-m3/fpie/msingle-pic-base
++MULTILIB_REQUIRED   += mthumb/mcpu=cortex-m4/mfloat-abi=hard/mfpu=fpv4-sp-d16/fpie/msingle-pic-base
++MULTILIB_REQUIRED   += mthumb/mcpu=cortex-m7/mfloat-abi=hard/mfpu=fpv5-d16/fpie/msingle-pic-base
++
++# The output produced by 'arm-miosix-eabi-gcc --print-multi-lib' is
++# .;
++# arm;@marm
++# thumb/cm3;@mthumb@mcpu=cortex-m3
++# thumb/cm3/pie/single-pic-base;@mthumb@mcpu=cortex-m3@fpie@msingle-pic-base
++# thumb/cm4/hardfp/fpv4sp;@mthumb@mcpu=cortex-m4@mfloat-abi=hard@mfpu=fpv4-sp-d16
++# thumb/cm4/hardfp/fpv4sp/pie/single-pic-base;@mthumb@mcpu=cortex-m4@mfloat-abi=hard@mfpu=fpv4-sp-d16@fpie@msingle-pic-base
++# thumb/cm7/hardfp/fpv5;@mthumb@mcpu=cortex-m7@mfloat-abi=hard@mfpu=fpv5-d16
++# thumb/cm7/hardfp/fpv5/pie/single-pic-base;@mthumb@mcpu=cortex-m7@mfloat-abi=hard@mfpu=fpv5-d16@fpie@msingle-pic-base
+diff -ruN gcc-8.2.0-old/gcc/config.gcc gcc-8.2.0/gcc/config.gcc
+--- gcc-8.2.0-old/gcc/config.gcc	2018-06-25 21:34:01.000000000 +0200
++++ gcc-8.2.0/gcc/config.gcc	2018-08-26 16:26:15.035486303 +0200
+@@ -1179,6 +1179,13 @@
+ 	tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf"
+ 	target_cpu_cname="arm7tdmi"
+ 	case ${target} in
++	arm*-miosix-eabi*)
++	  # Copy options from arm*-*-eabi*, add the miosix-specific ones
++	  # and make sure arm/t-arm-elf is not added to tmake_file
++	  tm_file="${tm_file} newlib-stdint.h arm/miosix-eabi.h"  # Append
++	  tmake_file="arm/t-arm arm/t-arm-miosix arm/t-bpabi"     # Replace
++	  use_gcc_stdint=wrap
++	  ;;
+ 	arm*-*-eabi*)
+ 	  tm_file="$tm_file newlib-stdint.h"
+ 	  tmake_file="${tmake_file} arm/t-bpabi"
+diff -ruN gcc-8.2.0-old/gcc/configure gcc-8.2.0/gcc/configure
+--- gcc-8.2.0-old/gcc/configure	2018-04-18 11:46:58.000000000 +0200
++++ gcc-8.2.0/gcc/configure	2018-08-26 16:26:15.035486303 +0200
+@@ -11692,7 +11692,7 @@
+     # default
+     target_thread_file='single'
+     ;;
+-  aix | dce | lynx | mipssde | posix | rtems | \
++  aix | dce | lynx | miosix | mipssde | posix | rtems | \
+   single | tpf | vxworks | win32)
+     target_thread_file=${enable_threads}
+     ;;
+diff -ruN gcc-8.2.0-old/gcc/configure.ac gcc-8.2.0/gcc/configure.ac
+--- gcc-8.2.0-old/gcc/configure.ac	2018-04-18 11:46:58.000000000 +0200
++++ gcc-8.2.0/gcc/configure.ac	2018-08-26 16:26:15.035486303 +0200
+@@ -1611,7 +1611,7 @@
+     # default
+     target_thread_file='single'
+     ;;
+-  aix | dce | lynx | mipssde | posix | rtems | \
++  aix | dce | lynx | miosix | mipssde | posix | rtems | \
+   single | tpf | vxworks | win32)
+     target_thread_file=${enable_threads}
+     ;;
+diff -ruN gcc-8.2.0-old/libgcc/config/gthr-miosix.h gcc-8.2.0/libgcc/config/gthr-miosix.h
+--- gcc-8.2.0-old/libgcc/config/gthr-miosix.h	1970-01-01 01:00:00.000000000 +0100
++++ gcc-8.2.0/libgcc/config/gthr-miosix.h	2018-08-26 16:26:15.035486303 +0200
+@@ -0,0 +1,55 @@
++
++// RATIONALE: make the code generated by GCC thread safe by providing a thread model
++
++#ifndef GCC_GHTR_MIOSIX_H
++#define GCC_GHTR_MIOSIX_H
++
++#include <pthread.h>
++#include <unistd.h>
++
++//Note to self: gthr.h contains useful information
++//on how a gthr-xxx.h should look like
++
++#define __GTHREADS 1
++#define __GTHREAD_HAS_COND 1
++//#define __GTHREADS_CXX0X 1 //Not yet, missing __gthread_*_timed*
++
++//In Miosix, threads are always enabled, period.
++#define __gthread_active_p() 1
++
++typedef pthread_t       __gthread_t;
++typedef pthread_key_t   __gthread_key_t; //This actually is unimplemented
++typedef pthread_once_t  __gthread_once_t;
++typedef pthread_mutex_t __gthread_mutex_t;
++typedef pthread_mutex_t __gthread_recursive_mutex_t;
++typedef pthread_cond_t  __gthread_cond_t;
++typedef struct timespec __gthread_time_t;
++
++#define __GTHREAD_MUTEX_INIT           PTHREAD_MUTEX_INITIALIZER
++#define __GTHREAD_ONCE_INIT            PTHREAD_ONCE_INIT
++#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_MUTEX_RECURSIVE_INITIALIZER_NP
++#define __GTHREAD_COND_INIT            PTHREAD_COND_INITIALIZER
++#define __GTHREAD_TIME_INIT            {0,0}
++
++#define __gthread_once                    pthread_once
++#define __gthread_mutex_destroy           pthread_mutex_destroy
++#define __gthread_mutex_lock              pthread_mutex_lock
++#define __gthread_mutex_trylock           pthread_mutex_trylock
++#define __gthread_mutex_unlock            pthread_mutex_unlock
++#define __gthread_recursive_mutex_lock    pthread_mutex_lock
++#define __gthread_recursive_mutex_trylock pthread_mutex_trylock
++#define __gthread_recursive_mutex_unlock  pthread_mutex_unlock
++#define __gthread_cond_broadcast          pthread_cond_broadcast
++#define __gthread_cond_wait               pthread_cond_wait
++#define __gthread_cond_wait_recursive     pthread_cond_wait
++
++//These actually aren't implemented in Miosix, so code trying to use these will
++//fail to link, and for now it's the "desired" behaviour (better than failing
++//at runtime, at least). They are used somewhere in libstdc++ too, but it can
++//be patched to remove those uses.
++#define __gthread_key_create              pthread_key_create
++#define __gthread_key_delete              pthread_key_delete
++#define __gthread_getspecific             pthread_getspecific
++#define __gthread_setspecific             pthread_setspecific
++
++#endif //GCC_GHTR_MIOSIX_H
+diff -ruN gcc-8.2.0-old/libgcc/configure gcc-8.2.0/libgcc/configure
+--- gcc-8.2.0-old/libgcc/configure	2018-04-24 18:45:26.000000000 +0200
++++ gcc-8.2.0/libgcc/configure	2018-08-26 16:26:15.035486303 +0200
+@@ -5444,6 +5444,7 @@
+     aix)	thread_header=config/rs6000/gthr-aix.h ;;
+     dce)	thread_header=config/pa/gthr-dce.h ;;
+     lynx)	thread_header=config/gthr-lynx.h ;;
++    miosix)	thread_header=config/gthr-miosix.h ;;
+     mipssde)	thread_header=config/mips/gthr-mipssde.h ;;
+     posix)	thread_header=gthr-posix.h ;;
+     rtems)	thread_header=config/gthr-rtems.h ;;
+diff -ruN gcc-8.2.0-old/libgcc/unwind-sjlj.c gcc-8.2.0/libgcc/unwind-sjlj.c
+--- gcc-8.2.0-old/libgcc/unwind-sjlj.c	2018-01-03 11:03:58.000000000 +0100
++++ gcc-8.2.0/libgcc/unwind-sjlj.c	2018-08-26 16:26:15.039486303 +0200
+@@ -91,7 +91,14 @@
+   _Unwind_Personality_Fn personality;
+ } _Unwind_FrameState;
+ 
+-
++
++// RATIONALE: _Miosix_set_sjlj_ptr and _Miosix_get_sjlj_ptr make
++// exception handling thread-safe even if Miosix does not support TLS
++// NOTE: C++ uses exception support is in eh_globals.cc, is there any code that
++// triggers these to be called? Otherwise we may either keep them if Miosix
++// will support architectures with sjlj exceptions, or even remove this patch
++#ifndef _MIOSIX
++
+ /* Manage the chain of registered function contexts.  */
+ 
+ /* Single threaded fallback chain.  */
+@@ -163,6 +170,32 @@
+     fc_static = fc;
+ }
+ 
++#else //_MIOSIX
++
++void _Miosix_set_sjlj_ptr(void* ptr);
++void *_Miosix_get_sjlj_ptr();
++
++void
++_Unwind_SjLj_Register (struct SjLj_Function_Context *fc)
++{
++  fc->prev=_Miosix_get_sjlj_ptr();
++  _Miosix_set_sjlj_ptr(fc);
++}
++
++static inline struct SjLj_Function_Context *
++_Unwind_SjLj_GetContext (void)
++{
++  return _Miosix_get_sjlj_ptr();
++}
++
++static inline void
++_Unwind_SjLj_SetContext (struct SjLj_Function_Context *fc)
++{
++  _Miosix_set_sjlj_ptr(fc);
++}
++
++#endif //_MIOSIX
++
+ void
+ _Unwind_SjLj_Unregister (struct SjLj_Function_Context *fc)
+ {
+diff -ruN gcc-8.2.0-old/libstdc++-v3/configure gcc-8.2.0/libstdc++-v3/configure
+--- gcc-8.2.0-old/libstdc++-v3/configure	2018-07-04 13:45:51.000000000 +0200
++++ gcc-8.2.0/libstdc++-v3/configure	2018-08-27 00:47:26.361041133 +0200
+@@ -15181,6 +15181,7 @@
+     dce)	thread_header=config/pa/gthr-dce.h ;;
+     lynx)	thread_header=config/gthr-lynx.h ;;
+     mipssde)	thread_header=config/mips/gthr-mipssde.h ;;
++    miosix)	thread_header=config/gthr-miosix.h ;;
+     posix)	thread_header=gthr-posix.h ;;
+     rtems)	thread_header=config/gthr-rtems.h ;;
+     single)	thread_header=gthr-single.h ;;
+diff -ruN gcc-8.2.0-old/libstdc++-v3/libsupc++/eh_alloc.cc gcc-8.2.0/libstdc++-v3/libsupc++/eh_alloc.cc
+--- gcc-8.2.0-old/libstdc++-v3/libsupc++/eh_alloc.cc	2018-01-03 11:03:58.000000000 +0100
++++ gcc-8.2.0/libstdc++-v3/libsupc++/eh_alloc.cc	2018-08-26 16:26:15.039486303 +0200
+@@ -73,6 +73,14 @@
+ # define EMERGENCY_OBJ_COUNT	4
+ #endif
+ 
++//RATIONALE: reduced emergency buffer for ARM microcontrollers, saves RAM
++#ifdef _MIOSIX
++# undef EMERGENCY_OBJ_SIZE
++# undef EMERGENCY_OBJ_COUNT
++# define EMERGENCY_OBJ_SIZE  160
++# define EMERGENCY_OBJ_COUNT 3
++#endif
++
+ namespace __gnu_cxx
+ {
+   void __freeres();
+diff -ruN gcc-8.2.0-old/libstdc++-v3/libsupc++/eh_globals.cc gcc-8.2.0/libstdc++-v3/libsupc++/eh_globals.cc
+--- gcc-8.2.0-old/libstdc++-v3/libsupc++/eh_globals.cc	2018-01-03 11:03:58.000000000 +0100
++++ gcc-8.2.0/libstdc++-v3/libsupc++/eh_globals.cc	2018-08-26 16:26:15.039486303 +0200
+@@ -41,6 +41,11 @@
+ 
+ using namespace __cxxabiv1;
+ 
++// RATIONALE: __cxa_get_globals() and __cxa_get_globals_fast() have been made
++// Miosix syscalls since the __cxa_eh_globals struct needs to be provided on
++// a per-thread basis but Miosix does not support TLS
++#ifndef _MIOSIX
++
+ #if _GLIBCXX_HAVE_TLS
+ 
+ namespace
+@@ -157,3 +162,5 @@
+ #endif
+ 
+ #endif
++
++#endif //_MIOSIX
+diff -ruN gcc-8.2.0-old/libstdc++-v3/libsupc++/guard.cc gcc-8.2.0/libstdc++-v3/libsupc++/guard.cc
+--- gcc-8.2.0-old/libstdc++-v3/libsupc++/guard.cc	2018-01-03 11:03:58.000000000 +0100
++++ gcc-8.2.0/libstdc++-v3/libsupc++/guard.cc	2018-08-26 16:26:15.039486303 +0200
+@@ -190,6 +190,11 @@
+ //  | _GLIBCXX_GUARD_WAITING_BIT) and some other threads are waiting until
+ //				  it is initialized.
+ 
++// RATIONALE: __cxa_guard_[acquire|release|abort] have been made Miosix syscalls
++// as static object initialization can occur also before the kernel is started,
++// therefore at a time when using pthread_mutexe and pthread_cond is unsafe.
++#ifndef _MIOSIX
++
+ namespace __cxxabiv1 
+ {
+ #ifdef _GLIBCXX_USE_FUTEX
+@@ -425,3 +430,5 @@
+ #endif
+   }
+ }
++
++#endif //_MIOSIX
+diff -ruN gcc-8.2.0-old/libstdc++-v3/libsupc++/vterminate.cc gcc-8.2.0/libstdc++-v3/libsupc++/vterminate.cc
+--- gcc-8.2.0-old/libstdc++-v3/libsupc++/vterminate.cc	2018-01-03 11:03:58.000000000 +0100
++++ gcc-8.2.0/libstdc++-v3/libsupc++/vterminate.cc	2018-08-26 16:26:15.039486303 +0200
+@@ -34,6 +34,14 @@
+ using namespace std;
+ using namespace abi;
+ 
++// RATIONALE: add __attribute__((weak)) to make __verbose_terminate_handler
++// overridable to save the code size of __cxa_demangle
++#ifdef _MIOSIX
++#define AW __attribute__((weak))
++#else
++#define AW
++#endif
++
+ namespace __gnu_cxx
+ {
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+@@ -41,7 +49,7 @@
+   // A replacement for the standard terminate_handler which prints
+   // more information about the terminating exception (if any) on
+   // stderr.
+-  void __verbose_terminate_handler()
++  void AW __verbose_terminate_handler()
+   {
+     static bool terminating;
+     if (terminating)
+diff -ruN gcc-8.2.0-old/libstdc++-v3/src/c++11/functexcept.cc gcc-8.2.0/libstdc++-v3/src/c++11/functexcept.cc
+--- gcc-8.2.0-old/libstdc++-v3/src/c++11/functexcept.cc	2018-01-03 11:03:58.000000000 +0100
++++ gcc-8.2.0/libstdc++-v3/src/c++11/functexcept.cc	2018-08-26 16:26:15.039486303 +0200
+@@ -35,6 +35,15 @@
+ # define _(msgid)   (msgid)
+ #endif
+ 
++// RATIONALE: adding __attribute__((weak)) to these functions allows redefining
++// them if compiling without exceptions to avoid pulling in exception support
++// and save code size
++#ifdef _MIOSIX
++#define AW __attribute__((weak))
++#else
++#define AW
++#endif
++
+ namespace __gnu_cxx
+ {
+   int __snprintf_lite(char *__buf, size_t __bufsize, const char *__fmt,
+@@ -46,43 +55,43 @@
+ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+ 
+   void
+-  __throw_bad_exception()
++  AW __throw_bad_exception()
+   { _GLIBCXX_THROW_OR_ABORT(bad_exception()); }
+ 
+   void
+-  __throw_bad_alloc()
++  AW __throw_bad_alloc()
+   { _GLIBCXX_THROW_OR_ABORT(bad_alloc()); }
+ 
+   void
+-  __throw_bad_cast()
++  AW __throw_bad_cast()
+   { _GLIBCXX_THROW_OR_ABORT(bad_cast()); }
+ 
+   void
+-  __throw_bad_typeid()
++  AW __throw_bad_typeid()
+   { _GLIBCXX_THROW_OR_ABORT(bad_typeid()); }
+ 
+   void
+-  __throw_logic_error(const char* __s __attribute__((unused)))
++  AW __throw_logic_error(const char* __s __attribute__((unused)))
+   { _GLIBCXX_THROW_OR_ABORT(logic_error(_(__s))); }
+ 
+   void
+-  __throw_domain_error(const char* __s __attribute__((unused)))
++  AW __throw_domain_error(const char* __s __attribute__((unused)))
+   { _GLIBCXX_THROW_OR_ABORT(domain_error(_(__s))); }
+ 
+   void
+-  __throw_invalid_argument(const char* __s __attribute__((unused)))
++  AW __throw_invalid_argument(const char* __s __attribute__((unused)))
+   { _GLIBCXX_THROW_OR_ABORT(invalid_argument(_(__s))); }
+ 
+   void
+-  __throw_length_error(const char* __s __attribute__((unused)))
++  AW __throw_length_error(const char* __s __attribute__((unused)))
+   { _GLIBCXX_THROW_OR_ABORT(length_error(_(__s))); }
+ 
+   void
+-  __throw_out_of_range(const char* __s __attribute__((unused)))
++  AW __throw_out_of_range(const char* __s __attribute__((unused)))
+   { _GLIBCXX_THROW_OR_ABORT(out_of_range(_(__s))); }
+ 
+   void
+-  __throw_out_of_range_fmt(const char* __fmt, ...)
++  AW __throw_out_of_range_fmt(const char* __fmt, ...)
+   {
+     const size_t __len = __builtin_strlen(__fmt);
+     // We expect at most 2 numbers, and 1 short string. The additional
+@@ -98,19 +107,19 @@
+   }
+ 
+   void
+-  __throw_runtime_error(const char* __s __attribute__((unused)))
++  AW __throw_runtime_error(const char* __s __attribute__((unused)))
+   { _GLIBCXX_THROW_OR_ABORT(runtime_error(_(__s))); }
+ 
+   void
+-  __throw_range_error(const char* __s __attribute__((unused)))
++  AW __throw_range_error(const char* __s __attribute__((unused)))
+   { _GLIBCXX_THROW_OR_ABORT(range_error(_(__s))); }
+ 
+   void
+-  __throw_overflow_error(const char* __s __attribute__((unused)))
++  AW __throw_overflow_error(const char* __s __attribute__((unused)))
+   { _GLIBCXX_THROW_OR_ABORT(overflow_error(_(__s))); }
+ 
+   void
+-  __throw_underflow_error(const char* __s __attribute__((unused)))
++  AW __throw_underflow_error(const char* __s __attribute__((unused)))
+   { _GLIBCXX_THROW_OR_ABORT(underflow_error(_(__s))); }
+ 
+ _GLIBCXX_END_NAMESPACE_VERSION
diff --git a/miosix/_tools/compiler/gcc8.2.0-mp2.1/patches/gcc.txt b/miosix/_tools/compiler/gcc8.2.0-mp2.1/patches/gcc.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bf031c33bc878e6da415bfaa84451a925e78cdbe
--- /dev/null
+++ b/miosix/_tools/compiler/gcc8.2.0-mp2.1/patches/gcc.txt
@@ -0,0 +1,73 @@
+Rationale for gcc patch
+-----------------------
+
+This patch does the following:
+
+1) It modifies gcc/config/arm/t-arm-elf to enable multilibs for the thumb2
+   instruction set which are disabled by default. This is required to build
+   code for Cortex M0, Cortex-M3 and Cortex-M4. It also enables
+   fpic/msingle-pic-base multilibs used to implement processes.
+
+2) It modifies gcc/configure and gcc/configure.ac to accept the parameter
+   --enable-threads=miosix
+
+3) It modifies gcc/config.gcc to set the internal variable enable_threads
+   within gcc to "miosix". Without this modification, arm-miosix-eabi-gcc -v
+   would report "Thread model: single" and likely generate thread unsafe code
+
+4) It adds the gcc/gthr-miosix.h specifying the miosix thread model, basically
+   telling the compiler that threadsafe code is required and pointing it to
+   the routines it needs to do so (standard posix routines). Also gcc/gthr.h
+   has been modified to include gthr-miosix.h, and libstdc++/include/Makefile.in
+   and libstdc++/include/Makefile.am have been modified accordingly to support
+   the new gthr-miosix.h file.
+
+5) Given that Miosix does not have a thread local storage API, but it is
+   required in a couple of places related to C++ exception handling
+   (that is, gcc/unwind-sjlj.c and libsupc++/eh_globals.cc), those files have
+   been modified removing functions to get/set the thread-local variables.
+   Those functions are now implemented within Miosix, in kernel/syscalls.cpp
+
+6) The thread safe initialization of C++ static objects can be implemented
+   more efficiently using the Miosix API rather than the POSIX one, so the
+   functions __cxa_guard_[acquire|release|abort] have been removed from
+   libsupc++/guard.cc and implemented in miosix/kernel/syscalls.cpp
+
+7) Added libstdc++/config/cpu/arm/atomicity.h and
+   libstdc++/config/cpu/arm/atomic_word.h To enable support for atomic add and
+   exchange_and_add. Given that there aren't opcodes for these in both ARM7 and
+   Cortex M3, they were implemented by temporarily disabling interrupts.
+
+8) It reduces the size of the emergency buffer in
+   libstdc++-v3/libsupc++/eh_alloc.cc, which is used for allocating the
+   std::bad_alloc exception that operator new should throw when the heap is
+   full. By default it is set to a conservative value that is too large when
+   compared with the RAM size of microcontrollers.
+
+9) It adds __attribute__((weak)) to some functions that pull in exception
+   support to make them overridable by miosix when compiling without exceptions
+   to minimize code size
+
+-------------------------------------------------------------------------------
+
+Calculations to minimize the emrgency buffer for throwing std::bad_alloc.
+
+Defintion of __cxa_exception, the exception header
+Looks like it's 12 pointers or ints, so 48bytes, but a comment in eh_alloc.cc
+Says it can be 13 pointers and 2 ints, so 60bytes
+
+4) it is recomended to leave some space just in case a different
+exception is thrown, like logic_error or runtime_error and there is no heap to
+allocate it. By seeing stdecept and stdexcept.cc these classes only
+contain a string object, and sizeof(logic_error) returns 8 bytes (4=vptr 4=string)
+
+5) An attempt at using 64bytes failed.
+
+6) Note Jul 5, 2010.
+A testcase started to fail, JTAG debugging found that a bad_alloc was allocated
+that required 132Bytes. Expanding EMERGENCY_OBJ_SIZE to 160 bytes (128+32) to leave
+some margin.
+
+Conclusion:
+Looks like EMERGENCY_OBJ_SIZE can be shrinked from 512 to 160bytes, for 32bit systems.
+For EMRGENCY_OBJ_COUNT, 3 is good.
diff --git a/miosix/_tools/compiler/gcc8.2.0-mp2.1/patches/newlib.patch b/miosix/_tools/compiler/gcc8.2.0-mp2.1/patches/newlib.patch
new file mode 100644
index 0000000000000000000000000000000000000000..6447ef4f7194c4c1820ca2e998c8b98287d3be58
--- /dev/null
+++ b/miosix/_tools/compiler/gcc8.2.0-mp2.1/patches/newlib.patch
@@ -0,0 +1,7320 @@
+diff -ruN newlib-3.0.0.20180802-old/newlib/configure.host newlib-3.0.0.20180802/newlib/configure.host
+--- newlib-3.0.0.20180802-old/newlib/configure.host	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/configure.host	2018-08-26 16:26:15.039486303 +0200
+@@ -396,6 +396,10 @@
+ 	stdio64_dir=stdio64
+ 	xdr_dir=xdr
+ 	;;
++  *-miosix-*)
++    sys_dir=miosix
++    posix_dir=posix
++    ;;
+   *-*-netware*)
+ 	signal_dir=
+ 	sys_dir=netware
+@@ -604,6 +608,22 @@
+ 	default_newlib_io_long_long="yes"
+ 	syscall_dir=
+ 	;;
++  *-miosix-*)
++# Miosix requires a couple of tweaks that are #ifdef'd
++# REENTRANT_SYSCALLS_PROVIDED: as in libc/include/reent.h, disables the
++#   syscall definition starting with an underscore in libc/reent
++# GETREENT_PROVIDED Miosix provides its own getrrent to give per-thread reent
++# HAVE_BLKSIZE: BUFSIZ is kept small in Miosix to reduce RAM usage, especially on the stack.
++#   therefore to optimize disk throughput, make sure the libc sets buffers based on st_blksize
++# HAVE_FCNTL: make fcntl available
++# HAVE_NANOSLEEP: provides support for sleep/usleep
++# _NO_POPEN: no popen() support in Miosix (missing fork())
++# _NO_WORDEXP: no wordexp() support in Miosix (missing fork())
++# _SMALL_HEXDIG: save 256 byte of RAM in stdlib/gdtoa-gethex.c
++# SIGNAL_PROVIDED: disable the implementation of signals in newlib
++	newlib_cflags="${newlib_cflags} -DREENTRANT_SYSCALLS_PROVIDED -DGETREENT_PROVIDED -DHAVE_BLKSIZE -DHAVE_FCNTL -DHAVE_NANOSLEEP -D_NO_POPEN -D_NO_WORDEXP -D_SMALL_HEXDIG -DSIGNAL_PROVIDED"
++	newlib_cflags="${newlib_cflags} -Wall"
++	;;
+ # RTEMS supplies its own versions of some routines:
+ #       malloc()            (reentrant version)
+ #       exit()              RTEMS has a "global" reent to flush
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/include/limits.h newlib-3.0.0.20180802/newlib/libc/include/limits.h
+--- newlib-3.0.0.20180802-old/newlib/libc/include/limits.h	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/include/limits.h	2018-08-26 16:26:15.039486303 +0200
+@@ -4,6 +4,10 @@
+ #include <newlib.h>
+ #include <sys/cdefs.h>
+ 
++#ifdef _MIOSIX
++#include <sys/syslimits.h>
++#endif /* _MIOSIX */
++
+ # ifdef _MB_LEN_MAX
+ #  define MB_LEN_MAX	_MB_LEN_MAX
+ # else
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/include/sys/config.h newlib-3.0.0.20180802/newlib/libc/include/sys/config.h
+--- newlib-3.0.0.20180802-old/newlib/libc/include/sys/config.h	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/include/sys/config.h	2018-08-26 16:26:15.039486303 +0200
+@@ -234,6 +234,14 @@
+ #include <cygwin/config.h>
+ #endif
+ 
++#ifdef _MIOSIX
++#define __BUFSIZ__ 256 /* Because Miosix threads often have small (<2KB) stacks */
++#define _REENT_SMALL   /* To save RAM */
++#define _REENT_GLOBAL_ATEXIT /* No atexit stuff in _reent */
++#define __DYNAMIC_REENT__ /* Enable __getreent() */
++#define _REENT_GLOBAL_STDIO_STREAMS /* stdin/out/err shared for all threads */
++#endif /* _MIOSIX */
++
+ #if defined(__rtems__)
+ #define __FILENAME_MAX__ 255
+ #define _READ_WRITE_RETURN_TYPE _ssize_t
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/include/sys/features.h newlib-3.0.0.20180802/newlib/libc/include/sys/features.h
+--- newlib-3.0.0.20180802-old/newlib/libc/include/sys/features.h	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/include/sys/features.h	2018-08-26 16:26:15.039486303 +0200
+@@ -330,6 +330,11 @@
+ #  define __SSP_FORTIFY_LEVEL 0
+ #endif
+ 
++#ifdef _MIOSIX
++#define _POSIX_THREADS 1                  /* Miosix provides pthread support   */
++#define _UNIX98_THREAD_MUTEX_ATTRIBUTES 1 /* Miosix provides recursive mutexes */
++#endif /* _MIOSIX */
++
+ /* RTEMS adheres to POSIX -- 1003.1b with some features from annexes.  */
+ 
+ #ifdef __rtems__
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/include/sys/_pthreadtypes.h newlib-3.0.0.20180802/newlib/libc/include/sys/_pthreadtypes.h
+--- newlib-3.0.0.20180802-old/newlib/libc/include/sys/_pthreadtypes.h	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/include/sys/_pthreadtypes.h	2018-08-27 00:25:24.623016214 +0200
+@@ -150,7 +150,7 @@
+   int type;
+ } pthread_mutexattr_t;
+ 
+-#else /* !defined(__XMK__) */
++#elif !defined(_MIOSIX)
+ typedef __uint32_t pthread_mutex_t;      /* identify a mutex */
+ 
+ typedef struct {
+@@ -169,13 +169,50 @@
+ } pthread_mutexattr_t;
+ #endif /* !defined(__XMK__) */
+ 
++#ifndef _MIOSIX
+ #define _PTHREAD_MUTEX_INITIALIZER ((pthread_mutex_t) 0xFFFFFFFF)
++#else /* _MIOSIX */
++/*
++ * The definition of pthread_mutex_t:
++ * - has been changed from a simple int to a struct containing the actual mutex
++ *   implementation for speed reasons.
++ * - has been moved to sys/lock.h because leaving it here and #including sys/_pthreadtypes.h
++ *   in sys/lock.h would have caused a cycle of #includes
++ */
++typedef struct {
++  int is_initialized;
++  int type;
++  int recursive;
++} pthread_mutexattr_t;
++
++#define _PTHREAD_MUTEX_INITIALIZER {0,0,0,-1}
++/* NOTE: this is not defined in pthread.h, so no leading underscore */
++#define PTHREAD_MUTEX_RECURSIVE_INITIALIZER_NP {0,0,0,0}
++#endif /* _MIOSIX */
+ 
+ /* Condition Variables */
+ 
++#ifndef _MIOSIX
+ typedef __uint32_t pthread_cond_t;       /* identify a condition variable */
+ 
+ #define _PTHREAD_COND_INITIALIZER ((pthread_cond_t) 0xFFFFFFFF)
++#else /* _MIOSIX */
++/*
++ * The definition of pthread_cond_t has been changed from an int to a struct
++ * containing the actual condition variable implementation for speed reasons.
++ * Note: the definition of struct WaitingList is in sys/lock.h
++ * typedef __uint32_t pthread_cond_t;
++ */
++struct WaitingList;
++
++typedef struct
++{
++    struct WaitingList *first;
++    struct WaitingList *last;
++} pthread_cond_t;
++
++#define _PTHREAD_COND_INITIALIZER {0,0}
++#endif /* _MIOSIX */
+ 
+ typedef struct {
+   int      is_initialized;
+@@ -190,8 +227,13 @@
+ typedef __uint32_t pthread_key_t;        /* thread-specific data keys */
+ 
+ typedef struct {
++#ifndef _MIOSIX
+   int   is_initialized;  /* is this structure initialized? */
+   int   init_executed;   /* has the initialization routine been run? */
++#else /* _MIOSIX */
++  char  is_initialized;  /* char is enough for a 0/1 value, and saves RAM */
++  char  init_executed;
++#endif /* _MIOSIX */
+ } pthread_once_t;       /* dynamic package initialization */
+ 
+ #define _PTHREAD_ONCE_INIT  { 1, 0 }  /* is initialized and not run */
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/include/sys/reent.h newlib-3.0.0.20180802/newlib/libc/include/sys/reent.h
+--- newlib-3.0.0.20180802-old/newlib/libc/include/sys/reent.h	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/include/sys/reent.h	2018-08-26 16:26:15.039486303 +0200
+@@ -386,7 +386,9 @@
+ 
+   int __sdidinit;		/* 1 means stdio has been init'd */
+ 
++# ifndef _MIOSIX
+   int _unspecified_locale_info;	/* unused, reserved for locale stuff */
++# endif /* _MIOSIX */
+   struct __locale_t *_locale;/* per-thread locale */
+ 
+   struct _mprec *_mp;
+@@ -403,8 +405,10 @@
+   struct __tm *_localtime_buf;
+   char *_asctime_buf;
+ 
++# ifndef _MIOSIX
+   /* signal info */
+   void (**(_sig_func))(int);
++# endif /* _MIOSIX */
+ 
+ # ifndef _REENT_GLOBAL_ATEXIT
+   /* atexit stuff */
+@@ -413,7 +417,9 @@
+ # endif
+ 
+   struct _glue __sglue;			/* root of glue chain */
++# ifndef _MIOSIX
+   __FILE *__sf;			        /* file descriptors */
++# endif /* _MIOSIX */
+   struct _misc_reent *_misc;            /* strtok, multibyte states */
+   char *_signal_buf;                    /* strsignal */
+ };
+@@ -421,6 +427,7 @@
+ #ifdef _REENT_GLOBAL_STDIO_STREAMS
+ extern __FILE __sf[3];
+ 
++#ifndef _MIOSIX
+ # define _REENT_INIT(var) \
+   { 0, \
+     &__sf[0], \
+@@ -446,6 +453,37 @@
+     _NULL, \
+     _NULL \
+   }
++#else /* _MIOSIX */
++/*
++ * Same as above but with the _current_locale, _current_category,
++ * _atexit and _atexit0 fields removed
++ */
++# define _REENT_INIT(var) \
++  { 0, \
++    &__sf[0], \
++    &__sf[1], \
++    &__sf[2], \
++    0,   \
++    _NULL, \
++    0, \
++    /* 0, */ \
++    _NULL, \
++    _NULL, \
++    _NULL, \
++    0, \
++    0, \
++    _NULL, \
++    _NULL, \
++    _NULL, \
++    _NULL, \
++    /* _NULL, */ \
++    _REENT_INIT_ATEXIT \
++    {_NULL, 0, _NULL}, \
++    /* _NULL, */ \
++    _NULL, \
++    _NULL \
++  }
++#endif /* _MIOSIX */
+ 
+ #define _REENT_INIT_PTR_ZEROED(var) \
+   { (var)->_stdin = &__sf[0]; \
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/include/sys/_types.h newlib-3.0.0.20180802/newlib/libc/include/sys/_types.h
+--- newlib-3.0.0.20180802-old/newlib/libc/include/sys/_types.h	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/include/sys/_types.h	2018-08-26 16:26:15.039486303 +0200
+@@ -67,7 +67,7 @@
+ 
+ #ifndef __machine_ino_t_defined
+ #if (defined(__i386__) && (defined(GO32) || defined(__MSDOS__))) || \
+-    defined(__sparc__) || defined(__SPU__)
++    defined(__sparc__) || defined(__SPU__) || defined(_MIOSIX)
+ typedef unsigned long __ino_t;
+ #else
+ typedef unsigned short __ino_t;
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/misc/lock.c newlib-3.0.0.20180802/newlib/libc/misc/lock.c
+--- newlib-3.0.0.20180802-old/newlib/libc/misc/lock.c	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/misc/lock.c	2018-08-26 16:26:15.039486303 +0200
+@@ -94,9 +94,11 @@
+ 
+ struct __lock __lock___sinit_recursive_mutex;
+ struct __lock __lock___sfp_recursive_mutex;
++#ifndef _MIOSIX
+ struct __lock __lock___atexit_recursive_mutex;
+ struct __lock __lock___at_quick_exit_mutex;
+ struct __lock __lock___malloc_recursive_mutex;
++#endif /* _MIOSIX */
+ struct __lock __lock___env_recursive_mutex;
+ struct __lock __lock___tz_mutex;
+ struct __lock __lock___dd_hash_mutex;
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/posix/closedir.c newlib-3.0.0.20180802/newlib/libc/posix/closedir.c
+--- newlib-3.0.0.20180802-old/newlib/libc/posix/closedir.c	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/posix/closedir.c	2018-08-26 16:26:15.039486303 +0200
+@@ -57,7 +57,15 @@
+ 	__lock_acquire_recursive(dirp->dd_lock);
+ #endif
+ 	rc = close(dirp->dd_fd);
++#ifndef _MIOSIX
+ 	_cleanupdir(dirp);
++#else /* _MIOSIX */
++	/*
++	 * A call through a pointer avoids pulling in _cleanupdir, which brings
++	 * in 128 bytes of BSS, unless user code actually uses seekdir/telldir.
++	 */
++	if(dirp->dd_onclose) dirp->dd_onclose(dirp);
++#endif /* _MIOSIX */
+ 	free((void *)dirp->dd_buf);
+ #ifdef HAVE_DD_LOCK
+ 	__lock_release_recursive(dirp->dd_lock);
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/posix/execl.c newlib-3.0.0.20180802/newlib/libc/posix/execl.c
+--- newlib-3.0.0.20180802-old/newlib/libc/posix/execl.c	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/posix/execl.c	2018-08-26 16:26:15.039486303 +0200
+@@ -7,6 +7,9 @@
+ 
+ #include <_ansi.h>
+ #include <unistd.h>
++#ifdef _MIOSIX
++#include <errno.h>
++#endif /* _MIOSIX */
+ 
+ /* Only deal with a pointer to environ, to work around subtle bugs with shared
+    libraries and/or small data systems where the user declares his own
+@@ -22,6 +25,7 @@
+ 
+ 
+ {
++#ifndef _MIOSIX
+   int i;
+   va_list args;
+   const char *argv[256];
+@@ -33,6 +37,27 @@
+       argv[i] = va_arg (args, const char *);
+   while (argv[i++] != NULL);
+   va_end (args);
++#else /* _MIOSIX */
++  /* An implementation limited to 16 args to save stack (64 instead of 1024) */
++  int i;
++  va_list args;
++  const char *argv[16];
++
++  va_start (args, arg0);
++  argv[0] = arg0;
++  i = 1;
++  do
++  {
++      if(i>=16)
++      {
++          va_end (args);
++          errno=E2BIG;
++          return -1;
++      }
++      argv[i] = va_arg (args, const char *);
++  } while (argv[i++] != NULL);
++  va_end (args);
++#endif /* _MIOSIX */
+ 
+   return _execve (path, (char * const  *) argv, *p_environ);
+ }
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/posix/execle.c newlib-3.0.0.20180802/newlib/libc/posix/execle.c
+--- newlib-3.0.0.20180802-old/newlib/libc/posix/execle.c	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/posix/execle.c	2018-08-26 16:26:15.039486303 +0200
+@@ -7,6 +7,9 @@
+ 
+ #include <_ansi.h>
+ #include <unistd.h>
++#ifdef _MIOSIX
++#include <errno.h>
++#endif /* _MIOSIX */
+ 
+ 
+ #include <stdarg.h>
+@@ -17,6 +20,7 @@
+ 
+ 
+ {
++#ifndef _MIOSIX
+   int i;
+   va_list args;
+   const char * const *envp;
+@@ -28,6 +32,27 @@
+   do
+     argv[i] = va_arg (args, const char *);
+   while (argv[i++] != NULL);
++#else /* _MIOSIX */
++  /* An implementation limited to 16 args to save stack (64 instead of 1024) */
++  int i;
++  va_list args;
++  const char * const *envp;
++  const char *argv[16];
++
++  va_start (args, arg0);
++  argv[0] = arg0;
++  i = 1;
++  do
++  {
++      if(i>=16)
++      {
++          va_end (args);
++          errno=E2BIG;
++          return -1;
++      }
++      argv[i] = va_arg (args, const char *);
++  } while (argv[i++] != NULL);
++#endif /* _MIOSIX */
+   envp = va_arg (args, const char * const *);
+   va_end (args);
+ 
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/posix/execlp.c newlib-3.0.0.20180802/newlib/libc/posix/execlp.c
+--- newlib-3.0.0.20180802-old/newlib/libc/posix/execlp.c	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/posix/execlp.c	2018-08-26 16:26:15.039486303 +0200
+@@ -7,6 +7,9 @@
+ 
+ #include <_ansi.h>
+ #include <unistd.h>
++#ifdef _MIOSIX
++#include <errno.h>
++#endif /* _MIOSIX */
+ 
+ 
+ #include <stdarg.h>
+@@ -17,6 +20,7 @@
+ 
+ 
+ {
++#ifndef _MIOSIX
+   int i;
+   va_list args;
+   const char *argv[256];
+@@ -28,6 +32,27 @@
+       argv[i] = va_arg (args, const char *);
+   while (argv[i++] != NULL);
+   va_end (args);
++#else /* _MIOSIX */
++  /* An implementation limited to 16 args to save stack (64 instead of 1024) */
++  int i;
++  va_list args;
++  const char *argv[16];
++
++  va_start (args, arg0);
++  argv[0] = arg0;
++  i = 1;
++  do
++  {
++      if(i>=16)
++      {
++          va_end (args);
++          errno=E2BIG;
++          return -1;
++      }
++      argv[i] = va_arg (args, const char *);
++  } while (argv[i++] != NULL);
++  va_end (args);
++#endif /* _MIOSIX */
+ 
+   return execvp (path, (char * const *) argv);
+ }
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/posix/_isatty.c newlib-3.0.0.20180802/newlib/libc/posix/_isatty.c
+--- newlib-3.0.0.20180802-old/newlib/libc/posix/_isatty.c	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/posix/_isatty.c	2018-08-26 16:26:15.039486303 +0200
+@@ -2,6 +2,11 @@
+ 
+ /* Dumb implementation so programs will at least run.  */
+ 
++/*
++ * Miosix has isatty()
++ */
++#ifndef _MIOSIX
++
+ #include <sys/stat.h>
+ #include <errno.h>
+ 
+@@ -19,3 +24,5 @@
+   errno = ENOTTY;
+   return 0;
+ }
++
++#endif /* _MIOSIX */
+\ No newline at end of file
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/posix/isatty.c newlib-3.0.0.20180802/newlib/libc/posix/isatty.c
+--- newlib-3.0.0.20180802-old/newlib/libc/posix/isatty.c	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/posix/isatty.c	2018-08-26 16:26:15.039486303 +0200
+@@ -1,5 +1,10 @@
+ /* isatty.c */
+ 
++/*
++ * Miosix has isatty()
++ */
++#ifndef _MIOSIX
++
+ #include <unistd.h>
+ #include <reent.h>
+ 
+@@ -8,3 +13,5 @@
+ {
+   return _isatty (fd);
+ }
++
++#endif /* _MIOSIX */
+\ No newline at end of file
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/posix/opendir.c newlib-3.0.0.20180802/newlib/libc/posix/opendir.c
+--- newlib-3.0.0.20180802-old/newlib/libc/posix/opendir.c	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/posix/opendir.c	2018-08-26 16:26:15.039486303 +0200
+@@ -69,8 +69,16 @@
+ 	 * Hopefully this can be a big win someday by allowing page trades
+ 	 * to user space to be done by getdirentries()
+ 	 */
++#ifndef _MIOSIX
+ 	dirp->dd_buf = malloc (512);
+ 	dirp->dd_len = 512;
++#else /* _MIOSIX */
++	/* Allocate the minimum possible size */
++	dirp->dd_buf = malloc (sizeof(struct dirent));
++	dirp->dd_len = sizeof(struct dirent);
++	/* Assume seekdir/telldir unused until they're actually called */
++	dirp->dd_onclose = NULL;
++#endif /* _MIOSIX */
+ 
+ 	if (dirp->dd_buf == NULL) {
+ 		free (dirp);
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/posix/rewinddir.c newlib-3.0.0.20180802/newlib/libc/posix/rewinddir.c
+--- newlib-3.0.0.20180802-old/newlib/libc/posix/rewinddir.c	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/posix/rewinddir.c	2018-08-26 16:26:15.039486303 +0200
+@@ -47,7 +47,16 @@
+ #ifdef HAVE_DD_LOCK
+ 	__lock_acquire_recursive(dirp->dd_lock);
+ #endif
++
++#ifndef _MIOSIX
+ 	_seekdir((dirp), 0L);
++#else /* _MIOSIX */
++	/* This avoids pulling in _seekdir, which brings in 128 byte of BSS */
++	(void) lseek(dirp->dd_fd, 0, 0);
++	dirp->dd_seek = 0;
++	dirp->dd_loc = 0;
++#endif /* _MIOSIX */
++
+ #ifdef HAVE_DD_LOCK
+ 	__lock_release_recursive(dirp->dd_lock);
+ #endif
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/posix/telldir.c newlib-3.0.0.20180802/newlib/libc/posix/telldir.c
+--- newlib-3.0.0.20180802-old/newlib/libc/posix/telldir.c	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/posix/telldir.c	2018-08-26 16:26:15.039486303 +0200
+@@ -74,6 +74,8 @@
+ __LOCK_INIT(static, __dd_hash_mutex);
+ #endif
+ 
++void _cleanupdir (register DIR *dirp);
++
+ /*
+  * return a pointer into a directory
+  */
+@@ -95,6 +97,9 @@
+ 	__lock_acquire(__dd_hash_mutex);
+ #endif
+ #endif
++#ifdef _MIOSIX
++	dirp->dd_onclose=_cleanupdir;
++#endif /* _MIOSIX */
+ 	index = dd_loccnt++;
+ 	lp->loc_index = index;
+ 	lp->loc_seek = dirp->dd_seek;
+@@ -129,6 +134,9 @@
+ 	__lock_acquire(__dd_hash_mutex);
+ #endif
+ 	if (loc != 0) {
++#ifdef _MIOSIX
++		dirp->dd_onclose=_cleanupdir;
++#endif /* _MIOSIX */
+ 		prevlp = &dd_hash[LOCHASH(loc)];
+ 		lp = *prevlp;
+ 		while (lp != NULL) {
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/reent/reent.c newlib-3.0.0.20180802/newlib/libc/reent/reent.c
+--- newlib-3.0.0.20180802-old/newlib/libc/reent/reent.c	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/reent/reent.c	2018-08-26 16:26:15.039486303 +0200
+@@ -122,7 +122,8 @@
+ 	{
+ 	  /* cleanup won't reclaim memory 'coz usually it's run
+ 	     before the program exits, and who wants to wait for that? */
+-	  ptr->__cleanup (ptr);
++	  if (ptr->__cleanup)
++	    ptr->__cleanup (ptr);
+ 
+ 	  if (ptr->__sglue._next)
+ 	    cleanup_glue (ptr, ptr->__sglue._next);
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/stdlib/__atexit.c newlib-3.0.0.20180802/newlib/libc/stdlib/__atexit.c
+--- newlib-3.0.0.20180802-old/newlib/libc/stdlib/__atexit.c	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/stdlib/__atexit.c	2018-08-26 16:26:15.039486303 +0200
+@@ -38,6 +38,13 @@
+ #include <sys/lock.h>
+ #include "atexit.h"
+ 
++/*
++ * Miosix moves __register_exitproc outside of newlib to make it possible to
++ * compile the kernel both with and without atexit support, without rebuilding
++ * newlib.
++ */
++#ifndef _MIOSIX
++
+ /* Make this a weak reference to avoid pulling in malloc.  */
+ #ifndef MALLOC_PROVIDED
+ void * malloc(size_t) _ATTRIBUTE((__weak__));
+@@ -167,3 +174,5 @@
+ #endif
+   return 0;
+ }
++
++#endif /* _MIOSIX */
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/stdlib/__call_atexit.c newlib-3.0.0.20180802/newlib/libc/stdlib/__call_atexit.c
+--- newlib-3.0.0.20180802-old/newlib/libc/stdlib/__call_atexit.c	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/stdlib/__call_atexit.c	2018-08-26 16:26:15.039486303 +0200
+@@ -13,7 +13,9 @@
+ void free(void *) _ATTRIBUTE((__weak__));
+ #endif
+ 
+-#ifndef __SINGLE_THREAD__
++#ifndef _MIOSIX
++
++#if  __SINGLE_THREAD__
+ __LOCK_INIT_RECURSIVE(, __atexit_recursive_mutex);
+ #endif
+ 
+@@ -21,6 +23,8 @@
+ struct _atexit *_global_atexit = _NULL;
+ #endif
+ 
++#endif /* _MIOSIX */
++
+ #ifdef _WANT_REGISTER_FINI
+ 
+ /* If "__libc_fini" is defined, finalizers (either
+@@ -62,6 +66,12 @@
+ #endif /* _WANT_REGISTER_FINI  */
+ 
+ /*
++ * Miosix moves __call_exitprocs out of newlib to make it possible to compile
++ * the kernel both with and without atexit support, without rebuilding newlib
++ */
++#ifndef _MIOSIX
++
++/*
+  * Call registered exit handlers.  If D is null then all handlers are called,
+  * otherwise only the handlers from that DSO are called.
+  */
+@@ -164,3 +174,4 @@
+ #endif
+ 
+ }
++#endif /* _MIOSIX */
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/stdlib/mallocr.c newlib-3.0.0.20180802/newlib/libc/stdlib/mallocr.c
+--- newlib-3.0.0.20180802-old/newlib/libc/stdlib/mallocr.c	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/stdlib/mallocr.c	2018-08-26 16:26:15.039486303 +0200
+@@ -320,7 +320,12 @@
+ #ifdef SMALL_MEMORY
+ #define malloc_getpagesize (128)
+ #else
++#ifndef _MIOSIX
+ #define malloc_getpagesize (4096)
++#else /* _MIOSIX */
++/* Page size reduced for microcontrolllers whose RAM is not a multiple of 4KB */
++#define malloc_getpagesize (1024)
++#endif /* _MIOSIX */
+ #endif
+ #endif
+ 
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/stdlib/mlock.c newlib-3.0.0.20180802/newlib/libc/stdlib/mlock.c
+--- newlib-3.0.0.20180802-old/newlib/libc/stdlib/mlock.c	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/stdlib/mlock.c	2018-08-26 16:26:15.039486303 +0200
+@@ -32,6 +32,11 @@
+ #include <malloc.h>
+ #include <sys/lock.h>
+ 
++/*
++ * __malloc_lock() and __malloc_unlock() are dealt with within Miosix
++ */
++#ifndef _MIOSIX
++
+ #ifndef __SINGLE_THREAD__
+ __LOCK_INIT_RECURSIVE(static, __malloc_recursive_mutex);
+ #endif
+@@ -54,4 +59,6 @@
+ #endif
+ }
+ 
++#endif /* !_MIOSIX */
++
+ #endif
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/sys/configure newlib-3.0.0.20180802/newlib/libc/sys/configure
+--- newlib-3.0.0.20180802-old/newlib/libc/sys/configure	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/sys/configure	2018-08-26 16:26:15.043486304 +0200
+@@ -794,6 +794,7 @@
+ h8500hms
+ linux
+ m88kbug
++miosix
+ mmixware
+ netware
+ or1k
+@@ -11829,6 +11830,8 @@
+  ;;
+ 	m88kbug) subdirs="$subdirs m88kbug"
+  ;;
++	miosix) subdirs="$subdirs miosix"
++ ;;
+ 	mmixware) subdirs="$subdirs mmixware"
+  ;;
+ 	netware) subdirs="$subdirs netware"
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/sys/configure.in newlib-3.0.0.20180802/newlib/libc/sys/configure.in
+--- newlib-3.0.0.20180802-old/newlib/libc/sys/configure.in	2018-08-01 20:02:56.000000000 +0200
++++ newlib-3.0.0.20180802/newlib/libc/sys/configure.in	2018-08-26 16:26:15.043486304 +0200
+@@ -31,6 +31,7 @@
+ 	h8500hms) AC_CONFIG_SUBDIRS(h8500hms) ;;
+ 	linux) AC_CONFIG_SUBDIRS(linux) ;;
+ 	m88kbug) AC_CONFIG_SUBDIRS(m88kbug) ;;
++	miosix) AC_CONFIG_SUBDIRS(miosix) ;;
+ 	mmixware) AC_CONFIG_SUBDIRS(mmixware) ;;
+ 	netware) AC_CONFIG_SUBDIRS(netware) ;;
+ 	or1k) AC_CONFIG_SUBDIRS(or1k) ;;
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/aclocal.m4 newlib-3.0.0.20180802/newlib/libc/sys/miosix/aclocal.m4
+--- newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/aclocal.m4	1970-01-01 01:00:00.000000000 +0100
++++ newlib-3.0.0.20180802/newlib/libc/sys/miosix/aclocal.m4	2018-08-26 16:26:15.043486304 +0200
+@@ -0,0 +1,1012 @@
++# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
++
++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
++# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
++# Inc.
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
++# PARTICULAR PURPOSE.
++
++m4_ifndef([AC_AUTOCONF_VERSION],
++  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
++m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
++[m4_warning([this file was generated for autoconf 2.68.
++You have another version of autoconf.  It may work, but is not guaranteed to.
++If you have problems, you may need to regenerate the build system entirely.
++To do so, use the procedure documented by the package, typically `autoreconf'.])])
++
++# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
++# Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 1
++
++# AM_AUTOMAKE_VERSION(VERSION)
++# ----------------------------
++# Automake X.Y traces this macro to ensure aclocal.m4 has been
++# generated from the m4 files accompanying Automake X.Y.
++# (This private macro should not be called outside this file.)
++AC_DEFUN([AM_AUTOMAKE_VERSION],
++[am__api_version='1.11'
++dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
++dnl require some minimum version.  Point them to the right macro.
++m4_if([$1], [1.11.6], [],
++      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
++])
++
++# _AM_AUTOCONF_VERSION(VERSION)
++# -----------------------------
++# aclocal traces this macro to find the Autoconf version.
++# This is a private macro too.  Using m4_define simplifies
++# the logic in aclocal, which can simply ignore this definition.
++m4_define([_AM_AUTOCONF_VERSION], [])
++
++# AM_SET_CURRENT_AUTOMAKE_VERSION
++# -------------------------------
++# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
++# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
++AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
++[AM_AUTOMAKE_VERSION([1.11.6])dnl
++m4_ifndef([AC_AUTOCONF_VERSION],
++  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
++_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
++
++# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
++
++# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 1
++
++# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
++# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
++# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
++#
++# Of course, Automake must honor this variable whenever it calls a
++# tool from the auxiliary directory.  The problem is that $srcdir (and
++# therefore $ac_aux_dir as well) can be either absolute or relative,
++# depending on how configure is run.  This is pretty annoying, since
++# it makes $ac_aux_dir quite unusable in subdirectories: in the top
++# source directory, any form will work fine, but in subdirectories a
++# relative path needs to be adjusted first.
++#
++# $ac_aux_dir/missing
++#    fails when called from a subdirectory if $ac_aux_dir is relative
++# $top_srcdir/$ac_aux_dir/missing
++#    fails if $ac_aux_dir is absolute,
++#    fails when called from a subdirectory in a VPATH build with
++#          a relative $ac_aux_dir
++#
++# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
++# are both prefixed by $srcdir.  In an in-source build this is usually
++# harmless because $srcdir is `.', but things will broke when you
++# start a VPATH build or use an absolute $srcdir.
++#
++# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
++# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
++#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
++# and then we would define $MISSING as
++#   MISSING="\${SHELL} $am_aux_dir/missing"
++# This will work as long as MISSING is not called from configure, because
++# unfortunately $(top_srcdir) has no meaning in configure.
++# However there are other variables, like CC, which are often used in
++# configure, and could therefore not use this "fixed" $ac_aux_dir.
++#
++# Another solution, used here, is to always expand $ac_aux_dir to an
++# absolute PATH.  The drawback is that using absolute paths prevent a
++# configured tree to be moved without reconfiguration.
++
++AC_DEFUN([AM_AUX_DIR_EXPAND],
++[dnl Rely on autoconf to set up CDPATH properly.
++AC_PREREQ([2.50])dnl
++# expand $ac_aux_dir to an absolute path
++am_aux_dir=`cd $ac_aux_dir && pwd`
++])
++
++# AM_CONDITIONAL                                            -*- Autoconf -*-
++
++# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
++# Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 9
++
++# AM_CONDITIONAL(NAME, SHELL-CONDITION)
++# -------------------------------------
++# Define a conditional.
++AC_DEFUN([AM_CONDITIONAL],
++[AC_PREREQ(2.52)dnl
++ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
++	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
++AC_SUBST([$1_TRUE])dnl
++AC_SUBST([$1_FALSE])dnl
++_AM_SUBST_NOTMAKE([$1_TRUE])dnl
++_AM_SUBST_NOTMAKE([$1_FALSE])dnl
++m4_define([_AM_COND_VALUE_$1], [$2])dnl
++if $2; then
++  $1_TRUE=
++  $1_FALSE='#'
++else
++  $1_TRUE='#'
++  $1_FALSE=
++fi
++AC_CONFIG_COMMANDS_PRE(
++[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
++  AC_MSG_ERROR([[conditional "$1" was never defined.
++Usually this means the macro was only invoked conditionally.]])
++fi])])
++
++# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
++# 2010, 2011 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 12
++
++# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
++# written in clear, in which case automake, when reading aclocal.m4,
++# will think it sees a *use*, and therefore will trigger all it's
++# C support machinery.  Also note that it means that autoscan, seeing
++# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
++
++
++# _AM_DEPENDENCIES(NAME)
++# ----------------------
++# See how the compiler implements dependency checking.
++# NAME is "CC", "CXX", "GCJ", or "OBJC".
++# We try a few techniques and use that to set a single cache variable.
++#
++# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
++# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
++# dependency, and given that the user is not expected to run this macro,
++# just rely on AC_PROG_CC.
++AC_DEFUN([_AM_DEPENDENCIES],
++[AC_REQUIRE([AM_SET_DEPDIR])dnl
++AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
++AC_REQUIRE([AM_MAKE_INCLUDE])dnl
++AC_REQUIRE([AM_DEP_TRACK])dnl
++
++ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
++       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
++       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
++       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
++       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
++                   [depcc="$$1"   am_compiler_list=])
++
++AC_CACHE_CHECK([dependency style of $depcc],
++               [am_cv_$1_dependencies_compiler_type],
++[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
++  # We make a subdir and do the tests there.  Otherwise we can end up
++  # making bogus files that we don't know about and never remove.  For
++  # instance it was reported that on HP-UX the gcc test will end up
++  # making a dummy file named `D' -- because `-MD' means `put the output
++  # in D'.
++  rm -rf conftest.dir
++  mkdir conftest.dir
++  # Copy depcomp to subdir because otherwise we won't find it if we're
++  # using a relative directory.
++  cp "$am_depcomp" conftest.dir
++  cd conftest.dir
++  # We will build objects and dependencies in a subdirectory because
++  # it helps to detect inapplicable dependency modes.  For instance
++  # both Tru64's cc and ICC support -MD to output dependencies as a
++  # side effect of compilation, but ICC will put the dependencies in
++  # the current directory while Tru64 will put them in the object
++  # directory.
++  mkdir sub
++
++  am_cv_$1_dependencies_compiler_type=none
++  if test "$am_compiler_list" = ""; then
++     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
++  fi
++  am__universal=false
++  m4_case([$1], [CC],
++    [case " $depcc " in #(
++     *\ -arch\ *\ -arch\ *) am__universal=true ;;
++     esac],
++    [CXX],
++    [case " $depcc " in #(
++     *\ -arch\ *\ -arch\ *) am__universal=true ;;
++     esac])
++
++  for depmode in $am_compiler_list; do
++    # Setup a source with many dependencies, because some compilers
++    # like to wrap large dependency lists on column 80 (with \), and
++    # we should not choose a depcomp mode which is confused by this.
++    #
++    # We need to recreate these files for each test, as the compiler may
++    # overwrite some of them when testing with obscure command lines.
++    # This happens at least with the AIX C compiler.
++    : > sub/conftest.c
++    for i in 1 2 3 4 5 6; do
++      echo '#include "conftst'$i'.h"' >> sub/conftest.c
++      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
++      # Solaris 8's {/usr,}/bin/sh.
++      touch sub/conftst$i.h
++    done
++    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
++
++    # We check with `-c' and `-o' for the sake of the "dashmstdout"
++    # mode.  It turns out that the SunPro C++ compiler does not properly
++    # handle `-M -o', and we need to detect this.  Also, some Intel
++    # versions had trouble with output in subdirs
++    am__obj=sub/conftest.${OBJEXT-o}
++    am__minus_obj="-o $am__obj"
++    case $depmode in
++    gcc)
++      # This depmode causes a compiler race in universal mode.
++      test "$am__universal" = false || continue
++      ;;
++    nosideeffect)
++      # after this tag, mechanisms are not by side-effect, so they'll
++      # only be used when explicitly requested
++      if test "x$enable_dependency_tracking" = xyes; then
++	continue
++      else
++	break
++      fi
++      ;;
++    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
++      # This compiler won't grok `-c -o', but also, the minuso test has
++      # not run yet.  These depmodes are late enough in the game, and
++      # so weak that their functioning should not be impacted.
++      am__obj=conftest.${OBJEXT-o}
++      am__minus_obj=
++      ;;
++    none) break ;;
++    esac
++    if depmode=$depmode \
++       source=sub/conftest.c object=$am__obj \
++       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
++       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
++         >/dev/null 2>conftest.err &&
++       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
++       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
++       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
++       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
++      # icc doesn't choke on unknown options, it will just issue warnings
++      # or remarks (even with -Werror).  So we grep stderr for any message
++      # that says an option was ignored or not supported.
++      # When given -MP, icc 7.0 and 7.1 complain thusly:
++      #   icc: Command line warning: ignoring option '-M'; no argument required
++      # The diagnosis changed in icc 8.0:
++      #   icc: Command line remark: option '-MP' not supported
++      if (grep 'ignoring option' conftest.err ||
++          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
++        am_cv_$1_dependencies_compiler_type=$depmode
++        break
++      fi
++    fi
++  done
++
++  cd ..
++  rm -rf conftest.dir
++else
++  am_cv_$1_dependencies_compiler_type=none
++fi
++])
++AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
++AM_CONDITIONAL([am__fastdep$1], [
++  test "x$enable_dependency_tracking" != xno \
++  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
++])
++
++
++# AM_SET_DEPDIR
++# -------------
++# Choose a directory name for dependency files.
++# This macro is AC_REQUIREd in _AM_DEPENDENCIES
++AC_DEFUN([AM_SET_DEPDIR],
++[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
++AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
++])
++
++
++# AM_DEP_TRACK
++# ------------
++AC_DEFUN([AM_DEP_TRACK],
++[AC_ARG_ENABLE(dependency-tracking,
++[  --disable-dependency-tracking  speeds up one-time build
++  --enable-dependency-tracking   do not reject slow dependency extractors])
++if test "x$enable_dependency_tracking" != xno; then
++  am_depcomp="$ac_aux_dir/depcomp"
++  AMDEPBACKSLASH='\'
++  am__nodep='_no'
++fi
++AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
++AC_SUBST([AMDEPBACKSLASH])dnl
++_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
++AC_SUBST([am__nodep])dnl
++_AM_SUBST_NOTMAKE([am__nodep])dnl
++])
++
++# Generate code to set up dependency tracking.              -*- Autoconf -*-
++
++# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
++# Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++#serial 5
++
++# _AM_OUTPUT_DEPENDENCY_COMMANDS
++# ------------------------------
++AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
++[{
++  # Autoconf 2.62 quotes --file arguments for eval, but not when files
++  # are listed without --file.  Let's play safe and only enable the eval
++  # if we detect the quoting.
++  case $CONFIG_FILES in
++  *\'*) eval set x "$CONFIG_FILES" ;;
++  *)   set x $CONFIG_FILES ;;
++  esac
++  shift
++  for mf
++  do
++    # Strip MF so we end up with the name of the file.
++    mf=`echo "$mf" | sed -e 's/:.*$//'`
++    # Check whether this is an Automake generated Makefile or not.
++    # We used to match only the files named `Makefile.in', but
++    # some people rename them; so instead we look at the file content.
++    # Grep'ing the first line is not enough: some people post-process
++    # each Makefile.in and add a new line on top of each file to say so.
++    # Grep'ing the whole file is not good either: AIX grep has a line
++    # limit of 2048, but all sed's we know have understand at least 4000.
++    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
++      dirpart=`AS_DIRNAME("$mf")`
++    else
++      continue
++    fi
++    # Extract the definition of DEPDIR, am__include, and am__quote
++    # from the Makefile without running `make'.
++    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
++    test -z "$DEPDIR" && continue
++    am__include=`sed -n 's/^am__include = //p' < "$mf"`
++    test -z "am__include" && continue
++    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
++    # When using ansi2knr, U may be empty or an underscore; expand it
++    U=`sed -n 's/^U = //p' < "$mf"`
++    # Find all dependency output files, they are included files with
++    # $(DEPDIR) in their names.  We invoke sed twice because it is the
++    # simplest approach to changing $(DEPDIR) to its actual value in the
++    # expansion.
++    for file in `sed -n "
++      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
++	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
++      # Make sure the directory exists.
++      test -f "$dirpart/$file" && continue
++      fdir=`AS_DIRNAME(["$file"])`
++      AS_MKDIR_P([$dirpart/$fdir])
++      # echo "creating $dirpart/$file"
++      echo '# dummy' > "$dirpart/$file"
++    done
++  done
++}
++])# _AM_OUTPUT_DEPENDENCY_COMMANDS
++
++
++# AM_OUTPUT_DEPENDENCY_COMMANDS
++# -----------------------------
++# This macro should only be invoked once -- use via AC_REQUIRE.
++#
++# This code is only required when automatic dependency tracking
++# is enabled.  FIXME.  This creates each `.P' file that we will
++# need in order to bootstrap the dependency handling code.
++AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
++[AC_CONFIG_COMMANDS([depfiles],
++     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
++     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
++])
++
++# Do all the work for Automake.                             -*- Autoconf -*-
++
++# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
++# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 16
++
++# This macro actually does too much.  Some checks are only needed if
++# your package does certain things.  But this isn't really a big deal.
++
++# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
++# AM_INIT_AUTOMAKE([OPTIONS])
++# -----------------------------------------------
++# The call with PACKAGE and VERSION arguments is the old style
++# call (pre autoconf-2.50), which is being phased out.  PACKAGE
++# and VERSION should now be passed to AC_INIT and removed from
++# the call to AM_INIT_AUTOMAKE.
++# We support both call styles for the transition.  After
++# the next Automake release, Autoconf can make the AC_INIT
++# arguments mandatory, and then we can depend on a new Autoconf
++# release and drop the old call support.
++AC_DEFUN([AM_INIT_AUTOMAKE],
++[AC_PREREQ([2.62])dnl
++dnl Autoconf wants to disallow AM_ names.  We explicitly allow
++dnl the ones we care about.
++m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
++AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
++AC_REQUIRE([AC_PROG_INSTALL])dnl
++if test "`cd $srcdir && pwd`" != "`pwd`"; then
++  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
++  # is not polluted with repeated "-I."
++  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
++  # test to see if srcdir already configured
++  if test -f $srcdir/config.status; then
++    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
++  fi
++fi
++
++# test whether we have cygpath
++if test -z "$CYGPATH_W"; then
++  if (cygpath --version) >/dev/null 2>/dev/null; then
++    CYGPATH_W='cygpath -w'
++  else
++    CYGPATH_W=echo
++  fi
++fi
++AC_SUBST([CYGPATH_W])
++
++# Define the identity of the package.
++dnl Distinguish between old-style and new-style calls.
++m4_ifval([$2],
++[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
++ AC_SUBST([PACKAGE], [$1])dnl
++ AC_SUBST([VERSION], [$2])],
++[_AM_SET_OPTIONS([$1])dnl
++dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
++m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
++  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
++ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
++ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
++
++_AM_IF_OPTION([no-define],,
++[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
++ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
++
++# Some tools Automake needs.
++AC_REQUIRE([AM_SANITY_CHECK])dnl
++AC_REQUIRE([AC_ARG_PROGRAM])dnl
++AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
++AM_MISSING_PROG(AUTOCONF, autoconf)
++AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
++AM_MISSING_PROG(AUTOHEADER, autoheader)
++AM_MISSING_PROG(MAKEINFO, makeinfo)
++AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
++AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
++AC_REQUIRE([AM_PROG_MKDIR_P])dnl
++# We need awk for the "check" target.  The system "awk" is bad on
++# some platforms.
++AC_REQUIRE([AC_PROG_AWK])dnl
++AC_REQUIRE([AC_PROG_MAKE_SET])dnl
++AC_REQUIRE([AM_SET_LEADING_DOT])dnl
++_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
++	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
++			     [_AM_PROG_TAR([v7])])])
++_AM_IF_OPTION([no-dependencies],,
++[AC_PROVIDE_IFELSE([AC_PROG_CC],
++		  [_AM_DEPENDENCIES(CC)],
++		  [define([AC_PROG_CC],
++			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
++AC_PROVIDE_IFELSE([AC_PROG_CXX],
++		  [_AM_DEPENDENCIES(CXX)],
++		  [define([AC_PROG_CXX],
++			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
++AC_PROVIDE_IFELSE([AC_PROG_OBJC],
++		  [_AM_DEPENDENCIES(OBJC)],
++		  [define([AC_PROG_OBJC],
++			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
++])
++_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
++dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
++dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
++dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
++AC_CONFIG_COMMANDS_PRE(dnl
++[m4_provide_if([_AM_COMPILER_EXEEXT],
++  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
++])
++
++dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
++dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
++dnl mangled by Autoconf and run in a shell conditional statement.
++m4_define([_AC_COMPILER_EXEEXT],
++m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
++
++
++# When config.status generates a header, we must update the stamp-h file.
++# This file resides in the same directory as the config header
++# that is generated.  The stamp files are numbered to have different names.
++
++# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
++# loop where config.status creates the headers, so we can generate
++# our stamp files there.
++AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
++[# Compute $1's index in $config_headers.
++_am_arg=$1
++_am_stamp_count=1
++for _am_header in $config_headers :; do
++  case $_am_header in
++    $_am_arg | $_am_arg:* )
++      break ;;
++    * )
++      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
++  esac
++done
++echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
++
++# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
++# Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 1
++
++# AM_PROG_INSTALL_SH
++# ------------------
++# Define $install_sh.
++AC_DEFUN([AM_PROG_INSTALL_SH],
++[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
++if test x"${install_sh}" != xset; then
++  case $am_aux_dir in
++  *\ * | *\	*)
++    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
++  *)
++    install_sh="\${SHELL} $am_aux_dir/install-sh"
++  esac
++fi
++AC_SUBST(install_sh)])
++
++# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 2
++
++# Check whether the underlying file-system supports filenames
++# with a leading dot.  For instance MS-DOS doesn't.
++AC_DEFUN([AM_SET_LEADING_DOT],
++[rm -rf .tst 2>/dev/null
++mkdir .tst 2>/dev/null
++if test -d .tst; then
++  am__leading_dot=.
++else
++  am__leading_dot=_
++fi
++rmdir .tst 2>/dev/null
++AC_SUBST([am__leading_dot])])
++
++# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
++# From Jim Meyering
++
++# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008,
++# 2011 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 5
++
++# AM_MAINTAINER_MODE([DEFAULT-MODE])
++# ----------------------------------
++# Control maintainer-specific portions of Makefiles.
++# Default is to disable them, unless `enable' is passed literally.
++# For symmetry, `disable' may be passed as well.  Anyway, the user
++# can override the default with the --enable/--disable switch.
++AC_DEFUN([AM_MAINTAINER_MODE],
++[m4_case(m4_default([$1], [disable]),
++       [enable], [m4_define([am_maintainer_other], [disable])],
++       [disable], [m4_define([am_maintainer_other], [enable])],
++       [m4_define([am_maintainer_other], [enable])
++        m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
++AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
++  dnl maintainer-mode's default is 'disable' unless 'enable' is passed
++  AC_ARG_ENABLE([maintainer-mode],
++[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
++			  (and sometimes confusing) to the casual installer],
++      [USE_MAINTAINER_MODE=$enableval],
++      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
++  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
++  AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
++  MAINT=$MAINTAINER_MODE_TRUE
++  AC_SUBST([MAINT])dnl
++]
++)
++
++AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
++
++# Check to see how 'make' treats includes.	            -*- Autoconf -*-
++
++# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 4
++
++# AM_MAKE_INCLUDE()
++# -----------------
++# Check to see how make treats includes.
++AC_DEFUN([AM_MAKE_INCLUDE],
++[am_make=${MAKE-make}
++cat > confinc << 'END'
++am__doit:
++	@echo this is the am__doit target
++.PHONY: am__doit
++END
++# If we don't find an include directive, just comment out the code.
++AC_MSG_CHECKING([for style of include used by $am_make])
++am__include="#"
++am__quote=
++_am_result=none
++# First try GNU make style include.
++echo "include confinc" > confmf
++# Ignore all kinds of additional output from `make'.
++case `$am_make -s -f confmf 2> /dev/null` in #(
++*the\ am__doit\ target*)
++  am__include=include
++  am__quote=
++  _am_result=GNU
++  ;;
++esac
++# Now try BSD make style include.
++if test "$am__include" = "#"; then
++   echo '.include "confinc"' > confmf
++   case `$am_make -s -f confmf 2> /dev/null` in #(
++   *the\ am__doit\ target*)
++     am__include=.include
++     am__quote="\""
++     _am_result=BSD
++     ;;
++   esac
++fi
++AC_SUBST([am__include])
++AC_SUBST([am__quote])
++AC_MSG_RESULT([$_am_result])
++rm -f confinc confmf
++])
++
++# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
++
++# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
++# Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 6
++
++# AM_MISSING_PROG(NAME, PROGRAM)
++# ------------------------------
++AC_DEFUN([AM_MISSING_PROG],
++[AC_REQUIRE([AM_MISSING_HAS_RUN])
++$1=${$1-"${am_missing_run}$2"}
++AC_SUBST($1)])
++
++
++# AM_MISSING_HAS_RUN
++# ------------------
++# Define MISSING if not defined so far and test if it supports --run.
++# If it does, set am_missing_run to use it, otherwise, to nothing.
++AC_DEFUN([AM_MISSING_HAS_RUN],
++[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
++AC_REQUIRE_AUX_FILE([missing])dnl
++if test x"${MISSING+set}" != xset; then
++  case $am_aux_dir in
++  *\ * | *\	*)
++    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
++  *)
++    MISSING="\${SHELL} $am_aux_dir/missing" ;;
++  esac
++fi
++# Use eval to expand $SHELL
++if eval "$MISSING --run true"; then
++  am_missing_run="$MISSING --run "
++else
++  am_missing_run=
++  AC_MSG_WARN([`missing' script is too old or missing])
++fi
++])
++
++# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
++# Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 1
++
++# AM_PROG_MKDIR_P
++# ---------------
++# Check for `mkdir -p'.
++AC_DEFUN([AM_PROG_MKDIR_P],
++[AC_PREREQ([2.60])dnl
++AC_REQUIRE([AC_PROG_MKDIR_P])dnl
++dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
++dnl while keeping a definition of mkdir_p for backward compatibility.
++dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
++dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
++dnl Makefile.ins that do not define MKDIR_P, so we do our own
++dnl adjustment using top_builddir (which is defined more often than
++dnl MKDIR_P).
++AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
++case $mkdir_p in
++  [[\\/$]]* | ?:[[\\/]]*) ;;
++  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
++esac
++])
++
++# Helper functions for option handling.                     -*- Autoconf -*-
++
++# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
++# Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 5
++
++# _AM_MANGLE_OPTION(NAME)
++# -----------------------
++AC_DEFUN([_AM_MANGLE_OPTION],
++[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
++
++# _AM_SET_OPTION(NAME)
++# --------------------
++# Set option NAME.  Presently that only means defining a flag for this option.
++AC_DEFUN([_AM_SET_OPTION],
++[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
++
++# _AM_SET_OPTIONS(OPTIONS)
++# ------------------------
++# OPTIONS is a space-separated list of Automake options.
++AC_DEFUN([_AM_SET_OPTIONS],
++[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
++
++# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
++# -------------------------------------------
++# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
++AC_DEFUN([_AM_IF_OPTION],
++[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
++
++# Check to make sure that the build environment is sane.    -*- Autoconf -*-
++
++# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
++# Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 5
++
++# AM_SANITY_CHECK
++# ---------------
++AC_DEFUN([AM_SANITY_CHECK],
++[AC_MSG_CHECKING([whether build environment is sane])
++# Just in case
++sleep 1
++echo timestamp > conftest.file
++# Reject unsafe characters in $srcdir or the absolute working directory
++# name.  Accept space and tab only in the latter.
++am_lf='
++'
++case `pwd` in
++  *[[\\\"\#\$\&\'\`$am_lf]]*)
++    AC_MSG_ERROR([unsafe absolute working directory name]);;
++esac
++case $srcdir in
++  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
++    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
++esac
++
++# Do `set' in a subshell so we don't clobber the current shell's
++# arguments.  Must try -L first in case configure is actually a
++# symlink; some systems play weird games with the mod time of symlinks
++# (eg FreeBSD returns the mod time of the symlink's containing
++# directory).
++if (
++   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
++   if test "$[*]" = "X"; then
++      # -L didn't work.
++      set X `ls -t "$srcdir/configure" conftest.file`
++   fi
++   rm -f conftest.file
++   if test "$[*]" != "X $srcdir/configure conftest.file" \
++      && test "$[*]" != "X conftest.file $srcdir/configure"; then
++
++      # If neither matched, then we have a broken ls.  This can happen
++      # if, for instance, CONFIG_SHELL is bash and it inherits a
++      # broken ls alias from the environment.  This has actually
++      # happened.  Such a system could not be considered "sane".
++      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
++alias in your environment])
++   fi
++
++   test "$[2]" = conftest.file
++   )
++then
++   # Ok.
++   :
++else
++   AC_MSG_ERROR([newly created file is older than distributed files!
++Check your system clock])
++fi
++AC_MSG_RESULT(yes)])
++
++# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 1
++
++# AM_PROG_INSTALL_STRIP
++# ---------------------
++# One issue with vendor `install' (even GNU) is that you can't
++# specify the program used to strip binaries.  This is especially
++# annoying in cross-compiling environments, where the build's strip
++# is unlikely to handle the host's binaries.
++# Fortunately install-sh will honor a STRIPPROG variable, so we
++# always use install-sh in `make install-strip', and initialize
++# STRIPPROG with the value of the STRIP variable (set by the user).
++AC_DEFUN([AM_PROG_INSTALL_STRIP],
++[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
++# Installed binaries are usually stripped using `strip' when the user
++# run `make install-strip'.  However `strip' might not be the right
++# tool to use in cross-compilation environments, therefore Automake
++# will honor the `STRIP' environment variable to overrule this program.
++dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
++if test "$cross_compiling" != no; then
++  AC_CHECK_TOOL([STRIP], [strip], :)
++fi
++INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
++AC_SUBST([INSTALL_STRIP_PROGRAM])])
++
++# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 3
++
++# _AM_SUBST_NOTMAKE(VARIABLE)
++# ---------------------------
++# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
++# This macro is traced by Automake.
++AC_DEFUN([_AM_SUBST_NOTMAKE])
++
++# AM_SUBST_NOTMAKE(VARIABLE)
++# --------------------------
++# Public sister of _AM_SUBST_NOTMAKE.
++AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
++
++# Check how to create a tarball.                            -*- Autoconf -*-
++
++# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
++#
++# This file is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# serial 2
++
++# _AM_PROG_TAR(FORMAT)
++# --------------------
++# Check how to create a tarball in format FORMAT.
++# FORMAT should be one of `v7', `ustar', or `pax'.
++#
++# Substitute a variable $(am__tar) that is a command
++# writing to stdout a FORMAT-tarball containing the directory
++# $tardir.
++#     tardir=directory && $(am__tar) > result.tar
++#
++# Substitute a variable $(am__untar) that extract such
++# a tarball read from stdin.
++#     $(am__untar) < result.tar
++AC_DEFUN([_AM_PROG_TAR],
++[# Always define AMTAR for backward compatibility.  Yes, it's still used
++# in the wild :-(  We should find a proper way to deprecate it ...
++AC_SUBST([AMTAR], ['$${TAR-tar}'])
++m4_if([$1], [v7],
++     [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
++     [m4_case([$1], [ustar],, [pax],,
++              [m4_fatal([Unknown tar format])])
++AC_MSG_CHECKING([how to create a $1 tar archive])
++# Loop over all known methods to create a tar archive until one works.
++_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
++_am_tools=${am_cv_prog_tar_$1-$_am_tools}
++# Do not fold the above two line into one, because Tru64 sh and
++# Solaris sh will not grok spaces in the rhs of `-'.
++for _am_tool in $_am_tools
++do
++  case $_am_tool in
++  gnutar)
++    for _am_tar in tar gnutar gtar;
++    do
++      AM_RUN_LOG([$_am_tar --version]) && break
++    done
++    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
++    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
++    am__untar="$_am_tar -xf -"
++    ;;
++  plaintar)
++    # Must skip GNU tar: if it does not support --format= it doesn't create
++    # ustar tarball either.
++    (tar --version) >/dev/null 2>&1 && continue
++    am__tar='tar chf - "$$tardir"'
++    am__tar_='tar chf - "$tardir"'
++    am__untar='tar xf -'
++    ;;
++  pax)
++    am__tar='pax -L -x $1 -w "$$tardir"'
++    am__tar_='pax -L -x $1 -w "$tardir"'
++    am__untar='pax -r'
++    ;;
++  cpio)
++    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
++    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
++    am__untar='cpio -i -H $1 -d'
++    ;;
++  none)
++    am__tar=false
++    am__tar_=false
++    am__untar=false
++    ;;
++  esac
++
++  # If the value was cached, stop now.  We just wanted to have am__tar
++  # and am__untar set.
++  test -n "${am_cv_prog_tar_$1}" && break
++
++  # tar/untar a dummy directory, and stop if the command works
++  rm -rf conftest.dir
++  mkdir conftest.dir
++  echo GrepMe > conftest.dir/file
++  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
++  rm -rf conftest.dir
++  if test -s conftest.tar; then
++    AM_RUN_LOG([$am__untar <conftest.tar])
++    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
++  fi
++done
++rm -rf conftest.dir
++
++AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
++AC_MSG_RESULT([$am_cv_prog_tar_$1])])
++AC_SUBST([am__tar])
++AC_SUBST([am__untar])
++]) # _AM_PROG_TAR
++
++m4_include([../../../acinclude.m4])
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/configure newlib-3.0.0.20180802/newlib/libc/sys/miosix/configure
+--- newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/configure	1970-01-01 01:00:00.000000000 +0100
++++ newlib-3.0.0.20180802/newlib/libc/sys/miosix/configure	2018-08-26 16:26:15.043486304 +0200
+@@ -0,0 +1,4748 @@
++#! /bin/sh
++# Guess values for system-dependent variables and create Makefiles.
++# Generated by GNU Autoconf 2.68 for newlib 2.0.0.
++#
++#
++# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
++# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
++# Foundation, Inc.
++#
++#
++# This configure script is free software; the Free Software Foundation
++# gives unlimited permission to copy, distribute and modify it.
++## -------------------- ##
++## M4sh Initialization. ##
++## -------------------- ##
++
++# Be more Bourne compatible
++DUALCASE=1; export DUALCASE # for MKS sh
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
++  emulate sh
++  NULLCMD=:
++  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
++  # is contrary to our usage.  Disable this feature.
++  alias -g '${1+"$@"}'='"$@"'
++  setopt NO_GLOB_SUBST
++else
++  case `(set -o) 2>/dev/null` in #(
++  *posix*) :
++    set -o posix ;; #(
++  *) :
++     ;;
++esac
++fi
++
++
++as_nl='
++'
++export as_nl
++# Printing a long string crashes Solaris 7 /usr/bin/printf.
++as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
++# Prefer a ksh shell builtin over an external printf program on Solaris,
++# but without wasting forks for bash or zsh.
++if test -z "$BASH_VERSION$ZSH_VERSION" \
++    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
++  as_echo='print -r --'
++  as_echo_n='print -rn --'
++elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
++  as_echo='printf %s\n'
++  as_echo_n='printf %s'
++else
++  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
++    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
++    as_echo_n='/usr/ucb/echo -n'
++  else
++    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
++    as_echo_n_body='eval
++      arg=$1;
++      case $arg in #(
++      *"$as_nl"*)
++	expr "X$arg" : "X\\(.*\\)$as_nl";
++	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
++      esac;
++      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
++    '
++    export as_echo_n_body
++    as_echo_n='sh -c $as_echo_n_body as_echo'
++  fi
++  export as_echo_body
++  as_echo='sh -c $as_echo_body as_echo'
++fi
++
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++  PATH_SEPARATOR=:
++  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
++    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
++      PATH_SEPARATOR=';'
++  }
++fi
++
++
++# IFS
++# We need space, tab and new line, in precisely that order.  Quoting is
++# there to prevent editors from complaining about space-tab.
++# (If _AS_PATH_WALK were called with IFS unset, it would disable word
++# splitting by setting IFS to empty value.)
++IFS=" ""	$as_nl"
++
++# Find who we are.  Look in the path if we contain no directory separator.
++as_myself=
++case $0 in #((
++  *[\\/]* ) as_myself=$0 ;;
++  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
++  done
++IFS=$as_save_IFS
++
++     ;;
++esac
++# We did not find ourselves, most probably we were run as `sh COMMAND'
++# in which case we are not to be found in the path.
++if test "x$as_myself" = x; then
++  as_myself=$0
++fi
++if test ! -f "$as_myself"; then
++  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
++  exit 1
++fi
++
++# Unset variables that we do not need and which cause bugs (e.g. in
++# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
++# suppresses any "Segmentation fault" message there.  '((' could
++# trigger a bug in pdksh 5.2.14.
++for as_var in BASH_ENV ENV MAIL MAILPATH
++do eval test x\${$as_var+set} = xset \
++  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
++done
++PS1='$ '
++PS2='> '
++PS4='+ '
++
++# NLS nuisances.
++LC_ALL=C
++export LC_ALL
++LANGUAGE=C
++export LANGUAGE
++
++# CDPATH.
++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
++
++if test "x$CONFIG_SHELL" = x; then
++  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
++  emulate sh
++  NULLCMD=:
++  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
++  # is contrary to our usage.  Disable this feature.
++  alias -g '\${1+\"\$@\"}'='\"\$@\"'
++  setopt NO_GLOB_SUBST
++else
++  case \`(set -o) 2>/dev/null\` in #(
++  *posix*) :
++    set -o posix ;; #(
++  *) :
++     ;;
++esac
++fi
++"
++  as_required="as_fn_return () { (exit \$1); }
++as_fn_success () { as_fn_return 0; }
++as_fn_failure () { as_fn_return 1; }
++as_fn_ret_success () { return 0; }
++as_fn_ret_failure () { return 1; }
++
++exitcode=0
++as_fn_success || { exitcode=1; echo as_fn_success failed.; }
++as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
++as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
++as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
++if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
++
++else
++  exitcode=1; echo positional parameters were not saved.
++fi
++test x\$exitcode = x0 || exit 1"
++  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
++  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
++  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
++  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1"
++  if (eval "$as_required") 2>/dev/null; then :
++  as_have_required=yes
++else
++  as_have_required=no
++fi
++  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
++
++else
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++as_found=false
++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  as_found=:
++  case $as_dir in #(
++	 /*)
++	   for as_base in sh bash ksh sh5; do
++	     # Try only shells that exist, to save several forks.
++	     as_shell=$as_dir/$as_base
++	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
++		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
++  CONFIG_SHELL=$as_shell as_have_required=yes
++		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
++  break 2
++fi
++fi
++	   done;;
++       esac
++  as_found=false
++done
++$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
++	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
++  CONFIG_SHELL=$SHELL as_have_required=yes
++fi; }
++IFS=$as_save_IFS
++
++
++      if test "x$CONFIG_SHELL" != x; then :
++  # We cannot yet assume a decent shell, so we have to provide a
++	# neutralization value for shells without unset; and this also
++	# works around shells that cannot unset nonexistent variables.
++	# Preserve -v and -x to the replacement shell.
++	BASH_ENV=/dev/null
++	ENV=/dev/null
++	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
++	export CONFIG_SHELL
++	case $- in # ((((
++	  *v*x* | *x*v* ) as_opts=-vx ;;
++	  *v* ) as_opts=-v ;;
++	  *x* ) as_opts=-x ;;
++	  * ) as_opts= ;;
++	esac
++	exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
++fi
++
++    if test x$as_have_required = xno; then :
++  $as_echo "$0: This script requires a shell more modern than all"
++  $as_echo "$0: the shells that I found on your system."
++  if test x${ZSH_VERSION+set} = xset ; then
++    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
++    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
++  else
++    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
++$0: including any error possibly output before this
++$0: message. Then install a modern shell, or manually run
++$0: the script under such a shell if you do have one."
++  fi
++  exit 1
++fi
++fi
++fi
++SHELL=${CONFIG_SHELL-/bin/sh}
++export SHELL
++# Unset more variables known to interfere with behavior of common tools.
++CLICOLOR_FORCE= GREP_OPTIONS=
++unset CLICOLOR_FORCE GREP_OPTIONS
++
++## --------------------- ##
++## M4sh Shell Functions. ##
++## --------------------- ##
++# as_fn_unset VAR
++# ---------------
++# Portably unset VAR.
++as_fn_unset ()
++{
++  { eval $1=; unset $1;}
++}
++as_unset=as_fn_unset
++
++# as_fn_set_status STATUS
++# -----------------------
++# Set $? to STATUS, without forking.
++as_fn_set_status ()
++{
++  return $1
++} # as_fn_set_status
++
++# as_fn_exit STATUS
++# -----------------
++# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
++as_fn_exit ()
++{
++  set +e
++  as_fn_set_status $1
++  exit $1
++} # as_fn_exit
++
++# as_fn_mkdir_p
++# -------------
++# Create "$as_dir" as a directory, including parents if necessary.
++as_fn_mkdir_p ()
++{
++
++  case $as_dir in #(
++  -*) as_dir=./$as_dir;;
++  esac
++  test -d "$as_dir" || eval $as_mkdir_p || {
++    as_dirs=
++    while :; do
++      case $as_dir in #(
++      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
++      *) as_qdir=$as_dir;;
++      esac
++      as_dirs="'$as_qdir' $as_dirs"
++      as_dir=`$as_dirname -- "$as_dir" ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++	 X"$as_dir" : 'X\(//\)[^/]' \| \
++	 X"$as_dir" : 'X\(//\)$' \| \
++	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$as_dir" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)[^/].*/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`
++      test -d "$as_dir" && break
++    done
++    test -z "$as_dirs" || eval "mkdir $as_dirs"
++  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
++
++
++} # as_fn_mkdir_p
++# as_fn_append VAR VALUE
++# ----------------------
++# Append the text in VALUE to the end of the definition contained in VAR. Take
++# advantage of any shell optimizations that allow amortized linear growth over
++# repeated appends, instead of the typical quadratic growth present in naive
++# implementations.
++if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
++  eval 'as_fn_append ()
++  {
++    eval $1+=\$2
++  }'
++else
++  as_fn_append ()
++  {
++    eval $1=\$$1\$2
++  }
++fi # as_fn_append
++
++# as_fn_arith ARG...
++# ------------------
++# Perform arithmetic evaluation on the ARGs, and store the result in the
++# global $as_val. Take advantage of shells that can avoid forks. The arguments
++# must be portable across $(()) and expr.
++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
++  eval 'as_fn_arith ()
++  {
++    as_val=$(( $* ))
++  }'
++else
++  as_fn_arith ()
++  {
++    as_val=`expr "$@" || test $? -eq 1`
++  }
++fi # as_fn_arith
++
++
++# as_fn_error STATUS ERROR [LINENO LOG_FD]
++# ----------------------------------------
++# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
++# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
++# script with STATUS, using 1 if that was 0.
++as_fn_error ()
++{
++  as_status=$1; test $as_status -eq 0 && as_status=1
++  if test "$4"; then
++    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
++  fi
++  $as_echo "$as_me: error: $2" >&2
++  as_fn_exit $as_status
++} # as_fn_error
++
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++   test "X`expr 00001 : '.*\(...\)'`" = X001; then
++  as_expr=expr
++else
++  as_expr=false
++fi
++
++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
++  as_basename=basename
++else
++  as_basename=false
++fi
++
++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
++  as_dirname=dirname
++else
++  as_dirname=false
++fi
++
++as_me=`$as_basename -- "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++	 X"$0" : 'X\(//\)$' \| \
++	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X/"$0" |
++    sed '/^.*\/\([^/][^/]*\)\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\/\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\/\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`
++
++# Avoid depending upon Character Ranges.
++as_cr_letters='abcdefghijklmnopqrstuvwxyz'
++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
++as_cr_Letters=$as_cr_letters$as_cr_LETTERS
++as_cr_digits='0123456789'
++as_cr_alnum=$as_cr_Letters$as_cr_digits
++
++
++  as_lineno_1=$LINENO as_lineno_1a=$LINENO
++  as_lineno_2=$LINENO as_lineno_2a=$LINENO
++  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
++  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
++  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
++  sed -n '
++    p
++    /[$]LINENO/=
++  ' <$as_myself |
++    sed '
++      s/[$]LINENO.*/&-/
++      t lineno
++      b
++      :lineno
++      N
++      :loop
++      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
++      t loop
++      s/-\n.*//
++    ' >$as_me.lineno &&
++  chmod +x "$as_me.lineno" ||
++    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
++
++  # Don't try to exec as it changes $[0], causing all sort of problems
++  # (the dirname of $[0] is not the place where we might find the
++  # original and so on.  Autoconf is especially sensitive to this).
++  . "./$as_me.lineno"
++  # Exit status is that of the last command.
++  exit
++}
++
++ECHO_C= ECHO_N= ECHO_T=
++case `echo -n x` in #(((((
++-n*)
++  case `echo 'xy\c'` in
++  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
++  xy)  ECHO_C='\c';;
++  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
++       ECHO_T='	';;
++  esac;;
++*)
++  ECHO_N='-n';;
++esac
++
++rm -f conf$$ conf$$.exe conf$$.file
++if test -d conf$$.dir; then
++  rm -f conf$$.dir/conf$$.file
++else
++  rm -f conf$$.dir
++  mkdir conf$$.dir 2>/dev/null
++fi
++if (echo >conf$$.file) 2>/dev/null; then
++  if ln -s conf$$.file conf$$ 2>/dev/null; then
++    as_ln_s='ln -s'
++    # ... but there are two gotchas:
++    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
++    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
++    # In both cases, we have to default to `cp -p'.
++    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
++      as_ln_s='cp -p'
++  elif ln conf$$.file conf$$ 2>/dev/null; then
++    as_ln_s=ln
++  else
++    as_ln_s='cp -p'
++  fi
++else
++  as_ln_s='cp -p'
++fi
++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
++rmdir conf$$.dir 2>/dev/null
++
++if mkdir -p . 2>/dev/null; then
++  as_mkdir_p='mkdir -p "$as_dir"'
++else
++  test -d ./-p && rmdir ./-p
++  as_mkdir_p=false
++fi
++
++if test -x / >/dev/null 2>&1; then
++  as_test_x='test -x'
++else
++  if ls -dL / >/dev/null 2>&1; then
++    as_ls_L_option=L
++  else
++    as_ls_L_option=
++  fi
++  as_test_x='
++    eval sh -c '\''
++      if test -d "$1"; then
++	test -d "$1/.";
++      else
++	case $1 in #(
++	-*)set "./$1";;
++	esac;
++	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
++	???[sx]*):;;*)false;;esac;fi
++    '\'' sh
++  '
++fi
++as_executable_p=$as_test_x
++
++# Sed expression to map a string onto a valid CPP name.
++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
++
++# Sed expression to map a string onto a valid variable name.
++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
++
++
++test -n "$DJDIR" || exec 7<&0 </dev/null
++exec 6>&1
++
++# Name of the host.
++# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
++# so uname gets run too.
++ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
++
++#
++# Initializations.
++#
++ac_default_prefix=/usr/local
++ac_clean_files=
++ac_config_libobj_dir=.
++LIBOBJS=
++cross_compiling=no
++subdirs=
++MFLAGS=
++MAKEFLAGS=
++
++# Identity of this package.
++PACKAGE_NAME='newlib'
++PACKAGE_TARNAME='newlib'
++PACKAGE_VERSION='2.0.0'
++PACKAGE_STRING='newlib 2.0.0'
++PACKAGE_BUGREPORT=''
++PACKAGE_URL=''
++
++ac_unique_file="termios.c"
++ac_subst_vars='LTLIBOBJS
++LIBOBJS
++sys_dir
++machine_dir
++libm_machine_dir
++lpfx
++aext
++oext
++OBJEXT
++USE_LIBTOOL_FALSE
++USE_LIBTOOL_TRUE
++ELIX_LEVEL_4_FALSE
++ELIX_LEVEL_4_TRUE
++ELIX_LEVEL_3_FALSE
++ELIX_LEVEL_3_TRUE
++ELIX_LEVEL_2_FALSE
++ELIX_LEVEL_2_TRUE
++ELIX_LEVEL_1_FALSE
++ELIX_LEVEL_1_TRUE
++ELIX_LEVEL_0_FALSE
++ELIX_LEVEL_0_TRUE
++LDFLAGS
++NO_INCLUDE_LIST
++NEWLIB_CFLAGS
++CCASFLAGS
++CCAS
++MAINT
++MAINTAINER_MODE_FALSE
++MAINTAINER_MODE_TRUE
++READELF
++RANLIB
++AR
++AS
++am__fastdepCC_FALSE
++am__fastdepCC_TRUE
++CCDEPMODE
++am__nodep
++AMDEPBACKSLASH
++AMDEP_FALSE
++AMDEP_TRUE
++am__quote
++am__include
++DEPDIR
++CC
++am__untar
++am__tar
++AMTAR
++am__leading_dot
++SET_MAKE
++AWK
++mkdir_p
++MKDIR_P
++INSTALL_STRIP_PROGRAM
++STRIP
++install_sh
++MAKEINFO
++AUTOHEADER
++AUTOMAKE
++AUTOCONF
++ACLOCAL
++VERSION
++PACKAGE
++CYGPATH_W
++am__isrc
++INSTALL_DATA
++INSTALL_SCRIPT
++INSTALL_PROGRAM
++host_os
++host_vendor
++host_cpu
++host
++build_os
++build_vendor
++build_cpu
++build
++newlib_basedir
++MAY_SUPPLY_SYSCALLS_FALSE
++MAY_SUPPLY_SYSCALLS_TRUE
++target_alias
++host_alias
++build_alias
++LIBS
++ECHO_T
++ECHO_N
++ECHO_C
++DEFS
++mandir
++localedir
++libdir
++psdir
++pdfdir
++dvidir
++htmldir
++infodir
++docdir
++oldincludedir
++includedir
++localstatedir
++sharedstatedir
++sysconfdir
++datadir
++datarootdir
++libexecdir
++sbindir
++bindir
++program_transform_name
++prefix
++exec_prefix
++PACKAGE_URL
++PACKAGE_BUGREPORT
++PACKAGE_STRING
++PACKAGE_VERSION
++PACKAGE_TARNAME
++PACKAGE_NAME
++PATH_SEPARATOR
++SHELL'
++ac_subst_files=''
++ac_user_opts='
++enable_option_checking
++enable_multilib
++enable_target_optspace
++enable_malloc_debugging
++enable_newlib_multithread
++enable_newlib_iconv
++enable_newlib_elix_level
++enable_newlib_io_float
++enable_newlib_supplied_syscalls
++enable_dependency_tracking
++enable_maintainer_mode
++'
++      ac_precious_vars='build_alias
++host_alias
++target_alias
++CCAS
++CCASFLAGS'
++
++
++# Initialize some variables set by options.
++ac_init_help=
++ac_init_version=false
++ac_unrecognized_opts=
++ac_unrecognized_sep=
++# The variables have the same names as the options, with
++# dashes changed to underlines.
++cache_file=/dev/null
++exec_prefix=NONE
++no_create=
++no_recursion=
++prefix=NONE
++program_prefix=NONE
++program_suffix=NONE
++program_transform_name=s,x,x,
++silent=
++site=
++srcdir=
++verbose=
++x_includes=NONE
++x_libraries=NONE
++
++# Installation directory options.
++# These are left unexpanded so users can "make install exec_prefix=/foo"
++# and all the variables that are supposed to be based on exec_prefix
++# by default will actually change.
++# Use braces instead of parens because sh, perl, etc. also accept them.
++# (The list follows the same order as the GNU Coding Standards.)
++bindir='${exec_prefix}/bin'
++sbindir='${exec_prefix}/sbin'
++libexecdir='${exec_prefix}/libexec'
++datarootdir='${prefix}/share'
++datadir='${datarootdir}'
++sysconfdir='${prefix}/etc'
++sharedstatedir='${prefix}/com'
++localstatedir='${prefix}/var'
++includedir='${prefix}/include'
++oldincludedir='/usr/include'
++docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
++infodir='${datarootdir}/info'
++htmldir='${docdir}'
++dvidir='${docdir}'
++pdfdir='${docdir}'
++psdir='${docdir}'
++libdir='${exec_prefix}/lib'
++localedir='${datarootdir}/locale'
++mandir='${datarootdir}/man'
++
++ac_prev=
++ac_dashdash=
++for ac_option
++do
++  # If the previous option needs an argument, assign it.
++  if test -n "$ac_prev"; then
++    eval $ac_prev=\$ac_option
++    ac_prev=
++    continue
++  fi
++
++  case $ac_option in
++  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
++  *=)   ac_optarg= ;;
++  *)    ac_optarg=yes ;;
++  esac
++
++  # Accept the important Cygnus configure options, so we can diagnose typos.
++
++  case $ac_dashdash$ac_option in
++  --)
++    ac_dashdash=yes ;;
++
++  -bindir | --bindir | --bindi | --bind | --bin | --bi)
++    ac_prev=bindir ;;
++  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
++    bindir=$ac_optarg ;;
++
++  -build | --build | --buil | --bui | --bu)
++    ac_prev=build_alias ;;
++  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
++    build_alias=$ac_optarg ;;
++
++  -cache-file | --cache-file | --cache-fil | --cache-fi \
++  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
++    ac_prev=cache_file ;;
++  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
++  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
++    cache_file=$ac_optarg ;;
++
++  --config-cache | -C)
++    cache_file=config.cache ;;
++
++  -datadir | --datadir | --datadi | --datad)
++    ac_prev=datadir ;;
++  -datadir=* | --datadir=* | --datadi=* | --datad=*)
++    datadir=$ac_optarg ;;
++
++  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
++  | --dataroo | --dataro | --datar)
++    ac_prev=datarootdir ;;
++  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
++  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
++    datarootdir=$ac_optarg ;;
++
++  -disable-* | --disable-*)
++    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
++    # Reject names that are not valid shell variable names.
++    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
++      as_fn_error $? "invalid feature name: $ac_useropt"
++    ac_useropt_orig=$ac_useropt
++    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
++    case $ac_user_opts in
++      *"
++"enable_$ac_useropt"
++"*) ;;
++      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
++	 ac_unrecognized_sep=', ';;
++    esac
++    eval enable_$ac_useropt=no ;;
++
++  -docdir | --docdir | --docdi | --doc | --do)
++    ac_prev=docdir ;;
++  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
++    docdir=$ac_optarg ;;
++
++  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
++    ac_prev=dvidir ;;
++  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
++    dvidir=$ac_optarg ;;
++
++  -enable-* | --enable-*)
++    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
++    # Reject names that are not valid shell variable names.
++    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
++      as_fn_error $? "invalid feature name: $ac_useropt"
++    ac_useropt_orig=$ac_useropt
++    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
++    case $ac_user_opts in
++      *"
++"enable_$ac_useropt"
++"*) ;;
++      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
++	 ac_unrecognized_sep=', ';;
++    esac
++    eval enable_$ac_useropt=\$ac_optarg ;;
++
++  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
++  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
++  | --exec | --exe | --ex)
++    ac_prev=exec_prefix ;;
++  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
++  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
++  | --exec=* | --exe=* | --ex=*)
++    exec_prefix=$ac_optarg ;;
++
++  -gas | --gas | --ga | --g)
++    # Obsolete; use --with-gas.
++    with_gas=yes ;;
++
++  -help | --help | --hel | --he | -h)
++    ac_init_help=long ;;
++  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
++    ac_init_help=recursive ;;
++  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
++    ac_init_help=short ;;
++
++  -host | --host | --hos | --ho)
++    ac_prev=host_alias ;;
++  -host=* | --host=* | --hos=* | --ho=*)
++    host_alias=$ac_optarg ;;
++
++  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
++    ac_prev=htmldir ;;
++  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
++  | --ht=*)
++    htmldir=$ac_optarg ;;
++
++  -includedir | --includedir | --includedi | --included | --include \
++  | --includ | --inclu | --incl | --inc)
++    ac_prev=includedir ;;
++  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
++  | --includ=* | --inclu=* | --incl=* | --inc=*)
++    includedir=$ac_optarg ;;
++
++  -infodir | --infodir | --infodi | --infod | --info | --inf)
++    ac_prev=infodir ;;
++  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
++    infodir=$ac_optarg ;;
++
++  -libdir | --libdir | --libdi | --libd)
++    ac_prev=libdir ;;
++  -libdir=* | --libdir=* | --libdi=* | --libd=*)
++    libdir=$ac_optarg ;;
++
++  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
++  | --libexe | --libex | --libe)
++    ac_prev=libexecdir ;;
++  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
++  | --libexe=* | --libex=* | --libe=*)
++    libexecdir=$ac_optarg ;;
++
++  -localedir | --localedir | --localedi | --localed | --locale)
++    ac_prev=localedir ;;
++  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
++    localedir=$ac_optarg ;;
++
++  -localstatedir | --localstatedir | --localstatedi | --localstated \
++  | --localstate | --localstat | --localsta | --localst | --locals)
++    ac_prev=localstatedir ;;
++  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
++  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
++    localstatedir=$ac_optarg ;;
++
++  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
++    ac_prev=mandir ;;
++  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
++    mandir=$ac_optarg ;;
++
++  -nfp | --nfp | --nf)
++    # Obsolete; use --without-fp.
++    with_fp=no ;;
++
++  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
++  | --no-cr | --no-c | -n)
++    no_create=yes ;;
++
++  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
++  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
++    no_recursion=yes ;;
++
++  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
++  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
++  | --oldin | --oldi | --old | --ol | --o)
++    ac_prev=oldincludedir ;;
++  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
++  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
++  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
++    oldincludedir=$ac_optarg ;;
++
++  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
++    ac_prev=prefix ;;
++  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
++    prefix=$ac_optarg ;;
++
++  -program-prefix | --program-prefix | --program-prefi | --program-pref \
++  | --program-pre | --program-pr | --program-p)
++    ac_prev=program_prefix ;;
++  -program-prefix=* | --program-prefix=* | --program-prefi=* \
++  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
++    program_prefix=$ac_optarg ;;
++
++  -program-suffix | --program-suffix | --program-suffi | --program-suff \
++  | --program-suf | --program-su | --program-s)
++    ac_prev=program_suffix ;;
++  -program-suffix=* | --program-suffix=* | --program-suffi=* \
++  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
++    program_suffix=$ac_optarg ;;
++
++  -program-transform-name | --program-transform-name \
++  | --program-transform-nam | --program-transform-na \
++  | --program-transform-n | --program-transform- \
++  | --program-transform | --program-transfor \
++  | --program-transfo | --program-transf \
++  | --program-trans | --program-tran \
++  | --progr-tra | --program-tr | --program-t)
++    ac_prev=program_transform_name ;;
++  -program-transform-name=* | --program-transform-name=* \
++  | --program-transform-nam=* | --program-transform-na=* \
++  | --program-transform-n=* | --program-transform-=* \
++  | --program-transform=* | --program-transfor=* \
++  | --program-transfo=* | --program-transf=* \
++  | --program-trans=* | --program-tran=* \
++  | --progr-tra=* | --program-tr=* | --program-t=*)
++    program_transform_name=$ac_optarg ;;
++
++  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
++    ac_prev=pdfdir ;;
++  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
++    pdfdir=$ac_optarg ;;
++
++  -psdir | --psdir | --psdi | --psd | --ps)
++    ac_prev=psdir ;;
++  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
++    psdir=$ac_optarg ;;
++
++  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++  | -silent | --silent | --silen | --sile | --sil)
++    silent=yes ;;
++
++  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
++    ac_prev=sbindir ;;
++  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
++  | --sbi=* | --sb=*)
++    sbindir=$ac_optarg ;;
++
++  -sharedstatedir | --sharedstatedir | --sharedstatedi \
++  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
++  | --sharedst | --shareds | --shared | --share | --shar \
++  | --sha | --sh)
++    ac_prev=sharedstatedir ;;
++  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
++  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
++  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
++  | --sha=* | --sh=*)
++    sharedstatedir=$ac_optarg ;;
++
++  -site | --site | --sit)
++    ac_prev=site ;;
++  -site=* | --site=* | --sit=*)
++    site=$ac_optarg ;;
++
++  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
++    ac_prev=srcdir ;;
++  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
++    srcdir=$ac_optarg ;;
++
++  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
++  | --syscon | --sysco | --sysc | --sys | --sy)
++    ac_prev=sysconfdir ;;
++  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
++  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
++    sysconfdir=$ac_optarg ;;
++
++  -target | --target | --targe | --targ | --tar | --ta | --t)
++    ac_prev=target_alias ;;
++  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
++    target_alias=$ac_optarg ;;
++
++  -v | -verbose | --verbose | --verbos | --verbo | --verb)
++    verbose=yes ;;
++
++  -version | --version | --versio | --versi | --vers | -V)
++    ac_init_version=: ;;
++
++  -with-* | --with-*)
++    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
++    # Reject names that are not valid shell variable names.
++    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
++      as_fn_error $? "invalid package name: $ac_useropt"
++    ac_useropt_orig=$ac_useropt
++    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
++    case $ac_user_opts in
++      *"
++"with_$ac_useropt"
++"*) ;;
++      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
++	 ac_unrecognized_sep=', ';;
++    esac
++    eval with_$ac_useropt=\$ac_optarg ;;
++
++  -without-* | --without-*)
++    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
++    # Reject names that are not valid shell variable names.
++    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
++      as_fn_error $? "invalid package name: $ac_useropt"
++    ac_useropt_orig=$ac_useropt
++    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
++    case $ac_user_opts in
++      *"
++"with_$ac_useropt"
++"*) ;;
++      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
++	 ac_unrecognized_sep=', ';;
++    esac
++    eval with_$ac_useropt=no ;;
++
++  --x)
++    # Obsolete; use --with-x.
++    with_x=yes ;;
++
++  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
++  | --x-incl | --x-inc | --x-in | --x-i)
++    ac_prev=x_includes ;;
++  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
++  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
++    x_includes=$ac_optarg ;;
++
++  -x-libraries | --x-libraries | --x-librarie | --x-librari \
++  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
++    ac_prev=x_libraries ;;
++  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
++  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
++    x_libraries=$ac_optarg ;;
++
++  -*) as_fn_error $? "unrecognized option: \`$ac_option'
++Try \`$0 --help' for more information"
++    ;;
++
++  *=*)
++    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
++    # Reject names that are not valid shell variable names.
++    case $ac_envvar in #(
++      '' | [0-9]* | *[!_$as_cr_alnum]* )
++      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
++    esac
++    eval $ac_envvar=\$ac_optarg
++    export $ac_envvar ;;
++
++  *)
++    # FIXME: should be removed in autoconf 3.0.
++    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
++    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
++    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
++    ;;
++
++  esac
++done
++
++if test -n "$ac_prev"; then
++  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
++  as_fn_error $? "missing argument to $ac_option"
++fi
++
++if test -n "$ac_unrecognized_opts"; then
++  case $enable_option_checking in
++    no) ;;
++    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
++    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
++  esac
++fi
++
++# Check all directory arguments for consistency.
++for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
++		datadir sysconfdir sharedstatedir localstatedir includedir \
++		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
++		libdir localedir mandir
++do
++  eval ac_val=\$$ac_var
++  # Remove trailing slashes.
++  case $ac_val in
++    */ )
++      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
++      eval $ac_var=\$ac_val;;
++  esac
++  # Be sure to have absolute directory names.
++  case $ac_val in
++    [\\/$]* | ?:[\\/]* )  continue;;
++    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
++  esac
++  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
++done
++
++# There might be people who depend on the old broken behavior: `$host'
++# used to hold the argument of --host etc.
++# FIXME: To remove some day.
++build=$build_alias
++host=$host_alias
++target=$target_alias
++
++# FIXME: To remove some day.
++if test "x$host_alias" != x; then
++  if test "x$build_alias" = x; then
++    cross_compiling=maybe
++    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
++    If a cross compiler is detected then cross compile mode will be used" >&2
++  elif test "x$build_alias" != "x$host_alias"; then
++    cross_compiling=yes
++  fi
++fi
++
++ac_tool_prefix=
++test -n "$host_alias" && ac_tool_prefix=$host_alias-
++
++test "$silent" = yes && exec 6>/dev/null
++
++
++ac_pwd=`pwd` && test -n "$ac_pwd" &&
++ac_ls_di=`ls -di .` &&
++ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
++  as_fn_error $? "working directory cannot be determined"
++test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
++  as_fn_error $? "pwd does not report name of working directory"
++
++
++# Find the source files, if location was not specified.
++if test -z "$srcdir"; then
++  ac_srcdir_defaulted=yes
++  # Try the directory containing this script, then the parent directory.
++  ac_confdir=`$as_dirname -- "$as_myself" ||
++$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++	 X"$as_myself" : 'X\(//\)[^/]' \| \
++	 X"$as_myself" : 'X\(//\)$' \| \
++	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$as_myself" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)[^/].*/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`
++  srcdir=$ac_confdir
++  if test ! -r "$srcdir/$ac_unique_file"; then
++    srcdir=..
++  fi
++else
++  ac_srcdir_defaulted=no
++fi
++if test ! -r "$srcdir/$ac_unique_file"; then
++  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
++  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
++fi
++ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
++ac_abs_confdir=`(
++	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
++	pwd)`
++# When building in place, set srcdir=.
++if test "$ac_abs_confdir" = "$ac_pwd"; then
++  srcdir=.
++fi
++# Remove unnecessary trailing slashes from srcdir.
++# Double slashes in file names in object file debugging info
++# mess up M-x gdb in Emacs.
++case $srcdir in
++*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
++esac
++for ac_var in $ac_precious_vars; do
++  eval ac_env_${ac_var}_set=\${${ac_var}+set}
++  eval ac_env_${ac_var}_value=\$${ac_var}
++  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
++  eval ac_cv_env_${ac_var}_value=\$${ac_var}
++done
++
++#
++# Report the --help message.
++#
++if test "$ac_init_help" = "long"; then
++  # Omit some internal or obsolete options to make the list less imposing.
++  # This message is too long to be a string in the A/UX 3.1 sh.
++  cat <<_ACEOF
++\`configure' configures newlib 2.0.0 to adapt to many kinds of systems.
++
++Usage: $0 [OPTION]... [VAR=VALUE]...
++
++To assign environment variables (e.g., CC, CFLAGS...), specify them as
++VAR=VALUE.  See below for descriptions of some of the useful variables.
++
++Defaults for the options are specified in brackets.
++
++Configuration:
++  -h, --help              display this help and exit
++      --help=short        display options specific to this package
++      --help=recursive    display the short help of all the included packages
++  -V, --version           display version information and exit
++  -q, --quiet, --silent   do not print \`checking ...' messages
++      --cache-file=FILE   cache test results in FILE [disabled]
++  -C, --config-cache      alias for \`--cache-file=config.cache'
++  -n, --no-create         do not create output files
++      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
++
++Installation directories:
++  --prefix=PREFIX         install architecture-independent files in PREFIX
++                          [$ac_default_prefix]
++  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
++                          [PREFIX]
++
++By default, \`make install' will install all the files in
++\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
++an installation prefix other than \`$ac_default_prefix' using \`--prefix',
++for instance \`--prefix=\$HOME'.
++
++For better control, use the options below.
++
++Fine tuning of the installation directories:
++  --bindir=DIR            user executables [EPREFIX/bin]
++  --sbindir=DIR           system admin executables [EPREFIX/sbin]
++  --libexecdir=DIR        program executables [EPREFIX/libexec]
++  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
++  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
++  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
++  --libdir=DIR            object code libraries [EPREFIX/lib]
++  --includedir=DIR        C header files [PREFIX/include]
++  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
++  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
++  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
++  --infodir=DIR           info documentation [DATAROOTDIR/info]
++  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
++  --mandir=DIR            man documentation [DATAROOTDIR/man]
++  --docdir=DIR            documentation root [DATAROOTDIR/doc/newlib]
++  --htmldir=DIR           html documentation [DOCDIR]
++  --dvidir=DIR            dvi documentation [DOCDIR]
++  --pdfdir=DIR            pdf documentation [DOCDIR]
++  --psdir=DIR             ps documentation [DOCDIR]
++_ACEOF
++
++  cat <<\_ACEOF
++
++Program names:
++  --program-prefix=PREFIX            prepend PREFIX to installed program names
++  --program-suffix=SUFFIX            append SUFFIX to installed program names
++  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
++
++System types:
++  --build=BUILD     configure for building on BUILD [guessed]
++  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
++_ACEOF
++fi
++
++if test -n "$ac_init_help"; then
++  case $ac_init_help in
++     short | recursive ) echo "Configuration of newlib 2.0.0:";;
++   esac
++  cat <<\_ACEOF
++
++Optional Features:
++  --disable-option-checking  ignore unrecognized --enable/--with options
++  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
++  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
++  --enable-multilib         build many library versions (default)
++  --enable-target-optspace  optimize for space
++  --enable-malloc-debugging indicate malloc debugging requested
++  --enable-newlib-multithread        enable support for multiple threads
++  --enable-newlib-iconv     enable iconv library support
++  --enable-newlib-elix-level         supply desired elix library level (1-4)
++  --disable-newlib-io-float disable printf/scanf family float support
++  --disable-newlib-supplied-syscalls disable newlib from supplying syscalls
++  --disable-dependency-tracking  speeds up one-time build
++  --enable-dependency-tracking   do not reject slow dependency extractors
++  --enable-maintainer-mode  enable make rules and dependencies not useful
++			  (and sometimes confusing) to the casual installer
++
++Some influential environment variables:
++  CCAS        assembler compiler command (defaults to CC)
++  CCASFLAGS   assembler compiler flags (defaults to CFLAGS)
++
++Use these variables to override the choices made by `configure' or to help
++it to find libraries and programs with nonstandard names/locations.
++
++Report bugs to the package provider.
++_ACEOF
++ac_status=$?
++fi
++
++if test "$ac_init_help" = "recursive"; then
++  # If there are subdirs, report their specific --help.
++  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
++    test -d "$ac_dir" ||
++      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
++      continue
++    ac_builddir=.
++
++case "$ac_dir" in
++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
++*)
++  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
++  # A ".." for each directory in $ac_dir_suffix.
++  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
++  case $ac_top_builddir_sub in
++  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
++  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
++  esac ;;
++esac
++ac_abs_top_builddir=$ac_pwd
++ac_abs_builddir=$ac_pwd$ac_dir_suffix
++# for backward compatibility:
++ac_top_builddir=$ac_top_build_prefix
++
++case $srcdir in
++  .)  # We are building in place.
++    ac_srcdir=.
++    ac_top_srcdir=$ac_top_builddir_sub
++    ac_abs_top_srcdir=$ac_pwd ;;
++  [\\/]* | ?:[\\/]* )  # Absolute name.
++    ac_srcdir=$srcdir$ac_dir_suffix;
++    ac_top_srcdir=$srcdir
++    ac_abs_top_srcdir=$srcdir ;;
++  *) # Relative name.
++    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
++    ac_top_srcdir=$ac_top_build_prefix$srcdir
++    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
++esac
++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
++
++    cd "$ac_dir" || { ac_status=$?; continue; }
++    # Check for guested configure.
++    if test -f "$ac_srcdir/configure.gnu"; then
++      echo &&
++      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
++    elif test -f "$ac_srcdir/configure"; then
++      echo &&
++      $SHELL "$ac_srcdir/configure" --help=recursive
++    else
++      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
++    fi || ac_status=$?
++    cd "$ac_pwd" || { ac_status=$?; break; }
++  done
++fi
++
++test -n "$ac_init_help" && exit $ac_status
++if $ac_init_version; then
++  cat <<\_ACEOF
++newlib configure 2.0.0
++generated by GNU Autoconf 2.68
++
++Copyright (C) 2010 Free Software Foundation, Inc.
++This configure script is free software; the Free Software Foundation
++gives unlimited permission to copy, distribute and modify it.
++_ACEOF
++  exit
++fi
++
++## ------------------------ ##
++## Autoconf initialization. ##
++## ------------------------ ##
++
++# ac_fn_c_try_compile LINENO
++# --------------------------
++# Try to compile conftest.$ac_ext, and return whether this succeeded.
++ac_fn_c_try_compile ()
++{
++  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++  rm -f conftest.$ac_objext
++  if { { ac_try="$ac_compile"
++case "(($ac_try" in
++  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++  *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
++$as_echo "$ac_try_echo"; } >&5
++  (eval "$ac_compile") 2>conftest.err
++  ac_status=$?
++  if test -s conftest.err; then
++    grep -v '^ *+' conftest.err >conftest.er1
++    cat conftest.er1 >&5
++    mv -f conftest.er1 conftest.err
++  fi
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; } && {
++	 test -z "$ac_c_werror_flag" ||
++	 test ! -s conftest.err
++       } && test -s conftest.$ac_objext; then :
++  ac_retval=0
++else
++  $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++	ac_retval=1
++fi
++  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
++  as_fn_set_status $ac_retval
++
++} # ac_fn_c_try_compile
++cat >config.log <<_ACEOF
++This file contains any messages produced by compilers while
++running configure, to aid debugging if configure makes a mistake.
++
++It was created by newlib $as_me 2.0.0, which was
++generated by GNU Autoconf 2.68.  Invocation command line was
++
++  $ $0 $@
++
++_ACEOF
++exec 5>>config.log
++{
++cat <<_ASUNAME
++## --------- ##
++## Platform. ##
++## --------- ##
++
++hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
++uname -m = `(uname -m) 2>/dev/null || echo unknown`
++uname -r = `(uname -r) 2>/dev/null || echo unknown`
++uname -s = `(uname -s) 2>/dev/null || echo unknown`
++uname -v = `(uname -v) 2>/dev/null || echo unknown`
++
++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
++/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
++
++/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
++/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
++/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
++/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
++/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
++/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
++
++_ASUNAME
++
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    $as_echo "PATH: $as_dir"
++  done
++IFS=$as_save_IFS
++
++} >&5
++
++cat >&5 <<_ACEOF
++
++
++## ----------- ##
++## Core tests. ##
++## ----------- ##
++
++_ACEOF
++
++
++# Keep a trace of the command line.
++# Strip out --no-create and --no-recursion so they do not pile up.
++# Strip out --silent because we don't want to record it for future runs.
++# Also quote any args containing shell meta-characters.
++# Make two passes to allow for proper duplicate-argument suppression.
++ac_configure_args=
++ac_configure_args0=
++ac_configure_args1=
++ac_must_keep_next=false
++for ac_pass in 1 2
++do
++  for ac_arg
++  do
++    case $ac_arg in
++    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
++    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++    | -silent | --silent | --silen | --sile | --sil)
++      continue ;;
++    *\'*)
++      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
++    esac
++    case $ac_pass in
++    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
++    2)
++      as_fn_append ac_configure_args1 " '$ac_arg'"
++      if test $ac_must_keep_next = true; then
++	ac_must_keep_next=false # Got value, back to normal.
++      else
++	case $ac_arg in
++	  *=* | --config-cache | -C | -disable-* | --disable-* \
++	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
++	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
++	  | -with-* | --with-* | -without-* | --without-* | --x)
++	    case "$ac_configure_args0 " in
++	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
++	    esac
++	    ;;
++	  -* ) ac_must_keep_next=true ;;
++	esac
++      fi
++      as_fn_append ac_configure_args " '$ac_arg'"
++      ;;
++    esac
++  done
++done
++{ ac_configure_args0=; unset ac_configure_args0;}
++{ ac_configure_args1=; unset ac_configure_args1;}
++
++# When interrupted or exit'd, cleanup temporary files, and complete
++# config.log.  We remove comments because anyway the quotes in there
++# would cause problems or look ugly.
++# WARNING: Use '\'' to represent an apostrophe within the trap.
++# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
++trap 'exit_status=$?
++  # Save into config.log some information that might help in debugging.
++  {
++    echo
++
++    $as_echo "## ---------------- ##
++## Cache variables. ##
++## ---------------- ##"
++    echo
++    # The following way of writing the cache mishandles newlines in values,
++(
++  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
++    eval ac_val=\$$ac_var
++    case $ac_val in #(
++    *${as_nl}*)
++      case $ac_var in #(
++      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
++$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
++      esac
++      case $ac_var in #(
++      _ | IFS | as_nl) ;; #(
++      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
++      *) { eval $ac_var=; unset $ac_var;} ;;
++      esac ;;
++    esac
++  done
++  (set) 2>&1 |
++    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
++    *${as_nl}ac_space=\ *)
++      sed -n \
++	"s/'\''/'\''\\\\'\'''\''/g;
++	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
++      ;; #(
++    *)
++      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
++      ;;
++    esac |
++    sort
++)
++    echo
++
++    $as_echo "## ----------------- ##
++## Output variables. ##
++## ----------------- ##"
++    echo
++    for ac_var in $ac_subst_vars
++    do
++      eval ac_val=\$$ac_var
++      case $ac_val in
++      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
++      esac
++      $as_echo "$ac_var='\''$ac_val'\''"
++    done | sort
++    echo
++
++    if test -n "$ac_subst_files"; then
++      $as_echo "## ------------------- ##
++## File substitutions. ##
++## ------------------- ##"
++      echo
++      for ac_var in $ac_subst_files
++      do
++	eval ac_val=\$$ac_var
++	case $ac_val in
++	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
++	esac
++	$as_echo "$ac_var='\''$ac_val'\''"
++      done | sort
++      echo
++    fi
++
++    if test -s confdefs.h; then
++      $as_echo "## ----------- ##
++## confdefs.h. ##
++## ----------- ##"
++      echo
++      cat confdefs.h
++      echo
++    fi
++    test "$ac_signal" != 0 &&
++      $as_echo "$as_me: caught signal $ac_signal"
++    $as_echo "$as_me: exit $exit_status"
++  } >&5
++  rm -f core *.core core.conftest.* &&
++    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
++    exit $exit_status
++' 0
++for ac_signal in 1 2 13 15; do
++  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
++done
++ac_signal=0
++
++# confdefs.h avoids OS command line length limits that DEFS can exceed.
++rm -f -r conftest* confdefs.h
++
++$as_echo "/* confdefs.h */" > confdefs.h
++
++# Predefined preprocessor variables.
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_NAME "$PACKAGE_NAME"
++_ACEOF
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
++_ACEOF
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_VERSION "$PACKAGE_VERSION"
++_ACEOF
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_STRING "$PACKAGE_STRING"
++_ACEOF
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
++_ACEOF
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_URL "$PACKAGE_URL"
++_ACEOF
++
++
++# Let the site file select an alternate cache file if it wants to.
++# Prefer an explicitly selected file to automatically selected ones.
++ac_site_file1=NONE
++ac_site_file2=NONE
++if test -n "$CONFIG_SITE"; then
++  # We do not want a PATH search for config.site.
++  case $CONFIG_SITE in #((
++    -*)  ac_site_file1=./$CONFIG_SITE;;
++    */*) ac_site_file1=$CONFIG_SITE;;
++    *)   ac_site_file1=./$CONFIG_SITE;;
++  esac
++elif test "x$prefix" != xNONE; then
++  ac_site_file1=$prefix/share/config.site
++  ac_site_file2=$prefix/etc/config.site
++else
++  ac_site_file1=$ac_default_prefix/share/config.site
++  ac_site_file2=$ac_default_prefix/etc/config.site
++fi
++for ac_site_file in "$ac_site_file1" "$ac_site_file2"
++do
++  test "x$ac_site_file" = xNONE && continue
++  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
++    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
++$as_echo "$as_me: loading site script $ac_site_file" >&6;}
++    sed 's/^/| /' "$ac_site_file" >&5
++    . "$ac_site_file" \
++      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++as_fn_error $? "failed to load site script $ac_site_file
++See \`config.log' for more details" "$LINENO" 5; }
++  fi
++done
++
++if test -r "$cache_file"; then
++  # Some versions of bash will fail to source /dev/null (special files
++  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
++  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
++    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
++$as_echo "$as_me: loading cache $cache_file" >&6;}
++    case $cache_file in
++      [\\/]* | ?:[\\/]* ) . "$cache_file";;
++      *)                      . "./$cache_file";;
++    esac
++  fi
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
++$as_echo "$as_me: creating cache $cache_file" >&6;}
++  >$cache_file
++fi
++
++# Check that the precious variables saved in the cache have kept the same
++# value.
++ac_cache_corrupted=false
++for ac_var in $ac_precious_vars; do
++  eval ac_old_set=\$ac_cv_env_${ac_var}_set
++  eval ac_new_set=\$ac_env_${ac_var}_set
++  eval ac_old_val=\$ac_cv_env_${ac_var}_value
++  eval ac_new_val=\$ac_env_${ac_var}_value
++  case $ac_old_set,$ac_new_set in
++    set,)
++      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
++$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
++      ac_cache_corrupted=: ;;
++    ,set)
++      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
++$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
++      ac_cache_corrupted=: ;;
++    ,);;
++    *)
++      if test "x$ac_old_val" != "x$ac_new_val"; then
++	# differences in whitespace do not lead to failure.
++	ac_old_val_w=`echo x $ac_old_val`
++	ac_new_val_w=`echo x $ac_new_val`
++	if test "$ac_old_val_w" != "$ac_new_val_w"; then
++	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
++$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
++	  ac_cache_corrupted=:
++	else
++	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
++$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
++	  eval $ac_var=\$ac_old_val
++	fi
++	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
++$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
++	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
++$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
++      fi;;
++  esac
++  # Pass precious variables to config.status.
++  if test "$ac_new_set" = set; then
++    case $ac_new_val in
++    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
++    *) ac_arg=$ac_var=$ac_new_val ;;
++    esac
++    case " $ac_configure_args " in
++      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
++      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
++    esac
++  fi
++done
++if $ac_cache_corrupted; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
++$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
++  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
++$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
++  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
++fi
++## -------------------- ##
++## Main body of script. ##
++## -------------------- ##
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++
++
++ac_aux_dir=
++for ac_dir in ../../../.. "$srcdir"/../../../..; do
++  if test -f "$ac_dir/install-sh"; then
++    ac_aux_dir=$ac_dir
++    ac_install_sh="$ac_aux_dir/install-sh -c"
++    break
++  elif test -f "$ac_dir/install.sh"; then
++    ac_aux_dir=$ac_dir
++    ac_install_sh="$ac_aux_dir/install.sh -c"
++    break
++  elif test -f "$ac_dir/shtool"; then
++    ac_aux_dir=$ac_dir
++    ac_install_sh="$ac_aux_dir/shtool install -c"
++    break
++  fi
++done
++if test -z "$ac_aux_dir"; then
++  as_fn_error $? "cannot find install-sh, install.sh, or shtool in ../../../.. \"$srcdir\"/../../../.." "$LINENO" 5
++fi
++
++# These three variables are undocumented and unsupported,
++# and are intended to be withdrawn in a future Autoconf release.
++# They can cause serious problems if a builder's source tree is in a directory
++# whose full name contains unusual characters.
++ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
++ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
++ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
++
++
++
++
++# Make sure we can run config.sub.
++$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
++  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
++$as_echo_n "checking build system type... " >&6; }
++if ${ac_cv_build+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  ac_build_alias=$build_alias
++test "x$ac_build_alias" = x &&
++  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
++test "x$ac_build_alias" = x &&
++  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
++ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
++  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
++$as_echo "$ac_cv_build" >&6; }
++case $ac_cv_build in
++*-*-*) ;;
++*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
++esac
++build=$ac_cv_build
++ac_save_IFS=$IFS; IFS='-'
++set x $ac_cv_build
++shift
++build_cpu=$1
++build_vendor=$2
++shift; shift
++# Remember, the first character of IFS is used to create $*,
++# except with old shells:
++build_os=$*
++IFS=$ac_save_IFS
++case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
++$as_echo_n "checking host system type... " >&6; }
++if ${ac_cv_host+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test "x$host_alias" = x; then
++  ac_cv_host=$ac_cv_build
++else
++  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
++    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
++fi
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
++$as_echo "$ac_cv_host" >&6; }
++case $ac_cv_host in
++*-*-*) ;;
++*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
++esac
++host=$ac_cv_host
++ac_save_IFS=$IFS; IFS='-'
++set x $ac_cv_host
++shift
++host_cpu=$1
++host_vendor=$2
++shift; shift
++# Remember, the first character of IFS is used to create $*,
++# except with old shells:
++host_os=$*
++IFS=$ac_save_IFS
++case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
++
++
++am__api_version='1.11'
++
++# Find a good install program.  We prefer a C program (faster),
++# so one script is as good as another.  But avoid the broken or
++# incompatible versions:
++# SysV /etc/install, /usr/sbin/install
++# SunOS /usr/etc/install
++# IRIX /sbin/install
++# AIX /bin/install
++# AmigaOS /C/install, which installs bootblocks on floppy discs
++# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
++# AFS /usr/afsws/bin/install, which mishandles nonexistent args
++# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
++# OS/2's system install, which has a completely different semantic
++# ./install, which can be erroneously created by make from ./install.sh.
++# Reject install programs that cannot install multiple files.
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
++$as_echo_n "checking for a BSD-compatible install... " >&6; }
++if test -z "$INSTALL"; then
++if ${ac_cv_path_install+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    # Account for people who put trailing slashes in PATH elements.
++case $as_dir/ in #((
++  ./ | .// | /[cC]/* | \
++  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
++  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
++  /usr/ucb/* ) ;;
++  *)
++    # OSF1 and SCO ODT 3.0 have their own names for install.
++    # Don't use installbsd from OSF since it installs stuff as root
++    # by default.
++    for ac_prog in ginstall scoinst install; do
++      for ac_exec_ext in '' $ac_executable_extensions; do
++	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
++	  if test $ac_prog = install &&
++	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
++	    # AIX install.  It has an incompatible calling convention.
++	    :
++	  elif test $ac_prog = install &&
++	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
++	    # program-specific install script used by HP pwplus--don't use.
++	    :
++	  else
++	    rm -rf conftest.one conftest.two conftest.dir
++	    echo one > conftest.one
++	    echo two > conftest.two
++	    mkdir conftest.dir
++	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
++	      test -s conftest.one && test -s conftest.two &&
++	      test -s conftest.dir/conftest.one &&
++	      test -s conftest.dir/conftest.two
++	    then
++	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
++	      break 3
++	    fi
++	  fi
++	fi
++      done
++    done
++    ;;
++esac
++
++  done
++IFS=$as_save_IFS
++
++rm -rf conftest.one conftest.two conftest.dir
++
++fi
++  if test "${ac_cv_path_install+set}" = set; then
++    INSTALL=$ac_cv_path_install
++  else
++    # As a last resort, use the slow shell script.  Don't cache a
++    # value for INSTALL within a source directory, because that will
++    # break other packages using the cache if that directory is
++    # removed, or if the value is a relative name.
++    INSTALL=$ac_install_sh
++  fi
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
++$as_echo "$INSTALL" >&6; }
++
++# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
++# It thinks the first close brace ends the variable substitution.
++test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
++
++test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
++
++test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
++$as_echo_n "checking whether build environment is sane... " >&6; }
++# Just in case
++sleep 1
++echo timestamp > conftest.file
++# Reject unsafe characters in $srcdir or the absolute working directory
++# name.  Accept space and tab only in the latter.
++am_lf='
++'
++case `pwd` in
++  *[\\\"\#\$\&\'\`$am_lf]*)
++    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
++esac
++case $srcdir in
++  *[\\\"\#\$\&\'\`$am_lf\ \	]*)
++    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
++esac
++
++# Do `set' in a subshell so we don't clobber the current shell's
++# arguments.  Must try -L first in case configure is actually a
++# symlink; some systems play weird games with the mod time of symlinks
++# (eg FreeBSD returns the mod time of the symlink's containing
++# directory).
++if (
++   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
++   if test "$*" = "X"; then
++      # -L didn't work.
++      set X `ls -t "$srcdir/configure" conftest.file`
++   fi
++   rm -f conftest.file
++   if test "$*" != "X $srcdir/configure conftest.file" \
++      && test "$*" != "X conftest.file $srcdir/configure"; then
++
++      # If neither matched, then we have a broken ls.  This can happen
++      # if, for instance, CONFIG_SHELL is bash and it inherits a
++      # broken ls alias from the environment.  This has actually
++      # happened.  Such a system could not be considered "sane".
++      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
++alias in your environment" "$LINENO" 5
++   fi
++
++   test "$2" = conftest.file
++   )
++then
++   # Ok.
++   :
++else
++   as_fn_error $? "newly created file is older than distributed files!
++Check your system clock" "$LINENO" 5
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
++$as_echo "yes" >&6; }
++test "$program_prefix" != NONE &&
++  program_transform_name="s&^&$program_prefix&;$program_transform_name"
++# Use a double $ so make ignores it.
++test "$program_suffix" != NONE &&
++  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
++# Double any \ or $.
++# By default was `s,x,x', remove it if useless.
++ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
++program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
++
++# expand $ac_aux_dir to an absolute path
++am_aux_dir=`cd $ac_aux_dir && pwd`
++
++if test x"${MISSING+set}" != xset; then
++  case $am_aux_dir in
++  *\ * | *\	*)
++    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
++  *)
++    MISSING="\${SHELL} $am_aux_dir/missing" ;;
++  esac
++fi
++# Use eval to expand $SHELL
++if eval "$MISSING --run true"; then
++  am_missing_run="$MISSING --run "
++else
++  am_missing_run=
++  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
++$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
++fi
++
++if test x"${install_sh}" != xset; then
++  case $am_aux_dir in
++  *\ * | *\	*)
++    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
++  *)
++    install_sh="\${SHELL} $am_aux_dir/install-sh"
++  esac
++fi
++
++# Installed binaries are usually stripped using `strip' when the user
++# run `make install-strip'.  However `strip' might not be the right
++# tool to use in cross-compilation environments, therefore Automake
++# will honor the `STRIP' environment variable to overrule this program.
++if test "$cross_compiling" != no; then
++  if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
++set dummy ${ac_tool_prefix}strip; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_STRIP+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$STRIP"; then
++  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++STRIP=$ac_cv_prog_STRIP
++if test -n "$STRIP"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
++$as_echo "$STRIP" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_STRIP"; then
++  ac_ct_STRIP=$STRIP
++  # Extract the first word of "strip", so it can be a program name with args.
++set dummy strip; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_STRIP"; then
++  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_STRIP="strip"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
++if test -n "$ac_ct_STRIP"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
++$as_echo "$ac_ct_STRIP" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_STRIP" = x; then
++    STRIP=":"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    STRIP=$ac_ct_STRIP
++  fi
++else
++  STRIP="$ac_cv_prog_STRIP"
++fi
++
++fi
++INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
++$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
++if test -z "$MKDIR_P"; then
++  if ${ac_cv_path_mkdir+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_prog in mkdir gmkdir; do
++	 for ac_exec_ext in '' $ac_executable_extensions; do
++	   { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
++	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
++	     'mkdir (GNU coreutils) '* | \
++	     'mkdir (coreutils) '* | \
++	     'mkdir (fileutils) '4.1*)
++	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
++	       break 3;;
++	   esac
++	 done
++       done
++  done
++IFS=$as_save_IFS
++
++fi
++
++  test -d ./--version && rmdir ./--version
++  if test "${ac_cv_path_mkdir+set}" = set; then
++    MKDIR_P="$ac_cv_path_mkdir -p"
++  else
++    # As a last resort, use the slow shell script.  Don't cache a
++    # value for MKDIR_P within a source directory, because that will
++    # break other packages using the cache if that directory is
++    # removed, or if the value is a relative name.
++    MKDIR_P="$ac_install_sh -d"
++  fi
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
++$as_echo "$MKDIR_P" >&6; }
++
++mkdir_p="$MKDIR_P"
++case $mkdir_p in
++  [\\/$]* | ?:[\\/]*) ;;
++  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
++esac
++
++for ac_prog in gawk mawk nawk awk
++do
++  # Extract the first word of "$ac_prog", so it can be a program name with args.
++set dummy $ac_prog; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_AWK+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$AWK"; then
++  ac_cv_prog_AWK="$AWK" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_AWK="$ac_prog"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++AWK=$ac_cv_prog_AWK
++if test -n "$AWK"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
++$as_echo "$AWK" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++  test -n "$AWK" && break
++done
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
++$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
++set x ${MAKE-make}
++ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
++if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  cat >conftest.make <<\_ACEOF
++SHELL = /bin/sh
++all:
++	@echo '@@@%%%=$(MAKE)=@@@%%%'
++_ACEOF
++# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
++case `${MAKE-make} -f conftest.make 2>/dev/null` in
++  *@@@%%%=?*=@@@%%%*)
++    eval ac_cv_prog_make_${ac_make}_set=yes;;
++  *)
++    eval ac_cv_prog_make_${ac_make}_set=no;;
++esac
++rm -f conftest.make
++fi
++if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
++$as_echo "yes" >&6; }
++  SET_MAKE=
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++  SET_MAKE="MAKE=${MAKE-make}"
++fi
++
++rm -rf .tst 2>/dev/null
++mkdir .tst 2>/dev/null
++if test -d .tst; then
++  am__leading_dot=.
++else
++  am__leading_dot=_
++fi
++rmdir .tst 2>/dev/null
++
++DEPDIR="${am__leading_dot}deps"
++
++ac_config_commands="$ac_config_commands depfiles"
++
++
++am_make=${MAKE-make}
++cat > confinc << 'END'
++am__doit:
++	@echo this is the am__doit target
++.PHONY: am__doit
++END
++# If we don't find an include directive, just comment out the code.
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
++$as_echo_n "checking for style of include used by $am_make... " >&6; }
++am__include="#"
++am__quote=
++_am_result=none
++# First try GNU make style include.
++echo "include confinc" > confmf
++# Ignore all kinds of additional output from `make'.
++case `$am_make -s -f confmf 2> /dev/null` in #(
++*the\ am__doit\ target*)
++  am__include=include
++  am__quote=
++  _am_result=GNU
++  ;;
++esac
++# Now try BSD make style include.
++if test "$am__include" = "#"; then
++   echo '.include "confinc"' > confmf
++   case `$am_make -s -f confmf 2> /dev/null` in #(
++   *the\ am__doit\ target*)
++     am__include=.include
++     am__quote="\""
++     _am_result=BSD
++     ;;
++   esac
++fi
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
++$as_echo "$_am_result" >&6; }
++rm -f confinc confmf
++
++# Check whether --enable-dependency-tracking was given.
++if test "${enable_dependency_tracking+set}" = set; then :
++  enableval=$enable_dependency_tracking;
++fi
++
++if test "x$enable_dependency_tracking" != xno; then
++  am_depcomp="$ac_aux_dir/depcomp"
++  AMDEPBACKSLASH='\'
++  am__nodep='_no'
++fi
++ if test "x$enable_dependency_tracking" != xno; then
++  AMDEP_TRUE=
++  AMDEP_FALSE='#'
++else
++  AMDEP_TRUE='#'
++  AMDEP_FALSE=
++fi
++
++
++
++# Check whether --enable-multilib was given.
++if test "${enable_multilib+set}" = set; then :
++  enableval=$enable_multilib; case "${enableval}" in
++  yes) multilib=yes ;;
++  no)  multilib=no ;;
++  *)   as_fn_error $? "bad value ${enableval} for multilib option" "$LINENO" 5 ;;
++ esac
++else
++  multilib=yes
++fi
++
++# Check whether --enable-target-optspace was given.
++if test "${enable_target_optspace+set}" = set; then :
++  enableval=$enable_target_optspace; case "${enableval}" in
++  yes) target_optspace=yes ;;
++  no)  target_optspace=no ;;
++  *)   as_fn_error $? "bad value ${enableval} for target-optspace option" "$LINENO" 5 ;;
++ esac
++else
++  target_optspace=
++fi
++
++# Check whether --enable-malloc-debugging was given.
++if test "${enable_malloc_debugging+set}" = set; then :
++  enableval=$enable_malloc_debugging; case "${enableval}" in
++  yes) malloc_debugging=yes ;;
++  no)  malloc_debugging=no ;;
++  *)   as_fn_error $? "bad value ${enableval} for malloc-debugging option" "$LINENO" 5 ;;
++ esac
++else
++  malloc_debugging=
++fi
++
++# Check whether --enable-newlib-multithread was given.
++if test "${enable_newlib_multithread+set}" = set; then :
++  enableval=$enable_newlib_multithread; case "${enableval}" in
++  yes) newlib_multithread=yes ;;
++  no)  newlib_multithread=no ;;
++  *)   as_fn_error $? "bad value ${enableval} for newlib-multithread option" "$LINENO" 5 ;;
++ esac
++else
++  newlib_multithread=yes
++fi
++
++# Check whether --enable-newlib-iconv was given.
++if test "${enable_newlib_iconv+set}" = set; then :
++  enableval=$enable_newlib_iconv; if test "${newlib_iconv+set}" != set; then
++   case "${enableval}" in
++     yes) newlib_iconv=yes ;;
++     no)  newlib_iconv=no ;;
++     *)   as_fn_error $? "bad value ${enableval} for newlib-iconv option" "$LINENO" 5 ;;
++   esac
++ fi
++else
++  newlib_iconv=${newlib_iconv}
++fi
++
++# Check whether --enable-newlib-elix-level was given.
++if test "${enable_newlib_elix_level+set}" = set; then :
++  enableval=$enable_newlib_elix_level; case "${enableval}" in
++  0)   newlib_elix_level=0 ;;
++  1)   newlib_elix_level=1 ;;
++  2)   newlib_elix_level=2 ;;
++  3)   newlib_elix_level=3 ;;
++  4)   newlib_elix_level=4 ;;
++  *)   as_fn_error $? "bad value ${enableval} for newlib-elix-level option" "$LINENO" 5 ;;
++ esac
++else
++  newlib_elix_level=0
++fi
++
++# Check whether --enable-newlib-io-float was given.
++if test "${enable_newlib_io_float+set}" = set; then :
++  enableval=$enable_newlib_io_float; case "${enableval}" in
++  yes) newlib_io_float=yes ;;
++  no)  newlib_io_float=no ;;
++  *)   as_fn_error $? "bad value ${enableval} for newlib-io-float option" "$LINENO" 5 ;;
++ esac
++else
++  newlib_io_float=yes
++fi
++
++# Check whether --enable-newlib-supplied-syscalls was given.
++if test "${enable_newlib_supplied_syscalls+set}" = set; then :
++  enableval=$enable_newlib_supplied_syscalls; case "${enableval}" in
++  yes) newlib_may_supply_syscalls=yes ;;
++  no)  newlib_may_supply_syscalls=no ;;
++  *)   as_fn_error $? "bad value ${enableval} for newlib-supplied-syscalls option" "$LINENO" 5 ;;
++ esac
++else
++  newlib_may_supply_syscalls=yes
++fi
++
++ if test x${newlib_may_supply_syscalls} = xyes; then
++  MAY_SUPPLY_SYSCALLS_TRUE=
++  MAY_SUPPLY_SYSCALLS_FALSE='#'
++else
++  MAY_SUPPLY_SYSCALLS_TRUE='#'
++  MAY_SUPPLY_SYSCALLS_FALSE=
++fi
++
++
++
++test -z "${with_target_subdir}" && with_target_subdir=.
++
++if test "${srcdir}" = "."; then
++  if test "${with_target_subdir}" != "."; then
++    newlib_basedir="${srcdir}/${with_multisrctop}../../../.."
++  else
++    newlib_basedir="${srcdir}/${with_multisrctop}../../.."
++  fi
++else
++  newlib_basedir="${srcdir}/../../.."
++fi
++
++
++
++
++if test "`cd $srcdir && pwd`" != "`pwd`"; then
++  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
++  # is not polluted with repeated "-I."
++  am__isrc=' -I$(srcdir)'
++  # test to see if srcdir already configured
++  if test -f $srcdir/config.status; then
++    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
++  fi
++fi
++
++# test whether we have cygpath
++if test -z "$CYGPATH_W"; then
++  if (cygpath --version) >/dev/null 2>/dev/null; then
++    CYGPATH_W='cygpath -w'
++  else
++    CYGPATH_W=echo
++  fi
++fi
++
++
++# Define the identity of the package.
++ PACKAGE='newlib'
++ VERSION='2.0.0'
++
++
++# Some tools Automake needs.
++
++ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
++
++
++AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
++
++
++AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
++
++
++AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
++
++
++MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
++
++# We need awk for the "check" target.  The system "awk" is bad on
++# some platforms.
++# Always define AMTAR for backward compatibility.  Yes, it's still used
++# in the wild :-(  We should find a proper way to deprecate it ...
++AMTAR='$${TAR-tar}'
++
++am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
++
++
++
++
++
++
++# FIXME: We temporarily define our own version of AC_PROG_CC.  This is
++# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS.  We
++# are probably using a cross compiler, which will not be able to fully
++# link an executable.  This should really be fixed in autoconf
++# itself.
++
++
++
++
++
++
++
++# Extract the first word of "gcc", so it can be a program name with args.
++set dummy gcc; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_CC+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_CC="gcc"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
++$as_echo "$CC" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++
++depcc="$CC"   am_compiler_list=
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
++$as_echo_n "checking dependency style of $depcc... " >&6; }
++if ${am_cv_CC_dependencies_compiler_type+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
++  # We make a subdir and do the tests there.  Otherwise we can end up
++  # making bogus files that we don't know about and never remove.  For
++  # instance it was reported that on HP-UX the gcc test will end up
++  # making a dummy file named `D' -- because `-MD' means `put the output
++  # in D'.
++  rm -rf conftest.dir
++  mkdir conftest.dir
++  # Copy depcomp to subdir because otherwise we won't find it if we're
++  # using a relative directory.
++  cp "$am_depcomp" conftest.dir
++  cd conftest.dir
++  # We will build objects and dependencies in a subdirectory because
++  # it helps to detect inapplicable dependency modes.  For instance
++  # both Tru64's cc and ICC support -MD to output dependencies as a
++  # side effect of compilation, but ICC will put the dependencies in
++  # the current directory while Tru64 will put them in the object
++  # directory.
++  mkdir sub
++
++  am_cv_CC_dependencies_compiler_type=none
++  if test "$am_compiler_list" = ""; then
++     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
++  fi
++  am__universal=false
++  case " $depcc " in #(
++     *\ -arch\ *\ -arch\ *) am__universal=true ;;
++     esac
++
++  for depmode in $am_compiler_list; do
++    # Setup a source with many dependencies, because some compilers
++    # like to wrap large dependency lists on column 80 (with \), and
++    # we should not choose a depcomp mode which is confused by this.
++    #
++    # We need to recreate these files for each test, as the compiler may
++    # overwrite some of them when testing with obscure command lines.
++    # This happens at least with the AIX C compiler.
++    : > sub/conftest.c
++    for i in 1 2 3 4 5 6; do
++      echo '#include "conftst'$i'.h"' >> sub/conftest.c
++      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
++      # Solaris 8's {/usr,}/bin/sh.
++      touch sub/conftst$i.h
++    done
++    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
++
++    # We check with `-c' and `-o' for the sake of the "dashmstdout"
++    # mode.  It turns out that the SunPro C++ compiler does not properly
++    # handle `-M -o', and we need to detect this.  Also, some Intel
++    # versions had trouble with output in subdirs
++    am__obj=sub/conftest.${OBJEXT-o}
++    am__minus_obj="-o $am__obj"
++    case $depmode in
++    gcc)
++      # This depmode causes a compiler race in universal mode.
++      test "$am__universal" = false || continue
++      ;;
++    nosideeffect)
++      # after this tag, mechanisms are not by side-effect, so they'll
++      # only be used when explicitly requested
++      if test "x$enable_dependency_tracking" = xyes; then
++	continue
++      else
++	break
++      fi
++      ;;
++    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
++      # This compiler won't grok `-c -o', but also, the minuso test has
++      # not run yet.  These depmodes are late enough in the game, and
++      # so weak that their functioning should not be impacted.
++      am__obj=conftest.${OBJEXT-o}
++      am__minus_obj=
++      ;;
++    none) break ;;
++    esac
++    if depmode=$depmode \
++       source=sub/conftest.c object=$am__obj \
++       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
++       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
++         >/dev/null 2>conftest.err &&
++       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
++       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
++       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
++       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
++      # icc doesn't choke on unknown options, it will just issue warnings
++      # or remarks (even with -Werror).  So we grep stderr for any message
++      # that says an option was ignored or not supported.
++      # When given -MP, icc 7.0 and 7.1 complain thusly:
++      #   icc: Command line warning: ignoring option '-M'; no argument required
++      # The diagnosis changed in icc 8.0:
++      #   icc: Command line remark: option '-MP' not supported
++      if (grep 'ignoring option' conftest.err ||
++          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
++        am_cv_CC_dependencies_compiler_type=$depmode
++        break
++      fi
++    fi
++  done
++
++  cd ..
++  rm -rf conftest.dir
++else
++  am_cv_CC_dependencies_compiler_type=none
++fi
++
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
++$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
++CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
++
++ if
++  test "x$enable_dependency_tracking" != xno \
++  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
++  am__fastdepCC_TRUE=
++  am__fastdepCC_FALSE='#'
++else
++  am__fastdepCC_TRUE='#'
++  am__fastdepCC_FALSE=
++fi
++
++
++if test -z "$CC"; then
++  # Extract the first word of "cc", so it can be a program name with args.
++set dummy cc; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_CC+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++  ac_prog_rejected=no
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
++       ac_prog_rejected=yes
++       continue
++     fi
++    ac_cv_prog_CC="cc"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++if test $ac_prog_rejected = yes; then
++  # We found a bogon in the path, so make sure we never use it.
++  set dummy $ac_cv_prog_CC
++  shift
++  if test $# != 0; then
++    # We chose a different compiler from the bogus one.
++    # However, it has the same basename, so the bogon will be chosen
++    # first if we set CC to just the basename; use the full file name.
++    shift
++    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
++  fi
++fi
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
++$as_echo "$CC" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++  test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5
++fi
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU C" >&5
++$as_echo_n "checking whether we are using GNU C... " >&6; }
++if ${ac_cv_c_compiler_gnu+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  cat > conftest.c <<EOF
++#ifdef __GNUC__
++  yes;
++#endif
++EOF
++if { ac_try='${CC-cc} -E conftest.c'
++  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++  test $ac_status = 0; }; } | egrep yes >/dev/null 2>&1; then
++  ac_cv_c_compiler_gnu=yes
++else
++  ac_cv_c_compiler_gnu=no
++fi
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
++$as_echo "$ac_cv_c_compiler_gnu" >&6; }
++
++if test $ac_cv_c_compiler_gnu = yes; then
++  GCC=yes
++  ac_test_CFLAGS="${CFLAGS+set}"
++  ac_save_CFLAGS="$CFLAGS"
++  ac_test_CFLAGS=${CFLAGS+set}
++ac_save_CFLAGS=$CFLAGS
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
++$as_echo_n "checking whether $CC accepts -g... " >&6; }
++if ${ac_cv_prog_cc_g+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  ac_save_c_werror_flag=$ac_c_werror_flag
++   ac_c_werror_flag=yes
++   ac_cv_prog_cc_g=no
++   CFLAGS="-g"
++   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  ac_cv_prog_cc_g=yes
++else
++  CFLAGS=""
++      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++
++else
++  ac_c_werror_flag=$ac_save_c_werror_flag
++	 CFLAGS="-g"
++	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"; then :
++  ac_cv_prog_cc_g=yes
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++   ac_c_werror_flag=$ac_save_c_werror_flag
++fi
++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
++$as_echo "$ac_cv_prog_cc_g" >&6; }
++if test "$ac_test_CFLAGS" = set; then
++  CFLAGS=$ac_save_CFLAGS
++elif test $ac_cv_prog_cc_g = yes; then
++  if test "$GCC" = yes; then
++    CFLAGS="-g -O2"
++  else
++    CFLAGS="-g"
++  fi
++else
++  if test "$GCC" = yes; then
++    CFLAGS="-O2"
++  else
++    CFLAGS=
++  fi
++fi
++  if test "$ac_test_CFLAGS" = set; then
++    CFLAGS="$ac_save_CFLAGS"
++  elif test $ac_cv_prog_cc_g = yes; then
++    CFLAGS="-g -O2"
++  else
++    CFLAGS="-O2"
++  fi
++else
++  GCC=
++  test "${CFLAGS+set}" = set || CFLAGS="-g"
++fi
++
++
++if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
++set dummy ${ac_tool_prefix}as; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_AS+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$AS"; then
++  ac_cv_prog_AS="$AS" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_AS="${ac_tool_prefix}as"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++AS=$ac_cv_prog_AS
++if test -n "$AS"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
++$as_echo "$AS" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_AS"; then
++  ac_ct_AS=$AS
++  # Extract the first word of "as", so it can be a program name with args.
++set dummy as; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_ac_ct_AS+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_AS"; then
++  ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_AS="as"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_AS=$ac_cv_prog_ac_ct_AS
++if test -n "$ac_ct_AS"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5
++$as_echo "$ac_ct_AS" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_AS" = x; then
++    AS=""
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    AS=$ac_ct_AS
++  fi
++else
++  AS="$ac_cv_prog_AS"
++fi
++
++if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
++set dummy ${ac_tool_prefix}ar; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_AR+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$AR"; then
++  ac_cv_prog_AR="$AR" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_AR="${ac_tool_prefix}ar"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++AR=$ac_cv_prog_AR
++if test -n "$AR"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
++$as_echo "$AR" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_AR"; then
++  ac_ct_AR=$AR
++  # Extract the first word of "ar", so it can be a program name with args.
++set dummy ar; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_ac_ct_AR+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_AR"; then
++  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_AR="ar"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_AR=$ac_cv_prog_ac_ct_AR
++if test -n "$ac_ct_AR"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
++$as_echo "$ac_ct_AR" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_AR" = x; then
++    AR=""
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    AR=$ac_ct_AR
++  fi
++else
++  AR="$ac_cv_prog_AR"
++fi
++
++if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
++set dummy ${ac_tool_prefix}ranlib; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_RANLIB+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$RANLIB"; then
++  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++RANLIB=$ac_cv_prog_RANLIB
++if test -n "$RANLIB"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
++$as_echo "$RANLIB" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_RANLIB"; then
++  ac_ct_RANLIB=$RANLIB
++  # Extract the first word of "ranlib", so it can be a program name with args.
++set dummy ranlib; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_RANLIB"; then
++  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_RANLIB="ranlib"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
++if test -n "$ac_ct_RANLIB"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
++$as_echo "$ac_ct_RANLIB" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_RANLIB" = x; then
++    RANLIB=":"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    RANLIB=$ac_ct_RANLIB
++  fi
++else
++  RANLIB="$ac_cv_prog_RANLIB"
++fi
++
++if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}readelf", so it can be a program name with args.
++set dummy ${ac_tool_prefix}readelf; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_READELF+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$READELF"; then
++  ac_cv_prog_READELF="$READELF" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_READELF="${ac_tool_prefix}readelf"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++READELF=$ac_cv_prog_READELF
++if test -n "$READELF"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $READELF" >&5
++$as_echo "$READELF" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++
++fi
++if test -z "$ac_cv_prog_READELF"; then
++  ac_ct_READELF=$READELF
++  # Extract the first word of "readelf", so it can be a program name with args.
++set dummy readelf; ac_word=$2
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
++$as_echo_n "checking for $ac_word... " >&6; }
++if ${ac_cv_prog_ac_ct_READELF+:} false; then :
++  $as_echo_n "(cached) " >&6
++else
++  if test -n "$ac_ct_READELF"; then
++  ac_cv_prog_ac_ct_READELF="$ac_ct_READELF" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    for ac_exec_ext in '' $ac_executable_extensions; do
++  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
++    ac_cv_prog_ac_ct_READELF="readelf"
++    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++  done
++IFS=$as_save_IFS
++
++fi
++fi
++ac_ct_READELF=$ac_cv_prog_ac_ct_READELF
++if test -n "$ac_ct_READELF"; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_READELF" >&5
++$as_echo "$ac_ct_READELF" >&6; }
++else
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
++$as_echo "no" >&6; }
++fi
++
++  if test "x$ac_ct_READELF" = x; then
++    READELF=":"
++  else
++    case $cross_compiling:$ac_tool_warned in
++yes:)
++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
++ac_tool_warned=yes ;;
++esac
++    READELF=$ac_ct_READELF
++  fi
++else
++  READELF="$ac_cv_prog_READELF"
++fi
++
++
++
++
++# Hack to ensure that INSTALL won't be set to "../" with autoconf 2.13.  */
++ac_given_INSTALL=$INSTALL
++
++
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
++$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
++    # Check whether --enable-maintainer-mode was given.
++if test "${enable_maintainer_mode+set}" = set; then :
++  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
++else
++  USE_MAINTAINER_MODE=no
++fi
++
++  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
++$as_echo "$USE_MAINTAINER_MODE" >&6; }
++   if test $USE_MAINTAINER_MODE = yes; then
++  MAINTAINER_MODE_TRUE=
++  MAINTAINER_MODE_FALSE='#'
++else
++  MAINTAINER_MODE_TRUE='#'
++  MAINTAINER_MODE_FALSE=
++fi
++
++  MAINT=$MAINTAINER_MODE_TRUE
++
++
++# By default we simply use the C compiler to build assembly code.
++
++test "${CCAS+set}" = set || CCAS=$CC
++test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
++
++
++
++
++# We need AC_EXEEXT to keep automake happy in cygnus mode.  However,
++# at least currently, we never actually build a program, so we never
++# need to use $(EXEEXT).  Moreover, the test for EXEEXT normally
++# fails, because we are probably configuring with a cross compiler
++# which can't create executables.  So we include AC_EXEEXT to keep
++# automake happy, but we don't execute it, since we don't care about
++# the result.
++if false; then
++
++  dummy_var=1
++fi
++
++. ${newlib_basedir}/configure.host
++
++newlib_cflags="${newlib_cflags} -fno-builtin"
++
++NEWLIB_CFLAGS=${newlib_cflags}
++
++
++NO_INCLUDE_LIST=${noinclude}
++
++
++LDFLAGS=${ldflags}
++
++
++ if test x${newlib_elix_level} = x0; then
++  ELIX_LEVEL_0_TRUE=
++  ELIX_LEVEL_0_FALSE='#'
++else
++  ELIX_LEVEL_0_TRUE='#'
++  ELIX_LEVEL_0_FALSE=
++fi
++
++ if test x${newlib_elix_level} = x1; then
++  ELIX_LEVEL_1_TRUE=
++  ELIX_LEVEL_1_FALSE='#'
++else
++  ELIX_LEVEL_1_TRUE='#'
++  ELIX_LEVEL_1_FALSE=
++fi
++
++ if test x${newlib_elix_level} = x2; then
++  ELIX_LEVEL_2_TRUE=
++  ELIX_LEVEL_2_FALSE='#'
++else
++  ELIX_LEVEL_2_TRUE='#'
++  ELIX_LEVEL_2_FALSE=
++fi
++
++ if test x${newlib_elix_level} = x3; then
++  ELIX_LEVEL_3_TRUE=
++  ELIX_LEVEL_3_FALSE='#'
++else
++  ELIX_LEVEL_3_TRUE='#'
++  ELIX_LEVEL_3_FALSE=
++fi
++
++ if test x${newlib_elix_level} = x4; then
++  ELIX_LEVEL_4_TRUE=
++  ELIX_LEVEL_4_FALSE='#'
++else
++  ELIX_LEVEL_4_TRUE='#'
++  ELIX_LEVEL_4_FALSE=
++fi
++
++
++ if test x${use_libtool} = xyes; then
++  USE_LIBTOOL_TRUE=
++  USE_LIBTOOL_FALSE='#'
++else
++  USE_LIBTOOL_TRUE='#'
++  USE_LIBTOOL_FALSE=
++fi
++
++
++# Hard-code OBJEXT.  Normally it is set by AC_OBJEXT, but we
++# use oext, which is set in configure.host based on the target platform.
++OBJEXT=${oext}
++
++
++
++
++
++
++
++
++
++
++
++ac_config_files="$ac_config_files Makefile"
++
++cat >confcache <<\_ACEOF
++# This file is a shell script that caches the results of configure
++# tests run on this system so they can be shared between configure
++# scripts and configure runs, see configure's option --config-cache.
++# It is not useful on other systems.  If it contains results you don't
++# want to keep, you may remove or edit it.
++#
++# config.status only pays attention to the cache file if you give it
++# the --recheck option to rerun configure.
++#
++# `ac_cv_env_foo' variables (set or unset) will be overridden when
++# loading this file, other *unset* `ac_cv_foo' will be assigned the
++# following values.
++
++_ACEOF
++
++# The following way of writing the cache mishandles newlines in values,
++# but we know of no workaround that is simple, portable, and efficient.
++# So, we kill variables containing newlines.
++# Ultrix sh set writes to stderr and can't be redirected directly,
++# and sets the high bit in the cache file unless we assign to the vars.
++(
++  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
++    eval ac_val=\$$ac_var
++    case $ac_val in #(
++    *${as_nl}*)
++      case $ac_var in #(
++      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
++$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
++      esac
++      case $ac_var in #(
++      _ | IFS | as_nl) ;; #(
++      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
++      *) { eval $ac_var=; unset $ac_var;} ;;
++      esac ;;
++    esac
++  done
++
++  (set) 2>&1 |
++    case $as_nl`(ac_space=' '; set) 2>&1` in #(
++    *${as_nl}ac_space=\ *)
++      # `set' does not quote correctly, so add quotes: double-quote
++      # substitution turns \\\\ into \\, and sed turns \\ into \.
++      sed -n \
++	"s/'/'\\\\''/g;
++	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
++      ;; #(
++    *)
++      # `set' quotes correctly as required by POSIX, so do not add quotes.
++      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
++      ;;
++    esac |
++    sort
++) |
++  sed '
++     /^ac_cv_env_/b end
++     t clear
++     :clear
++     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
++     t end
++     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
++     :end' >>confcache
++if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
++  if test -w "$cache_file"; then
++    if test "x$cache_file" != "x/dev/null"; then
++      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
++$as_echo "$as_me: updating cache $cache_file" >&6;}
++      if test ! -f "$cache_file" || test -h "$cache_file"; then
++	cat confcache >"$cache_file"
++      else
++        case $cache_file in #(
++        */* | ?:*)
++	  mv -f confcache "$cache_file"$$ &&
++	  mv -f "$cache_file"$$ "$cache_file" ;; #(
++        *)
++	  mv -f confcache "$cache_file" ;;
++	esac
++      fi
++    fi
++  else
++    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
++$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
++  fi
++fi
++rm -f confcache
++
++test "x$prefix" = xNONE && prefix=$ac_default_prefix
++# Let make expand exec_prefix.
++test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
++
++# Transform confdefs.h into DEFS.
++# Protect against shell expansion while executing Makefile rules.
++# Protect against Makefile macro expansion.
++#
++# If the first sed substitution is executed (which looks for macros that
++# take arguments), then branch to the quote section.  Otherwise,
++# look for a macro that doesn't take arguments.
++ac_script='
++:mline
++/\\$/{
++ N
++ s,\\\n,,
++ b mline
++}
++t clear
++:clear
++s/^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*([^)]*)\)[	 ]*\(.*\)/-D\1=\2/g
++t quote
++s/^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\)/-D\1=\2/g
++t quote
++b any
++:quote
++s/[	 `~#$^&*(){}\\|;'\''"<>?]/\\&/g
++s/\[/\\&/g
++s/\]/\\&/g
++s/\$/$$/g
++H
++:any
++${
++	g
++	s/^\n//
++	s/\n/ /g
++	p
++}
++'
++DEFS=`sed -n "$ac_script" confdefs.h`
++
++
++ac_libobjs=
++ac_ltlibobjs=
++U=
++for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
++  # 1. Remove the extension, and $U if already installed.
++  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
++  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
++  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
++  #    will be set to the directory where LIBOBJS objects are built.
++  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
++  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
++done
++LIBOBJS=$ac_libobjs
++
++LTLIBOBJS=$ac_ltlibobjs
++
++
++if test -z "${MAY_SUPPLY_SYSCALLS_TRUE}" && test -z "${MAY_SUPPLY_SYSCALLS_FALSE}"; then
++  as_fn_error $? "conditional \"MAY_SUPPLY_SYSCALLS\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
++
++if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
++  as_fn_error $? "conditional \"AMDEP\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
++if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
++  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
++if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
++  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
++if test -z "${ELIX_LEVEL_0_TRUE}" && test -z "${ELIX_LEVEL_0_FALSE}"; then
++  as_fn_error $? "conditional \"ELIX_LEVEL_0\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
++if test -z "${ELIX_LEVEL_1_TRUE}" && test -z "${ELIX_LEVEL_1_FALSE}"; then
++  as_fn_error $? "conditional \"ELIX_LEVEL_1\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
++if test -z "${ELIX_LEVEL_2_TRUE}" && test -z "${ELIX_LEVEL_2_FALSE}"; then
++  as_fn_error $? "conditional \"ELIX_LEVEL_2\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
++if test -z "${ELIX_LEVEL_3_TRUE}" && test -z "${ELIX_LEVEL_3_FALSE}"; then
++  as_fn_error $? "conditional \"ELIX_LEVEL_3\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
++if test -z "${ELIX_LEVEL_4_TRUE}" && test -z "${ELIX_LEVEL_4_FALSE}"; then
++  as_fn_error $? "conditional \"ELIX_LEVEL_4\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
++if test -z "${USE_LIBTOOL_TRUE}" && test -z "${USE_LIBTOOL_FALSE}"; then
++  as_fn_error $? "conditional \"USE_LIBTOOL\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
++
++: "${CONFIG_STATUS=./config.status}"
++ac_write_fail=0
++ac_clean_files_save=$ac_clean_files
++ac_clean_files="$ac_clean_files $CONFIG_STATUS"
++{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
++$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
++as_write_fail=0
++cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
++#! $SHELL
++# Generated by $as_me.
++# Run this file to recreate the current configuration.
++# Compiler output produced by configure, useful for debugging
++# configure, is in config.log if it exists.
++
++debug=false
++ac_cs_recheck=false
++ac_cs_silent=false
++
++SHELL=\${CONFIG_SHELL-$SHELL}
++export SHELL
++_ASEOF
++cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
++## -------------------- ##
++## M4sh Initialization. ##
++## -------------------- ##
++
++# Be more Bourne compatible
++DUALCASE=1; export DUALCASE # for MKS sh
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
++  emulate sh
++  NULLCMD=:
++  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
++  # is contrary to our usage.  Disable this feature.
++  alias -g '${1+"$@"}'='"$@"'
++  setopt NO_GLOB_SUBST
++else
++  case `(set -o) 2>/dev/null` in #(
++  *posix*) :
++    set -o posix ;; #(
++  *) :
++     ;;
++esac
++fi
++
++
++as_nl='
++'
++export as_nl
++# Printing a long string crashes Solaris 7 /usr/bin/printf.
++as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
++as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
++# Prefer a ksh shell builtin over an external printf program on Solaris,
++# but without wasting forks for bash or zsh.
++if test -z "$BASH_VERSION$ZSH_VERSION" \
++    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
++  as_echo='print -r --'
++  as_echo_n='print -rn --'
++elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
++  as_echo='printf %s\n'
++  as_echo_n='printf %s'
++else
++  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
++    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
++    as_echo_n='/usr/ucb/echo -n'
++  else
++    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
++    as_echo_n_body='eval
++      arg=$1;
++      case $arg in #(
++      *"$as_nl"*)
++	expr "X$arg" : "X\\(.*\\)$as_nl";
++	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
++      esac;
++      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
++    '
++    export as_echo_n_body
++    as_echo_n='sh -c $as_echo_n_body as_echo'
++  fi
++  export as_echo_body
++  as_echo='sh -c $as_echo_body as_echo'
++fi
++
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++  PATH_SEPARATOR=:
++  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
++    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
++      PATH_SEPARATOR=';'
++  }
++fi
++
++
++# IFS
++# We need space, tab and new line, in precisely that order.  Quoting is
++# there to prevent editors from complaining about space-tab.
++# (If _AS_PATH_WALK were called with IFS unset, it would disable word
++# splitting by setting IFS to empty value.)
++IFS=" ""	$as_nl"
++
++# Find who we are.  Look in the path if we contain no directory separator.
++as_myself=
++case $0 in #((
++  *[\\/]* ) as_myself=$0 ;;
++  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
++  done
++IFS=$as_save_IFS
++
++     ;;
++esac
++# We did not find ourselves, most probably we were run as `sh COMMAND'
++# in which case we are not to be found in the path.
++if test "x$as_myself" = x; then
++  as_myself=$0
++fi
++if test ! -f "$as_myself"; then
++  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
++  exit 1
++fi
++
++# Unset variables that we do not need and which cause bugs (e.g. in
++# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
++# suppresses any "Segmentation fault" message there.  '((' could
++# trigger a bug in pdksh 5.2.14.
++for as_var in BASH_ENV ENV MAIL MAILPATH
++do eval test x\${$as_var+set} = xset \
++  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
++done
++PS1='$ '
++PS2='> '
++PS4='+ '
++
++# NLS nuisances.
++LC_ALL=C
++export LC_ALL
++LANGUAGE=C
++export LANGUAGE
++
++# CDPATH.
++(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
++
++
++# as_fn_error STATUS ERROR [LINENO LOG_FD]
++# ----------------------------------------
++# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
++# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
++# script with STATUS, using 1 if that was 0.
++as_fn_error ()
++{
++  as_status=$1; test $as_status -eq 0 && as_status=1
++  if test "$4"; then
++    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
++  fi
++  $as_echo "$as_me: error: $2" >&2
++  as_fn_exit $as_status
++} # as_fn_error
++
++
++# as_fn_set_status STATUS
++# -----------------------
++# Set $? to STATUS, without forking.
++as_fn_set_status ()
++{
++  return $1
++} # as_fn_set_status
++
++# as_fn_exit STATUS
++# -----------------
++# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
++as_fn_exit ()
++{
++  set +e
++  as_fn_set_status $1
++  exit $1
++} # as_fn_exit
++
++# as_fn_unset VAR
++# ---------------
++# Portably unset VAR.
++as_fn_unset ()
++{
++  { eval $1=; unset $1;}
++}
++as_unset=as_fn_unset
++# as_fn_append VAR VALUE
++# ----------------------
++# Append the text in VALUE to the end of the definition contained in VAR. Take
++# advantage of any shell optimizations that allow amortized linear growth over
++# repeated appends, instead of the typical quadratic growth present in naive
++# implementations.
++if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
++  eval 'as_fn_append ()
++  {
++    eval $1+=\$2
++  }'
++else
++  as_fn_append ()
++  {
++    eval $1=\$$1\$2
++  }
++fi # as_fn_append
++
++# as_fn_arith ARG...
++# ------------------
++# Perform arithmetic evaluation on the ARGs, and store the result in the
++# global $as_val. Take advantage of shells that can avoid forks. The arguments
++# must be portable across $(()) and expr.
++if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
++  eval 'as_fn_arith ()
++  {
++    as_val=$(( $* ))
++  }'
++else
++  as_fn_arith ()
++  {
++    as_val=`expr "$@" || test $? -eq 1`
++  }
++fi # as_fn_arith
++
++
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++   test "X`expr 00001 : '.*\(...\)'`" = X001; then
++  as_expr=expr
++else
++  as_expr=false
++fi
++
++if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
++  as_basename=basename
++else
++  as_basename=false
++fi
++
++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
++  as_dirname=dirname
++else
++  as_dirname=false
++fi
++
++as_me=`$as_basename -- "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++	 X"$0" : 'X\(//\)$' \| \
++	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X/"$0" |
++    sed '/^.*\/\([^/][^/]*\)\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\/\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\/\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`
++
++# Avoid depending upon Character Ranges.
++as_cr_letters='abcdefghijklmnopqrstuvwxyz'
++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
++as_cr_Letters=$as_cr_letters$as_cr_LETTERS
++as_cr_digits='0123456789'
++as_cr_alnum=$as_cr_Letters$as_cr_digits
++
++ECHO_C= ECHO_N= ECHO_T=
++case `echo -n x` in #(((((
++-n*)
++  case `echo 'xy\c'` in
++  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
++  xy)  ECHO_C='\c';;
++  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
++       ECHO_T='	';;
++  esac;;
++*)
++  ECHO_N='-n';;
++esac
++
++rm -f conf$$ conf$$.exe conf$$.file
++if test -d conf$$.dir; then
++  rm -f conf$$.dir/conf$$.file
++else
++  rm -f conf$$.dir
++  mkdir conf$$.dir 2>/dev/null
++fi
++if (echo >conf$$.file) 2>/dev/null; then
++  if ln -s conf$$.file conf$$ 2>/dev/null; then
++    as_ln_s='ln -s'
++    # ... but there are two gotchas:
++    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
++    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
++    # In both cases, we have to default to `cp -p'.
++    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
++      as_ln_s='cp -p'
++  elif ln conf$$.file conf$$ 2>/dev/null; then
++    as_ln_s=ln
++  else
++    as_ln_s='cp -p'
++  fi
++else
++  as_ln_s='cp -p'
++fi
++rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
++rmdir conf$$.dir 2>/dev/null
++
++
++# as_fn_mkdir_p
++# -------------
++# Create "$as_dir" as a directory, including parents if necessary.
++as_fn_mkdir_p ()
++{
++
++  case $as_dir in #(
++  -*) as_dir=./$as_dir;;
++  esac
++  test -d "$as_dir" || eval $as_mkdir_p || {
++    as_dirs=
++    while :; do
++      case $as_dir in #(
++      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
++      *) as_qdir=$as_dir;;
++      esac
++      as_dirs="'$as_qdir' $as_dirs"
++      as_dir=`$as_dirname -- "$as_dir" ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++	 X"$as_dir" : 'X\(//\)[^/]' \| \
++	 X"$as_dir" : 'X\(//\)$' \| \
++	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$as_dir" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)[^/].*/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`
++      test -d "$as_dir" && break
++    done
++    test -z "$as_dirs" || eval "mkdir $as_dirs"
++  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
++
++
++} # as_fn_mkdir_p
++if mkdir -p . 2>/dev/null; then
++  as_mkdir_p='mkdir -p "$as_dir"'
++else
++  test -d ./-p && rmdir ./-p
++  as_mkdir_p=false
++fi
++
++if test -x / >/dev/null 2>&1; then
++  as_test_x='test -x'
++else
++  if ls -dL / >/dev/null 2>&1; then
++    as_ls_L_option=L
++  else
++    as_ls_L_option=
++  fi
++  as_test_x='
++    eval sh -c '\''
++      if test -d "$1"; then
++	test -d "$1/.";
++      else
++	case $1 in #(
++	-*)set "./$1";;
++	esac;
++	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
++	???[sx]*):;;*)false;;esac;fi
++    '\'' sh
++  '
++fi
++as_executable_p=$as_test_x
++
++# Sed expression to map a string onto a valid CPP name.
++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
++
++# Sed expression to map a string onto a valid variable name.
++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
++
++
++exec 6>&1
++## ----------------------------------- ##
++## Main body of $CONFIG_STATUS script. ##
++## ----------------------------------- ##
++_ASEOF
++test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++# Save the log message, to keep $0 and so on meaningful, and to
++# report actual input values of CONFIG_FILES etc. instead of their
++# values after options handling.
++ac_log="
++This file was extended by newlib $as_me 2.0.0, which was
++generated by GNU Autoconf 2.68.  Invocation command line was
++
++  CONFIG_FILES    = $CONFIG_FILES
++  CONFIG_HEADERS  = $CONFIG_HEADERS
++  CONFIG_LINKS    = $CONFIG_LINKS
++  CONFIG_COMMANDS = $CONFIG_COMMANDS
++  $ $0 $@
++
++on `(hostname || uname -n) 2>/dev/null | sed 1q`
++"
++
++_ACEOF
++
++case $ac_config_files in *"
++"*) set x $ac_config_files; shift; ac_config_files=$*;;
++esac
++
++
++
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++# Files that config.status was made for.
++config_files="$ac_config_files"
++config_commands="$ac_config_commands"
++
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++ac_cs_usage="\
++\`$as_me' instantiates files and other configuration actions
++from templates according to the current configuration.  Unless the files
++and actions are specified as TAGs, all are instantiated by default.
++
++Usage: $0 [OPTION]... [TAG]...
++
++  -h, --help       print this help, then exit
++  -V, --version    print version number and configuration settings, then exit
++      --config     print configuration, then exit
++  -q, --quiet, --silent
++                   do not print progress messages
++  -d, --debug      don't remove temporary files
++      --recheck    update $as_me by reconfiguring in the same conditions
++      --file=FILE[:TEMPLATE]
++                   instantiate the configuration file FILE
++
++Configuration files:
++$config_files
++
++Configuration commands:
++$config_commands
++
++Report bugs to the package provider."
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
++ac_cs_version="\\
++newlib config.status 2.0.0
++configured by $0, generated by GNU Autoconf 2.68,
++  with options \\"\$ac_cs_config\\"
++
++Copyright (C) 2010 Free Software Foundation, Inc.
++This config.status script is free software; the Free Software Foundation
++gives unlimited permission to copy, distribute and modify it."
++
++ac_pwd='$ac_pwd'
++srcdir='$srcdir'
++INSTALL='$INSTALL'
++MKDIR_P='$MKDIR_P'
++AWK='$AWK'
++test -n "\$AWK" || AWK=awk
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++# The default lists apply if the user does not specify any file.
++ac_need_defaults=:
++while test $# != 0
++do
++  case $1 in
++  --*=?*)
++    ac_option=`expr "X$1" : 'X\([^=]*\)='`
++    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
++    ac_shift=:
++    ;;
++  --*=)
++    ac_option=`expr "X$1" : 'X\([^=]*\)='`
++    ac_optarg=
++    ac_shift=:
++    ;;
++  *)
++    ac_option=$1
++    ac_optarg=$2
++    ac_shift=shift
++    ;;
++  esac
++
++  case $ac_option in
++  # Handling of the options.
++  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
++    ac_cs_recheck=: ;;
++  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
++    $as_echo "$ac_cs_version"; exit ;;
++  --config | --confi | --conf | --con | --co | --c )
++    $as_echo "$ac_cs_config"; exit ;;
++  --debug | --debu | --deb | --de | --d | -d )
++    debug=: ;;
++  --file | --fil | --fi | --f )
++    $ac_shift
++    case $ac_optarg in
++    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
++    '') as_fn_error $? "missing file argument" ;;
++    esac
++    as_fn_append CONFIG_FILES " '$ac_optarg'"
++    ac_need_defaults=false;;
++  --he | --h |  --help | --hel | -h )
++    $as_echo "$ac_cs_usage"; exit ;;
++  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++  | -silent | --silent | --silen | --sile | --sil | --si | --s)
++    ac_cs_silent=: ;;
++
++  # This is an error.
++  -*) as_fn_error $? "unrecognized option: \`$1'
++Try \`$0 --help' for more information." ;;
++
++  *) as_fn_append ac_config_targets " $1"
++     ac_need_defaults=false ;;
++
++  esac
++  shift
++done
++
++ac_configure_extra_args=
++
++if $ac_cs_silent; then
++  exec 6>/dev/null
++  ac_configure_extra_args="$ac_configure_extra_args --silent"
++fi
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++if \$ac_cs_recheck; then
++  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
++  shift
++  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
++  CONFIG_SHELL='$SHELL'
++  export CONFIG_SHELL
++  exec "\$@"
++fi
++
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++exec 5>>config.log
++{
++  echo
++  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
++## Running $as_me. ##
++_ASBOX
++  $as_echo "$ac_log"
++} >&5
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++#
++# INIT-COMMANDS
++#
++AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
++
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++
++# Handling of arguments.
++for ac_config_target in $ac_config_targets
++do
++  case $ac_config_target in
++    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
++    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
++
++  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
++  esac
++done
++
++
++# If the user did not use the arguments to specify the items to instantiate,
++# then the envvar interface is used.  Set only those that are not.
++# We use the long form for the default assignment because of an extremely
++# bizarre bug on SunOS 4.1.3.
++if $ac_need_defaults; then
++  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
++  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
++fi
++
++# Have a temporary directory for convenience.  Make it in the build tree
++# simply because there is no reason against having it here, and in addition,
++# creating and moving files from /tmp can sometimes cause problems.
++# Hook for its removal unless debugging.
++# Note that there is a small window in which the directory will not be cleaned:
++# after its creation but before its name has been assigned to `$tmp'.
++$debug ||
++{
++  tmp= ac_tmp=
++  trap 'exit_status=$?
++  : "${ac_tmp:=$tmp}"
++  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
++' 0
++  trap 'as_fn_exit 1' 1 2 13 15
++}
++# Create a (secure) tmp directory for tmp files.
++
++{
++  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
++  test -d "$tmp"
++}  ||
++{
++  tmp=./conf$$-$RANDOM
++  (umask 077 && mkdir "$tmp")
++} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
++ac_tmp=$tmp
++
++# Set up the scripts for CONFIG_FILES section.
++# No need to generate them if there are no CONFIG_FILES.
++# This happens for instance with `./config.status config.h'.
++if test -n "$CONFIG_FILES"; then
++
++
++ac_cr=`echo X | tr X '\015'`
++# On cygwin, bash can eat \r inside `` if the user requested igncr.
++# But we know of no other shell where ac_cr would be empty at this
++# point, so we can use a bashism as a fallback.
++if test "x$ac_cr" = x; then
++  eval ac_cr=\$\'\\r\'
++fi
++ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
++if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
++  ac_cs_awk_cr='\\r'
++else
++  ac_cs_awk_cr=$ac_cr
++fi
++
++echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
++_ACEOF
++
++
++{
++  echo "cat >conf$$subs.awk <<_ACEOF" &&
++  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
++  echo "_ACEOF"
++} >conf$$subs.sh ||
++  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
++ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
++ac_delim='%!_!# '
++for ac_last_try in false false false false false :; do
++  . ./conf$$subs.sh ||
++    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
++
++  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
++  if test $ac_delim_n = $ac_delim_num; then
++    break
++  elif $ac_last_try; then
++    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
++  else
++    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
++  fi
++done
++rm -f conf$$subs.sh
++
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
++_ACEOF
++sed -n '
++h
++s/^/S["/; s/!.*/"]=/
++p
++g
++s/^[^!]*!//
++:repl
++t repl
++s/'"$ac_delim"'$//
++t delim
++:nl
++h
++s/\(.\{148\}\)..*/\1/
++t more1
++s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
++p
++n
++b repl
++:more1
++s/["\\]/\\&/g; s/^/"/; s/$/"\\/
++p
++g
++s/.\{148\}//
++t nl
++:delim
++h
++s/\(.\{148\}\)..*/\1/
++t more2
++s/["\\]/\\&/g; s/^/"/; s/$/"/
++p
++b
++:more2
++s/["\\]/\\&/g; s/^/"/; s/$/"\\/
++p
++g
++s/.\{148\}//
++t delim
++' <conf$$subs.awk | sed '
++/^[^""]/{
++  N
++  s/\n//
++}
++' >>$CONFIG_STATUS || ac_write_fail=1
++rm -f conf$$subs.awk
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++_ACAWK
++cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
++  for (key in S) S_is_set[key] = 1
++  FS = ""
++
++}
++{
++  line = $ 0
++  nfields = split(line, field, "@")
++  substed = 0
++  len = length(field[1])
++  for (i = 2; i < nfields; i++) {
++    key = field[i]
++    keylen = length(key)
++    if (S_is_set[key]) {
++      value = S[key]
++      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
++      len += length(value) + length(field[++i])
++      substed = 1
++    } else
++      len += 1 + keylen
++  }
++
++  print line
++}
++
++_ACAWK
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
++  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
++else
++  cat
++fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
++  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
++_ACEOF
++
++# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
++# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
++# trailing colons and then remove the whole line if VPATH becomes empty
++# (actually we leave an empty line to preserve line numbers).
++if test "x$srcdir" = x.; then
++  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
++h
++s///
++s/^/:/
++s/[	 ]*$/:/
++s/:\$(srcdir):/:/g
++s/:\${srcdir}:/:/g
++s/:@srcdir@:/:/g
++s/^:*//
++s/:*$//
++x
++s/\(=[	 ]*\).*/\1/
++G
++s/\n//
++s/^[^=]*=[	 ]*$//
++}'
++fi
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++fi # test -n "$CONFIG_FILES"
++
++
++eval set X "  :F $CONFIG_FILES      :C $CONFIG_COMMANDS"
++shift
++for ac_tag
++do
++  case $ac_tag in
++  :[FHLC]) ac_mode=$ac_tag; continue;;
++  esac
++  case $ac_mode$ac_tag in
++  :[FHL]*:*);;
++  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
++  :[FH]-) ac_tag=-:-;;
++  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
++  esac
++  ac_save_IFS=$IFS
++  IFS=:
++  set x $ac_tag
++  IFS=$ac_save_IFS
++  shift
++  ac_file=$1
++  shift
++
++  case $ac_mode in
++  :L) ac_source=$1;;
++  :[FH])
++    ac_file_inputs=
++    for ac_f
++    do
++      case $ac_f in
++      -) ac_f="$ac_tmp/stdin";;
++      *) # Look for the file first in the build tree, then in the source tree
++	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
++	 # because $ac_f cannot contain `:'.
++	 test -f "$ac_f" ||
++	   case $ac_f in
++	   [\\/$]*) false;;
++	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
++	   esac ||
++	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
++      esac
++      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
++      as_fn_append ac_file_inputs " '$ac_f'"
++    done
++
++    # Let's still pretend it is `configure' which instantiates (i.e., don't
++    # use $as_me), people would be surprised to read:
++    #    /* config.h.  Generated by config.status.  */
++    configure_input='Generated from '`
++	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
++	`' by configure.'
++    if test x"$ac_file" != x-; then
++      configure_input="$ac_file.  $configure_input"
++      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
++$as_echo "$as_me: creating $ac_file" >&6;}
++    fi
++    # Neutralize special characters interpreted by sed in replacement strings.
++    case $configure_input in #(
++    *\&* | *\|* | *\\* )
++       ac_sed_conf_input=`$as_echo "$configure_input" |
++       sed 's/[\\\\&|]/\\\\&/g'`;; #(
++    *) ac_sed_conf_input=$configure_input;;
++    esac
++
++    case $ac_tag in
++    *:-:* | *:-) cat >"$ac_tmp/stdin" \
++      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
++    esac
++    ;;
++  esac
++
++  ac_dir=`$as_dirname -- "$ac_file" ||
++$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++	 X"$ac_file" : 'X\(//\)[^/]' \| \
++	 X"$ac_file" : 'X\(//\)$' \| \
++	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$ac_file" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)[^/].*/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`
++  as_dir="$ac_dir"; as_fn_mkdir_p
++  ac_builddir=.
++
++case "$ac_dir" in
++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
++*)
++  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
++  # A ".." for each directory in $ac_dir_suffix.
++  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
++  case $ac_top_builddir_sub in
++  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
++  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
++  esac ;;
++esac
++ac_abs_top_builddir=$ac_pwd
++ac_abs_builddir=$ac_pwd$ac_dir_suffix
++# for backward compatibility:
++ac_top_builddir=$ac_top_build_prefix
++
++case $srcdir in
++  .)  # We are building in place.
++    ac_srcdir=.
++    ac_top_srcdir=$ac_top_builddir_sub
++    ac_abs_top_srcdir=$ac_pwd ;;
++  [\\/]* | ?:[\\/]* )  # Absolute name.
++    ac_srcdir=$srcdir$ac_dir_suffix;
++    ac_top_srcdir=$srcdir
++    ac_abs_top_srcdir=$srcdir ;;
++  *) # Relative name.
++    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
++    ac_top_srcdir=$ac_top_build_prefix$srcdir
++    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
++esac
++ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
++
++
++  case $ac_mode in
++  :F)
++  #
++  # CONFIG_FILE
++  #
++
++  case $INSTALL in
++  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
++  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
++  esac
++  ac_MKDIR_P=$MKDIR_P
++  case $MKDIR_P in
++  [\\/$]* | ?:[\\/]* ) ;;
++  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
++  esac
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++# If the template does not know about datarootdir, expand it.
++# FIXME: This hack should be removed a few years after 2.60.
++ac_datarootdir_hack=; ac_datarootdir_seen=
++ac_sed_dataroot='
++/datarootdir/ {
++  p
++  q
++}
++/@datadir@/p
++/@docdir@/p
++/@infodir@/p
++/@localedir@/p
++/@mandir@/p'
++case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
++*datarootdir*) ac_datarootdir_seen=yes;;
++*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
++  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
++$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++  ac_datarootdir_hack='
++  s&@datadir@&$datadir&g
++  s&@docdir@&$docdir&g
++  s&@infodir@&$infodir&g
++  s&@localedir@&$localedir&g
++  s&@mandir@&$mandir&g
++  s&\\\${datarootdir}&$datarootdir&g' ;;
++esac
++_ACEOF
++
++# Neutralize VPATH when `$srcdir' = `.'.
++# Shell code in configure.ac might set extrasub.
++# FIXME: do we really want to maintain this feature?
++cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
++ac_sed_extra="$ac_vpsub
++$extrasub
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
++:t
++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
++s|@configure_input@|$ac_sed_conf_input|;t t
++s&@top_builddir@&$ac_top_builddir_sub&;t t
++s&@top_build_prefix@&$ac_top_build_prefix&;t t
++s&@srcdir@&$ac_srcdir&;t t
++s&@abs_srcdir@&$ac_abs_srcdir&;t t
++s&@top_srcdir@&$ac_top_srcdir&;t t
++s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
++s&@builddir@&$ac_builddir&;t t
++s&@abs_builddir@&$ac_abs_builddir&;t t
++s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
++s&@INSTALL@&$ac_INSTALL&;t t
++s&@MKDIR_P@&$ac_MKDIR_P&;t t
++$ac_datarootdir_hack
++"
++eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
++  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
++
++test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
++  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
++  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
++      "$ac_tmp/out"`; test -z "$ac_out"; } &&
++  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
++which seems to be undefined.  Please make sure it is defined" >&5
++$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
++which seems to be undefined.  Please make sure it is defined" >&2;}
++
++  rm -f "$ac_tmp/stdin"
++  case $ac_file in
++  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
++  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
++  esac \
++  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
++ ;;
++
++
++  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
++$as_echo "$as_me: executing $ac_file commands" >&6;}
++ ;;
++  esac
++
++
++  case $ac_file$ac_mode in
++    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
++  # Autoconf 2.62 quotes --file arguments for eval, but not when files
++  # are listed without --file.  Let's play safe and only enable the eval
++  # if we detect the quoting.
++  case $CONFIG_FILES in
++  *\'*) eval set x "$CONFIG_FILES" ;;
++  *)   set x $CONFIG_FILES ;;
++  esac
++  shift
++  for mf
++  do
++    # Strip MF so we end up with the name of the file.
++    mf=`echo "$mf" | sed -e 's/:.*$//'`
++    # Check whether this is an Automake generated Makefile or not.
++    # We used to match only the files named `Makefile.in', but
++    # some people rename them; so instead we look at the file content.
++    # Grep'ing the first line is not enough: some people post-process
++    # each Makefile.in and add a new line on top of each file to say so.
++    # Grep'ing the whole file is not good either: AIX grep has a line
++    # limit of 2048, but all sed's we know have understand at least 4000.
++    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
++      dirpart=`$as_dirname -- "$mf" ||
++$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++	 X"$mf" : 'X\(//\)[^/]' \| \
++	 X"$mf" : 'X\(//\)$' \| \
++	 X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$mf" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)[^/].*/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`
++    else
++      continue
++    fi
++    # Extract the definition of DEPDIR, am__include, and am__quote
++    # from the Makefile without running `make'.
++    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
++    test -z "$DEPDIR" && continue
++    am__include=`sed -n 's/^am__include = //p' < "$mf"`
++    test -z "am__include" && continue
++    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
++    # When using ansi2knr, U may be empty or an underscore; expand it
++    U=`sed -n 's/^U = //p' < "$mf"`
++    # Find all dependency output files, they are included files with
++    # $(DEPDIR) in their names.  We invoke sed twice because it is the
++    # simplest approach to changing $(DEPDIR) to its actual value in the
++    # expansion.
++    for file in `sed -n "
++      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
++	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
++      # Make sure the directory exists.
++      test -f "$dirpart/$file" && continue
++      fdir=`$as_dirname -- "$file" ||
++$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++	 X"$file" : 'X\(//\)[^/]' \| \
++	 X"$file" : 'X\(//\)$' \| \
++	 X"$file" : 'X\(/\)' \| . 2>/dev/null ||
++$as_echo X"$file" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)[^/].*/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\/\)$/{
++	    s//\1/
++	    q
++	  }
++	  /^X\(\/\).*/{
++	    s//\1/
++	    q
++	  }
++	  s/.*/./; q'`
++      as_dir=$dirpart/$fdir; as_fn_mkdir_p
++      # echo "creating $dirpart/$file"
++      echo '# dummy' > "$dirpart/$file"
++    done
++  done
++}
++ ;;
++
++  esac
++done # for ac_tag
++
++
++as_fn_exit 0
++_ACEOF
++ac_clean_files=$ac_clean_files_save
++
++test $ac_write_fail = 0 ||
++  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
++
++
++# configure is writing to config.log, and then calls config.status.
++# config.status does its own redirection, appending to config.log.
++# Unfortunately, on DOS this fails, as config.log is still kept open
++# by configure, so config.status won't be able to write to it; its
++# output is simply discarded.  So we exec the FD to /dev/null,
++# effectively closing config.log, so it can be properly (re)opened and
++# appended to by config.status.  When coming back to configure, we
++# need to make the FD available again.
++if test "$no_create" != yes; then
++  ac_cs_success=:
++  ac_config_status_args=
++  test "$silent" = yes &&
++    ac_config_status_args="$ac_config_status_args --quiet"
++  exec 5>/dev/null
++  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
++  exec 5>>config.log
++  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
++  # would make configure fail if this is the last instruction.
++  $ac_cs_success || as_fn_exit 1
++fi
++if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
++  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
++$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
++fi
++
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/configure.in newlib-3.0.0.20180802/newlib/libc/sys/miosix/configure.in
+--- newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/configure.in	1970-01-01 01:00:00.000000000 +0100
++++ newlib-3.0.0.20180802/newlib/libc/sys/miosix/configure.in	2018-08-26 16:26:15.043486304 +0200
+@@ -0,0 +1,14 @@
++dnl This is the newlib/libc/sys/miosix configure.in file.
++dnl Process this file with autoconf to produce a configure script.
++
++AC_PREREQ(2.59)
++AC_INIT([newlib],[NEWLIB_VERSION])
++AC_CONFIG_SRCDIR([termios.c])
++
++dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake. 
++AC_CONFIG_AUX_DIR(../../../..)
++
++NEWLIB_CONFIGURE(../../..)
++
++AC_CONFIG_FILES([Makefile])
++AC_OUTPUT
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/crt0.c newlib-3.0.0.20180802/newlib/libc/sys/miosix/crt0.c
+--- newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/crt0.c	1970-01-01 01:00:00.000000000 +0100
++++ newlib-3.0.0.20180802/newlib/libc/sys/miosix/crt0.c	2018-08-26 16:26:15.043486304 +0200
+@@ -0,0 +1,4 @@
++/*
++ * This file is currently empty but is still required as a crt0.o
++ * is expected by the newlib build system.
++ */
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/Makefile.am newlib-3.0.0.20180802/newlib/libc/sys/miosix/Makefile.am
+--- newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/Makefile.am	1970-01-01 01:00:00.000000000 +0100
++++ newlib-3.0.0.20180802/newlib/libc/sys/miosix/Makefile.am	2018-08-26 16:26:15.043486304 +0200
+@@ -0,0 +1,18 @@
++## Process this file with automake to generate Makefile.in
++
++AUTOMAKE_OPTIONS = cygnus
++
++INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
++
++AM_CCASFLAGS = $(INCLUDES)
++
++noinst_LIBRARIES = lib.a
++
++lib_a_SOURCES = termios.c
++lib_a_CCASFLAGS = $(AM_CCASFLAGS)
++lib_a_CFLAGS = $(AM_CFLAGS)
++
++all-local: crt0.o
++
++ACLOCAL_AMFLAGS = -I ../../.. -I ../../../..
++CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/Makefile.in newlib-3.0.0.20180802/newlib/libc/sys/miosix/Makefile.in
+--- newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/Makefile.in	1970-01-01 01:00:00.000000000 +0100
++++ newlib-3.0.0.20180802/newlib/libc/sys/miosix/Makefile.in	2018-08-26 16:26:15.043486304 +0200
+@@ -0,0 +1,440 @@
++# Makefile.in generated by automake 1.11.6 from Makefile.am.
++# @configure_input@
++
++# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
++# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
++# Foundation, Inc.
++# This Makefile.in is free software; the Free Software Foundation
++# gives unlimited permission to copy and/or distribute it,
++# with or without modifications, as long as this notice is preserved.
++
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
++# PARTICULAR PURPOSE.
++
++@SET_MAKE@
++
++VPATH = @srcdir@
++am__make_dryrun = \
++  { \
++    am__dry=no; \
++    case $$MAKEFLAGS in \
++      *\\[\ \	]*) \
++        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
++          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
++      *) \
++        for am__flg in $$MAKEFLAGS; do \
++          case $$am__flg in \
++            *=*|--*) ;; \
++            *n*) am__dry=yes; break;; \
++          esac; \
++        done;; \
++    esac; \
++    test $$am__dry = yes; \
++  }
++pkgdatadir = $(datadir)/@PACKAGE@
++pkgincludedir = $(includedir)/@PACKAGE@
++pkglibdir = $(libdir)/@PACKAGE@
++pkglibexecdir = $(libexecdir)/@PACKAGE@
++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
++install_sh_DATA = $(install_sh) -c -m 644
++install_sh_PROGRAM = $(install_sh) -c
++install_sh_SCRIPT = $(install_sh) -c
++INSTALL_HEADER = $(INSTALL_DATA)
++transform = $(program_transform_name)
++NORMAL_INSTALL = :
++PRE_INSTALL = :
++POST_INSTALL = :
++NORMAL_UNINSTALL = :
++PRE_UNINSTALL = :
++POST_UNINSTALL = :
++build_triplet = @build@
++host_triplet = @host@
++subdir = .
++DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
++	$(top_srcdir)/configure $(am__configure_deps) \
++	$(srcdir)/../../../../mkinstalldirs
++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
++am__aclocal_m4_deps = $(top_srcdir)/../../../acinclude.m4 \
++	$(top_srcdir)/configure.in
++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
++	$(ACLOCAL_M4)
++am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
++ configure.lineno config.status.lineno
++mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
++CONFIG_CLEAN_FILES =
++CONFIG_CLEAN_VPATH_FILES =
++LIBRARIES = $(noinst_LIBRARIES)
++ARFLAGS = cru
++lib_a_AR = $(AR) $(ARFLAGS)
++lib_a_LIBADD =
++am_lib_a_OBJECTS = lib_a-termios.$(OBJEXT)
++lib_a_OBJECTS = $(am_lib_a_OBJECTS)
++DEFAULT_INCLUDES = -I.@am__isrc@
++depcomp =
++am__depfiles_maybe =
++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
++	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
++CCLD = $(CC)
++LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
++SOURCES = $(lib_a_SOURCES)
++am__can_run_installinfo = \
++  case $$AM_UPDATE_INFO_DIR in \
++    n|no|NO) false;; \
++    *) (install-info --version) >/dev/null 2>&1;; \
++  esac
++ETAGS = etags
++CTAGS = ctags
++ACLOCAL = @ACLOCAL@
++AMTAR = @AMTAR@
++AR = @AR@
++AS = @AS@
++AUTOCONF = @AUTOCONF@
++AUTOHEADER = @AUTOHEADER@
++AUTOMAKE = @AUTOMAKE@
++AWK = @AWK@
++CC = @CC@
++CCAS = @CCAS@
++CCASFLAGS = @CCASFLAGS@
++CCDEPMODE = @CCDEPMODE@
++CYGPATH_W = @CYGPATH_W@
++DEFS = @DEFS@
++DEPDIR = @DEPDIR@
++ECHO_C = @ECHO_C@
++ECHO_N = @ECHO_N@
++ECHO_T = @ECHO_T@
++INSTALL = @INSTALL@
++INSTALL_DATA = @INSTALL_DATA@
++INSTALL_PROGRAM = @INSTALL_PROGRAM@
++INSTALL_SCRIPT = @INSTALL_SCRIPT@
++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
++LDFLAGS = @LDFLAGS@
++LIBOBJS = @LIBOBJS@
++LIBS = @LIBS@
++LTLIBOBJS = @LTLIBOBJS@
++MAINT = @MAINT@
++MAKEINFO = @MAKEINFO@
++MKDIR_P = @MKDIR_P@
++NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
++NO_INCLUDE_LIST = @NO_INCLUDE_LIST@
++OBJEXT = @OBJEXT@
++PACKAGE = @PACKAGE@
++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
++PACKAGE_NAME = @PACKAGE_NAME@
++PACKAGE_STRING = @PACKAGE_STRING@
++PACKAGE_TARNAME = @PACKAGE_TARNAME@
++PACKAGE_URL = @PACKAGE_URL@
++PACKAGE_VERSION = @PACKAGE_VERSION@
++PATH_SEPARATOR = @PATH_SEPARATOR@
++RANLIB = @RANLIB@
++READELF = @READELF@
++SET_MAKE = @SET_MAKE@
++SHELL = @SHELL@
++STRIP = @STRIP@
++VERSION = @VERSION@
++abs_builddir = @abs_builddir@
++abs_srcdir = @abs_srcdir@
++abs_top_builddir = @abs_top_builddir@
++abs_top_srcdir = @abs_top_srcdir@
++aext = @aext@
++am__include = @am__include@
++am__leading_dot = @am__leading_dot@
++am__quote = @am__quote@
++am__tar = @am__tar@
++am__untar = @am__untar@
++bindir = @bindir@
++build = @build@
++build_alias = @build_alias@
++build_cpu = @build_cpu@
++build_os = @build_os@
++build_vendor = @build_vendor@
++builddir = @builddir@
++datadir = @datadir@
++datarootdir = @datarootdir@
++docdir = @docdir@
++dvidir = @dvidir@
++exec_prefix = @exec_prefix@
++host = @host@
++host_alias = @host_alias@
++host_cpu = @host_cpu@
++host_os = @host_os@
++host_vendor = @host_vendor@
++htmldir = @htmldir@
++includedir = @includedir@
++infodir = @infodir@
++install_sh = @install_sh@
++libdir = @libdir@
++libexecdir = @libexecdir@
++libm_machine_dir = @libm_machine_dir@
++localedir = @localedir@
++localstatedir = @localstatedir@
++lpfx = @lpfx@
++machine_dir = @machine_dir@
++mandir = @mandir@
++mkdir_p = @mkdir_p@
++newlib_basedir = @newlib_basedir@
++oext = @oext@
++oldincludedir = @oldincludedir@
++pdfdir = @pdfdir@
++prefix = @prefix@
++program_transform_name = @program_transform_name@
++psdir = @psdir@
++sbindir = @sbindir@
++sharedstatedir = @sharedstatedir@
++srcdir = @srcdir@
++sys_dir = @sys_dir@
++sysconfdir = @sysconfdir@
++target_alias = @target_alias@
++top_build_prefix = @top_build_prefix@
++top_builddir = @top_builddir@
++top_srcdir = @top_srcdir@
++AUTOMAKE_OPTIONS = cygnus
++INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
++AM_CCASFLAGS = $(INCLUDES)
++noinst_LIBRARIES = lib.a
++lib_a_SOURCES = termios.c
++lib_a_CCASFLAGS = $(AM_CCASFLAGS)
++lib_a_CFLAGS = $(AM_CFLAGS)
++ACLOCAL_AMFLAGS = -I ../../.. -I ../../../..
++CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
++all: all-am
++
++.SUFFIXES:
++.SUFFIXES: .c .o .obj
++am--refresh: Makefile
++	@:
++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
++	@for dep in $?; do \
++	  case '$(am__configure_deps)' in \
++	    *$$dep*) \
++	      echo ' cd $(srcdir) && $(AUTOMAKE) --cygnus'; \
++	      $(am__cd) $(srcdir) && $(AUTOMAKE) --cygnus \
++		&& exit 0; \
++	      exit 1;; \
++	  esac; \
++	done; \
++	echo ' cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile'; \
++	$(am__cd) $(top_srcdir) && \
++	  $(AUTOMAKE) --cygnus Makefile
++.PRECIOUS: Makefile
++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
++	@case '$?' in \
++	  *config.status*) \
++	    echo ' $(SHELL) ./config.status'; \
++	    $(SHELL) ./config.status;; \
++	  *) \
++	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
++	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
++	esac;
++
++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
++	$(SHELL) ./config.status --recheck
++
++$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
++	$(am__cd) $(srcdir) && $(AUTOCONF)
++$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
++	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
++$(am__aclocal_m4_deps):
++
++clean-noinstLIBRARIES:
++	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
++lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES) $(EXTRA_lib_a_DEPENDENCIES) 
++	-rm -f lib.a
++	$(lib_a_AR) lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
++	$(RANLIB) lib.a
++
++mostlyclean-compile:
++	-rm -f *.$(OBJEXT)
++
++distclean-compile:
++	-rm -f *.tab.c
++
++.c.o:
++	$(COMPILE) -c $<
++
++.c.obj:
++	$(COMPILE) -c `$(CYGPATH_W) '$<'`
++
++lib_a-termios.o: termios.c
++	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-termios.o `test -f 'termios.c' || echo '$(srcdir)/'`termios.c
++
++lib_a-termios.obj: termios.c
++	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-termios.obj `if test -f 'termios.c'; then $(CYGPATH_W) 'termios.c'; else $(CYGPATH_W) '$(srcdir)/termios.c'; fi`
++
++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
++	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
++	unique=`for i in $$list; do \
++	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
++	  done | \
++	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
++	      END { if (nonempty) { for (i in files) print i; }; }'`; \
++	mkid -fID $$unique
++tags: TAGS
++
++TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
++		$(TAGS_FILES) $(LISP)
++	set x; \
++	here=`pwd`; \
++	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
++	unique=`for i in $$list; do \
++	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
++	  done | \
++	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
++	      END { if (nonempty) { for (i in files) print i; }; }'`; \
++	shift; \
++	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
++	  test -n "$$unique" || unique=$$empty_fix; \
++	  if test $$# -gt 0; then \
++	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++	      "$$@" $$unique; \
++	  else \
++	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
++	      $$unique; \
++	  fi; \
++	fi
++ctags: CTAGS
++CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
++		$(TAGS_FILES) $(LISP)
++	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
++	unique=`for i in $$list; do \
++	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
++	  done | \
++	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
++	      END { if (nonempty) { for (i in files) print i; }; }'`; \
++	test -z "$(CTAGS_ARGS)$$unique" \
++	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
++	     $$unique
++
++GTAGS:
++	here=`$(am__cd) $(top_builddir) && pwd` \
++	  && $(am__cd) $(top_srcdir) \
++	  && gtags -i $(GTAGS_ARGS) "$$here"
++
++distclean-tags:
++	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
++check-am:
++check: check-am
++all-am: Makefile $(LIBRARIES) all-local
++installdirs:
++install: install-am
++install-exec: install-exec-am
++install-data: install-data-am
++uninstall: uninstall-am
++
++install-am: all-am
++	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
++
++installcheck: installcheck-am
++install-strip:
++	if test -z '$(STRIP)'; then \
++	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++	      install; \
++	else \
++	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
++	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
++	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
++	fi
++mostlyclean-generic:
++
++clean-generic:
++
++distclean-generic:
++	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
++	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
++
++maintainer-clean-generic:
++	@echo "This command is intended for maintainers to use"
++	@echo "it deletes files that may require special tools to rebuild."
++clean: clean-am
++
++clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
++
++distclean: distclean-am
++	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
++	-rm -f Makefile
++distclean-am: clean-am distclean-compile distclean-generic \
++	distclean-tags
++
++dvi: dvi-am
++
++dvi-am:
++
++html: html-am
++
++html-am:
++
++info: info-am
++
++info-am:
++
++install-data-am:
++
++install-dvi: install-dvi-am
++
++install-dvi-am:
++
++install-exec-am:
++
++install-html: install-html-am
++
++install-html-am:
++
++install-info: install-info-am
++
++install-info-am:
++
++install-man:
++
++install-pdf: install-pdf-am
++
++install-pdf-am:
++
++install-ps: install-ps-am
++
++install-ps-am:
++
++installcheck-am:
++
++maintainer-clean: maintainer-clean-am
++	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
++	-rm -rf $(top_srcdir)/autom4te.cache
++	-rm -f Makefile
++maintainer-clean-am: distclean-am maintainer-clean-generic
++
++mostlyclean: mostlyclean-am
++
++mostlyclean-am: mostlyclean-compile mostlyclean-generic
++
++pdf: pdf-am
++
++pdf-am:
++
++ps: ps-am
++
++ps-am:
++
++uninstall-am:
++
++.MAKE: install-am install-strip
++
++.PHONY: CTAGS GTAGS all all-am all-local am--refresh check check-am \
++	clean clean-generic clean-noinstLIBRARIES ctags distclean \
++	distclean-compile distclean-generic distclean-tags dvi dvi-am \
++	html html-am info info-am install install-am install-data \
++	install-data-am install-dvi install-dvi-am install-exec \
++	install-exec-am install-html install-html-am install-info \
++	install-info-am install-man install-pdf install-pdf-am \
++	install-ps install-ps-am install-strip installcheck \
++	installcheck-am installdirs maintainer-clean \
++	maintainer-clean-generic mostlyclean mostlyclean-compile \
++	mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
++	uninstall-am
++
++
++all-local: crt0.o
++
++# Tell versions [3.59,3.63) of GNU make to not export all variables.
++# Otherwise a system limit (for SysV at least) may be exceeded.
++.NOEXPORT:
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/sys/dirent.h newlib-3.0.0.20180802/newlib/libc/sys/miosix/sys/dirent.h
+--- newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/sys/dirent.h	1970-01-01 01:00:00.000000000 +0100
++++ newlib-3.0.0.20180802/newlib/libc/sys/miosix/sys/dirent.h	2018-08-26 16:26:15.043486304 +0200
+@@ -0,0 +1,74 @@
++#ifndef _SYS_DIRENT_H
++#define _SYS_DIRENT_H
++
++#include <limits.h>
++#include <sys/types.h>
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++/*
++ * This file was written to be compatible with the BSD directory
++ * routines, so it looks like it.  But it was written from scratch.
++ * Sean Eric Fagan, sef@Kithrup.COM.
++ * Additionally modified for Miosix by Terraneo Federico, fede.tft@hotmail.it
++ */
++
++#define MAXNAMLEN NAME_MAX
++
++typedef struct __DIR
++{
++    int dd_fd;
++    long dd_loc;
++    long dd_size;
++    char *dd_buf;
++    int dd_len;
++    long dd_seek;
++    void (*dd_onclose)(struct __DIR *);
++} DIR;
++
++struct dirent
++{
++    unsigned long d_ino;
++    off_t d_off;
++    unsigned short d_reclen;
++    char d_type;
++    char d_name[NAME_MAX + 1];
++};
++
++enum
++{
++    DT_UNKNOWN = 0,
++    /* Equivalent to S_XXXX in sys/stat.h, but shifted to fit in a char */
++    DT_FIFO = 0010000>>12,
++    DT_CHR  = 0020000>>12,
++    DT_DIR  = 0040000>>12,
++    DT_BLK  = 0060000>>12,
++    DT_REG  = 0100000>>12,
++    DT_LNK  = 0120000>>12,
++    DT_SOCK = 0140000>>12,
++};
++
++#define IFTODT(mode) (((mode) & 0170000)>>12)
++#define DTTOIF(type) ((type)<<12)
++
++#define __dirfd(dp) ((dp)->dd_fd)
++
++DIR *opendir(const char *);
++struct dirent *readdir(DIR *);
++int readdir_r(DIR *, struct dirent *, struct dirent **);
++void rewinddir(DIR *);
++int closedir(DIR *);
++void seekdir(DIR *dir, long loc);
++long telldir(DIR *dir);
++
++int scandir(const char *dirname, struct dirent *** namelist,
++   int (*select)(const struct dirent *),
++   int (*dcomp)(const struct dirent **, const struct dirent **));
++
++#ifdef __cplusplus
++}
++#endif 
++
++#endif
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/sys/ioctl.h newlib-3.0.0.20180802/newlib/libc/sys/miosix/sys/ioctl.h
+--- newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/sys/ioctl.h	1970-01-01 01:00:00.000000000 +0100
++++ newlib-3.0.0.20180802/newlib/libc/sys/miosix/sys/ioctl.h	2018-08-26 16:26:15.043486304 +0200
+@@ -0,0 +1,26 @@
++
++#ifndef _SYS_IOCTL_H
++#define _SYS_IOCTL_H
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++/* keep in sync with miosix/filesystem/ioctl.h */
++enum Ioctl
++{
++    IOCTL_SYNC=100,
++    IOCTL_TCGETATTR=101,
++    IOCTL_TCSETATTR_NOW=102,
++    IOCTL_TCSETATTR_FLUSH=103,
++    IOCTL_TCSETATTR_DRAIN=104,
++    IOCTL_FLUSH=105
++};
++
++int ioctl(int fd, int cmd, void *arg);
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /*_SYS_IOCTL_H*/
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/sys/lock.h newlib-3.0.0.20180802/newlib/libc/sys/miosix/sys/lock.h
+--- newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/sys/lock.h	1970-01-01 01:00:00.000000000 +0100
++++ newlib-3.0.0.20180802/newlib/libc/sys/miosix/sys/lock.h	2018-08-26 16:26:15.043486304 +0200
+@@ -0,0 +1,62 @@
++#ifndef __SYS_LOCK_H__
++#define __SYS_LOCK_H__
++
++#include <_ansi.h>
++
++/*
++ * The Miosix filesystem code assumes off_t is a signed 64 bit type.
++ * Technically this definition should be in sys/types.h, but we don't
++ * provide a Miosix-specific version of sys/types.h yet.
++ */
++typedef signed long long _off_t;
++#define __machine_off_t_defined 1
++
++/*
++ * The type of pthread_mutex_t, has been moved here from sys/types.h, because
++ * sys/types.h #includes sys/_types.h which in turn #includes sys/lock.h,
++ * and sys/lock.h actually needs to know the type of pthread_mutex_t.
++ * Unfortunately simply adding an #include sys/types.h into sys/lock.h didn't
++ * work because it caused a cyclic dependency between headers
++ */
++
++struct WaitingList
++{
++    void *thread; /* Actually, a Thread * but C doesn't know about C++ classes */
++    struct WaitingList *next;
++};
++
++typedef struct
++{
++    void *owner;  /* Actually, a Thread * but C doesn't know about C++ classes */
++    struct WaitingList *first;
++    struct WaitingList *last;
++    int recursive; /* -1 = special value for non recursive */
++} pthread_mutex_t;
++
++/*
++ * Finished declaring pthread stuff, now starting real content of lock.h
++ */
++
++typedef pthread_mutex_t _LOCK_T;
++typedef pthread_mutex_t _LOCK_RECURSIVE_T;
++
++#define __LOCK_INIT(clazz,lock) clazz pthread_mutex_t lock = {0,0,0,-1}
++#define __LOCK_INIT_RECURSIVE(clazz,lock) clazz pthread_mutex_t lock = {0,0,0,0}
++#define __lock_init(lock) pthread_mutex_init(&lock,NULL) 
++#define __lock_init_recursive(lock) \
++do { \
++    lock.owner=0; \
++    lock.first=0; \
++    lock.last=0; \
++    lock.recursive=0; \
++} while(0)
++#define __lock_close(lock) pthread_mutex_destroy(&lock)
++#define __lock_close_recursive(lock) pthread_mutex_destroy(&lock)
++#define __lock_acquire(lock) pthread_mutex_lock(&lock)
++#define __lock_acquire_recursive(lock) pthread_mutex_lock(&lock)
++#define __lock_try_acquire(lock) pthread_mutex_trylock(&lock)
++#define __lock_try_acquire_recursive(lock) pthread_mutex_trylock(&lock)
++#define __lock_release(lock) pthread_mutex_unlock(&lock)
++#define __lock_release_recursive(lock) pthread_mutex_unlock(&lock)
++
++#endif /* __SYS_LOCK_H__ */
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/sys/syslimits.h newlib-3.0.0.20180802/newlib/libc/sys/miosix/sys/syslimits.h
+--- newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/sys/syslimits.h	1970-01-01 01:00:00.000000000 +0100
++++ newlib-3.0.0.20180802/newlib/libc/sys/miosix/sys/syslimits.h	2018-08-26 16:26:15.043486304 +0200
+@@ -0,0 +1,20 @@
++
++#ifndef _SYS_SYSLIMITS_H
++#define _SYS_SYSLIMITS_H
++
++/* 
++ * Max length of command line arguments (including environment),
++ * POSIX requires at least 4096, but for now 1024 will do.
++ */
++#define ARG_MAX 1024
++
++/*
++ * Max nonblocking pipe read,
++ * POSIX requires at least 512, but for now 128 will do.
++ */
++#define PIPE_BUF 128
++
++#define NAME_MAX 255 /* Max filename, not including NUL, used for dirent */
++#define PATH_MAX 512 /* Max filesystem path, including NUL */
++
++#endif /* _SYS_SYSLIMITS_H */
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/sys/termios.h newlib-3.0.0.20180802/newlib/libc/sys/miosix/sys/termios.h
+--- newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/sys/termios.h	1970-01-01 01:00:00.000000000 +0100
++++ newlib-3.0.0.20180802/newlib/libc/sys/miosix/sys/termios.h	2018-08-26 16:26:15.043486304 +0200
+@@ -0,0 +1,113 @@
++/* Adapted from sys/sysvi386/sys */
++
++#ifndef _SYS_TERMIOS_H
++#define _SYS_TERMIOS_H
++
++/* c_iflag */
++#define IGNBRK  000001
++#define BRKINT  000002
++#define IGNPAR  000004
++#define INPCK   000020
++#define ISTRIP  000040
++#define INLCR   000100
++#define IGNCR   000200
++#define ICRNL   000400
++#define IXON    002000
++#define IXOFF   010000
++#define IUTF8   040000
++
++/* c_oflag */
++#define OPOST   000001
++#define OCRNL   000004
++#define ONLCR   000010
++#define ONOCR   000020
++#define ONLRET  000040
++
++/* c_cflag */
++#define B0      0
++#define B50     50
++#define B75     75
++#define B110    110
++#define B134    134
++#define B150    150
++#define B200    200
++#define B300    300
++#define B600    600
++#define B1200   1200
++#define B1800   1800
++#define B2400   2400
++#define B4800   4800
++#define B9600   9600
++#define B19200  19200
++#define B38400  38400
++#define B57600  57600
++#define B115200 115200
++#define B230400 230400
++
++#define CSIZE   (0x03<<24)
++#define CS5     (0x00<<24)
++#define CS6     (0x01<<24)
++#define CS7     (0x02<<24)
++#define CS8     (0x03<<24)
++#define CSTOPB  (0x04<<24)
++#define PARENB  (0x08<<24)
++#define PAODD   (0x10<<24)
++#define CRTSCTS (0x20<<24)
++#define CREAD   (0x40<<24)
++
++/* c_lflag */
++#define ISIG    0000001
++#define ICANON  0000002
++#define ECHO    0000010
++#define ECHOE   0000020
++#define ECHOK   0000040
++#define ECHONL  0000100
++#define NOFLSH  0000200
++#define TOSTOP  0001000
++
++/* c_cc indices */
++#define VEOF    4   /* also VMIN -- thanks, AT&T */
++#define VEOL    5   /* also VTIME -- thanks again */
++#define VERASE  2
++#define VINTR   0
++#define VKILL   3
++#define VMIN    4   /* also VEOF */
++#define VQUIT   1
++#define VSUSP   10
++#define VTIME   5   /* also VEOL */
++#define VSTART  11
++#define VSTOP   12
++
++/* tcsetattr opt */
++#define TCSAFLUSH  0
++#define TCSANOW    1
++#define TCSADRAIN  2
++
++/* tcflush opt */
++#define TCIFLUSH   0
++#define TCOFLUSH   1
++#define TCIOFLUSH  2
++
++#define NCCS 13
++
++typedef unsigned char cc_t;
++typedef unsigned int tcflag_t;
++typedef unsigned int speed_t;
++
++struct termios
++{
++    tcflag_t c_iflag;
++    tcflag_t c_oflag;
++    tcflag_t c_cflag;
++    tcflag_t c_lflag;
++    cc_t c_cc[NCCS];
++};
++
++int tcgetattr(int fd, struct termios *t);
++int tcsetattr(int fd, int opt, const struct termios *t);
++speed_t cfgetospeed(const struct termios *t);
++int cfsetospeed(struct termios *t, speed_t speed);
++int tcdrain(int fd);
++int tcflush(int fd, int opt);
++
++#endif /*_SYS_TERMIOS_H*/
+diff -ruN newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/termios.c newlib-3.0.0.20180802/newlib/libc/sys/miosix/termios.c
+--- newlib-3.0.0.20180802-old/newlib/libc/sys/miosix/termios.c	1970-01-01 01:00:00.000000000 +0100
++++ newlib-3.0.0.20180802/newlib/libc/sys/miosix/termios.c	2018-08-26 16:26:15.043486304 +0200
+@@ -0,0 +1,46 @@
++
++#include <termios.h>
++#include <errno.h>
++#include <sys/ioctl.h>
++
++int tcgetattr(int fd, struct termios *t)
++{
++    return ioctl(fd,IOCTL_TCGETATTR,(void*)t);
++}
++
++int tcsetattr(int fd, int opt, const struct termios *t)
++{
++    switch(opt)
++    {
++        case TCSAFLUSH:
++            return ioctl(fd,IOCTL_TCSETATTR_FLUSH,(void*)t);
++        case TCSANOW:
++            return ioctl(fd,IOCTL_TCSETATTR_NOW,(void*)t);
++        case TCSADRAIN:
++            return ioctl(fd,IOCTL_TCSETATTR_DRAIN,(void*)t);
++        default:
++            errno = EINVAL;
++            return -1;
++    }
++}
++
++speed_t cfgetospeed(const struct termios *t)
++{
++    return t->c_cflag & 0x00ffffff;
++}
++
++int cfsetospeed(struct termios *t, speed_t speed)
++{
++    t->c_cflag = (t->c_cflag & (~0x00ffffff)) | speed;
++    return 0;
++}
++
++int tcdrain(int fd)
++{
++    return ioctl(fd,IOCTL_SYNC,0);
++}
++
++int tcflush(int fd, int opt)
++{
++    return ioctl(fd,IOCTL_FLUSH,(void*)opt);
++}
diff --git a/miosix/_tools/compiler/gcc8.2.0-mp2.1/uninstall.sh b/miosix/_tools/compiler/gcc8.2.0-mp2.1/uninstall.sh
new file mode 100644
index 0000000000000000000000000000000000000000..7cad8159a66e6914f279838c9071b10b7fcbecab
--- /dev/null
+++ b/miosix/_tools/compiler/gcc8.2.0-mp2.1/uninstall.sh
@@ -0,0 +1,43 @@
+echo "FIXME: upgrade"
+exit
+
+#!/bin/bash
+
+# Uninstall script: removes the arm-miosix-eabi-gcc compiler
+
+PREFIX="arm-miosix-eabi-"
+FILES="addr2line ar as c++ c++filt cpp elfedit g++ gcc gcc-ar gcc-nm gcc-ranlib gccbug gcov gdb gdbtui gprof ld ld.bfd nm objcopy objdump ranlib readelf run size strings strip"
+
+# Remove symlinks to the compiler
+for i in $FILES; do
+	# New install-script.sh installs links in /usr/bin
+	# Using -h because the file must be a symlink
+	if [ -h "/usr/bin/$PREFIX$i" ]; then
+		sudo rm "/usr/bin/$PREFIX$i"
+	fi
+	# Old install-script.sh used to install links in /usr/local/bin,
+	# so remove also those links for backward compatibility
+	if [ -h "/usr/local/bin/$PREFIX$i" ]; then
+		sudo rm "/usr/local/bin/$PREFIX$i"
+	fi
+done
+
+# Remove lpc21isp
+if [ -h "/usr/bin/lpc21isp" ]; then
+	sudo rm "/usr/bin/lpc21isp"
+fi
+if [ -h "/usr/local/bin/lpc21isp" ]; then
+	sudo rm "/usr/local/bin/lpc21isp"
+fi
+
+# Remove mx-postlinker
+if [ -h "/usr/bin/mx-postlinker" ]; then
+	sudo rm "/usr/bin/mx-postlinker"
+fi
+if [ -h "/usr/local/bin/mx-postlinker" ]; then
+	sudo rm "/usr/local/bin/mx-postlinker"
+fi
+
+# Remove the compiler
+cd /opt
+sudo rm -rf arm-miosix-eabi/
diff --git a/miosix/_tools/compiler/gcc8.2.0-mp2.1/windows-installer/MiosixInstaller.iss b/miosix/_tools/compiler/gcc8.2.0-mp2.1/windows-installer/MiosixInstaller.iss
new file mode 100644
index 0000000000000000000000000000000000000000..ea98edf002c1345e494e32715e954289c0dc6119
--- /dev/null
+++ b/miosix/_tools/compiler/gcc8.2.0-mp2.1/windows-installer/MiosixInstaller.iss
@@ -0,0 +1,137 @@
+
+#define MyAppName "Miosix Toolchain"
+#define MyAppVersion "GCC 4.7.3r001"
+#define MyAppURL "http://miosix.org"
+#define MyAppGUID "{{5270879A-9707-4BCB-930F-2FC7B5621061}"
+
+[Setup]
+; NOTE: The value of AppId uniquely identifies this application.
+; Do not use the same AppId value in installers for other applications.
+AppId={#MyAppGUID}
+AppName={#MyAppName}
+AppVersion={#MyAppVersion}
+AppPublisherURL={#MyAppURL}
+AppSupportURL={#MyAppURL}
+AppUpdatesURL={#MyAppURL}
+DefaultDirName=C:\arm-miosix-eabi
+; Forcefully install in this directory (GCC hates having spaces in the path)
+DisableDirPage=yes
+DefaultGroupName={#MyAppName}
+; Allow user to disable adding stuff to the start menu
+AllowNoIcons=yes
+; Produce an installer named MiosixToolchainInstaller.exe
+OutputBaseFilename=MiosixToolchainInstaller
+Compression=lzma
+; Compress everything into one lzma stream
+SolidCompression=yes
+LicenseFile=license.txt
+; The change in %PATH% takes effect after a restart
+AlwaysRestart=yes
+
+[Languages]
+Name: "english"; MessagesFile: "compiler:Default.isl"
+
+[Files]
+; Source is where the InnoSetup compiler finds the directory to install
+Source: "..\gcc\arm-miosix-eabi\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
+; NOTE: Don't use "Flags: ignoreversion" on any shared system files
+
+[Icons]
+; Add stuff to the start menu
+Name: "{group}\QSTlink2"; Filename: "{app}\bin\qstlink2.exe"; WorkingDir: "{userdocs}"
+Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
+
+; Add C:\arm-miosix-eabi to %PATH%, found on stackoverflow
+; http://stackoverflow.com/questions/3304463/how-do-i-modify-the-path-environment-variable-when-running-an-inno-setup-install
+
+[Registry]
+Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment";    \
+    ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};C:\arm-miosix-eabi\bin"; \
+    Check: NeedsAddPath('C:\arm-miosix-eabi\bin')
+
+[Code]
+
+function NeedsAddPath(Param: string): boolean;
+var
+  OrigPath: string;
+begin
+  if not RegQueryStringValue(HKLM,'SYSTEM\CurrentControlSet\Control\Session Manager\Environment','Path', OrigPath)
+  then begin
+    Result := True;
+    exit;
+  end;
+  // look for the path with leading and trailing semicolon
+  Result := Pos(';' + UpperCase(Param) + ';', ';' + UpperCase(OrigPath) + ';') = 0;
+end;
+
+// Make the installer uninstall the previous version
+// http://stackoverflow.com/questions/2000296/innosetup-how-to-automatically-uninstall-previous-installed-version
+
+function FindUninstaller(): String;
+var
+  UnistallerRegKey1: String;
+  UnistallerRegKey2: String;
+begin
+  // The uninstaller path can be in four places, according to stackoverflow
+  UnistallerRegKey1 := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\{#emit SetupSetting("AppId")}_is1');
+  UnistallerRegKey2 := ExpandConstant('Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{#emit SetupSetting("AppId")}_is1');
+  if RegQueryStringValue(HKLM, UnistallerRegKey1, 'UninstallString', Result) then
+  begin
+    Exit;
+  end;
+  if RegQueryStringValue(HKCU, UnistallerRegKey1, 'UninstallString', Result) then
+  begin
+    Exit;
+  end;
+  if RegQueryStringValue(HKLM, UnistallerRegKey2, 'UninstallString', Result) then
+  begin
+    Exit;
+  end;
+  if RegQueryStringValue(HKCU, UnistallerRegKey2, 'UninstallString', Result) then
+  begin
+    Exit;
+  end;
+  Result := '';
+end;
+
+function InitializeSetup(): Boolean;  
+var
+  Uninstaller : String;
+  ResultCode: Integer;
+  i: Integer;
+begin
+  // FileExists doesn't like quotes
+  Uninstaller := RemoveQuotes(FindUninstaller());
+  Log('Uninstaller variable is set to "'+Uninstaller+'"');
+  if not FileExists(Uninstaller) then
+  begin
+    Result := True;
+    Exit;
+  end;
+  if MsgBox('A previous version is already installed. Replace it?', mbInformation, MB_YESNO) <> IDYES then
+  begin
+    Result := False;
+    Exit;
+  end;
+  if Exec(Uninstaller, '/SILENT /NORESTART /SUPPRESSMSGBOXES','', SW_SHOW, ewWaitUntilTerminated, ResultCode) = False then
+  begin
+    MsgBox('Error: the uninstaller failed', mbError, MB_OK);
+    Result := False;
+    Exit;
+  end;
+  // Workaround for "the uninstaller returns before the uninstaller is deleted"
+  // http://stackoverflow.com/questions/18902060/disk-caching-issue-with-inno-setup
+  i := 0;
+  repeat
+    Sleep(500);
+    i := i + 1;
+  until not FileExists(Uninstaller) or (i >= 30);
+  if (i >= 30) then
+  begin
+    MsgBox('Error: the previous uninstaller was not deleted', mbError, MB_OK);
+    Result := False;
+    Exit;
+  end;
+  Log('Uninstaller completed');
+  Result := True;
+end;
\ No newline at end of file
diff --git a/miosix/_tools/compiler/gcc8.2.0-mp2.1/windows-installer/license.txt b/miosix/_tools/compiler/gcc8.2.0-mp2.1/windows-installer/license.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7a2b2f448cc5f316247df9ac5d2398600659a850
--- /dev/null
+++ b/miosix/_tools/compiler/gcc8.2.0-mp2.1/windows-installer/license.txt
@@ -0,0 +1,1804 @@
+The following installer will install:
+GNU GCC with Miosix-specific patches
+GNU Binutils
+GNU GDB
+GNU Make
+Newlib
+QSTLink2
+lpc21isp
+mx-postlinker
+
+=== GCC, Binutils, GDB, Make License ===
+
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright.  Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+  Conveying under any other circumstances is permitted solely under
+the conditions stated below.  Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+  No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+  When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+  4. Conveying Verbatim Copies.
+
+  You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+  You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+  5. Conveying Modified Source Versions.
+
+  You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+    a) The work must carry prominent notices stating that you modified
+    it, and giving a relevant date.
+
+    b) The work must carry prominent notices stating that it is
+    released under this License and any conditions added under section
+    7.  This requirement modifies the requirement in section 4 to
+    "keep intact all notices".
+
+    c) You must license the entire work, as a whole, under this
+    License to anyone who comes into possession of a copy.  This
+    License will therefore apply, along with any applicable section 7
+    additional terms, to the whole of the work, and all its parts,
+    regardless of how they are packaged.  This License gives no
+    permission to license the work in any other way, but it does not
+    invalidate such permission if you have separately received it.
+
+    d) If the work has interactive user interfaces, each must display
+    Appropriate Legal Notices; however, if the Program has interactive
+    interfaces that do not display Appropriate Legal Notices, your
+    work need not make them do so.
+
+  A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit.  Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+  6. Conveying Non-Source Forms.
+
+  You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+    a) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by the
+    Corresponding Source fixed on a durable physical medium
+    customarily used for software interchange.
+
+    b) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by a
+    written offer, valid for at least three years and valid for as
+    long as you offer spare parts or customer support for that product
+    model, to give anyone who possesses the object code either (1) a
+    copy of the Corresponding Source for all the software in the
+    product that is covered by this License, on a durable physical
+    medium customarily used for software interchange, for a price no
+    more than your reasonable cost of physically performing this
+    conveying of source, or (2) access to copy the
+    Corresponding Source from a network server at no charge.
+
+    c) Convey individual copies of the object code with a copy of the
+    written offer to provide the Corresponding Source.  This
+    alternative is allowed only occasionally and noncommercially, and
+    only if you received the object code with such an offer, in accord
+    with subsection 6b.
+
+    d) Convey the object code by offering access from a designated
+    place (gratis or for a charge), and offer equivalent access to the
+    Corresponding Source in the same way through the same place at no
+    further charge.  You need not require recipients to copy the
+    Corresponding Source along with the object code.  If the place to
+    copy the object code is a network server, the Corresponding Source
+    may be on a different server (operated by you or a third party)
+    that supports equivalent copying facilities, provided you maintain
+    clear directions next to the object code saying where to find the
+    Corresponding Source.  Regardless of what server hosts the
+    Corresponding Source, you remain obligated to ensure that it is
+    available for as long as needed to satisfy these requirements.
+
+    e) Convey the object code using peer-to-peer transmission, provided
+    you inform other peers where the object code and Corresponding
+    Source of the work are being offered to the general public at no
+    charge under subsection 6d.
+
+  A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+  A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling.  In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage.  For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product.  A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+  "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source.  The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+  If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information.  But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+  The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed.  Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+  Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+  7. Additional Terms.
+
+  "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law.  If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+  When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it.  (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.)  You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+  Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+    a) Disclaiming warranty or limiting liability differently from the
+    terms of sections 15 and 16 of this License; or
+
+    b) Requiring preservation of specified reasonable legal notices or
+    author attributions in that material or in the Appropriate Legal
+    Notices displayed by works containing it; or
+
+    c) Prohibiting misrepresentation of the origin of that material, or
+    requiring that modified versions of such material be marked in
+    reasonable ways as different from the original version; or
+
+    d) Limiting the use for publicity purposes of names of licensors or
+    authors of the material; or
+
+    e) Declining to grant rights under trademark law for use of some
+    trade names, trademarks, or service marks; or
+
+    f) Requiring indemnification of licensors and authors of that
+    material by anyone who conveys the material (or modified versions of
+    it) with contractual assumptions of liability to the recipient, for
+    any liability that these contractual assumptions directly impose on
+    those licensors and authors.
+
+  All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10.  If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term.  If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+  If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+  Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+  8. Termination.
+
+  You may not propagate or modify a covered work except as expressly
+provided under this License.  Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+  However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+  Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+  Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+  9. Acceptance Not Required for Having Copies.
+
+  You are not required to accept this License in order to receive or
+run a copy of the Program.  Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance.  However,
+nothing other than this License grants you permission to propagate or
+modify any covered work.  These actions infringe copyright if you do
+not accept this License.  Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+  10. Automatic Licensing of Downstream Recipients.
+
+  Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License.  You are not responsible
+for enforcing compliance by third parties with this License.
+
+  An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations.  If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+  You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License.  For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+  11. Patents.
+
+  A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based.  The
+work thus licensed is called the contributor's "contributor version".
+
+  A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version.  For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+  Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+  In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement).  To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+  If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients.  "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+  If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+  A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License.  You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+  Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+  12. No Surrender of Others' Freedom.
+
+  If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all.  For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+  13. Use with the GNU Affero General Public License.
+
+  Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work.  The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+  14. Revised Versions of this License.
+
+  The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+  Each version is given a distinguishing version number.  If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation.  If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+  If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+  Later license versions may give you additional or different
+permissions.  However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+  15. Disclaimer of Warranty.
+
+  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. Limitation of Liability.
+
+  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+  17. Interpretation of Sections 15 and 16.
+
+  If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+  If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+    <program>  Copyright (C) <year>  <name of author>
+    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+  You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+  The GNU General Public License does not permit incorporating your program
+into proprietary programs.  If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.  But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+
+
+=== GCC, Binutils, GDB Runtime Library License ===
+
+		   GNU LESSER GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+  This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+  0. Additional Definitions. 
+
+  As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+  "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+  An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+  A "Combined Work" is a work produced by combining or linking an
+Application with the Library.  The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+  The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+  The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+  1. Exception to Section 3 of the GNU GPL.
+
+  You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+  2. Conveying Modified Versions.
+
+  If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+   a) under this License, provided that you make a good faith effort to
+   ensure that, in the event an Application does not supply the
+   function or data, the facility still operates, and performs
+   whatever part of its purpose remains meaningful, or
+
+   b) under the GNU GPL, with none of the additional permissions of
+   this License applicable to that copy.
+
+  3. Object Code Incorporating Material from Library Header Files.
+
+  The object code form of an Application may incorporate material from
+a header file that is part of the Library.  You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+   a) Give prominent notice with each copy of the object code that the
+   Library is used in it and that the Library and its use are
+   covered by this License.
+
+   b) Accompany the object code with a copy of the GNU GPL and this license
+   document.
+
+  4. Combined Works.
+
+  You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+   a) Give prominent notice with each copy of the Combined Work that
+   the Library is used in it and that the Library and its use are
+   covered by this License.
+
+   b) Accompany the Combined Work with a copy of the GNU GPL and this license
+   document.
+
+   c) For a Combined Work that displays copyright notices during
+   execution, include the copyright notice for the Library among
+   these notices, as well as a reference directing the user to the
+   copies of the GNU GPL and this license document.
+
+   d) Do one of the following:
+
+       0) Convey the Minimal Corresponding Source under the terms of this
+       License, and the Corresponding Application Code in a form
+       suitable for, and under terms that permit, the user to
+       recombine or relink the Application with a modified version of
+       the Linked Version to produce a modified Combined Work, in the
+       manner specified by section 6 of the GNU GPL for conveying
+       Corresponding Source.
+
+       1) Use a suitable shared library mechanism for linking with the
+       Library.  A suitable mechanism is one that (a) uses at run time
+       a copy of the Library already present on the user's computer
+       system, and (b) will operate properly with a modified version
+       of the Library that is interface-compatible with the Linked
+       Version. 
+
+   e) Provide Installation Information, but only if you would otherwise
+   be required to provide such information under section 6 of the
+   GNU GPL, and only to the extent that such information is
+   necessary to install and execute a modified version of the
+   Combined Work produced by recombining or relinking the
+   Application with a modified version of the Linked Version. (If
+   you use option 4d0, the Installation Information must accompany
+   the Minimal Corresponding Source and Corresponding Application
+   Code. If you use option 4d1, you must provide the Installation
+   Information in the manner specified by section 6 of the GNU GPL
+   for conveying Corresponding Source.)
+
+  5. Combined Libraries.
+
+  You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+   a) Accompany the combined library with a copy of the same work based
+   on the Library, uncombined with any other library facilities,
+   conveyed under the terms of this License.
+
+   b) Give prominent notice with the combined library that part of it
+   is a work based on the Library, and explaining where to find the
+   accompanying uncombined form of the same work.
+
+  6. Revised Versions of the GNU Lesser General Public License.
+
+  The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+  Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+  If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
+
+=== Newlib License ===
+
+The newlib subdirectory is a collection of software from several sources.
+
+Each file may have its own copyright/license that is embedded in the source 
+file.  Unless otherwise noted in the body of the source file(s), the following copyright
+notices will apply to the contents of the newlib subdirectory:
+
+(1) Red Hat Incorporated
+
+Copyright (c) 1994-2009  Red Hat, Inc. All rights reserved.
+
+This copyrighted material is made available to anyone wishing to use,
+modify, copy, or redistribute it subject to the terms and conditions
+of the BSD License.   This program is distributed in the hope that 
+it will be useful, but WITHOUT ANY WARRANTY expressed or implied, 
+including the implied warranties of MERCHANTABILITY or FITNESS FOR 
+A PARTICULAR PURPOSE.  A copy of this license is available at 
+http://www.opensource.org/licenses. Any Red Hat trademarks that are
+incorporated in the source code or documentation are not subject to
+the BSD License and may only be used or replicated with the express
+permission of Red Hat, Inc.
+
+(2) University of California, Berkeley
+
+Copyright (c) 1981-2000 The Regents of the University of California.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice, 
+      this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+    * Neither the name of the University nor the names of its contributors 
+      may be used to endorse or promote products derived from this software 
+      without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
+OF SUCH DAMAGE.
+
+(3) David M. Gay (AT&T 1991, Lucent 1998)
+
+The author of this software is David M. Gay.
+
+Copyright (c) 1991 by AT&T.
+
+Permission to use, copy, modify, and distribute this software for any
+purpose without fee is hereby granted, provided that this entire notice
+is included in all copies of any software which is or includes a copy
+or modification of this software and in all copies of the supporting
+documentation for such software.
+
+THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+WARRANTY.  IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
+REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
+OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+
+-------------------------------------------------------------------
+
+The author of this software is David M. Gay.
+
+Copyright (C) 1998-2001 by Lucent Technologies
+All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and
+its documentation for any purpose and without fee is hereby
+granted, provided that the above copyright notice appear in all
+copies and that both that the copyright notice and this
+permission notice and warranty disclaimer appear in supporting
+documentation, and that the name of Lucent or any of its entities
+not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission.
+
+LUCENT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
+IN NO EVENT SHALL LUCENT OR ANY OF ITS ENTITIES BE LIABLE FOR ANY
+SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
+IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+THIS SOFTWARE.
+
+
+(4) Advanced Micro Devices
+
+Copyright 1989, 1990 Advanced Micro Devices, Inc.
+
+This software is the property of Advanced Micro Devices, Inc  (AMD)  which
+specifically  grants the user the right to modify, use and distribute this
+software provided this notice is not removed or altered.  All other rights
+are reserved by AMD.
+
+AMD MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS
+SOFTWARE.  IN NO EVENT SHALL AMD BE LIABLE FOR INCIDENTAL OR CONSEQUENTIAL
+DAMAGES IN CONNECTION WITH OR ARISING FROM THE FURNISHING, PERFORMANCE, OR
+USE OF THIS SOFTWARE.
+
+So that all may benefit from your experience, please report  any  problems
+or  suggestions about this software to the 29K Technical Support Center at
+800-29-29-AMD (800-292-9263) in the USA, or 0800-89-1131  in  the  UK,  or
+0031-11-1129 in Japan, toll free.  The direct dial number is 512-462-4118.
+
+Advanced Micro Devices, Inc.
+29K Support Products
+Mail Stop 573
+5900 E. Ben White Blvd.
+Austin, TX 78741
+800-292-9263
+
+(5) 
+
+(6)
+
+(7) Sun Microsystems
+
+Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+
+Developed at SunPro, a Sun Microsystems, Inc. business.
+Permission to use, copy, modify, and distribute this
+software is freely granted, provided that this notice is preserved.
+
+(8) Hewlett Packard
+
+(c) Copyright 1986 HEWLETT-PACKARD COMPANY
+
+To anyone who acknowledges that this file is provided "AS IS"
+without any express or implied warranty:
+    permission to use, copy, modify, and distribute this file
+for any purpose is hereby granted without fee, provided that
+the above copyright notice and this notice appears in all
+copies, and that the name of Hewlett-Packard Company not be
+used in advertising or publicity pertaining to distribution
+of the software without specific, written prior permission.
+Hewlett-Packard Company makes no representations about the
+suitability of this software for any purpose.
+
+(9) Hans-Peter Nilsson
+
+Copyright (C) 2001 Hans-Peter Nilsson
+
+Permission to use, copy, modify, and distribute this software is
+freely granted, provided that the above copyright notice, this notice
+and the following disclaimer are preserved with no changes.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.
+
+(10) Stephane Carrez (m68hc11-elf/m68hc12-elf targets only)
+
+Copyright (C) 1999, 2000, 2001, 2002 Stephane Carrez (stcarrez@nerim.fr)
+
+The authors hereby grant permission to use, copy, modify, distribute,
+and license this software and its documentation for any purpose, provided
+that existing copyright notices are retained in all copies and that this
+notice is included verbatim in any distributions. No written agreement,
+license, or royalty fee is required for any of the authorized uses.
+Modifications to this software may be copyrighted by their authors
+and need not follow the licensing terms described here, provided that
+the new terms are clearly indicated on the first page of each file where
+they apply.
+
+(11) Christopher G. Demetriou
+
+Copyright (c) 2001 Christopher G. Demetriou
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+3. The name of the author may not be used to endorse or promote products
+   derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+(12) SuperH, Inc.
+
+Copyright 2002 SuperH, Inc. All rights reserved
+
+This software is the property of SuperH, Inc (SuperH) which specifically
+grants the user the right to modify, use and distribute this software
+provided this notice is not removed or altered.  All other rights are
+reserved by SuperH.
+
+SUPERH MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO
+THIS SOFTWARE.  IN NO EVENT SHALL SUPERH BE LIABLE FOR INDIRECT, SPECIAL,
+INCIDENTAL OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH OR ARISING FROM
+THE FURNISHING, PERFORMANCE, OR USE OF THIS SOFTWARE.
+
+So that all may benefit from your experience, please report any problems
+or suggestions about this software to the SuperH Support Center via
+e-mail at softwaresupport@superh.com .
+
+SuperH, Inc.
+405 River Oaks Parkway
+San Jose
+CA 95134
+USA
+
+(13) Royal Institute of Technology
+
+Copyright (c) 1999 Kungliga Tekniska Högskolan
+(Royal Institute of Technology, Stockholm, Sweden).
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+3. Neither the name of KTH nor the names of its contributors may be
+   used to endorse or promote products derived from this software without
+   specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY KTH AND ITS CONTRIBUTORS ``AS IS'' AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL KTH OR ITS CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+(14) Alexey Zelkin
+
+Copyright (c) 2000, 2001 Alexey Zelkin <phantom@FreeBSD.org>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+(15) Andrey A. Chernov
+
+Copyright (C) 1997 by Andrey A. Chernov, Moscow, Russia.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+(16) FreeBSD
+
+Copyright (c) 1997-2002 FreeBSD Project.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+(17) S. L. Moshier
+
+Author:  S. L. Moshier.
+
+Copyright (c) 1984,2000 S.L. Moshier
+
+Permission to use, copy, modify, and distribute this software for any
+purpose without fee is hereby granted, provided that this entire notice
+is included in all copies of any software which is or includes a copy
+or modification of this software and in all copies of the supporting
+documentation for such software.
+
+THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+WARRANTY.  IN PARTICULAR,  THE AUTHOR MAKES NO REPRESENTATION
+OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS
+SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+
+(18) Citrus Project
+
+Copyright (c)1999 Citrus Project,
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+(19) Todd C. Miller
+
+Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+3. The name of the author may not be used to endorse or promote products
+   derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+(20) DJ Delorie (i386)
+Copyright (C) 1991 DJ Delorie
+All rights reserved.
+
+Redistribution, modification, and use in source and binary forms is permitted
+provided that the above copyright notice and following paragraph are
+duplicated in all such forms.
+
+This file is distributed WITHOUT ANY WARRANTY; without even the implied
+warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+(21) Free Software Foundation LGPL License (*-linux* targets only)
+
+   Copyright (C) 1990-1999, 2000, 2001    Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Mark Kettenis <kettenis@phys.uva.nl>, 1997.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301 USA.
+
+(22) Xavier Leroy LGPL License (i[3456]86-*-linux* targets only)
+
+Copyright (C) 1996 Xavier Leroy (Xavier.Leroy@inria.fr)
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU Library General Public License for more details.
+
+(23) Intel (i960)
+
+Copyright (c) 1993 Intel Corporation
+
+Intel hereby grants you permission to copy, modify, and distribute this
+software and its documentation.  Intel grants this permission provided
+that the above copyright notice appears in all copies and that both the
+copyright notice and this permission notice appear in supporting
+documentation.  In addition, Intel grants this permission provided that
+you prominently mark as "not part of the original" any modifications
+made to this software or documentation, and that the name of Intel
+Corporation not be used in advertising or publicity pertaining to
+distribution of the software or the documentation without specific,
+written prior permission.
+
+Intel Corporation provides this AS IS, WITHOUT ANY WARRANTY, EXPRESS OR
+IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE.  Intel makes no guarantee or
+representations regarding the use of, or the results of the use of,
+the software and documentation in terms of correctness, accuracy,
+reliability, currentness, or otherwise; and you rely on the software,
+documentation and results solely at your own risk.
+
+IN NO EVENT SHALL INTEL BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
+LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
+OF ANY KIND.  IN NO EVENT SHALL INTEL'S TOTAL LIABILITY EXCEED THE SUM
+PAID TO INTEL FOR THE PRODUCT LICENSED HEREUNDER.
+
+(24) Hewlett-Packard  (hppa targets only)
+
+(c) Copyright 1986 HEWLETT-PACKARD COMPANY
+
+To anyone who acknowledges that this file is provided "AS IS"
+without any express or implied warranty:
+    permission to use, copy, modify, and distribute this file
+for any purpose is hereby granted without fee, provided that
+the above copyright notice and this notice appears in all
+copies, and that the name of Hewlett-Packard Company not be
+used in advertising or publicity pertaining to distribution
+of the software without specific, written prior permission.
+Hewlett-Packard Company makes no representations about the
+suitability of this software for any purpose.
+
+(25) Henry Spencer (only *-linux targets)
+
+Copyright 1992, 1993, 1994 Henry Spencer.  All rights reserved.
+This software is not subject to any license of the American Telephone
+and Telegraph Company or of the Regents of the University of California.
+
+Permission is granted to anyone to use this software for any purpose on
+any computer system, and to alter it and redistribute it, subject
+to the following restrictions:
+
+1. The author is not responsible for the consequences of use of this
+   software, no matter how awful, even if they arise from flaws in it.
+
+2. The origin of this software must not be misrepresented, either by
+   explicit claim or by omission.  Since few users ever read sources,
+   credits must appear in the documentation.
+
+3. Altered versions must be plainly marked as such, and must not be
+   misrepresented as being the original software.  Since few users
+   ever read sources, credits must appear in the documentation.
+
+4. This notice may not be removed or altered.
+
+(26) Mike Barcroft
+
+Copyright (c) 2001 Mike Barcroft <mike@FreeBSD.org>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+(27) Konstantin Chuguev (--enable-newlib-iconv)
+
+Copyright (c) 1999, 2000
+   Konstantin Chuguev.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+   iconv (Charset Conversion Library) v2.0
+
+(28) Artem Bityuckiy (--enable-newlib-iconv)
+
+Copyright (c) 2003, Artem B. Bityuckiy, SoftMine Corporation.
+Rights transferred to Franklin Electronic Publishers.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+(29) IBM, Sony, Toshiba (only spu-* targets)
+
+  (C) Copyright 2001,2006,
+  International Business Machines Corporation,
+  Sony Computer Entertainment, Incorporated,
+  Toshiba Corporation,
+
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+    * Neither the names of the copyright holders nor the names of their
+      contributors may be used to endorse or promote products derived from this
+      software without specific prior written permission.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+  POSSIBILITY OF SUCH DAMAGE.
+
+(30) - Alex Tatmanjants (targets using libc/posix)
+
+  Copyright (c) 1995 Alex Tatmanjants <alex@elvisti.kiev.ua>
+ 		at Electronni Visti IA, Kiev, Ukraine.
+ 			All rights reserved.
+ 
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+  2. Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in the
+     documentation and/or other materials provided with the distribution.
+ 
+  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE
+  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+  SUCH DAMAGE.
+
+(31) - M. Warner Losh (targets using libc/posix)
+
+  Copyright (c) 1998, M. Warner Losh <imp@freebsd.org>
+  All rights reserved.
+ 
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+  2. Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in the
+     documentation and/or other materials provided with the distribution.
+ 
+  THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+  SUCH DAMAGE.
+
+(32) - Andrey A. Chernov (targets using libc/posix)
+
+  Copyright (C) 1996 by Andrey A. Chernov, Moscow, Russia.
+  All rights reserved.
+ 
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+  2. Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in the
+     documentation and/or other materials provided with the distribution.
+ 
+  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+  SUCH DAMAGE.
+
+(33) - Daniel Eischen (targets using libc/posix)
+
+  Copyright (c) 2001 Daniel Eischen <deischen@FreeBSD.org>.
+  All rights reserved.
+ 
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions
+  are met:
+  1. Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+  2. Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in the
+     documentation and/or other materials provided with the distribution.
+ 
+  THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+  OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+  SUCH DAMAGE.
+
+
+(34) - Jon Beniston (only lm32-* targets)
+
+ Contributed by Jon Beniston <jon@beniston.com>
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+
+(35) - ARM Ltd (arm and thumb variant targets only)
+
+ Copyright (c) 2009 ARM Ltd
+ All rights reserved.
+ 
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+ 3. The name of the company may not be used to endorse or promote
+    products derived from this software without specific prior written
+    permission.
+
+ THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+(36) - Xilinx, Inc. (microblaze-* and powerpc-* targets)
+
+Copyright (c) 2004, 2009 Xilinx, Inc.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+1.  Redistributions source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+
+2.  Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+
+3.  Neither the name of Xilinx nor the names of its contributors may be
+used to endorse or promote products derived from this software without
+specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+(37) Texas Instruments Incorporated (tic6x-* targets)
+
+Copyright (c) 1996-2010 Texas Instruments Incorporated
+http://www.ti.com/
+
+ Redistribution and  use in source  and binary forms, with  or without
+ modification,  are permitted provided  that the  following conditions
+ are met:
+
+    Redistributions  of source  code must  retain the  above copyright
+    notice, this list of conditions and the following disclaimer.
+
+    Redistributions in binary form  must reproduce the above copyright
+    notice, this  list of conditions  and the following  disclaimer in
+    the  documentation  and/or   other  materials  provided  with  the
+    distribution.
+
+    Neither the  name of Texas Instruments Incorporated  nor the names
+    of its  contributors may  be used to  endorse or  promote products
+    derived  from   this  software  without   specific  prior  written
+    permission.
+
+ THIS SOFTWARE  IS PROVIDED BY THE COPYRIGHT  HOLDERS AND CONTRIBUTORS
+ "AS IS"  AND ANY  EXPRESS OR IMPLIED  WARRANTIES, INCLUDING,  BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL,  EXEMPLARY,  OR CONSEQUENTIAL  DAMAGES  (INCLUDING, BUT  NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF  LIABILITY, WHETHER IN CONTRACT, STRICT  LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+(38) National Semiconductor (cr16-* and crx-* targets)
+
+Copyright (c) 2004 National Semiconductor Corporation
+
+The authors hereby grant permission to use, copy, modify, distribute,
+and license this software and its documentation for any purpose, provided
+that existing copyright notices are retained in all copies and that this
+notice is included verbatim in any distributions. No written agreement,
+license, or royalty fee is required for any of the authorized uses.
+Modifications to this software may be copyrighted by their authors
+and need not follow the licensing terms described here, provided that
+the new terms are clearly indicated on the first page of each file where
+they apply. 
+
+(39) - Adapteva, Inc. (epiphany-* targets)
+
+Copyright (c) 2011, Adapteva, Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+ * Redistributions of source code must retain the above copyright notice, this
+   list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
+ * Neither the name of Adapteva nor the names of its contributors may be used
+   to endorse or promote products derived from this software without specific
+   prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+=== QSTLink2 License ===
+
+QSTLink2 is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+QSTLink2 is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with QSTLink2. If not, see <http://www.gnu.org/licenses/>.
+
+=== lpc21isp License ===
+
+Copyright: (c) Martin Maurer 2003-2014, All rights reserved
+Portions Copyright (c) by Aeolus Development 2004 http://www.aeolusdevelopment.com
+
+This file is part of lpc21isp.
+lpc21isp is free software: you can redistribute it and/or modify
+it under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+any later version.
+lpc21isp is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU Lesser General Public License for more details.
+You should have received a copy of the GNU Lesser General Public License
+and GNU General Public License along with lpc21isp.
+If not, see <http://www.gnu.org/licenses/>. 
+
+=== mx-postlinker License ===
+
+Copyright (C) 2012 by Luigi Rucco and Terraneo Federico
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, see <http://www.gnu.org/licenses/> 
diff --git a/miosix/_tools/compiler/gcc8.2.0-mp2.1/windows-installer/rm.c b/miosix/_tools/compiler/gcc8.2.0-mp2.1/windows-installer/rm.c
new file mode 100644
index 0000000000000000000000000000000000000000..c130c36371d1c4331f5b0a703ce9e2a7e7430435
--- /dev/null
+++ b/miosix/_tools/compiler/gcc8.2.0-mp2.1/windows-installer/rm.c
@@ -0,0 +1,17 @@
+/*
+ * FIXME: try to crosscompile coreutils for windows, so as to get a real rm.exe
+ */
+
+#include <stdio.h>
+#include <string.h>
+
+int main(int argc, char *argv[])
+{
+	int i;
+	for(i=0;i<argc;i++)
+	{
+		if(strlen(argv[i])>0 && argv[i][0]!='-')
+			remove(argv[i]);
+	}
+	return 0;
+}
diff --git a/miosix/_tools/testsuite/testsuite.cpp b/miosix/_tools/testsuite/testsuite.cpp
index 16b3f351a93467c52a85e399a1fb070dfe94ab32..7a489fea1677765b6ce373c284e8da4f1f4a23fa 100644
--- a/miosix/_tools/testsuite/testsuite.cpp
+++ b/miosix/_tools/testsuite/testsuite.cpp
@@ -789,7 +789,7 @@ static void t3_p1(void *argv)
         //Test that Thread::sleep sleeps the desired number of ticks
         long long x=getTick();
         Thread::sleep(SLEEP_TIME);
-        if(abs(((SLEEP_TIME*TICK_FREQ)/1000)-(getTick()-x))>5)
+        if(llabs(((SLEEP_TIME*TICK_FREQ)/1000)-(getTick()-x))>5)
             fail("Thread::sleep() or getTick()");
     }
 }
@@ -1663,7 +1663,7 @@ static void test_timer(Timer *t)
     t->stop();
     //Testing interval precision
     if(t->interval()==-1) fail("interval (3)");
-    if(abs(t->interval()-((100*TICK_FREQ)/1000))>4) fail("not precise");
+    if(llabs(t->interval()-((100*TICK_FREQ)/1000))>4) fail("not precise");
     //Testing isRunning
     if(t->isRunning()==true) fail("isRunning (1)");
 }
@@ -1684,12 +1684,12 @@ static void test_7()
     t.stop();
     Timer w(t);
     if(w.interval()==-1) fail("interval (copy 1)");
-    if(abs(w.interval()-((100*TICK_FREQ)/1000))>4) fail("not precise (copy 1)");
+    if(llabs(w.interval()-((100*TICK_FREQ)/1000))>4) fail("not precise (copy 1)");
     if(w.isRunning()==true) fail("isRunning (copy 1)");
     Timer q;
     q=t;
     if(q.interval()==-1) fail("interval (= 1)");
-    if(abs(q.interval()-((100*TICK_FREQ)/1000))>4) fail("not precise (= 1)");
+    if(llabs(q.interval()-((100*TICK_FREQ)/1000))>4) fail("not precise (= 1)");
     if(q.isRunning()==true) fail("isRunning (= 1)");
     //Testing copy constructor and operator = with a running timer
     t.clear();
@@ -1698,13 +1698,13 @@ static void test_7()
     Timer x(t);//copy constructor called when running
     x.stop();
     if(x.interval()==-1) fail("interval (copy 2)");
-    if(abs(x.interval()-((100*TICK_FREQ)/1000))>4) fail("not precise (copy 2)");
+    if(llabs(x.interval()-((100*TICK_FREQ)/1000))>4) fail("not precise (copy 2)");
     if(x.isRunning()==true) fail("isRunning (copy 2)");
     Timer y;
     y=t;//Operator = called when running
     y.stop();
     if(y.interval()==-1) fail("interval (= 2)");
-    if(abs(y.interval()-((100*TICK_FREQ)/1000))>4) fail("not precise (= 2)");
+    if(llabs(y.interval()-((100*TICK_FREQ)/1000))>4) fail("not precise (= 2)");
     if(y.isRunning()==true) fail("isRunning (= 2)");
     //Testing concatenating time intervals
     t.clear();//Calling clear without calling stop. done on purpose
@@ -1715,7 +1715,7 @@ static void test_7()
     Thread::sleep(150);
     t.stop();
     if(t.interval()==-1) fail("interval (= 2)");
-    if(abs(t.interval()-((250*TICK_FREQ)/1000))>4) fail("not precise (= 2)");
+    if(llabs(t.interval()-((250*TICK_FREQ)/1000))>4) fail("not precise (= 2)");
     pass();
 }
 
diff --git a/miosix/config/miosix_settings.h b/miosix/config/miosix_settings.h
index 2ddf055ebb0e48815acc9a5f98f95699e3973f7d..440baad13543cce4b77abed653bf05ee045c1b46 100644
--- a/miosix/config/miosix_settings.h
+++ b/miosix/config/miosix_settings.h
@@ -214,7 +214,10 @@ const unsigned int WATERMARK_FILL=0xaaaaaaaa;
 const unsigned int STACK_FILL=0xbbbbbbbb;
 
 // Compiler version checks
-#if _MIOSIX_GCC_PATCH_VERSION < 1
+#if _MIOSIX_GCC_PATCH_MAJOR > 1
+#warning "You are using a too new compiler, which may not be supported"
+#endif
+#if !defined(_MIOSIX_GCC_PATCH_MAJOR) && _MIOSIX_GCC_PATCH_VERSION < 1
 #error "You are using a too old compiler. Get the latest one from https://miosix.org/wiki/index.php?title=Miosix_Toolchain"
 #endif
 
diff --git a/miosix/util/version.cpp b/miosix/util/version.cpp
index 34314a665017cf83b1126bb60f3cf8a09f6b92dd..bdb0ae4d823c4f85a3feab7e9f817478484f98ef 100644
--- a/miosix/util/version.cpp
+++ b/miosix/util/version.cpp
@@ -50,9 +50,14 @@ namespace miosix {
     "-mp" ts(_MIOSIX_CLANG_PATCH_VERSION)
 #define AU __attribute__((used))
 #elif defined(__GNUC__)
+#ifdef _MIOSIX_GCC_PATCH_MAJOR
+#define PV ts(_MIOSIX_GCC_PATCH_MAJOR) "." ts(_MIOSIX_GCC_PATCH_MINOR)
+#else
+#define PV ts(_MIOSIX_GCC_PATCH_VERSION)
+#endif
 #define CV ", gcc " \
     ts(__GNUC__) "." ts(__GNUC_MINOR__) "." ts(__GNUC_PATCHLEVEL__) \
-    "-mp" ts(_MIOSIX_GCC_PATCH_VERSION)
+    "-mp" PV
 #define AU __attribute__((used))
 #else
 #define CV