view auto/lib/libatomic/conf @ 5106:afee87b8190a

SSL: Next Protocol Negotiation extension support. Not only this is useful for the upcoming SPDY support, but it can also help to improve HTTPS performance by enabling TLS False Start in Chrome/Chromium browsers [1]. So, we always enable NPN for HTTPS if it is supported by OpenSSL. [1] http://www.imperialviolet.org/2012/04/11/falsestart.html
author Valentin Bartenev <vbart@nginx.com>
date Thu, 07 Mar 2013 18:21:28 +0000
parents d620f497c50f
children
line wrap: on
line source


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


if [ $NGX_LIBATOMIC != YES ]; then

    have=NGX_HAVE_LIBATOMIC . auto/have
    CORE_INCS="$CORE_INCS $NGX_LIBATOMIC/src"
    LINK_DEPS="$LINK_DEPS $NGX_LIBATOMIC/src/libatomic_ops.a"
    CORE_LIBS="$CORE_LIBS $NGX_LIBATOMIC/src/libatomic_ops.a"

else

    ngx_feature="atomic_ops library"
    ngx_feature_name=NGX_HAVE_LIBATOMIC
    ngx_feature_run=yes
    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;
                      if (!AO_compare_and_swap(&n, 0, 1))
                          return 1;
                      if (AO_fetch_and_add(&n, 1) != 1)
                          return 1;
                      if (n != 2)
                          return 1;
                      AO_nop();"
    . auto/feature

    if [ $ngx_found = yes ]; then
        CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
    else

cat << END

$0: error: libatomic_ops library was not found.

END
        exit 1
    fi
fi