1#!/bin/sh 2 3# Copyright (C) Igor Sysoev 4# Copyright (C) NGINX, Inc. 5 6 7# Disable localized program messages. 8LC_ALL=C 9export LC_ALL 10 11# Stop on error exit status. 12set -e 13 14# Stop on uninitialized variable. 15set -u 16 17# Initialize variables with null values if they are not defined. 18CFLAGS=${CFLAGS=} 19NXT_TEST_CFLAGS=${NXT_TEST_CFLAGS=} 20NXT_TEST_LIBS=${NXT_TEST_LIBS=} 21 22NXT_BUILD_DIR=${NXT_BUILD_DIR:-build} 23 24NXT_AUTOTEST=$NXT_BUILD_DIR/autotest 25NXT_AUTOCONF_ERR=$NXT_BUILD_DIR/autoconf.err 26NXT_AUTOCONF_DATA=$NXT_BUILD_DIR/autoconf.data 27NXT_AUTO_CONFIG_H=$NXT_BUILD_DIR/nxt_auto_config.h 28NXT_VERSION_H=$NXT_BUILD_DIR/nxt_version.h 29NXT_MAKEFILE=$NXT_BUILD_DIR/Makefile 30 31CC=${CC:-cc} 32 33NXT_DAEMON=unitd 34NXT_BINDIR="bin" 35NXT_SBINDIR="sbin" 36NXT_LIBDIR="lib" 37NXT_INCDIR="include" 38NXT_MODULES="modules" 39NXT_STATE="state" 40NXT_TMP="tmp" 41NXT_PID="unit.pid" 42NXT_LOG="unit.log" 43NXT_CONTROL="unix:control.unit.sock" 44NXT_USER="nobody" 45NXT_GROUP= 46 47nxt_module=${1:-""} 48 49case $nxt_module in 50 --help) 51 . auto/help 52 exit 0 53 ;; 54 55 ""|--*) 56 ;; 57 58 unit) 59 shift 60 ;; 61 62 *) 63 . auto/modules/conf 64 exit 0 65 ;; 66esac 67 68 69. auto/os/test 70. auto/options 71 72test -d $NXT_BUILD_DIR || mkdir $NXT_BUILD_DIR 73 74> $NXT_AUTOCONF_ERR 75> $NXT_AUTO_CONFIG_H 76 77. auto/cc/test 78 79 80cat << END >> $NXT_AUTO_CONFIG_H 81 82#define NXT_CONFIGURE_OPTIONS "$NXT_CONFIGURE_OPTIONS" 83#define NXT_SYSTEM_VERSION "$NXT_SYSTEM $NXT_SYSTEM_VERSION $NXT_SYSTEM_PLATFORM" 84#define NXT_COMPILER_VERSION "$NXT_CC_VERSION" 85 86#define NXT_PID "$NXT_PID" 87#define NXT_LOG "$NXT_LOG" 88#define NXT_MODULES "$NXT_MODULES" 89#define NXT_STATE "$NXT_STATE" 90#define NXT_TMP "$NXT_TMP" 91 92#define NXT_CONTROL_SOCK "$NXT_CONTROL" 93 94#define NXT_USER "$NXT_USER" 95#define NXT_GROUP "$NXT_GROUP" 96 97END 98 99 100if [ $echo = echo ]; then 101 # Build a portable "echo" program that supports only "-n" option. 102 # This also tests C compiler ability to create executables. 103 . auto/echo/build 104fi 105 106 107nxt_have=NXT_UNIX . auto/have 108 109if [ $NXT_UNIX_DOMAIN = YES ]; then 110 nxt_have=NXT_HAVE_UNIX_DOMAIN . auto/have 111fi 112 113NXT_LIBRT= 114 115. auto/types 116. auto/clang 117. auto/atomic 118. auto/malloc 119. auto/mmap 120. auto/shmem 121. auto/time 122. auto/threads 123. auto/events 124. auto/sockets 125. auto/sendfile 126. auto/files 127. auto/unix 128. auto/os/conf 129. auto/ssltls 130. auto/pcre 131. auto/isolation 132. auto/capability 133 134 135case "$NXT_SYSTEM_PLATFORM" in 136 i386 | amd64 | x86_64) 137 nxt_have=NXT_HAVE_LITTLE_ENDIAN . auto/have 138 nxt_have=NXT_HAVE_NONALIGNED . auto/have 139 ;; 140esac 141 142 143if [ $NXT_DEBUG = YES ]; then 144 nxt_debug=1 145else 146 nxt_debug=0 147fi 148 149cat << END >> $NXT_AUTO_CONFIG_H 150 151#ifndef NXT_DEBUG 152#define NXT_DEBUG $nxt_debug 153#endif 154 155#define NXT_SHM_PREFIX "$NXT_SHM_PREFIX" 156 157END 158 159. auto/test_build 160. auto/sources 161. auto/save 162 163# LOOK 164 165NXT_LIB_AUX_CFLAGS="$NXT_OPENSSL_CFLAGS $NXT_GNUTLS_CFLAGS \\ 166 $NXT_CYASSL_CFLAGS $NXT_POLARSSL_CFLAGS \\ 167 $NXT_PCRE_CFLAGS" 168 169NXT_LIB_AUX_LIBS="$NXT_OPENSSL_LIBS $NXT_GNUTLS_LIBS \\ 170 $NXT_CYASSL_LIBS $NXT_POLARSSL_LIBS \\ 171 $NXT_PCRE_LIB" 172 173. auto/make 174. auto/summary 175