fix libatomic usage on arm, cris, hppa, m68k, and sparc platforms
diff --git a/auto/lib/libatomic/conf b/auto/lib/libatomic/conf
index 214feb3..5cf16f3 100644
--- a/auto/lib/libatomic/conf
+++ b/auto/lib/libatomic/conf
@@ -14,7 +14,8 @@
     ngx_feature="atomic_ops library"
     ngx_feature_name=NGX_HAVE_LIBATOMIC
     ngx_feature_run=yes
-    ngx_feature_incs="#include <atomic_ops.h>"
+    ngx_feature_incs="#define AO_REQUIRE_CAS
+                      #include <atomic_ops.h>"
     ngx_feature_path=
     ngx_feature_libs="-latomic_ops"
     ngx_feature_test="long  n = 0;
diff --git a/src/os/unix/ngx_atomic.h b/src/os/unix/ngx_atomic.h
index 39b3e6b..57826ff 100644
--- a/src/os/unix/ngx_atomic.h
+++ b/src/os/unix/ngx_atomic.h
@@ -14,6 +14,7 @@
 
 #if (NGX_HAVE_LIBATOMIC)
 
+#define AO_REQUIRE_CAS
 #include <atomic_ops.h>
 
 #define NGX_HAVE_ATOMIC_OPS  1