/* 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 _JS_CONFDEFS_H_
#define _JS_CONFDEFS_H_

#include "starboard/configuration.h"

#if SB_IS(64_BIT)
#define JS_BYTES_PER_WORD 8
#define JS_BITS_PER_WORD_LOG2 6
#else
#define JS_BYTES_PER_WORD 4
#define JS_BITS_PER_WORD_LOG2 5
#endif

#if defined(COBALT_BUILD_TYPE_QA) || defined(COBALT_BUILD_TYPE_GOLD)
#define RELEASE_BUILD 1
#endif

#if defined(COBALT_BUILD_TYPE_DEBUG)
#define DEBUG 1
#define JS_DEBUG 1
#endif

// Disabling this will fall back to getenv for locale-specific number
// formatting.
// This can be removed when ENABLE_INTL_API is enabled, which requires a newer
// version of ICU.
#define HAVE_LOCALECONV 1

#define HAVE_VA_COPY 1
#define VA_COPY SB_VA_COPY

#define MOZILLA_UAVERSION "24.0"
#define MOZILLA_VERSION "24.2.0"
#define MOZILLA_VERSION_U 24.2.0
#define MOZJS_MAJOR_VERSION 24
#define MOZJS_MINOR_VERSION 2

#include "js/RequiredDefines.h"

#endif /* _JS_CONFDEFS_H_ */
