rice 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
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.