1ngx_lua_opt_I=
2ngx_lua_opt_L=
3luajit_ld_opt=
4
5ngx_feature_name=
6ngx_feature_run=no
7ngx_feature_incs=
8ngx_feature_test=
9
10if [ -n "$LUAJIT_INC" -o -n "$LUAJIT_LIB" ]; then
11    # explicitly set LuaJIT paths
12
13    if [ "$NGX_PLATFORM" = win32 ]; then
14        ngx_feature="LuaJIT library in $LUAJIT_LIB and $LUAJIT_INC (win32)"
15        ngx_feature_path="$LUAJIT_INC"
16        ngx_lua_opt_I="-I$LUAJIT_INC"
17        ngx_lua_opt_L="-L$LUAJIT_LIB"
18
19        # ensure that -I$LUAJIT_INC and -L$LUAJIT_LIB come first
20        SAVED_CC_TEST_FLAGS="$CC_TEST_FLAGS"
21        CC_TEST_FLAGS="$ngx_lua_opt_I $CC_TEST_FLAGS"
22        SAVED_NGX_TEST_LD_OPT="$NGX_TEST_LD_OPT"
23        NGX_TEST_LD_OPT="$ngx_lua_opt_L $NGX_TEST_LD_OPT"
24
25        # LuaJIT's win32 build uses the library file name lua51.dll.
26        ngx_feature_libs="$ngx_lua_opt_L -llua51"
27
28        . auto/feature
29
30        # clean up
31        CC_TEST_FLAGS="$SAVED_CC_TEST_FLAGS"
32        NGX_TEST_LD_OPT="$SAVED_NGX_TEST_LD_OPT"
33    else
34        # attempt to link with -ldl, static linking on Linux requires it.
35        ngx_feature="LuaJIT library in $LUAJIT_LIB and $LUAJIT_INC (specified by the LUAJIT_LIB and LUAJIT_INC env, with -ldl)"
36        ngx_feature_path="$LUAJIT_INC"
37        ngx_lua_opt_I="-I$LUAJIT_INC"
38        ngx_lua_opt_L="-L$LUAJIT_LIB"
39        luajit_ld_opt="-lm -ldl"
40
41        # ensure that -I$LUAJIT_INC and -L$LUAJIT_LIB come first
42        SAVED_CC_TEST_FLAGS="$CC_TEST_FLAGS"
43        CC_TEST_FLAGS="$ngx_lua_opt_I $CC_TEST_FLAGS"
44        SAVED_NGX_TEST_LD_OPT="$NGX_TEST_LD_OPT"
45        NGX_TEST_LD_OPT="$ngx_lua_opt_L $NGX_TEST_LD_OPT"
46
47        if [ $NGX_RPATH = YES ]; then
48            ngx_feature_libs="-R$LUAJIT_LIB $ngx_lua_opt_L -lluajit-5.1 $luajit_ld_opt"
49        else
50            ngx_feature_libs="$ngx_lua_opt_L -lluajit-5.1 $luajit_ld_opt"
51        fi
52
53        . auto/feature
54
55        # clean up
56        CC_TEST_FLAGS="$SAVED_CC_TEST_FLAGS"
57        NGX_TEST_LD_OPT="$SAVED_NGX_TEST_LD_OPT"
58
59        if [ $ngx_found = no ]; then
60            # retry without -ldl
61            ngx_feature="LuaJIT library in $LUAJIT_LIB and $LUAJIT_INC (specified by the LUAJIT_LIB and LUAJIT_INC env)"
62            ngx_feature_path="$LUAJIT_INC"
63            ngx_lua_opt_I="-I$LUAJIT_INC"
64            ngx_lua_opt_L="-L$LUAJIT_LIB"
65            luajit_ld_opt="-lm"
66
67            # ensure that -I$LUAJIT_INC and -L$LUAJIT_LIB come first
68            SAVED_CC_TEST_FLAGS="$CC_TEST_FLAGS"
69            CC_TEST_FLAGS="$ngx_lua_opt_I $CC_TEST_FLAGS"
70            SAVED_NGX_TEST_LD_OPT="$NGX_TEST_LD_OPT"
71            NGX_TEST_LD_OPT="$ngx_lua_opt_L $NGX_TEST_LD_OPT"
72
73            if [ $NGX_RPATH = YES ]; then
74                ngx_feature_libs="-R$LUAJIT_LIB $ngx_lua_opt_L -lluajit-5.1 $luajit_ld_opt"
75            else
76                ngx_feature_libs="$ngx_lua_opt_L -lluajit-5.1 $luajit_ld_opt"
77            fi
78
79            . auto/feature
80
81            # clean up
82            CC_TEST_FLAGS="$SAVED_CC_TEST_FLAGS"
83            NGX_TEST_LD_OPT="$SAVED_NGX_TEST_LD_OPT"
84        fi
85    fi
86
87    if [ $ngx_found = no ]; then
88        cat << END
89        $0: error: ngx_http_lua_module requires the LuaJIT library, but it could not be found where specified (LUAJIT_LIB=$LUAJIT_LIB, LUAJIT_INC=$LUAJIT_INC).
90END
91        exit 1
92    fi
93
94    case "$NGX_PLATFORM" in
95        Darwin:*)
96            case "$NGX_MACHINE" in
97                amd64 | x86_64 | i386)
98                    echo "adding extra linking options needed by LuaJIT on $NGX_MACHINE"
99                    luajit_ld_opt="$luajit_ld_opt -pagezero_size 10000 -image_base 100000000"
100                    ngx_feature_libs="$ngx_feature_libs -pagezero_size 10000 -image_base 100000000"
101                ;;
102
103                *)
104                ;;
105            esac
106        ;;
107
108        *)
109        ;;
110    esac
111else
112    # auto-discovery
113    if [ $ngx_found = no ]; then
114        # FreeBSD with luajit-2.0 from ports collection
115        ngx_feature="LuaJIT library in /usr/local/"
116        ngx_feature_path="/usr/local/include/luajit-2.0"
117        luajit_ld_opt="-lm"
118        LUAJIT_LIB="/usr/local/lib"
119        if [ $NGX_RPATH = YES ]; then
120            ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lluajit-5.1 -lm"
121        else
122            ngx_feature_libs="-L/usr/local/lib -lluajit-5.1 -lm"
123        fi
124        . auto/feature
125    fi
126
127    if [ $ngx_found = no ]; then
128        # Gentoo with LuaJIT-2.0, try with -ldl
129        ngx_feature="LuaJIT library in /usr/"
130        ngx_feature_path="/usr/include/luajit-2.0"
131        luajit_ld_opt="-lm -ldl"
132        LUAJIT_LIB="/usr/lib"
133        if [ $NGX_RPATH = YES ]; then
134            ngx_feature_libs="-R/usr/lib -L/usr/lib -lm -lluajit-5.1 -ldl"
135        else
136            ngx_feature_libs="-L/usr/lib -lm -lluajit-5.1 -ldl"
137        fi
138        . auto/feature
139    fi
140
141    if [ $ngx_found = no ]; then
142        # Gentoo with LuaJIT 2.0
143        ngx_feature="LuaJIT library in /usr/"
144        ngx_feature_path="/usr/include/luajit-2.0"
145        luajit_ld_opt="-lm"
146        LUAJIT_LIB="/usr/lib"
147        if [ $NGX_RPATH = YES ]; then
148            ngx_feature_libs="-R/usr/lib -L/usr/lib -lm -lluajit-5.1"
149        else
150            ngx_feature_libs="-L/usr/lib -lm -lluajit-5.1"
151        fi
152        . auto/feature
153    fi
154fi
155
156ngx_module_incs=
157ngx_module_libs=
158
159if [ $ngx_found = yes ]; then
160    # this is a hack to persuade nginx's build system to favor
161    # the paths set by our user environment
162    CFLAGS="$ngx_lua_opt_I $CFLAGS"
163    NGX_LD_OPT="$ngx_lua_opt_L $NGX_LD_OPT"
164
165    ngx_module_incs="$ngx_module_incs $ngx_feature_path"
166    ngx_module_libs="$ngx_module_libs $ngx_feature_libs"
167else
168    cat << END
169    $0: error: ngx_http_lua_module requires the LuaJIT library.
170END
171    exit 1
172fi
173
174# ----------------------------------------
175
176ngx_feature="LuaJIT 2.x"
177ngx_feature_run=no
178ngx_feature_incs="#include <luajit.h>"
179ngx_feature_test="#if !defined(LUAJIT_VERSION_NUM) || LUAJIT_VERSION_NUM < 20000
180                  #    error unsupported LuaJIT version
181                  #endif
182                  "
183
184. auto/feature
185
186if [ $ngx_found = no ]; then
187    cat << END
188    $0: error: unsupported LuaJIT version; ngx_http_lua_module requires LuaJIT 2.x.
189END
190    exit 1
191fi
192
193# ----------------------------------------
194
195ngx_feature="Lua language 5.1"
196ngx_feature_run=no
197ngx_feature_incs="#include <lua.h>"
198ngx_feature_test="#if !defined(LUA_VERSION_NUM) || LUA_VERSION_NUM != 501
199                  #   error unsupported Lua language version
200                  #endif
201                  "
202
203. auto/feature
204
205if [ $ngx_found = no ]; then
206    cat << END
207    $0: error: unsupported Lua language version; ngx_http_lua_module requires Lua 5.1.
208END
209    exit 1
210fi
211
212# ----------------------------------------
213
214ngx_feature="LuaJIT has FFI"
215ngx_feature_libs="$ngx_module_libs"
216ngx_feature_run=no
217ngx_feature_incs="#include <lualib.h>
218                  #include <lauxlib.h>
219                  #include <assert.h>
220                  "
221ngx_feature_test="lua_State *L = luaL_newstate();
222                  assert(L != NULL);
223                  luaopen_ffi(L);
224                  "
225
226. auto/feature
227
228if [ $ngx_found = no ]; then
229    cat << END
230    $0: error: unsupported LuaJIT build; ngx_http_lua_module requires LuaJIT with FFI enabled.
231END
232    exit 1
233fi
234
235# ----------------------------------------
236
237ngx_addon_name=ngx_http_lua_module
238HTTP_LUA_SRCS=" \
239            $ngx_addon_dir/src/ngx_http_lua_script.c \
240            $ngx_addon_dir/src/ngx_http_lua_log.c \
241            $ngx_addon_dir/src/ngx_http_lua_subrequest.c \
242            $ngx_addon_dir/src/ngx_http_lua_ndk.c \
243            $ngx_addon_dir/src/ngx_http_lua_control.c \
244            $ngx_addon_dir/src/ngx_http_lua_time.c \
245            $ngx_addon_dir/src/ngx_http_lua_misc.c \
246            $ngx_addon_dir/src/ngx_http_lua_variable.c \
247            $ngx_addon_dir/src/ngx_http_lua_string.c \
248            $ngx_addon_dir/src/ngx_http_lua_output.c \
249            $ngx_addon_dir/src/ngx_http_lua_headers.c \
250            $ngx_addon_dir/src/ngx_http_lua_req_body.c \
251            $ngx_addon_dir/src/ngx_http_lua_uri.c \
252            $ngx_addon_dir/src/ngx_http_lua_args.c \
253            $ngx_addon_dir/src/ngx_http_lua_ctx.c \
254            $ngx_addon_dir/src/ngx_http_lua_regex.c \
255            $ngx_addon_dir/src/ngx_http_lua_module.c \
256            $ngx_addon_dir/src/ngx_http_lua_headers_out.c \
257            $ngx_addon_dir/src/ngx_http_lua_headers_in.c \
258            $ngx_addon_dir/src/ngx_http_lua_directive.c \
259            $ngx_addon_dir/src/ngx_http_lua_consts.c \
260            $ngx_addon_dir/src/ngx_http_lua_exception.c \
261            $ngx_addon_dir/src/ngx_http_lua_util.c \
262            $ngx_addon_dir/src/ngx_http_lua_cache.c \
263            $ngx_addon_dir/src/ngx_http_lua_contentby.c \
264            $ngx_addon_dir/src/ngx_http_lua_rewriteby.c \
265            $ngx_addon_dir/src/ngx_http_lua_accessby.c \
266            $ngx_addon_dir/src/ngx_http_lua_setby.c \
267            $ngx_addon_dir/src/ngx_http_lua_capturefilter.c \
268            $ngx_addon_dir/src/ngx_http_lua_clfactory.c \
269            $ngx_addon_dir/src/ngx_http_lua_pcrefix.c \
270            $ngx_addon_dir/src/ngx_http_lua_headerfilterby.c \
271            $ngx_addon_dir/src/ngx_http_lua_shdict.c \
272            $ngx_addon_dir/src/ngx_http_lua_socket_tcp.c \
273            $ngx_addon_dir/src/ngx_http_lua_api.c \
274            $ngx_addon_dir/src/ngx_http_lua_logby.c \
275            $ngx_addon_dir/src/ngx_http_lua_sleep.c \
276            $ngx_addon_dir/src/ngx_http_lua_semaphore.c\
277            $ngx_addon_dir/src/ngx_http_lua_coroutine.c \
278            $ngx_addon_dir/src/ngx_http_lua_bodyfilterby.c \
279            $ngx_addon_dir/src/ngx_http_lua_initby.c \
280            $ngx_addon_dir/src/ngx_http_lua_initworkerby.c \
281            $ngx_addon_dir/src/ngx_http_lua_exitworkerby.c \
282            $ngx_addon_dir/src/ngx_http_lua_socket_udp.c \
283            $ngx_addon_dir/src/ngx_http_lua_req_method.c \
284            $ngx_addon_dir/src/ngx_http_lua_phase.c \
285            $ngx_addon_dir/src/ngx_http_lua_uthread.c \
286            $ngx_addon_dir/src/ngx_http_lua_timer.c \
287            $ngx_addon_dir/src/ngx_http_lua_config.c \
288            $ngx_addon_dir/src/ngx_http_lua_worker.c \
289            $ngx_addon_dir/src/ngx_http_lua_ssl_certby.c \
290            $ngx_addon_dir/src/ngx_http_lua_ssl_ocsp.c \
291            $ngx_addon_dir/src/ngx_http_lua_lex.c \
292            $ngx_addon_dir/src/ngx_http_lua_balancer.c \
293            $ngx_addon_dir/src/ngx_http_lua_ssl_session_storeby.c \
294            $ngx_addon_dir/src/ngx_http_lua_ssl_session_fetchby.c \
295            $ngx_addon_dir/src/ngx_http_lua_ssl.c \
296            $ngx_addon_dir/src/ngx_http_lua_log_ringbuf.c \
297            $ngx_addon_dir/src/ngx_http_lua_input_filters.c \
298            $ngx_addon_dir/src/ngx_http_lua_pipe.c \
299            "
300
301HTTP_LUA_DEPS=" \
302            $ngx_addon_dir/src/ddebug.h \
303            $ngx_addon_dir/src/ngx_http_lua_autoconf.h \
304            $ngx_addon_dir/src/ngx_http_lua_script.h \
305            $ngx_addon_dir/src/ngx_http_lua_log.h \
306            $ngx_addon_dir/src/ngx_http_lua_subrequest.h \
307            $ngx_addon_dir/src/ngx_http_lua_ndk.h \
308            $ngx_addon_dir/src/ngx_http_lua_control.h \
309            $ngx_addon_dir/src/ngx_http_lua_string.h \
310            $ngx_addon_dir/src/ngx_http_lua_misc.h \
311            $ngx_addon_dir/src/ngx_http_lua_output.h \
312            $ngx_addon_dir/src/ngx_http_lua_headers.h \
313            $ngx_addon_dir/src/ngx_http_lua_uri.h \
314            $ngx_addon_dir/src/ngx_http_lua_req_body.h \
315            $ngx_addon_dir/src/ngx_http_lua_args.h \
316            $ngx_addon_dir/src/ngx_http_lua_ctx.h \
317            $ngx_addon_dir/src/ngx_http_lua_common.h \
318            $ngx_addon_dir/src/ngx_http_lua_directive.h \
319            $ngx_addon_dir/src/ngx_http_lua_headers_out.h \
320            $ngx_addon_dir/src/ngx_http_lua_headers_in.h \
321            $ngx_addon_dir/src/ngx_http_lua_consts.h \
322            $ngx_addon_dir/src/ngx_http_lua_exception.h \
323            $ngx_addon_dir/src/ngx_http_lua_util.h \
324            $ngx_addon_dir/src/ngx_http_lua_cache.h \
325            $ngx_addon_dir/src/ngx_http_lua_contentby.h \
326            $ngx_addon_dir/src/ngx_http_lua_rewriteby.h \
327            $ngx_addon_dir/src/ngx_http_lua_accessby.h \
328            $ngx_addon_dir/src/ngx_http_lua_setby.h \
329            $ngx_addon_dir/src/ngx_http_lua_capturefilter.h \
330            $ngx_addon_dir/src/ngx_http_lua_clfactory.h \
331            $ngx_addon_dir/src/ngx_http_lua_pcrefix.h \
332            $ngx_addon_dir/src/ngx_http_lua_headerfilterby.h \
333            $ngx_addon_dir/src/ngx_http_lua_shdict.h \
334            $ngx_addon_dir/src/ngx_http_lua_socket_tcp.h \
335            $ngx_addon_dir/src/api/ngx_http_lua_api.h \
336            $ngx_addon_dir/src/ngx_http_lua_logby.h \
337            $ngx_addon_dir/src/ngx_http_lua_sleep.h \
338            $ngx_addon_dir/src/ngx_http_lua_semaphore.h\
339            $ngx_addon_dir/src/ngx_http_lua_coroutine.h \
340            $ngx_addon_dir/src/ngx_http_lua_bodyfilterby.h \
341            $ngx_addon_dir/src/ngx_http_lua_initby.h \
342            $ngx_addon_dir/src/ngx_http_lua_initworkerby.h \
343            $ngx_addon_dir/src/ngx_http_lua_exitworkerby.h \
344            $ngx_addon_dir/src/ngx_http_lua_socket_udp.h \
345            $ngx_addon_dir/src/ngx_http_lua_probe.h \
346            $ngx_addon_dir/src/ngx_http_lua_uthread.h \
347            $ngx_addon_dir/src/ngx_http_lua_timer.h \
348            $ngx_addon_dir/src/ngx_http_lua_config.h \
349            $ngx_addon_dir/src/ngx_http_lua_ssl_certby.h \
350            $ngx_addon_dir/src/ngx_http_lua_lex.h \
351            $ngx_addon_dir/src/ngx_http_lua_balancer.h \
352            $ngx_addon_dir/src/ngx_http_lua_ssl_session_storeby.h \
353            $ngx_addon_dir/src/ngx_http_lua_ssl_session_fetchby.h \
354            $ngx_addon_dir/src/ngx_http_lua_ssl.h \
355            $ngx_addon_dir/src/ngx_http_lua_log_ringbuf.h \
356            $ngx_addon_dir/src/ngx_http_lua_input_filters.h \
357            $ngx_addon_dir/src/ngx_http_lua_pipe.h \
358            "
359
360# ----------------------------------------
361
362ngx_feature="export symbols by default (-E)"
363ngx_feature_libs="-Wl,-E"
364ngx_feature_name=
365ngx_feature_run=no
366ngx_feature_incs="#include <stdio.h>"
367ngx_feature_path=
368ngx_feature_test='printf("hello");'
369
370. auto/feature
371
372if [ $ngx_found = yes ]; then
373    CORE_LIBS="-Wl,-E $CORE_LIBS"
374fi
375
376# ----------------------------------------
377
378# for Cygwin
379ngx_feature="export symbols by default (--export-all-symbols)"
380ngx_feature_libs="-Wl,--export-all-symbols"
381ngx_feature_name=
382ngx_feature_run=no
383ngx_feature_incs="#include <stdio.h>"
384ngx_feature_path=
385ngx_feature_test='printf("hello");'
386
387. auto/feature
388
389if [ $ngx_found = yes ]; then
390    CORE_LIBS="-Wl,--export-all-symbols $CORE_LIBS"
391fi
392
393# ----------------------------------------
394
395ngx_feature="SO_PASSCRED"
396ngx_feature_libs=
397ngx_feature_name="NGX_HTTP_LUA_HAVE_SO_PASSCRED"
398ngx_feature_run=no
399ngx_feature_incs="#include <sys/types.h>
400#include <sys/socket.h>"
401ngx_feature_path=
402ngx_feature_test='setsockopt(1, SOL_SOCKET, SO_PASSCRED, NULL, 0);'
403
404. auto/feature
405
406# ----------------------------------------
407
408ngx_feature="SA_RESTART"
409ngx_feature_libs=
410ngx_feature_name="NGX_HTTP_LUA_HAVE_SA_RESTART"
411ngx_feature_run=no
412ngx_feature_incs="#include <signal.h>"
413ngx_feature_path=
414ngx_feature_test='struct sigaction act;
415                  act.sa_flags |= SA_RESTART;'
416
417. auto/feature
418
419# ----------------------------------------
420
421ngx_feature="malloc_trim"
422ngx_feature_libs=
423ngx_feature_name="NGX_HTTP_LUA_HAVE_MALLOC_TRIM"
424ngx_feature_run=yes
425ngx_feature_incs="#include <malloc.h>
426#include <stdio.h>"
427ngx_feature_test="int rc = malloc_trim((size_t) 0); printf(\"%d\", rc);"
428SAVED_CC_TEST_FLAGS="$CC_TEST_FLAGS"
429CC_TEST_FLAGS="-Werror -Wall $CC_TEST_FLAGS"
430
431. auto/feature
432
433CC_TEST_FLAGS="$SAVED_CC_TEST_FLAGS"
434
435# ----------------------------------------
436
437ngx_feature="pipe2"
438ngx_feature_libs=
439ngx_feature_name="NGX_HTTP_LUA_HAVE_PIPE2"
440ngx_feature_run=no
441ngx_feature_incs="#include <fcntl.h>"
442ngx_feature_test="int fd[2]; pipe2(fd, O_CLOEXEC|O_NONBLOCK);"
443SAVED_CC_TEST_FLAGS="$CC_TEST_FLAGS"
444CC_TEST_FLAGS="-Werror -Wall $CC_TEST_FLAGS"
445
446. auto/feature
447
448CC_TEST_FLAGS="$SAVED_CC_TEST_FLAGS"
449
450# ----------------------------------------
451
452ngx_feature="signalfd"
453ngx_feature_libs=
454ngx_feature_name="NGX_HTTP_LUA_HAVE_SIGNALFD"
455ngx_feature_run=no
456ngx_feature_incs="#include <sys/signalfd.h>"
457ngx_feature_test="sigset_t set; signalfd(-1, &set, SFD_NONBLOCK|SFD_CLOEXEC);"
458SAVED_CC_TEST_FLAGS="$CC_TEST_FLAGS"
459CC_TEST_FLAGS="-Werror -Wall $CC_TEST_FLAGS"
460
461. auto/feature
462
463CC_TEST_FLAGS="$SAVED_CC_TEST_FLAGS"
464
465# ----------------------------------------
466
467ngx_feature="execvpe"
468ngx_feature_libs=
469ngx_feature_name="NGX_HTTP_LUA_HAVE_EXECVPE"
470ngx_feature_run=no
471ngx_feature_incs=
472ngx_feature_test='char* argv[] = {"/bin/sh"};execvpe("/bin/sh", argv, NULL);'
473SAVED_CC_TEST_FLAGS="$CC_TEST_FLAGS"
474CC_TEST_FLAGS="-Werror -Wall $CC_TEST_FLAGS"
475
476. auto/feature
477
478CC_TEST_FLAGS="$SAVED_CC_TEST_FLAGS"
479
480# ----------------------------------------
481
482if [ -n "$ngx_module_link" ]; then
483    ngx_module_type=HTTP_AUX_FILTER
484    ngx_module_name=$ngx_addon_name
485    ngx_module_deps="$HTTP_LUA_DEPS"
486    ngx_module_srcs="$HTTP_LUA_SRCS"
487
488    . auto/module
489else
490    HTTP_AUX_FILTER_MODULES="$HTTP_AUX_FILTER_MODULES $ngx_addon_name"
491    NGX_ADDON_SRCS="$NGX_ADDON_SRCS $HTTP_LUA_SRCS"
492    NGX_ADDON_DEPS="$NGX_ADDON_DEPS $HTTP_LUA_DEPS"
493
494    CORE_INCS="$CORE_INCS $ngx_module_incs"
495    CORE_LIBS="$CORE_LIBS $ngx_module_libs"
496fi
497
498# ----------------------------------------
499
500USE_MD5=YES
501USE_SHA1=YES
502
503NGX_DTRACE_PROVIDERS="$NGX_DTRACE_PROVIDERS $ngx_addon_dir/dtrace/ngx_lua_provider.d"
504NGX_TAPSET_SRCS="$NGX_TAPSET_SRCS $ngx_addon_dir/tapset/ngx_lua.stp"
505
506CORE_INCS="$CORE_INCS $ngx_addon_dir/src/api"
507
508CFLAGS="$CFLAGS -DNDK_SET_VAR"
509
510echo "/* DO NOT EDIT! This file was automatically generated by config */" > "$ngx_addon_dir/src/ngx_http_lua_autoconf.h"
511