foolio 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (261) hide show
  1. data/.gitignore +22 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE +22 -0
  4. data/README.md +29 -0
  5. data/Rakefile +21 -0
  6. data/examples/timer.rb +20 -0
  7. data/ext/foolio/extconf.rb +34 -0
  8. data/ext/foolio/foolio_ext.c +921 -0
  9. data/ext/foolio/gen.rb +50 -0
  10. data/ext/foolio/make_table.rb +12 -0
  11. data/ext/foolio/templ +243 -0
  12. data/ext/libuv/.gitignore +33 -0
  13. data/ext/libuv/.mailmap +13 -0
  14. data/ext/libuv/.travis.yml +9 -0
  15. data/ext/libuv/AUTHORS +61 -0
  16. data/ext/libuv/LICENSE +44 -0
  17. data/ext/libuv/Makefile +71 -0
  18. data/ext/libuv/README.md +90 -0
  19. data/ext/libuv/common.gypi +178 -0
  20. data/ext/libuv/gyp_uv +73 -0
  21. data/ext/libuv/include/uv-private/eio.h +403 -0
  22. data/ext/libuv/include/uv-private/ev.h +838 -0
  23. data/ext/libuv/include/uv-private/ngx-queue.h +108 -0
  24. data/ext/libuv/include/uv-private/tree.h +768 -0
  25. data/ext/libuv/include/uv-private/uv-unix.h +324 -0
  26. data/ext/libuv/include/uv-private/uv-win.h +517 -0
  27. data/ext/libuv/include/uv.h +1838 -0
  28. data/ext/libuv/src/fs-poll.c +235 -0
  29. data/ext/libuv/src/inet.c +293 -0
  30. data/ext/libuv/src/unix/async.c +148 -0
  31. data/ext/libuv/src/unix/core.c +696 -0
  32. data/ext/libuv/src/unix/cygwin.c +83 -0
  33. data/ext/libuv/src/unix/darwin.c +342 -0
  34. data/ext/libuv/src/unix/dl.c +83 -0
  35. data/ext/libuv/src/unix/eio/Changes +63 -0
  36. data/ext/libuv/src/unix/eio/LICENSE +36 -0
  37. data/ext/libuv/src/unix/eio/Makefile.am +15 -0
  38. data/ext/libuv/src/unix/eio/aclocal.m4 +8957 -0
  39. data/ext/libuv/src/unix/eio/autogen.sh +3 -0
  40. data/ext/libuv/src/unix/eio/config.h.in +86 -0
  41. data/ext/libuv/src/unix/eio/config_cygwin.h +80 -0
  42. data/ext/libuv/src/unix/eio/config_darwin.h +141 -0
  43. data/ext/libuv/src/unix/eio/config_freebsd.h +81 -0
  44. data/ext/libuv/src/unix/eio/config_linux.h +94 -0
  45. data/ext/libuv/src/unix/eio/config_netbsd.h +81 -0
  46. data/ext/libuv/src/unix/eio/config_openbsd.h +137 -0
  47. data/ext/libuv/src/unix/eio/config_sunos.h +84 -0
  48. data/ext/libuv/src/unix/eio/configure.ac +22 -0
  49. data/ext/libuv/src/unix/eio/demo.c +194 -0
  50. data/ext/libuv/src/unix/eio/ecb.h +370 -0
  51. data/ext/libuv/src/unix/eio/eio.3 +3428 -0
  52. data/ext/libuv/src/unix/eio/eio.c +2593 -0
  53. data/ext/libuv/src/unix/eio/eio.pod +969 -0
  54. data/ext/libuv/src/unix/eio/libeio.m4 +195 -0
  55. data/ext/libuv/src/unix/eio/xthread.h +164 -0
  56. data/ext/libuv/src/unix/error.c +105 -0
  57. data/ext/libuv/src/unix/ev/Changes +388 -0
  58. data/ext/libuv/src/unix/ev/LICENSE +36 -0
  59. data/ext/libuv/src/unix/ev/Makefile.am +18 -0
  60. data/ext/libuv/src/unix/ev/Makefile.in +771 -0
  61. data/ext/libuv/src/unix/ev/README +58 -0
  62. data/ext/libuv/src/unix/ev/aclocal.m4 +8957 -0
  63. data/ext/libuv/src/unix/ev/autogen.sh +6 -0
  64. data/ext/libuv/src/unix/ev/config.guess +1526 -0
  65. data/ext/libuv/src/unix/ev/config.h.in +125 -0
  66. data/ext/libuv/src/unix/ev/config.sub +1658 -0
  67. data/ext/libuv/src/unix/ev/config_cygwin.h +123 -0
  68. data/ext/libuv/src/unix/ev/config_darwin.h +122 -0
  69. data/ext/libuv/src/unix/ev/config_freebsd.h +120 -0
  70. data/ext/libuv/src/unix/ev/config_linux.h +141 -0
  71. data/ext/libuv/src/unix/ev/config_netbsd.h +120 -0
  72. data/ext/libuv/src/unix/ev/config_openbsd.h +126 -0
  73. data/ext/libuv/src/unix/ev/config_sunos.h +122 -0
  74. data/ext/libuv/src/unix/ev/configure +13037 -0
  75. data/ext/libuv/src/unix/ev/configure.ac +18 -0
  76. data/ext/libuv/src/unix/ev/depcomp +630 -0
  77. data/ext/libuv/src/unix/ev/ev++.h +816 -0
  78. data/ext/libuv/src/unix/ev/ev.3 +5311 -0
  79. data/ext/libuv/src/unix/ev/ev.c +3925 -0
  80. data/ext/libuv/src/unix/ev/ev.pod +5243 -0
  81. data/ext/libuv/src/unix/ev/ev_epoll.c +266 -0
  82. data/ext/libuv/src/unix/ev/ev_kqueue.c +235 -0
  83. data/ext/libuv/src/unix/ev/ev_poll.c +148 -0
  84. data/ext/libuv/src/unix/ev/ev_port.c +179 -0
  85. data/ext/libuv/src/unix/ev/ev_select.c +310 -0
  86. data/ext/libuv/src/unix/ev/ev_vars.h +203 -0
  87. data/ext/libuv/src/unix/ev/ev_win32.c +153 -0
  88. data/ext/libuv/src/unix/ev/ev_wrap.h +196 -0
  89. data/ext/libuv/src/unix/ev/event.c +402 -0
  90. data/ext/libuv/src/unix/ev/event.h +170 -0
  91. data/ext/libuv/src/unix/ev/install-sh +294 -0
  92. data/ext/libuv/src/unix/ev/libev.m4 +39 -0
  93. data/ext/libuv/src/unix/ev/ltmain.sh +8413 -0
  94. data/ext/libuv/src/unix/ev/missing +336 -0
  95. data/ext/libuv/src/unix/ev/mkinstalldirs +111 -0
  96. data/ext/libuv/src/unix/freebsd.c +326 -0
  97. data/ext/libuv/src/unix/fs.c +739 -0
  98. data/ext/libuv/src/unix/internal.h +188 -0
  99. data/ext/libuv/src/unix/kqueue.c +120 -0
  100. data/ext/libuv/src/unix/linux/inotify.c +239 -0
  101. data/ext/libuv/src/unix/linux/linux-core.c +557 -0
  102. data/ext/libuv/src/unix/linux/syscalls.c +388 -0
  103. data/ext/libuv/src/unix/linux/syscalls.h +124 -0
  104. data/ext/libuv/src/unix/loop-watcher.c +62 -0
  105. data/ext/libuv/src/unix/loop.c +94 -0
  106. data/ext/libuv/src/unix/netbsd.c +108 -0
  107. data/ext/libuv/src/unix/openbsd.c +295 -0
  108. data/ext/libuv/src/unix/pipe.c +259 -0
  109. data/ext/libuv/src/unix/poll.c +114 -0
  110. data/ext/libuv/src/unix/process.c +495 -0
  111. data/ext/libuv/src/unix/signal.c +269 -0
  112. data/ext/libuv/src/unix/stream.c +990 -0
  113. data/ext/libuv/src/unix/sunos.c +481 -0
  114. data/ext/libuv/src/unix/tcp.c +393 -0
  115. data/ext/libuv/src/unix/thread.c +251 -0
  116. data/ext/libuv/src/unix/timer.c +136 -0
  117. data/ext/libuv/src/unix/tty.c +145 -0
  118. data/ext/libuv/src/unix/udp.c +659 -0
  119. data/ext/libuv/src/unix/uv-eio.c +107 -0
  120. data/ext/libuv/src/unix/uv-eio.h +13 -0
  121. data/ext/libuv/src/uv-common.c +380 -0
  122. data/ext/libuv/src/uv-common.h +170 -0
  123. data/ext/libuv/src/win/async.c +100 -0
  124. data/ext/libuv/src/win/atomicops-inl.h +56 -0
  125. data/ext/libuv/src/win/core.c +278 -0
  126. data/ext/libuv/src/win/dl.c +86 -0
  127. data/ext/libuv/src/win/error.c +155 -0
  128. data/ext/libuv/src/win/fs-event.c +510 -0
  129. data/ext/libuv/src/win/fs.c +1948 -0
  130. data/ext/libuv/src/win/getaddrinfo.c +365 -0
  131. data/ext/libuv/src/win/handle-inl.h +149 -0
  132. data/ext/libuv/src/win/handle.c +154 -0
  133. data/ext/libuv/src/win/internal.h +343 -0
  134. data/ext/libuv/src/win/loop-watcher.c +122 -0
  135. data/ext/libuv/src/win/pipe.c +1672 -0
  136. data/ext/libuv/src/win/poll.c +616 -0
  137. data/ext/libuv/src/win/process-stdio.c +500 -0
  138. data/ext/libuv/src/win/process.c +1013 -0
  139. data/ext/libuv/src/win/req-inl.h +220 -0
  140. data/ext/libuv/src/win/req.c +25 -0
  141. data/ext/libuv/src/win/signal.c +57 -0
  142. data/ext/libuv/src/win/stream-inl.h +67 -0
  143. data/ext/libuv/src/win/stream.c +167 -0
  144. data/ext/libuv/src/win/tcp.c +1394 -0
  145. data/ext/libuv/src/win/thread.c +372 -0
  146. data/ext/libuv/src/win/threadpool.c +74 -0
  147. data/ext/libuv/src/win/timer.c +224 -0
  148. data/ext/libuv/src/win/tty.c +1799 -0
  149. data/ext/libuv/src/win/udp.c +716 -0
  150. data/ext/libuv/src/win/util.c +864 -0
  151. data/ext/libuv/src/win/winapi.c +132 -0
  152. data/ext/libuv/src/win/winapi.h +4452 -0
  153. data/ext/libuv/src/win/winsock.c +557 -0
  154. data/ext/libuv/src/win/winsock.h +171 -0
  155. data/ext/libuv/test/benchmark-async-pummel.c +97 -0
  156. data/ext/libuv/test/benchmark-async.c +137 -0
  157. data/ext/libuv/test/benchmark-fs-stat.c +135 -0
  158. data/ext/libuv/test/benchmark-getaddrinfo.c +94 -0
  159. data/ext/libuv/test/benchmark-list.h +127 -0
  160. data/ext/libuv/test/benchmark-loop-count.c +88 -0
  161. data/ext/libuv/test/benchmark-million-timers.c +65 -0
  162. data/ext/libuv/test/benchmark-ping-pongs.c +213 -0
  163. data/ext/libuv/test/benchmark-pound.c +324 -0
  164. data/ext/libuv/test/benchmark-pump.c +462 -0
  165. data/ext/libuv/test/benchmark-sizes.c +44 -0
  166. data/ext/libuv/test/benchmark-spawn.c +162 -0
  167. data/ext/libuv/test/benchmark-tcp-write-batch.c +140 -0
  168. data/ext/libuv/test/benchmark-thread.c +64 -0
  169. data/ext/libuv/test/benchmark-udp-packet-storm.c +247 -0
  170. data/ext/libuv/test/blackhole-server.c +118 -0
  171. data/ext/libuv/test/dns-server.c +321 -0
  172. data/ext/libuv/test/echo-server.c +378 -0
  173. data/ext/libuv/test/fixtures/empty_file +0 -0
  174. data/ext/libuv/test/fixtures/load_error.node +1 -0
  175. data/ext/libuv/test/run-benchmarks.c +64 -0
  176. data/ext/libuv/test/run-tests.c +138 -0
  177. data/ext/libuv/test/runner-unix.c +295 -0
  178. data/ext/libuv/test/runner-unix.h +36 -0
  179. data/ext/libuv/test/runner-win.c +285 -0
  180. data/ext/libuv/test/runner-win.h +42 -0
  181. data/ext/libuv/test/runner.c +355 -0
  182. data/ext/libuv/test/runner.h +159 -0
  183. data/ext/libuv/test/task.h +112 -0
  184. data/ext/libuv/test/test-async.c +118 -0
  185. data/ext/libuv/test/test-callback-order.c +76 -0
  186. data/ext/libuv/test/test-callback-stack.c +203 -0
  187. data/ext/libuv/test/test-connection-fail.c +148 -0
  188. data/ext/libuv/test/test-cwd-and-chdir.c +64 -0
  189. data/ext/libuv/test/test-delayed-accept.c +188 -0
  190. data/ext/libuv/test/test-dlerror.c +58 -0
  191. data/ext/libuv/test/test-error.c +59 -0
  192. data/ext/libuv/test/test-fail-always.c +29 -0
  193. data/ext/libuv/test/test-fs-event.c +474 -0
  194. data/ext/libuv/test/test-fs-poll.c +146 -0
  195. data/ext/libuv/test/test-fs.c +1843 -0
  196. data/ext/libuv/test/test-get-currentexe.c +63 -0
  197. data/ext/libuv/test/test-get-loadavg.c +36 -0
  198. data/ext/libuv/test/test-get-memory.c +38 -0
  199. data/ext/libuv/test/test-getaddrinfo.c +122 -0
  200. data/ext/libuv/test/test-getsockname.c +342 -0
  201. data/ext/libuv/test/test-hrtime.c +54 -0
  202. data/ext/libuv/test/test-idle.c +81 -0
  203. data/ext/libuv/test/test-ipc-send-recv.c +209 -0
  204. data/ext/libuv/test/test-ipc.c +620 -0
  205. data/ext/libuv/test/test-list.h +427 -0
  206. data/ext/libuv/test/test-loop-handles.c +336 -0
  207. data/ext/libuv/test/test-multiple-listen.c +102 -0
  208. data/ext/libuv/test/test-mutexes.c +63 -0
  209. data/ext/libuv/test/test-pass-always.c +28 -0
  210. data/ext/libuv/test/test-ping-pong.c +253 -0
  211. data/ext/libuv/test/test-pipe-bind-error.c +140 -0
  212. data/ext/libuv/test/test-pipe-connect-error.c +96 -0
  213. data/ext/libuv/test/test-platform-output.c +87 -0
  214. data/ext/libuv/test/test-poll-close.c +72 -0
  215. data/ext/libuv/test/test-poll.c +573 -0
  216. data/ext/libuv/test/test-process-title.c +49 -0
  217. data/ext/libuv/test/test-ref.c +338 -0
  218. data/ext/libuv/test/test-run-once.c +48 -0
  219. data/ext/libuv/test/test-semaphore.c +111 -0
  220. data/ext/libuv/test/test-shutdown-close.c +103 -0
  221. data/ext/libuv/test/test-shutdown-eof.c +183 -0
  222. data/ext/libuv/test/test-signal.c +162 -0
  223. data/ext/libuv/test/test-spawn.c +863 -0
  224. data/ext/libuv/test/test-stdio-over-pipes.c +246 -0
  225. data/ext/libuv/test/test-tcp-bind-error.c +191 -0
  226. data/ext/libuv/test/test-tcp-bind6-error.c +154 -0
  227. data/ext/libuv/test/test-tcp-close-while-connecting.c +80 -0
  228. data/ext/libuv/test/test-tcp-close.c +129 -0
  229. data/ext/libuv/test/test-tcp-connect-error-after-write.c +95 -0
  230. data/ext/libuv/test/test-tcp-connect-error.c +70 -0
  231. data/ext/libuv/test/test-tcp-connect-timeout.c +85 -0
  232. data/ext/libuv/test/test-tcp-connect6-error.c +68 -0
  233. data/ext/libuv/test/test-tcp-flags.c +51 -0
  234. data/ext/libuv/test/test-tcp-shutdown-after-write.c +131 -0
  235. data/ext/libuv/test/test-tcp-unexpected-read.c +113 -0
  236. data/ext/libuv/test/test-tcp-write-error.c +168 -0
  237. data/ext/libuv/test/test-tcp-write-to-half-open-connection.c +135 -0
  238. data/ext/libuv/test/test-tcp-writealot.c +170 -0
  239. data/ext/libuv/test/test-thread.c +183 -0
  240. data/ext/libuv/test/test-threadpool.c +57 -0
  241. data/ext/libuv/test/test-timer-again.c +141 -0
  242. data/ext/libuv/test/test-timer.c +152 -0
  243. data/ext/libuv/test/test-tty.c +110 -0
  244. data/ext/libuv/test/test-udp-dgram-too-big.c +86 -0
  245. data/ext/libuv/test/test-udp-ipv6.c +156 -0
  246. data/ext/libuv/test/test-udp-multicast-join.c +139 -0
  247. data/ext/libuv/test/test-udp-multicast-ttl.c +86 -0
  248. data/ext/libuv/test/test-udp-options.c +86 -0
  249. data/ext/libuv/test/test-udp-send-and-recv.c +208 -0
  250. data/ext/libuv/test/test-util.c +97 -0
  251. data/ext/libuv/test/test-walk-handles.c +77 -0
  252. data/ext/libuv/uv.gyp +375 -0
  253. data/ext/libuv/vcbuild.bat +105 -0
  254. data/foolio.gemspec +18 -0
  255. data/lib/foolio.rb +9 -0
  256. data/lib/foolio/handle.rb +27 -0
  257. data/lib/foolio/listener.rb +26 -0
  258. data/lib/foolio/loop.rb +79 -0
  259. data/lib/foolio/stream.rb +109 -0
  260. data/lib/foolio/version.rb +3 -0
  261. metadata +309 -0
@@ -0,0 +1,18 @@
1
+ AC_INIT
2
+ AC_CONFIG_SRCDIR([ev_epoll.c])
3
+
4
+ AM_INIT_AUTOMAKE(libev,4.04) dnl also update ev.h!
5
+ AC_CONFIG_HEADERS([config.h])
6
+ AM_MAINTAINER_MODE
7
+
8
+ AC_PROG_INSTALL
9
+ AC_PROG_LIBTOOL
10
+
11
+ if test "x$GCC" = xyes ; then
12
+ CFLAGS="-O3 $CFLAGS"
13
+ fi
14
+
15
+ m4_include([libev.m4])
16
+
17
+ AC_CONFIG_FILES([Makefile])
18
+ AC_OUTPUT
@@ -0,0 +1,630 @@
1
+ #! /bin/sh
2
+ # depcomp - compile a program generating dependencies as side-effects
3
+
4
+ scriptversion=2009-04-28.21; # UTC
5
+
6
+ # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
7
+ # Software Foundation, Inc.
8
+
9
+ # This program is free software; you can redistribute it and/or modify
10
+ # it under the terms of the GNU General Public License as published by
11
+ # the Free Software Foundation; either version 2, or (at your option)
12
+ # any later version.
13
+
14
+ # This program is distributed in the hope that it will be useful,
15
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ # GNU General Public License for more details.
18
+
19
+ # You should have received a copy of the GNU General Public License
20
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
21
+
22
+ # As a special exception to the GNU General Public License, if you
23
+ # distribute this file as part of a program that contains a
24
+ # configuration script generated by Autoconf, you may include it under
25
+ # the same distribution terms that you use for the rest of that program.
26
+
27
+ # Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
28
+
29
+ case $1 in
30
+ '')
31
+ echo "$0: No command. Try \`$0 --help' for more information." 1>&2
32
+ exit 1;
33
+ ;;
34
+ -h | --h*)
35
+ cat <<\EOF
36
+ Usage: depcomp [--help] [--version] PROGRAM [ARGS]
37
+
38
+ Run PROGRAMS ARGS to compile a file, generating dependencies
39
+ as side-effects.
40
+
41
+ Environment variables:
42
+ depmode Dependency tracking mode.
43
+ source Source file read by `PROGRAMS ARGS'.
44
+ object Object file output by `PROGRAMS ARGS'.
45
+ DEPDIR directory where to store dependencies.
46
+ depfile Dependency file to output.
47
+ tmpdepfile Temporary file to use when outputing dependencies.
48
+ libtool Whether libtool is used (yes/no).
49
+
50
+ Report bugs to <bug-automake@gnu.org>.
51
+ EOF
52
+ exit $?
53
+ ;;
54
+ -v | --v*)
55
+ echo "depcomp $scriptversion"
56
+ exit $?
57
+ ;;
58
+ esac
59
+
60
+ if test -z "$depmode" || test -z "$source" || test -z "$object"; then
61
+ echo "depcomp: Variables source, object and depmode must be set" 1>&2
62
+ exit 1
63
+ fi
64
+
65
+ # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
66
+ depfile=${depfile-`echo "$object" |
67
+ sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
68
+ tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
69
+
70
+ rm -f "$tmpdepfile"
71
+
72
+ # Some modes work just like other modes, but use different flags. We
73
+ # parameterize here, but still list the modes in the big case below,
74
+ # to make depend.m4 easier to write. Note that we *cannot* use a case
75
+ # here, because this file can only contain one case statement.
76
+ if test "$depmode" = hp; then
77
+ # HP compiler uses -M and no extra arg.
78
+ gccflag=-M
79
+ depmode=gcc
80
+ fi
81
+
82
+ if test "$depmode" = dashXmstdout; then
83
+ # This is just like dashmstdout with a different argument.
84
+ dashmflag=-xM
85
+ depmode=dashmstdout
86
+ fi
87
+
88
+ cygpath_u="cygpath -u -f -"
89
+ if test "$depmode" = msvcmsys; then
90
+ # This is just like msvisualcpp but w/o cygpath translation.
91
+ # Just convert the backslash-escaped backslashes to single forward
92
+ # slashes to satisfy depend.m4
93
+ cygpath_u="sed s,\\\\\\\\,/,g"
94
+ depmode=msvisualcpp
95
+ fi
96
+
97
+ case "$depmode" in
98
+ gcc3)
99
+ ## gcc 3 implements dependency tracking that does exactly what
100
+ ## we want. Yay! Note: for some reason libtool 1.4 doesn't like
101
+ ## it if -MD -MP comes after the -MF stuff. Hmm.
102
+ ## Unfortunately, FreeBSD c89 acceptance of flags depends upon
103
+ ## the command line argument order; so add the flags where they
104
+ ## appear in depend2.am. Note that the slowdown incurred here
105
+ ## affects only configure: in makefiles, %FASTDEP% shortcuts this.
106
+ for arg
107
+ do
108
+ case $arg in
109
+ -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
110
+ *) set fnord "$@" "$arg" ;;
111
+ esac
112
+ shift # fnord
113
+ shift # $arg
114
+ done
115
+ "$@"
116
+ stat=$?
117
+ if test $stat -eq 0; then :
118
+ else
119
+ rm -f "$tmpdepfile"
120
+ exit $stat
121
+ fi
122
+ mv "$tmpdepfile" "$depfile"
123
+ ;;
124
+
125
+ gcc)
126
+ ## There are various ways to get dependency output from gcc. Here's
127
+ ## why we pick this rather obscure method:
128
+ ## - Don't want to use -MD because we'd like the dependencies to end
129
+ ## up in a subdir. Having to rename by hand is ugly.
130
+ ## (We might end up doing this anyway to support other compilers.)
131
+ ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
132
+ ## -MM, not -M (despite what the docs say).
133
+ ## - Using -M directly means running the compiler twice (even worse
134
+ ## than renaming).
135
+ if test -z "$gccflag"; then
136
+ gccflag=-MD,
137
+ fi
138
+ "$@" -Wp,"$gccflag$tmpdepfile"
139
+ stat=$?
140
+ if test $stat -eq 0; then :
141
+ else
142
+ rm -f "$tmpdepfile"
143
+ exit $stat
144
+ fi
145
+ rm -f "$depfile"
146
+ echo "$object : \\" > "$depfile"
147
+ alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
148
+ ## The second -e expression handles DOS-style file names with drive letters.
149
+ sed -e 's/^[^:]*: / /' \
150
+ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
151
+ ## This next piece of magic avoids the `deleted header file' problem.
152
+ ## The problem is that when a header file which appears in a .P file
153
+ ## is deleted, the dependency causes make to die (because there is
154
+ ## typically no way to rebuild the header). We avoid this by adding
155
+ ## dummy dependencies for each header file. Too bad gcc doesn't do
156
+ ## this for us directly.
157
+ tr ' ' '
158
+ ' < "$tmpdepfile" |
159
+ ## Some versions of gcc put a space before the `:'. On the theory
160
+ ## that the space means something, we add a space to the output as
161
+ ## well.
162
+ ## Some versions of the HPUX 10.20 sed can't process this invocation
163
+ ## correctly. Breaking it into two sed invocations is a workaround.
164
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
165
+ rm -f "$tmpdepfile"
166
+ ;;
167
+
168
+ hp)
169
+ # This case exists only to let depend.m4 do its work. It works by
170
+ # looking at the text of this script. This case will never be run,
171
+ # since it is checked for above.
172
+ exit 1
173
+ ;;
174
+
175
+ sgi)
176
+ if test "$libtool" = yes; then
177
+ "$@" "-Wp,-MDupdate,$tmpdepfile"
178
+ else
179
+ "$@" -MDupdate "$tmpdepfile"
180
+ fi
181
+ stat=$?
182
+ if test $stat -eq 0; then :
183
+ else
184
+ rm -f "$tmpdepfile"
185
+ exit $stat
186
+ fi
187
+ rm -f "$depfile"
188
+
189
+ if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
190
+ echo "$object : \\" > "$depfile"
191
+
192
+ # Clip off the initial element (the dependent). Don't try to be
193
+ # clever and replace this with sed code, as IRIX sed won't handle
194
+ # lines with more than a fixed number of characters (4096 in
195
+ # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
196
+ # the IRIX cc adds comments like `#:fec' to the end of the
197
+ # dependency line.
198
+ tr ' ' '
199
+ ' < "$tmpdepfile" \
200
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
201
+ tr '
202
+ ' ' ' >> "$depfile"
203
+ echo >> "$depfile"
204
+
205
+ # The second pass generates a dummy entry for each header file.
206
+ tr ' ' '
207
+ ' < "$tmpdepfile" \
208
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
209
+ >> "$depfile"
210
+ else
211
+ # The sourcefile does not contain any dependencies, so just
212
+ # store a dummy comment line, to avoid errors with the Makefile
213
+ # "include basename.Plo" scheme.
214
+ echo "#dummy" > "$depfile"
215
+ fi
216
+ rm -f "$tmpdepfile"
217
+ ;;
218
+
219
+ aix)
220
+ # The C for AIX Compiler uses -M and outputs the dependencies
221
+ # in a .u file. In older versions, this file always lives in the
222
+ # current directory. Also, the AIX compiler puts `$object:' at the
223
+ # start of each line; $object doesn't have directory information.
224
+ # Version 6 uses the directory in both cases.
225
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
226
+ test "x$dir" = "x$object" && dir=
227
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
228
+ if test "$libtool" = yes; then
229
+ tmpdepfile1=$dir$base.u
230
+ tmpdepfile2=$base.u
231
+ tmpdepfile3=$dir.libs/$base.u
232
+ "$@" -Wc,-M
233
+ else
234
+ tmpdepfile1=$dir$base.u
235
+ tmpdepfile2=$dir$base.u
236
+ tmpdepfile3=$dir$base.u
237
+ "$@" -M
238
+ fi
239
+ stat=$?
240
+
241
+ if test $stat -eq 0; then :
242
+ else
243
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
244
+ exit $stat
245
+ fi
246
+
247
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
248
+ do
249
+ test -f "$tmpdepfile" && break
250
+ done
251
+ if test -f "$tmpdepfile"; then
252
+ # Each line is of the form `foo.o: dependent.h'.
253
+ # Do two passes, one to just change these to
254
+ # `$object: dependent.h' and one to simply `dependent.h:'.
255
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
256
+ # That's a tab and a space in the [].
257
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
258
+ else
259
+ # The sourcefile does not contain any dependencies, so just
260
+ # store a dummy comment line, to avoid errors with the Makefile
261
+ # "include basename.Plo" scheme.
262
+ echo "#dummy" > "$depfile"
263
+ fi
264
+ rm -f "$tmpdepfile"
265
+ ;;
266
+
267
+ icc)
268
+ # Intel's C compiler understands `-MD -MF file'. However on
269
+ # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
270
+ # ICC 7.0 will fill foo.d with something like
271
+ # foo.o: sub/foo.c
272
+ # foo.o: sub/foo.h
273
+ # which is wrong. We want:
274
+ # sub/foo.o: sub/foo.c
275
+ # sub/foo.o: sub/foo.h
276
+ # sub/foo.c:
277
+ # sub/foo.h:
278
+ # ICC 7.1 will output
279
+ # foo.o: sub/foo.c sub/foo.h
280
+ # and will wrap long lines using \ :
281
+ # foo.o: sub/foo.c ... \
282
+ # sub/foo.h ... \
283
+ # ...
284
+
285
+ "$@" -MD -MF "$tmpdepfile"
286
+ stat=$?
287
+ if test $stat -eq 0; then :
288
+ else
289
+ rm -f "$tmpdepfile"
290
+ exit $stat
291
+ fi
292
+ rm -f "$depfile"
293
+ # Each line is of the form `foo.o: dependent.h',
294
+ # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
295
+ # Do two passes, one to just change these to
296
+ # `$object: dependent.h' and one to simply `dependent.h:'.
297
+ sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
298
+ # Some versions of the HPUX 10.20 sed can't process this invocation
299
+ # correctly. Breaking it into two sed invocations is a workaround.
300
+ sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
301
+ sed -e 's/$/ :/' >> "$depfile"
302
+ rm -f "$tmpdepfile"
303
+ ;;
304
+
305
+ hp2)
306
+ # The "hp" stanza above does not work with aCC (C++) and HP's ia64
307
+ # compilers, which have integrated preprocessors. The correct option
308
+ # to use with these is +Maked; it writes dependencies to a file named
309
+ # 'foo.d', which lands next to the object file, wherever that
310
+ # happens to be.
311
+ # Much of this is similar to the tru64 case; see comments there.
312
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
313
+ test "x$dir" = "x$object" && dir=
314
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
315
+ if test "$libtool" = yes; then
316
+ tmpdepfile1=$dir$base.d
317
+ tmpdepfile2=$dir.libs/$base.d
318
+ "$@" -Wc,+Maked
319
+ else
320
+ tmpdepfile1=$dir$base.d
321
+ tmpdepfile2=$dir$base.d
322
+ "$@" +Maked
323
+ fi
324
+ stat=$?
325
+ if test $stat -eq 0; then :
326
+ else
327
+ rm -f "$tmpdepfile1" "$tmpdepfile2"
328
+ exit $stat
329
+ fi
330
+
331
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
332
+ do
333
+ test -f "$tmpdepfile" && break
334
+ done
335
+ if test -f "$tmpdepfile"; then
336
+ sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
337
+ # Add `dependent.h:' lines.
338
+ sed -ne '2,${
339
+ s/^ *//
340
+ s/ \\*$//
341
+ s/$/:/
342
+ p
343
+ }' "$tmpdepfile" >> "$depfile"
344
+ else
345
+ echo "#dummy" > "$depfile"
346
+ fi
347
+ rm -f "$tmpdepfile" "$tmpdepfile2"
348
+ ;;
349
+
350
+ tru64)
351
+ # The Tru64 compiler uses -MD to generate dependencies as a side
352
+ # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
353
+ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
354
+ # dependencies in `foo.d' instead, so we check for that too.
355
+ # Subdirectories are respected.
356
+ dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
357
+ test "x$dir" = "x$object" && dir=
358
+ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
359
+
360
+ if test "$libtool" = yes; then
361
+ # With Tru64 cc, shared objects can also be used to make a
362
+ # static library. This mechanism is used in libtool 1.4 series to
363
+ # handle both shared and static libraries in a single compilation.
364
+ # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
365
+ #
366
+ # With libtool 1.5 this exception was removed, and libtool now
367
+ # generates 2 separate objects for the 2 libraries. These two
368
+ # compilations output dependencies in $dir.libs/$base.o.d and
369
+ # in $dir$base.o.d. We have to check for both files, because
370
+ # one of the two compilations can be disabled. We should prefer
371
+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
372
+ # automatically cleaned when .libs/ is deleted, while ignoring
373
+ # the former would cause a distcleancheck panic.
374
+ tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
375
+ tmpdepfile2=$dir$base.o.d # libtool 1.5
376
+ tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
377
+ tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
378
+ "$@" -Wc,-MD
379
+ else
380
+ tmpdepfile1=$dir$base.o.d
381
+ tmpdepfile2=$dir$base.d
382
+ tmpdepfile3=$dir$base.d
383
+ tmpdepfile4=$dir$base.d
384
+ "$@" -MD
385
+ fi
386
+
387
+ stat=$?
388
+ if test $stat -eq 0; then :
389
+ else
390
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
391
+ exit $stat
392
+ fi
393
+
394
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
395
+ do
396
+ test -f "$tmpdepfile" && break
397
+ done
398
+ if test -f "$tmpdepfile"; then
399
+ sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
400
+ # That's a tab and a space in the [].
401
+ sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
402
+ else
403
+ echo "#dummy" > "$depfile"
404
+ fi
405
+ rm -f "$tmpdepfile"
406
+ ;;
407
+
408
+ #nosideeffect)
409
+ # This comment above is used by automake to tell side-effect
410
+ # dependency tracking mechanisms from slower ones.
411
+
412
+ dashmstdout)
413
+ # Important note: in order to support this mode, a compiler *must*
414
+ # always write the preprocessed file to stdout, regardless of -o.
415
+ "$@" || exit $?
416
+
417
+ # Remove the call to Libtool.
418
+ if test "$libtool" = yes; then
419
+ while test "X$1" != 'X--mode=compile'; do
420
+ shift
421
+ done
422
+ shift
423
+ fi
424
+
425
+ # Remove `-o $object'.
426
+ IFS=" "
427
+ for arg
428
+ do
429
+ case $arg in
430
+ -o)
431
+ shift
432
+ ;;
433
+ $object)
434
+ shift
435
+ ;;
436
+ *)
437
+ set fnord "$@" "$arg"
438
+ shift # fnord
439
+ shift # $arg
440
+ ;;
441
+ esac
442
+ done
443
+
444
+ test -z "$dashmflag" && dashmflag=-M
445
+ # Require at least two characters before searching for `:'
446
+ # in the target name. This is to cope with DOS-style filenames:
447
+ # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
448
+ "$@" $dashmflag |
449
+ sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
450
+ rm -f "$depfile"
451
+ cat < "$tmpdepfile" > "$depfile"
452
+ tr ' ' '
453
+ ' < "$tmpdepfile" | \
454
+ ## Some versions of the HPUX 10.20 sed can't process this invocation
455
+ ## correctly. Breaking it into two sed invocations is a workaround.
456
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
457
+ rm -f "$tmpdepfile"
458
+ ;;
459
+
460
+ dashXmstdout)
461
+ # This case only exists to satisfy depend.m4. It is never actually
462
+ # run, as this mode is specially recognized in the preamble.
463
+ exit 1
464
+ ;;
465
+
466
+ makedepend)
467
+ "$@" || exit $?
468
+ # Remove any Libtool call
469
+ if test "$libtool" = yes; then
470
+ while test "X$1" != 'X--mode=compile'; do
471
+ shift
472
+ done
473
+ shift
474
+ fi
475
+ # X makedepend
476
+ shift
477
+ cleared=no eat=no
478
+ for arg
479
+ do
480
+ case $cleared in
481
+ no)
482
+ set ""; shift
483
+ cleared=yes ;;
484
+ esac
485
+ if test $eat = yes; then
486
+ eat=no
487
+ continue
488
+ fi
489
+ case "$arg" in
490
+ -D*|-I*)
491
+ set fnord "$@" "$arg"; shift ;;
492
+ # Strip any option that makedepend may not understand. Remove
493
+ # the object too, otherwise makedepend will parse it as a source file.
494
+ -arch)
495
+ eat=yes ;;
496
+ -*|$object)
497
+ ;;
498
+ *)
499
+ set fnord "$@" "$arg"; shift ;;
500
+ esac
501
+ done
502
+ obj_suffix=`echo "$object" | sed 's/^.*\././'`
503
+ touch "$tmpdepfile"
504
+ ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
505
+ rm -f "$depfile"
506
+ cat < "$tmpdepfile" > "$depfile"
507
+ sed '1,2d' "$tmpdepfile" | tr ' ' '
508
+ ' | \
509
+ ## Some versions of the HPUX 10.20 sed can't process this invocation
510
+ ## correctly. Breaking it into two sed invocations is a workaround.
511
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
512
+ rm -f "$tmpdepfile" "$tmpdepfile".bak
513
+ ;;
514
+
515
+ cpp)
516
+ # Important note: in order to support this mode, a compiler *must*
517
+ # always write the preprocessed file to stdout.
518
+ "$@" || exit $?
519
+
520
+ # Remove the call to Libtool.
521
+ if test "$libtool" = yes; then
522
+ while test "X$1" != 'X--mode=compile'; do
523
+ shift
524
+ done
525
+ shift
526
+ fi
527
+
528
+ # Remove `-o $object'.
529
+ IFS=" "
530
+ for arg
531
+ do
532
+ case $arg in
533
+ -o)
534
+ shift
535
+ ;;
536
+ $object)
537
+ shift
538
+ ;;
539
+ *)
540
+ set fnord "$@" "$arg"
541
+ shift # fnord
542
+ shift # $arg
543
+ ;;
544
+ esac
545
+ done
546
+
547
+ "$@" -E |
548
+ sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
549
+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
550
+ sed '$ s: \\$::' > "$tmpdepfile"
551
+ rm -f "$depfile"
552
+ echo "$object : \\" > "$depfile"
553
+ cat < "$tmpdepfile" >> "$depfile"
554
+ sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
555
+ rm -f "$tmpdepfile"
556
+ ;;
557
+
558
+ msvisualcpp)
559
+ # Important note: in order to support this mode, a compiler *must*
560
+ # always write the preprocessed file to stdout.
561
+ "$@" || exit $?
562
+
563
+ # Remove the call to Libtool.
564
+ if test "$libtool" = yes; then
565
+ while test "X$1" != 'X--mode=compile'; do
566
+ shift
567
+ done
568
+ shift
569
+ fi
570
+
571
+ IFS=" "
572
+ for arg
573
+ do
574
+ case "$arg" in
575
+ -o)
576
+ shift
577
+ ;;
578
+ $object)
579
+ shift
580
+ ;;
581
+ "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
582
+ set fnord "$@"
583
+ shift
584
+ shift
585
+ ;;
586
+ *)
587
+ set fnord "$@" "$arg"
588
+ shift
589
+ shift
590
+ ;;
591
+ esac
592
+ done
593
+ "$@" -E 2>/dev/null |
594
+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
595
+ rm -f "$depfile"
596
+ echo "$object : \\" > "$depfile"
597
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
598
+ echo " " >> "$depfile"
599
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
600
+ rm -f "$tmpdepfile"
601
+ ;;
602
+
603
+ msvcmsys)
604
+ # This case exists only to let depend.m4 do its work. It works by
605
+ # looking at the text of this script. This case will never be run,
606
+ # since it is checked for above.
607
+ exit 1
608
+ ;;
609
+
610
+ none)
611
+ exec "$@"
612
+ ;;
613
+
614
+ *)
615
+ echo "Unknown depmode $depmode" 1>&2
616
+ exit 1
617
+ ;;
618
+ esac
619
+
620
+ exit 0
621
+
622
+ # Local Variables:
623
+ # mode: shell-script
624
+ # sh-indentation: 2
625
+ # eval: (add-hook 'write-file-hooks 'time-stamp)
626
+ # time-stamp-start: "scriptversion="
627
+ # time-stamp-format: "%:y-%02m-%02d.%02H"
628
+ # time-stamp-time-zone: "UTC"
629
+ # time-stamp-end: "; # UTC"
630
+ # End: