build/autoconf/hotfixes.m4

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     1 dnl This Source Code Form is subject to the terms of the Mozilla Public
     2 dnl dnl License, v. 2.0. If a copy of the MPL was not distributed with this
     3 dnl dnl file, You can obtain one at http://mozilla.org/MPL/2.0/.
     5 dnl Set of hotfixes to address issues in autoconf 2.13
     7 dnl Divert AC_CHECK_FUNC so that the #includes it uses can't interfere
     8 dnl with the function it tests.
     9 dnl So, when testing e.g. posix_memalign, any #include that AC_CHECK_FUNC
    10 dnl prints is replaced with:
    11 dnl   #define posix_memalign innocuous_posix_memalign
    12 dnl   #include "theinclude"
    13 dnl   #undef posix_memalign
    14 dnl This avoids double declaration of that function when the header normally
    15 dnl declares it, while the test itself is just expecting the function not to be
    16 dnl declared at all, and declares it differently (which doesn't matter for the
    17 dnl test itself).
    18 dnl More recent versions of autoconf are essentially doing this.
    19 define([ac_cv_func_], [ac_cv_func2_])dnl
    20 define([_AC_CHECK_FUNC],defn([AC_CHECK_FUNC]))dnl
    21 define([AC_CHECK_FUNC], [dnl
    22 patsubst(_AC_CHECK_FUNC($@), [#include.*$], [#define $1 innocuous_$1
    23 \&
    24 #undef $1])])dnl

mercurial