ffi 0.5.4 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of ffi might be problematic. Click here for more details.

Files changed (203) hide show
  1. data/LICENSE +1 -27
  2. data/Rakefile +2 -11
  3. data/ext/ffi_c/AbstractMemory.c +6 -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 +23 -8
  7. data/ext/ffi_c/Call.c +28 -0
  8. data/ext/ffi_c/Call.h +5 -1
  9. data/ext/ffi_c/DynamicLibrary.c +0 -1
  10. data/ext/ffi_c/Function.c +19 -2
  11. data/ext/ffi_c/MemoryPointer.c +2 -3
  12. data/ext/ffi_c/Pointer.c +23 -9
  13. data/ext/ffi_c/Struct.c +142 -69
  14. data/ext/ffi_c/Struct.h +16 -7
  15. data/ext/ffi_c/StructLayout.c +92 -55
  16. data/ext/ffi_c/Type.c +5 -22
  17. data/ext/ffi_c/Type.h +1 -1
  18. data/ext/ffi_c/Types.c +8 -2
  19. data/ext/ffi_c/Types.h +2 -0
  20. data/ext/ffi_c/extconf.rb +11 -7
  21. data/ext/ffi_c/libffi/ChangeLog +900 -84
  22. data/ext/ffi_c/libffi/ChangeLog.libffi +311 -0
  23. data/ext/ffi_c/libffi/LICENSE +1 -1
  24. data/ext/ffi_c/libffi/Makefile.am +14 -4
  25. data/ext/ffi_c/libffi/Makefile.in +362 -211
  26. data/ext/ffi_c/libffi/README +70 -92
  27. data/ext/ffi_c/libffi/aclocal.m4 +6068 -4586
  28. data/ext/ffi_c/libffi/config.guess +125 -143
  29. data/ext/ffi_c/libffi/config.sub +103 -27
  30. data/ext/ffi_c/libffi/configure +11364 -18497
  31. data/ext/ffi_c/libffi/configure.ac +43 -4
  32. data/ext/ffi_c/libffi/doc/libffi.info +15 -15
  33. data/ext/ffi_c/libffi/doc/libffi.texi +1 -1
  34. data/ext/ffi_c/libffi/doc/stamp-vti +4 -4
  35. data/ext/ffi_c/libffi/doc/version.texi +4 -4
  36. data/ext/ffi_c/libffi/fficonfig.h.in +24 -3
  37. data/ext/ffi_c/libffi/include/Makefile.am +1 -1
  38. data/ext/ffi_c/libffi/include/Makefile.in +97 -50
  39. data/ext/ffi_c/libffi/include/ffi.h.in +8 -2
  40. data/ext/ffi_c/libffi/include/ffi_common.h +24 -0
  41. data/ext/ffi_c/libffi/libtool-version +1 -1
  42. data/ext/ffi_c/libffi/ltmain.sh +7346 -5870
  43. data/ext/ffi_c/libffi/m4/libtool.m4 +7360 -0
  44. data/ext/ffi_c/libffi/m4/ltoptions.m4 +368 -0
  45. data/ext/ffi_c/libffi/m4/ltsugar.m4 +123 -0
  46. data/ext/ffi_c/libffi/m4/ltversion.m4 +23 -0
  47. data/ext/ffi_c/libffi/m4/lt~obsolete.m4 +92 -0
  48. data/ext/ffi_c/libffi/man/Makefile.in +115 -62
  49. data/ext/ffi_c/libffi/man/ffi_call.3 +3 -3
  50. data/ext/ffi_c/libffi/missing +15 -8
  51. data/ext/ffi_c/libffi/src/arm/sysv.S +15 -8
  52. data/ext/ffi_c/libffi/src/avr32/ffi.c +421 -0
  53. data/ext/ffi_c/libffi/src/avr32/ffitarget.h +50 -0
  54. data/ext/ffi_c/libffi/src/avr32/sysv.S +208 -0
  55. data/ext/ffi_c/libffi/src/closures.c +47 -10
  56. data/ext/ffi_c/libffi/src/frv/ffi.c +1 -1
  57. data/ext/ffi_c/libffi/src/java_raw_api.c +0 -3
  58. data/ext/ffi_c/libffi/src/mips/ffi.c +135 -32
  59. data/ext/ffi_c/libffi/src/mips/ffitarget.h +37 -4
  60. data/ext/ffi_c/libffi/src/mips/n32.S +67 -10
  61. data/ext/ffi_c/libffi/src/mips/o32.S +8 -8
  62. data/ext/ffi_c/libffi/src/pa/ffi.c +7 -0
  63. data/ext/ffi_c/libffi/src/powerpc/aix.S +163 -64
  64. data/ext/ffi_c/libffi/src/powerpc/aix_closure.S +308 -112
  65. data/ext/ffi_c/libffi/src/powerpc/ffi.c +20 -7
  66. data/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +208 -80
  67. data/ext/ffi_c/libffi/src/powerpc/ffitarget.h +11 -3
  68. data/ext/ffi_c/libffi/src/powerpc/sysv.S +12 -23
  69. data/ext/ffi_c/libffi/src/s390/sysv.S +1 -1
  70. data/ext/ffi_c/libffi/src/sh/sysv.S +9 -9
  71. data/ext/ffi_c/libffi/src/sh64/ffi.c +37 -22
  72. data/ext/ffi_c/libffi/src/sh64/sysv.S +23 -14
  73. data/ext/ffi_c/libffi/src/sparc/ffi.c +21 -6
  74. data/ext/ffi_c/libffi/src/sparc/v8.S +55 -14
  75. data/ext/ffi_c/libffi/src/x86/darwin.S +10 -9
  76. data/ext/ffi_c/libffi/src/x86/ffi.c +293 -86
  77. data/ext/ffi_c/libffi/src/x86/ffi64.c +73 -19
  78. data/ext/ffi_c/libffi/src/x86/ffitarget.h +30 -0
  79. data/ext/ffi_c/libffi/src/x86/sysv.S +21 -4
  80. data/ext/ffi_c/libffi/src/x86/unix64.S +8 -4
  81. data/ext/ffi_c/libffi/src/x86/win32.S +633 -147
  82. data/ext/ffi_c/libffi/src/x86/win64.S +460 -0
  83. data/ext/ffi_c/libffi/testsuite/Makefile.am +63 -54
  84. data/ext/ffi_c/libffi/testsuite/Makefile.in +112 -77
  85. data/ext/ffi_c/libffi/testsuite/lib/libffi-dg.exp +12 -1
  86. data/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +4 -4
  87. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn0.c +7 -15
  88. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn1.c +7 -15
  89. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn2.c +7 -15
  90. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn3.c +7 -15
  91. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn4.c +7 -15
  92. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn5.c +7 -14
  93. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn6.c +7 -15
  94. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_loc_fn0.c +95 -0
  95. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_stdcall.c +6 -14
  96. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_12byte.c +4 -12
  97. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_16byte.c +4 -12
  98. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_18byte.c +4 -12
  99. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_19byte.c +4 -12
  100. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_1_1byte.c +4 -12
  101. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte.c +4 -12
  102. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte1.c +4 -12
  103. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_24byte.c +4 -12
  104. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_2byte.c +4 -12
  105. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3_1byte.c +4 -12
  106. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte1.c +4 -12
  107. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte2.c +4 -12
  108. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4_1byte.c +4 -12
  109. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4byte.c +4 -12
  110. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5_1_byte.c +4 -12
  111. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5byte.c +4 -12
  112. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_64byte.c +4 -12
  113. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6_1_byte.c +4 -12
  114. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6byte.c +4 -12
  115. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7_1_byte.c +4 -12
  116. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7byte.c +4 -12
  117. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_8byte.c +4 -12
  118. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte1.c +4 -12
  119. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte2.c +4 -12
  120. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_double.c +4 -12
  121. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_float.c +4 -12
  122. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble.c +4 -12
  123. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split.c +134 -0
  124. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split2.c +117 -0
  125. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_pointer.c +11 -17
  126. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint16.c +4 -12
  127. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint32.c +4 -12
  128. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint64.c +7 -15
  129. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint16.c +4 -12
  130. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint32.c +4 -12
  131. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint64.c +7 -15
  132. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_dbls_struct.c +66 -0
  133. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_double.c +4 -12
  134. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_double_va.c +57 -0
  135. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_float.c +4 -13
  136. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble.c +105 -0
  137. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble_va.c +57 -0
  138. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_schar.c +4 -12
  139. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshort.c +4 -12
  140. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshortchar.c +4 -12
  141. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_uchar.c +4 -12
  142. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushort.c +4 -12
  143. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushortchar.c +4 -12
  144. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer.c +74 -0
  145. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer_stack.c +140 -0
  146. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_schar.c +4 -12
  147. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_sint.c +4 -12
  148. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_sshort.c +4 -12
  149. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar.c +4 -12
  150. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uint.c +4 -12
  151. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulonglong.c +8 -16
  152. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort.c +4 -12
  153. data/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_abi.c +37 -0
  154. data/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c +25 -0
  155. data/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +31 -0
  156. data/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +2 -1
  157. data/ext/ffi_c/libffi/testsuite/libffi.call/huge_struct.c +342 -0
  158. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct.c +4 -12
  159. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct1.c +4 -12
  160. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct10.c +4 -12
  161. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct2.c +4 -12
  162. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct3.c +4 -12
  163. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct4.c +4 -12
  164. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct5.c +4 -12
  165. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct6.c +4 -12
  166. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct7.c +4 -12
  167. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct8.c +4 -12
  168. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct9.c +4 -12
  169. data/ext/ffi_c/libffi/testsuite/libffi.call/problem1.c +4 -12
  170. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c +1 -1
  171. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c +1 -1
  172. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large.c +145 -0
  173. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large2.c +148 -0
  174. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium.c +124 -0
  175. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium2.c +124 -0
  176. data/ext/ffi_c/libffi/testsuite/libffi.call/testclosure.c +70 -0
  177. data/ext/ffi_c/libffi/testsuite/libffi.special/ffitestcxx.h +10 -0
  178. data/ext/ffi_c/libffi/testsuite/libffi.special/special.exp +4 -5
  179. data/ext/ffi_c/libffi/testsuite/libffi.special/unwindtest.cc +17 -16
  180. data/ext/ffi_c/libffi/texinfo.tex +155 -427
  181. data/lib/ffi/autopointer.rb +79 -20
  182. data/lib/ffi/callback.rb +4 -10
  183. data/lib/ffi/enum.rb +28 -0
  184. data/lib/ffi/io.rb +28 -0
  185. data/lib/ffi/library.rb +237 -182
  186. data/lib/ffi/memorypointer.rb +28 -62
  187. data/lib/ffi/platform.rb +27 -0
  188. data/lib/ffi/pointer.rb +28 -0
  189. data/lib/ffi/struct.rb +55 -1
  190. data/lib/ffi/types.rb +29 -0
  191. data/lib/ffi/variadic.rb +29 -0
  192. data/spec/ffi/library_spec.rb +31 -5
  193. data/spec/ffi/rbx/attach_function_spec.rb +2 -1
  194. data/spec/ffi/rbx/memory_pointer_spec.rb +2 -1
  195. data/spec/ffi/spec_helper.rb +5 -1
  196. data/spec/ffi/struct_spec.rb +64 -0
  197. metadata +28 -8
  198. data/ext/ffi_c/libffi/TODO +0 -1
  199. data/ext/ffi_c/libffi/ltcf-c.sh +0 -861
  200. data/ext/ffi_c/libffi/ltcf-cxx.sh +0 -1069
  201. data/ext/ffi_c/libffi/ltcf-gcj.sh +0 -700
  202. data/ext/ffi_c/libffi/ltconfig +0 -2862
  203. data/ext/ffi_c/libffi/mkinstalldirs +0 -158
@@ -1,8 +1,8 @@
1
1
  dnl Process this with autoconf to create configure
2
2
 
3
- AC_PREREQ(2.59)
3
+ AC_PREREQ(2.63)
4
4
 
5
- AC_INIT([libffi], [3.0.6], [http://gcc.gnu.org/bugs.html])
5
+ AC_INIT([libffi], [3.0.9], [http://gcc.gnu.org/bugs.html])
6
6
  AC_CONFIG_HEADERS([fficonfig.h])
7
7
 
8
8
  AC_CANONICAL_SYSTEM
@@ -20,6 +20,7 @@ AM_INIT_AUTOMAKE
20
20
  m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
21
21
  m4_define([_AC_ARG_VAR_PRECIOUS],[])
22
22
  AC_PROG_CC
23
+ m4_undefine([_AC_ARG_VAR_PRECIOUS])
23
24
  m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
24
25
 
25
26
  AC_SUBST(CFLAGS)
@@ -27,6 +28,7 @@ AC_SUBST(CFLAGS)
27
28
  AM_PROG_AS
28
29
  AM_PROG_CC_C_O
29
30
  AC_PROG_LIBTOOL
31
+ AC_CONFIG_MACRO_DIR([m4])
30
32
 
31
33
  AM_MAINTAINER_MODE
32
34
 
@@ -49,10 +51,14 @@ case "$host" in
49
51
  TARGET=ARM; TARGETDIR=arm
50
52
  ;;
51
53
 
52
- amd64-*-freebsd*)
54
+ amd64-*-freebsd* | amd64-*-openbsd*)
53
55
  TARGET=X86_64; TARGETDIR=x86
54
56
  ;;
55
57
 
58
+ avr32*-*-*)
59
+ TARGET=AVR32; TARGETDIR=avr32
60
+ ;;
61
+
56
62
  cris-*-*)
57
63
  TARGET=LIBFFI_CRIS; TARGETDIR=cris
58
64
  ;;
@@ -71,11 +77,13 @@ case "$host" in
71
77
  TARGET=PA_HPUX; TARGETDIR=pa
72
78
  ;;
73
79
 
74
- i386-*-freebsd* | i386-*-openbsd*)
80
+ i?86-*-freebsd* | i?86-*-openbsd*)
75
81
  TARGET=X86_FREEBSD; TARGETDIR=x86
76
82
  ;;
77
83
  i?86-win32* | i?86-*-cygwin* | i?86-*-mingw*)
78
84
  TARGET=X86_WIN32; TARGETDIR=x86
85
+ # All mingw/cygwin/win32 builds require this for sharedlib
86
+ AM_LTLDFLAGS="-no-undefined"
79
87
  ;;
80
88
  i?86-*-darwin*)
81
89
  TARGET=X86_DARWIN; TARGETDIR=x86
@@ -103,6 +111,8 @@ case "$host" in
103
111
  TARGET=MIPS; TARGETDIR=mips
104
112
  ;;
105
113
  mips*-*-linux*)
114
+ # Support 128-bit long double for NewABI.
115
+ HAVE_LONG_DOUBLE='defined(__mips64)'
106
116
  TARGET=MIPS; TARGETDIR=mips
107
117
  ;;
108
118
 
@@ -143,14 +153,18 @@ case "$host" in
143
153
  x86_64-*-darwin*)
144
154
  TARGET=X86_DARWIN; TARGETDIR=x86
145
155
  ;;
156
+
146
157
  x86_64-*-cygwin* | x86_64-*-mingw*)
158
+ TARGET=X86_WIN64; TARGETDIR=x86
147
159
  ;;
160
+
148
161
  x86_64-*-*)
149
162
  TARGET=X86_64; TARGETDIR=x86
150
163
  ;;
151
164
  esac
152
165
 
153
166
  AC_SUBST(AM_RUNTESTFLAGS)
167
+ AC_SUBST(AM_LTLDFLAGS)
154
168
 
155
169
  if test $TARGETDIR = unknown; then
156
170
  AC_MSG_ERROR(["libffi has not been ported to $host."])
@@ -161,6 +175,7 @@ AM_CONDITIONAL(SPARC, test x$TARGET = xSPARC)
161
175
  AM_CONDITIONAL(X86, test x$TARGET = xX86)
162
176
  AM_CONDITIONAL(X86_FREEBSD, test x$TARGET = xX86_FREEBSD)
163
177
  AM_CONDITIONAL(X86_WIN32, test x$TARGET = xX86_WIN32)
178
+ AM_CONDITIONAL(X86_WIN64, test x$TARGET = xX86_WIN64)
164
179
  AM_CONDITIONAL(X86_DARWIN, test x$TARGET = xX86_DARWIN)
165
180
  AM_CONDITIONAL(ALPHA, test x$TARGET = xALPHA)
166
181
  AM_CONDITIONAL(IA64, test x$TARGET = xIA64)
@@ -171,6 +186,7 @@ AM_CONDITIONAL(POWERPC_AIX, test x$TARGET = xPOWERPC_AIX)
171
186
  AM_CONDITIONAL(POWERPC_DARWIN, test x$TARGET = xPOWERPC_DARWIN)
172
187
  AM_CONDITIONAL(POWERPC_FREEBSD, test x$TARGET = xPOWERPC_FREEBSD)
173
188
  AM_CONDITIONAL(ARM, test x$TARGET = xARM)
189
+ AM_CONDITIONAL(AVR32, test x$TARGET = xAVR32)
174
190
  AM_CONDITIONAL(LIBFFI_CRIS, test x$TARGET = xLIBFFI_CRIS)
175
191
  AM_CONDITIONAL(FRV, test x$TARGET = xFRV)
176
192
  AM_CONDITIONAL(S390, test x$TARGET = xS390)
@@ -245,6 +261,29 @@ if test x$TARGET = xSPARC; then
245
261
  fi
246
262
  fi
247
263
 
264
+ if test x$TARGET = xX86 || test x$TARGET = xX86_WIN32 || test x$TARGET = xX86_64; then
265
+ AC_CACHE_CHECK([assembler supports pc related relocs],
266
+ libffi_cv_as_x86_pcrel, [
267
+ libffi_cv_as_x86_pcrel=yes
268
+ echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
269
+ if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
270
+ libffi_cv_as_x86_pcrel=no
271
+ fi
272
+ ])
273
+ if test "x$libffi_cv_as_x86_pcrel" = xyes; then
274
+ AC_DEFINE(HAVE_AS_X86_PCREL, 1,
275
+ [Define if your assembler supports PC relative relocs.])
276
+ fi
277
+ fi
278
+
279
+ case "$target" in
280
+ *-apple-darwin10* | *-*-freebsd* | *-*-openbsd* | *-pc-solaris*)
281
+ AC_DEFINE(FFI_MMAP_EXEC_WRIT, 1,
282
+ [Cannot use malloc on this target, so, we revert to
283
+ alternative means])
284
+ ;;
285
+ esac
286
+
248
287
  AC_CACHE_CHECK([whether .eh_frame section should be read-only],
249
288
  libffi_cv_ro_eh_frame, [
250
289
  libffi_cv_ro_eh_frame=no
@@ -1,4 +1,4 @@
1
- This is ../libffi/doc/libffi.info, produced by makeinfo version 4.11
1
+ This is ../libffi/doc/libffi.info, produced by makeinfo version 4.13
2
2
  from ../libffi/doc/libffi.texi.
3
3
 
4
4
  This manual is for Libffi, a portable foreign-function interface
@@ -13,7 +13,7 @@ library.
13
13
  included in the section entitled "GNU General Public License".
14
14
 
15
15
 
16
- INFO-DIR-SECTION
16
+ INFO-DIR-SECTION Development
17
17
  START-INFO-DIR-ENTRY
18
18
  * libffi: (libffi). Portable foreign-function interface library.
19
19
  END-INFO-DIR-ENTRY
@@ -516,18 +516,18 @@ Index
516
516
 
517
517
  
518
518
  Tag Table:
519
- Node: Top688
520
- Node: Introduction1424
521
- Node: Using libffi3060
522
- Node: The Basics3495
523
- Node: Simple Example6102
524
- Node: Types7129
525
- Node: Primitive Types7412
526
- Node: Structures9232
527
- Node: Type Example10092
528
- Node: Multiple ABIs11315
529
- Node: The Closure API11686
530
- Node: Missing Features14606
531
- Node: Index15099
519
+ Node: Top700
520
+ Node: Introduction1436
521
+ Node: Using libffi3072
522
+ Node: The Basics3507
523
+ Node: Simple Example6114
524
+ Node: Types7141
525
+ Node: Primitive Types7424
526
+ Node: Structures9244
527
+ Node: Type Example10104
528
+ Node: Multiple ABIs11327
529
+ Node: The Closure API11698
530
+ Node: Missing Features14618
531
+ Node: Index15111
532
532
  
533
533
  End Tag Table
@@ -31,7 +31,7 @@ section entitled ``GNU General Public License''.
31
31
  @end quotation
32
32
  @end copying
33
33
 
34
- @dircategory
34
+ @dircategory Development
35
35
  @direntry
36
36
  * libffi: (libffi). Portable foreign-function interface library.
37
37
  @end direntry
@@ -1,4 +1,4 @@
1
- @set UPDATED 14 February 2008
2
- @set UPDATED-MONTH February 2008
3
- @set EDITION 3.0.6
4
- @set VERSION 3.0.6
1
+ @set UPDATED 29 December 2009
2
+ @set UPDATED-MONTH December 2009
3
+ @set EDITION 3.0.9
4
+ @set VERSION 3.0.9
@@ -1,4 +1,4 @@
1
- @set UPDATED 14 February 2008
2
- @set UPDATED-MONTH February 2008
3
- @set EDITION 3.0.6
4
- @set VERSION 3.0.6
1
+ @set UPDATED 29 December 2009
2
+ @set UPDATED-MONTH December 2009
3
+ @set EDITION 3.0.9
4
+ @set VERSION 3.0.9
@@ -1,5 +1,8 @@
1
1
  /* fficonfig.h.in. Generated from configure.ac by autoheader. */
2
2
 
3
+ /* Define if building universal (internal helper macro) */
4
+ #undef AC_APPLE_UNIVERSAL_BUILD
5
+
3
6
  /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
4
7
  systems. This function is required for `alloca.c' support on those systems.
5
8
  */
@@ -14,6 +17,9 @@
14
17
  /* Define this if you want extra debugging. */
15
18
  #undef FFI_DEBUG
16
19
 
20
+ /* Cannot use malloc on this target, so, we revert to alternative means */
21
+ #undef FFI_MMAP_EXEC_WRIT
22
+
17
23
  /* Define this is you do not want support for the raw API. */
18
24
  #undef FFI_NO_RAW_API
19
25
 
@@ -37,6 +43,9 @@
37
43
  */
38
44
  #undef HAVE_AS_SPARC_UA_PCREL
39
45
 
46
+ /* Define if your assembler supports PC relative relocs. */
47
+ #undef HAVE_AS_X86_PCREL
48
+
40
49
  /* Define to 1 if you have the <dlfcn.h> header file. */
41
50
  #undef HAVE_DLFCN_H
42
51
 
@@ -94,6 +103,10 @@
94
103
  /* Define to 1 if you have the <unistd.h> header file. */
95
104
  #undef HAVE_UNISTD_H
96
105
 
106
+ /* Define to the sub-directory in which libtool stores uninstalled libraries.
107
+ */
108
+ #undef LT_OBJDIR
109
+
97
110
  /* Define to 1 if your C compiler doesn't accept -c and -o together. */
98
111
  #undef NO_MINUS_C_MINUS_O
99
112
 
@@ -139,9 +152,17 @@
139
152
  /* Version number of package */
140
153
  #undef VERSION
141
154
 
142
- /* Define to 1 if your processor stores words with the most significant byte
143
- first (like Motorola and SPARC, unlike Intel and VAX). */
144
- #undef WORDS_BIGENDIAN
155
+ /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
156
+ significant byte first (like Motorola and SPARC, unlike Intel). */
157
+ #if defined AC_APPLE_UNIVERSAL_BUILD
158
+ # if defined __BIG_ENDIAN__
159
+ # define WORDS_BIGENDIAN 1
160
+ # endif
161
+ #else
162
+ # ifndef WORDS_BIGENDIAN
163
+ # undef WORDS_BIGENDIAN
164
+ # endif
165
+ #endif
145
166
 
146
167
 
147
168
  #ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
@@ -6,4 +6,4 @@ DISTCLEANFILES=ffitarget.h
6
6
  EXTRA_DIST=ffi.h.in ffi_common.h
7
7
 
8
8
  includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
9
- nodist_includes_HEADERS = ffi.h ffitarget.h
9
+ nodist_includes_HEADERS = ffi.h ffitarget.h
@@ -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.
@@ -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
@@ -41,9 +43,10 @@ am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
41
43
  $(top_srcdir)/configure.ac
42
44
  am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
43
45
  $(ACLOCAL_M4)
44
- mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
46
+ mkinstalldirs = $(install_sh) -d
45
47
  CONFIG_HEADER = $(top_builddir)/fficonfig.h
46
48
  CONFIG_CLEAN_FILES = ffi.h ffitarget.h
49
+ CONFIG_CLEAN_VPATH_FILES =
47
50
  SOURCES =
48
51
  DIST_SOURCES =
49
52
  am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -51,9 +54,23 @@ am__vpath_adj = case $$p in \
51
54
  $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
52
55
  *) f=$$p;; \
53
56
  esac;
54
- am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
57
+ am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
58
+ am__install_max = 40
59
+ am__nobase_strip_setup = \
60
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
61
+ am__nobase_strip = \
62
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
63
+ am__nobase_list = $(am__nobase_strip_setup); \
64
+ for p in $$list; do echo "$$p $$p"; done | \
65
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
66
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
67
+ if (++n[$$2] == $(am__install_max)) \
68
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
69
+ END { for (dir in files) print dir, files[dir] }'
70
+ am__base_list = \
71
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
72
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
55
73
  am__installdirs = "$(DESTDIR)$(includesdir)"
56
- nodist_includesHEADERS_INSTALL = $(INSTALL_HEADER)
57
74
  HEADERS = $(nodist_includes_HEADERS)
58
75
  ETAGS = etags
59
76
  CTAGS = ctags
@@ -75,21 +92,17 @@ CCDEPMODE = @CCDEPMODE@
75
92
  CFLAGS = @CFLAGS@
76
93
  CPP = @CPP@
77
94
  CPPFLAGS = @CPPFLAGS@
78
- CXX = @CXX@
79
- CXXCPP = @CXXCPP@
80
- CXXDEPMODE = @CXXDEPMODE@
81
- CXXFLAGS = @CXXFLAGS@
82
95
  CYGPATH_W = @CYGPATH_W@
83
96
  DEFS = @DEFS@
84
97
  DEPDIR = @DEPDIR@
85
- ECHO = @ECHO@
98
+ DSYMUTIL = @DSYMUTIL@
99
+ DUMPBIN = @DUMPBIN@
86
100
  ECHO_C = @ECHO_C@
87
101
  ECHO_N = @ECHO_N@
88
102
  ECHO_T = @ECHO_T@
89
103
  EGREP = @EGREP@
90
104
  EXEEXT = @EXEEXT@
91
- F77 = @F77@
92
- FFLAGS = @FFLAGS@
105
+ FGREP = @FGREP@
93
106
  GREP = @GREP@
94
107
  HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
95
108
  INSTALL = @INSTALL@
@@ -97,16 +110,23 @@ INSTALL_DATA = @INSTALL_DATA@
97
110
  INSTALL_PROGRAM = @INSTALL_PROGRAM@
98
111
  INSTALL_SCRIPT = @INSTALL_SCRIPT@
99
112
  INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
113
+ LD = @LD@
100
114
  LDFLAGS = @LDFLAGS@
101
115
  LIBOBJS = @LIBOBJS@
102
116
  LIBS = @LIBS@
103
117
  LIBTOOL = @LIBTOOL@
118
+ LIPO = @LIPO@
104
119
  LN_S = @LN_S@
105
120
  LTLIBOBJS = @LTLIBOBJS@
106
121
  MAINT = @MAINT@
107
122
  MAKEINFO = @MAKEINFO@
108
123
  MKDIR_P = @MKDIR_P@
124
+ NM = @NM@
125
+ NMEDIT = @NMEDIT@
126
+ OBJDUMP = @OBJDUMP@
109
127
  OBJEXT = @OBJEXT@
128
+ OTOOL = @OTOOL@
129
+ OTOOL64 = @OTOOL64@
110
130
  PACKAGE = @PACKAGE@
111
131
  PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
112
132
  PACKAGE_NAME = @PACKAGE_NAME@
@@ -127,8 +147,7 @@ abs_srcdir = @abs_srcdir@
127
147
  abs_top_builddir = @abs_top_builddir@
128
148
  abs_top_srcdir = @abs_top_srcdir@
129
149
  ac_ct_CC = @ac_ct_CC@
130
- ac_ct_CXX = @ac_ct_CXX@
131
- ac_ct_F77 = @ac_ct_F77@
150
+ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
132
151
  am__include = @am__include@
133
152
  am__leading_dot = @am__leading_dot@
134
153
  am__quote = @am__quote@
@@ -159,6 +178,7 @@ libdir = @libdir@
159
178
  libexecdir = @libexecdir@
160
179
  localedir = @localedir@
161
180
  localstatedir = @localstatedir@
181
+ lt_ECHO = @lt_ECHO@
162
182
  mandir = @mandir@
163
183
  mkdir_p = @mkdir_p@
164
184
  oldincludedir = @oldincludedir@
@@ -177,13 +197,14 @@ target_os = @target_os@
177
197
  target_vendor = @target_vendor@
178
198
  toolexecdir = @toolexecdir@
179
199
  toolexeclibdir = @toolexeclibdir@
200
+ top_build_prefix = @top_build_prefix@
180
201
  top_builddir = @top_builddir@
181
202
  top_srcdir = @top_srcdir@
182
203
  AUTOMAKE_OPTIONS = foreign
183
204
  DISTCLEANFILES = ffitarget.h
184
205
  EXTRA_DIST = ffi.h.in ffi_common.h
185
206
  includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
186
- nodist_includes_HEADERS = ffi.h ffitarget.h
207
+ nodist_includes_HEADERS = ffi.h ffitarget.h
187
208
  all: all-am
188
209
 
189
210
  .SUFFIXES:
@@ -191,14 +212,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi
191
212
  @for dep in $?; do \
192
213
  case '$(am__configure_deps)' in \
193
214
  *$$dep*) \
194
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
195
- && exit 0; \
215
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
216
+ && { if test -f $@; then exit 0; else break; fi; }; \
196
217
  exit 1;; \
197
218
  esac; \
198
219
  done; \
199
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/Makefile'; \
200
- cd $(top_srcdir) && \
201
- $(AUTOMAKE) --foreign include/Makefile
220
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/Makefile'; \
221
+ $(am__cd) $(top_srcdir) && \
222
+ $(AUTOMAKE) --foreign include/Makefile
202
223
  .PRECIOUS: Makefile
203
224
  Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
204
225
  @case '$?' in \
@@ -216,6 +237,7 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
216
237
  cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
217
238
  $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
218
239
  cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
240
+ $(am__aclocal_m4_deps):
219
241
  ffi.h: $(top_builddir)/config.status $(srcdir)/ffi.h.in
220
242
  cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
221
243
 
@@ -227,65 +249,72 @@ clean-libtool:
227
249
  install-nodist_includesHEADERS: $(nodist_includes_HEADERS)
228
250
  @$(NORMAL_INSTALL)
229
251
  test -z "$(includesdir)" || $(MKDIR_P) "$(DESTDIR)$(includesdir)"
230
- @list='$(nodist_includes_HEADERS)'; for p in $$list; do \
252
+ @list='$(nodist_includes_HEADERS)'; test -n "$(includesdir)" || list=; \
253
+ for p in $$list; do \
231
254
  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
232
- f=$(am__strip_dir) \
233
- echo " $(nodist_includesHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includesdir)/$$f'"; \
234
- $(nodist_includesHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includesdir)/$$f"; \
255
+ echo "$$d$$p"; \
256
+ done | $(am__base_list) | \
257
+ while read files; do \
258
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includesdir)'"; \
259
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(includesdir)" || exit $$?; \
235
260
  done
236
261
 
237
262
  uninstall-nodist_includesHEADERS:
238
263
  @$(NORMAL_UNINSTALL)
239
- @list='$(nodist_includes_HEADERS)'; for p in $$list; do \
240
- f=$(am__strip_dir) \
241
- echo " rm -f '$(DESTDIR)$(includesdir)/$$f'"; \
242
- rm -f "$(DESTDIR)$(includesdir)/$$f"; \
243
- done
264
+ @list='$(nodist_includes_HEADERS)'; test -n "$(includesdir)" || list=; \
265
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
266
+ test -n "$$files" || exit 0; \
267
+ echo " ( cd '$(DESTDIR)$(includesdir)' && rm -f" $$files ")"; \
268
+ cd "$(DESTDIR)$(includesdir)" && rm -f $$files
244
269
 
245
270
  ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
246
271
  list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
247
272
  unique=`for i in $$list; do \
248
273
  if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
249
274
  done | \
250
- $(AWK) ' { files[$$0] = 1; } \
251
- END { for (i in files) print i; }'`; \
275
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
276
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
252
277
  mkid -fID $$unique
253
278
  tags: TAGS
254
279
 
255
280
  TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
256
281
  $(TAGS_FILES) $(LISP)
257
- tags=; \
282
+ set x; \
258
283
  here=`pwd`; \
259
284
  list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
260
285
  unique=`for i in $$list; do \
261
286
  if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
262
287
  done | \
263
- $(AWK) ' { files[$$0] = 1; } \
264
- END { for (i in files) print i; }'`; \
265
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
288
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
289
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
290
+ shift; \
291
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
266
292
  test -n "$$unique" || unique=$$empty_fix; \
267
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
268
- $$tags $$unique; \
293
+ if test $$# -gt 0; then \
294
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
295
+ "$$@" $$unique; \
296
+ else \
297
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
298
+ $$unique; \
299
+ fi; \
269
300
  fi
270
301
  ctags: CTAGS
271
302
  CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
272
303
  $(TAGS_FILES) $(LISP)
273
- tags=; \
274
- here=`pwd`; \
275
304
  list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
276
305
  unique=`for i in $$list; do \
277
306
  if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
278
307
  done | \
279
- $(AWK) ' { files[$$0] = 1; } \
280
- END { for (i in files) print i; }'`; \
281
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
308
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
309
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
310
+ test -z "$(CTAGS_ARGS)$$unique" \
282
311
  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
283
- $$tags $$unique
312
+ $$unique
284
313
 
285
314
  GTAGS:
286
315
  here=`$(am__cd) $(top_builddir) && pwd` \
287
- && cd $(top_srcdir) \
288
- && gtags -i $(GTAGS_ARGS) $$here
316
+ && $(am__cd) $(top_srcdir) \
317
+ && gtags -i $(GTAGS_ARGS) "$$here"
289
318
 
290
319
  distclean-tags:
291
320
  -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -306,13 +335,17 @@ distdir: $(DISTFILES)
306
335
  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
307
336
  if test -d $$d/$$file; then \
308
337
  dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
338
+ if test -d "$(distdir)/$$file"; then \
339
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
340
+ fi; \
309
341
  if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
310
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
342
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
343
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
311
344
  fi; \
312
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
345
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
313
346
  else \
314
- test -f $(distdir)/$$file \
315
- || cp -p $$d/$$file $(distdir)/$$file \
347
+ test -f "$(distdir)/$$file" \
348
+ || cp -p $$d/$$file "$(distdir)/$$file" \
316
349
  || exit 1; \
317
350
  fi; \
318
351
  done
@@ -343,6 +376,7 @@ clean-generic:
343
376
 
344
377
  distclean-generic:
345
378
  -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
379
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
346
380
  -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
347
381
 
348
382
  maintainer-clean-generic:
@@ -362,6 +396,8 @@ dvi-am:
362
396
 
363
397
  html: html-am
364
398
 
399
+ html-am:
400
+
365
401
  info: info-am
366
402
 
367
403
  info-am:
@@ -370,18 +406,28 @@ install-data-am: install-nodist_includesHEADERS
370
406
 
371
407
  install-dvi: install-dvi-am
372
408
 
409
+ install-dvi-am:
410
+
373
411
  install-exec-am:
374
412
 
375
413
  install-html: install-html-am
376
414
 
415
+ install-html-am:
416
+
377
417
  install-info: install-info-am
378
418
 
419
+ install-info-am:
420
+
379
421
  install-man:
380
422
 
381
423
  install-pdf: install-pdf-am
382
424
 
425
+ install-pdf-am:
426
+
383
427
  install-ps: install-ps-am
384
428
 
429
+ install-ps-am:
430
+
385
431
  installcheck-am:
386
432
 
387
433
  maintainer-clean: maintainer-clean-am
@@ -417,6 +463,7 @@ uninstall-am: uninstall-nodist_includesHEADERS
417
463
  mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
418
464
  tags uninstall uninstall-am uninstall-nodist_includesHEADERS
419
465
 
466
+
420
467
  # Tell versions [3.59,3.63) of GNU make to not export all variables.
421
468
  # Otherwise a system limit (for SysV at least) may be exceeded.
422
469
  .NOEXPORT: