This also eliminates expressions that incompatible with BSD make, thus fixing installation of Node.js module on FreeBSD (broken by dace60fc4926).
171 lines
3.0 KiB
Bash
Executable File
171 lines
3.0 KiB
Bash
Executable File
#!/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/nxt_auto_config.h
|
|
NXT_VERSION_H=$NXT_BUILD_DIR/nxt_version.h
|
|
NXT_MAKEFILE=$NXT_BUILD_DIR/Makefile
|
|
|
|
CC=${CC:-cc}
|
|
|
|
NXT_DAEMON=unitd
|
|
NXT_BINDIR="bin"
|
|
NXT_SBINDIR="sbin"
|
|
NXT_LIBDIR="lib"
|
|
NXT_INCDIR="include"
|
|
NXT_MODULES="modules"
|
|
NXT_STATE="state"
|
|
NXT_PID="unit.pid"
|
|
NXT_LOG="unit.log"
|
|
NXT_CONTROL="unix:control.unit.sock"
|
|
NXT_USER="nobody"
|
|
NXT_GROUP=
|
|
|
|
nxt_module=${1:-""}
|
|
|
|
case $nxt_module in
|
|
--help)
|
|
. auto/help
|
|
exit 0
|
|
;;
|
|
|
|
""|--*)
|
|
;;
|
|
|
|
unit)
|
|
shift
|
|
;;
|
|
|
|
*)
|
|
. auto/modules/conf
|
|
exit 0
|
|
;;
|
|
esac
|
|
|
|
|
|
. auto/os/test
|
|
. auto/options
|
|
|
|
test -d $NXT_BUILD_DIR || mkdir $NXT_BUILD_DIR
|
|
|
|
> $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_MODULES "$NXT_MODULES"
|
|
#define NXT_STATE "$NXT_STATE"
|
|
|
|
#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/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
|
|
. auto/pcre
|
|
|
|
|
|
case "$NXT_SYSTEM_PLATFORM" in
|
|
i386 | amd64 | x86_64)
|
|
nxt_have=NXT_HAVE_LITTLE_ENDIAN . auto/have
|
|
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"
|
|
|
|
. auto/make
|
|
. auto/summary
|