keyme-rice 1.5.1.keyme

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. checksums.yaml +15 -0
  2. data/COPYING +23 -0
  3. data/Doxyfile +1253 -0
  4. data/Makefile.am +26 -0
  5. data/Makefile.in +853 -0
  6. data/README +1124 -0
  7. data/README.mingw +8 -0
  8. data/Rakefile +34 -0
  9. data/aclocal.m4 +971 -0
  10. data/bootstrap +8 -0
  11. data/config.guess +1530 -0
  12. data/config.sub +1773 -0
  13. data/configure +7121 -0
  14. data/configure.ac +52 -0
  15. data/depcomp +688 -0
  16. data/doxygen.ac +314 -0
  17. data/doxygen.am +186 -0
  18. data/extconf.rb +51 -0
  19. data/install-sh +527 -0
  20. data/missing +331 -0
  21. data/post-autoconf.rb +22 -0
  22. data/post-automake.rb +28 -0
  23. data/rice/Address_Registration_Guard.cpp +22 -0
  24. data/rice/Address_Registration_Guard.hpp +7 -0
  25. data/rice/Address_Registration_Guard.ipp +37 -0
  26. data/rice/Address_Registration_Guard_defn.hpp +75 -0
  27. data/rice/Arg.hpp +8 -0
  28. data/rice/Arg_impl.hpp +127 -0
  29. data/rice/Arg_operators.cpp +21 -0
  30. data/rice/Arg_operators.hpp +19 -0
  31. data/rice/Array.hpp +220 -0
  32. data/rice/Array.ipp +263 -0
  33. data/rice/Builtin_Object.hpp +8 -0
  34. data/rice/Builtin_Object.ipp +50 -0
  35. data/rice/Builtin_Object_defn.hpp +50 -0
  36. data/rice/Class.cpp +57 -0
  37. data/rice/Class.hpp +8 -0
  38. data/rice/Class.ipp +6 -0
  39. data/rice/Class_defn.hpp +83 -0
  40. data/rice/Constructor.hpp +368 -0
  41. data/rice/Critical_Guard.hpp +40 -0
  42. data/rice/Critical_Guard.ipp +26 -0
  43. data/rice/Data_Object.hpp +8 -0
  44. data/rice/Data_Object.ipp +133 -0
  45. data/rice/Data_Object_defn.hpp +138 -0
  46. data/rice/Data_Type.cpp +54 -0
  47. data/rice/Data_Type.hpp +8 -0
  48. data/rice/Data_Type.ipp +365 -0
  49. data/rice/Data_Type_defn.hpp +261 -0
  50. data/rice/Data_Type_fwd.hpp +12 -0
  51. data/rice/Director.cpp +13 -0
  52. data/rice/Director.hpp +39 -0
  53. data/rice/Enum.hpp +117 -0
  54. data/rice/Enum.ipp +246 -0
  55. data/rice/Exception.cpp +59 -0
  56. data/rice/Exception.hpp +9 -0
  57. data/rice/Exception_Base.hpp +8 -0
  58. data/rice/Exception_Base.ipp +13 -0
  59. data/rice/Exception_Base_defn.hpp +27 -0
  60. data/rice/Exception_defn.hpp +69 -0
  61. data/rice/Hash.hpp +227 -0
  62. data/rice/Hash.ipp +330 -0
  63. data/rice/Identifier.cpp +8 -0
  64. data/rice/Identifier.hpp +50 -0
  65. data/rice/Identifier.ipp +33 -0
  66. data/rice/Jump_Tag.hpp +24 -0
  67. data/rice/Makefile.am +129 -0
  68. data/rice/Makefile.in +769 -0
  69. data/rice/Module.cpp +84 -0
  70. data/rice/Module.hpp +8 -0
  71. data/rice/Module.ipp +6 -0
  72. data/rice/Module_defn.hpp +88 -0
  73. data/rice/Module_impl.hpp +281 -0
  74. data/rice/Module_impl.ipp +348 -0
  75. data/rice/Object.cpp +160 -0
  76. data/rice/Object.hpp +8 -0
  77. data/rice/Object.ipp +19 -0
  78. data/rice/Object_defn.hpp +191 -0
  79. data/rice/Require_Guard.hpp +21 -0
  80. data/rice/String.cpp +94 -0
  81. data/rice/String.hpp +89 -0
  82. data/rice/Struct.cpp +117 -0
  83. data/rice/Struct.hpp +162 -0
  84. data/rice/Struct.ipp +26 -0
  85. data/rice/Symbol.cpp +25 -0
  86. data/rice/Symbol.hpp +66 -0
  87. data/rice/Symbol.ipp +44 -0
  88. data/rice/VM.cpp +82 -0
  89. data/rice/VM.hpp +32 -0
  90. data/rice/config.hpp +44 -0
  91. data/rice/config.hpp.in +43 -0
  92. data/rice/detail/Arguments.hpp +118 -0
  93. data/rice/detail/Auto_Function_Wrapper.hpp +898 -0
  94. data/rice/detail/Auto_Function_Wrapper.ipp +3694 -0
  95. data/rice/detail/Auto_Member_Function_Wrapper.hpp +897 -0
  96. data/rice/detail/Auto_Member_Function_Wrapper.ipp +2774 -0
  97. data/rice/detail/Caster.hpp +103 -0
  98. data/rice/detail/Exception_Handler.hpp +8 -0
  99. data/rice/detail/Exception_Handler.ipp +68 -0
  100. data/rice/detail/Exception_Handler_defn.hpp +96 -0
  101. data/rice/detail/Iterator.hpp +93 -0
  102. data/rice/detail/Not_Copyable.hpp +25 -0
  103. data/rice/detail/Wrapped_Function.hpp +33 -0
  104. data/rice/detail/cfp.hpp +24 -0
  105. data/rice/detail/cfp.ipp +51 -0
  106. data/rice/detail/check_ruby_type.cpp +27 -0
  107. data/rice/detail/check_ruby_type.hpp +23 -0
  108. data/rice/detail/creation_funcs.hpp +37 -0
  109. data/rice/detail/creation_funcs.ipp +36 -0
  110. data/rice/detail/default_allocation_func.hpp +23 -0
  111. data/rice/detail/default_allocation_func.ipp +11 -0
  112. data/rice/detail/define_method_and_auto_wrap.hpp +31 -0
  113. data/rice/detail/define_method_and_auto_wrap.ipp +30 -0
  114. data/rice/detail/demangle.cpp +56 -0
  115. data/rice/detail/demangle.hpp +19 -0
  116. data/rice/detail/env.hpp +19 -0
  117. data/rice/detail/from_ruby.hpp +43 -0
  118. data/rice/detail/from_ruby.ipp +60 -0
  119. data/rice/detail/method_data.cpp +159 -0
  120. data/rice/detail/method_data.hpp +21 -0
  121. data/rice/detail/mininode.cpp +1220 -0
  122. data/rice/detail/mininode.hpp +320 -0
  123. data/rice/detail/node.hpp +13 -0
  124. data/rice/detail/object_call.hpp +69 -0
  125. data/rice/detail/object_call.ipp +131 -0
  126. data/rice/detail/protect.cpp +29 -0
  127. data/rice/detail/protect.hpp +34 -0
  128. data/rice/detail/ruby.hpp +84 -0
  129. data/rice/detail/ruby_version_code.hpp +6 -0
  130. data/rice/detail/ruby_version_code.hpp.in +6 -0
  131. data/rice/detail/rubysig.hpp +19 -0
  132. data/rice/detail/st.hpp +22 -0
  133. data/rice/detail/to_ruby.hpp +22 -0
  134. data/rice/detail/to_ruby.ipp +36 -0
  135. data/rice/detail/traits.hpp +43 -0
  136. data/rice/detail/win32.hpp +16 -0
  137. data/rice/detail/wrap_function.hpp +341 -0
  138. data/rice/detail/wrap_function.ipp +514 -0
  139. data/rice/global_function.hpp +33 -0
  140. data/rice/global_function.ipp +22 -0
  141. data/rice/protect.hpp +92 -0
  142. data/rice/protect.ipp +1134 -0
  143. data/rice/ruby_mark.hpp +13 -0
  144. data/rice/ruby_try_catch.hpp +86 -0
  145. data/rice/rubypp.rb +97 -0
  146. data/rice/to_from_ruby.hpp +8 -0
  147. data/rice/to_from_ruby.ipp +294 -0
  148. data/rice/to_from_ruby_defn.hpp +71 -0
  149. data/ruby/Makefile.am +1 -0
  150. data/ruby/Makefile.in +569 -0
  151. data/ruby/lib/Makefile.am +3 -0
  152. data/ruby/lib/Makefile.in +423 -0
  153. data/ruby/lib/mkmf-rice.rb.in +213 -0
  154. data/ruby/lib/version.rb +3 -0
  155. data/ruby.ac +136 -0
  156. data/sample/Makefile.am +47 -0
  157. data/sample/Makefile.in +408 -0
  158. data/sample/enum/extconf.rb +3 -0
  159. data/sample/enum/sample_enum.cpp +54 -0
  160. data/sample/enum/test.rb +8 -0
  161. data/sample/inheritance/animals.cpp +98 -0
  162. data/sample/inheritance/extconf.rb +3 -0
  163. data/sample/inheritance/test.rb +7 -0
  164. data/sample/map/extconf.rb +3 -0
  165. data/sample/map/map.cpp +81 -0
  166. data/sample/map/test.rb +7 -0
  167. data/test/Makefile.am +77 -0
  168. data/test/Makefile.in +820 -0
  169. data/test/ext/Makefile.am +43 -0
  170. data/test/ext/Makefile.in +404 -0
  171. data/test/ext/t1/Foo.hpp +10 -0
  172. data/test/ext/t1/extconf.rb +2 -0
  173. data/test/ext/t1/t1.cpp +15 -0
  174. data/test/ext/t2/extconf.rb +2 -0
  175. data/test/ext/t2/t2.cpp +11 -0
  176. data/test/test_Address_Registration_Guard.cpp +43 -0
  177. data/test/test_Array.cpp +241 -0
  178. data/test/test_Builtin_Object.cpp +72 -0
  179. data/test/test_Class.cpp +498 -0
  180. data/test/test_Constructor.cpp +128 -0
  181. data/test/test_Critical_Guard.cpp +51 -0
  182. data/test/test_Data_Object.cpp +275 -0
  183. data/test/test_Data_Type.cpp +348 -0
  184. data/test/test_Director.cpp +303 -0
  185. data/test/test_Enum.cpp +195 -0
  186. data/test/test_Exception.cpp +46 -0
  187. data/test/test_Hash.cpp +198 -0
  188. data/test/test_Identifier.cpp +70 -0
  189. data/test/test_Jump_Tag.cpp +17 -0
  190. data/test/test_Memory_Management.cpp +50 -0
  191. data/test/test_Module.cpp +497 -0
  192. data/test/test_Object.cpp +148 -0
  193. data/test/test_String.cpp +94 -0
  194. data/test/test_Struct.cpp +192 -0
  195. data/test/test_Symbol.cpp +63 -0
  196. data/test/test_To_From_Ruby.cpp +321 -0
  197. data/test/test_VM.cpp +26 -0
  198. data/test/test_global_functions.cpp +114 -0
  199. data/test/test_rice.rb +43 -0
  200. data/test/unittest.cpp +136 -0
  201. data/test/unittest.hpp +294 -0
  202. metadata +259 -0
data/ruby.ac ADDED
@@ -0,0 +1,136 @@
1
+ dnl Get a key from ruby's configuration table
2
+ AC_DEFUN([RUBY_CONFIG], [
3
+ $RUBY -rrbconfig -e "puts(RbConfig::CONFIG[['$1']] || '')"])
4
+
5
+ AC_DEFUN([RB_INIT_RUBY], [
6
+
7
+ AC_ARG_WITH(
8
+ ruby,
9
+ AC_HELP_STRING(
10
+ --with-ruby=PATH,
11
+ [ path to the ruby interpreter [[ruby]] ]),
12
+ [ RUBY=$withval ],
13
+ [ RUBY=ruby ])
14
+ AC_ARG_WITH(
15
+ ruby_sitelibdir,
16
+ AC_HELP_STRING(
17
+ --with-ruby-sitelibdir=PATH,
18
+ [ path to install ruby scripts [[auto-detect]] ]),
19
+ [ ruby_sitelibdir=$withval ],
20
+ [ ruby_sitelibdir=NONE ])
21
+
22
+ AC_SUBST(RUBY)
23
+
24
+ RUBY_VERSION_CODE=`$RUBY -e "puts RUBY_VERSION.gsub(/\./, '')"`
25
+ AC_SUBST(RUBY_VERSION_CODE)
26
+
27
+ RUBY_CONFIG_SO_NAME=`RUBY_CONFIG(RUBY_SO_NAME)`
28
+ RUBY_CONFIG_ARCHDIR=`RUBY_CONFIG(archdir)`
29
+ RUBY_CONFIG_ARCH=`RUBY_CONFIG(arch)`
30
+ RUBY_CONFIG_LIBDIR=`RUBY_CONFIG(libdir)`
31
+ RUBY_CONFIG_BINDIR=`RUBY_CONFIG(bindir)`
32
+ RUBY_CONFIG_RUBYHDRDIR=`RUBY_CONFIG(rubyhdrdir)`
33
+ RUBY_CONFIG_CFLAGS=`RUBY_CONFIG(CFLAGS)`
34
+ RUBY_CONFIG_LIBS=`RUBY_CONFIG(LIBS)`
35
+ RUBY_CONFIG_DLDLIBS=`RUBY_CONFIG(DLDLIBS)`
36
+ RUBY_CONFIG_LDFLAGS=`RUBY_CONFIG(LDFLAGS)`
37
+ RUBY_CONFIG_LIBRUBYARG=`RUBY_CONFIG(LIBRUBYARG)`
38
+ RUBY_CONFIG_LIBRUBYARG_STATIC=`RUBY_CONFIG(LIBRUBYARG_STATIC)`
39
+ RUBY_CONFIG_CCDLFLAGS=`RUBY_CONFIG(CCDLFLAGS)`
40
+
41
+ if test "x${RUBY_CONFIG_RUBYHDRDIR}x" != "xx"; then
42
+ # 1.9
43
+ RUBY_CPPFLAGS="-I${RUBY_CONFIG_RUBYHDRDIR}"
44
+ RUBY_CPPFLAGS="${RUBY_CPPFLAGS} -I${RUBY_CONFIG_RUBYHDRDIR}/${RUBY_CONFIG_ARCH}"
45
+ else
46
+ # 1.8
47
+ RUBY_CPPFLAGS="-I${RUBY_CONFIG_ARCHDIR}"
48
+ fi
49
+ AC_SUBST(RUBY_CPPFLAGS)
50
+
51
+ RUBY_CFLAGS="${RUBY_CONFIG_CFLAGS} ${RUBY_CONFIG_CCDLFLAGS}"
52
+ AC_SUBST(RUBY_CFLAGS)
53
+
54
+ RUBY_CXXFLAGS="${RUBY_CONFIG_CFLAGS} ${RUBY_CONFIG_CCDLFLAGS}"
55
+ AC_SUBST(RUBY_CXXFLAGS)
56
+
57
+ RUBY_LDFLAGS="-L${RUBY_CONFIG_ARCHDIR} -L${RUBY_CONFIG_LIBDIR} ${RUBY_CONFIG_LDFLAGS}"
58
+ AC_SUBST(RUBY_LDFLAGS)
59
+
60
+ RUBY_LIBS="${RUBY_CONFIG_LIBS} ${RUBY_CONFIG_DLDLIBS}"
61
+ AC_SUBST(RUBY_LIBS)
62
+
63
+ RUBY_LIBRUBYARG="${RUBY_CONFIG_LIBRUBYARG}"
64
+ AC_SUBST(RUBY_LIBRUBYARG)
65
+
66
+ RUBY_LIBRUBYARG_STATIC="${RUBY_CONFIG_LIBRUBYARG_STATIC}"
67
+ AC_SUBST(RUBY_LIBRUBYARG_STATIC)
68
+
69
+ dnl If the user specified a prefix, then use it, otherwise defalut to
70
+ dnl the configured sitelibdir
71
+ if test "x${ruby_sitelibdir}x" != "xNONEx"
72
+ then
73
+ RUBY_SITELIBDIR="${ruby_sitelibdir}"
74
+ else
75
+ if test "x${prefix}x" = "xNONEx"
76
+ then
77
+ RUBY_SITELIBDIR=`RUBY_CONFIG(sitelibdir)`
78
+ else
79
+ sitelibdir_no_prefix=`$RUBY -rrbconfig \
80
+ -e "include RbConfig; \
81
+ puts CONFIG[['sitelibdir']].sub(CONFIG[['prefix']], '')"`
82
+ RUBY_SITELIBDIR="${prefix}/${sitelibdir_no_prefix}"
83
+ fi
84
+ fi
85
+ AC_SUBST(RUBY_SITELIBDIR)
86
+
87
+ dnl The fourth parameter to AC_CHECK_HEADER keeps autoconf from
88
+ dnl searching for standard header files as a side-effect (which we want)
89
+ CPPFLAGS_save="${CPPFLAGS}"
90
+ CPPFLAGS="${CPPFLAGS} ${RUBY_CPPFLAGS}"
91
+ CXXFLAGS="${CPPFLAGS}"
92
+ AC_CHECK_HEADERS(ruby.h,,AC_MSG_ERROR(
93
+ could not find ruby.h (check config.log)),[ ])
94
+ AC_CHECK_HEADERS(node.h,,,[
95
+ #include <ruby.h>
96
+ ])
97
+ AC_CHECK_HEADERS(ruby/node.h,
98
+ [ AC_DEFINE(REALLY_HAVE_RUBY_NODE_H, [],
99
+ [ Define this macro to use ruby/node.h ]) ],
100
+ ,[
101
+ #include <ruby.h>
102
+ ])
103
+ AC_CHECK_HEADERS(version.h,,,[
104
+ #include <ruby.h>
105
+ ])
106
+ AC_CHECK_HEADERS(env.h,,,[
107
+ #include <ruby.h>
108
+ ])
109
+
110
+ CPPFLAGS="${CPPFLAGS_save}"
111
+
112
+ AC_MINGW32
113
+
114
+ if test x"${MINGW32}"x = xyesx; then
115
+ RB_FIX_MINGW_LIBS
116
+ fi
117
+
118
+ ]) dnl RB_INIT_RUBY
119
+
120
+ dnl We would like to be able to build using MingW against the one-click
121
+ dnl installer, which is built using VC6. So, we detect this situation
122
+ dnl and fix up the link step if this is the case.
123
+ dnl
124
+ dnl Static linking isn't likely to work correctly, so we disable it by
125
+ dnl default, but if the user asks for LIBRUBYARG_STATIC, they'll still
126
+ dnl get static linking.
127
+ AC_DEFUN([RB_FIX_MINGW_LIBS], [
128
+ RUBY_LIBS=`echo ${RUBY_LIBS} | sed -e "s%oldnames.lib%-lmoldname%"`
129
+ RUBY_LIBS=`echo ${RUBY_LIBS} | sed -e "s%user32.lib%-luser32%"`
130
+ RUBY_LIBS=`echo ${RUBY_LIBS} | sed -e "s%advapi32.lib%-ladvapi32%"`
131
+ RUBY_LIBS=`echo ${RUBY_LIBS} | sed -e "s%ws2_32.lib%-lws2_32%"`
132
+ RUBY_LIBRUBYARG=`echo ${RUBY_LIBRUBYARG} | sed -e "s%\(msvcrt-ruby.*\).lib%${RUBY_CONFIG_BINDIR}/\1.dll%"`
133
+ RUBY_LIBRUBYARG_STATIC=`echo ${RUBY_LIBRUBYARG_STATIC} | sed -e "s%\(msvcrt-ruby.*\).lib%${RUBY_CONFIG_LIBDIR}/\1.lib%"`
134
+ ]) dnl RB_FIX_MINGW_LIBS
135
+
136
+ dnl vim:ft=config
@@ -0,0 +1,47 @@
1
+ RUBY_EXTCONF_OPTIONS = -I@RICE_ROOT@/ruby/lib
2
+ EXTCONF_OPTIONS = --with-cppflags="-I@RICE_ROOT@" --with-libpath="@RICE_ROOT@/rice"
3
+
4
+ EXTRA_DIST = \
5
+ enum/extconf.rb \
6
+ enum/sample_enum.cpp \
7
+ enum/test.rb \
8
+ map/extconf.rb \
9
+ map/map.cpp \
10
+ map/test.rb \
11
+ inheritance/extconf.rb \
12
+ inheritance/animals.cpp \
13
+ inheritance/test.rb
14
+
15
+ enum/Makefile: enum/extconf.rb ../config.status ../ruby/lib/mkmf-rice.rb
16
+ @RUBY@ $(RUBY_EXTCONF_OPTIONS) -C enum extconf.rb $(EXTCONF_OPTIONS)
17
+
18
+ map/Makefile: map/extconf.rb ../config.status ../ruby/lib/mkmf-rice.rb
19
+ @RUBY@ $(RUBY_EXTCONF_OPTIONS) -C map extconf.rb $(EXTCONF_OPTIONS)
20
+
21
+ inheritance/Makefile: inheritance/extconf.rb ../config.status ../ruby/lib/mkmf-rice.rb
22
+ @RUBY@ $(RUBY_EXTCONF_OPTIONS) -C inheritance extconf.rb $(EXTCONF_OPTIONS)
23
+
24
+ all: enum/Makefile map/Makefile inheritance/Makefile all_extensions
25
+
26
+ all_extensions:
27
+ @for sample in $(RICE_SAMPLES); \
28
+ do \
29
+ $(MAKE) -C $${sample} all; \
30
+ done
31
+
32
+ clean: enum/Makefile map/Makefile inheritance/Makefile clean_extensions
33
+
34
+ clean_extensions:
35
+ @for sample in $(RICE_SAMPLES); \
36
+ do \
37
+ $(MAKE) -C $${sample} clean; \
38
+ done
39
+
40
+ distclean: enum/Makefile map/Makefile inheritance/Makefile distclean_extensions
41
+
42
+ distclean_extensions:
43
+ @for sample in $(RICE_SAMPLES);
44
+ do \
45
+ $(MAKE) -C $${sample} distclean; \
46
+ done
47
+
@@ -0,0 +1,408 @@
1
+ # Makefile.in generated by automake 1.11.3 from Makefile.am.
2
+ # @configure_input@
3
+
4
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
5
+ # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
6
+ # Foundation, Inc.
7
+ # This Makefile.in is free software; the Free Software Foundation
8
+ # gives unlimited permission to copy and/or distribute it,
9
+ # with or without modifications, as long as this notice is preserved.
10
+
11
+ # This program is distributed in the hope that it will be useful,
12
+ # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
13
+ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
14
+ # PARTICULAR PURPOSE.
15
+
16
+ @SET_MAKE@
17
+ VPATH = @srcdir@
18
+ pkgdatadir = $(datadir)/@PACKAGE@
19
+ pkgincludedir = $(includedir)/@PACKAGE@
20
+ pkglibdir = $(libdir)/@PACKAGE@
21
+ pkglibexecdir = $(libexecdir)/@PACKAGE@
22
+ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
23
+ install_sh_DATA = $(install_sh) -c -m 644
24
+ install_sh_PROGRAM = $(install_sh) -c
25
+ install_sh_SCRIPT = $(install_sh) -c
26
+ INSTALL_HEADER = $(INSTALL_DATA)
27
+ transform = $(program_transform_name)
28
+ NORMAL_INSTALL = :
29
+ PRE_INSTALL = :
30
+ POST_INSTALL = :
31
+ NORMAL_UNINSTALL = :
32
+ PRE_UNINSTALL = :
33
+ POST_UNINSTALL = :
34
+ build_triplet = @build@
35
+ host_triplet = @host@
36
+ subdir = sample
37
+ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
38
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
39
+ am__aclocal_m4_deps = $(top_srcdir)/ruby.ac $(top_srcdir)/doxygen.ac \
40
+ $(top_srcdir)/configure.ac
41
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
42
+ $(ACLOCAL_M4)
43
+ mkinstalldirs = $(install_sh) -d
44
+ CONFIG_HEADER = $(top_builddir)/rice/config.hpp
45
+ CONFIG_CLEAN_FILES =
46
+ CONFIG_CLEAN_VPATH_FILES =
47
+ SOURCES =
48
+ DIST_SOURCES =
49
+ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
50
+ ACLOCAL = @ACLOCAL@
51
+ AMTAR = @AMTAR@
52
+ AUTOCONF = @AUTOCONF@
53
+ AUTOHEADER = @AUTOHEADER@
54
+ AUTOMAKE = @AUTOMAKE@
55
+ AWK = @AWK@
56
+ CPPFLAGS = @CPPFLAGS@
57
+ CXX = @CXX@
58
+ CXXDEPMODE = @CXXDEPMODE@
59
+ CXXFLAGS = @CXXFLAGS@
60
+ CYGPATH_W = @CYGPATH_W@
61
+ DEFS = @DEFS@
62
+ DEPDIR = @DEPDIR@
63
+ DOXYGEN_PAPER_SIZE = @DOXYGEN_PAPER_SIZE@
64
+ DX_CONFIG = @DX_CONFIG@
65
+ DX_DOCDIR = @DX_DOCDIR@
66
+ DX_DOT = @DX_DOT@
67
+ DX_DOXYGEN = @DX_DOXYGEN@
68
+ DX_DVIPS = @DX_DVIPS@
69
+ DX_EGREP = @DX_EGREP@
70
+ DX_ENV = @DX_ENV@
71
+ DX_FLAG_chi = @DX_FLAG_chi@
72
+ DX_FLAG_chm = @DX_FLAG_chm@
73
+ DX_FLAG_doc = @DX_FLAG_doc@
74
+ DX_FLAG_dot = @DX_FLAG_dot@
75
+ DX_FLAG_html = @DX_FLAG_html@
76
+ DX_FLAG_man = @DX_FLAG_man@
77
+ DX_FLAG_pdf = @DX_FLAG_pdf@
78
+ DX_FLAG_ps = @DX_FLAG_ps@
79
+ DX_FLAG_rtf = @DX_FLAG_rtf@
80
+ DX_FLAG_xml = @DX_FLAG_xml@
81
+ DX_HHC = @DX_HHC@
82
+ DX_LATEX = @DX_LATEX@
83
+ DX_MAKEINDEX = @DX_MAKEINDEX@
84
+ DX_PDFLATEX = @DX_PDFLATEX@
85
+ DX_PERL = @DX_PERL@
86
+ DX_PROJECT = @DX_PROJECT@
87
+ ECHO_C = @ECHO_C@
88
+ ECHO_N = @ECHO_N@
89
+ ECHO_T = @ECHO_T@
90
+ EXEEXT = @EXEEXT@
91
+ INSTALL = @INSTALL@
92
+ INSTALL_DATA = @INSTALL_DATA@
93
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
94
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
95
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
96
+ LDFLAGS = @LDFLAGS@
97
+ LIBOBJS = @LIBOBJS@
98
+ LIBS = @LIBS@
99
+ LTLIBOBJS = @LTLIBOBJS@
100
+ MAKEINFO = @MAKEINFO@
101
+ MKDIR_P = @MKDIR_P@
102
+ OBJEXT = @OBJEXT@
103
+ PACKAGE = @PACKAGE@
104
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
105
+ PACKAGE_NAME = @PACKAGE_NAME@
106
+ PACKAGE_STRING = @PACKAGE_STRING@
107
+ PACKAGE_TARNAME = @PACKAGE_TARNAME@
108
+ PACKAGE_URL = @PACKAGE_URL@
109
+ PACKAGE_VERSION = @PACKAGE_VERSION@
110
+ PATH_SEPARATOR = @PATH_SEPARATOR@
111
+ RANLIB = @RANLIB@
112
+ RICE_CPPFLAGS = @RICE_CPPFLAGS@
113
+ RICE_LDFLAGS = @RICE_LDFLAGS@
114
+ RICE_ROOT = @RICE_ROOT@
115
+ RICE_SAMPLES = @RICE_SAMPLES@
116
+ RICE_USING_MINGW32 = @RICE_USING_MINGW32@
117
+ RUBY = @RUBY@
118
+ RUBY_CFLAGS = @RUBY_CFLAGS@
119
+ RUBY_CPPFLAGS = @RUBY_CPPFLAGS@
120
+ RUBY_CXXFLAGS = @RUBY_CXXFLAGS@
121
+ RUBY_LDFLAGS = @RUBY_LDFLAGS@
122
+ RUBY_LIBRUBYARG = @RUBY_LIBRUBYARG@
123
+ RUBY_LIBRUBYARG_STATIC = @RUBY_LIBRUBYARG_STATIC@
124
+ RUBY_LIBS = @RUBY_LIBS@
125
+ RUBY_SITELIBDIR = @RUBY_SITELIBDIR@
126
+ RUBY_VERSION_CODE = @RUBY_VERSION_CODE@
127
+ SET_MAKE = @SET_MAKE@
128
+ SHELL = @SHELL@
129
+ STRIP = @STRIP@
130
+ VERSION = @VERSION@
131
+ abs_builddir = @abs_builddir@
132
+ abs_srcdir = @abs_srcdir@
133
+ abs_top_builddir = @abs_top_builddir@
134
+ abs_top_srcdir = @abs_top_srcdir@
135
+ ac_ct_CXX = @ac_ct_CXX@
136
+ am__include = @am__include@
137
+ am__leading_dot = @am__leading_dot@
138
+ am__quote = @am__quote@
139
+ am__tar = @am__tar@
140
+ am__untar = @am__untar@
141
+ bindir = @bindir@
142
+ build = @build@
143
+ build_alias = @build_alias@
144
+ build_cpu = @build_cpu@
145
+ build_os = @build_os@
146
+ build_vendor = @build_vendor@
147
+ builddir = @builddir@
148
+ datadir = @datadir@
149
+ datarootdir = @datarootdir@
150
+ docdir = @docdir@
151
+ dvidir = @dvidir@
152
+ exec_prefix = @exec_prefix@
153
+ host = @host@
154
+ host_alias = @host_alias@
155
+ host_cpu = @host_cpu@
156
+ host_os = @host_os@
157
+ host_vendor = @host_vendor@
158
+ htmldir = @htmldir@
159
+ includedir = @includedir@
160
+ infodir = @infodir@
161
+ install_sh = @install_sh@
162
+ libdir = @libdir@
163
+ libexecdir = @libexecdir@
164
+ localedir = @localedir@
165
+ localstatedir = @localstatedir@
166
+ mandir = @mandir@
167
+ mkdir_p = @mkdir_p@
168
+ oldincludedir = @oldincludedir@
169
+ pdfdir = @pdfdir@
170
+ prefix = @prefix@
171
+ program_transform_name = @program_transform_name@
172
+ psdir = @psdir@
173
+ sbindir = @sbindir@
174
+ sharedstatedir = @sharedstatedir@
175
+ srcdir = @srcdir@
176
+ sysconfdir = @sysconfdir@
177
+ target_alias = @target_alias@
178
+ top_build_prefix = @top_build_prefix@
179
+ top_builddir = @top_builddir@
180
+ top_srcdir = @top_srcdir@
181
+ RUBY_EXTCONF_OPTIONS = -I@RICE_ROOT@/ruby/lib
182
+ EXTCONF_OPTIONS = --with-cppflags="-I@RICE_ROOT@" --with-libpath="@RICE_ROOT@/rice"
183
+ EXTRA_DIST = \
184
+ enum/extconf.rb \
185
+ enum/sample_enum.cpp \
186
+ enum/test.rb \
187
+ map/extconf.rb \
188
+ map/map.cpp \
189
+ map/test.rb \
190
+ inheritance/extconf.rb \
191
+ inheritance/animals.cpp \
192
+ inheritance/test.rb
193
+
194
+ all: all-am
195
+
196
+ .SUFFIXES:
197
+ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
198
+ @for dep in $?; do \
199
+ case '$(am__configure_deps)' in \
200
+ *$$dep*) \
201
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
202
+ && { if test -f $@; then exit 0; else break; fi; }; \
203
+ exit 1;; \
204
+ esac; \
205
+ done; \
206
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu sample/Makefile'; \
207
+ $(am__cd) $(top_srcdir) && \
208
+ $(AUTOMAKE) --gnu sample/Makefile
209
+ .PRECIOUS: Makefile
210
+ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
211
+ @case '$?' in \
212
+ *config.status*) \
213
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
214
+ *) \
215
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
216
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
217
+ esac;
218
+
219
+ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
220
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
221
+
222
+ $(top_srcdir)/configure: $(am__configure_deps)
223
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
224
+ $(ACLOCAL_M4): $(am__aclocal_m4_deps)
225
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
226
+ $(am__aclocal_m4_deps):
227
+ tags: TAGS
228
+ TAGS:
229
+
230
+ ctags: CTAGS
231
+ CTAGS:
232
+
233
+
234
+ distdir: $(DISTFILES)
235
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
236
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
237
+ list='$(DISTFILES)'; \
238
+ dist_files=`for file in $$list; do echo $$file; done | \
239
+ sed -e "s|^$$srcdirstrip/||;t" \
240
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
241
+ case $$dist_files in \
242
+ */*) eval $(MKDIR_P) `echo "$$dist_files" | \
243
+ sed '/\//!d;s|^|"$(distdir)"/|;s,/[^/]*$$,,' | \
244
+ sort -u` ;; \
245
+ esac; \
246
+ for file in $$dist_files; do \
247
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
248
+ if test -d $$d/$$file; then \
249
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
250
+ if test -d "$(distdir)/$$file"; then \
251
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
252
+ fi; \
253
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
254
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
255
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
256
+ fi; \
257
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
258
+ else \
259
+ test -f "$(distdir)/$$file" \
260
+ || cp -p $$d/$$file "$(distdir)/$$file" \
261
+ || exit 1; \
262
+ fi; \
263
+ done
264
+ check-am: all-am
265
+ check: check-am
266
+ all-am: Makefile
267
+ installdirs:
268
+ install: install-am
269
+ install-exec: install-exec-am
270
+ install-data: install-data-am
271
+ uninstall: uninstall-am
272
+
273
+ install-am: all-am
274
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
275
+
276
+ installcheck: installcheck-am
277
+ install-strip:
278
+ if test -z '$(STRIP)'; then \
279
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
280
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
281
+ install; \
282
+ else \
283
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
284
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
285
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
286
+ fi
287
+ mostlyclean-generic:
288
+
289
+ clean-generic:
290
+
291
+ distclean-generic:
292
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
293
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
294
+
295
+ maintainer-clean-generic:
296
+ @echo "This command is intended for maintainers to use"
297
+ @echo "it deletes files that may require special tools to rebuild."
298
+ clean-am: clean-generic mostlyclean-am
299
+
300
+ distclean-am: clean-am distclean-generic
301
+
302
+ dvi: dvi-am
303
+
304
+ dvi-am:
305
+
306
+ html: html-am
307
+
308
+ html-am:
309
+
310
+ info: info-am
311
+
312
+ info-am:
313
+
314
+ install-data-am:
315
+
316
+ install-dvi: install-dvi-am
317
+
318
+ install-dvi-am:
319
+
320
+ install-exec-am:
321
+
322
+ install-html: install-html-am
323
+
324
+ install-html-am:
325
+
326
+ install-info: install-info-am
327
+
328
+ install-info-am:
329
+
330
+ install-man:
331
+
332
+ install-pdf: install-pdf-am
333
+
334
+ install-pdf-am:
335
+
336
+ install-ps: install-ps-am
337
+
338
+ install-ps-am:
339
+
340
+ installcheck-am:
341
+
342
+ maintainer-clean: maintainer-clean-am
343
+ -rm -f Makefile
344
+ maintainer-clean-am: distclean-am maintainer-clean-generic
345
+
346
+ mostlyclean: mostlyclean-am
347
+
348
+ mostlyclean-am: mostlyclean-generic
349
+
350
+ pdf: pdf-am
351
+
352
+ pdf-am:
353
+
354
+ ps: ps-am
355
+
356
+ ps-am:
357
+
358
+ uninstall-am:
359
+
360
+ .MAKE: install-am install-strip
361
+
362
+ .PHONY: all all-am check check-am clean clean-generic distclean \
363
+ distclean-generic distdir dvi dvi-am html html-am info info-am \
364
+ install install-am install-data install-data-am install-dvi \
365
+ install-dvi-am install-exec install-exec-am install-html \
366
+ install-html-am install-info install-info-am install-man \
367
+ install-pdf install-pdf-am install-ps install-ps-am \
368
+ install-strip installcheck installcheck-am installdirs \
369
+ maintainer-clean maintainer-clean-generic mostlyclean \
370
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am
371
+
372
+
373
+ enum/Makefile: enum/extconf.rb ../config.status ../ruby/lib/mkmf-rice.rb
374
+ @RUBY@ $(RUBY_EXTCONF_OPTIONS) -C enum extconf.rb $(EXTCONF_OPTIONS)
375
+
376
+ map/Makefile: map/extconf.rb ../config.status ../ruby/lib/mkmf-rice.rb
377
+ @RUBY@ $(RUBY_EXTCONF_OPTIONS) -C map extconf.rb $(EXTCONF_OPTIONS)
378
+
379
+ inheritance/Makefile: inheritance/extconf.rb ../config.status ../ruby/lib/mkmf-rice.rb
380
+ @RUBY@ $(RUBY_EXTCONF_OPTIONS) -C inheritance extconf.rb $(EXTCONF_OPTIONS)
381
+
382
+ all: enum/Makefile map/Makefile inheritance/Makefile all_extensions
383
+
384
+ all_extensions:
385
+ @for sample in $(RICE_SAMPLES); \
386
+ do \
387
+ $(MAKE) -C $${sample} all; \
388
+ done
389
+
390
+ clean: enum/Makefile map/Makefile inheritance/Makefile clean_extensions
391
+
392
+ clean_extensions:
393
+ @for sample in $(RICE_SAMPLES); \
394
+ do \
395
+ $(MAKE) -C $${sample} clean; \
396
+ done
397
+
398
+ distclean: enum/Makefile map/Makefile inheritance/Makefile distclean_extensions
399
+
400
+ distclean_extensions:
401
+ @for sample in $(RICE_SAMPLES);
402
+ do \
403
+ $(MAKE) -C $${sample} distclean; \
404
+ done
405
+
406
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
407
+ # Otherwise a system limit (for SysV at least) may be exceeded.
408
+ .NOEXPORT:
@@ -0,0 +1,3 @@
1
+ require 'mkmf-rice'
2
+ create_makefile('sample_enum')
3
+
@@ -0,0 +1,54 @@
1
+ #include "rice/Enum.hpp"
2
+ #include "rice/ruby_try_catch.hpp"
3
+
4
+ using namespace Rice;
5
+
6
+ namespace
7
+ {
8
+
9
+ enum Sample_Enum
10
+ {
11
+ SE_FOO = 1,
12
+ SE_BAR = 42,
13
+ SE_BAZ = 100,
14
+ };
15
+
16
+ Rice::Enum<Sample_Enum> sample_enum_type;
17
+
18
+ char const * description(Sample_Enum e)
19
+ {
20
+ switch(e)
21
+ {
22
+ case SE_FOO: return "Fairly Ordinary Object";
23
+ case SE_BAR: return "Beginner's All-purpose Ratchet";
24
+ case SE_BAZ: return "Better than A Zebra";
25
+ }
26
+ return "???";
27
+ }
28
+
29
+ } // namespace
30
+
31
+ template<>
32
+ Sample_Enum from_ruby<Sample_Enum>(Object x)
33
+ {
34
+ Data_Object<Sample_Enum> d(x, sample_enum_type);
35
+ return *d;
36
+ }
37
+
38
+ extern "C"
39
+ void Init_sample_enum()
40
+ {
41
+ RUBY_TRY
42
+ {
43
+ sample_enum_type =
44
+ define_enum<Sample_Enum>("Sample_Enum")
45
+ .define_value("FOO", SE_FOO)
46
+ .define_value("BAR", SE_BAR)
47
+ .define_value("BAZ", SE_BAZ);
48
+
49
+ sample_enum_type
50
+ .define_method("description", description);
51
+ }
52
+ RUBY_CATCH
53
+ }
54
+
@@ -0,0 +1,8 @@
1
+ require 'sample_enum'
2
+
3
+ Sample_Enum.each { |x| p x }
4
+ s = Sample_Enum::FOO
5
+ puts s
6
+ puts s.inspect
7
+ puts s < Sample_Enum::BAR
8
+