22#include "ruby/config.h"
25# include RUBY_EXTCONF_H
31#define HAVE_PROTOTYPES 1
33#undef HAVE_STDARG_PROTOTYPES
34#define HAVE_STDARG_PROTOTYPES 1
37#define TOKEN_PASTE(x,y) x##y
39#if defined(__cplusplus)
42# undef HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P
43# undef HAVE_BUILTIN___BUILTIN_TYPES_COMPATIBLE_P
46# undef HAVE_VA_ARGS_MACRO
47# if __cplusplus >= 201103L
48# define HAVE_VA_ARGS_MACRO
49# elif defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__
50# define HAVE_VA_ARGS_MACRO
51# elif defined(__INTEL_CXX11_MODE__)
52# define HAVE_VA_ARGS_MACRO
53# elif RBIMPL_COMPILER_SINCE(MSVC, 16, 0, 0)
54# define HAVE_VA_ARGS_MACRO
60#if RBIMPL_COMPILER_BEFORE(GCC, 4, 9, 0)
62# undef HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P
65#if RBIMPL_COMPILER_BEFORE(GCC, 5, 0, 0)
69# undef HAVE_BUILTIN___BUILTIN_ALLOCA_WITH_ALIGN
72#if defined(__SUNPRO_CC)
77# undef HAVE_STMT_AND_DECL_IN_EXPR
81# define STRINGIZE(expr) STRINGIZE0(expr)
82# define STRINGIZE0(expr) #expr
85#ifdef AC_APPLE_UNIVERSAL_BUILD
86# undef WORDS_BIGENDIAN
88# define WORDS_BIGENDIAN
93# define DLEXT_MAXLEN 4
97# define RUBY_PLATFORM "unknown-unknown"
100#ifdef UNALIGNED_WORD_ACCESS
103# define UNALIGNED_WORD_ACCESS 1
104#elif defined(__i386__)
105# define UNALIGNED_WORD_ACCESS 1
106#elif defined(_M_IX86)
107# define UNALIGNED_WORD_ACCESS 1
108#elif defined(__x86_64)
109# define UNALIGNED_WORD_ACCESS 1
110#elif defined(__x86_64__)
111# define UNALIGNED_WORD_ACCESS 1
112#elif defined(_M_AMD64)
113# define UNALIGNED_WORD_ACCESS 1
114#elif defined(__powerpc64__)
115# define UNALIGNED_WORD_ACCESS 1
116#elif defined(__POWERPC__)
117# define UNALIGNED_WORD_ACCESS 1
118#elif defined(__aarch64__)
119# define UNALIGNED_WORD_ACCESS 1
120#elif defined(__mc68020__)
121# define UNALIGNED_WORD_ACCESS 1
123# define UNALIGNED_WORD_ACCESS 0
127#if ! defined(HAVE_VA_ARGS_MACRO)
128# undef HAVE___VA_OPT__
130#elif defined(__cplusplus)
131# if __cplusplus > 201703L
132# define HAVE___VA_OPT__
134# undef HAVE___VA_OPT__
138# define RBIMPL_TEST3(q, w, e, ...) e
139# define RBIMPL_TEST2(...) RBIMPL_TEST3(__VA_OPT__(,),1,0,0)
140# define RBIMPL_TEST1() RBIMPL_TEST2("ruby")
142# define HAVE___VA_OPT__
144# undef HAVE___VA_OPT__
Defines RBIMPL_COMPILER_SINCE.