rbdc 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. data/bindings/ruby/rbdc/extconf.rb +57 -0
  2. data/bindings/ruby/rbdc/rbdc.c +304 -0
  3. data/dyncall/AUTHORS +4 -0
  4. data/dyncall/BUGS +3 -0
  5. data/dyncall/CMakeLists.txt +79 -0
  6. data/dyncall/ChangeLog +165 -0
  7. data/dyncall/LICENSE +15 -0
  8. data/dyncall/Makefile.M +15 -0
  9. data/dyncall/Makefile.embedded +71 -0
  10. data/dyncall/Makefile.generic +36 -0
  11. data/dyncall/Nmakefile +45 -0
  12. data/dyncall/README +92 -0
  13. data/dyncall/ToDo +114 -0
  14. data/dyncall/autovar/LICENSE.txt +15 -0
  15. data/dyncall/autovar/README.txt +69 -0
  16. data/dyncall/autovar/autovar_ABI.h +44 -0
  17. data/dyncall/autovar/autovar_ARCH.h +56 -0
  18. data/dyncall/autovar/autovar_CC.h +46 -0
  19. data/dyncall/autovar/autovar_OS.h +78 -0
  20. data/dyncall/autovar/autovar_OSFAMILY.h +39 -0
  21. data/dyncall/buildsys/cmake/Modules/FindDynCall.cmake +43 -0
  22. data/dyncall/buildsys/cmake/Modules/FindDynCallback.cmake +43 -0
  23. data/dyncall/buildsys/cmake/Modules/FindDynLoad.cmake +45 -0
  24. data/dyncall/buildsys/cmake/Modules/UseLATEX.cmake +811 -0
  25. data/dyncall/buildsys/dynmake/Makefile.base.M +82 -0
  26. data/dyncall/buildsys/dynmake/dynmake.bat +2 -0
  27. data/dyncall/buildsys/dynmake/dynmake.sh +4 -0
  28. data/dyncall/buildsys/lua/Makefile +10 -0
  29. data/dyncall/buildsys/lua/README.txt +4 -0
  30. data/dyncall/buildsys/lua/bootstrap.sh +34 -0
  31. data/dyncall/buildsys/lua/cleanup.sh +6 -0
  32. data/dyncall/buildsys/lua/mkfile +34 -0
  33. data/dyncall/buildsys/lua/setenv.sh +4 -0
  34. data/dyncall/buildsys/mk/app.mk +30 -0
  35. data/dyncall/buildsys/mk/dirs.mk +27 -0
  36. data/dyncall/buildsys/mk/epilog.mk +30 -0
  37. data/dyncall/buildsys/mk/lib.mk +23 -0
  38. data/dyncall/buildsys/mk/pcc.mk +60 -0
  39. data/dyncall/buildsys/mk/prolog.mk +35 -0
  40. data/dyncall/buildsys/nmake/common.nmake +61 -0
  41. data/dyncall/buildsys/nmake/epilog.nmake +28 -0
  42. data/dyncall/buildsys/nmake/prolog.nmake +76 -0
  43. data/dyncall/buildsys/nmake/tool_gcc.nmake +82 -0
  44. data/dyncall/buildsys/nmake/tool_msvc.nmake +67 -0
  45. data/dyncall/buildsys/scripts/batch-build-linux.sh +11 -0
  46. data/dyncall/buildsys/scripts/batch-build-minix.sh +11 -0
  47. data/dyncall/buildsys/scripts/batch-build-psp.sh +11 -0
  48. data/dyncall/buildsys/scripts/conf-nds.bat +41 -0
  49. data/dyncall/buildsys/scripts/setenv-cross-ios.sh +8 -0
  50. data/dyncall/buildsys/scripts/setenv-sdk-ios.sh +22 -0
  51. data/dyncall/buildsys/vs2005/dyncall/dyncall.vcproj +245 -0
  52. data/dyncall/buildsys/vs2005/test_plain/test_plain.vcproj +202 -0
  53. data/dyncall/buildsys/vs2005/vs2005.sln +29 -0
  54. data/dyncall/configure +152 -0
  55. data/dyncall/configure.bat +157 -0
  56. data/dyncall/configure.rc +234 -0
  57. data/dyncall/dynMakefile +4 -0
  58. data/dyncall/dyncall/CMakeLists.txt +53 -0
  59. data/dyncall/dyncall/DynCallConfig.cmake +3 -0
  60. data/dyncall/dyncall/Makefile.M +10 -0
  61. data/dyncall/dyncall/Makefile.embedded +20 -0
  62. data/dyncall/dyncall/Makefile.generic +16 -0
  63. data/dyncall/dyncall/Nmakefile +62 -0
  64. data/dyncall/dyncall/README-Developer.txt +45 -0
  65. data/dyncall/dyncall/README.txt +65 -0
  66. data/dyncall/dyncall/TODO +9 -0
  67. data/dyncall/dyncall/dynMakefile +4 -0
  68. data/dyncall/dyncall/dyncall.3 +189 -0
  69. data/dyncall/dyncall/dyncall.h +135 -0
  70. data/dyncall/dyncall/dyncall_alloc.h +40 -0
  71. data/dyncall/dyncall/dyncall_api.c +167 -0
  72. data/dyncall/dyncall/dyncall_call.S +72 -0
  73. data/dyncall/dyncall/dyncall_call_arm32_arm.S +80 -0
  74. data/dyncall/dyncall/dyncall_call_arm32_arm.h +61 -0
  75. data/dyncall/dyncall/dyncall_call_arm32_arm_armhf.S +96 -0
  76. data/dyncall/dyncall/dyncall_call_arm32_arm_armhf.h +44 -0
  77. data/dyncall/dyncall/dyncall_call_arm32_thumb.h +65 -0
  78. data/dyncall/dyncall/dyncall_call_arm32_thumb_apple.s +80 -0
  79. data/dyncall/dyncall/dyncall_call_arm32_thumb_armhf.S +121 -0
  80. data/dyncall/dyncall/dyncall_call_arm32_thumb_gas.s +101 -0
  81. data/dyncall/dyncall/dyncall_call_mips.h +50 -0
  82. data/dyncall/dyncall/dyncall_call_mips_eabi.h +61 -0
  83. data/dyncall/dyncall/dyncall_call_mips_eabi_gas.s +115 -0
  84. data/dyncall/dyncall/dyncall_call_mips_gas.S +36 -0
  85. data/dyncall/dyncall/dyncall_call_mips_n32.h +67 -0
  86. data/dyncall/dyncall/dyncall_call_mips_n32_gas.s +192 -0
  87. data/dyncall/dyncall/dyncall_call_mips_n64.h +67 -0
  88. data/dyncall/dyncall/dyncall_call_mips_n64_gas.s +192 -0
  89. data/dyncall/dyncall/dyncall_call_mips_o32.h +70 -0
  90. data/dyncall/dyncall/dyncall_call_mips_o32_gas.s +109 -0
  91. data/dyncall/dyncall/dyncall_call_ppc32.S +266 -0
  92. data/dyncall/dyncall/dyncall_call_ppc32.h +62 -0
  93. data/dyncall/dyncall/dyncall_call_sparc.S +192 -0
  94. data/dyncall/dyncall/dyncall_call_sparc.h +42 -0
  95. data/dyncall/dyncall/dyncall_call_sparc64.S +361 -0
  96. data/dyncall/dyncall/dyncall_call_sparc64.h +42 -0
  97. data/dyncall/dyncall/dyncall_call_sparc_v9.S +220 -0
  98. data/dyncall/dyncall/dyncall_call_sparc_v9.h +42 -0
  99. data/dyncall/dyncall/dyncall_call_x64-att.S +146 -0
  100. data/dyncall/dyncall/dyncall_call_x64.S +149 -0
  101. data/dyncall/dyncall/dyncall_call_x64.h +63 -0
  102. data/dyncall/dyncall/dyncall_call_x64_generic_masm.asm +70 -0
  103. data/dyncall/dyncall/dyncall_call_x86.S +238 -0
  104. data/dyncall/dyncall/dyncall_call_x86.h +70 -0
  105. data/dyncall/dyncall/dyncall_call_x86_8a.s +127 -0
  106. data/dyncall/dyncall/dyncall_call_x86_generic_masm.asm +136 -0
  107. data/dyncall/dyncall/dyncall_call_x86_nasm.asm +234 -0
  108. data/dyncall/dyncall/dyncall_callf.c +112 -0
  109. data/dyncall/dyncall/dyncall_callf.h +52 -0
  110. data/dyncall/dyncall/dyncall_callvm.c +68 -0
  111. data/dyncall/dyncall/dyncall_callvm.h +88 -0
  112. data/dyncall/dyncall/dyncall_callvm_arm32_arm.c +250 -0
  113. data/dyncall/dyncall/dyncall_callvm_arm32_arm.h +59 -0
  114. data/dyncall/dyncall/dyncall_callvm_arm32_arm_armhf.c +204 -0
  115. data/dyncall/dyncall/dyncall_callvm_arm32_arm_armhf.h +63 -0
  116. data/dyncall/dyncall/dyncall_callvm_arm32_thumb.c +271 -0
  117. data/dyncall/dyncall/dyncall_callvm_arm32_thumb.h +59 -0
  118. data/dyncall/dyncall/dyncall_callvm_base.c +33 -0
  119. data/dyncall/dyncall/dyncall_callvm_mips.c +40 -0
  120. data/dyncall/dyncall/dyncall_callvm_mips.h +37 -0
  121. data/dyncall/dyncall/dyncall_callvm_mips_eabi.c +181 -0
  122. data/dyncall/dyncall/dyncall_callvm_mips_eabi.h +61 -0
  123. data/dyncall/dyncall/dyncall_callvm_mips_n32.c +268 -0
  124. data/dyncall/dyncall/dyncall_callvm_mips_n64.c +268 -0
  125. data/dyncall/dyncall/dyncall_callvm_mips_n64.h +53 -0
  126. data/dyncall/dyncall/dyncall_callvm_mips_o32.c +235 -0
  127. data/dyncall/dyncall/dyncall_callvm_mips_o32.h +45 -0
  128. data/dyncall/dyncall/dyncall_callvm_ppc32.c +372 -0
  129. data/dyncall/dyncall/dyncall_callvm_ppc32.h +61 -0
  130. data/dyncall/dyncall/dyncall_callvm_sparc.c +155 -0
  131. data/dyncall/dyncall/dyncall_callvm_sparc.h +44 -0
  132. data/dyncall/dyncall/dyncall_callvm_sparc64.c +239 -0
  133. data/dyncall/dyncall/dyncall_callvm_sparc64.h +47 -0
  134. data/dyncall/dyncall/dyncall_callvm_sparc_v9.c +182 -0
  135. data/dyncall/dyncall/dyncall_callvm_sparc_v9.h +45 -0
  136. data/dyncall/dyncall/dyncall_callvm_x64.c +228 -0
  137. data/dyncall/dyncall/dyncall_callvm_x64.h +111 -0
  138. data/dyncall/dyncall/dyncall_callvm_x86.c +667 -0
  139. data/dyncall/dyncall/dyncall_callvm_x86.h +75 -0
  140. data/dyncall/dyncall/dyncall_config.h +46 -0
  141. data/dyncall/dyncall/dyncall_macros.h +248 -0
  142. data/dyncall/dyncall/dyncall_signature.h +71 -0
  143. data/dyncall/dyncall/dyncall_struct.c +255 -0
  144. data/dyncall/dyncall/dyncall_struct.h +69 -0
  145. data/dyncall/dyncall/dyncall_types.h +74 -0
  146. data/dyncall/dyncall/dyncall_utils.h +38 -0
  147. data/dyncall/dyncall/dyncall_value.h +73 -0
  148. data/dyncall/dyncall/dyncall_vector.c +52 -0
  149. data/dyncall/dyncall/dyncall_vector.h +56 -0
  150. data/dyncall/dyncall/gen-masm.sh +7 -0
  151. data/dyncall/dyncall/mkfile +29 -0
  152. data/dyncall/dyncallback/CMakeLists.txt +55 -0
  153. data/dyncall/dyncallback/DynCallbackConfig.cmake +2 -0
  154. data/dyncall/dyncallback/Makefile.M +10 -0
  155. data/dyncall/dyncallback/Makefile.embedded +15 -0
  156. data/dyncall/dyncallback/Makefile.generic +20 -0
  157. data/dyncall/dyncallback/Nmakefile +71 -0
  158. data/dyncall/dyncallback/README.txt +9 -0
  159. data/dyncall/dyncallback/TODO +4 -0
  160. data/dyncall/dyncallback/dynMakefile +4 -0
  161. data/dyncall/dyncallback/dyncall_alloc_wx.c +35 -0
  162. data/dyncall/dyncallback/dyncall_alloc_wx.h +46 -0
  163. data/dyncall/dyncallback/dyncall_alloc_wx_malloc.c +40 -0
  164. data/dyncall/dyncallback/dyncall_alloc_wx_mmap.c +42 -0
  165. data/dyncall/dyncallback/dyncall_alloc_wx_win32.c +42 -0
  166. data/dyncall/dyncallback/dyncall_args.c +45 -0
  167. data/dyncall/dyncallback/dyncall_args.h +65 -0
  168. data/dyncall/dyncallback/dyncall_args_arm32_arm.c +112 -0
  169. data/dyncall/dyncallback/dyncall_args_arm32_arm.h +40 -0
  170. data/dyncall/dyncallback/dyncall_args_arm32_thumb.c +29 -0
  171. data/dyncall/dyncallback/dyncall_args_arm32_thumb.h +32 -0
  172. data/dyncall/dyncallback/dyncall_args_mips.c +81 -0
  173. data/dyncall/dyncallback/dyncall_args_mips.h +41 -0
  174. data/dyncall/dyncallback/dyncall_args_ppc32.c +88 -0
  175. data/dyncall/dyncallback/dyncall_args_ppc32.h +41 -0
  176. data/dyncall/dyncallback/dyncall_args_sparc32.c +41 -0
  177. data/dyncall/dyncallback/dyncall_args_sparc32.h +37 -0
  178. data/dyncall/dyncallback/dyncall_args_sparc64.c +41 -0
  179. data/dyncall/dyncallback/dyncall_args_sparc64.h +37 -0
  180. data/dyncall/dyncallback/dyncall_args_x64.c +73 -0
  181. data/dyncall/dyncallback/dyncall_args_x64.h +44 -0
  182. data/dyncall/dyncallback/dyncall_args_x86.c +121 -0
  183. data/dyncall/dyncallback/dyncall_args_x86.h +58 -0
  184. data/dyncall/dyncallback/dyncall_callback.c +45 -0
  185. data/dyncall/dyncallback/dyncall_callback.h +51 -0
  186. data/dyncall/dyncallback/dyncall_callback_arch.S +71 -0
  187. data/dyncall/dyncallback/dyncall_callback_arm32_arm.c +63 -0
  188. data/dyncall/dyncallback/dyncall_callback_arm32_arm.h +45 -0
  189. data/dyncall/dyncallback/dyncall_callback_arm32_arm_apple.s +73 -0
  190. data/dyncall/dyncallback/dyncall_callback_arm32_arm_gas.s +73 -0
  191. data/dyncall/dyncallback/dyncall_callback_arm32_thumb.c +29 -0
  192. data/dyncall/dyncallback/dyncall_callback_arm32_thumb.h +33 -0
  193. data/dyncall/dyncallback/dyncall_callback_arm32_thumb_apple.s +32 -0
  194. data/dyncall/dyncallback/dyncall_callback_arm32_thumb_gas.s +32 -0
  195. data/dyncall/dyncallback/dyncall_callback_mips.c +61 -0
  196. data/dyncall/dyncallback/dyncall_callback_mips.h +42 -0
  197. data/dyncall/dyncallback/dyncall_callback_ppc32.S +33 -0
  198. data/dyncall/dyncallback/dyncall_callback_ppc32.c +60 -0
  199. data/dyncall/dyncallback/dyncall_callback_ppc32.h +43 -0
  200. data/dyncall/dyncallback/dyncall_callback_ppc32_apple.s +180 -0
  201. data/dyncall/dyncallback/dyncall_callback_sparc32.c +57 -0
  202. data/dyncall/dyncallback/dyncall_callback_sparc32.h +43 -0
  203. data/dyncall/dyncallback/dyncall_callback_sparc32.s +30 -0
  204. data/dyncall/dyncallback/dyncall_callback_sparc64.c +57 -0
  205. data/dyncall/dyncallback/dyncall_callback_sparc64.s +30 -0
  206. data/dyncall/dyncallback/dyncall_callback_x64.S +187 -0
  207. data/dyncall/dyncallback/dyncall_callback_x64.c +69 -0
  208. data/dyncall/dyncallback/dyncall_callback_x64.h +44 -0
  209. data/dyncall/dyncallback/dyncall_callback_x64_apple.s +122 -0
  210. data/dyncall/dyncallback/dyncall_callback_x64_gas.s +119 -0
  211. data/dyncall/dyncallback/dyncall_callback_x64_gas_w64.s +102 -0
  212. data/dyncall/dyncallback/dyncall_callback_x64_masm.asm +89 -0
  213. data/dyncall/dyncallback/dyncall_callback_x86.S +115 -0
  214. data/dyncall/dyncallback/dyncall_callback_x86.c +281 -0
  215. data/dyncall/dyncallback/dyncall_callback_x86.h +49 -0
  216. data/dyncall/dyncallback/dyncall_callback_x86_8a.s +100 -0
  217. data/dyncall/dyncallback/dyncall_callback_x86_masm.asm +74 -0
  218. data/dyncall/dyncallback/dyncall_thunk.c +47 -0
  219. data/dyncall/dyncallback/dyncall_thunk.h +84 -0
  220. data/dyncall/dyncallback/dyncall_thunk_arm32_arm.c +45 -0
  221. data/dyncall/dyncallback/dyncall_thunk_arm32_arm.h +40 -0
  222. data/dyncall/dyncallback/dyncall_thunk_arm32_thumb.c +29 -0
  223. data/dyncall/dyncallback/dyncall_thunk_arm32_thumb.h +35 -0
  224. data/dyncall/dyncallback/dyncall_thunk_mips.c +52 -0
  225. data/dyncall/dyncallback/dyncall_thunk_mips.h +37 -0
  226. data/dyncall/dyncallback/dyncall_thunk_ppc32.c +51 -0
  227. data/dyncall/dyncallback/dyncall_thunk_ppc32.h +40 -0
  228. data/dyncall/dyncallback/dyncall_thunk_sparc32.c +32 -0
  229. data/dyncall/dyncallback/dyncall_thunk_sparc32.h +36 -0
  230. data/dyncall/dyncallback/dyncall_thunk_sparc64.c +32 -0
  231. data/dyncall/dyncallback/dyncall_thunk_sparc64.h +36 -0
  232. data/dyncall/dyncallback/dyncall_thunk_x64.c +48 -0
  233. data/dyncall/dyncallback/dyncall_thunk_x64.h +39 -0
  234. data/dyncall/dyncallback/dyncall_thunk_x86.c +44 -0
  235. data/dyncall/dyncallback/dyncall_thunk_x86.h +39 -0
  236. data/dyncall/dyncallback/dyncallback.3 +134 -0
  237. data/dyncall/dyncallback/gen-masm.sh +8 -0
  238. data/dyncall/dyncallback/mkfile +29 -0
  239. data/dyncall/dynload/CMakeLists.txt +25 -0
  240. data/dyncall/dynload/DynLoadConfig.cmake +3 -0
  241. data/dyncall/dynload/Makefile.M +10 -0
  242. data/dyncall/dynload/Makefile.embedded +22 -0
  243. data/dyncall/dynload/Makefile.generic +18 -0
  244. data/dyncall/dynload/Nmakefile +57 -0
  245. data/dyncall/dynload/README.txt +113 -0
  246. data/dyncall/dynload/TODO +20 -0
  247. data/dyncall/dynload/dynMakefile +4 -0
  248. data/dyncall/dynload/dynload.3 +64 -0
  249. data/dyncall/dynload/dynload.c +38 -0
  250. data/dyncall/dynload/dynload.h +65 -0
  251. data/dyncall/dynload/dynload_alloc.h +40 -0
  252. data/dyncall/dynload/dynload_darwin.c +89 -0
  253. data/dyncall/dynload/dynload_syms.c +38 -0
  254. data/dyncall/dynload/dynload_syms_elf.c +214 -0
  255. data/dyncall/dynload/dynload_syms_mach-o.c +167 -0
  256. data/dyncall/dynload/dynload_syms_pe.c +109 -0
  257. data/dyncall/dynload/dynload_unix.c +57 -0
  258. data/dyncall/dynload/dynload_windows.c +59 -0
  259. data/dyncall/mkfile +36 -0
  260. data/dyncall/portasm/README.txt +42 -0
  261. data/dyncall/portasm/gen-masm.sh +3 -0
  262. data/dyncall/portasm/portasm-arm.S +36 -0
  263. data/dyncall/portasm/portasm-ppc.S +98 -0
  264. data/dyncall/portasm/portasm-x64-att.S +155 -0
  265. data/dyncall/portasm/portasm-x86.S +127 -0
  266. metadata +311 -0
@@ -0,0 +1,82 @@
1
+ #include "../../dyncall/dyncall_macros.h"
2
+
3
+ #if defined(DC_WINDOWS) && defined(MAKE_CMD_nmake)
4
+
5
+ /* Abstractions */
6
+ #define _(X) $(X) /* Standard variables */
7
+ #define _L(X) X.lib
8
+ #define _O(X) X.obj
9
+
10
+ #define TARGET @
11
+ #define PREREQS **
12
+
13
+ /* Makefile internal vars for platform abstraction */
14
+ MAKEFLAGS_USER = /NOLOGO
15
+ MAKEFLAG_FILE = /f
16
+ MAKE_DEFAULT_FILE = dynMakefile
17
+ SHELL_COMMAND_SEPARATOR = &&
18
+
19
+ AR = lib
20
+ ARFLAGS_USER = /NOLOGO
21
+ ARFLAGS =
22
+ ARFLAG_OUT_PREFIX = /OUT:
23
+
24
+ CFLAGS_USER = /nologo /I..\dyncall /I..\dyncallback
25
+ CFLAGS = _(CFLAGS) _(CFLAGS_USER)
26
+
27
+ LDFLAGS_USER = /nologo /L..\dyncall /L..\dyncallback
28
+ LDFLAGS = _(LDFLAGS) _(LDFLAGS_USER)
29
+ LDFLAG_IN_PREFIX =
30
+ LDFLAG_OUT_PREFIX = /OUT:
31
+
32
+ ASFLAGS_USER = /nologo
33
+ AFLAGS = _(AFLAGS) _(ASFLAGS_USER) /* Set AFLAGS (without 'S'), which is the standard nmake predefined macro for MASM */
34
+ ASFLAGS = _(AFLAGS)
35
+
36
+ RM = del
37
+
38
+ .SUFFIXES : .S
39
+
40
+ .S.obj:
41
+ cl /nologo /EP $< > $*.asm
42
+ _(AS) _(ASFLAGS) /c $*.asm
43
+ del $*.asm
44
+
45
+
46
+ #else
47
+
48
+ /* Abstractions */
49
+ #define _(X) ${X} /* Standard variables */
50
+ #define _L(X) lib##X.a
51
+ #define _O(X) X.o
52
+
53
+ #define TARGET @
54
+ #if defined(MAKE_CMD_gmake) || (defined(DC__OS_Linux) && !defined(MAKE_CMD_bsdmake)) || (defined(DC__OS_Darwin) && !defined(MAKE_CMD_bsdmake)) || (defined(DC__OS_SunOS) && !defined(MAKE_CMD_bsdmake))
55
+ # define PREREQS ^
56
+ #else
57
+ # define PREREQS >
58
+ #endif
59
+
60
+
61
+ /* Makefile internal vars for platform abstraction */
62
+ MAKEFLAGS_USER =
63
+ MAKEFLAG_FILE = -f
64
+ MAKE_DEFAULT_FILE = dynMakefile
65
+ SHELL_COMMAND_SEPARATOR = ;
66
+
67
+ ARFLAG_OUT_PREFIX =
68
+
69
+ CFLAGS_USER = -I ../dyncall -I ../dyncallback
70
+ CFLAGS += _(CFLAGS_USER)
71
+
72
+ LDFLAGS_USER = -L../../dyncall -L../../dyncallback
73
+ LDFLAGS += _(LDFLAGS_USER)
74
+ LDFLAG_IN_PREFIX = -l
75
+ LDFLAG_OUT_PREFIX = -o
76
+
77
+ ASFLAGS_USER =
78
+
79
+ RM = rm -f
80
+
81
+ #endif
82
+
@@ -0,0 +1,2 @@
1
+ cl /nologo /DMAKE_CMD_%~n2 /EP Makefile.M 1> Makefile.dynmake
2
+ %2 /NOLOGO /f Makefile.dynmake %1
@@ -0,0 +1,4 @@
1
+ #!/bin/sh
2
+ #cpp -D MAKE_CMD_$2 -P Makefile.M | sed "s/^ */ /" > Makefile.dynmake
3
+ gcc -D MAKE_CMD_$2 -E -P -x c Makefile.M | sed "s/^ */ /" > Makefile.dynmake
4
+ $2 -f Makefile.dynmake $1
@@ -0,0 +1,10 @@
1
+ DL=wget
2
+ all: lua-5.1.4
3
+
4
+ lua-5.1.4.tar.gz:
5
+ ${DL} http://www.lua.org/ftp/lua-5.1.4.tar.gz
6
+ lua-5.1.4: lua-5.1.4.tar.gz
7
+ gunzip -c $? | tar xf -
8
+
9
+ clean:
10
+ rm -rf lua-5.1.4.tar.gz lua-5.1.4
@@ -0,0 +1,4 @@
1
+ This helper folder is used to bootstrap lua on platforms where there
2
+ is no lua at all.
3
+
4
+
@@ -0,0 +1,34 @@
1
+ #!/bin/sh
2
+ if [ -z "${DL}" ]; then
3
+ DL=wget
4
+ fi
5
+ case `uname -s` in
6
+ Darwin)
7
+ LPLAF=macosx
8
+ ;;
9
+ Linux)
10
+ LPLAF=linux
11
+ ;;
12
+ FreeBSD)
13
+ LPLAF=freebsd
14
+ ;;
15
+ SunOS)
16
+ LPLAF=solaris
17
+ ;;
18
+ AIX)
19
+ LPLAF=aix
20
+ ;;
21
+ DragonFly)
22
+ LPLAF=bsd
23
+ ;;
24
+ *BSD)
25
+ LPLAF=bsd
26
+ ;;
27
+ *)
28
+ LPLAF=posix
29
+ ;;
30
+ esac
31
+ DL="${DL}" make -f `dirname $0`/Makefile lua-5.1.4
32
+ (cd lua-5.1.4; make ${LPLAF})
33
+
34
+
@@ -0,0 +1,6 @@
1
+ #!/bin/sh
2
+
3
+ if [ -d lua-5.1.4 ]; then
4
+ (cd lua-5.1.4;make clean)
5
+ fi
6
+
@@ -0,0 +1,34 @@
1
+ #//////////////////////////////////////////////////////////////////////////////
2
+ #
3
+ # Copyright (c) 2013 Daniel Adler <dadler@uni-goettingen.de>,
4
+ # Tassilo Philipp <tphilipp@potion-studios.com>
5
+ #
6
+ # Permission to use, copy, modify, and distribute this software for any
7
+ # purpose with or without fee is hereby granted, provided that the above
8
+ # copyright notice and this permission notice appear in all copies.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11
+ # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12
+ # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13
+ # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14
+ # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15
+ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16
+ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17
+ #
18
+ #//////////////////////////////////////////////////////////////////////////////
19
+
20
+
21
+ VER = 5.1.4
22
+ LUA = lua-$VER
23
+ TGZ = $LUA.tar.gz
24
+
25
+ all:V:
26
+ hget http://www.lua.org/ftp/$TGZ > $TGZ
27
+ tar -xf $TGZ
28
+ cd $LUA/src
29
+ rm luac.c
30
+ pcc *.c
31
+ mv 8.out ../../lua
32
+ cd ../..
33
+ rm -rf $LUA $TGZ
34
+
@@ -0,0 +1,4 @@
1
+ #
2
+ PATH=$PWD/lua-5.1.4/src:$PATH
3
+ export PATH
4
+
@@ -0,0 +1,30 @@
1
+ #//////////////////////////////////////////////////////////////////////////////
2
+ #
3
+ # Copyright (c) 2010 Daniel Adler <dadler@uni-goettingen.de>,
4
+ # Tassilo Philipp <tphilipp@potion-studios.com>
5
+ #
6
+ # Permission to use, copy, modify, and distribute this software for any
7
+ # purpose with or without fee is hereby granted, provided that the above
8
+ # copyright notice and this permission notice appear in all copies.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11
+ # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12
+ # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13
+ # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14
+ # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15
+ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16
+ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17
+ #
18
+ #//////////////////////////////////////////////////////////////////////////////
19
+
20
+
21
+ # Set Plan9's mk variables.
22
+ TARG = ${APPLICATION}
23
+ OFILES = `{echo $UNITS | sed 's/ |$/.$O /g'}
24
+ LIB = $LIBS
25
+
26
+ # Add some targets to create a local copy of the bin, named as desired.
27
+ all:V: $TARG
28
+
29
+ $TARG: $O.out
30
+ cp $O.out $TARG
@@ -0,0 +1,27 @@
1
+ #//////////////////////////////////////////////////////////////////////////////
2
+ #
3
+ # Copyright (c) 2010 Daniel Adler <dadler@uni-goettingen.de>,
4
+ # Tassilo Philipp <tphilipp@potion-studios.com>
5
+ #
6
+ # Permission to use, copy, modify, and distribute this software for any
7
+ # purpose with or without fee is hereby granted, provided that the above
8
+ # copyright notice and this permission notice appear in all copies.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11
+ # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12
+ # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13
+ # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14
+ # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15
+ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16
+ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17
+ #
18
+ #//////////////////////////////////////////////////////////////////////////////
19
+
20
+ all: dirs
21
+
22
+ dirs:VQ: $DIRS
23
+ for (i in $DIRS) @{
24
+ echo Handling sub-directory $i...
25
+ cd $i && rfork && rm /env/DIRS && $MK -f mkfile $MKFLAGS
26
+ }
27
+
@@ -0,0 +1,30 @@
1
+ #//////////////////////////////////////////////////////////////////////////////
2
+ #
3
+ # Copyright (c) 2010 Daniel Adler <dadler@uni-goettingen.de>,
4
+ # Tassilo Philipp <tphilipp@potion-studios.com>
5
+ #
6
+ # Permission to use, copy, modify, and distribute this software for any
7
+ # purpose with or without fee is hereby granted, provided that the above
8
+ # copyright notice and this permission notice appear in all copies.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11
+ # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12
+ # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13
+ # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14
+ # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15
+ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16
+ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17
+ #
18
+ #//////////////////////////////////////////////////////////////////////////////
19
+
20
+
21
+ # If we have subdirectories, handle them.
22
+ <|if(! ~ x$DIRS x) { cat $TOP/buildsys/mk/dirs.mk }; echo
23
+
24
+ # If we have a library to build, include lib.mk, if it is an application,
25
+ # include app.mk, etc..
26
+ <|if(! ~ x$LIBRARY x) { cat $TOP/buildsys/mk/lib.mk /sys/src/cmd/mklib }; echo
27
+ <|if(! ~ x$APPLICATION x) { cat $TOP/buildsys/mk/app.mk /sys/src/cmd/mkone }; echo
28
+
29
+ # Overrides.
30
+ <$TOP/buildsys/mk/pcc.mk
@@ -0,0 +1,23 @@
1
+ #//////////////////////////////////////////////////////////////////////////////
2
+ #
3
+ # Copyright (c) 2010 Daniel Adler <dadler@uni-goettingen.de>,
4
+ # Tassilo Philipp <tphilipp@potion-studios.com>
5
+ #
6
+ # Permission to use, copy, modify, and distribute this software for any
7
+ # purpose with or without fee is hereby granted, provided that the above
8
+ # copyright notice and this permission notice appear in all copies.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11
+ # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12
+ # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13
+ # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14
+ # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15
+ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16
+ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17
+ #
18
+ #//////////////////////////////////////////////////////////////////////////////
19
+
20
+
21
+ # Set Plan9's mk variables.
22
+ LIB = lib${LIBRARY}_s.a$O
23
+ OFILES = `{echo $UNITS | sed 's/ |$/.$O /g'}
@@ -0,0 +1,60 @@
1
+ #//////////////////////////////////////////////////////////////////////////////
2
+ #
3
+ # Copyright (c) 2010 Daniel Adler <dadler@uni-goettingen.de>,
4
+ # Tassilo Philipp <tphilipp@potion-studios.com>
5
+ #
6
+ # Permission to use, copy, modify, and distribute this software for any
7
+ # purpose with or without fee is hereby granted, provided that the above
8
+ # copyright notice and this permission notice appear in all copies.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11
+ # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12
+ # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13
+ # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14
+ # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15
+ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16
+ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17
+ #
18
+ #//////////////////////////////////////////////////////////////////////////////
19
+
20
+
21
+ #@@@ add stuff for crosscompiling here.
22
+
23
+ CC = pcc
24
+ LD = pcc
25
+
26
+ #@@@.if $(BUILD_CONFIG) == "debug"
27
+ #@@@ add -g option or similar
28
+ #@@@.endif
29
+ CPPFLAGS = -D__Plan9__ -D__${objtype}__
30
+ CFLAGS = -D__Plan9__ -D__${objtype}__ -I$TOP/dyncall -I$TOP/dyncallback -c
31
+ #CXXFLAGS = $CXXFLAGS -D__Plan9__
32
+ #ASFLAGS = -D__Plan9__
33
+
34
+ # JUST TEMPORARY AS LONG AS I'M WORKING ON IT - Plan9's sed doesn't support sed comments
35
+ # /^$/d # Remove empty lines.
36
+ # /^#.*/d # Remove comments.
37
+ # s/^\.(globl|intel_syntax|file|section).*// # Remove some GAS directives.
38
+ # s/(.*):/TEXT \1(SB), $0/g # Reformat function names.
39
+ # s/%//g # Remove % register prefixes.
40
+ # /^[ ]+/y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/ # Convert everything to uppercase.
41
+ # s/([A-Z]+)[ ]*E(..)[, ]*E(..)/\1L \3, \2/ # Convert 32bit instructions with 2 register operands.
42
+ # s/([A-Z]+)[ ]*E(..)[, ]*([0-9]+)/\1L $\3, \2/ # Convert 32bit instructions with register and constant as
43
+ # s/([A-Z]+)[ ]*E(..)[, ]*\[E(..)\+([0-9]+)\]/\1L \4(\3), \2/ # Convert 32bit instructions with register and address as
44
+ # s/([A-Z]+)[ ]*E(..)[, ]*\[E(..)\]/\1L 0(\3), \2/ # Convert 32bit instructions with register and address as
45
+ # s/(CALL)[ ]*E(..)[ ]*$/\1 \2/ # Convert CALL instructions.
46
+ # s/(CALL)[ ]*\[E(..)\+([0-9]+)\]/\1 \3(\2)/ # Convert CALL instructions with addressing mode.
47
+ # s/([A-Z]+)[ ]*E(..)[ ]*$/\1L \2/ # Convert 32bit instructions with register operand.
48
+ # s/([A-Z]+)[ ]*\[E(..)\+([0-9]+)\]/\1L \3(\2)/ # Convert 32bit instructions with address operand.
49
+ # s/([A-Z]+)[ ]*\[E(..)\]/\1L 0(\2)/ # Convert 32bit instructions with address operand.
50
+ # s/(REP)[ ]*(MOV)SB[ ]*$/\1; \2B SI, DI/ # Convert repeater prefix stuff.
51
+ # s/(REP)[ ]*(MOV)SD[ ]*$/\1; \2L SI, DI/ # Convert repeater prefix stuff.
52
+
53
+ # Step to transform .S into object files.
54
+ %.$O: %.S
55
+ cp $prereq $prereq.c
56
+ pcc -E $CPPFLAGS $prereq.c > $stem.s # replace with cpp? pcc requires .c suffix
57
+ rm $prereq.c
58
+ $AS $AFLAGS $stem.s
59
+ rm $stem.s
60
+
@@ -0,0 +1,35 @@
1
+ #//////////////////////////////////////////////////////////////////////////////
2
+ #
3
+ # Copyright (c) 2010 Daniel Adler <dadler@uni-goettingen.de>,
4
+ # Tassilo Philipp <tphilipp@potion-studios.com>
5
+ #
6
+ # Permission to use, copy, modify, and distribute this software for any
7
+ # purpose with or without fee is hereby granted, provided that the above
8
+ # copyright notice and this permission notice appear in all copies.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11
+ # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12
+ # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13
+ # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14
+ # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15
+ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16
+ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17
+ #
18
+ #//////////////////////////////////////////////////////////////////////////////
19
+
20
+ # 'all' is always our default target.
21
+ all:
22
+
23
+
24
+ </$objtype/mkfile
25
+
26
+ # Include config rules.
27
+ <$TOP/ConfigVars
28
+
29
+ BUILD_HOST = $CONFIG_HOST
30
+ BUILD_OS = $CONFIG_OS
31
+ BUILD_ARCH = $CONFIG_ARCH
32
+ BUILD_TOOL = $CONFIG_TOOL
33
+ BUILD_ASM = $CONFIG_ASM
34
+ BUILD_CONFIG = $CONFIG_CONFIG
35
+
@@ -0,0 +1,61 @@
1
+ #//////////////////////////////////////////////////////////////////////////////
2
+ #
3
+ # Copyright (c) 2007,2009 Daniel Adler <dadler@uni-goettingen.de>,
4
+ # Tassilo Philipp <tphilipp@potion-studios.com>
5
+ #
6
+ # Permission to use, copy, modify, and distribute this software for any
7
+ # purpose with or without fee is hereby granted, provided that the above
8
+ # copyright notice and this permission notice appear in all copies.
9
+ #
10
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11
+ # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12
+ # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13
+ # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14
+ # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15
+ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16
+ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17
+ #
18
+ #//////////////////////////////////////////////////////////////////////////////
19
+
20
+ #///////////////////////////////////////////////////
21
+ #
22
+ # common nmake rules
23
+ # common.nmake
24
+ #
25
+ #///////////////////////////////////////////////////
26
+
27
+
28
+ build: dirs $(TARGETS)
29
+
30
+
31
+ dirs: $(DIRS)
32
+ !IF DEFINED(DIRS) && "$(DIRS)" != ""
33
+ !echo Handling sub-directory $** ... && cd $** && $(MAKE) /NOLOGO /F Nmakefile && cd ..
34
+ # !echo Handling sub-directory $** ... && cd $** && $(MAKE) /NOLOGO /F Nmakefile $** && cd ..
35
+ !ENDIF
36
+
37
+
38
+ clean: $(DIRS)
39
+ !IF DEFINED(DIRS) && "$(DIRS)" != ""
40
+ !echo Handling sub-directory $** ... && cd $** && $(MAKE) /NOLOGO /F Nmakefile $@ && cd ..
41
+ !ENDIF
42
+ !IF (DEFINED(TARGETS) && "$(TARGETS)" != "") || (DEFINED(OBJS) && "$(OBJS)" != "")
43
+ echo Cleaning $(MAKEDIR) ...
44
+ del $(TARGETS) *.exp *.lib $(OBJS)
45
+ # del $(TARGETS) $(TARGETS:.exe=.lib) $(TARGETS:.dll=.lib) $(TARGETS:.exe=.exp) $(TARGETS:.dll=.exp) $(OBJS)
46
+ !ENDIF
47
+
48
+
49
+ distclean: $(DIRS)
50
+ !IF DEFINED(DIRS) && "$(DIRS)" != ""
51
+ !echo Handling sub-directory $** ... && cd $** && $(MAKE) /NOLOGO /F Nmakefile $@ && cd ..
52
+ !ENDIF
53
+ !IF DEFINED(AUTOS) && "$(AUTOS)" != ""
54
+ echo Cleaning auto-generated files in $(MAKEDIR) ...
55
+ del $(AUTOS)
56
+ !ENDIF
57
+ !IF (DEFINED(TARGETS) && "$(TARGETS)" != "") || (DEFINED(OBJS) && "$(OBJS)" != "")
58
+ echo Cleaning $(MAKEDIR) ...
59
+ del $(TARGETS) *.exp *.lib $(OBJS)
60
+ # del $(TARGETS) $(TARGETS:.exe=.lib) $(TARGETS:.dll=.lib) $(TARGETS:.exe=.exp) $(TARGETS:.dll=.exp) $(OBJS)
61
+ !ENDIF