mozilla-config.h.in
author Andrew Halberstadt <ahalberstadt@mozilla.com>
Fri, 18 Jan 2019 20:10:18 +0000
changeset 514472 19b949191e5c5680fca1edae111352eaa0a688aa
parent 503996 52a1404ac742b76a5776c41aabc7f9d295e3a08a
permissions -rwxr-xr-x
Bug 1484691 - [doc] Don't add doctrees nested under other doctrees to the root index r=nalexander Currently, it's possible to nest doctrees underneath one another by doing this: SPHINX_TREES['foo'] = 'docs' SPHINX_TREES['foo/bar'] = 'bar/docs' (note: the 'bar' doctree doesn't need to be a subdir of foo and can be defined in a completely separate moz.build) Doing this means that the docs in 'bar' will be nested underneath the docs in 'foo' when sphinx-build ultimately runs. This allows us to add 'bar' to foo's index, essentially making bar a subdoc of foo. The problem is that we also add bar's docs to the root index here: https://searchfox.org/mozilla-central/rev/dac799c9f4e9f5f05c1071cba94f2522aa31f7eb/tools/docs/moztreedocs/__init__.py#133 The result is that the main landing page for firefox-source-docs is a big long list of random unrelated topics. There is no organization or cohesion. By excluding subdocs from the main index, we can start to move pages around into some kind of organization that makes sense. Actually moving those docs will be a lot of work, but at least this will give us the ability. Differential Revision: https://phabricator.services.mozilla.com/D16869

/* List of defines generated by configure. Included with preprocessor flag,
 * -include, to avoid long list of -D defines on the compile command-line.
 * Do not edit.
 */

#ifndef MOZILLA_CONFIG_H
#define MOZILLA_CONFIG_H

#if defined(__clang__)
#pragma clang diagnostic push
#if __has_warning("-Wreserved-id-macro")
#pragma clang diagnostic ignored "-Wreserved-id-macro"
#endif
#endif

/* Expands to all the defines from configure. */
#undef ALLDEFINES

/*
 * The c99 defining the limit macros (UINT32_MAX for example), says:
 *
 *   C++ implementations should define these macros only when
 *   __STDC_LIMIT_MACROS is defined before <stdint.h> is included.
 *
 * The same also occurs with __STDC_CONSTANT_MACROS for the constant macros
 * (INT8_C for example) used to specify a literal constant of the proper type,
 * and with __STDC_FORMAT_MACROS for the format macros (PRId32 for example) used
 * with the fprintf function family.
 */
#define __STDC_LIMIT_MACROS
#define __STDC_CONSTANT_MACROS
#if !defined(__STDC_FORMAT_MACROS)
#define __STDC_FORMAT_MACROS
#endif

#if defined(__clang__)
#pragma clang diagnostic pop
#endif

/*
 * Force-include sdkdecls.h for building the chromium sandbox code.
 *
 * CHROMIUM_SANDBOX_BUILD is defined in security/sandbox/moz.build.
 * Note that this include path relies on the LOCAL_INCLUDES in that file.
 */
#if defined(CHROMIUM_SANDBOX_BUILD) && defined(XP_WIN)
#include "base/win/sdkdecls.h"

#ifdef __MINGW32__
/*
 * MinGW doesn't support __try / __except. There are a few mechanisms available
 * to hack around it and pseudo-support it, but these are untested in Firefox.
 * What is tested (and works) is replacing them with if(true) and else.
 */
#define __try if(true)
#define __except(x) else
#ifdef GetExceptionCode
#undef GetExceptionCode
#endif
#define GetExceptionCode() 0

#endif /* __MINGW32__ */
#endif /* defined(CHROMIUM_SANDBOX_BUILD) && defined(XP_WIN) */

#endif /* MOZILLA_CONFIG_H */