To build:

git clone the buildroot tree.
reset to this hash:
2016.02

Apply the patches in this directory, and copy over the config file here to the
.config.

make -j12

----------------------
ckuiper's notes:

mkdir <some_dir_somewhere>
cd <some_dir_somewhere>

git clone git://git.buildroot.net/buildroot
cd buildroot
git checkout 2016.02

patch -p1 -i <path-to-this-folder>/0001-Build-libraries-statically-to-make-hermetic-builds-w.patch
[... do for all patches in the folder...]

cp <path-to-this-folder>/bruno/Build.Info/defconfig .config

make
(this will bring up menuconfig, just exit and save)
make -j12

-----------------------
dpadgett's notes:

Let buildroot access the toolchain thru /bin instead of /usr/bin:

mkdir bin
cd bin
cp ../Build.Info/proxy .
for file in $(ls -l ../usr/bin | grep -- "-> toolchain-wrapper" | awk '{print $9}'); do echo $file; ln -s proxy $file; done
for file in $(ls -l ../usr/bin | grep -v toolchain-wrapper | grep -v "\\.br_real" | awk '{print $9}'); do ln -s ../usr/bin/$file $file; done

Copy / link .so files to legacy locations:

ln -s ../usr/lib/libstdc++.so ../usr/mipsel-buildroot-linux-uclibc/sysroot/lib/libstdc++.so
cp ../usr/mipsel-buildroot-linux-uclibc/lib/libstdc++.la ../usr/mipsel-buildroot-linux-uclibc/sysroot/lib/.
ln -s libdl.so.1 ../usr/mipsel-buildroot-linux-uclibc/sysroot/lib/libdl.so.0
ln -s librt.so.1 ../usr/mipsel-buildroot-linux-uclibc/sysroot/lib/librt.so.0
ln -s libpthread.so.1 ../usr/mipsel-buildroot-linux-uclibc/sysroot/lib/libpthread.so.0
ln -s libm.so.1 ../usr/mipsel-buildroot-linux-uclibc/sysroot/lib/libm.so.0
ln -s libc.so.1 ../usr/mipsel-buildroot-linux-uclibc/sysroot/lib/libc.so.0
