#!/bin/sh

# Copyright (C) Igor Sysoev


. auto/options
. auto/init
. auto/sources

test -d $NGX_OBJS || mkdir $NGX_OBJS

echo > $NGX_AUTO_HEADERS_H
echo > $NGX_AUTO_CONFIG_H
echo > $NGX_AUTOCONF_ERR


if [ $NGX_DEBUG = YES ]; then
    have=NGX_DEBUG . auto/have
fi


if [ "$NGX_PLATFORM" != win32 ]; then
    . auto/headers
fi

. auto/cc/conf
. auto/os/conf

if [ "$NGX_PLATFORM" != win32 ]; then
    . auto/threads
fi

. auto/modules
. auto/lib/conf

. auto/make
. auto/lib/make
. auto/install

if [ "$NGX_PLATFORM" != win32 ]; then
    . auto/unix
fi

# STUB
. auto/stubs

have=NGX_PREFIX value="\"$NGX_PREFIX/\"" . auto/define
have=NGX_SBIN_PATH value="\"$NGX_SBIN_PATH\"" . auto/define
have=NGX_CONF_PATH value="\"$NGX_CONF_PATH\"" . auto/define
have=NGX_PID_PATH value="\"$NGX_PID_PATH\"" . auto/define
if test -n "$NGX_ERROR_LOG_PATH"; then
    have=NGX_ERROR_LOG_PATH value="\"$NGX_ERROR_LOG_PATH\"" . auto/define
fi

have=NGX_HTTP_LOG_PATH value="\"$NGX_HTTP_LOG_PATH\"" . auto/define
have=NGX_HTTP_CLIENT_TEMP_PATH value="\"$NGX_HTTP_CLIENT_TEMP_PATH\""
. auto/define
have=NGX_HTTP_PROXY_TEMP_PATH value="\"$NGX_HTTP_PROXY_TEMP_PATH\""
. auto/define
have=NGX_HTTP_FASTCGI_TEMP_PATH value="\"$NGX_HTTP_FASTCGI_TEMP_PATH\""
. auto/define

have=NGX_USER value="\"$NGX_USER\"" . auto/define
have=NGX_GROUP value="\"$NGX_GROUP\"" . auto/define

. auto/summary
