rice 3.0.0 → 4.0.3

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 (238) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +121 -0
  3. data/CONTRIBUTORS.md +19 -0
  4. data/Gemfile +3 -0
  5. data/README.md +44 -1025
  6. data/Rakefile +95 -12
  7. data/include/rice/rice.hpp +7766 -0
  8. data/include/rice/stl.hpp +1113 -0
  9. data/lib/mkmf-rice.rb +127 -0
  10. data/lib/version.rb +3 -0
  11. data/rice/Address_Registration_Guard.ipp +75 -32
  12. data/rice/Address_Registration_Guard_defn.hpp +60 -56
  13. data/rice/Arg.hpp +80 -4
  14. data/rice/Arg.ipp +51 -0
  15. data/rice/Constructor.hpp +12 -14
  16. data/rice/Data_Object.ipp +234 -107
  17. data/rice/Data_Object_defn.hpp +77 -117
  18. data/rice/Data_Type.hpp +1 -2
  19. data/rice/Data_Type.ipp +251 -295
  20. data/rice/Data_Type_defn.hpp +175 -243
  21. data/rice/Director.hpp +11 -6
  22. data/rice/Enum.hpp +54 -104
  23. data/rice/Enum.ipp +104 -230
  24. data/rice/Exception.hpp +2 -8
  25. data/rice/Exception.ipp +65 -0
  26. data/rice/Exception_defn.hpp +46 -47
  27. data/rice/Identifier.hpp +28 -28
  28. data/rice/Identifier.ipp +23 -27
  29. data/rice/Return.hpp +39 -0
  30. data/rice/Return.ipp +33 -0
  31. data/rice/detail/Exception_Handler.ipp +22 -62
  32. data/rice/detail/Exception_Handler_defn.hpp +76 -91
  33. data/rice/detail/Iterator.hpp +18 -88
  34. data/rice/detail/Iterator.ipp +47 -0
  35. data/rice/detail/Jump_Tag.hpp +21 -0
  36. data/rice/detail/MethodInfo.hpp +44 -0
  37. data/rice/detail/MethodInfo.ipp +78 -0
  38. data/rice/detail/NativeAttribute.hpp +53 -0
  39. data/rice/detail/NativeAttribute.ipp +83 -0
  40. data/rice/detail/NativeFunction.hpp +69 -0
  41. data/rice/detail/NativeFunction.ipp +248 -0
  42. data/rice/detail/RubyFunction.hpp +39 -0
  43. data/rice/detail/RubyFunction.ipp +92 -0
  44. data/rice/detail/Type.hpp +29 -0
  45. data/rice/detail/Type.ipp +138 -0
  46. data/rice/detail/TypeRegistry.hpp +50 -0
  47. data/rice/detail/TypeRegistry.ipp +106 -0
  48. data/rice/detail/Wrapper.hpp +51 -0
  49. data/rice/detail/Wrapper.ipp +151 -0
  50. data/rice/detail/default_allocation_func.hpp +8 -19
  51. data/rice/detail/default_allocation_func.ipp +9 -8
  52. data/rice/detail/from_ruby.hpp +2 -37
  53. data/rice/detail/from_ruby.ipp +1020 -46
  54. data/rice/detail/from_ruby_defn.hpp +38 -0
  55. data/rice/detail/function_traits.hpp +124 -0
  56. data/rice/detail/method_data.hpp +23 -15
  57. data/rice/detail/method_data.ipp +53 -0
  58. data/rice/detail/rice_traits.hpp +116 -0
  59. data/rice/detail/ruby.hpp +9 -46
  60. data/rice/detail/to_ruby.hpp +3 -17
  61. data/rice/detail/to_ruby.ipp +409 -31
  62. data/rice/detail/to_ruby_defn.hpp +48 -0
  63. data/rice/forward_declares.ipp +82 -0
  64. data/rice/global_function.hpp +16 -20
  65. data/rice/global_function.ipp +8 -17
  66. data/rice/rice.hpp +59 -0
  67. data/rice/ruby_mark.hpp +5 -3
  68. data/rice/ruby_try_catch.hpp +4 -4
  69. data/rice/stl.hpp +11 -0
  70. data/sample/callbacks/extconf.rb +3 -0
  71. data/sample/callbacks/sample_callbacks.cpp +10 -13
  72. data/sample/enum/extconf.rb +3 -0
  73. data/sample/enum/sample_enum.cpp +3 -17
  74. data/sample/enum/test.rb +2 -2
  75. data/sample/inheritance/animals.cpp +8 -24
  76. data/sample/inheritance/extconf.rb +3 -0
  77. data/sample/inheritance/test.rb +1 -1
  78. data/sample/map/extconf.rb +3 -0
  79. data/sample/map/map.cpp +10 -18
  80. data/sample/map/test.rb +1 -1
  81. data/test/embed_ruby.cpp +18 -5
  82. data/test/ext/t1/extconf.rb +3 -0
  83. data/test/ext/t1/t1.cpp +1 -3
  84. data/test/ext/t2/extconf.rb +3 -0
  85. data/test/ext/t2/t2.cpp +1 -1
  86. data/test/extconf.rb +23 -0
  87. data/test/ruby/test_callbacks_sample.rb +28 -0
  88. data/test/ruby/test_multiple_extensions.rb +18 -0
  89. data/test/ruby/test_multiple_extensions_same_class.rb +14 -0
  90. data/test/ruby/test_multiple_extensions_with_inheritance.rb +20 -0
  91. data/test/test_Address_Registration_Guard.cpp +23 -10
  92. data/test/test_Array.cpp +129 -73
  93. data/test/test_Attribute.cpp +147 -0
  94. data/test/test_Builtin_Object.cpp +34 -14
  95. data/test/test_Class.cpp +149 -275
  96. data/test/test_Constructor.cpp +10 -9
  97. data/test/test_Data_Object.cpp +133 -192
  98. data/test/test_Data_Type.cpp +322 -252
  99. data/test/test_Director.cpp +54 -41
  100. data/test/test_Enum.cpp +228 -103
  101. data/test/test_Exception.cpp +5 -6
  102. data/test/test_Hash.cpp +31 -30
  103. data/test/test_Identifier.cpp +4 -5
  104. data/test/test_Inheritance.cpp +221 -0
  105. data/test/test_Iterator.cpp +161 -0
  106. data/test/test_Jump_Tag.cpp +1 -1
  107. data/test/test_Keep_Alive.cpp +161 -0
  108. data/test/test_Memory_Management.cpp +2 -4
  109. data/test/test_Module.cpp +167 -110
  110. data/test/test_Object.cpp +41 -21
  111. data/test/test_Ownership.cpp +275 -0
  112. data/test/test_Self.cpp +205 -0
  113. data/test/test_Stl_Optional.cpp +90 -0
  114. data/test/test_Stl_Pair.cpp +144 -0
  115. data/test/test_Stl_SmartPointer.cpp +200 -0
  116. data/test/test_Stl_String.cpp +74 -0
  117. data/test/test_Stl_Vector.cpp +652 -0
  118. data/test/test_String.cpp +1 -2
  119. data/test/test_Struct.cpp +29 -39
  120. data/test/test_Symbol.cpp +1 -2
  121. data/test/test_To_From_Ruby.cpp +249 -285
  122. data/test/test_global_functions.cpp +39 -19
  123. data/test/unittest.hpp +0 -4
  124. metadata +70 -141
  125. data/Doxyfile +0 -2268
  126. data/Makefile.am +0 -26
  127. data/Makefile.in +0 -931
  128. data/README.mingw +0 -8
  129. data/aclocal.m4 +0 -1085
  130. data/ax_cxx_compile_stdcxx.m4 +0 -951
  131. data/bootstrap +0 -8
  132. data/config.guess +0 -1421
  133. data/config.sub +0 -1807
  134. data/configure +0 -7792
  135. data/configure.ac +0 -55
  136. data/depcomp +0 -791
  137. data/doxygen.ac +0 -314
  138. data/doxygen.am +0 -186
  139. data/extconf.rb +0 -70
  140. data/install-sh +0 -501
  141. data/missing +0 -215
  142. data/post-autoconf.rb +0 -22
  143. data/post-automake.rb +0 -28
  144. data/rice/Address_Registration_Guard.cpp +0 -22
  145. data/rice/Arg_impl.hpp +0 -129
  146. data/rice/Arg_operators.cpp +0 -21
  147. data/rice/Arg_operators.hpp +0 -19
  148. data/rice/Array.hpp +0 -214
  149. data/rice/Array.ipp +0 -256
  150. data/rice/Builtin_Object.hpp +0 -8
  151. data/rice/Builtin_Object.ipp +0 -50
  152. data/rice/Builtin_Object_defn.hpp +0 -50
  153. data/rice/Class.cpp +0 -57
  154. data/rice/Class.hpp +0 -8
  155. data/rice/Class.ipp +0 -6
  156. data/rice/Class_defn.hpp +0 -84
  157. data/rice/Data_Type.cpp +0 -54
  158. data/rice/Data_Type_fwd.hpp +0 -12
  159. data/rice/Director.cpp +0 -13
  160. data/rice/Exception.cpp +0 -54
  161. data/rice/Exception_Base.hpp +0 -8
  162. data/rice/Exception_Base.ipp +0 -13
  163. data/rice/Exception_Base_defn.hpp +0 -27
  164. data/rice/Hash.hpp +0 -230
  165. data/rice/Hash.ipp +0 -329
  166. data/rice/Identifier.cpp +0 -8
  167. data/rice/Jump_Tag.hpp +0 -24
  168. data/rice/Makefile.am +0 -121
  169. data/rice/Makefile.in +0 -884
  170. data/rice/Module.cpp +0 -84
  171. data/rice/Module.hpp +0 -8
  172. data/rice/Module.ipp +0 -6
  173. data/rice/Module_defn.hpp +0 -88
  174. data/rice/Module_impl.hpp +0 -281
  175. data/rice/Module_impl.ipp +0 -345
  176. data/rice/Object.cpp +0 -169
  177. data/rice/Object.hpp +0 -8
  178. data/rice/Object.ipp +0 -33
  179. data/rice/Object_defn.hpp +0 -214
  180. data/rice/Require_Guard.hpp +0 -21
  181. data/rice/String.cpp +0 -89
  182. data/rice/String.hpp +0 -91
  183. data/rice/Struct.cpp +0 -117
  184. data/rice/Struct.hpp +0 -162
  185. data/rice/Struct.ipp +0 -26
  186. data/rice/Symbol.cpp +0 -25
  187. data/rice/Symbol.hpp +0 -66
  188. data/rice/Symbol.ipp +0 -44
  189. data/rice/config.hpp +0 -47
  190. data/rice/config.hpp.in +0 -46
  191. data/rice/detail/Arguments.hpp +0 -118
  192. data/rice/detail/Auto_Function_Wrapper.hpp +0 -898
  193. data/rice/detail/Auto_Function_Wrapper.ipp +0 -3181
  194. data/rice/detail/Auto_Member_Function_Wrapper.hpp +0 -897
  195. data/rice/detail/Auto_Member_Function_Wrapper.ipp +0 -2501
  196. data/rice/detail/Caster.hpp +0 -103
  197. data/rice/detail/Not_Copyable.hpp +0 -25
  198. data/rice/detail/Wrapped_Function.hpp +0 -33
  199. data/rice/detail/cfp.hpp +0 -24
  200. data/rice/detail/cfp.ipp +0 -51
  201. data/rice/detail/check_ruby_type.cpp +0 -27
  202. data/rice/detail/check_ruby_type.hpp +0 -23
  203. data/rice/detail/creation_funcs.hpp +0 -37
  204. data/rice/detail/creation_funcs.ipp +0 -36
  205. data/rice/detail/define_method_and_auto_wrap.hpp +0 -31
  206. data/rice/detail/define_method_and_auto_wrap.ipp +0 -30
  207. data/rice/detail/demangle.cpp +0 -56
  208. data/rice/detail/demangle.hpp +0 -19
  209. data/rice/detail/env.hpp +0 -11
  210. data/rice/detail/method_data.cpp +0 -92
  211. data/rice/detail/node.hpp +0 -13
  212. data/rice/detail/protect.cpp +0 -29
  213. data/rice/detail/protect.hpp +0 -34
  214. data/rice/detail/ruby_version_code.hpp +0 -6
  215. data/rice/detail/ruby_version_code.hpp.in +0 -6
  216. data/rice/detail/st.hpp +0 -22
  217. data/rice/detail/win32.hpp +0 -16
  218. data/rice/detail/wrap_function.hpp +0 -66
  219. data/rice/protect.hpp +0 -38
  220. data/rice/protect.ipp +0 -1134
  221. data/rice/rubypp.rb +0 -97
  222. data/rice/to_from_ruby.hpp +0 -8
  223. data/rice/to_from_ruby.ipp +0 -418
  224. data/rice/to_from_ruby_defn.hpp +0 -70
  225. data/ruby/Makefile.am +0 -1
  226. data/ruby/Makefile.in +0 -628
  227. data/ruby/lib/Makefile.am +0 -3
  228. data/ruby/lib/Makefile.in +0 -506
  229. data/ruby/lib/mkmf-rice.rb.in +0 -217
  230. data/ruby/lib/version.rb +0 -3
  231. data/ruby.ac +0 -135
  232. data/sample/Makefile.am +0 -53
  233. data/sample/Makefile.in +0 -495
  234. data/test/Makefile.am +0 -73
  235. data/test/Makefile.in +0 -1219
  236. data/test/ext/Makefile.am +0 -41
  237. data/test/ext/Makefile.in +0 -483
  238. data/test/test_rice.rb +0 -45
data/ruby/lib/Makefile.in DELETED
@@ -1,506 +0,0 @@
1
- # Makefile.in generated by automake 1.16.3 from Makefile.am.
2
- # @configure_input@
3
-
4
- # Copyright (C) 1994-2020 Free Software Foundation, Inc.
5
-
6
- # This Makefile.in is free software; the Free Software Foundation
7
- # gives unlimited permission to copy and/or distribute it,
8
- # with or without modifications, as long as this notice is preserved.
9
-
10
- # This program is distributed in the hope that it will be useful,
11
- # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12
- # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13
- # PARTICULAR PURPOSE.
14
-
15
- @SET_MAKE@
16
-
17
- VPATH = @srcdir@
18
- am__is_gnu_make = { \
19
- if test -z '$(MAKELEVEL)'; then \
20
- false; \
21
- elif test -n '$(MAKE_HOST)'; then \
22
- true; \
23
- elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
24
- true; \
25
- else \
26
- false; \
27
- fi; \
28
- }
29
- am__make_running_with_option = \
30
- case $${target_option-} in \
31
- ?) ;; \
32
- *) echo "am__make_running_with_option: internal error: invalid" \
33
- "target option '$${target_option-}' specified" >&2; \
34
- exit 1;; \
35
- esac; \
36
- has_opt=no; \
37
- sane_makeflags=$$MAKEFLAGS; \
38
- if $(am__is_gnu_make); then \
39
- sane_makeflags=$$MFLAGS; \
40
- else \
41
- case $$MAKEFLAGS in \
42
- *\\[\ \ ]*) \
43
- bs=\\; \
44
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
45
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
46
- esac; \
47
- fi; \
48
- skip_next=no; \
49
- strip_trailopt () \
50
- { \
51
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
52
- }; \
53
- for flg in $$sane_makeflags; do \
54
- test $$skip_next = yes && { skip_next=no; continue; }; \
55
- case $$flg in \
56
- *=*|--*) continue;; \
57
- -*I) strip_trailopt 'I'; skip_next=yes;; \
58
- -*I?*) strip_trailopt 'I';; \
59
- -*O) strip_trailopt 'O'; skip_next=yes;; \
60
- -*O?*) strip_trailopt 'O';; \
61
- -*l) strip_trailopt 'l'; skip_next=yes;; \
62
- -*l?*) strip_trailopt 'l';; \
63
- -[dEDm]) skip_next=yes;; \
64
- -[JT]) skip_next=yes;; \
65
- esac; \
66
- case $$flg in \
67
- *$$target_option*) has_opt=yes; break;; \
68
- esac; \
69
- done; \
70
- test $$has_opt = yes
71
- am__make_dryrun = (target_option=n; $(am__make_running_with_option))
72
- am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
73
- pkgdatadir = $(datadir)/@PACKAGE@
74
- pkgincludedir = $(includedir)/@PACKAGE@
75
- pkglibdir = $(libdir)/@PACKAGE@
76
- pkglibexecdir = $(libexecdir)/@PACKAGE@
77
- am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
78
- install_sh_DATA = $(install_sh) -c -m 644
79
- install_sh_PROGRAM = $(install_sh) -c
80
- install_sh_SCRIPT = $(install_sh) -c
81
- INSTALL_HEADER = $(INSTALL_DATA)
82
- transform = $(program_transform_name)
83
- NORMAL_INSTALL = :
84
- PRE_INSTALL = :
85
- POST_INSTALL = :
86
- NORMAL_UNINSTALL = :
87
- PRE_UNINSTALL = :
88
- POST_UNINSTALL = :
89
- build_triplet = @build@
90
- host_triplet = @host@
91
- subdir = ruby/lib
92
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
93
- am__aclocal_m4_deps = $(top_srcdir)/ax_cxx_compile_stdcxx.m4 \
94
- $(top_srcdir)/ruby.ac $(top_srcdir)/doxygen.ac \
95
- $(top_srcdir)/configure.ac
96
- am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
97
- $(ACLOCAL_M4)
98
- DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
99
- mkinstalldirs = $(install_sh) -d
100
- CONFIG_HEADER = $(top_builddir)/rice/config.hpp
101
- CONFIG_CLEAN_FILES = mkmf-rice.rb
102
- CONFIG_CLEAN_VPATH_FILES =
103
- AM_V_P = $(am__v_P_@AM_V@)
104
- am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
105
- am__v_P_0 = false
106
- am__v_P_1 = :
107
- AM_V_GEN = $(am__v_GEN_@AM_V@)
108
- am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
109
- am__v_GEN_0 = @echo " GEN " $@;
110
- am__v_GEN_1 =
111
- AM_V_at = $(am__v_at_@AM_V@)
112
- am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
113
- am__v_at_0 = @
114
- am__v_at_1 =
115
- SOURCES =
116
- DIST_SOURCES =
117
- am__can_run_installinfo = \
118
- case $$AM_UPDATE_INFO_DIR in \
119
- n|no|NO) false;; \
120
- *) (install-info --version) >/dev/null 2>&1;; \
121
- esac
122
- am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
123
- am__vpath_adj = case $$p in \
124
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
125
- *) f=$$p;; \
126
- esac;
127
- am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
128
- am__install_max = 40
129
- am__nobase_strip_setup = \
130
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
131
- am__nobase_strip = \
132
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
133
- am__nobase_list = $(am__nobase_strip_setup); \
134
- for p in $$list; do echo "$$p $$p"; done | \
135
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
136
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
137
- if (++n[$$2] == $(am__install_max)) \
138
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
139
- END { for (dir in files) print dir, files[dir] }'
140
- am__base_list = \
141
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
142
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
143
- am__uninstall_files_from_dir = { \
144
- test -z "$$files" \
145
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
146
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
147
- $(am__cd) "$$dir" && rm -f $$files; }; \
148
- }
149
- am__installdirs = "$(DESTDIR)$(rubydir)"
150
- DATA = $(ruby_DATA)
151
- am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
152
- am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/mkmf-rice.rb.in
153
- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
154
- ACLOCAL = @ACLOCAL@
155
- AMTAR = @AMTAR@
156
- AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
157
- AUTOCONF = @AUTOCONF@
158
- AUTOHEADER = @AUTOHEADER@
159
- AUTOMAKE = @AUTOMAKE@
160
- AWK = @AWK@
161
- CPPFLAGS = @CPPFLAGS@
162
- CXX = @CXX@
163
- CXXDEPMODE = @CXXDEPMODE@
164
- CXXFLAGS = @CXXFLAGS@
165
- CYGPATH_W = @CYGPATH_W@
166
- DEFS = @DEFS@
167
- DEPDIR = @DEPDIR@
168
- DOXYGEN_PAPER_SIZE = @DOXYGEN_PAPER_SIZE@
169
- DX_CONFIG = @DX_CONFIG@
170
- DX_DOCDIR = @DX_DOCDIR@
171
- DX_DOT = @DX_DOT@
172
- DX_DOXYGEN = @DX_DOXYGEN@
173
- DX_DVIPS = @DX_DVIPS@
174
- DX_EGREP = @DX_EGREP@
175
- DX_ENV = @DX_ENV@
176
- DX_FLAG_chi = @DX_FLAG_chi@
177
- DX_FLAG_chm = @DX_FLAG_chm@
178
- DX_FLAG_doc = @DX_FLAG_doc@
179
- DX_FLAG_dot = @DX_FLAG_dot@
180
- DX_FLAG_html = @DX_FLAG_html@
181
- DX_FLAG_man = @DX_FLAG_man@
182
- DX_FLAG_pdf = @DX_FLAG_pdf@
183
- DX_FLAG_ps = @DX_FLAG_ps@
184
- DX_FLAG_rtf = @DX_FLAG_rtf@
185
- DX_FLAG_xml = @DX_FLAG_xml@
186
- DX_HHC = @DX_HHC@
187
- DX_LATEX = @DX_LATEX@
188
- DX_MAKEINDEX = @DX_MAKEINDEX@
189
- DX_PDFLATEX = @DX_PDFLATEX@
190
- DX_PERL = @DX_PERL@
191
- DX_PROJECT = @DX_PROJECT@
192
- ECHO_C = @ECHO_C@
193
- ECHO_N = @ECHO_N@
194
- ECHO_T = @ECHO_T@
195
- EXEEXT = @EXEEXT@
196
- HAVE_CXX14 = @HAVE_CXX14@
197
- INSTALL = @INSTALL@
198
- INSTALL_DATA = @INSTALL_DATA@
199
- INSTALL_PROGRAM = @INSTALL_PROGRAM@
200
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
201
- INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
202
- LDFLAGS = @LDFLAGS@
203
- LIBOBJS = @LIBOBJS@
204
- LIBS = @LIBS@
205
- LTLIBOBJS = @LTLIBOBJS@
206
- MAKEINFO = @MAKEINFO@
207
- MKDIR_P = @MKDIR_P@
208
- OBJEXT = @OBJEXT@
209
- PACKAGE = @PACKAGE@
210
- PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
211
- PACKAGE_NAME = @PACKAGE_NAME@
212
- PACKAGE_STRING = @PACKAGE_STRING@
213
- PACKAGE_TARNAME = @PACKAGE_TARNAME@
214
- PACKAGE_URL = @PACKAGE_URL@
215
- PACKAGE_VERSION = @PACKAGE_VERSION@
216
- PATH_SEPARATOR = @PATH_SEPARATOR@
217
- RANLIB = @RANLIB@
218
- RICE_CPPFLAGS = @RICE_CPPFLAGS@
219
- RICE_LDFLAGS = @RICE_LDFLAGS@
220
- RICE_ROOT = @RICE_ROOT@
221
- RICE_SAMPLES = @RICE_SAMPLES@
222
- RICE_USING_MINGW32 = @RICE_USING_MINGW32@
223
- RUBY = @RUBY@
224
- RUBY_CFLAGS = @RUBY_CFLAGS@
225
- RUBY_CPPFLAGS = @RUBY_CPPFLAGS@
226
- RUBY_CXXFLAGS = @RUBY_CXXFLAGS@
227
- RUBY_LDFLAGS = @RUBY_LDFLAGS@
228
- RUBY_LIBRUBYARG = @RUBY_LIBRUBYARG@
229
- RUBY_LIBRUBYARG_STATIC = @RUBY_LIBRUBYARG_STATIC@
230
- RUBY_LIBS = @RUBY_LIBS@
231
- RUBY_SITELIBDIR = @RUBY_SITELIBDIR@
232
- RUBY_VERSION_CODE = @RUBY_VERSION_CODE@
233
- SET_MAKE = @SET_MAKE@
234
- SHELL = @SHELL@
235
- STRIP = @STRIP@
236
- VERSION = @VERSION@
237
- abs_builddir = @abs_builddir@
238
- abs_srcdir = @abs_srcdir@
239
- abs_top_builddir = @abs_top_builddir@
240
- abs_top_srcdir = @abs_top_srcdir@
241
- ac_ct_CXX = @ac_ct_CXX@
242
- am__include = @am__include@
243
- am__leading_dot = @am__leading_dot@
244
- am__quote = @am__quote@
245
- am__tar = @am__tar@
246
- am__untar = @am__untar@
247
- bindir = @bindir@
248
- build = @build@
249
- build_alias = @build_alias@
250
- build_cpu = @build_cpu@
251
- build_os = @build_os@
252
- build_vendor = @build_vendor@
253
- builddir = @builddir@
254
- datadir = @datadir@
255
- datarootdir = @datarootdir@
256
- docdir = @docdir@
257
- dvidir = @dvidir@
258
- exec_prefix = @exec_prefix@
259
- host = @host@
260
- host_alias = @host_alias@
261
- host_cpu = @host_cpu@
262
- host_os = @host_os@
263
- host_vendor = @host_vendor@
264
- htmldir = @htmldir@
265
- includedir = @includedir@
266
- infodir = @infodir@
267
- install_sh = @install_sh@
268
- libdir = @libdir@
269
- libexecdir = @libexecdir@
270
- localedir = @localedir@
271
- localstatedir = @localstatedir@
272
- mandir = @mandir@
273
- mkdir_p = @mkdir_p@
274
- oldincludedir = @oldincludedir@
275
- pdfdir = @pdfdir@
276
- prefix = @prefix@
277
- program_transform_name = @program_transform_name@
278
- psdir = @psdir@
279
- sbindir = @sbindir@
280
- sharedstatedir = @sharedstatedir@
281
- srcdir = @srcdir@
282
- sysconfdir = @sysconfdir@
283
- target_alias = @target_alias@
284
- top_build_prefix = @top_build_prefix@
285
- top_builddir = @top_builddir@
286
- top_srcdir = @top_srcdir@
287
- rubydir = @RUBY_SITELIBDIR@
288
- ruby_DATA = mkmf-rice.rb
289
- all: all-am
290
-
291
- .SUFFIXES:
292
- $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
293
- @for dep in $?; do \
294
- case '$(am__configure_deps)' in \
295
- *$$dep*) \
296
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
297
- && { if test -f $@; then exit 0; else break; fi; }; \
298
- exit 1;; \
299
- esac; \
300
- done; \
301
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ruby/lib/Makefile'; \
302
- $(am__cd) $(top_srcdir) && \
303
- $(AUTOMAKE) --gnu ruby/lib/Makefile
304
- Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
305
- @case '$?' in \
306
- *config.status*) \
307
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
308
- *) \
309
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
310
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
311
- esac;
312
-
313
- $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
314
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
315
-
316
- $(top_srcdir)/configure: $(am__configure_deps)
317
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
318
- $(ACLOCAL_M4): $(am__aclocal_m4_deps)
319
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
320
- $(am__aclocal_m4_deps):
321
- mkmf-rice.rb: $(top_builddir)/config.status $(srcdir)/mkmf-rice.rb.in
322
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
323
- install-rubyDATA: $(ruby_DATA)
324
- @$(NORMAL_INSTALL)
325
- @list='$(ruby_DATA)'; test -n "$(rubydir)" || list=; \
326
- if test -n "$$list"; then \
327
- echo " $(MKDIR_P) '$(DESTDIR)$(rubydir)'"; \
328
- $(MKDIR_P) "$(DESTDIR)$(rubydir)" || exit 1; \
329
- fi; \
330
- for p in $$list; do \
331
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
332
- echo "$$d$$p"; \
333
- done | $(am__base_list) | \
334
- while read files; do \
335
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(rubydir)'"; \
336
- $(INSTALL_DATA) $$files "$(DESTDIR)$(rubydir)" || exit $$?; \
337
- done
338
-
339
- uninstall-rubyDATA:
340
- @$(NORMAL_UNINSTALL)
341
- @list='$(ruby_DATA)'; test -n "$(rubydir)" || list=; \
342
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
343
- dir='$(DESTDIR)$(rubydir)'; $(am__uninstall_files_from_dir)
344
- tags TAGS:
345
-
346
- ctags CTAGS:
347
-
348
- cscope cscopelist:
349
-
350
-
351
- distdir: $(BUILT_SOURCES)
352
- $(MAKE) $(AM_MAKEFLAGS) distdir-am
353
-
354
- distdir-am: $(DISTFILES)
355
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
356
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
357
- list='$(DISTFILES)'; \
358
- dist_files=`for file in $$list; do echo $$file; done | \
359
- sed -e "s|^$$srcdirstrip/||;t" \
360
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
361
- case $$dist_files in \
362
- */*) eval $(MKDIR_P) `echo "$$dist_files" | \
363
- sed '/\//!d;s|^|"$(distdir)"/|;s,/[^/]*$$,,' | \
364
- sort -u` ;; \
365
- esac; \
366
- for file in $$dist_files; do \
367
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
368
- if test -d $$d/$$file; then \
369
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
370
- if test -d "$(distdir)/$$file"; then \
371
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
372
- fi; \
373
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
374
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
375
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
376
- fi; \
377
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
378
- else \
379
- test -f "$(distdir)/$$file" \
380
- || cp -p $$d/$$file "$(distdir)/$$file" \
381
- || exit 1; \
382
- fi; \
383
- done
384
- check-am: all-am
385
- check: check-am
386
- all-am: Makefile $(DATA)
387
- installdirs:
388
- for dir in "$(DESTDIR)$(rubydir)"; do \
389
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
390
- done
391
- install: install-am
392
- install-exec: install-exec-am
393
- install-data: install-data-am
394
- uninstall: uninstall-am
395
-
396
- install-am: all-am
397
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
398
-
399
- installcheck: installcheck-am
400
- install-strip:
401
- if test -z '$(STRIP)'; then \
402
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
403
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
404
- install; \
405
- else \
406
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
407
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
408
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
409
- fi
410
- mostlyclean-generic:
411
-
412
- clean-generic:
413
-
414
- distclean-generic:
415
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
416
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
417
-
418
- maintainer-clean-generic:
419
- @echo "This command is intended for maintainers to use"
420
- @echo "it deletes files that may require special tools to rebuild."
421
- clean: clean-am
422
-
423
- clean-am: clean-generic mostlyclean-am
424
-
425
- distclean: distclean-am
426
- -rm -f Makefile
427
- distclean-am: clean-am distclean-generic
428
-
429
- dvi: dvi-am
430
-
431
- dvi-am:
432
-
433
- html: html-am
434
-
435
- html-am:
436
-
437
- info: info-am
438
-
439
- info-am:
440
-
441
- install-data-am: install-rubyDATA
442
-
443
- install-dvi: install-dvi-am
444
-
445
- install-dvi-am:
446
-
447
- install-exec-am:
448
-
449
- install-html: install-html-am
450
-
451
- install-html-am:
452
-
453
- install-info: install-info-am
454
-
455
- install-info-am:
456
-
457
- install-man:
458
-
459
- install-pdf: install-pdf-am
460
-
461
- install-pdf-am:
462
-
463
- install-ps: install-ps-am
464
-
465
- install-ps-am:
466
-
467
- installcheck-am:
468
-
469
- maintainer-clean: maintainer-clean-am
470
- -rm -f Makefile
471
- maintainer-clean-am: distclean-am maintainer-clean-generic
472
-
473
- mostlyclean: mostlyclean-am
474
-
475
- mostlyclean-am: mostlyclean-generic
476
-
477
- pdf: pdf-am
478
-
479
- pdf-am:
480
-
481
- ps: ps-am
482
-
483
- ps-am:
484
-
485
- uninstall-am: uninstall-rubyDATA
486
-
487
- .MAKE: install-am install-strip
488
-
489
- .PHONY: all all-am check check-am clean clean-generic cscopelist-am \
490
- ctags-am distclean distclean-generic distdir dvi dvi-am html \
491
- html-am info info-am install install-am install-data \
492
- install-data-am install-dvi install-dvi-am install-exec \
493
- install-exec-am install-html install-html-am install-info \
494
- install-info-am install-man install-pdf install-pdf-am \
495
- install-ps install-ps-am install-rubyDATA install-strip \
496
- installcheck installcheck-am installdirs maintainer-clean \
497
- maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
498
- pdf-am ps ps-am tags-am uninstall uninstall-am \
499
- uninstall-rubyDATA
500
-
501
- .PRECIOUS: Makefile
502
-
503
-
504
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
505
- # Otherwise a system limit (for SysV at least) may be exceeded.
506
- .NOEXPORT:
@@ -1,217 +0,0 @@
1
- # Make sure that archflags does not include ppc if we're
2
- # on Intel x86 processor on Mac, and that we use the proper arch
3
- if `uname`.chomp == "Darwin"
4
- RUBY_PLATFORM =~ /darwin(\d+)/
5
- darwin_version = $1.to_i
6
-
7
- arch =
8
- if darwin_version >= 10
9
- 'x86_64'
10
- else
11
- `uname -p`.chomp
12
- end
13
-
14
- ENV["ARCHFLAGS"] = "-arch #{arch}"
15
- end
16
-
17
- require 'mkmf'
18
- require 'rbconfig'
19
-
20
- #
21
- # A script to override some defaults in mkmf.rb for C++ code
22
- # compilation.
23
- #
24
- # If this looks like a big hack, that's because it is.
25
- #
26
-
27
- def init_mkmf_rice(config = CONFIG)
28
- # Set some defaults that we got from autoconf -- they're more likely
29
- # to be correct than what Ruby was built with
30
- $CXX = "@CXX@"
31
- $LIBS = "@RUBY_LIBS@"
32
- $LIBRUBYARG = "@RUBY_LIBRUBYARG@"
33
- $LIBRUBYARG_STATIC = "@RUBY_LIBRUBYARG_STATIC@"
34
- $RICE_CPPFLAGS = "@RICE_CPPFLAGS@"
35
- $RICE_LDFLAGS = "@RICE_LDFLAGS@"
36
- $RICE_PREFIX = File.join(File.dirname(File.expand_path(__FILE__)))
37
-
38
- $RICE_USING_MINGW32 = @RICE_USING_MINGW32@
39
-
40
- # We use this for the samples
41
- $DEFLIBPATH.unshift(with_config('libpath')) if with_config('libpath')
42
-
43
- lib_dirs = []
44
-
45
- lib_dir = "#{$RICE_PREFIX}/lib"
46
- lib64_dir = "#{$RICE_PREFIX}/lib64"
47
-
48
- lib_dirs << "-L#{lib_dir}" if File.directory?(lib_dir)
49
- lib_dirs << "-L#{lib64_dir}" if File.directory?(lib64_dir)
50
-
51
- $CPPFLAGS << " #{$RICE_CPPFLAGS} -I#{$RICE_PREFIX}/include"
52
- $LDFLAGS << " #{$RICE_LDFLAGS} #{lib_dirs.join(" ")} -lrice"
53
-
54
- # Turn on debugging and verbose warnings by default on compilers that
55
- # support it
56
- $CXXFLAGS = ''
57
- if $CXX == 'g++'
58
- $CXXFLAGS << ' -Wall -g'
59
- end
60
-
61
- # Fix-up the linker used for confidence tests
62
- TRY_LINK.sub!(/^#{Regexp.quote("$(CC)")}/, $CXX)
63
- TRY_LINK.sub!(/^#{config['CC']}/, $CXX)
64
- TRY_LINK.sub!(/#{Regexp.quote("$(CFLAGS)")}/, "$(CXXFLAGS)")
65
-
66
- # Set $LDSHARED_CXX to the linker to be used for C++ libraries (usually
67
- # the C++ compiler itself)
68
- case config['target_os']
69
- when 'darwin'
70
- $LDSHARED_CXX = \
71
- replace_cc_with_cxx(config['LDSHARED']) + \
72
- ' -read_only_relocs suppress'
73
- when 'mswin32'
74
- if $RICE_USING_MINGW32 then
75
- init_rice_mkmf_cross_compile_mingw2_for_vc6
76
- end
77
- else
78
- $LDSHARED_CXX = \
79
- replace_cc_with_cxx(config['LDSHARED'])
80
- end
81
- end
82
-
83
- def replace_cc_with_cxx(str)
84
- return str.sub(
85
- /^(cc|\$\(CC\)|#{CONFIG['CC']})(?=\s)/,
86
- $CXX)
87
- end
88
-
89
- def init_rice_mkmf_cross_compile_mingw2_for_vc6
90
- $LDSHARED_CXX = "#{$CXX} -shared -s"
91
- $OBJEXT = 'o'
92
- $DLDFLAGS.gsub!(/^-link.*\.pdb$/, '')
93
-
94
- constants = {
95
- :TRY_LINK =>
96
- "#{$LDSHARED_CXX} -oconftest $(INCFLAGS) $(CPPFLAGS) " + \
97
- "$(CFLAGS) $(src) $(LIBPATH) $(LDFLAGS) $(ARCH_FLAG) " + \
98
- "$(LOCAL_LIBS) $(LIBS)",
99
- :LINK_SO =>
100
- "#{$LDSHARED_CXX} $(DLDFLAGS) $(LIBPATH) -o$@ " + \
101
- "$(OBJS) $(LOCAL_LIBS) $(LIBS)",
102
- :LIBARG =>
103
- '-l%s',
104
- :LIBPATHFLAG =>
105
- ' -L %s',
106
- :COMPILE_RULES =>
107
- %w[.%s.%s:],
108
- :RULE_SUBST =>
109
- '%s',
110
- :COMPILE_CXX =>
111
- '$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<',
112
- :OUTFLAG =>
113
- '-o',
114
- }
115
-
116
- constants.each do |name, value|
117
- Object.instance_eval { remove_const name }
118
- Object.const_set(name, value)
119
- end
120
- end
121
-
122
- class Object
123
- alias_method :configuration_orig, :configuration
124
- def configuration(srcdir)
125
- configuration = configuration_orig(srcdir)
126
- configuration.each do |config|
127
- # Make sure we link the extension using the C++ compiler
128
- config.gsub!(/^LDSHARED\s*=.*$/, "LDSHARED = #{$LDSHARED_CXX}")
129
-
130
- # Make sure set the C++ flags correctly
131
- config.gsub!(/^CXXFLAGS\s*=.*$/, "CXXFLAGS = $(CFLAGS) #{$CXXFLAGS}")
132
- end
133
- configuration << "\nCXX = #{$CXX}"
134
- return configuration
135
- end
136
-
137
- alias_method :link_command_orig, :link_command
138
- def link_command(ldflags, opt='', libpath=$DEFLIBPATH|$LIBPATH)
139
- link_command = link_command_orig(ldflags, opt, libpath)
140
- return RbConfig::expand(
141
- link_command,
142
- 'CXXFLAGS' => "#{$CXXFLAGS}")
143
- end
144
-
145
- alias_method :create_header_orig, :create_header
146
- def create_header(header = 'extconf.hpp')
147
- create_header_orig(header)
148
- end
149
-
150
- alias_method :create_makefile_orig, :create_makefile
151
- def create_makefile(target, srcprefix = nil)
152
- makefile_creator = RiceMakefileCreator.new
153
- makefile_creator.create_makefile(target, srcprefix)
154
- end
155
- end
156
-
157
- class RiceMakefileCreator
158
- def create_makefile(target, srcprefix)
159
- create_makefile_orig(target, srcprefix)
160
- end
161
-
162
- class MakefileWriter
163
- def self.new(file, mode)
164
- file = super(file, mode)
165
- if block_given? then
166
- begin
167
- yield file
168
- ensure
169
- file.close if not file.closed?
170
- end
171
- else
172
- return file
173
- end
174
- end
175
-
176
- def initialize(file, mode)
177
- @file = File.open(file, mode)
178
- end
179
-
180
- def print(*strings)
181
- strings.each do |string|
182
- # Make sure -lruby comes after -lrice (necessary on some
183
- # platforms)
184
- string = string.to_s.gsub(/^(LIBS\s*=\s*)(#{Regexp.quote($LIBRUBYARG)})\s+(.*)\s+(#{$LIBS})$/, '\1\3\2 \4')
185
- @file.print(string)
186
- end
187
- end
188
-
189
- def printf(format, *args)
190
- @file.printf(format, *args)
191
- end
192
-
193
- def puts(*strings)
194
- print(*strings.flatten.map { |s| "#{s}\n" })
195
- end
196
-
197
- def close
198
- @file.close
199
- end
200
-
201
- def closed?
202
- return @file.closed?
203
- end
204
- end
205
-
206
- def open(file, mode, &block)
207
- # Intercept makefile output using the MakefileWriter
208
- if file == 'Makefile' then
209
- return MakefileWriter.new(file, mode, &block)
210
- else
211
- return super(file, mode, &block)
212
- end
213
- end
214
- end
215
-
216
- init_mkmf_rice
217
-