1 #ifndef RBIMPL_CONFIG_H                               
    2 #define RBIMPL_CONFIG_H 
   22 #include "ruby/config.h" 
   25 # include RUBY_EXTCONF_H 
   30 #undef  HAVE_PROTOTYPES 
   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 
   87 # ifdef __BIG_ENDIAN__ 
   88 #  define WORDS_BIGENDIAN 
   93 # define DLEXT_MAXLEN 4 
   97 # define RUBY_PLATFORM "unknown-unknown" 
  100 #ifdef UNALIGNED_WORD_ACCESS 
  102 #elif defined(__i386) 
  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.