webruby 0.1.2 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (518) hide show
  1. checksums.yaml +4 -4
  2. data/driver/driver.c +12 -0
  3. data/lib/webruby/config.rb +3 -3
  4. data/lib/webruby/environment.rb +1 -0
  5. data/lib/webruby/rake/files.rake +22 -22
  6. data/lib/webruby/rake/general.rake +0 -1
  7. data/lib/webruby/utility.rb +2 -0
  8. data/modules/emscripten/AUTHORS +12 -1
  9. data/modules/emscripten/cmake/Platform/Emscripten.cmake +152 -15
  10. data/modules/emscripten/em++ +2 -0
  11. data/modules/emscripten/em++.bat +1 -1
  12. data/modules/emscripten/em-config.bat +1 -1
  13. data/modules/emscripten/emar.bat +1 -1
  14. data/modules/emscripten/emcc +233 -95
  15. data/modules/emscripten/emcc.bat +1 -1
  16. data/modules/emscripten/emconfigure.bat +1 -1
  17. data/modules/emscripten/emmake.bat +1 -1
  18. data/modules/emscripten/emranlib.bat +1 -1
  19. data/modules/emscripten/emscripten.py +221 -217
  20. data/modules/emscripten/package.json +7 -0
  21. data/modules/emscripten/src/analyzer.js +1437 -1385
  22. data/modules/emscripten/src/compiler.js +30 -6
  23. data/modules/emscripten/src/compiler_phase.html +33 -0
  24. data/modules/emscripten/src/fastLong.js +6 -6
  25. data/modules/emscripten/src/headless.js +47 -656
  26. data/modules/emscripten/src/headlessCanvas.js +618 -0
  27. data/modules/emscripten/src/intertyper.js +1038 -899
  28. data/modules/emscripten/src/jsifier.js +818 -714
  29. data/modules/emscripten/src/library.js +1794 -2968
  30. data/modules/emscripten/src/library_browser.js +81 -16
  31. data/modules/emscripten/src/library_egl.js +9 -3
  32. data/modules/emscripten/src/library_fs.js +1585 -0
  33. data/modules/emscripten/src/library_gl.js +445 -202
  34. data/modules/emscripten/src/library_glfw.js +4 -1
  35. data/modules/emscripten/src/library_glut.js +61 -13
  36. data/modules/emscripten/src/library_idbfs.js +216 -0
  37. data/modules/emscripten/src/library_memfs.js +279 -0
  38. data/modules/emscripten/src/library_nodefs.js +234 -0
  39. data/modules/emscripten/src/library_openal.js +131 -150
  40. data/modules/emscripten/src/library_path.js +3 -0
  41. data/modules/emscripten/src/library_sdl.js +499 -229
  42. data/modules/emscripten/src/library_sockfs.js +576 -0
  43. data/modules/emscripten/src/library_tty.js +146 -0
  44. data/modules/emscripten/src/modules.js +30 -35
  45. data/modules/emscripten/src/parseTools.js +356 -161
  46. data/modules/emscripten/src/postamble.js +76 -31
  47. data/modules/emscripten/src/preamble.js +271 -41
  48. data/modules/emscripten/src/proxyClient.js +82 -0
  49. data/modules/emscripten/src/proxyWorker.js +143 -0
  50. data/modules/emscripten/src/relooper/Relooper.cpp +60 -24
  51. data/modules/emscripten/src/relooper/Relooper.h +3 -2
  52. data/modules/emscripten/src/relooper/emscripten/glue.js +20 -10
  53. data/modules/emscripten/src/relooper/fuzzer.py +19 -10
  54. data/modules/emscripten/src/relooper/test.cpp +50 -50
  55. data/modules/emscripten/src/relooper/test.txt +147 -30
  56. data/modules/emscripten/src/relooper/test2.c +13 -13
  57. data/modules/emscripten/src/relooper/test2.txt +17 -3
  58. data/modules/emscripten/src/relooper/test3.c +7 -7
  59. data/modules/emscripten/src/relooper/test3.txt +36 -7
  60. data/modules/emscripten/src/relooper/test4.cpp +7 -7
  61. data/modules/emscripten/src/relooper/test4.txt +28 -7
  62. data/modules/emscripten/src/relooper/test5.cpp +6 -6
  63. data/modules/emscripten/src/relooper/test5.txt +34 -10
  64. data/modules/emscripten/src/relooper/test6.cpp +4 -4
  65. data/modules/emscripten/src/relooper/test6.txt +17 -3
  66. data/modules/emscripten/src/relooper/test_dead.cpp +2 -2
  67. data/modules/emscripten/src/relooper/test_debug.cpp +4 -4
  68. data/modules/emscripten/src/relooper/test_debug.txt +17 -3
  69. data/modules/emscripten/src/relooper/test_fuzz1.cpp +9 -9
  70. data/modules/emscripten/src/relooper/test_fuzz1.txt +45 -5
  71. data/modules/emscripten/src/relooper/test_fuzz2.cpp +4 -4
  72. data/modules/emscripten/src/relooper/test_fuzz2.txt +18 -1
  73. data/modules/emscripten/src/relooper/test_fuzz3.cpp +5 -5
  74. data/modules/emscripten/src/relooper/test_fuzz3.txt +16 -0
  75. data/modules/emscripten/src/relooper/test_fuzz4.cpp +5 -5
  76. data/modules/emscripten/src/relooper/test_fuzz4.txt +25 -3
  77. data/modules/emscripten/src/relooper/test_fuzz5.cpp +10 -10
  78. data/modules/emscripten/src/relooper/test_fuzz5.txt +49 -15
  79. data/modules/emscripten/src/relooper/test_fuzz6.cpp +92 -92
  80. data/modules/emscripten/src/relooper/test_fuzz6.txt +201 -18
  81. data/modules/emscripten/src/relooper/test_inf.cpp +184 -184
  82. data/modules/emscripten/src/relooper/test_inf.txt +1078 -332
  83. data/modules/emscripten/src/runtime.js +69 -45
  84. data/modules/emscripten/src/settings.js +48 -919
  85. data/modules/emscripten/src/shell.html +1 -1
  86. data/modules/emscripten/src/shell.js +14 -8
  87. data/modules/emscripten/src/shell_sharedlib.js +18 -1
  88. data/modules/emscripten/src/simd.js +958 -0
  89. data/modules/emscripten/src/struct_info.json +1045 -0
  90. data/modules/emscripten/src/utility.js +11 -0
  91. data/modules/emscripten/system/bin/sdl-config +13 -0
  92. data/modules/emscripten/system/include/compat/ctype.h +17 -0
  93. data/modules/emscripten/system/include/compat/malloc.h +48 -0
  94. data/modules/emscripten/system/include/compat/math.h +14 -0
  95. data/modules/emscripten/system/include/compat/netdb.h +22 -0
  96. data/modules/emscripten/system/include/compat/stdarg.h +16 -0
  97. data/modules/emscripten/system/include/compat/stdlib.h +16 -0
  98. data/modules/emscripten/system/include/compat/string.h +17 -0
  99. data/modules/emscripten/system/include/compat/sys/socketvar.h +14 -0
  100. data/modules/emscripten/system/include/compat/sys/stat.h +20 -0
  101. data/modules/emscripten/system/include/{libc → compat}/sys/timeb.h +3 -7
  102. data/modules/emscripten/system/include/compat/time.h +18 -0
  103. data/modules/emscripten/system/include/compat/unistd.h +16 -0
  104. data/modules/emscripten/system/include/compat/xlocale.h +19 -0
  105. data/modules/emscripten/system/include/emscripten/emscripten.h +48 -7
  106. data/modules/emscripten/system/include/emscripten/vector.h +6 -0
  107. data/modules/emscripten/system/include/libc/aio.h +69 -0
  108. data/modules/emscripten/system/include/libc/alloca.h +13 -13
  109. data/modules/emscripten/system/include/libc/ar.h +19 -63
  110. data/modules/emscripten/system/include/libc/arpa/ftp.h +35 -0
  111. data/modules/emscripten/system/include/libc/arpa/inet.h +36 -0
  112. data/modules/emscripten/system/include/libc/arpa/nameser.h +467 -0
  113. data/modules/emscripten/system/include/libc/arpa/nameser_compat.h +2 -0
  114. data/modules/emscripten/system/include/libc/arpa/telnet.h +251 -0
  115. data/modules/emscripten/system/include/libc/arpa/tftp.h +31 -0
  116. data/modules/emscripten/system/include/libc/assert.h +9 -36
  117. data/modules/emscripten/system/include/libc/bits/alltypes.h +397 -0
  118. data/modules/emscripten/system/include/libc/bits/endian.h +1 -0
  119. data/modules/emscripten/system/include/libc/bits/errno.h +134 -0
  120. data/modules/emscripten/system/include/libc/bits/fcntl.h +38 -0
  121. data/modules/emscripten/system/include/libc/bits/fenv.h +34 -0
  122. data/modules/emscripten/system/include/libc/bits/float.h +17 -0
  123. data/modules/emscripten/system/include/libc/bits/io.h +0 -0
  124. data/modules/emscripten/system/include/libc/bits/ioctl.h +197 -0
  125. data/modules/emscripten/system/include/libc/bits/ipc.h +14 -0
  126. data/modules/emscripten/system/include/libc/bits/limits.h +8 -0
  127. data/modules/emscripten/system/include/libc/bits/mman.h +62 -0
  128. data/modules/emscripten/system/include/libc/bits/msg.h +16 -0
  129. data/modules/emscripten/system/include/libc/bits/posix.h +2 -0
  130. data/modules/emscripten/system/include/libc/bits/reg.h +19 -0
  131. data/modules/emscripten/system/include/libc/bits/setjmp.h +1 -0
  132. data/modules/emscripten/system/include/libc/bits/shm.h +18 -0
  133. data/modules/emscripten/system/include/libc/bits/signal.h +112 -0
  134. data/modules/emscripten/system/include/libc/bits/socket.h +17 -0
  135. data/modules/emscripten/system/include/libc/bits/stat.h +22 -0
  136. data/modules/emscripten/system/include/libc/bits/statfs.h +7 -0
  137. data/modules/emscripten/system/include/libc/bits/stdarg.h +4 -0
  138. data/modules/emscripten/system/include/libc/bits/stdint.h +20 -0
  139. data/modules/emscripten/system/include/libc/bits/syscall.h +696 -0
  140. data/modules/emscripten/system/include/libc/bits/termios.h +160 -0
  141. data/modules/emscripten/system/include/libc/bits/user.h +48 -0
  142. data/modules/emscripten/system/include/libc/byteswap.h +26 -0
  143. data/modules/emscripten/system/include/libc/complex.h +55 -54
  144. data/modules/emscripten/system/include/libc/cpio.h +29 -0
  145. data/modules/emscripten/system/include/libc/crypt.h +20 -0
  146. data/modules/emscripten/system/include/libc/ctype.h +58 -187
  147. data/modules/emscripten/system/include/libc/dirent.h +69 -6
  148. data/modules/emscripten/system/include/libc/dlfcn.h +42 -0
  149. data/modules/emscripten/system/include/libc/elf.h +2555 -0
  150. data/modules/emscripten/system/include/libc/endian.h +80 -1
  151. data/modules/emscripten/system/include/libc/err.h +25 -0
  152. data/modules/emscripten/system/include/libc/errno.h +23 -7
  153. data/modules/emscripten/system/include/libc/fcntl.h +175 -1
  154. data/modules/emscripten/system/include/libc/features.h +32 -0
  155. data/modules/emscripten/system/include/libc/fenv.h +28 -0
  156. data/modules/emscripten/system/include/libc/float.h +34 -0
  157. data/modules/emscripten/system/include/libc/fnmatch.h +24 -50
  158. data/modules/emscripten/system/include/libc/ftw.h +42 -0
  159. data/modules/emscripten/system/include/libc/getopt.h +22 -187
  160. data/modules/emscripten/system/include/libc/glob.h +42 -83
  161. data/modules/emscripten/system/include/libc/grp.h +37 -79
  162. data/modules/emscripten/system/include/libc/iconv.h +18 -56
  163. data/modules/emscripten/system/include/libc/ifaddrs.h +24 -53
  164. data/modules/emscripten/system/include/libc/inttypes.h +208 -271
  165. data/modules/emscripten/system/include/libc/iso646.h +5 -28
  166. data/modules/emscripten/system/include/libc/langinfo.h +88 -316
  167. data/modules/emscripten/system/include/libc/lastlog.h +1 -0
  168. data/modules/emscripten/system/include/libc/libgen.h +5 -13
  169. data/modules/emscripten/system/include/libc/libintl.h +25 -0
  170. data/modules/emscripten/system/include/libc/limits.h +140 -149
  171. data/modules/emscripten/system/include/libc/link.h +54 -0
  172. data/modules/emscripten/system/include/libc/locale.h +72 -70
  173. data/modules/emscripten/system/include/libc/malloc.h +0 -169
  174. data/modules/emscripten/system/include/libc/math.h +393 -573
  175. data/modules/emscripten/system/include/libc/memory.h +1 -0
  176. data/modules/emscripten/system/include/libc/mntent.h +44 -0
  177. data/modules/emscripten/system/include/libc/monetary.h +23 -0
  178. data/modules/emscripten/system/include/libc/mqueue.h +36 -0
  179. data/modules/emscripten/system/include/libc/net/ethernet.h +55 -0
  180. data/modules/emscripten/system/include/libc/net/if.h +135 -0
  181. data/modules/emscripten/system/include/libc/net/if_arp.h +133 -0
  182. data/modules/emscripten/system/include/libc/net/route.h +124 -0
  183. data/modules/emscripten/system/include/libc/netdb.h +161 -0
  184. data/modules/emscripten/system/include/libc/netinet/ether.h +14 -0
  185. data/modules/emscripten/system/include/libc/netinet/icmp6.h +305 -0
  186. data/modules/emscripten/system/include/libc/netinet/if_ether.h +126 -0
  187. data/modules/emscripten/system/include/libc/netinet/in.h +336 -0
  188. data/modules/emscripten/system/include/libc/netinet/in_systm.h +9 -0
  189. data/modules/emscripten/system/include/libc/netinet/ip.h +186 -0
  190. data/modules/emscripten/system/include/libc/netinet/ip6.h +142 -0
  191. data/modules/emscripten/system/include/libc/netinet/ip_icmp.h +192 -0
  192. data/modules/emscripten/system/include/libc/netinet/tcp.h +71 -0
  193. data/modules/emscripten/system/include/libc/netinet/udp.h +35 -0
  194. data/modules/emscripten/system/include/libc/netpacket/packet.h +44 -0
  195. data/modules/emscripten/system/include/libc/nl_types.h +22 -0
  196. data/modules/emscripten/system/include/libc/paths.h +30 -5
  197. data/modules/emscripten/system/include/libc/poll.h +46 -0
  198. data/modules/emscripten/system/include/libc/pthread.h +191 -331
  199. data/modules/emscripten/system/include/libc/pty.h +18 -0
  200. data/modules/emscripten/system/include/libc/pwd.h +33 -62
  201. data/modules/emscripten/system/include/libc/readme.txt +2 -2
  202. data/modules/emscripten/system/include/libc/regex.h +53 -93
  203. data/modules/emscripten/system/include/libc/resolv.h +144 -0
  204. data/modules/emscripten/system/include/libc/sched.h +124 -89
  205. data/modules/emscripten/system/include/libc/search.h +40 -48
  206. data/modules/emscripten/system/include/libc/semaphore.h +35 -0
  207. data/modules/emscripten/system/include/libc/setjmp.h +35 -13
  208. data/modules/emscripten/system/include/libc/shadow.h +44 -0
  209. data/modules/emscripten/system/include/libc/signal.h +245 -20
  210. data/modules/emscripten/system/include/libc/spawn.h +74 -0
  211. data/modules/emscripten/system/include/libc/stdalign.h +15 -0
  212. data/modules/emscripten/system/include/libc/stdarg.h +18 -43
  213. data/modules/emscripten/system/include/libc/stdbool.h +14 -0
  214. data/modules/emscripten/system/include/libc/stddef.h +12 -58
  215. data/modules/emscripten/system/include/libc/stdint.h +82 -458
  216. data/modules/emscripten/system/include/libc/stdio.h +184 -679
  217. data/modules/emscripten/system/include/libc/stdio_ext.h +34 -0
  218. data/modules/emscripten/system/include/libc/stdlib.h +146 -205
  219. data/modules/emscripten/system/include/libc/stdnoreturn.h +5 -0
  220. data/modules/emscripten/system/include/libc/string.h +86 -89
  221. data/modules/emscripten/system/include/libc/strings.h +27 -27
  222. data/modules/emscripten/system/include/libc/stropts.h +139 -0
  223. data/modules/emscripten/system/include/libc/sys/acct.h +75 -0
  224. data/modules/emscripten/system/include/libc/sys/cachectl.h +22 -0
  225. data/modules/emscripten/system/include/libc/sys/dir.h +0 -8
  226. data/modules/emscripten/system/include/libc/sys/epoll.h +67 -0
  227. data/modules/emscripten/system/include/libc/sys/errno.h +2 -190
  228. data/modules/emscripten/system/include/libc/sys/eventfd.h +26 -0
  229. data/modules/emscripten/system/include/libc/sys/fcntl.h +2 -4
  230. data/modules/emscripten/system/include/libc/sys/file.h +20 -1
  231. data/modules/emscripten/system/include/libc/sys/fsuid.h +20 -0
  232. data/modules/emscripten/system/include/libc/sys/inotify.h +57 -0
  233. data/modules/emscripten/system/include/libc/sys/io.h +17 -0
  234. data/modules/emscripten/system/include/libc/sys/ioctl.h +14 -0
  235. data/modules/emscripten/system/include/libc/sys/ipc.h +42 -0
  236. data/modules/emscripten/system/include/{sys/sysctl.h → libc/sys/klog.h} +4 -4
  237. data/modules/emscripten/system/include/libc/sys/mman.h +55 -0
  238. data/modules/emscripten/system/include/libc/sys/mount.h +72 -0
  239. data/modules/emscripten/system/include/libc/sys/msg.h +52 -0
  240. data/modules/emscripten/system/include/libc/sys/mtio.h +188 -0
  241. data/modules/emscripten/system/include/libc/sys/param.h +29 -19
  242. data/modules/emscripten/system/include/libc/sys/personality.h +46 -0
  243. data/modules/emscripten/system/include/libc/sys/poll.h +2 -0
  244. data/modules/emscripten/system/include/libc/sys/prctl.h +101 -0
  245. data/modules/emscripten/system/include/libc/sys/procfs.h +65 -0
  246. data/modules/emscripten/system/include/libc/sys/ptrace.h +96 -0
  247. data/modules/emscripten/system/include/libc/sys/reboot.h +20 -0
  248. data/modules/emscripten/system/include/libc/sys/reg.h +9 -0
  249. data/modules/emscripten/system/include/libc/sys/resource.h +89 -45
  250. data/modules/emscripten/system/include/libc/sys/select.h +42 -0
  251. data/modules/emscripten/system/include/libc/sys/sem.h +82 -0
  252. data/modules/emscripten/system/include/libc/sys/sendfile.h +22 -0
  253. data/modules/emscripten/system/include/libc/sys/shm.h +61 -0
  254. data/modules/emscripten/system/include/libc/sys/signal.h +1 -315
  255. data/modules/emscripten/system/include/libc/sys/signalfd.h +44 -0
  256. data/modules/emscripten/system/include/libc/sys/socket.h +299 -0
  257. data/modules/emscripten/system/include/libc/sys/stat.h +95 -204
  258. data/modules/emscripten/system/include/libc/sys/statfs.h +32 -0
  259. data/modules/emscripten/system/include/libc/sys/statvfs.h +57 -0
  260. data/modules/emscripten/system/include/libc/sys/stropts.h +1 -0
  261. data/modules/emscripten/system/include/libc/sys/swap.h +21 -0
  262. data/modules/emscripten/system/include/libc/sys/syscall.h +6 -0
  263. data/modules/emscripten/system/include/libc/sys/sysctl.h +17 -0
  264. data/modules/emscripten/system/include/libc/sys/sysinfo.h +36 -0
  265. data/modules/emscripten/system/include/libc/sys/syslog.h +1 -0
  266. data/modules/emscripten/system/include/libc/sys/sysmacros.h +15 -0
  267. data/modules/emscripten/system/include/libc/sys/termios.h +2 -280
  268. data/modules/emscripten/system/include/libc/sys/time.h +40 -68
  269. data/modules/emscripten/system/include/libc/sys/timerfd.h +24 -0
  270. data/modules/emscripten/system/include/libc/sys/times.h +14 -16
  271. data/modules/emscripten/system/include/libc/sys/timex.h +98 -0
  272. data/modules/emscripten/system/include/libc/sys/ttydefaults.h +34 -92
  273. data/modules/emscripten/system/include/libc/sys/types.h +87 -481
  274. data/modules/emscripten/system/include/libc/sys/ucontext.h +1 -0
  275. data/modules/emscripten/system/include/libc/sys/uio.h +48 -0
  276. data/modules/emscripten/system/include/libc/sys/un.h +32 -0
  277. data/modules/emscripten/system/include/libc/sys/user.h +16 -0
  278. data/modules/emscripten/system/include/libc/sys/utsname.h +30 -0
  279. data/modules/emscripten/system/include/libc/sys/vfs.h +1 -0
  280. data/modules/emscripten/system/include/libc/sys/wait.h +41 -26
  281. data/modules/emscripten/system/include/libc/sys/xattr.h +30 -0
  282. data/modules/emscripten/system/include/libc/syscall.h +1 -0
  283. data/modules/emscripten/system/include/libc/sysexits.h +21 -0
  284. data/modules/emscripten/system/include/libc/syslog.h +104 -0
  285. data/modules/emscripten/system/include/libc/tar.h +27 -33
  286. data/modules/emscripten/system/include/libc/termios.h +40 -1
  287. data/modules/emscripten/system/include/libc/tgmath.h +270 -0
  288. data/modules/emscripten/system/include/libc/time.h +96 -237
  289. data/modules/emscripten/system/include/libc/ucontext.h +25 -0
  290. data/modules/emscripten/system/include/libc/ulimit.h +17 -0
  291. data/modules/emscripten/system/include/libc/unistd.h +517 -4
  292. data/modules/emscripten/system/include/libc/utime.h +15 -3
  293. data/modules/emscripten/system/include/libc/utmp.h +40 -1
  294. data/modules/emscripten/system/include/libc/utmpx.h +58 -0
  295. data/modules/emscripten/system/include/libc/values.h +39 -0
  296. data/modules/emscripten/system/include/libc/wchar.h +164 -175
  297. data/modules/emscripten/system/include/libc/wctype.h +67 -37
  298. data/modules/emscripten/system/include/libc/wordexp.h +31 -42
  299. data/modules/emscripten/system/include/libcxx/__locale +6 -6
  300. data/modules/emscripten/system/include/libcxx/locale +1 -1
  301. data/modules/emscripten/system/lib/libc/musl/readme.txt +9 -1
  302. data/modules/emscripten/system/lib/libc/musl/src/internal/locale_impl.h +5 -0
  303. data/modules/emscripten/system/lib/libc/musl/src/internal/stdio_impl.h +92 -0
  304. data/modules/emscripten/system/lib/libc/musl/src/locale/big5.h +1085 -0
  305. data/modules/emscripten/system/lib/libc/musl/src/locale/codepages.h +238 -0
  306. data/modules/emscripten/system/lib/libc/musl/src/locale/gb18030.h +1836 -0
  307. data/modules/emscripten/system/lib/libc/musl/src/locale/hkscs.h +390 -0
  308. data/modules/emscripten/system/lib/libc/musl/src/locale/iconv.c +454 -0
  309. data/modules/emscripten/system/lib/libc/musl/src/locale/iswalnum_l.c +6 -0
  310. data/modules/emscripten/system/lib/libc/musl/src/locale/iswalpha_l.c +6 -0
  311. data/modules/emscripten/system/lib/libc/musl/src/locale/iswblank_l.c +6 -0
  312. data/modules/emscripten/system/lib/libc/musl/src/locale/iswcntrl_l.c +6 -0
  313. data/modules/emscripten/system/lib/libc/musl/src/locale/iswctype_l.c +9 -0
  314. data/modules/emscripten/system/lib/libc/musl/src/locale/iswdigit_l.c +6 -0
  315. data/modules/emscripten/system/lib/libc/musl/src/locale/iswgraph_l.c +6 -0
  316. data/modules/emscripten/system/lib/libc/musl/src/locale/iswlower_l.c +6 -0
  317. data/modules/emscripten/system/lib/libc/musl/src/locale/iswprint_l.c +6 -0
  318. data/modules/emscripten/system/lib/libc/musl/src/locale/iswpunct_l.c +6 -0
  319. data/modules/emscripten/system/lib/libc/musl/src/locale/iswspace_l.c +6 -0
  320. data/modules/emscripten/system/lib/libc/musl/src/locale/iswupper_l.c +6 -0
  321. data/modules/emscripten/system/lib/libc/musl/src/locale/iswxdigit_l.c +6 -0
  322. data/modules/emscripten/system/lib/libc/musl/src/locale/jis0208.h +550 -0
  323. data/modules/emscripten/system/lib/libc/musl/src/locale/ksc.h +640 -0
  324. data/modules/emscripten/system/lib/libc/musl/src/locale/legacychars.h +39 -0
  325. data/modules/emscripten/system/lib/libc/musl/src/locale/strfmon.c +101 -0
  326. data/modules/emscripten/system/lib/libc/musl/src/locale/strxfrm.c +18 -0
  327. data/modules/emscripten/system/lib/libc/musl/src/locale/towctrans_l.c +6 -0
  328. data/modules/emscripten/system/lib/libc/musl/src/locale/towlower_l.c +9 -0
  329. data/modules/emscripten/system/lib/libc/musl/src/locale/towupper_l.c +9 -0
  330. data/modules/emscripten/system/lib/libc/musl/src/locale/wcscoll.c +16 -0
  331. data/modules/emscripten/system/lib/libc/musl/src/locale/wcscoll_l.c +6 -0
  332. data/modules/emscripten/system/lib/libc/musl/src/locale/wcsxfrm.c +21 -0
  333. data/modules/emscripten/system/lib/libc/musl/src/locale/wcsxfrm_l.c +6 -0
  334. data/modules/emscripten/system/lib/libc/musl/src/locale/wctrans_l.c +6 -0
  335. data/modules/emscripten/system/lib/libc/musl/src/locale/wctype_l.c +9 -0
  336. data/modules/emscripten/system/lib/libc/musl/src/stdio/fwprintf.c +13 -0
  337. data/modules/emscripten/system/lib/libc/musl/src/stdio/swprintf.c +14 -0
  338. data/modules/emscripten/system/lib/libc/musl/src/stdio/vfwprintf.c +361 -0
  339. data/modules/emscripten/system/lib/libc/musl/src/stdio/vswprintf.c +53 -0
  340. data/modules/emscripten/system/lib/libc/musl/src/stdio/vwprintf.c +7 -0
  341. data/modules/emscripten/system/lib/libc/musl/src/stdio/wprintf.c +13 -0
  342. data/modules/emscripten/system/lib/libcextra.symbols +44 -0
  343. data/modules/emscripten/system/lib/libcxx/exception.cpp +3 -3
  344. data/modules/emscripten/system/lib/libcxx/locale.cpp +12 -12
  345. data/modules/emscripten/system/lib/libcxxabi/src/cxa_new_delete.cpp +1 -1
  346. data/modules/emscripten/tools/asm_module.py +2 -0
  347. data/modules/emscripten/tools/autodebugger.py +3 -1
  348. data/modules/emscripten/tools/eliminator/asm-eliminator-test-output.js +0 -4835
  349. data/modules/emscripten/tools/eliminator/asm-eliminator-test.js +0 -6495
  350. data/modules/emscripten/tools/file_packager.py +53 -56
  351. data/modules/emscripten/tools/find_bigfuncs.py +2 -2
  352. data/modules/emscripten/tools/find_bigvars.py +24 -0
  353. data/modules/emscripten/tools/gen_struct_info.py +509 -0
  354. data/modules/emscripten/tools/gen_struct_info.pyc +0 -0
  355. data/modules/emscripten/tools/js-optimizer.js +177 -86
  356. data/modules/emscripten/tools/js_optimizer.py +54 -19
  357. data/modules/emscripten/tools/js_optimizer.pyc +0 -0
  358. data/modules/emscripten/tools/jsrun.py +17 -7
  359. data/modules/emscripten/tools/jsrun.pyc +0 -0
  360. data/modules/emscripten/tools/response_file.py +2 -2
  361. data/modules/emscripten/tools/response_file.pyc +0 -0
  362. data/modules/emscripten/tools/shared.py +257 -123
  363. data/modules/emscripten/tools/shared.pyc +0 -0
  364. data/modules/emscripten/tools/source-maps/sourcemapper.js +37 -6
  365. data/modules/emscripten/tools/tempfiles.py +1 -0
  366. data/modules/emscripten/tools/tempfiles.pyc +0 -0
  367. data/modules/emscripten/tools/test-js-optimizer-asm-minlast-output.js +2 -0
  368. data/modules/emscripten/tools/test-js-optimizer-asm-minlast.js +8 -0
  369. data/modules/emscripten/tools/test-js-optimizer-asm-outline1-output.js +412 -169
  370. data/modules/emscripten/tools/test-js-optimizer-asm-outline1.js +88 -0
  371. data/modules/emscripten/tools/test-js-optimizer-asm-outline2-output.js +311 -265
  372. data/modules/emscripten/tools/test-js-optimizer-asm-pre-output.js +0 -20
  373. data/modules/emscripten/tools/test-js-optimizer-asm-pre.js +0 -21
  374. data/modules/emscripten/tools/test-js-optimizer-asm-regs.js +2 -2
  375. data/modules/emscripten/tools/test-js-optimizer-regs-output.js +8 -8
  376. data/modules/emscripten/tools/test-js-optimizer-regs.js +1 -1
  377. data/modules/emscripten/tools/validate_asmjs.py +82 -0
  378. data/modules/mruby/Rakefile +2 -2
  379. data/modules/mruby/include/mruby/class.h +2 -2
  380. data/modules/mruby/include/mruby/compile.h +12 -4
  381. data/modules/mruby/include/mruby/data.h +8 -3
  382. data/modules/mruby/include/mruby/debug.h +65 -0
  383. data/modules/mruby/include/mruby/dump.h +10 -2
  384. data/modules/mruby/include/mruby/irep.h +1 -0
  385. data/modules/mruby/include/mruby/string.h +2 -1
  386. data/modules/mruby/include/mruby/value.h +20 -13
  387. data/modules/mruby/include/mruby/variable.h +1 -0
  388. data/modules/mruby/include/mruby.h +5 -6
  389. data/modules/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +6 -4
  390. data/modules/mruby/mrbgems/mruby-math/src/math.c +4 -0
  391. data/modules/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +1 -1
  392. data/modules/mruby/mrbgems/mruby-proc-ext/src/proc.c +1 -1
  393. data/modules/mruby/mrbgems/mruby-random/src/random.c +1 -4
  394. data/modules/mruby/mrbgems/mruby-string-ext/src/string.c +25 -16
  395. data/modules/mruby/mrbgems/mruby-string-ext/test/string.rb +4 -0
  396. data/modules/mruby/mrbgems/mruby-struct/src/struct.c +1 -1
  397. data/modules/mruby/mrbgems/mruby-symbol-ext/mrblib/symbol.rb +51 -0
  398. data/modules/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +22 -0
  399. data/modules/mruby/mrbgems/mruby-time/src/time.c +38 -60
  400. data/modules/mruby/mrblib/class.rb +2 -2
  401. data/modules/mruby/src/backtrace.c +96 -23
  402. data/modules/mruby/src/class.c +43 -41
  403. data/modules/mruby/src/codegen.c +52 -46
  404. data/modules/mruby/src/debug.c +214 -0
  405. data/modules/mruby/src/dump.c +245 -17
  406. data/modules/mruby/src/error.c +14 -6
  407. data/modules/mruby/src/etc.c +17 -10
  408. data/modules/mruby/src/gc.c +9 -9
  409. data/modules/mruby/src/kernel.c +1 -1
  410. data/modules/mruby/src/load.c +137 -1
  411. data/modules/mruby/src/object.c +1 -1
  412. data/modules/mruby/src/parse.y +162 -37
  413. data/modules/mruby/src/state.c +2 -0
  414. data/modules/mruby/src/string.c +28 -19
  415. data/modules/mruby/src/symbol.c +0 -1
  416. data/modules/mruby/src/variable.c +12 -15
  417. data/modules/mruby/src/vm.c +38 -22
  418. data/modules/mruby/tasks/mrbgem_spec.rake +6 -4
  419. data/modules/mruby/tasks/mrbgems_test.rake +9 -9
  420. data/modules/mruby/tasks/mruby_build_gem.rake +9 -0
  421. data/modules/mruby/tasks/toolchains/androideabi.rake +2 -0
  422. data/modules/mruby/test/driver.c +3 -3
  423. data/modules/mruby/test/t/array.rb +13 -0
  424. data/modules/mruby/test/t/class.rb +28 -0
  425. data/modules/mruby/test/t/exception.rb +10 -0
  426. data/modules/mruby/test/t/literals.rb +50 -0
  427. data/modules/mruby/test/t/module.rb +22 -0
  428. data/modules/mruby/test/t/proc.rb +37 -0
  429. data/modules/mruby/test/t/string.rb +20 -21
  430. data/modules/mruby/tools/mrbc/mrbc.c +2 -4
  431. data/scripts/gen_post.rb +1 -0
  432. data/scripts/gen_require.rb +107 -0
  433. data/templates/minimal/Rakefile +20 -0
  434. metadata +210 -88
  435. data/driver/main.c +0 -40
  436. data/modules/emscripten/cmake/Platform/Emscripten_unix.cmake +0 -24
  437. data/modules/emscripten/emlibtool +0 -11
  438. data/modules/emscripten/emlibtool.bat +0 -2
  439. data/modules/emscripten/src/framework.js +0 -257
  440. data/modules/emscripten/system/include/bsd/float.h +0 -91
  441. data/modules/emscripten/system/include/bsd/readme.txt +0 -2
  442. data/modules/emscripten/system/include/bsd/sys/mman.h +0 -180
  443. data/modules/emscripten/system/include/bsd/sys/utsname.h +0 -70
  444. data/modules/emscripten/system/include/dlfcn.h +0 -31
  445. data/modules/emscripten/system/include/err.h +0 -95
  446. data/modules/emscripten/system/include/features.h +0 -3
  447. data/modules/emscripten/system/include/libc/_ansi.h +0 -135
  448. data/modules/emscripten/system/include/libc/_syslist.h +0 -40
  449. data/modules/emscripten/system/include/libc/argz.h +0 -33
  450. data/modules/emscripten/system/include/libc/envlock.h +0 -15
  451. data/modules/emscripten/system/include/libc/envz.h +0 -16
  452. data/modules/emscripten/system/include/libc/fastmath.h +0 -13
  453. data/modules/emscripten/system/include/libc/ieeefp.h +0 -256
  454. data/modules/emscripten/system/include/libc/machine/_default_types.h +0 -121
  455. data/modules/emscripten/system/include/libc/machine/_types.h +0 -8
  456. data/modules/emscripten/system/include/libc/machine/ansi.h +0 -1
  457. data/modules/emscripten/system/include/libc/machine/endian.h +0 -31
  458. data/modules/emscripten/system/include/libc/machine/fastmath.h +0 -100
  459. data/modules/emscripten/system/include/libc/machine/ieeefp.h +0 -376
  460. data/modules/emscripten/system/include/libc/machine/malloc.h +0 -8
  461. data/modules/emscripten/system/include/libc/machine/param.h +0 -1
  462. data/modules/emscripten/system/include/libc/machine/setjmp-dj.h +0 -43
  463. data/modules/emscripten/system/include/libc/machine/setjmp.h +0 -361
  464. data/modules/emscripten/system/include/libc/machine/stdlib.h +0 -8
  465. data/modules/emscripten/system/include/libc/machine/termios.h +0 -1
  466. data/modules/emscripten/system/include/libc/machine/time.h +0 -19
  467. data/modules/emscripten/system/include/libc/machine/types.h +0 -30
  468. data/modules/emscripten/system/include/libc/newlib.h +0 -2
  469. data/modules/emscripten/system/include/libc/process.h +0 -44
  470. data/modules/emscripten/system/include/libc/reent.h +0 -183
  471. data/modules/emscripten/system/include/libc/regdef.h +0 -7
  472. data/modules/emscripten/system/include/libc/sys/_default_fcntl.h +0 -223
  473. data/modules/emscripten/system/include/libc/sys/_types.h +0 -93
  474. data/modules/emscripten/system/include/libc/sys/cdefs.h +0 -123
  475. data/modules/emscripten/system/include/libc/sys/config.h +0 -255
  476. data/modules/emscripten/system/include/libc/sys/custom_file.h +0 -2
  477. data/modules/emscripten/system/include/libc/sys/dirent.h +0 -58
  478. data/modules/emscripten/system/include/libc/sys/features.h +0 -212
  479. data/modules/emscripten/system/include/libc/sys/iconvnls.h +0 -77
  480. data/modules/emscripten/system/include/libc/sys/lock.h +0 -24
  481. data/modules/emscripten/system/include/libc/sys/queue.h +0 -471
  482. data/modules/emscripten/system/include/libc/sys/reent.h +0 -843
  483. data/modules/emscripten/system/include/libc/sys/sched.h +0 -67
  484. data/modules/emscripten/system/include/libc/sys/stdio.h +0 -27
  485. data/modules/emscripten/system/include/libc/sys/string.h +0 -2
  486. data/modules/emscripten/system/include/libc/sys/syslimits.h +0 -65
  487. data/modules/emscripten/system/include/libc/sys/unistd.h +0 -514
  488. data/modules/emscripten/system/include/libc/sys/utime.h +0 -26
  489. data/modules/emscripten/system/include/libc/unctrl.h +0 -46
  490. data/modules/emscripten/system/include/memory.h +0 -10
  491. data/modules/emscripten/system/include/mntent.h +0 -23
  492. data/modules/emscripten/system/include/net/arpa/inet.h +0 -32
  493. data/modules/emscripten/system/include/net/arpa/nameser.h +0 -535
  494. data/modules/emscripten/system/include/net/arpa/nameser_compat.h +0 -187
  495. data/modules/emscripten/system/include/net/if.h +0 -106
  496. data/modules/emscripten/system/include/net/netinet/in.h +0 -230
  497. data/modules/emscripten/system/include/net/netinet/tcp.h +0 -246
  498. data/modules/emscripten/system/include/net/resolv.h +0 -389
  499. data/modules/emscripten/system/include/netdb.h +0 -130
  500. data/modules/emscripten/system/include/nl_types.h +0 -19
  501. data/modules/emscripten/system/include/poll.h +0 -3
  502. data/modules/emscripten/system/include/pty.h +0 -6
  503. data/modules/emscripten/system/include/semaphore.h +0 -31
  504. data/modules/emscripten/system/include/spawn.h +0 -105
  505. data/modules/emscripten/system/include/stdbool.h +0 -16
  506. data/modules/emscripten/system/include/sys/bitypes.h +0 -3
  507. data/modules/emscripten/system/include/sys/io.h +0 -14
  508. data/modules/emscripten/system/include/sys/ioctl.h +0 -78
  509. data/modules/emscripten/system/include/sys/poll.h +0 -31
  510. data/modules/emscripten/system/include/sys/select.h +0 -16
  511. data/modules/emscripten/system/include/sys/sendfile.h +0 -16
  512. data/modules/emscripten/system/include/sys/socket.h +0 -247
  513. data/modules/emscripten/system/include/sys/socketvar.h +0 -3
  514. data/modules/emscripten/system/include/sys/statvfs.h +0 -32
  515. data/modules/emscripten/system/include/sys/uio.h +0 -22
  516. data/modules/emscripten/system/include/sys/un.h +0 -66
  517. data/modules/emscripten/system/include/sysexits.h +0 -108
  518. data/modules/emscripten/system/include/xlocale.h +0 -47
@@ -0,0 +1 @@
1
+ #include <sys/statfs.h>
@@ -1,40 +1,55 @@
1
- #ifndef _SYS_WAIT_H
2
- #define _SYS_WAIT_H
3
-
1
+ #ifndef _SYS_WAIT_H
2
+ #define _SYS_WAIT_H
4
3
  #ifdef __cplusplus
5
4
  extern "C" {
6
5
  #endif
7
6
 
8
- #include <sys/types.h>
7
+ #include <features.h>
9
8
 
10
- #define WNOHANG 1
11
- #define WUNTRACED 2
9
+ #include <signal.h>
12
10
 
13
- /* A status looks like:
14
- <2 bytes info> <2 bytes code>
11
+ #define __NEED_pid_t
12
+ #define __NEED_id_t
13
+ #include <bits/alltypes.h>
15
14
 
16
- <code> == 0, child has exited, info is the exit value
17
- <code> == 1..7e, child has exited, info is the signal number.
18
- <code> == 7f, child has stopped, info was the signal number.
19
- <code> == 80, there was a core dump.
20
- */
21
-
22
- #define WIFEXITED(w) (((w) & 0xff) == 0)
23
- #define WIFSIGNALED(w) (((w) & 0x7f) > 0 && (((w) & 0x7f) < 0x7f))
24
- #define WIFSTOPPED(w) (((w) & 0xff) == 0x7f)
25
- #define WEXITSTATUS(w) (((w) >> 8) & 0xff)
26
- #define WTERMSIG(w) ((w) & 0x7f)
27
- #define WSTOPSIG WEXITSTATUS
15
+ typedef enum {
16
+ P_ALL = 0,
17
+ P_PID = 1,
18
+ P_PGID = 2
19
+ } idtype_t;
28
20
 
29
21
  pid_t wait (int *);
30
- pid_t waitpid (pid_t, int *, int);
22
+ int waitid (idtype_t, id_t, siginfo_t *, int);
23
+ pid_t waitpid (pid_t, int *, int );
24
+
25
+ #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
26
+ #include <sys/resource.h>
27
+ pid_t wait3 (int *, int, struct rusage *);
28
+ pid_t wait4 (pid_t, int *, int, struct rusage *);
29
+ #endif
30
+
31
+ #define WNOHANG 1
32
+ #define WUNTRACED 2
31
33
 
32
- /* Provide prototypes for most of the _<systemcall> names that are
33
- provided in newlib for some compilers. */
34
- pid_t _wait (int *);
34
+ #define WSTOPPED 2
35
+ #define WEXITED 4
36
+ #define WCONTINUED 8
37
+ #define WNOWAIT 0x1000000
38
+
39
+ #define __WNOTHREAD 0x20000000
40
+ #define __WALL 0x40000000
41
+ #define __WCLONE 0x80000000
42
+
43
+ #define WEXITSTATUS(s) (((s) & 0xff00) >> 8)
44
+ #define WTERMSIG(s) ((s) & 0x7f)
45
+ #define WSTOPSIG(s) WEXITSTATUS(s)
46
+ #define WCOREDUMP(s) ((s) & 0x80)
47
+ #define WIFEXITED(s) (!WTERMSIG(s))
48
+ #define WIFSTOPPED(s) ((short)((((s)&0xffff)*0x10001)>>8) > 0x7f00)
49
+ #define WIFSIGNALED(s) (((s)&0xffff)-1 < 0xffu)
50
+ #define WIFCONTINUED(s) ((s) == 0xffff)
35
51
 
36
52
  #ifdef __cplusplus
37
- };
53
+ }
38
54
  #endif
39
-
40
55
  #endif
@@ -0,0 +1,30 @@
1
+ #ifndef _SYS_XATTR_H
2
+ #define _SYS_XATTR_H
3
+ #ifdef __cplusplus
4
+ extern "C" {
5
+ #endif
6
+
7
+ #define __NEED_ssize_t
8
+ #define __NEED_size_t
9
+ #include <bits/alltypes.h>
10
+
11
+ #define XATTR_CREATE 1
12
+ #define XATTR_REPLACE 2
13
+
14
+ ssize_t getxattr(const char *, const char *, void *, size_t);
15
+ ssize_t lgetxattr(const char *, const char *, void *, size_t);
16
+ ssize_t fgetxattr(int filedes, const char *, void *, size_t);
17
+ ssize_t listxattr(const char *, char *, size_t);
18
+ ssize_t llistxattr(const char *, char *, size_t);
19
+ ssize_t flistxattr(int filedes, char *, size_t);
20
+ int setxattr(const char *, const char *, const void *, size_t, int);
21
+ int lsetxattr(const char *, const char *, const void *, size_t, int);
22
+ int fsetxattr(int, const char *, const void *, size_t, int);
23
+ int removexattr(const char *, const char *);
24
+ int lremovexattr(const char *, const char *);
25
+ int fremovexattr(int, const char *);
26
+
27
+ #ifdef __cplusplus
28
+ }
29
+ #endif
30
+ #endif
@@ -0,0 +1 @@
1
+ #include <sys/syscall.h>
@@ -0,0 +1,21 @@
1
+ #ifndef _SYSEXITS_H
2
+ #define _SYSEXITS_H
3
+ #define EX_OK 0
4
+ #define EX__BASE 64
5
+ #define EX_USAGE 64
6
+ #define EX_DATAERR 65
7
+ #define EX_NOINPUT 66
8
+ #define EX_NOUSER 67
9
+ #define EX_NOHOST 68
10
+ #define EX_UNAVAILABLE 69
11
+ #define EX_SOFTWARE 70
12
+ #define EX_OSERR 71
13
+ #define EX_OSFILE 72
14
+ #define EX_CANTCREAT 73
15
+ #define EX_IOERR 74
16
+ #define EX_TEMPFAIL 75
17
+ #define EX_PROTOCOL 76
18
+ #define EX_NOPERM 77
19
+ #define EX_CONFIG 78
20
+ #define EX__MAX 78
21
+ #endif
@@ -0,0 +1,104 @@
1
+ #ifndef _SYSLOG_H
2
+ #define _SYSLOG_H
3
+
4
+ #ifdef __cplusplus
5
+ extern "C" {
6
+ #endif
7
+
8
+ #include <features.h>
9
+
10
+ #define LOG_EMERG 0
11
+ #define LOG_ALERT 1
12
+ #define LOG_CRIT 2
13
+ #define LOG_ERR 3
14
+ #define LOG_WARNING 4
15
+ #define LOG_NOTICE 5
16
+ #define LOG_INFO 6
17
+ #define LOG_DEBUG 7
18
+
19
+ #define LOG_PRIMASK 7
20
+ #define LOG_PRI(p) ((p)&LOG_PRIMASK)
21
+ #define LOG_MAKEPRI(f, p) (((f)<<3)|(p))
22
+
23
+ #define LOG_MASK(p) (1<<(p))
24
+ #define LOG_UPTO(p) ((1<<(p)+1)-1)
25
+
26
+ #define LOG_KERN (0<<3)
27
+ #define LOG_USER (1<<3)
28
+ #define LOG_MAIL (2<<3)
29
+ #define LOG_DAEMON (3<<3)
30
+ #define LOG_AUTH (4<<3)
31
+ #define LOG_SYSLOG (5<<3)
32
+ #define LOG_LPR (6<<3)
33
+ #define LOG_NEWS (7<<3)
34
+ #define LOG_UUCP (8<<3)
35
+ #define LOG_CRON (9<<3)
36
+ #define LOG_AUTHPRIV (10<<3)
37
+ #define LOG_FTP (11<<3)
38
+
39
+ #define LOG_LOCAL0 (16<<3)
40
+ #define LOG_LOCAL1 (17<<3)
41
+ #define LOG_LOCAL2 (18<<3)
42
+ #define LOG_LOCAL3 (19<<3)
43
+ #define LOG_LOCAL4 (20<<3)
44
+ #define LOG_LOCAL5 (21<<3)
45
+ #define LOG_LOCAL6 (22<<3)
46
+ #define LOG_LOCAL7 (23<<3)
47
+
48
+ #define LOG_NFACILITIES 24
49
+ #define LOG_FACMASK 0x3f8
50
+ #define LOG_FAC(p) (((p)&LOG_FACMASK)>>3)
51
+
52
+ #define LOG_PID 0x01
53
+ #define LOG_CONS 0x02
54
+ #define LOG_ODELAY 0x04
55
+ #define LOG_NDELAY 0x08
56
+ #define LOG_NOWAIT 0x10
57
+ #define LOG_PERROR 0x20
58
+
59
+ void closelog (void);
60
+ void openlog (const char *, int, int);
61
+ int setlogmask (int);
62
+ void syslog (int, const char *, ...);
63
+
64
+ #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
65
+ #define _PATH_LOG "/dev/log"
66
+ #define __NEED_va_list
67
+ #include <bits/alltypes.h>
68
+ void vsyslog (int, const char *, va_list);
69
+ #if defined(SYSLOG_NAMES)
70
+ #define INTERNAL_NOPRI 0x10
71
+ #define INTERNAL_MARK (LOG_NFACILITIES<<3)
72
+ struct __CODE {
73
+ const char *c_name;
74
+ int c_val;
75
+ };
76
+ typedef struct {
77
+ char *c_name;
78
+ int c_val;
79
+ } CODE;
80
+ #define prioritynames ((CODE *)(const struct __CODE []){ \
81
+ { "alert", LOG_ALERT }, { "crit", LOG_CRIT }, { "debug", LOG_DEBUG }, \
82
+ { "emerg", LOG_EMERG }, { "err", LOG_ERR }, { "error", LOG_ERR }, \
83
+ { "info", LOG_INFO }, { "none", INTERNAL_NOPRI }, \
84
+ { "notice", LOG_NOTICE }, { "panic", LOG_EMERG }, \
85
+ { "warn", LOG_WARNING }, { "warning", LOG_WARNING }, { NULL, -1 } })
86
+ #define facilitynames ((CODE *)(const struct __CODE []){ \
87
+ { "auth", LOG_AUTH }, { "authpriv", LOG_AUTHPRIV }, \
88
+ { "cron", LOG_CRON }, { "daemon", LOG_DAEMON }, { "ftp", LOG_FTP }, \
89
+ { "kern", LOG_KERN }, { "lpr", LOG_LPR }, { "mail", LOG_MAIL }, \
90
+ { "mark", INTERNAL_MARK }, { "news", LOG_NEWS }, \
91
+ { "security", LOG_AUTH }, { "syslog", LOG_SYSLOG }, \
92
+ { "user", LOG_USER }, { "uucp", LOG_UUCP }, \
93
+ { "local0", LOG_LOCAL0 }, { "local1", LOG_LOCAL1 }, \
94
+ { "local2", LOG_LOCAL2 }, { "local3", LOG_LOCAL3 }, \
95
+ { "local4", LOG_LOCAL4 }, { "local5", LOG_LOCAL5 }, \
96
+ { "local6", LOG_LOCAL6 }, { "local7", LOG_LOCAL7 }, { NULL, -1 } })
97
+ #endif
98
+ #endif
99
+
100
+ #ifdef __cplusplus
101
+ }
102
+ #endif
103
+
104
+ #endif
@@ -1,39 +1,33 @@
1
- /*
2
- * tar.h
3
- */
1
+ #ifndef _TAR_H
2
+ #define _TAR_H
4
3
 
5
- #ifndef _TAR_H
6
- #define _TAR_H
4
+ #define TSUID 04000
5
+ #define TSGID 02000
6
+ #define TSVTX 01000
7
+ #define TUREAD 00400
8
+ #define TUWRITE 00200
9
+ #define TUEXEC 00100
10
+ #define TGREAD 00040
11
+ #define TGWRITE 00020
12
+ #define TGEXEC 00010
13
+ #define TOREAD 00004
14
+ #define TOWRITE 00002
15
+ #define TOEXEC 00001
7
16
 
8
- /* General definitions */
9
- #define TMAGIC "ustar" /* ustar plus null byte. */
10
- #define TMAGLEN 6 /* Length of the above. */
11
- #define TVERSION "00" /* 00 without a null byte. */
12
- #define TVERSLEN 2 /* Length of the above. */
17
+ #define REGTYPE '0'
18
+ #define AREGTYPE '\0'
19
+ #define LNKTYPE '1'
20
+ #define SYMTYPE '2'
21
+ #define CHRTYPE '3'
22
+ #define BLKTYPE '4'
23
+ #define DIRTYPE '5'
24
+ #define FIFOTYPE '6'
25
+ #define CONTTYPE '7'
13
26
 
14
- /* Typeflag field definitions */
15
- #define REGTYPE '0' /* Regular file. */
16
- #define AREGTYPE '\0' /* Regular file. */
17
- #define LNKTYPE '1' /* Link. */
18
- #define SYMTYPE '2' /* Symbolic link. */
19
- #define CHRTYPE '3' /* Character special. */
20
- #define BLKTYPE '4' /* Block special. */
21
- #define DIRTYPE '5' /* Directory. */
22
- #define FIFOTYPE '6' /* FIFO special. */
23
- #define CONTTYPE '7' /* Reserved. */
27
+ #define TMAGIC "ustar"
28
+ #define TMAGLEN 6
24
29
 
25
- /* Mode field bit definitions (octal) */
26
- #define TSUID 04000 /* Set UID on execution. */
27
- #define TSGID 02000 /* Set GID on execution. */
28
- #define TSVTX 01000 /* On directories, restricted deletion flag. */
29
- #define TUREAD 00400 /* Read by owner. */
30
- #define TUWRITE 00200 /* Write by owner. */
31
- #define TUEXEC 00100 /* Execute/search by owner. */
32
- #define TGREAD 00040 /* Read by group. */
33
- #define TGWRITE 00020 /* Write by group. */
34
- #define TGEXEC 00010 /* Execute/search by group. */
35
- #define TOREAD 00004 /* Read by other. */
36
- #define TOWRITE 00002 /* Write by other. */
37
- #define TOEXEC 00001 /* Execute/search by other. */
30
+ #define TVERSION "00"
31
+ #define TVERSLEN 2
38
32
 
39
33
  #endif
@@ -1,7 +1,46 @@
1
+ #ifndef _TERMIOS_H
2
+ #define _TERMIOS_H
3
+
1
4
  #ifdef __cplusplus
2
5
  extern "C" {
3
6
  #endif
4
- #include <sys/termios.h>
7
+
8
+ #include <features.h>
9
+
10
+ #define __NEED_pid_t
11
+
12
+ #include <bits/alltypes.h>
13
+
14
+ typedef unsigned char cc_t;
15
+ typedef unsigned int speed_t;
16
+ typedef unsigned int tcflag_t;
17
+
18
+ #define NCCS 32
19
+
20
+ #include <bits/termios.h>
21
+
22
+ speed_t cfgetospeed (const struct termios *);
23
+ speed_t cfgetispeed (const struct termios *);
24
+ int cfsetospeed (struct termios *, speed_t);
25
+ int cfsetispeed (struct termios *, speed_t);
26
+
27
+ int tcgetattr (int, struct termios *);
28
+ int tcsetattr (int, int, const struct termios *);
29
+
30
+ int tcsendbreak (int, int);
31
+ int tcdrain (int);
32
+ int tcflush (int, int);
33
+ int tcflow (int, int);
34
+
35
+ pid_t tcgetsid (int);
36
+
37
+ #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
38
+ void cfmakeraw(struct termios *);
39
+ int cfsetspeed(struct termios *, speed_t);
40
+ #endif
41
+
5
42
  #ifdef __cplusplus
6
43
  }
7
44
  #endif
45
+
46
+ #endif
@@ -0,0 +1,270 @@
1
+ #ifndef _TGMATH_H
2
+ #define _TGMATH_H
3
+
4
+ /*
5
+ the return types are only correct with gcc (__GNUC__)
6
+ otherwise they are long double or long double complex
7
+
8
+ the long double version of a function is never chosen when
9
+ sizeof(double) == sizeof(long double)
10
+ (but the return type is set correctly with gcc)
11
+ */
12
+
13
+ #include <math.h>
14
+ #include <complex.h>
15
+
16
+ #define __IS_FP(x) (sizeof((x)+1ULL) == sizeof((x)+1.0f))
17
+ #define __IS_CX(x) (__IS_FP(x) && sizeof(x) == sizeof((x)+I))
18
+ #define __IS_REAL(x) (__IS_FP(x) && 2*sizeof(x) == sizeof((x)+I))
19
+
20
+ #define __FLT(x) (__IS_REAL(x) && sizeof(x) == sizeof(float))
21
+ #define __LDBL(x) (__IS_REAL(x) && sizeof(x) == sizeof(long double) && sizeof(long double) != sizeof(double))
22
+
23
+ #define __FLTCX(x) (__IS_CX(x) && sizeof(x) == sizeof(float complex))
24
+ #define __DBLCX(x) (__IS_CX(x) && sizeof(x) == sizeof(double complex))
25
+ #define __LDBLCX(x) (__IS_CX(x) && sizeof(x) == sizeof(long double complex) && sizeof(long double) != sizeof(double))
26
+
27
+ /* return type */
28
+
29
+ #ifdef __GNUC__
30
+ /*
31
+ the result must be casted to the right type
32
+ (otherwise the result type is determined by the conversion
33
+ rules applied to all the function return types so it is long
34
+ double or long double complex except for integral functions)
35
+
36
+ this cannot be done in c99, so the typeof gcc extension is
37
+ used and that the type of ?: depends on wether an operand is
38
+ a null pointer constant or not
39
+ (in c11 _Generic can be used)
40
+
41
+ the c arguments below must be integer constant expressions
42
+ so they can be in null pointer constants
43
+ (__IS_FP above was carefully chosen this way)
44
+ */
45
+ /* if c then t else void */
46
+ #define __type1(c,t) __typeof__(*(0?(t*)0:(void*)!(c)))
47
+ /* if c then t1 else t2 */
48
+ #define __type2(c,t1,t2) __typeof__(*(0?(__type1(c,t1)*)0:(__type1(!(c),t2)*)0))
49
+ /* cast to double when x is integral, otherwise use typeof(x) */
50
+ #define __RETCAST(x) ( \
51
+ __type2(__IS_FP(x), __typeof__(x), double))
52
+ /* 2 args case, should work for complex types (cpow) */
53
+ #define __RETCAST_2(x, y) ( \
54
+ __type2(__IS_FP(x) && __IS_FP(y), \
55
+ __typeof__((x)+(y)), \
56
+ __typeof__((x)+(y)+1.0)))
57
+ /* 3 args case (fma only) */
58
+ #define __RETCAST_3(x, y, z) ( \
59
+ __type2(__IS_FP(x) && __IS_FP(y) && __IS_FP(z), \
60
+ __typeof__((x)+(y)+(z)), \
61
+ __typeof__((x)+(y)+(z)+1.0)))
62
+ /* drop complex from the type of x */
63
+ /* TODO: wrong when sizeof(long double)==sizeof(double) */
64
+ #define __RETCAST_REAL(x) ( \
65
+ __type2(__IS_FP(x) && sizeof((x)+I) == sizeof(float complex), float, \
66
+ __type2(sizeof((x)+1.0+I) == sizeof(double complex), double, \
67
+ long double)))
68
+ /* add complex to the type of x */
69
+ #define __RETCAST_CX(x) (__typeof__(__RETCAST(x)0+I))
70
+ #else
71
+ #define __RETCAST(x)
72
+ #define __RETCAST_2(x, y)
73
+ #define __RETCAST_3(x, y, z)
74
+ #define __RETCAST_REAL(x)
75
+ #define __RETCAST_CX(x)
76
+ #endif
77
+
78
+ /* function selection */
79
+
80
+ #define __tg_real_nocast(fun, x) ( \
81
+ __FLT(x) ? fun ## f (x) : \
82
+ __LDBL(x) ? fun ## l (x) : \
83
+ fun(x) )
84
+
85
+ #define __tg_real(fun, x) (__RETCAST(x)__tg_real_nocast(fun, x))
86
+
87
+ #define __tg_real_2_1(fun, x, y) (__RETCAST(x)( \
88
+ __FLT(x) ? fun ## f (x, y) : \
89
+ __LDBL(x) ? fun ## l (x, y) : \
90
+ fun(x, y) ))
91
+
92
+ #define __tg_real_2(fun, x, y) (__RETCAST_2(x, y)( \
93
+ __FLT(x) && __FLT(y) ? fun ## f (x, y) : \
94
+ __LDBL((x)+(y)) ? fun ## l (x, y) : \
95
+ fun(x, y) ))
96
+
97
+ #define __tg_complex(fun, x) (__RETCAST_CX(x)( \
98
+ __FLTCX((x)+I) && __IS_FP(x) ? fun ## f (x) : \
99
+ __LDBLCX((x)+I) ? fun ## l (x) : \
100
+ fun(x) ))
101
+
102
+ #define __tg_complex_retreal(fun, x) (__RETCAST_REAL(x)( \
103
+ __FLTCX((x)+I) && __IS_FP(x) ? fun ## f (x) : \
104
+ __LDBLCX((x)+I) ? fun ## l (x) : \
105
+ fun(x) ))
106
+
107
+ #define __tg_real_complex(fun, x) (__RETCAST(x)( \
108
+ __FLTCX(x) ? c ## fun ## f (x) : \
109
+ __DBLCX(x) ? c ## fun (x) : \
110
+ __LDBLCX(x) ? c ## fun ## l (x) : \
111
+ __FLT(x) ? fun ## f (x) : \
112
+ __LDBL(x) ? fun ## l (x) : \
113
+ fun(x) ))
114
+
115
+ /* special cases */
116
+
117
+ #define __tg_real_remquo(x, y, z) (__RETCAST_2(x, y)( \
118
+ __FLT(x) && __FLT(y) ? remquof(x, y, z) : \
119
+ __LDBL((x)+(y)) ? remquol(x, y, z) : \
120
+ remquo(x, y, z) ))
121
+
122
+ #define __tg_real_fma(x, y, z) (__RETCAST_3(x, y, z)( \
123
+ __FLT(x) && __FLT(y) && __FLT(z) ? fmaf(x, y, z) : \
124
+ __LDBL((x)+(y)+(z)) ? fmal(x, y, z) : \
125
+ fma(x, y, z) ))
126
+
127
+ #define __tg_real_complex_pow(x, y) (__RETCAST_2(x, y)( \
128
+ __FLTCX((x)+(y)) && __IS_FP(x) && __IS_FP(y) ? cpowf(x, y) : \
129
+ __FLTCX((x)+(y)) ? cpow(x, y) : \
130
+ __DBLCX((x)+(y)) ? cpow(x, y) : \
131
+ __LDBLCX((x)+(y)) ? cpowl(x, y) : \
132
+ __FLT(x) && __FLT(y) ? powf(x, y) : \
133
+ __LDBL((x)+(y)) ? powl(x, y) : \
134
+ pow(x, y) ))
135
+
136
+ #define __tg_real_complex_fabs(x) (__RETCAST_REAL(x)( \
137
+ __FLTCX(x) ? cabsf(x) : \
138
+ __DBLCX(x) ? cabs(x) : \
139
+ __LDBLCX(x) ? cabsl(x) : \
140
+ __FLT(x) ? fabsf(x) : \
141
+ __LDBL(x) ? fabsl(x) : \
142
+ fabs(x) ))
143
+
144
+ /* suppress any macros in math.h or complex.h */
145
+
146
+ #undef acos
147
+ #undef acosh
148
+ #undef asin
149
+ #undef asinh
150
+ #undef atan
151
+ #undef atan2
152
+ #undef atanh
153
+ #undef carg
154
+ #undef cbrt
155
+ #undef ceil
156
+ #undef cimag
157
+ #undef conj
158
+ #undef copysign
159
+ #undef cos
160
+ #undef cosh
161
+ #undef cproj
162
+ #undef creal
163
+ #undef erf
164
+ #undef erfc
165
+ #undef exp
166
+ #undef exp2
167
+ #undef expm1
168
+ #undef fabs
169
+ #undef fdim
170
+ #undef floor
171
+ #undef fma
172
+ #undef fmax
173
+ #undef fmin
174
+ #undef fmod
175
+ #undef frexp
176
+ #undef hypot
177
+ #undef ilogb
178
+ #undef ldexp
179
+ #undef lgamma
180
+ #undef llrint
181
+ #undef llround
182
+ #undef log
183
+ #undef log10
184
+ #undef log1p
185
+ #undef log2
186
+ #undef logb
187
+ #undef lrint
188
+ #undef lround
189
+ #undef nearbyint
190
+ #undef nextafter
191
+ #undef nexttoward
192
+ #undef pow
193
+ #undef remainder
194
+ #undef remquo
195
+ #undef rint
196
+ #undef round
197
+ #undef scalbln
198
+ #undef scalbn
199
+ #undef sin
200
+ #undef sinh
201
+ #undef sqrt
202
+ #undef tan
203
+ #undef tanh
204
+ #undef tgamma
205
+ #undef trunc
206
+
207
+ /* tg functions */
208
+
209
+ #define acos(x) __tg_real_complex(acos, (x))
210
+ #define acosh(x) __tg_real_complex(acosh, (x))
211
+ #define asin(x) __tg_real_complex(asin, (x))
212
+ #define asinh(x) __tg_real_complex(asinh, (x))
213
+ #define atan(x) __tg_real_complex(atan, (x))
214
+ #define atan2(x,y) __tg_real_2(atan2, (x), (y))
215
+ #define atanh(x) __tg_real_complex(atanh, (x))
216
+ #define carg(x) __tg_complex_retreal(carg, (x))
217
+ #define cbrt(x) __tg_real(cbrt, (x))
218
+ #define ceil(x) __tg_real(ceil, (x))
219
+ #define cimag(x) __tg_complex_retreal(cimag, (x))
220
+ #define conj(x) __tg_complex(conj, (x))
221
+ #define copysign(x,y) __tg_real_2(copysign, (x), (y))
222
+ #define cos(x) __tg_real_complex(cos, (x))
223
+ #define cosh(x) __tg_real_complex(cosh, (x))
224
+ #define cproj(x) __tg_complex(cproj, (x))
225
+ #define creal(x) __tg_complex_retreal(creal, (x))
226
+ #define erf(x) __tg_real(erf, (x))
227
+ #define erfc(x) __tg_real(erfc, (x))
228
+ #define exp(x) __tg_real_complex(exp, (x))
229
+ #define exp2(x) __tg_real(exp2, (x))
230
+ #define expm1(x) __tg_real(expm1, (x))
231
+ #define fabs(x) __tg_real_complex_fabs(x)
232
+ #define fdim(x,y) __tg_real_2(fdim, (x), (y))
233
+ #define floor(x) __tg_real(floor, (x))
234
+ #define fma(x,y,z) __tg_real_fma((x), (y), (z))
235
+ #define fmax(x,y) __tg_real_2(fmax, (x), (y))
236
+ #define fmin(x,y) __tg_real_2(fmin, (x), (y))
237
+ #define fmod(x,y) __tg_real_2(fmod, (x), (y))
238
+ #define frexp(x,y) __tg_real_2_1(frexp, (x), (y))
239
+ #define hypot(x,y) __tg_real_2(hypot, (x), (y))
240
+ #define ilogb(x) __tg_real_nocast(ilogb, (x))
241
+ #define ldexp(x,y) __tg_real_2_1(ldexp, (x), (y))
242
+ #define lgamma(x) __tg_real(lgamma, (x))
243
+ #define llrint(x) __tg_real_nocast(llrint, (x))
244
+ #define llround(x) __tg_real_nocast(llround, (x))
245
+ #define log(x) __tg_real_complex(log, (x))
246
+ #define log10(x) __tg_real(log10, (x))
247
+ #define log1p(x) __tg_real(log1p, (x))
248
+ #define log2(x) __tg_real(log2, (x))
249
+ #define logb(x) __tg_real(logb, (x))
250
+ #define lrint(x) __tg_real_nocast(lrint, (x))
251
+ #define lround(x) __tg_real_nocast(lround, (x))
252
+ #define nearbyint(x) __tg_real(nearbyint, (x))
253
+ #define nextafter(x,y) __tg_real_2(nextafter, (x), (y))
254
+ #define nexttoward(x,y) __tg_real_2(nexttoward, (x), (y))
255
+ #define pow(x,y) __tg_real_complex_pow((x), (y))
256
+ #define remainder(x,y) __tg_real_2(remainder, (x), (y))
257
+ #define remquo(x,y,z) __tg_real_remquo((x), (y), (z))
258
+ #define rint(x) __tg_real(rint, (x))
259
+ #define round(x) __tg_real(round, (x))
260
+ #define scalbln(x,y) __tg_real_2_1(scalbln, (x), (y))
261
+ #define scalbn(x,y) __tg_real_2_1(scalbn, (x), (y))
262
+ #define sin(x) __tg_real_complex(sin, (x))
263
+ #define sinh(x) __tg_real_complex(sinh, (x))
264
+ #define sqrt(x) __tg_real_complex(sqrt, (x))
265
+ #define tan(x) __tg_real_complex(tan, (x))
266
+ #define tanh(x) __tg_real_complex(tanh, (x))
267
+ #define tgamma(x) __tg_real(tgamma, (x))
268
+ #define trunc(x) __tg_real(trunc, (x))
269
+
270
+ #endif