rice 1.2.0 → 1.3.0

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 (65) hide show
  1. data/Doxyfile +1 -1
  2. data/Makefile.in +130 -52
  3. data/README +45 -79
  4. data/Rakefile +1 -36
  5. data/aclocal.m4 +133 -61
  6. data/config.guess +43 -8
  7. data/config.sub +41 -13
  8. data/configure +1370 -1898
  9. data/configure.ac +2 -2
  10. data/doxygen.ac +1 -1
  11. data/extconf.rb +3 -1
  12. data/rice/Arg_impl.hpp +2 -2
  13. data/rice/Data_Type.cpp +34 -1
  14. data/rice/Data_Type.ipp +14 -5
  15. data/rice/Data_Type_defn.hpp +28 -1
  16. data/rice/Director.cpp +0 -6
  17. data/rice/Director.hpp +0 -8
  18. data/rice/Hash.hpp +1 -1
  19. data/rice/Makefile.am +2 -12
  20. data/rice/Makefile.in +111 -88
  21. data/rice/Object.cpp +8 -1
  22. data/rice/Object.ipp +1 -1
  23. data/rice/Object_defn.hpp +8 -0
  24. data/rice/config.hpp +3 -0
  25. data/rice/config.hpp.in +3 -0
  26. data/rice/detail/Auto_Function_Wrapper.ipp +1025 -512
  27. data/rice/detail/Auto_Member_Function_Wrapper.ipp +545 -272
  28. data/rice/detail/cfp.hpp +24 -0
  29. data/rice/detail/cfp.ipp +51 -0
  30. data/rice/detail/method_data.cpp +107 -336
  31. data/rice/detail/node.hpp +13 -13
  32. data/rice/detail/ruby.hpp +4 -0
  33. data/rice/detail/rubysig.hpp +19 -19
  34. data/rice/detail/traits.hpp +43 -0
  35. data/rice/generate_code.rb +37 -16
  36. data/rice/protect.hpp +1 -1
  37. data/rice/protect.ipp +448 -192
  38. data/rice/to_from_ruby.ipp +4 -12
  39. data/rice/to_from_ruby_defn.hpp +2 -2
  40. data/ruby/Makefile.in +99 -32
  41. data/ruby/lib/Makefile.in +61 -21
  42. data/ruby/lib/mkmf-rice.rb.in +9 -2
  43. data/ruby/lib/version.rb +1 -1
  44. data/sample/Makefile.in +33 -10
  45. data/test/Makefile.am +27 -0
  46. data/test/Makefile.in +270 -59
  47. data/test/ext/Makefile.am +43 -0
  48. data/test/ext/Makefile.in +399 -0
  49. data/test/ext/t1/Foo.hpp +10 -0
  50. data/test/ext/t1/extconf.rb +2 -0
  51. data/test/ext/t1/t1.cpp +15 -0
  52. data/test/ext/t2/extconf.rb +2 -0
  53. data/test/ext/t2/t2.cpp +11 -0
  54. data/test/test_Allocation_Strategies.cpp +1 -1
  55. data/test/test_Class.cpp +79 -0
  56. data/test/test_Data_Type.cpp +2 -2
  57. data/test/test_Director.cpp +114 -38
  58. data/test/test_Module.cpp +27 -2
  59. data/test/test_To_From_Ruby.cpp +4 -4
  60. data/test/test_rice.rb +9 -1
  61. metadata +23 -8
  62. data/rice/detail/method_data.cpp.rpp +0 -301
  63. data/rice/detail/mininode.cpp.rpp +0 -62
  64. data/rice/detail/mininode.hpp.rpp +0 -119
  65. data/rice/detail/remove_const.hpp +0 -21
@@ -1,7 +1,14 @@
1
1
  # Make sure that archflags does not include ppc if we're
2
- # on Intel x86 processor on Mac
2
+ # on Intel x86 processor on Mac, and that we use the proper
3
+ # arch depending on 10.5 or 10.6
3
4
  if `uname`.chomp == "Darwin"
4
- arch = `uname -p`.chomp
5
+ arch =
6
+ if RUBY_PLATFORM =~ /darwin10/
7
+ 'x86_64'
8
+ else
9
+ `uname -p`.chomp
10
+ end
11
+
5
12
  ENV["ARCHFLAGS"] = "-arch #{arch}"
6
13
  end
7
14
 
@@ -1,3 +1,3 @@
1
1
  module Rice
2
- VERSION = "1.2.0"
2
+ VERSION = "1.3.0"
3
3
  end
@@ -1,8 +1,9 @@
1
- # Makefile.in generated by automake 1.10.2 from Makefile.am.
1
+ # Makefile.in generated by automake 1.11 from Makefile.am.
2
2
  # @configure_input@
3
3
 
4
4
  # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
5
- # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
5
+ # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
6
+ # Inc.
6
7
  # This Makefile.in is free software; the Free Software Foundation
7
8
  # gives unlimited permission to copy and/or distribute it,
8
9
  # with or without modifications, as long as this notice is preserved.
@@ -15,8 +16,9 @@
15
16
  @SET_MAKE@
16
17
  VPATH = @srcdir@
17
18
  pkgdatadir = $(datadir)/@PACKAGE@
18
- pkglibdir = $(libdir)/@PACKAGE@
19
19
  pkgincludedir = $(includedir)/@PACKAGE@
20
+ pkglibdir = $(libdir)/@PACKAGE@
21
+ pkglibexecdir = $(libexecdir)/@PACKAGE@
20
22
  am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
21
23
  install_sh_DATA = $(install_sh) -c -m 644
22
24
  install_sh_PROGRAM = $(install_sh) -c
@@ -41,6 +43,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
41
43
  mkinstalldirs = $(install_sh) -d
42
44
  CONFIG_HEADER = $(top_builddir)/rice/config.hpp
43
45
  CONFIG_CLEAN_FILES =
46
+ CONFIG_CLEAN_VPATH_FILES =
44
47
  SOURCES =
45
48
  DIST_SOURCES =
46
49
  DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -102,6 +105,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
102
105
  PACKAGE_NAME = @PACKAGE_NAME@
103
106
  PACKAGE_STRING = @PACKAGE_STRING@
104
107
  PACKAGE_TARNAME = @PACKAGE_TARNAME@
108
+ PACKAGE_URL = @PACKAGE_URL@
105
109
  PACKAGE_VERSION = @PACKAGE_VERSION@
106
110
  PATH_SEPARATOR = @PATH_SEPARATOR@
107
111
  RANLIB = @RANLIB@
@@ -199,9 +203,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
199
203
  exit 1;; \
200
204
  esac; \
201
205
  done; \
202
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu sample/Makefile'; \
203
- cd $(top_srcdir) && \
204
- $(AUTOMAKE) --gnu sample/Makefile
206
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu sample/Makefile'; \
207
+ $(am__cd) $(top_srcdir) && \
208
+ $(AUTOMAKE) --gnu sample/Makefile
205
209
  .PRECIOUS: Makefile
206
210
  Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
207
211
  @case '$?' in \
@@ -219,6 +223,7 @@ $(top_srcdir)/configure: $(am__configure_deps)
219
223
  cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
220
224
  $(ACLOCAL_M4): $(am__aclocal_m4_deps)
221
225
  cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
226
+ $(am__aclocal_m4_deps):
222
227
  tags: TAGS
223
228
  TAGS:
224
229
 
@@ -242,13 +247,17 @@ distdir: $(DISTFILES)
242
247
  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
243
248
  if test -d $$d/$$file; then \
244
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; \
245
253
  if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
246
- cp -pR $(srcdir)/$$file "$(distdir)"$$dir || exit 1; \
254
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
255
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
247
256
  fi; \
248
- cp -pR $$d/$$file "$(distdir)"$$dir || exit 1; \
257
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
249
258
  else \
250
- test -f "$(distdir)"/$$file \
251
- || cp -p $$d/$$file "$(distdir)"/$$file \
259
+ test -f "$(distdir)/$$file" \
260
+ || cp -p $$d/$$file "$(distdir)/$$file" \
252
261
  || exit 1; \
253
262
  fi; \
254
263
  done
@@ -276,6 +285,7 @@ clean-generic:
276
285
 
277
286
  distclean-generic:
278
287
  -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
288
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
279
289
 
280
290
  maintainer-clean-generic:
281
291
  @echo "This command is intended for maintainers to use"
@@ -290,6 +300,8 @@ dvi-am:
290
300
 
291
301
  html: html-am
292
302
 
303
+ html-am:
304
+
293
305
  info: info-am
294
306
 
295
307
  info-am:
@@ -298,18 +310,28 @@ install-data-am:
298
310
 
299
311
  install-dvi: install-dvi-am
300
312
 
313
+ install-dvi-am:
314
+
301
315
  install-exec-am:
302
316
 
303
317
  install-html: install-html-am
304
318
 
319
+ install-html-am:
320
+
305
321
  install-info: install-info-am
306
322
 
323
+ install-info-am:
324
+
307
325
  install-man:
308
326
 
309
327
  install-pdf: install-pdf-am
310
328
 
329
+ install-pdf-am:
330
+
311
331
  install-ps: install-ps-am
312
332
 
333
+ install-ps-am:
334
+
313
335
  installcheck-am:
314
336
 
315
337
  maintainer-clean: maintainer-clean-am
@@ -375,6 +397,7 @@ distclean_extensions:
375
397
  do \
376
398
  $(MAKE) -C $${sample} distclean; \
377
399
  done
400
+
378
401
  # Tell versions [3.59,3.63) of GNU make to not export all variables.
379
402
  # Otherwise a system limit (for SysV at least) may be exceeded.
380
403
  .NOEXPORT:
@@ -1,7 +1,34 @@
1
1
  noinst_PROGRAMS = unittest vm_unittest
2
2
 
3
+ SUBDIRS = ext
4
+
3
5
  TESTS = unittest vm_unittest
4
6
 
7
+
8
+ check: run_multiple_extensions_test
9
+
10
+ .PHONY: run_multiple_extensions_test
11
+
12
+ run_multiple_extensions_test:
13
+ $(RUBY) test_multiple_extensions.rb
14
+
15
+
16
+ check: run_multiple_extensions_with_inheritance_test
17
+
18
+ .PHONY: run_multiple_extensions_with_inheritance_test
19
+
20
+ run_multiple_extensions_with_inheritance_test:
21
+ $(RUBY) test_multiple_extensions_with_inheritance.rb
22
+
23
+
24
+ check: run_multiple_extensions_same_class_test
25
+
26
+ .PHONY: run_multiple_extensions_same_class_test
27
+
28
+ run_multiple_extensions_same_class_test:
29
+ $(RUBY) test_multiple_extensions_same_class.rb
30
+
31
+
5
32
  unittest_SOURCES = \
6
33
  unittest.cpp \
7
34
  test_Address_Registration_Guard.cpp \
@@ -1,8 +1,9 @@
1
- # Makefile.in generated by automake 1.10.2 from Makefile.am.
1
+ # Makefile.in generated by automake 1.11 from Makefile.am.
2
2
  # @configure_input@
3
3
 
4
4
  # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
5
- # 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
5
+ # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
6
+ # Inc.
6
7
  # This Makefile.in is free software; the Free Software Foundation
7
8
  # gives unlimited permission to copy and/or distribute it,
8
9
  # with or without modifications, as long as this notice is preserved.
@@ -16,8 +17,9 @@
16
17
 
17
18
  VPATH = @srcdir@
18
19
  pkgdatadir = $(datadir)/@PACKAGE@
19
- pkglibdir = $(libdir)/@PACKAGE@
20
20
  pkgincludedir = $(includedir)/@PACKAGE@
21
+ pkglibdir = $(libdir)/@PACKAGE@
22
+ pkglibexecdir = $(libexecdir)/@PACKAGE@
21
23
  am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
22
24
  install_sh_DATA = $(install_sh) -c -m 644
23
25
  install_sh_PROGRAM = $(install_sh) -c
@@ -44,6 +46,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
44
46
  mkinstalldirs = $(install_sh) -d
45
47
  CONFIG_HEADER = $(top_builddir)/rice/config.hpp
46
48
  CONFIG_CLEAN_FILES =
49
+ CONFIG_CLEAN_VPATH_FILES =
47
50
  PROGRAMS = $(noinst_PROGRAMS)
48
51
  am_unittest_OBJECTS = unittest.$(OBJEXT) \
49
52
  test_Address_Registration_Guard.$(OBJEXT) \
@@ -66,6 +69,7 @@ vm_unittest_LDADD = $(LDADD)
66
69
  DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/rice
67
70
  depcomp = $(SHELL) $(top_srcdir)/depcomp
68
71
  am__depfiles_maybe = depfiles
72
+ am__mv = mv -f
69
73
  CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
70
74
  $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
71
75
  CXXLD = $(CXX)
@@ -73,9 +77,49 @@ CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
73
77
  -o $@
74
78
  SOURCES = $(unittest_SOURCES) $(vm_unittest_SOURCES)
75
79
  DIST_SOURCES = $(unittest_SOURCES) $(vm_unittest_SOURCES)
80
+ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
81
+ html-recursive info-recursive install-data-recursive \
82
+ install-dvi-recursive install-exec-recursive \
83
+ install-html-recursive install-info-recursive \
84
+ install-pdf-recursive install-ps-recursive install-recursive \
85
+ installcheck-recursive installdirs-recursive pdf-recursive \
86
+ ps-recursive uninstall-recursive
87
+ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
88
+ distclean-recursive maintainer-clean-recursive
89
+ AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
90
+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
91
+ distdir
76
92
  ETAGS = etags
77
93
  CTAGS = ctags
94
+ am__tty_colors = \
95
+ red=; grn=; lgn=; blu=; std=
96
+ DIST_SUBDIRS = $(SUBDIRS)
78
97
  DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
98
+ am__relativize = \
99
+ dir0=`pwd`; \
100
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
101
+ sed_rest='s,^[^/]*/*,,'; \
102
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
103
+ sed_butlast='s,/*[^/]*$$,,'; \
104
+ while test -n "$$dir1"; do \
105
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
106
+ if test "$$first" != "."; then \
107
+ if test "$$first" = ".."; then \
108
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
109
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
110
+ else \
111
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
112
+ if test "$$first2" = "$$first"; then \
113
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
114
+ else \
115
+ dir2="../$$dir2"; \
116
+ fi; \
117
+ dir0="$$dir0"/"$$first"; \
118
+ fi; \
119
+ fi; \
120
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
121
+ done; \
122
+ reldir="$$dir2"
79
123
  ACLOCAL = @ACLOCAL@
80
124
  AMTAR = @AMTAR@
81
125
  AUTOCONF = @AUTOCONF@
@@ -138,6 +182,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
138
182
  PACKAGE_NAME = @PACKAGE_NAME@
139
183
  PACKAGE_STRING = @PACKAGE_STRING@
140
184
  PACKAGE_TARNAME = @PACKAGE_TARNAME@
185
+ PACKAGE_URL = @PACKAGE_URL@
141
186
  PACKAGE_VERSION = @PACKAGE_VERSION@
142
187
  PATH_SEPARATOR = @PATH_SEPARATOR@
143
188
  RANLIB = @RANLIB@
@@ -210,6 +255,7 @@ target_alias = @target_alias@
210
255
  top_build_prefix = @top_build_prefix@
211
256
  top_builddir = @top_builddir@
212
257
  top_srcdir = @top_srcdir@
258
+ SUBDIRS = ext
213
259
  unittest_SOURCES = \
214
260
  unittest.cpp \
215
261
  test_Address_Registration_Guard.cpp \
@@ -250,7 +296,7 @@ AM_LDFLAGS = \
250
296
  $(RUBY_LDFLAGS) \
251
297
  -L../rice
252
298
 
253
- all: all-am
299
+ all: all-recursive
254
300
 
255
301
  .SUFFIXES:
256
302
  .SUFFIXES: .cpp .o .obj
@@ -263,9 +309,9 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
263
309
  exit 1;; \
264
310
  esac; \
265
311
  done; \
266
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile'; \
267
- cd $(top_srcdir) && \
268
- $(AUTOMAKE) --gnu test/Makefile
312
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile'; \
313
+ $(am__cd) $(top_srcdir) && \
314
+ $(AUTOMAKE) --gnu test/Makefile
269
315
  .PRECIOUS: Makefile
270
316
  Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
271
317
  @case '$?' in \
@@ -283,6 +329,7 @@ $(top_srcdir)/configure: $(am__configure_deps)
283
329
  cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
284
330
  $(ACLOCAL_M4): $(am__aclocal_m4_deps)
285
331
  cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
332
+ $(am__aclocal_m4_deps):
286
333
 
287
334
  clean-noinstPROGRAMS:
288
335
  -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
@@ -326,18 +373,88 @@ distclean-compile:
326
373
 
327
374
  .cpp.o:
328
375
  @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
329
- @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
376
+ @am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
330
377
  @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
331
378
  @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
332
379
  @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
333
380
 
334
381
  .cpp.obj:
335
382
  @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
336
- @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
383
+ @am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
337
384
  @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
338
385
  @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
339
386
  @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
340
387
 
388
+ # This directory's subdirectories are mostly independent; you can cd
389
+ # into them and run `make' without going through this Makefile.
390
+ # To change the values of `make' variables: instead of editing Makefiles,
391
+ # (1) if the variable is set in `config.status', edit `config.status'
392
+ # (which will cause the Makefiles to be regenerated when you run `make');
393
+ # (2) otherwise, pass the desired values on the `make' command line.
394
+ $(RECURSIVE_TARGETS):
395
+ @failcom='exit 1'; \
396
+ for f in x $$MAKEFLAGS; do \
397
+ case $$f in \
398
+ *=* | --[!k]*);; \
399
+ *k*) failcom='fail=yes';; \
400
+ esac; \
401
+ done; \
402
+ dot_seen=no; \
403
+ target=`echo $@ | sed s/-recursive//`; \
404
+ list='$(SUBDIRS)'; for subdir in $$list; do \
405
+ echo "Making $$target in $$subdir"; \
406
+ if test "$$subdir" = "."; then \
407
+ dot_seen=yes; \
408
+ local_target="$$target-am"; \
409
+ else \
410
+ local_target="$$target"; \
411
+ fi; \
412
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
413
+ || eval $$failcom; \
414
+ done; \
415
+ if test "$$dot_seen" = "no"; then \
416
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
417
+ fi; test -z "$$fail"
418
+
419
+ $(RECURSIVE_CLEAN_TARGETS):
420
+ @failcom='exit 1'; \
421
+ for f in x $$MAKEFLAGS; do \
422
+ case $$f in \
423
+ *=* | --[!k]*);; \
424
+ *k*) failcom='fail=yes';; \
425
+ esac; \
426
+ done; \
427
+ dot_seen=no; \
428
+ case "$@" in \
429
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
430
+ *) list='$(SUBDIRS)' ;; \
431
+ esac; \
432
+ rev=''; for subdir in $$list; do \
433
+ if test "$$subdir" = "."; then :; else \
434
+ rev="$$subdir $$rev"; \
435
+ fi; \
436
+ done; \
437
+ rev="$$rev ."; \
438
+ target=`echo $@ | sed s/-recursive//`; \
439
+ for subdir in $$rev; do \
440
+ echo "Making $$target in $$subdir"; \
441
+ if test "$$subdir" = "."; then \
442
+ local_target="$$target-am"; \
443
+ else \
444
+ local_target="$$target"; \
445
+ fi; \
446
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
447
+ || eval $$failcom; \
448
+ done && test -z "$$fail"
449
+ tags-recursive:
450
+ list='$(SUBDIRS)'; for subdir in $$list; do \
451
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
452
+ done
453
+ ctags-recursive:
454
+ list='$(SUBDIRS)'; for subdir in $$list; do \
455
+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
456
+ done
457
+
341
458
  ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
342
459
  list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
343
460
  unique=`for i in $$list; do \
@@ -348,39 +465,57 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
348
465
  mkid -fID $$unique
349
466
  tags: TAGS
350
467
 
351
- TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
468
+ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
352
469
  $(TAGS_FILES) $(LISP)
353
- tags=; \
470
+ set x; \
354
471
  here=`pwd`; \
472
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
473
+ include_option=--etags-include; \
474
+ empty_fix=.; \
475
+ else \
476
+ include_option=--include; \
477
+ empty_fix=; \
478
+ fi; \
479
+ list='$(SUBDIRS)'; for subdir in $$list; do \
480
+ if test "$$subdir" = .; then :; else \
481
+ test ! -f $$subdir/TAGS || \
482
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
483
+ fi; \
484
+ done; \
355
485
  list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
356
486
  unique=`for i in $$list; do \
357
487
  if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
358
488
  done | \
359
489
  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
360
490
  END { if (nonempty) { for (i in files) print i; }; }'`; \
361
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
491
+ shift; \
492
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
362
493
  test -n "$$unique" || unique=$$empty_fix; \
363
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
364
- $$tags $$unique; \
494
+ if test $$# -gt 0; then \
495
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
496
+ "$$@" $$unique; \
497
+ else \
498
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
499
+ $$unique; \
500
+ fi; \
365
501
  fi
366
502
  ctags: CTAGS
367
- CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
503
+ CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
368
504
  $(TAGS_FILES) $(LISP)
369
- tags=; \
370
505
  list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
371
506
  unique=`for i in $$list; do \
372
507
  if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
373
508
  done | \
374
509
  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
375
510
  END { if (nonempty) { for (i in files) print i; }; }'`; \
376
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
511
+ test -z "$(CTAGS_ARGS)$$unique" \
377
512
  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
378
- $$tags $$unique
513
+ $$unique
379
514
 
380
515
  GTAGS:
381
516
  here=`$(am__cd) $(top_builddir) && pwd` \
382
- && cd $(top_srcdir) \
383
- && gtags -i $(GTAGS_ARGS) $$here
517
+ && $(am__cd) $(top_srcdir) \
518
+ && gtags -i $(GTAGS_ARGS) "$$here"
384
519
 
385
520
  distclean-tags:
386
521
  -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -389,6 +524,7 @@ check-TESTS: $(TESTS)
389
524
  @failed=0; all=0; xfail=0; xpass=0; skip=0; \
390
525
  srcdir=$(srcdir); export srcdir; \
391
526
  list=' $(TESTS) '; \
527
+ $(am__tty_colors); \
392
528
  if test -n "$$list"; then \
393
529
  for tst in $$list; do \
394
530
  if test -f ./$$tst; then dir=./; \
@@ -400,10 +536,10 @@ check-TESTS: $(TESTS)
400
536
  *[\ \ ]$$tst[\ \ ]*) \
401
537
  xpass=`expr $$xpass + 1`; \
402
538
  failed=`expr $$failed + 1`; \
403
- echo "XPASS: $$tst"; \
539
+ col=$$red; res=XPASS; \
404
540
  ;; \
405
541
  *) \
406
- echo "PASS: $$tst"; \
542
+ col=$$grn; res=PASS; \
407
543
  ;; \
408
544
  esac; \
409
545
  elif test $$? -ne 77; then \
@@ -411,17 +547,18 @@ check-TESTS: $(TESTS)
411
547
  case " $(XFAIL_TESTS) " in \
412
548
  *[\ \ ]$$tst[\ \ ]*) \
413
549
  xfail=`expr $$xfail + 1`; \
414
- echo "XFAIL: $$tst"; \
550
+ col=$$lgn; res=XFAIL; \
415
551
  ;; \
416
552
  *) \
417
553
  failed=`expr $$failed + 1`; \
418
- echo "FAIL: $$tst"; \
554
+ col=$$red; res=FAIL; \
419
555
  ;; \
420
556
  esac; \
421
557
  else \
422
558
  skip=`expr $$skip + 1`; \
423
- echo "SKIP: $$tst"; \
559
+ col=$$blu; res=SKIP; \
424
560
  fi; \
561
+ echo "$${col}$$res$${std}: $$tst"; \
425
562
  done; \
426
563
  if test "$$all" -eq 1; then \
427
564
  tests="test"; \
@@ -463,11 +600,15 @@ check-TESTS: $(TESTS)
463
600
  dashes="$$report"; \
464
601
  fi; \
465
602
  dashes=`echo "$$dashes" | sed s/./=/g`; \
466
- echo "$$dashes"; \
603
+ if test "$$failed" -eq 0; then \
604
+ echo "$$grn$$dashes"; \
605
+ else \
606
+ echo "$$red$$dashes"; \
607
+ fi; \
467
608
  echo "$$banner"; \
468
609
  test -z "$$skipped" || echo "$$skipped"; \
469
610
  test -z "$$report" || echo "$$report"; \
470
- echo "$$dashes"; \
611
+ echo "$$dashes$$std"; \
471
612
  test "$$failed" -eq 0; \
472
613
  else :; fi
473
614
 
@@ -487,30 +628,63 @@ distdir: $(DISTFILES)
487
628
  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
488
629
  if test -d $$d/$$file; then \
489
630
  dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
631
+ if test -d "$(distdir)/$$file"; then \
632
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
633
+ fi; \
490
634
  if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
491
- cp -pR $(srcdir)/$$file "$(distdir)"$$dir || exit 1; \
635
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
636
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
492
637
  fi; \
493
- cp -pR $$d/$$file "$(distdir)"$$dir || exit 1; \
638
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
494
639
  else \
495
- test -f "$(distdir)"/$$file \
496
- || cp -p $$d/$$file "$(distdir)"/$$file \
640
+ test -f "$(distdir)/$$file" \
641
+ || cp -p $$d/$$file "$(distdir)/$$file" \
642
+ || exit 1; \
643
+ fi; \
644
+ done
645
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
646
+ if test "$$subdir" = .; then :; else \
647
+ test -d "$(distdir)/$$subdir" \
648
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
497
649
  || exit 1; \
498
650
  fi; \
499
651
  done
652
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
653
+ if test "$$subdir" = .; then :; else \
654
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
655
+ $(am__relativize); \
656
+ new_distdir=$$reldir; \
657
+ dir1=$$subdir; dir2="$(top_distdir)"; \
658
+ $(am__relativize); \
659
+ new_top_distdir=$$reldir; \
660
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
661
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
662
+ ($(am__cd) $$subdir && \
663
+ $(MAKE) $(AM_MAKEFLAGS) \
664
+ top_distdir="$$new_top_distdir" \
665
+ distdir="$$new_distdir" \
666
+ am__remove_distdir=: \
667
+ am__skip_length_check=: \
668
+ am__skip_mode_fix=: \
669
+ distdir) \
670
+ || exit 1; \
671
+ fi; \
672
+ done
500
673
  check-am: all-am
501
674
  $(MAKE) $(AM_MAKEFLAGS) check-TESTS
502
- check: check-am
675
+ check: check-recursive
503
676
  all-am: Makefile $(PROGRAMS)
504
- installdirs:
505
- install: install-am
506
- install-exec: install-exec-am
507
- install-data: install-data-am
508
- uninstall: uninstall-am
677
+ installdirs: installdirs-recursive
678
+ installdirs-am:
679
+ install: install-recursive
680
+ install-exec: install-exec-recursive
681
+ install-data: install-data-recursive
682
+ uninstall: uninstall-recursive
509
683
 
510
684
  install-am: all-am
511
685
  @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
512
686
 
513
- installcheck: installcheck-am
687
+ installcheck: installcheck-recursive
514
688
  install-strip:
515
689
  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
516
690
  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
@@ -522,81 +696,118 @@ clean-generic:
522
696
 
523
697
  distclean-generic:
524
698
  -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
699
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
525
700
 
526
701
  maintainer-clean-generic:
527
702
  @echo "This command is intended for maintainers to use"
528
703
  @echo "it deletes files that may require special tools to rebuild."
529
- clean: clean-am
704
+ clean: clean-recursive
530
705
 
531
706
  clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am
532
707
 
533
- distclean: distclean-am
708
+ distclean: distclean-recursive
534
709
  -rm -rf ./$(DEPDIR)
535
710
  -rm -f Makefile
536
711
  distclean-am: clean-am distclean-compile distclean-generic \
537
712
  distclean-tags
538
713
 
539
- dvi: dvi-am
714
+ dvi: dvi-recursive
540
715
 
541
716
  dvi-am:
542
717
 
543
- html: html-am
718
+ html: html-recursive
719
+
720
+ html-am:
544
721
 
545
- info: info-am
722
+ info: info-recursive
546
723
 
547
724
  info-am:
548
725
 
549
726
  install-data-am:
550
727
 
551
- install-dvi: install-dvi-am
728
+ install-dvi: install-dvi-recursive
729
+
730
+ install-dvi-am:
552
731
 
553
732
  install-exec-am:
554
733
 
555
- install-html: install-html-am
734
+ install-html: install-html-recursive
556
735
 
557
- install-info: install-info-am
736
+ install-html-am:
737
+
738
+ install-info: install-info-recursive
739
+
740
+ install-info-am:
558
741
 
559
742
  install-man:
560
743
 
561
- install-pdf: install-pdf-am
744
+ install-pdf: install-pdf-recursive
745
+
746
+ install-pdf-am:
562
747
 
563
- install-ps: install-ps-am
748
+ install-ps: install-ps-recursive
749
+
750
+ install-ps-am:
564
751
 
565
752
  installcheck-am:
566
753
 
567
- maintainer-clean: maintainer-clean-am
754
+ maintainer-clean: maintainer-clean-recursive
568
755
  -rm -rf ./$(DEPDIR)
569
756
  -rm -f Makefile
570
757
  maintainer-clean-am: distclean-am maintainer-clean-generic
571
758
 
572
- mostlyclean: mostlyclean-am
759
+ mostlyclean: mostlyclean-recursive
573
760
 
574
761
  mostlyclean-am: mostlyclean-compile mostlyclean-generic
575
762
 
576
- pdf: pdf-am
763
+ pdf: pdf-recursive
577
764
 
578
765
  pdf-am:
579
766
 
580
- ps: ps-am
767
+ ps: ps-recursive
581
768
 
582
769
  ps-am:
583
770
 
584
771
  uninstall-am:
585
772
 
586
- .MAKE: install-am install-strip
773
+ .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) check-am \
774
+ ctags-recursive install-am install-strip tags-recursive
587
775
 
588
- .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
589
- clean-generic clean-noinstPROGRAMS ctags distclean \
776
+ .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
777
+ all all-am check check-TESTS check-am clean clean-generic \
778
+ clean-noinstPROGRAMS ctags ctags-recursive distclean \
590
779
  distclean-compile distclean-generic distclean-tags distdir dvi \
591
780
  dvi-am html html-am info info-am install install-am \
592
781
  install-data install-data-am install-dvi install-dvi-am \
593
782
  install-exec install-exec-am install-html install-html-am \
594
783
  install-info install-info-am install-man install-pdf \
595
784
  install-pdf-am install-ps install-ps-am install-strip \
596
- installcheck installcheck-am installdirs maintainer-clean \
597
- maintainer-clean-generic mostlyclean mostlyclean-compile \
598
- mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
599
- uninstall-am
785
+ installcheck installcheck-am installdirs installdirs-am \
786
+ maintainer-clean maintainer-clean-generic mostlyclean \
787
+ mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
788
+ tags tags-recursive uninstall uninstall-am
789
+
790
+
791
+ check: run_multiple_extensions_test
792
+
793
+ .PHONY: run_multiple_extensions_test
794
+
795
+ run_multiple_extensions_test:
796
+ $(RUBY) test_multiple_extensions.rb
797
+
798
+ check: run_multiple_extensions_with_inheritance_test
799
+
800
+ .PHONY: run_multiple_extensions_with_inheritance_test
801
+
802
+ run_multiple_extensions_with_inheritance_test:
803
+ $(RUBY) test_multiple_extensions_with_inheritance.rb
804
+
805
+ check: run_multiple_extensions_same_class_test
806
+
807
+ .PHONY: run_multiple_extensions_same_class_test
808
+
809
+ run_multiple_extensions_same_class_test:
810
+ $(RUBY) test_multiple_extensions_same_class.rb
600
811
 
601
812
  # Tell versions [3.59,3.63) of GNU make to not export all variables.
602
813
  # Otherwise a system limit (for SysV at least) may be exceeded.