#!/bin/sh

# Copyright (C) Igor Sysoev


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

test -d $OBJS || mkdir $OBJS

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


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


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

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

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

. auto/modules
. auto/lib/conf

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

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

# STUB
. auto/stubs

have=NGX_PREFIX value="\"$PREFIX/\"" . auto/define
have=NGX_SBIN_PATH value="\"$SBIN_PATH\"" . auto/define
have=NGX_CONF_PATH value="\"$CONF_PATH\"" . auto/define
have=NGX_PID_PATH value="\"$PID_PATH\"" . auto/define
if [ ".$ERROR_LOG_PATH" != "." ]; then
    have=NGX_ERROR_LOG_PATH value="\"$ERROR_LOG_PATH\"" . auto/define
fi
have=NGX_HTTP_LOG_PATH value="\"$HTTP_LOG_PATH\"" . auto/define

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

. auto/summary
