#!/bin/sh # Copyright (C) Igor Sysoev # Copyright (C) NGINX, Inc. # Disable localized program messages. LC_ALL=C export LC_ALL # Stop on error exit status. set -e # Stop on uninitialized variable. set -u # Initialize variables with null values if they are not defined. CFLAGS=${CFLAGS=} NXT_TEST_CFLAGS=${NXT_TEST_CFLAGS=} NXT_TEST_LIBS=${NXT_TEST_LIBS=} NXT_BUILD_DIR=${NXT_BUILD_DIR:-build} NXT_AUTOTEST=$NXT_BUILD_DIR/autotest NXT_AUTOCONF_ERR=$NXT_BUILD_DIR/autoconf.err NXT_AUTOCONF_DATA=$NXT_BUILD_DIR/autoconf.data NXT_AUTO_CONFIG_H=$NXT_BUILD_DIR/include/nxt_auto_config.h NXT_VERSION_H=$NXT_BUILD_DIR/include/nxt_version.h NXT_MAKEFILE=$NXT_BUILD_DIR/Makefile CC=${CC:-cc} NXT_DAEMON=unitd NXT_USER="nobody" NXT_GROUP= nxt_module=${1:-""} case $nxt_module in ""|--*) ;; unit) shift ;; *) . auto/modules/conf exit 0 ;; esac . ./version . auto/os/test . auto/options mkdir -p $NXT_BUILD_DIR mkdir -p $NXT_BUILD_DIR/bin mkdir -p $NXT_BUILD_DIR/fuzzing mkdir -p $NXT_BUILD_DIR/include mkdir -p $NXT_BUILD_DIR/lib mkdir -p $NXT_BUILD_DIR/lib/unit/modules mkdir -p $NXT_BUILD_DIR/sbin mkdir -p $NXT_BUILD_DIR/share/man/man8 mkdir -p $NXT_BUILD_DIR/share/pkgconfig mkdir -p $NXT_BUILD_DIR/src mkdir -p $NXT_BUILD_DIR/src/test mkdir -p $NXT_BUILD_DIR/var/lib/unit mkdir -p $NXT_BUILD_DIR/var/log/unit > $NXT_AUTOCONF_ERR > $NXT_AUTO_CONFIG_H . auto/cc/test cat << END >> $NXT_AUTO_CONFIG_H #define NXT_CONFIGURE_OPTIONS "$NXT_CONFIGURE_OPTIONS" #define NXT_SYSTEM_VERSION "$NXT_SYSTEM $NXT_SYSTEM_VERSION $NXT_SYSTEM_PLATFORM" #define NXT_COMPILER_VERSION "$NXT_CC_VERSION" #define NXT_PID "$NXT_PID" #define NXT_LOG "$NXT_LOG" #define NXT_MODULESDIR "$NXT_MODULESDIR" #define NXT_STATEDIR "$NXT_STATEDIR" #define NXT_TMPDIR "$NXT_TMPDIR" #define NXT_CONTROL_SOCK "$NXT_CONTROL" #define NXT_USER "$NXT_USER" #define NXT_GROUP "$NXT_GROUP" END if [ $echo = echo ]; then # Build a portable "echo" program that supports only "-n" option. # This also tests C compiler ability to create executables. . auto/echo/build fi nxt_have=NXT_UNIX . auto/have if [ $NXT_UNIX_DOMAIN = YES ]; then nxt_have=NXT_HAVE_UNIX_DOMAIN . auto/have fi NXT_LIBRT= . auto/endian . auto/types . auto/clang . auto/atomic . auto/malloc . auto/mmap . auto/shmem . auto/time . auto/threads . auto/events . auto/sockets . auto/sendfile . auto/files . auto/unix . auto/os/conf . auto/ssltls if [ $NXT_REGEX = YES ]; then . auto/pcre fi . auto/cgroup . auto/isolation . auto/capability . auto/sched case "$NXT_SYSTEM_PLATFORM" in i386 | amd64 | x86_64) nxt_have=NXT_HAVE_NONALIGNED . auto/have ;; esac if [ $NXT_DEBUG = YES ]; then nxt_debug=1 else nxt_debug=0 fi cat << END >> $NXT_AUTO_CONFIG_H #ifndef NXT_DEBUG #define NXT_DEBUG $nxt_debug #endif #define NXT_SHM_PREFIX "$NXT_SHM_PREFIX" END . auto/test_build . auto/sources . auto/save # LOOK NXT_LIB_AUX_CFLAGS="$NXT_OPENSSL_CFLAGS $NXT_GNUTLS_CFLAGS \\ $NXT_CYASSL_CFLAGS $NXT_POLARSSL_CFLAGS \\ $NXT_PCRE_CFLAGS" NXT_LIB_AUX_LIBS="$NXT_OPENSSL_LIBS $NXT_GNUTLS_LIBS \\ $NXT_CYASSL_LIBS $NXT_POLARSSL_LIBS \\ $NXT_PCRE_LIB" if [ $NXT_NJS != NO ]; then . auto/njs fi NXT_OTEL_LIB_DIR=src/otel if [ $NXT_OTEL != NO ]; then . auto/otel NXT_LIB_AUX_LIBS="$NXT_LIB_AUX_LIBS $NXT_OTEL_LIBS" fi . auto/make . auto/fuzzing . auto/summary