summaryrefslogtreecommitdiffhomepage
path: root/configure
blob: 5a9e140c5d5fde4d4fb4ab3c2727909f4a05aa62 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#!/bin/sh

# Copyright (C) Igor Sysoev
# Copyright (C) NGINX, Inc.


# Disable localized program messages.
LANG=C
export LANG

# 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_UNIT_TEST_TARGETS=${NXT_UNIT_TEST_TARGETS=}

# STUB
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_MAKEFILE=$NXT_BUILD_DIR/Makefile
NXT_BIN=nginext

nxt_module=${1:-no}

case $nxt_module in
    no|--*)
    ;;

    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"

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

. auto/types
. auto/clang
. auto/atomic
. auto/malloc
. auto/mmap
. auto/shmem
. auto/time

if [ $NXT_THREADS = YES ]; then
    . auto/threads
else
    NXT_PTHREAD=
fi

. 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_have=NXT_DEBUG . auto/have
fi


if [ $NXT_THREADS = YES ]; then
    nxt_have=NXT_THREADS . auto/have
fi


. 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