#!/usr/bin/env bash
set -e

NGINX_VERSION="1.6.2"
NGINX_TARBALL="nginx-${NGINX_VERSION}.tar.gz"
PCRE_VERSION="8.34"
PCRE_TARBALL="pcre-${PCRE_VERSION}.tar.gz"
ZLIB_VERSION="1.2.8"
ZLIB_TARBALL="zlib-${ZLIB_VERSION}.tar.gz"

BINDIR=$(dirname "$0")
BUILDDIR="${1}"
CACHEDIR="${2}"

mkdir -p $BUILDDIR/www
mv $BUILDDIR/* $BUILDDIR/www

cd $CACHEDIR

if [[ ! -d "${NGINX_TARBALL%.tar.gz}" ]]; then
  curl "http://nginx.org/download/${NGINX_TARBALL}" -o "${NGINX_TARBALL}"
  tar xvzf "${NGINX_TARBALL}" && rm -f "${NGINX_TARBALL}"
fi
 
if [[ ! -d "${PCRE_TARBALL%.tar.gz}" ]]; then
  curl "http://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${PCRE_TARBALL}" -o "${PCRE_TARBALL}"
  tar xvzf "${PCRE_TARBALL}" && rm -f "${PCRE_TARBALL}"
fi
 
if [[ ! -d "${ZLIB_TARBALL%.tar.gz}" ]]; then
  curl "http://zlib.net/${ZLIB_TARBALL}" -o "${ZLIB_TARBALL}"
  tar xvzf "${ZLIB_TARBALL}" && rm -rf "${ZLIB_TARBALL}"
fi

cd "nginx-${NGINX_VERSION}"
mkdir $BUILDDIR/nginx
./configure \
  --with-cpu-opt=generic \
  --prefix=$BUILDDIR/nginx \
  --with-pcre=../pcre-${PCRE_VERSION} \
  --sbin-path=. \
  --pid-path=./nginx.pid \
  --conf-path=./nginx.conf \
  --with-ld-opt="-static" \
  --with-http_spdy_module \
  --with-http_stub_status_module \
  --with-http_gzip_static_module \
  --with-file-aio \
  --with-zlib=../zlib-${ZLIB_VERSION} \
  --with-pcre \
  --with-cc-opt="-O2 -static -static-libgcc" \
  --without-http_charset_module \
  --without-http_ssi_module \
  --without-http_userid_module \
  --without-http_access_module \
  --without-http_auth_basic_module \
  --without-http_autoindex_module \
  --without-http_geo_module \
  --without-http_map_module \
  --without-http_split_clients_module \
  --without-http_referer_module \
  --without-http_proxy_module \
  --without-http_fastcgi_module \
  --without-http_uwsgi_module \
  --without-http_scgi_module \
  --without-http_memcached_module \
  --without-http_empty_gif_module \
  --without-http_browser_module \
  --without-http_upstream_ip_hash_module \
  --without-http_upstream_least_conn_module \
  --without-http_upstream_keepalive_module \
  --without-mail_pop3_module \
  --without-mail_imap_module \
  --without-mail_smtp_module
 
sed -i "/CFLAGS/s/ \-O //g" objs/Makefile
 
make
make install

rm -rf "nginx-${NGINX_VERSION}"

if [[ ! -f $BUILDDIR/nginx.conf.erb ]]; then
    cp $BINDIR/../conf/nginx.conf.erb $BUILDDIR/nginx.conf.erb
fi

if [[ ! -f $BUILDDIR/mime.types ]]; then
	cp $BINDIR/../conf/mime.types $BUILDDIR/mime.types
fi