tar jxf m4-1.4.16.tar.bz2 && (cd m4-1.4.16 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
tar jxf make-3.82.tar.bz2 && (cd make-3.82 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
tar jxf zlib-1.2.6.tar.bz2 && (cd zlib-1.2.6 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && PATH=/usr/bin:$PATH make && make install)
tar jxf autoconf-2.68.tar.bz2 && (cd autoconf-2.68 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
tar zxf automake-1.11.3.tar.gz && (cd automake-1.11.3 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
tar zxf libtool-2.4.2.tar.gz && (cd libtool-2.4.2 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
tar jxf make-3.82.tar.bz2 && (cd make-3.82 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
tar jxf bison-2.5.tar.bz2 && (cd bison-2.5 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
tar jxf flex-2.5.35.tar.bz2 && (cd flex-2.5.35 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
tar zxf libxml2-2.7.8.tar.gz && (cd libxml2-2.7.8 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX --with-zlib=$PREFIX --with-python=$PYTHON && make && make install)
tar zxf libxslt-1.1.26.tar.gz && (cd libxslt-1.1.26 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
tar zxf readline-6.2.tar.gz && (cd readline-6.2 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
tar zxf libiconv-1.14.tar.gz && (cd libiconv-1.14 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
tar zxf intltool-0.50.1.tar.gz && (cd intltool-0.50.1 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
tar zxf gettext-0.18.1.1.tar.gz && (cd gettext-0.18.1.1 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
tar zxf tiff-4.0.1.tar.gz && (cd tiff-4.0.1 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
tar zxf libpng-1.5.9.tar.gz && (cd libpng-1.5.9 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
tar zxf jpegsrc.v8d.tar.gz && (cd jpeg-8d && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
tar zxf XML-Simple-2.18.tar.gz && (cd XML-Simple-2.18 && perl Makefile.PL PREFIX=$PREFIX && make && make install)
tar zxf XML-Parser-2.40.tar.gz && (cd XML-Parser-2.40 && perl Makefile.PL PREFIX=$PREFIX && make && make install)
#
# libffi has a bug that is caused by it depending on the output format of GNU wc(1)
# it can be avoided by changing into the target build directory, re-running configure and then running make from there.
# the target dir gets built by the first invocation of configure, and is the newest dir, so we find its name with ls -t|head -1
#
tar zxf libffi-3.0.10.tar.gz && (cd libffi-3.0.10 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && cd `ls -t | head -1` && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ../configure --prefix=$PREFIX && make && make install)
# time to bootstrap the circular dependency between pkg-config and glib.
#
# step one: build glib with everything specified so that pkg-config is not used or required
#
tar jxf glib-2.31.2.tar.bz2 && (cd glib-2.31.2 && LDFLAGS=-L$PREFIX/lib CFLAGS=-I$PREFIX/include ZLIB_CFLAGS=-I$PREFIX/include ZLIB_LIBS=-I$PREFIX/lib LIBFFI_CFLAGS=-I$PREFIX/lib/libffi-3.0.10/include LIBFFI_LIBS="-L$PREFIX/lib -lffi" ./configure --prefix=$PREFIX --with-pcre=internal && make && make install) && rm -rf glib-2.31.2
#
# step two: build pkg-config with glib flags specified so that pkg-config is not used or required
#
tar zxf pkg-config-0.26.tar.gz && (cd pkg-config-0.26 && GLIB_CFLAGS="-I$PREFIX/include/glib-2.0 -I$PREFIX/lib/glib-2.0/include" GLIB_LIBS="-L$PREFIX/lib -lglib-2.0 -lintl" ./configure --prefix=$HOME/gtk/inst && make && make install) && rm -rf pkg-config-0.26
#
# step three: rebuild glib (still need CFLAGS in order to find libintl)
#
tar jxf glib-2.31.2.tar.bz2 && (cd glib-2.31.2 && LDFLAGS="$GLOBAL_LDFLAGS -L$PREFIX/lib -lintl" CFLAGS="$GLOBAL_CFLAGS -I$HOME/gtk/inst/include" ./configure --prefix=$HOME/gtk/inst && make && make install)
#
# step four: rebuilding pkg-config now that glib is all set
#
tar zxf pkg-config-0.26.tar.gz && (cd pkg-config-0.26 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
#
# now we can start on the GTK stack itself
#
tar jxf atk-2.2.0.tar.bz2 && (cd atk-2.2.0 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
tar jxf gnome-common-2.34.0.tar.bz2 && (cd gnome-common-2.34.0 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
tar zxf gtk-osx-docbook-1.0.tar.gz && (cd gtk-osx-docbook-1.0 && JHBUILD_PREFIX=$PREFIX make install)
# gnome-doc-utils is not parallel-build safe so turn off make -j2
tar jxf gnome-doc-utils-0.20.6.tar.bz2 && (cd gnome-doc-utils-0.20.6 && PYTHONPATH=$PREFIX/lib/python2.7/site-packages CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX --disable-scrollkeeper && PYTHONPATH=$PREFIX/lib/python2.7/site-packages MAKEFLAGS= make && PYTHONPATH=$PREFIX/lib/python2.7/site-packages MAKEFLAGS= make install)
tar jxf gtk-doc-1.18.tar.bz2 && (cd gtk-doc-1.18 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --disable-scrollkeeper --with-xml-catalog=$PREFIX/etc/xml/catalog --prefix=$PREFIX && PYTHONPATH=$PREFIX/lib/python2.7/site-packages make && make install)
tar zxf pixman-0.24.4.tar.gz && (cd pixman-0.24.4 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" sh ./autogen.sh --prefix=$PREFIX && make && make install)
tar jxf freetype-2.4.8.tar.bz2 && (cd freetype-2.4.8 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
tar zxf fontconfig-2.8.0.tar.gz && (cd fontconfig-2.8.0 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
tar zxf cairo-1.10.2.tar.gz && (cd cairo-1.10.2 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
tar jxf pango-1.29.5.tar.bz2 && (cd pango-1.29.5 && CFLAGS=$GLOBAL_CFLAGS LD_FLAGS="$GLOBAL_LDFLAGS" ./configure --prefix=$PREFIX && make && make install)
tar jxf gdk-pixbuf-2.24.0.tar.bz2 && (cd gdk-pixbuf-2.24.0 && LDFLAGS="$GLOBAL_LDFLAGS -L$PREFIX/lib" CFLAGS="-I$PREFIX/include $GLOBAL_CFLAGS" ./configure --prefix=$PREFIX && make && make install)