ffi 0.5.0 → 0.6.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 (212) hide show
  1. data/LICENSE +1 -27
  2. data/Rakefile +9 -12
  3. data/ext/ffi_c/AbstractMemory.c +11 -8
  4. data/ext/ffi_c/AbstractMemory.h +23 -21
  5. data/ext/ffi_c/AutoPointer.c +0 -1
  6. data/ext/ffi_c/Buffer.c +24 -8
  7. data/ext/ffi_c/Call.c +28 -0
  8. data/ext/ffi_c/Call.h +8 -4
  9. data/ext/ffi_c/ClosurePool.c +7 -5
  10. data/ext/ffi_c/DynamicLibrary.c +0 -1
  11. data/ext/ffi_c/Function.c +19 -2
  12. data/ext/ffi_c/MemoryPointer.c +3 -3
  13. data/ext/ffi_c/MethodHandle.c +1 -1
  14. data/ext/ffi_c/Pointer.c +23 -9
  15. data/ext/ffi_c/Struct.c +142 -69
  16. data/ext/ffi_c/Struct.h +16 -7
  17. data/ext/ffi_c/StructLayout.c +92 -55
  18. data/ext/ffi_c/Type.c +5 -22
  19. data/ext/ffi_c/Type.h +1 -1
  20. data/ext/ffi_c/Types.c +8 -2
  21. data/ext/ffi_c/Types.h +2 -0
  22. data/ext/ffi_c/Variadic.c +7 -19
  23. data/ext/ffi_c/endian.h +1 -1
  24. data/ext/ffi_c/extconf.rb +20 -11
  25. data/ext/ffi_c/libffi/ChangeLog +900 -84
  26. data/ext/ffi_c/libffi/ChangeLog.libffi +311 -0
  27. data/ext/ffi_c/libffi/LICENSE +1 -1
  28. data/ext/ffi_c/libffi/Makefile.am +14 -4
  29. data/ext/ffi_c/libffi/Makefile.in +362 -211
  30. data/ext/ffi_c/libffi/README +70 -92
  31. data/ext/ffi_c/libffi/aclocal.m4 +6068 -4586
  32. data/ext/ffi_c/libffi/config.guess +125 -143
  33. data/ext/ffi_c/libffi/config.sub +103 -27
  34. data/ext/ffi_c/libffi/configure +11364 -18497
  35. data/ext/ffi_c/libffi/configure.ac +43 -4
  36. data/ext/ffi_c/libffi/doc/libffi.info +15 -15
  37. data/ext/ffi_c/libffi/doc/libffi.texi +1 -1
  38. data/ext/ffi_c/libffi/doc/stamp-vti +4 -4
  39. data/ext/ffi_c/libffi/doc/version.texi +4 -4
  40. data/ext/ffi_c/libffi/fficonfig.h.in +24 -3
  41. data/ext/ffi_c/libffi/include/Makefile.am +1 -1
  42. data/ext/ffi_c/libffi/include/Makefile.in +97 -50
  43. data/ext/ffi_c/libffi/include/ffi.h.in +8 -2
  44. data/ext/ffi_c/libffi/include/ffi_common.h +24 -0
  45. data/ext/ffi_c/libffi/libtool-version +1 -1
  46. data/ext/ffi_c/libffi/ltmain.sh +7346 -5870
  47. data/ext/ffi_c/libffi/m4/libtool.m4 +7360 -0
  48. data/ext/ffi_c/libffi/m4/ltoptions.m4 +368 -0
  49. data/ext/ffi_c/libffi/m4/ltsugar.m4 +123 -0
  50. data/ext/ffi_c/libffi/m4/ltversion.m4 +23 -0
  51. data/ext/ffi_c/libffi/m4/lt~obsolete.m4 +92 -0
  52. data/ext/ffi_c/libffi/man/Makefile.in +115 -62
  53. data/ext/ffi_c/libffi/man/ffi_call.3 +3 -3
  54. data/ext/ffi_c/libffi/missing +15 -8
  55. data/ext/ffi_c/libffi/src/arm/sysv.S +15 -8
  56. data/ext/ffi_c/libffi/src/avr32/ffi.c +421 -0
  57. data/ext/ffi_c/libffi/src/avr32/ffitarget.h +50 -0
  58. data/ext/ffi_c/libffi/src/avr32/sysv.S +208 -0
  59. data/ext/ffi_c/libffi/src/closures.c +47 -10
  60. data/ext/ffi_c/libffi/src/frv/ffi.c +1 -1
  61. data/ext/ffi_c/libffi/src/java_raw_api.c +0 -3
  62. data/ext/ffi_c/libffi/src/mips/ffi.c +135 -32
  63. data/ext/ffi_c/libffi/src/mips/ffitarget.h +37 -4
  64. data/ext/ffi_c/libffi/src/mips/n32.S +67 -10
  65. data/ext/ffi_c/libffi/src/mips/o32.S +8 -8
  66. data/ext/ffi_c/libffi/src/pa/ffi.c +7 -0
  67. data/ext/ffi_c/libffi/src/powerpc/aix.S +163 -64
  68. data/ext/ffi_c/libffi/src/powerpc/aix_closure.S +308 -112
  69. data/ext/ffi_c/libffi/src/powerpc/ffi.c +20 -7
  70. data/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +208 -80
  71. data/ext/ffi_c/libffi/src/powerpc/ffitarget.h +11 -3
  72. data/ext/ffi_c/libffi/src/powerpc/sysv.S +12 -23
  73. data/ext/ffi_c/libffi/src/s390/sysv.S +1 -1
  74. data/ext/ffi_c/libffi/src/sh/sysv.S +9 -9
  75. data/ext/ffi_c/libffi/src/sh64/ffi.c +37 -22
  76. data/ext/ffi_c/libffi/src/sh64/sysv.S +23 -14
  77. data/ext/ffi_c/libffi/src/sparc/ffi.c +21 -6
  78. data/ext/ffi_c/libffi/src/sparc/v8.S +55 -14
  79. data/ext/ffi_c/libffi/src/x86/darwin.S +10 -9
  80. data/ext/ffi_c/libffi/src/x86/ffi.c +293 -86
  81. data/ext/ffi_c/libffi/src/x86/ffi64.c +73 -19
  82. data/ext/ffi_c/libffi/src/x86/ffitarget.h +30 -0
  83. data/ext/ffi_c/libffi/src/x86/sysv.S +21 -4
  84. data/ext/ffi_c/libffi/src/x86/unix64.S +8 -4
  85. data/ext/ffi_c/libffi/src/x86/win32.S +633 -147
  86. data/ext/ffi_c/libffi/src/x86/win64.S +460 -0
  87. data/ext/ffi_c/libffi/testsuite/Makefile.am +63 -54
  88. data/ext/ffi_c/libffi/testsuite/Makefile.in +112 -77
  89. data/ext/ffi_c/libffi/testsuite/lib/libffi-dg.exp +12 -1
  90. data/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +4 -4
  91. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn0.c +7 -15
  92. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn1.c +7 -15
  93. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn2.c +7 -15
  94. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn3.c +7 -15
  95. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn4.c +7 -15
  96. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn5.c +7 -14
  97. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn6.c +7 -15
  98. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_loc_fn0.c +95 -0
  99. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_stdcall.c +6 -14
  100. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_12byte.c +4 -12
  101. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_16byte.c +4 -12
  102. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_18byte.c +4 -12
  103. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_19byte.c +4 -12
  104. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_1_1byte.c +4 -12
  105. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte.c +4 -12
  106. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte1.c +4 -12
  107. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_24byte.c +4 -12
  108. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_2byte.c +4 -12
  109. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3_1byte.c +4 -12
  110. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte1.c +4 -12
  111. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte2.c +4 -12
  112. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4_1byte.c +4 -12
  113. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4byte.c +4 -12
  114. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5_1_byte.c +4 -12
  115. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5byte.c +4 -12
  116. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_64byte.c +4 -12
  117. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6_1_byte.c +4 -12
  118. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6byte.c +4 -12
  119. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7_1_byte.c +4 -12
  120. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7byte.c +4 -12
  121. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_8byte.c +4 -12
  122. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte1.c +4 -12
  123. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte2.c +4 -12
  124. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_double.c +4 -12
  125. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_float.c +4 -12
  126. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble.c +4 -12
  127. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split.c +134 -0
  128. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split2.c +117 -0
  129. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_pointer.c +11 -17
  130. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint16.c +4 -12
  131. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint32.c +4 -12
  132. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint64.c +7 -15
  133. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint16.c +4 -12
  134. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint32.c +4 -12
  135. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint64.c +7 -15
  136. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_dbls_struct.c +66 -0
  137. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_double.c +4 -12
  138. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_double_va.c +57 -0
  139. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_float.c +4 -13
  140. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble.c +105 -0
  141. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble_va.c +57 -0
  142. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_schar.c +4 -12
  143. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshort.c +4 -12
  144. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshortchar.c +4 -12
  145. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_uchar.c +4 -12
  146. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushort.c +4 -12
  147. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushortchar.c +4 -12
  148. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer.c +74 -0
  149. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer_stack.c +140 -0
  150. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_schar.c +4 -12
  151. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_sint.c +4 -12
  152. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_sshort.c +4 -12
  153. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar.c +4 -12
  154. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uint.c +4 -12
  155. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulonglong.c +8 -16
  156. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort.c +4 -12
  157. data/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_abi.c +37 -0
  158. data/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c +25 -0
  159. data/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +31 -0
  160. data/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +2 -1
  161. data/ext/ffi_c/libffi/testsuite/libffi.call/huge_struct.c +342 -0
  162. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct.c +4 -12
  163. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct1.c +4 -12
  164. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct10.c +4 -12
  165. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct2.c +4 -12
  166. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct3.c +4 -12
  167. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct4.c +4 -12
  168. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct5.c +4 -12
  169. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct6.c +4 -12
  170. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct7.c +4 -12
  171. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct8.c +4 -12
  172. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct9.c +4 -12
  173. data/ext/ffi_c/libffi/testsuite/libffi.call/problem1.c +4 -12
  174. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c +1 -1
  175. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c +1 -1
  176. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large.c +145 -0
  177. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large2.c +148 -0
  178. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium.c +124 -0
  179. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium2.c +124 -0
  180. data/ext/ffi_c/libffi/testsuite/libffi.call/testclosure.c +70 -0
  181. data/ext/ffi_c/libffi/testsuite/libffi.special/ffitestcxx.h +10 -0
  182. data/ext/ffi_c/libffi/testsuite/libffi.special/special.exp +4 -5
  183. data/ext/ffi_c/libffi/testsuite/libffi.special/unwindtest.cc +17 -16
  184. data/ext/ffi_c/libffi/texinfo.tex +155 -427
  185. data/ext/ffi_c/libffi.bsd.mk +1 -1
  186. data/lib/ffi/autopointer.rb +79 -20
  187. data/lib/ffi/buffer.rb +4 -0
  188. data/lib/ffi/callback.rb +4 -10
  189. data/lib/ffi/enum.rb +28 -0
  190. data/lib/ffi/ffi.rb +0 -1
  191. data/lib/ffi/io.rb +28 -0
  192. data/lib/ffi/library.rb +237 -182
  193. data/lib/ffi/memorypointer.rb +28 -62
  194. data/lib/ffi/platform.rb +27 -0
  195. data/lib/ffi/pointer.rb +28 -0
  196. data/lib/ffi/struct.rb +55 -1
  197. data/lib/ffi/types.rb +29 -0
  198. data/lib/ffi/variadic.rb +29 -0
  199. data/spec/ffi/library_spec.rb +31 -5
  200. data/spec/ffi/managed_struct_spec.rb +1 -1
  201. data/spec/ffi/pointer_spec.rb +1 -1
  202. data/spec/ffi/rbx/attach_function_spec.rb +2 -1
  203. data/spec/ffi/rbx/memory_pointer_spec.rb +2 -1
  204. data/spec/ffi/spec_helper.rb +5 -1
  205. data/spec/ffi/struct_spec.rb +77 -0
  206. metadata +28 -18
  207. data/ext/ffi_c/libffi/TODO +0 -1
  208. data/ext/ffi_c/libffi/ltcf-c.sh +0 -861
  209. data/ext/ffi_c/libffi/ltcf-cxx.sh +0 -1069
  210. data/ext/ffi_c/libffi/ltcf-gcj.sh +0 -700
  211. data/ext/ffi_c/libffi/ltconfig +0 -2862
  212. data/ext/ffi_c/libffi/mkinstalldirs +0 -158
@@ -1,8 +1,9 @@
1
- # Makefile.in generated by automake 1.10 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 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
@@ -39,11 +41,33 @@ am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
39
41
  $(top_srcdir)/configure.ac
40
42
  am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
41
43
  $(ACLOCAL_M4)
42
- mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
44
+ mkinstalldirs = $(install_sh) -d
43
45
  CONFIG_HEADER = $(top_builddir)/fficonfig.h
44
46
  CONFIG_CLEAN_FILES =
47
+ CONFIG_CLEAN_VPATH_FILES =
45
48
  SOURCES =
46
49
  DIST_SOURCES =
50
+ am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
51
+ am__vpath_adj = case $$p in \
52
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
53
+ *) f=$$p;; \
54
+ esac;
55
+ am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
56
+ am__install_max = 40
57
+ am__nobase_strip_setup = \
58
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
59
+ am__nobase_strip = \
60
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
61
+ am__nobase_list = $(am__nobase_strip_setup); \
62
+ for p in $$list; do echo "$$p $$p"; done | \
63
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
64
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
65
+ if (++n[$$2] == $(am__install_max)) \
66
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
67
+ END { for (dir in files) print dir, files[dir] }'
68
+ am__base_list = \
69
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
70
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
47
71
  man3dir = $(mandir)/man3
48
72
  am__installdirs = "$(DESTDIR)$(man3dir)"
49
73
  NROFF = nroff
@@ -66,21 +90,17 @@ CCDEPMODE = @CCDEPMODE@
66
90
  CFLAGS = @CFLAGS@
67
91
  CPP = @CPP@
68
92
  CPPFLAGS = @CPPFLAGS@
69
- CXX = @CXX@
70
- CXXCPP = @CXXCPP@
71
- CXXDEPMODE = @CXXDEPMODE@
72
- CXXFLAGS = @CXXFLAGS@
73
93
  CYGPATH_W = @CYGPATH_W@
74
94
  DEFS = @DEFS@
75
95
  DEPDIR = @DEPDIR@
76
- ECHO = @ECHO@
96
+ DSYMUTIL = @DSYMUTIL@
97
+ DUMPBIN = @DUMPBIN@
77
98
  ECHO_C = @ECHO_C@
78
99
  ECHO_N = @ECHO_N@
79
100
  ECHO_T = @ECHO_T@
80
101
  EGREP = @EGREP@
81
102
  EXEEXT = @EXEEXT@
82
- F77 = @F77@
83
- FFLAGS = @FFLAGS@
103
+ FGREP = @FGREP@
84
104
  GREP = @GREP@
85
105
  HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
86
106
  INSTALL = @INSTALL@
@@ -88,16 +108,23 @@ INSTALL_DATA = @INSTALL_DATA@
88
108
  INSTALL_PROGRAM = @INSTALL_PROGRAM@
89
109
  INSTALL_SCRIPT = @INSTALL_SCRIPT@
90
110
  INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
111
+ LD = @LD@
91
112
  LDFLAGS = @LDFLAGS@
92
113
  LIBOBJS = @LIBOBJS@
93
114
  LIBS = @LIBS@
94
115
  LIBTOOL = @LIBTOOL@
116
+ LIPO = @LIPO@
95
117
  LN_S = @LN_S@
96
118
  LTLIBOBJS = @LTLIBOBJS@
97
119
  MAINT = @MAINT@
98
120
  MAKEINFO = @MAKEINFO@
99
121
  MKDIR_P = @MKDIR_P@
122
+ NM = @NM@
123
+ NMEDIT = @NMEDIT@
124
+ OBJDUMP = @OBJDUMP@
100
125
  OBJEXT = @OBJEXT@
126
+ OTOOL = @OTOOL@
127
+ OTOOL64 = @OTOOL64@
101
128
  PACKAGE = @PACKAGE@
102
129
  PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
103
130
  PACKAGE_NAME = @PACKAGE_NAME@
@@ -118,8 +145,7 @@ abs_srcdir = @abs_srcdir@
118
145
  abs_top_builddir = @abs_top_builddir@
119
146
  abs_top_srcdir = @abs_top_srcdir@
120
147
  ac_ct_CC = @ac_ct_CC@
121
- ac_ct_CXX = @ac_ct_CXX@
122
- ac_ct_F77 = @ac_ct_F77@
148
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
123
149
  am__include = @am__include@
124
150
  am__leading_dot = @am__leading_dot@
125
151
  am__quote = @am__quote@
@@ -150,6 +176,7 @@ libdir = @libdir@
150
176
  libexecdir = @libexecdir@
151
177
  localedir = @localedir@
152
178
  localstatedir = @localstatedir@
179
+ lt_ECHO = @lt_ECHO@
153
180
  mandir = @mandir@
154
181
  mkdir_p = @mkdir_p@
155
182
  oldincludedir = @oldincludedir@
@@ -168,6 +195,7 @@ target_os = @target_os@
168
195
  target_vendor = @target_vendor@
169
196
  toolexecdir = @toolexecdir@
170
197
  toolexeclibdir = @toolexeclibdir@
198
+ top_build_prefix = @top_build_prefix@
171
199
  top_builddir = @top_builddir@
172
200
  top_srcdir = @top_srcdir@
173
201
  AUTOMAKE_OPTIONS = foreign
@@ -180,14 +208,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
180
208
  @for dep in $?; do \
181
209
  case '$(am__configure_deps)' in \
182
210
  *$$dep*) \
183
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
184
- && exit 0; \
211
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
212
+ && { if test -f $@; then exit 0; else break; fi; }; \
185
213
  exit 1;; \
186
214
  esac; \
187
215
  done; \
188
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \
189
- cd $(top_srcdir) && \
190
- $(AUTOMAKE) --foreign man/Makefile
216
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \
217
+ $(am__cd) $(top_srcdir) && \
218
+ $(AUTOMAKE) --foreign man/Makefile
191
219
  .PRECIOUS: Makefile
192
220
  Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
193
221
  @case '$?' in \
@@ -205,57 +233,51 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
205
233
  cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
206
234
  $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
207
235
  cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
236
+ $(am__aclocal_m4_deps):
208
237
 
209
238
  mostlyclean-libtool:
210
239
  -rm -f *.lo
211
240
 
212
241
  clean-libtool:
213
242
  -rm -rf .libs _libs
214
- install-man3: $(man3_MANS) $(man_MANS)
243
+ install-man3: $(man_MANS)
215
244
  @$(NORMAL_INSTALL)
216
245
  test -z "$(man3dir)" || $(MKDIR_P) "$(DESTDIR)$(man3dir)"
217
- @list='$(man3_MANS) $(dist_man3_MANS) $(nodist_man3_MANS)'; \
218
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
219
- for i in $$l2; do \
220
- case "$$i" in \
221
- *.3*) list="$$list $$i" ;; \
222
- esac; \
246
+ @list=''; test -n "$(man3dir)" || exit 0; \
247
+ { for i in $$list; do echo "$$i"; done; \
248
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
249
+ sed -n '/\.3[a-z]*$$/p'; \
250
+ } | while read p; do \
251
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
252
+ echo "$$d$$p"; echo "$$p"; \
253
+ done | \
254
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
255
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
256
+ sed 'N;N;s,\n, ,g' | { \
257
+ list=; while read file base inst; do \
258
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
259
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \
260
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst" || exit $$?; \
261
+ fi; \
223
262
  done; \
224
- for i in $$list; do \
225
- if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
226
- else file=$$i; fi; \
227
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
228
- case "$$ext" in \
229
- 3*) ;; \
230
- *) ext='3' ;; \
231
- esac; \
232
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
233
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
234
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
235
- echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man3dir)/$$inst'"; \
236
- $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man3dir)/$$inst"; \
237
- done
263
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
264
+ while read files; do \
265
+ test -z "$$files" || { \
266
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man3dir)'"; \
267
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man3dir)" || exit $$?; }; \
268
+ done; }
269
+
238
270
  uninstall-man3:
239
271
  @$(NORMAL_UNINSTALL)
240
- @list='$(man3_MANS) $(dist_man3_MANS) $(nodist_man3_MANS)'; \
241
- l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
242
- for i in $$l2; do \
243
- case "$$i" in \
244
- *.3*) list="$$list $$i" ;; \
245
- esac; \
246
- done; \
247
- for i in $$list; do \
248
- ext=`echo $$i | sed -e 's/^.*\\.//'`; \
249
- case "$$ext" in \
250
- 3*) ;; \
251
- *) ext='3' ;; \
252
- esac; \
253
- inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
254
- inst=`echo $$inst | sed -e 's/^.*\///'`; \
255
- inst=`echo $$inst | sed '$(transform)'`.$$ext; \
256
- echo " rm -f '$(DESTDIR)$(man3dir)/$$inst'"; \
257
- rm -f "$(DESTDIR)$(man3dir)/$$inst"; \
258
- done
272
+ @list=''; test -n "$(man3dir)" || exit 0; \
273
+ files=`{ for i in $$list; do echo "$$i"; done; \
274
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
275
+ sed -n '/\.3[a-z]*$$/p'; \
276
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
277
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
278
+ test -z "$$files" || { \
279
+ echo " ( cd '$(DESTDIR)$(man3dir)' && rm -f" $$files ")"; \
280
+ cd "$(DESTDIR)$(man3dir)" && rm -f $$files; }
259
281
  tags: TAGS
260
282
  TAGS:
261
283
 
@@ -264,6 +286,19 @@ CTAGS:
264
286
 
265
287
 
266
288
  distdir: $(DISTFILES)
289
+ @list='$(MANS)'; if test -n "$$list"; then \
290
+ list=`for p in $$list; do \
291
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
292
+ if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
293
+ if test -n "$$list" && \
294
+ grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
295
+ echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
296
+ grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \
297
+ echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \
298
+ echo " typically \`make maintainer-clean' will remove them" >&2; \
299
+ exit 1; \
300
+ else :; fi; \
301
+ else :; fi
267
302
  @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
268
303
  topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
269
304
  list='$(DISTFILES)'; \
@@ -279,13 +314,17 @@ distdir: $(DISTFILES)
279
314
  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
280
315
  if test -d $$d/$$file; then \
281
316
  dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
317
+ if test -d "$(distdir)/$$file"; then \
318
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
319
+ fi; \
282
320
  if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
283
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
321
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
322
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
284
323
  fi; \
285
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
324
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
286
325
  else \
287
- test -f $(distdir)/$$file \
288
- || cp -p $$d/$$file $(distdir)/$$file \
326
+ test -f "$(distdir)/$$file" \
327
+ || cp -p $$d/$$file "$(distdir)/$$file" \
289
328
  || exit 1; \
290
329
  fi; \
291
330
  done
@@ -316,6 +355,7 @@ clean-generic:
316
355
 
317
356
  distclean-generic:
318
357
  -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
358
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
319
359
 
320
360
  maintainer-clean-generic:
321
361
  @echo "This command is intended for maintainers to use"
@@ -334,6 +374,8 @@ dvi-am:
334
374
 
335
375
  html: html-am
336
376
 
377
+ html-am:
378
+
337
379
  info: info-am
338
380
 
339
381
  info-am:
@@ -342,18 +384,28 @@ install-data-am: install-man
342
384
 
343
385
  install-dvi: install-dvi-am
344
386
 
387
+ install-dvi-am:
388
+
345
389
  install-exec-am:
346
390
 
347
391
  install-html: install-html-am
348
392
 
393
+ install-html-am:
394
+
349
395
  install-info: install-info-am
350
396
 
397
+ install-info-am:
398
+
351
399
  install-man: install-man3
352
400
 
353
401
  install-pdf: install-pdf-am
354
402
 
403
+ install-pdf-am:
404
+
355
405
  install-ps: install-ps-am
356
406
 
407
+ install-ps-am:
408
+
357
409
  installcheck-am:
358
410
 
359
411
  maintainer-clean: maintainer-clean-am
@@ -390,6 +442,7 @@ uninstall-man: uninstall-man3
390
442
  mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
391
443
  uninstall uninstall-am uninstall-man uninstall-man3
392
444
 
445
+
393
446
  # Tell versions [3.59,3.63) of GNU make to not export all variables.
394
447
  # Otherwise a system limit (for SysV at least) may be exceeded.
395
448
  .NOEXPORT:
@@ -34,8 +34,8 @@ before it is used with
34
34
  .Nm ffi_call .
35
35
  .Pp
36
36
  .Fa rvalue
37
- must point to storage that is sizeof(long) or larger. For smaller
38
- return value sizes, the
37
+ must point to storage that is sizeof(ffi_arg) or larger for non-floating point
38
+ types. For smaller-sized return value types, the
39
39
  .Nm ffi_arg
40
40
  or
41
41
  .Nm ffi_sarg
@@ -43,7 +43,7 @@ integral type must be used to hold
43
43
  the return value.
44
44
  .Sh EXAMPLES
45
45
  .Bd -literal
46
- #include <ffi/ffi.h>
46
+ #include <ffi.h>
47
47
  #include <stdio.h>
48
48
 
49
49
  unsigned char
@@ -1,9 +1,9 @@
1
1
  #! /bin/sh
2
2
  # Common stub for a few missing GNU programs while installing.
3
3
 
4
- scriptversion=2004-09-07.08
4
+ scriptversion=2005-06-08.21
5
5
 
6
- # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004
6
+ # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
7
7
  # Free Software Foundation, Inc.
8
8
  # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
9
9
 
@@ -19,8 +19,8 @@ scriptversion=2004-09-07.08
19
19
 
20
20
  # You should have received a copy of the GNU General Public License
21
21
  # along with this program; if not, write to the Free Software
22
- # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
23
- # 02111-1307, USA.
22
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
23
+ # 02110-1301, USA.
24
24
 
25
25
  # As a special exception to the GNU General Public License, if you
26
26
  # distribute this file as part of a program that contains a
@@ -87,12 +87,12 @@ Supported PROGRAM values:
87
87
  yacc create \`y.tab.[ch]', if possible, from existing .[ch]
88
88
 
89
89
  Send bug reports to <bug-automake@gnu.org>."
90
- exit 0
90
+ exit $?
91
91
  ;;
92
92
 
93
93
  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
94
94
  echo "missing $scriptversion (GNU Automake)"
95
- exit 0
95
+ exit $?
96
96
  ;;
97
97
 
98
98
  -*)
@@ -288,11 +288,18 @@ WARNING: \`$1' is $msg. You should only need it if
288
288
  call might also be the consequence of using a buggy \`make' (AIX,
289
289
  DU, IRIX). You might want to install the \`Texinfo' package or
290
290
  the \`GNU make' package. Grab either from any GNU archive site."
291
+ # The file to touch is that specified with -o ...
291
292
  file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
292
293
  if test -z "$file"; then
293
- file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
294
- file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
294
+ # ... or it is the one specified with @setfilename ...
295
+ infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
296
+ file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
297
+ # ... or it is derived from the source name (dir/f.texi becomes f.info)
298
+ test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
295
299
  fi
300
+ # If the file does not exist, the user really needs makeinfo;
301
+ # let's fail without touching anything.
302
+ test -f $file || exit 1
296
303
  touch $file
297
304
  ;;
298
305
 
@@ -67,11 +67,18 @@
67
67
 
68
68
  #if defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) \
69
69
  || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) \
70
- || defined(__ARM_ARCH_6ZK__)
70
+ || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) \
71
+ || defined(__ARM_ARCH_6M__)
71
72
  # undef __ARM_ARCH__
72
73
  # define __ARM_ARCH__ 6
73
74
  #endif
74
75
 
76
+ #if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \
77
+ || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__)
78
+ # undef __ARM_ARCH__
79
+ # define __ARM_ARCH__ 7
80
+ #endif
81
+
75
82
  #if __ARM_ARCH__ >= 5
76
83
  # define call_reg(x) blx x
77
84
  #elif defined (__ARM_ARCH_4T__)
@@ -189,7 +196,7 @@ ARM_FUNC_START ffi_call_SYSV
189
196
 
190
197
  @ return INT
191
198
  cmp r3, #FFI_TYPE_INT
192
- #ifdef __SOFTFP__
199
+ #if defined(__SOFTFP__) || defined(__ARM_EABI__)
193
200
  cmpne r3, #FFI_TYPE_FLOAT
194
201
  #endif
195
202
  streq r0, [r2]
@@ -197,12 +204,12 @@ ARM_FUNC_START ffi_call_SYSV
197
204
 
198
205
  @ return INT64
199
206
  cmp r3, #FFI_TYPE_SINT64
200
- #ifdef __SOFTFP__
207
+ #if defined(__SOFTFP__) || defined(__ARM_EABI__)
201
208
  cmpne r3, #FFI_TYPE_DOUBLE
202
209
  #endif
203
210
  stmeqia r2, {r0, r1}
204
211
 
205
- #ifndef __SOFTFP__
212
+ #if !defined(__SOFTFP__) && !defined(__ARM_EABI__)
206
213
  beq LSYM(Lepilogue)
207
214
 
208
215
  @ return FLOAT
@@ -245,21 +252,21 @@ ARM_FUNC_START ffi_closure_SYSV
245
252
  beq .Lretint
246
253
 
247
254
  cmp r0, #FFI_TYPE_FLOAT
248
- #ifdef __SOFTFP__
255
+ #if defined(__SOFTFP__) || defined(__ARM_EABI__)
249
256
  beq .Lretint
250
257
  #else
251
258
  beq .Lretfloat
252
259
  #endif
253
260
 
254
261
  cmp r0, #FFI_TYPE_DOUBLE
255
- #ifdef __SOFTFP__
262
+ #if defined(__SOFTFP__) || defined(__ARM_EABI__)
256
263
  beq .Lretlonglong
257
264
  #else
258
265
  beq .Lretdouble
259
266
  #endif
260
267
 
261
268
  cmp r0, #FFI_TYPE_LONGDOUBLE
262
- #ifdef __SOFTFP__
269
+ #if defined(__SOFTFP__) || defined(__ARM_EABI__)
263
270
  beq .Lretlonglong
264
271
  #else
265
272
  beq .Lretlongdouble
@@ -278,7 +285,7 @@ ARM_FUNC_START ffi_closure_SYSV
278
285
  ldr r1, [sp, #4]
279
286
  b .Lclosure_epilogue
280
287
 
281
- #ifndef __SOFTFP__
288
+ #if !defined(__SOFTFP__) && !defined(__ARM_EABI__)
282
289
  .Lretfloat:
283
290
  ldfs f0, [sp]
284
291
  b .Lclosure_epilogue