mozilla-config.h.in
author Makoto Kato <m_kato@ga2.so-net.ne.jp>
Tue, 05 Mar 2019 11:03:27 +0900
changeset 466816 440350958e77ea77422d48538416a113c1e3d888
parent 444780 52a1404ac742b76a5776c41aabc7f9d295e3a08a
permissions -rwxr-xr-x
Bug 1527796 - Part 2. Detect Java on Windows. r=nalexander,glandium When installing JDK 1.8, it writes path to the following registry. HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\1.8\JavaHome So we use this registry to detect JDK installation path on Windows if available. Differential Revision: https://phabricator.services.mozilla.com/D20449

/* 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 */