annotate auto/lib/libatomic/conf @ 7003:7943298d4ac0

Contrib: proper syntax parsing in vim syntax highlighting. Instead of highlighting directives in arbitrary positions, proper parsing of nginx.conf syntax was implemented, matching what nginx does internally. This allows vim to correctly highlight various complex cases, including: return 301 http://example.com/path#fragment"; and also avoids highlighting of parameters as directives, as in server_name missing.semicolon.example.com index index.php; where "index" is not a directive but a parameter of the "server_name" directive due to missing semicolon. Most important downside of this approach seems to be that there is no easy way to introduce directive-specific parameters. As such, only "listen" directive parameters were preserved.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 22 May 2017 16:34:47 +0300
parents d620f497c50f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3363
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
1
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
2 # Copyright (C) Igor Sysoev
4412
d620f497c50f Copyright updated.
Maxim Konovalov <maxim@nginx.com>
parents: 3378
diff changeset
3 # Copyright (C) Nginx, Inc.
3363
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
4
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
5
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
6 if [ $NGX_LIBATOMIC != YES ]; then
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
7
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
8 have=NGX_HAVE_LIBATOMIC . auto/have
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
9 CORE_INCS="$CORE_INCS $NGX_LIBATOMIC/src"
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
10 LINK_DEPS="$LINK_DEPS $NGX_LIBATOMIC/src/libatomic_ops.a"
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
11 CORE_LIBS="$CORE_LIBS $NGX_LIBATOMIC/src/libatomic_ops.a"
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
12
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
13 else
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
14
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
15 ngx_feature="atomic_ops library"
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
16 ngx_feature_name=NGX_HAVE_LIBATOMIC
3366
b44a7159c5fb atomic operations test-run
Igor Sysoev <igor@sysoev.ru>
parents: 3363
diff changeset
17 ngx_feature_run=yes
3378
5d17022a1e88 fix libatomic usage on arm, cris, hppa, m68k, and sparc platforms
Igor Sysoev <igor@sysoev.ru>
parents: 3366
diff changeset
18 ngx_feature_incs="#define AO_REQUIRE_CAS
5d17022a1e88 fix libatomic usage on arm, cris, hppa, m68k, and sparc platforms
Igor Sysoev <igor@sysoev.ru>
parents: 3366
diff changeset
19 #include <atomic_ops.h>"
3363
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
20 ngx_feature_path=
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
21 ngx_feature_libs="-latomic_ops"
3366
b44a7159c5fb atomic operations test-run
Igor Sysoev <igor@sysoev.ru>
parents: 3363
diff changeset
22 ngx_feature_test="long n = 0;
b44a7159c5fb atomic operations test-run
Igor Sysoev <igor@sysoev.ru>
parents: 3363
diff changeset
23 if (!AO_compare_and_swap(&n, 0, 1))
b44a7159c5fb atomic operations test-run
Igor Sysoev <igor@sysoev.ru>
parents: 3363
diff changeset
24 return 1;
b44a7159c5fb atomic operations test-run
Igor Sysoev <igor@sysoev.ru>
parents: 3363
diff changeset
25 if (AO_fetch_and_add(&n, 1) != 1)
b44a7159c5fb atomic operations test-run
Igor Sysoev <igor@sysoev.ru>
parents: 3363
diff changeset
26 return 1;
b44a7159c5fb atomic operations test-run
Igor Sysoev <igor@sysoev.ru>
parents: 3363
diff changeset
27 if (n != 2)
b44a7159c5fb atomic operations test-run
Igor Sysoev <igor@sysoev.ru>
parents: 3363
diff changeset
28 return 1;
3363
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
29 AO_nop();"
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
30 . auto/feature
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
31
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
32 if [ $ngx_found = yes ]; then
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
33 CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
34 else
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
35
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
36 cat << END
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
37
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
38 $0: error: libatomic_ops library was not found.
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
39
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
40 END
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
41 exit 1
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
42 fi
b4aa418af6ef libatomic_ops support
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
43 fi