annotate auto/lib/libatomic/conf @ 5358:670ceaba03d8

Win32: Open Watcom C compatibility fixes. Precompiled headers are disabled as they lead to internal compiler errors with long configure lines. Couple of false positive warnings silenced. Various win32 typedefs are adjusted to work with Open Watcom C 1.9 headers. With this patch, it's now again possible to compile nginx using owc386, with options we normally compile on win32 minus ipv6 and ssl.
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 04 Sep 2013 20:48:22 +0400
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