xref: /unit/configure (revision 2051)
10Sigor@sysoev.ru#!/bin/sh
20Sigor@sysoev.ru
30Sigor@sysoev.ru# Copyright (C) Igor Sysoev
40Sigor@sysoev.ru# Copyright (C) NGINX, Inc.
50Sigor@sysoev.ru
60Sigor@sysoev.ru
70Sigor@sysoev.ru# Disable localized program messages.
8734Svbart@nginx.comLC_ALL=C
9734Svbart@nginx.comexport LC_ALL
100Sigor@sysoev.ru
110Sigor@sysoev.ru# Stop on error exit status.
120Sigor@sysoev.ruset -e
130Sigor@sysoev.ru
140Sigor@sysoev.ru# Stop on uninitialized variable.
150Sigor@sysoev.ruset -u
160Sigor@sysoev.ru
170Sigor@sysoev.ru# Initialize variables with null values if they are not defined.
180Sigor@sysoev.ruCFLAGS=${CFLAGS=}
190Sigor@sysoev.ruNXT_TEST_CFLAGS=${NXT_TEST_CFLAGS=}
200Sigor@sysoev.ruNXT_TEST_LIBS=${NXT_TEST_LIBS=}
210Sigor@sysoev.ru
22266Sigor@sysoev.ruNXT_BUILD_DIR=${NXT_BUILD_DIR:-build}
23216Sigor@sysoev.ru
24216Sigor@sysoev.ruNXT_AUTOTEST=$NXT_BUILD_DIR/autotest
25216Sigor@sysoev.ruNXT_AUTOCONF_ERR=$NXT_BUILD_DIR/autoconf.err
26216Sigor@sysoev.ruNXT_AUTOCONF_DATA=$NXT_BUILD_DIR/autoconf.data
27216Sigor@sysoev.ruNXT_AUTO_CONFIG_H=$NXT_BUILD_DIR/nxt_auto_config.h
28953Salexander.borisov@nginx.comNXT_VERSION_H=$NXT_BUILD_DIR/nxt_version.h
29216Sigor@sysoev.ruNXT_MAKEFILE=$NXT_BUILD_DIR/Makefile
30235Sigor@sysoev.ru
31235Sigor@sysoev.ruCC=${CC:-cc}
32235Sigor@sysoev.ru
33265Smax.romanov@nginx.comNXT_DAEMON=unitd
34265Smax.romanov@nginx.comNXT_BINDIR="bin"
35265Smax.romanov@nginx.comNXT_SBINDIR="sbin"
36805Smax.romanov@nginx.comNXT_LIBDIR="lib"
37805Smax.romanov@nginx.comNXT_INCDIR="include"
381825Sthresh@nginx.comNXT_MANDIR="share/man"
39707Sigor@sysoev.ruNXT_MODULES="modules"
40707Sigor@sysoev.ruNXT_STATE="state"
411403Smax.romanov@nginx.comNXT_TMP="tmp"
42259Sigor@sysoev.ruNXT_PID="unit.pid"
43259Sigor@sysoev.ruNXT_LOG="unit.log"
44235Sigor@sysoev.ruNXT_CONTROL="unix:control.unit.sock"
45235Sigor@sysoev.ruNXT_USER="nobody"
46235Sigor@sysoev.ruNXT_GROUP=
47235Sigor@sysoev.ru
48235Sigor@sysoev.runxt_module=${1:-""}
49216Sigor@sysoev.ru
50216Sigor@sysoev.rucase $nxt_module in
51235Sigor@sysoev.ru    --help)
52235Sigor@sysoev.ru        . auto/help
53235Sigor@sysoev.ru        exit 0
54235Sigor@sysoev.ru    ;;
55235Sigor@sysoev.ru
56235Sigor@sysoev.ru    ""|--*)
57216Sigor@sysoev.ru    ;;
58216Sigor@sysoev.ru
59216Sigor@sysoev.ru    unit)
60216Sigor@sysoev.ru        shift
61216Sigor@sysoev.ru    ;;
62216Sigor@sysoev.ru
63216Sigor@sysoev.ru    *)
64216Sigor@sysoev.ru        . auto/modules/conf
65216Sigor@sysoev.ru        exit 0
66216Sigor@sysoev.ru    ;;
67216Sigor@sysoev.ruesac
68216Sigor@sysoev.ru
69235Sigor@sysoev.ru
70*2051Svbart@nginx.com. ./version
710Sigor@sysoev.ru. auto/os/test
720Sigor@sysoev.ru. auto/options
730Sigor@sysoev.ru
740Sigor@sysoev.rutest -d $NXT_BUILD_DIR || mkdir $NXT_BUILD_DIR
750Sigor@sysoev.ru
760Sigor@sysoev.ru> $NXT_AUTOCONF_ERR
770Sigor@sysoev.ru> $NXT_AUTO_CONFIG_H
780Sigor@sysoev.ru
790Sigor@sysoev.ru. auto/cc/test
800Sigor@sysoev.ru
810Sigor@sysoev.ru
820Sigor@sysoev.rucat << END >> $NXT_AUTO_CONFIG_H
830Sigor@sysoev.ru
840Sigor@sysoev.ru#define NXT_CONFIGURE_OPTIONS  "$NXT_CONFIGURE_OPTIONS"
850Sigor@sysoev.ru#define NXT_SYSTEM_VERSION     "$NXT_SYSTEM $NXT_SYSTEM_VERSION $NXT_SYSTEM_PLATFORM"
860Sigor@sysoev.ru#define NXT_COMPILER_VERSION   "$NXT_CC_VERSION"
870Sigor@sysoev.ru
88231Sigor@sysoev.ru#define NXT_PID                "$NXT_PID"
89230Sigor@sysoev.ru#define NXT_LOG                "$NXT_LOG"
90233Sigor@sysoev.ru#define NXT_MODULES            "$NXT_MODULES"
91314Svbart@nginx.com#define NXT_STATE              "$NXT_STATE"
921403Smax.romanov@nginx.com#define NXT_TMP                "$NXT_TMP"
93230Sigor@sysoev.ru
94234Sigor@sysoev.ru#define NXT_CONTROL_SOCK       "$NXT_CONTROL"
95234Sigor@sysoev.ru
96232Sigor@sysoev.ru#define NXT_USER               "$NXT_USER"
97232Sigor@sysoev.ru#define NXT_GROUP              "$NXT_GROUP"
98232Sigor@sysoev.ru
990Sigor@sysoev.ruEND
1000Sigor@sysoev.ru
1010Sigor@sysoev.ru
1020Sigor@sysoev.ruif [ $echo = echo ]; then
1030Sigor@sysoev.ru    # Build a portable "echo" program that supports only "-n" option.
1040Sigor@sysoev.ru    # This also tests C compiler ability to create executables.
1050Sigor@sysoev.ru    . auto/echo/build
1060Sigor@sysoev.rufi
1070Sigor@sysoev.ru
1080Sigor@sysoev.ru
1090Sigor@sysoev.runxt_have=NXT_UNIX . auto/have
1100Sigor@sysoev.ru
1110Sigor@sysoev.ruif [ $NXT_UNIX_DOMAIN = YES ]; then
1120Sigor@sysoev.ru    nxt_have=NXT_HAVE_UNIX_DOMAIN . auto/have
1130Sigor@sysoev.rufi
1140Sigor@sysoev.ru
115334Spluknet@nginx.comNXT_LIBRT=
116334Spluknet@nginx.com
1170Sigor@sysoev.ru. auto/types
1180Sigor@sysoev.ru. auto/clang
1190Sigor@sysoev.ru. auto/atomic
1200Sigor@sysoev.ru. auto/malloc
1210Sigor@sysoev.ru. auto/mmap
12242Smax.romanov@nginx.com. auto/shmem
1230Sigor@sysoev.ru. auto/time
124223Sigor@sysoev.ru. auto/threads
1250Sigor@sysoev.ru. auto/events
1260Sigor@sysoev.ru. auto/sockets
1270Sigor@sysoev.ru. auto/sendfile
1280Sigor@sysoev.ru. auto/files
1290Sigor@sysoev.ru. auto/unix
1300Sigor@sysoev.ru. auto/os/conf
1310Sigor@sysoev.ru. auto/ssltls
1321721Saxel.duch@nginx.com
1331721Saxel.duch@nginx.comif [ $NXT_REGEX = YES ]; then
1341721Saxel.duch@nginx.com    . auto/pcre
1351721Saxel.duch@nginx.comfi
1361721Saxel.duch@nginx.com
1371182St.nateldemoura@f5.com. auto/isolation
1381182St.nateldemoura@f5.com. auto/capability
1390Sigor@sysoev.ru
1400Sigor@sysoev.ru
1410Sigor@sysoev.rucase "$NXT_SYSTEM_PLATFORM" in
1420Sigor@sysoev.ru    i386 | amd64 | x86_64)
1430Sigor@sysoev.ru        nxt_have=NXT_HAVE_LITTLE_ENDIAN . auto/have
1440Sigor@sysoev.ru        nxt_have=NXT_HAVE_NONALIGNED . auto/have
1450Sigor@sysoev.ru    ;;
1460Sigor@sysoev.ruesac
1470Sigor@sysoev.ru
1480Sigor@sysoev.ru
1490Sigor@sysoev.ruif [ $NXT_DEBUG = YES ]; then
150360Sigor@sysoev.ru    nxt_debug=1
151360Sigor@sysoev.ruelse
152360Sigor@sysoev.ru    nxt_debug=0
1530Sigor@sysoev.rufi
1540Sigor@sysoev.ru
155360Sigor@sysoev.rucat << END >> $NXT_AUTO_CONFIG_H
156360Sigor@sysoev.ru
157360Sigor@sysoev.ru#ifndef NXT_DEBUG
158360Sigor@sysoev.ru#define NXT_DEBUG  $nxt_debug
159360Sigor@sysoev.ru#endif
160360Sigor@sysoev.ru
161461Sigor@sysoev.ru#define NXT_SHM_PREFIX  "$NXT_SHM_PREFIX"
162461Sigor@sysoev.ru
163360Sigor@sysoev.ruEND
1640Sigor@sysoev.ru
1650Sigor@sysoev.ru. auto/test_build
1660Sigor@sysoev.ru. auto/sources
167216Sigor@sysoev.ru. auto/save
1680Sigor@sysoev.ru
1690Sigor@sysoev.ru# LOOK
1700Sigor@sysoev.ru
1710Sigor@sysoev.ruNXT_LIB_AUX_CFLAGS="$NXT_OPENSSL_CFLAGS $NXT_GNUTLS_CFLAGS \\
1720Sigor@sysoev.ru                    $NXT_CYASSL_CFLAGS $NXT_POLARSSL_CFLAGS \\
1730Sigor@sysoev.ru                    $NXT_PCRE_CFLAGS"
1740Sigor@sysoev.ru
1750Sigor@sysoev.ruNXT_LIB_AUX_LIBS="$NXT_OPENSSL_LIBS $NXT_GNUTLS_LIBS \\
1760Sigor@sysoev.ru                    $NXT_CYASSL_LIBS $NXT_POLARSSL_LIBS \\
1770Sigor@sysoev.ru                    $NXT_PCRE_LIB"
1780Sigor@sysoev.ru
1790Sigor@sysoev.ru. auto/make
180236Sigor@sysoev.ru. auto/summary
181