diff options
Diffstat (limited to 'spec/rubyspec/optional/capi/ext')
-rw-r--r-- | spec/rubyspec/optional/capi/ext/jruby.h | 10 | ||||
-rw-r--r-- | spec/rubyspec/optional/capi/ext/rubinius.h | 8 | ||||
-rw-r--r-- | spec/rubyspec/optional/capi/ext/rubyspec.h | 15 | ||||
-rw-r--r-- | spec/rubyspec/optional/capi/ext/truffleruby.h | 6 |
4 files changed, 39 insertions, 0 deletions
diff --git a/spec/rubyspec/optional/capi/ext/jruby.h b/spec/rubyspec/optional/capi/ext/jruby.h new file mode 100644 index 0000000000..00a9789f14 --- /dev/null +++ b/spec/rubyspec/optional/capi/ext/jruby.h @@ -0,0 +1,10 @@ +#ifndef RUBYSPEC_CAPI_JRUBY_H +#define RUBYSPEC_CAPI_JRUBY_H + +/* #undef any HAVE_ defines that JRuby does not have. */ +#undef HAVE_RB_DEFINE_HOOKED_VARIABLE +#undef HAVE_RB_DEFINE_VARIABLE + +#undef HAVE_RB_EXEC_RECURSIVE + +#endif diff --git a/spec/rubyspec/optional/capi/ext/rubinius.h b/spec/rubyspec/optional/capi/ext/rubinius.h new file mode 100644 index 0000000000..7ddf73790d --- /dev/null +++ b/spec/rubyspec/optional/capi/ext/rubinius.h @@ -0,0 +1,8 @@ +#ifndef RUBYSPEC_CAPI_RUBINIUS_H +#define RUBYSPEC_CAPI_RUBINIUS_H + +/* #undef any HAVE_ defines that Rubinius does not have. */ +#undef HAVE_RB_DEFINE_HOOKED_VARIABLE +#undef HAVE_RB_DEFINE_VARIABLE + +#endif diff --git a/spec/rubyspec/optional/capi/ext/rubyspec.h b/spec/rubyspec/optional/capi/ext/rubyspec.h index 9cba34b888..aa0f4def19 100644 --- a/spec/rubyspec/optional/capi/ext/rubyspec.h +++ b/spec/rubyspec/optional/capi/ext/rubyspec.h @@ -595,4 +595,19 @@ /* Util */ #define HAVE_RB_SCAN_ARGS 1 +/* Now, create the differential set. The format of the preprocessor directives + * is significant. The alternative implementations should define RUBY because + * some extensions depend on that. But only one alternative implementation + * macro should be defined at a time. The conditional is structured so that if + * no alternative implementation is defined then MRI is assumed. + */ + +#if defined(RUBINIUS) +#include "rubinius.h" +#elif defined(JRUBY) +#include "jruby.h" +#elif defined(TRUFFLERUBY) +#include "truffleruby.h" +#endif + #endif diff --git a/spec/rubyspec/optional/capi/ext/truffleruby.h b/spec/rubyspec/optional/capi/ext/truffleruby.h new file mode 100644 index 0000000000..99976a18a4 --- /dev/null +++ b/spec/rubyspec/optional/capi/ext/truffleruby.h @@ -0,0 +1,6 @@ +#ifndef RUBYSPEC_CAPI_TRUFFLERUBY_H +#undef RUBYSPEC_CAPI_TRUFFLERUBY_H + +// All features are available + +#endif |