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_MAKEFILE=$NXT_BUILD_DIR/Makefile 29 30CC=${CC:-cc} 31 32NXT_DAEMON=unitd 33NXT_BINDIR="bin" 34NXT_SBINDIR="sbin" 35NXT_LIBDIR="lib" 36NXT_INCDIR="include" 37NXT_MODULES="modules" 38NXT_STATE="state" 39NXT_PID="unit.pid" 40NXT_LOG="unit.log" 41NXT_CONTROL="unix:control.unit.sock" 42NXT_USER="nobody" 43NXT_GROUP= 44 45nxt_module=${1:-""} 46 47case $nxt_module in 48 --help) 49 . auto/help 50 exit 0 51 ;; 52 53 ""|--*) 54 ;; 55 56 unit) 57 shift 58 ;; 59 60 *) 61 . auto/modules/conf 62 exit 0 63 ;; 64esac 65 66 67. auto/os/test 68. auto/options 69 70test -d $NXT_BUILD_DIR || mkdir $NXT_BUILD_DIR 71 72> $NXT_AUTOCONF_ERR 73> $NXT_AUTO_CONFIG_H 74 75. auto/cc/test 76 77 78cat << END >> $NXT_AUTO_CONFIG_H 79 80#define NXT_CONFIGURE_OPTIONS "$NXT_CONFIGURE_OPTIONS" 81#define NXT_SYSTEM_VERSION "$NXT_SYSTEM $NXT_SYSTEM_VERSION $NXT_SYSTEM_PLATFORM" 82#define NXT_COMPILER_VERSION "$NXT_CC_VERSION" 83 84#define NXT_PID "$NXT_PID" 85#define NXT_LOG "$NXT_LOG" 86#define NXT_MODULES "$NXT_MODULES" 87#define NXT_STATE "$NXT_STATE" 88 89#define NXT_CONTROL_SOCK "$NXT_CONTROL" 90 91#define NXT_USER "$NXT_USER" 92#define NXT_GROUP "$NXT_GROUP" 93 94END 95 96 97if [ $echo = echo ]; then 98 # Build a portable "echo" program that supports only "-n" option. 99 # This also tests C compiler ability to create executables. 100 . auto/echo/build 101fi 102 103 104nxt_have=NXT_UNIX . auto/have 105 106if [ $NXT_UNIX_DOMAIN = YES ]; then 107 nxt_have=NXT_HAVE_UNIX_DOMAIN . auto/have 108fi 109 110NXT_LIBRT= 111 112. auto/types 113. auto/clang 114. auto/atomic 115. auto/malloc 116. auto/mmap 117. auto/shmem 118. auto/time 119. auto/threads 120. auto/events 121. auto/sockets 122. auto/sendfile 123. auto/files 124. auto/unix 125. auto/os/conf 126. auto/ssltls 127. auto/pcre 128 129 130case "$NXT_SYSTEM_PLATFORM" in 131 i386 | amd64 | x86_64) 132 nxt_have=NXT_HAVE_LITTLE_ENDIAN . auto/have 133 nxt_have=NXT_HAVE_NONALIGNED . auto/have 134 ;; 135esac 136 137 138if [ $NXT_DEBUG = YES ]; then 139 nxt_debug=1 140else 141 nxt_debug=0 142fi 143 144cat << END >> $NXT_AUTO_CONFIG_H 145 146#ifndef NXT_DEBUG 147#define NXT_DEBUG $nxt_debug 148#endif 149 150#define NXT_SHM_PREFIX "$NXT_SHM_PREFIX" 151 152END 153 154. auto/test_build 155. auto/sources 156. auto/save 157 158# LOOK 159 160NXT_LIB_AUX_CFLAGS="$NXT_OPENSSL_CFLAGS $NXT_GNUTLS_CFLAGS \\ 161 $NXT_CYASSL_CFLAGS $NXT_POLARSSL_CFLAGS \\ 162 $NXT_PCRE_CFLAGS" 163 164NXT_LIB_AUX_LIBS="$NXT_OPENSSL_LIBS $NXT_GNUTLS_LIBS \\ 165 $NXT_CYASSL_LIBS $NXT_POLARSSL_LIBS \\ 166 $NXT_PCRE_LIB" 167 168. auto/make 169. auto/summary 170