Ruby: include/ruby/internal/config.h File Reference

Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)

Macros
config.h File Reference

Thin wrapper to ruby/config.h. More...

`#include "ruby/config.h"`
`#include "ruby/internal/compiler_since.h"`

Go to the source code of this file.

## Macros
#define | HAVE_PROTOTYPES 1
#define | HAVE_STDARG_PROTOTYPES 1
#define | TOKEN_PASTE(x, y) x##y
#define | HAVE_VA_ARGS_MACRO
#define | STRINGIZE(expr) STRINGIZE0(expr)
#define | STRINGIZE0(expr) #expr
#define | DLEXT_MAXLEN 4
#define | RUBY_PLATFORM "unknown-unknown"
#define | UNALIGNED_WORD_ACCESS 0
#define | RBIMPL_TEST3(q, w, e, ...) e
#define | RBIMPL_TEST2(...) RBIMPL_TEST3(__VA_OPT__(,),1,0,0)
#define | RBIMPL_TEST1() RBIMPL_TEST2("ruby")

## Detailed Description

Thin wrapper to ruby/config.h.

Author
  Ruby developers ruby-.nosp@m.core.nosp@m.@ruby.nosp@m.-lan.nosp@m.g.org

Copyright
  This file is a part of the programming language Ruby. Permission is hereby granted, to either redistribute and/or modify this file, provided that the conditions mentioned in the file COPYING are met. Consult the file for details.

Warning
  Symbols prefixed with either `RBIMPL` or `rbimpl` are implementation details. Don't take them as canon. They could rapidly appear then vanish. The name (path) of this header file is also an implementation detail. Do not expect it to persist at the place it is now. Developers are free to move it anywhere anytime at will.

Note
  To ruby-core: remember that this header can be possibly recursively included from extension libraries written in C++. Do not expect for instance `__VA_ARGS__` is always available. We assume C99 for ruby itself but we don't assume languages of extension libraries. They could be written in C++98.

Definition in file config.h.

## Macro Definition Documentation

## ◆ DLEXT_MAXLEN

#define DLEXT_MAXLEN 4

Definition at line 94 of file config.h.

## ◆ HAVE_PROTOTYPES

#define HAVE_PROTOTYPES 1

Definition at line 32 of file config.h.

## ◆ HAVE_STDARG_PROTOTYPES

#define HAVE_STDARG_PROTOTYPES 1

Definition at line 35 of file config.h.

## ◆ HAVE_VA_ARGS_MACRO

#define HAVE_VA_ARGS_MACRO

Definition at line 49 of file config.h.

## ◆ RBIMPL_TEST1

#define RBIMPL_TEST1 | ( |  | ) | RBIMPL_TEST2("ruby")

Definition at line 133 of file config.h.

## ◆ RBIMPL_TEST2

#define RBIMPL_TEST2 | ( |  | ... | ) | RBIMPL_TEST3(__VA_OPT__(,),1,0,0)

Definition at line 132 of file config.h.

## ◆ RBIMPL_TEST3

#define RBIMPL_TEST3 | ( |  | q,
|  |  | w,
|  |  | e,
|  |  | ...
| ) |  | e

Definition at line 131 of file config.h.

## ◆ RUBY_PLATFORM

#define RUBY_PLATFORM "unknown-unknown"

Definition at line 98 of file config.h.

## ◆ STRINGIZE

#define STRINGIZE | ( |  | expr | ) | STRINGIZE0(expr)

Definition at line 82 of file config.h.

## ◆ STRINGIZE0

#define STRINGIZE0 | ( |  | expr | ) | #expr

Definition at line 83 of file config.h.

## ◆ TOKEN_PASTE

#define TOKEN_PASTE | ( |  | x,
|  |  | y
| ) |  | x##y

Definition at line 38 of file config.h.

## ◆ UNALIGNED_WORD_ACCESS

#define UNALIGNED_WORD_ACCESS 0

Definition at line 122 of file config.h.