johnson 1.2.0 → 2.0.0.pre0

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 (782) hide show
  1. data/CHANGELOG.rdoc +8 -0
  2. data/Manifest.txt +762 -48
  3. data/README.rdoc +2 -1
  4. data/Rakefile +90 -18
  5. data/ext/spidermonkey/conversions.c +9 -2
  6. data/ext/spidermonkey/ruby_land_proxy.c +1 -1
  7. data/ext/spidermonkey/runtime.h +1 -1
  8. data/ext/tracemonkey/context.cc +125 -0
  9. data/ext/tracemonkey/context.h +19 -0
  10. data/ext/tracemonkey/conversions.cc +365 -0
  11. data/ext/tracemonkey/conversions.h +32 -0
  12. data/ext/tracemonkey/debugger.cc +234 -0
  13. data/ext/tracemonkey/debugger.h +10 -0
  14. data/ext/tracemonkey/extconf.rb +37 -0
  15. data/ext/tracemonkey/extensions.cc +37 -0
  16. data/ext/tracemonkey/extensions.h +12 -0
  17. data/ext/tracemonkey/global.cc +40 -0
  18. data/ext/tracemonkey/global.h +11 -0
  19. data/ext/tracemonkey/idhash.cc +16 -0
  20. data/ext/tracemonkey/idhash.h +8 -0
  21. data/ext/tracemonkey/immutable_node.cc +1199 -0
  22. data/ext/tracemonkey/immutable_node.cc.erb +559 -0
  23. data/ext/tracemonkey/immutable_node.h +22 -0
  24. data/ext/tracemonkey/jroot.h +215 -0
  25. data/ext/tracemonkey/js_land_proxy.cc +620 -0
  26. data/ext/tracemonkey/js_land_proxy.h +20 -0
  27. data/ext/tracemonkey/ruby_land_proxy.cc +618 -0
  28. data/ext/tracemonkey/ruby_land_proxy.h +38 -0
  29. data/ext/tracemonkey/runtime.cc +454 -0
  30. data/ext/tracemonkey/runtime.h +27 -0
  31. data/ext/tracemonkey/split_global.cc +392 -0
  32. data/ext/tracemonkey/split_global.h +11 -0
  33. data/ext/tracemonkey/tracemonkey.cc +23 -0
  34. data/ext/tracemonkey/tracemonkey.h +32 -0
  35. data/lib/johnson.rb +12 -4
  36. data/lib/johnson/error.rb +5 -0
  37. data/lib/johnson/js/prelude.js +16 -1
  38. data/lib/johnson/parser.rb +2 -1
  39. data/lib/johnson/runtime.rb +87 -26
  40. data/lib/johnson/spidermonkey/runtime.rb +7 -16
  41. data/lib/johnson/tracemonkey.rb +13 -0
  42. data/lib/johnson/tracemonkey/context.rb +10 -0
  43. data/lib/johnson/tracemonkey/debugger.rb +67 -0
  44. data/lib/johnson/tracemonkey/immutable_node.rb +282 -0
  45. data/lib/johnson/tracemonkey/js_land_proxy.rb +64 -0
  46. data/lib/johnson/tracemonkey/mutable_tree_visitor.rb +242 -0
  47. data/lib/johnson/tracemonkey/ruby_land_proxy.rb +17 -0
  48. data/lib/johnson/tracemonkey/runtime.rb +80 -0
  49. data/test/{johnson_test.rb → generic/johnson_test.rb} +1 -1
  50. data/test/{parser_test.rb → generic/parser_test.rb} +1 -1
  51. data/test/helper.rb +23 -4
  52. data/test/johnson/{browser_test.rb → generic/browser_test.rb} +1 -1
  53. data/test/johnson/{conversions → generic/conversions}/array_test.rb +1 -1
  54. data/test/johnson/{conversions → generic/conversions}/boolean_test.rb +1 -1
  55. data/test/johnson/{conversions → generic/conversions}/callable_test.rb +1 -1
  56. data/test/johnson/{conversions → generic/conversions}/file_test.rb +1 -1
  57. data/test/johnson/generic/conversions/helper.rb +1 -0
  58. data/test/johnson/{conversions → generic/conversions}/nil_test.rb +1 -1
  59. data/test/johnson/{conversions → generic/conversions}/number_test.rb +1 -1
  60. data/test/johnson/{conversions → generic/conversions}/regexp_test.rb +1 -1
  61. data/test/johnson/{conversions → generic/conversions}/string_test.rb +1 -1
  62. data/test/johnson/{conversions → generic/conversions}/struct_test.rb +1 -1
  63. data/test/johnson/{conversions → generic/conversions}/symbol_test.rb +1 -1
  64. data/test/johnson/{conversions → generic/conversions}/thread_test.rb +1 -1
  65. data/test/johnson/{custom_conversions_test.rb → generic/custom_conversions_test.rb} +1 -1
  66. data/test/johnson/generic/default_test.rb +12 -0
  67. data/test/johnson/{error_test.rb → generic/error_test.rb} +1 -1
  68. data/test/johnson/{extensions_test.rb → generic/extensions_test.rb} +1 -1
  69. data/test/johnson/generic/helper.rb +1 -0
  70. data/test/johnson/{nodes → generic/nodes}/array_literal_test.rb +1 -1
  71. data/test/johnson/{nodes → generic/nodes}/array_node_test.rb +1 -1
  72. data/test/johnson/{nodes → generic/nodes}/binary_node_test.rb +1 -1
  73. data/test/johnson/{nodes → generic/nodes}/bracket_access_test.rb +1 -1
  74. data/test/johnson/{nodes → generic/nodes}/delete_test.rb +1 -1
  75. data/test/johnson/{nodes → generic/nodes}/do_while_test.rb +1 -1
  76. data/test/johnson/{nodes → generic/nodes}/dot_accessor_test.rb +1 -1
  77. data/test/johnson/generic/nodes/export_test.rb +11 -0
  78. data/test/johnson/{nodes → generic/nodes}/for_test.rb +1 -1
  79. data/test/johnson/{nodes → generic/nodes}/function_test.rb +1 -1
  80. data/test/johnson/generic/nodes/helper.rb +1 -0
  81. data/test/johnson/{nodes → generic/nodes}/if_test.rb +16 -6
  82. data/test/johnson/generic/nodes/import_test.rb +15 -0
  83. data/test/johnson/{nodes → generic/nodes}/label_test.rb +1 -1
  84. data/test/johnson/{nodes → generic/nodes}/let_test.rb +1 -1
  85. data/test/johnson/{nodes → generic/nodes}/object_literal_test.rb +1 -1
  86. data/test/johnson/{nodes → generic/nodes}/return_test.rb +1 -1
  87. data/test/johnson/{nodes → generic/nodes}/semi_test.rb +1 -1
  88. data/test/johnson/{nodes → generic/nodes}/switch_test.rb +1 -1
  89. data/test/johnson/{nodes → generic/nodes}/ternary_test.rb +1 -1
  90. data/test/johnson/{nodes → generic/nodes}/throw_test.rb +1 -1
  91. data/test/johnson/{nodes → generic/nodes}/try_node_test.rb +36 -6
  92. data/test/johnson/{nodes → generic/nodes}/typeof_test.rb +1 -1
  93. data/test/johnson/{nodes → generic/nodes}/unary_node_test.rb +1 -1
  94. data/test/johnson/{nodes → generic/nodes}/void_test.rb +1 -1
  95. data/test/johnson/{nodes → generic/nodes}/while_test.rb +1 -1
  96. data/test/johnson/{nodes → generic/nodes}/with_test.rb +1 -1
  97. data/test/johnson/{prelude_test.rb → generic/prelude_test.rb} +1 -1
  98. data/test/johnson/{runtime_test.rb → generic/runtime_test.rb} +3 -6
  99. data/test/johnson/generic/version_test.rb +13 -0
  100. data/test/johnson/{visitors → generic/visitors}/dot_visitor_test.rb +1 -1
  101. data/test/johnson/{visitors → generic/visitors}/enumerating_visitor_test.rb +1 -1
  102. data/test/johnson/generic/visitors/helper.rb +1 -0
  103. data/test/johnson/spidermonkey/js_land_proxy_test.rb +1 -5
  104. data/test/johnson/spidermonkey/ruby_land_proxy_test.rb +11 -7
  105. data/test/johnson/tracemonkey/context_test.rb +21 -0
  106. data/test/johnson/tracemonkey/immutable_node_test.rb +34 -0
  107. data/test/johnson/tracemonkey/js_land_proxy_test.rb +273 -0
  108. data/test/johnson/tracemonkey/ruby_land_proxy_test.rb +274 -0
  109. data/test/johnson/tracemonkey/runtime_test.rb +41 -0
  110. data/test/johnson/tracemonkey/split_global_test.rb +32 -0
  111. data/vendor/spidermonkey/js.pkg +2 -0
  112. data/vendor/tracemonkey/Makefile.in +668 -0
  113. data/vendor/tracemonkey/Makefile.ref +483 -0
  114. data/vendor/tracemonkey/README.html +54 -0
  115. data/vendor/tracemonkey/SpiderMonkey.rsp +11 -0
  116. data/vendor/tracemonkey/Y.js +19 -0
  117. data/vendor/tracemonkey/aclocal.m4 +9 -0
  118. data/vendor/tracemonkey/bench.sh +5 -0
  119. data/vendor/tracemonkey/build/autoconf/acoutput-fast.pl +202 -0
  120. data/vendor/tracemonkey/build/autoconf/altoptions.m4 +154 -0
  121. data/vendor/tracemonkey/build/autoconf/config.guess +1537 -0
  122. data/vendor/tracemonkey/build/autoconf/config.sub +1595 -0
  123. data/vendor/tracemonkey/build/autoconf/install-sh +119 -0
  124. data/vendor/tracemonkey/build/autoconf/make-makefile +315 -0
  125. data/vendor/tracemonkey/build/autoconf/match-dir.sh +101 -0
  126. data/vendor/tracemonkey/build/autoconf/moznbytetype.m4 +136 -0
  127. data/vendor/tracemonkey/build/autoconf/nspr.m4 +82 -0
  128. data/vendor/tracemonkey/build/autoconf/pkg.m4 +59 -0
  129. data/vendor/tracemonkey/build/autoconf/update-makefile.sh +118 -0
  130. data/vendor/tracemonkey/build/cygwin-wrapper +75 -0
  131. data/vendor/tracemonkey/build/hcc +111 -0
  132. data/vendor/tracemonkey/build/hcpp +155 -0
  133. data/vendor/tracemonkey/build/unix/mddepend.pl +165 -0
  134. data/vendor/tracemonkey/build/unix/uniq.pl +63 -0
  135. data/vendor/tracemonkey/build/win32/pgomerge.py +40 -0
  136. data/vendor/tracemonkey/builtins.tbl +91 -0
  137. data/vendor/tracemonkey/call.js +13 -0
  138. data/vendor/tracemonkey/config.mk +206 -0
  139. data/vendor/tracemonkey/config/Makefile.in +106 -0
  140. data/vendor/tracemonkey/config/Moz/Milestone.pm +232 -0
  141. data/vendor/tracemonkey/config/autoconf.mk.in +362 -0
  142. data/vendor/tracemonkey/config/check-sync-dirs.py +103 -0
  143. data/vendor/tracemonkey/config/check-sync-exceptions +7 -0
  144. data/vendor/tracemonkey/config/config.mk +881 -0
  145. data/vendor/tracemonkey/config/fastcwd.pl +66 -0
  146. data/vendor/tracemonkey/config/gcc_hidden.h +2 -0
  147. data/vendor/tracemonkey/config/insure.mk +53 -0
  148. data/vendor/tracemonkey/config/make-system-wrappers.pl +59 -0
  149. data/vendor/tracemonkey/config/milestone.pl +112 -0
  150. data/vendor/tracemonkey/config/milestone.txt +13 -0
  151. data/vendor/tracemonkey/config/mkdepend/Makefile.in +84 -0
  152. data/vendor/tracemonkey/config/mkdepend/cppsetup.c +233 -0
  153. data/vendor/tracemonkey/config/mkdepend/def.h +184 -0
  154. data/vendor/tracemonkey/config/mkdepend/ifparser.c +551 -0
  155. data/vendor/tracemonkey/config/mkdepend/ifparser.h +83 -0
  156. data/vendor/tracemonkey/config/mkdepend/imakemdep.h +733 -0
  157. data/vendor/tracemonkey/config/mkdepend/include.c +337 -0
  158. data/vendor/tracemonkey/config/mkdepend/main.c +860 -0
  159. data/vendor/tracemonkey/config/mkdepend/mkdepend.man +382 -0
  160. data/vendor/tracemonkey/config/mkdepend/parse.c +686 -0
  161. data/vendor/tracemonkey/config/mkdepend/pr.c +124 -0
  162. data/vendor/tracemonkey/config/nfspwd.pl +50 -0
  163. data/vendor/tracemonkey/config/nsinstall.c +481 -0
  164. data/vendor/tracemonkey/config/nsinstall.py +155 -0
  165. data/vendor/tracemonkey/config/pathsub.c +247 -0
  166. data/vendor/tracemonkey/config/pathsub.h +74 -0
  167. data/vendor/tracemonkey/config/preprocessor.pl +671 -0
  168. data/vendor/tracemonkey/config/revdepth-nt.pl +48 -0
  169. data/vendor/tracemonkey/config/revdepth.pl +51 -0
  170. data/vendor/tracemonkey/config/rules.mk +2310 -0
  171. data/vendor/tracemonkey/config/static-checking-config.mk +21 -0
  172. data/vendor/tracemonkey/config/static-checking.js +92 -0
  173. data/vendor/tracemonkey/config/string-format.js +61 -0
  174. data/vendor/tracemonkey/config/system-headers +1035 -0
  175. data/vendor/tracemonkey/config/version.mk +85 -0
  176. data/vendor/tracemonkey/config/version_win.pl +442 -0
  177. data/vendor/tracemonkey/configure +14183 -0
  178. data/vendor/tracemonkey/configure.in +5363 -0
  179. data/vendor/tracemonkey/correct.sh +23 -0
  180. data/vendor/tracemonkey/correct/check-3d-morph.js +55 -0
  181. data/vendor/tracemonkey/correct/check-3d-raytrace.js +445 -0
  182. data/vendor/tracemonkey/correct/check-access-binary-trees.js +52 -0
  183. data/vendor/tracemonkey/correct/check-access-fannkuch.js +66 -0
  184. data/vendor/tracemonkey/correct/check-access-nbody.js +171 -0
  185. data/vendor/tracemonkey/correct/check-access-nsieve.js +40 -0
  186. data/vendor/tracemonkey/correct/check-bitops-3bit-bits-in-byte.js +35 -0
  187. data/vendor/tracemonkey/correct/check-bitops-bits-in-byte.js +24 -0
  188. data/vendor/tracemonkey/correct/check-bitops-bitwise-and.js +29 -0
  189. data/vendor/tracemonkey/correct/check-bitops-nsieve-bits.js +40 -0
  190. data/vendor/tracemonkey/correct/check-controlflow-recursive.js +27 -0
  191. data/vendor/tracemonkey/correct/check-date-format-tofte.js +302 -0
  192. data/vendor/tracemonkey/correct/check-date-format-xparb.js +421 -0
  193. data/vendor/tracemonkey/correct/check-mont.js +119 -0
  194. data/vendor/tracemonkey/dtoa.c +3335 -0
  195. data/vendor/tracemonkey/editline/Makefile.in +55 -0
  196. data/vendor/tracemonkey/editline/Makefile.ref +143 -0
  197. data/vendor/tracemonkey/editline/README +83 -0
  198. data/vendor/tracemonkey/editline/editline.3 +175 -0
  199. data/vendor/tracemonkey/editline/editline.c +1371 -0
  200. data/vendor/tracemonkey/editline/editline.h +135 -0
  201. data/vendor/tracemonkey/editline/sysunix.c +182 -0
  202. data/vendor/tracemonkey/editline/unix.h +82 -0
  203. data/vendor/tracemonkey/if.js +13 -0
  204. data/vendor/tracemonkey/imacro_asm.js.in +396 -0
  205. data/vendor/tracemonkey/imacros.c.out +1034 -0
  206. data/vendor/tracemonkey/imacros.jsasm +770 -0
  207. data/vendor/tracemonkey/javascript-trace.d +73 -0
  208. data/vendor/tracemonkey/jitstats.tbl +55 -0
  209. data/vendor/tracemonkey/js-config.h.in +82 -0
  210. data/vendor/tracemonkey/js-config.in +111 -0
  211. data/vendor/tracemonkey/js.mdp +0 -0
  212. data/vendor/tracemonkey/js.msg +312 -0
  213. data/vendor/tracemonkey/js3240.rc +79 -0
  214. data/vendor/tracemonkey/jsOS240.def +654 -0
  215. data/vendor/tracemonkey/jsapi.cpp +6005 -0
  216. data/vendor/tracemonkey/jsapi.h +2727 -0
  217. data/vendor/tracemonkey/jsarena.cpp +450 -0
  218. data/vendor/tracemonkey/jsarena.h +318 -0
  219. data/vendor/tracemonkey/jsarray.cpp +3664 -0
  220. data/vendor/tracemonkey/jsarray.h +238 -0
  221. data/vendor/tracemonkey/jsatom.cpp +1244 -0
  222. data/vendor/tracemonkey/jsatom.h +493 -0
  223. data/vendor/tracemonkey/jsbit.h +249 -0
  224. data/vendor/tracemonkey/jsbool.cpp +184 -0
  225. data/vendor/tracemonkey/jsbool.h +88 -0
  226. data/vendor/tracemonkey/jsbuiltins.cpp +415 -0
  227. data/vendor/tracemonkey/jsbuiltins.h +456 -0
  228. data/vendor/tracemonkey/jsclist.h +139 -0
  229. data/vendor/tracemonkey/jscntxt.cpp +1816 -0
  230. data/vendor/tracemonkey/jscntxt.h +1541 -0
  231. data/vendor/tracemonkey/jscompat.h +57 -0
  232. data/vendor/tracemonkey/jsconfig.mk +181 -0
  233. data/vendor/tracemonkey/jscpucfg.cpp +194 -0
  234. data/vendor/tracemonkey/jscpucfg.h +91 -0
  235. data/vendor/tracemonkey/jsdate.cpp +2465 -0
  236. data/vendor/tracemonkey/jsdate.h +129 -0
  237. data/vendor/tracemonkey/jsdbgapi.cpp +2017 -0
  238. data/vendor/tracemonkey/jsdbgapi.h +500 -0
  239. data/vendor/tracemonkey/jsdhash.cpp +876 -0
  240. data/vendor/tracemonkey/jsdhash.h +588 -0
  241. data/vendor/tracemonkey/jsdtoa.cpp +572 -0
  242. data/vendor/tracemonkey/jsdtoa.h +131 -0
  243. data/vendor/tracemonkey/jsdtracef.c +318 -0
  244. data/vendor/tracemonkey/jsdtracef.h +81 -0
  245. data/vendor/tracemonkey/jsemit.cpp +7292 -0
  246. data/vendor/tracemonkey/jsemit.h +802 -0
  247. data/vendor/tracemonkey/jsexn.cpp +1337 -0
  248. data/vendor/tracemonkey/jsexn.h +96 -0
  249. data/vendor/tracemonkey/jsfile.cpp +2747 -0
  250. data/vendor/tracemonkey/jsfile.h +56 -0
  251. data/vendor/tracemonkey/jsfile.msg +90 -0
  252. data/vendor/tracemonkey/jsfun.cpp +3089 -0
  253. data/vendor/tracemonkey/jsfun.h +366 -0
  254. data/vendor/tracemonkey/jsgc.cpp +3816 -0
  255. data/vendor/tracemonkey/jsgc.h +429 -0
  256. data/vendor/tracemonkey/jshash.cpp +477 -0
  257. data/vendor/tracemonkey/jshash.h +151 -0
  258. data/vendor/tracemonkey/jsify.pl +483 -0
  259. data/vendor/tracemonkey/jsinterp.cpp +7441 -0
  260. data/vendor/tracemonkey/jsinterp.h +666 -0
  261. data/vendor/tracemonkey/jsinvoke.cpp +42 -0
  262. data/vendor/tracemonkey/jsiter.cpp +1040 -0
  263. data/vendor/tracemonkey/jsiter.h +140 -0
  264. data/vendor/tracemonkey/jskeyword.tbl +124 -0
  265. data/vendor/tracemonkey/jskwgen.cpp +460 -0
  266. data/vendor/tracemonkey/jslibmath.h +69 -0
  267. data/vendor/tracemonkey/jslock.cpp +1512 -0
  268. data/vendor/tracemonkey/jslock.h +325 -0
  269. data/vendor/tracemonkey/jslocko.asm +60 -0
  270. data/vendor/tracemonkey/jslog2.cpp +111 -0
  271. data/vendor/tracemonkey/jslong.h +167 -0
  272. data/vendor/tracemonkey/jsmath.cpp +806 -0
  273. data/vendor/tracemonkey/jsmath.h +63 -0
  274. data/vendor/tracemonkey/jsnum.cpp +1374 -0
  275. data/vendor/tracemonkey/jsnum.h +280 -0
  276. data/vendor/tracemonkey/jsobj.cpp +6165 -0
  277. data/vendor/tracemonkey/jsobj.h +870 -0
  278. data/vendor/tracemonkey/json.cpp +1338 -0
  279. data/vendor/tracemonkey/json.h +108 -0
  280. data/vendor/tracemonkey/jsopcode.cpp +5484 -0
  281. data/vendor/tracemonkey/jsopcode.h +434 -0
  282. data/vendor/tracemonkey/jsopcode.tbl +591 -0
  283. data/vendor/tracemonkey/jsoplengen.cpp +121 -0
  284. data/vendor/tracemonkey/jsotypes.h +202 -0
  285. data/vendor/tracemonkey/jsparse.cpp +9257 -0
  286. data/vendor/tracemonkey/jsparse.h +900 -0
  287. data/vendor/tracemonkey/jsprf.cpp +1262 -0
  288. data/vendor/tracemonkey/jsprf.h +150 -0
  289. data/vendor/tracemonkey/jsproto.tbl +117 -0
  290. data/vendor/tracemonkey/jsprvtd.h +366 -0
  291. data/vendor/tracemonkey/jspubtd.h +585 -0
  292. data/vendor/tracemonkey/jsregexp.cpp +5051 -0
  293. data/vendor/tracemonkey/jsregexp.h +199 -0
  294. data/vendor/tracemonkey/jsreops.tbl +145 -0
  295. data/vendor/tracemonkey/jsscan.cpp +2040 -0
  296. data/vendor/tracemonkey/jsscan.h +467 -0
  297. data/vendor/tracemonkey/jsscope.cpp +1966 -0
  298. data/vendor/tracemonkey/jsscope.h +487 -0
  299. data/vendor/tracemonkey/jsscript.cpp +1932 -0
  300. data/vendor/tracemonkey/jsscript.h +345 -0
  301. data/vendor/tracemonkey/jsshell.msg +54 -0
  302. data/vendor/tracemonkey/jsstack.js +167 -0
  303. data/vendor/tracemonkey/jsstaticcheck.h +69 -0
  304. data/vendor/tracemonkey/jsstddef.h +87 -0
  305. data/vendor/tracemonkey/jsstdint.h +96 -0
  306. data/vendor/tracemonkey/jsstr.cpp +5277 -0
  307. data/vendor/tracemonkey/jsstr.h +702 -0
  308. data/vendor/tracemonkey/jstracer.cpp +10991 -0
  309. data/vendor/tracemonkey/jstracer.h +794 -0
  310. data/vendor/tracemonkey/jstypes.h +481 -0
  311. data/vendor/tracemonkey/jsutil.cpp +361 -0
  312. data/vendor/tracemonkey/jsutil.h +178 -0
  313. data/vendor/tracemonkey/jsversion.h +243 -0
  314. data/vendor/tracemonkey/jswince.asm +44 -0
  315. data/vendor/tracemonkey/jsxdrapi.cpp +800 -0
  316. data/vendor/tracemonkey/jsxdrapi.h +220 -0
  317. data/vendor/tracemonkey/jsxml.cpp +8327 -0
  318. data/vendor/tracemonkey/jsxml.h +305 -0
  319. data/vendor/tracemonkey/liveconnect/LiveConnect.dsp +157 -0
  320. data/vendor/tracemonkey/liveconnect/LiveConnectShell.dsp +120 -0
  321. data/vendor/tracemonkey/liveconnect/LiveConnectShell.dsw +44 -0
  322. data/vendor/tracemonkey/liveconnect/Makefile.in +105 -0
  323. data/vendor/tracemonkey/liveconnect/Makefile.ref +169 -0
  324. data/vendor/tracemonkey/liveconnect/README.html +712 -0
  325. data/vendor/tracemonkey/liveconnect/_jni/netscape_javascript_JSException.h +14 -0
  326. data/vendor/tracemonkey/liveconnect/_jni/netscape_javascript_JSObject.h +155 -0
  327. data/vendor/tracemonkey/liveconnect/classes/Makefile.in +89 -0
  328. data/vendor/tracemonkey/liveconnect/classes/Makefile.ref +57 -0
  329. data/vendor/tracemonkey/liveconnect/classes/netscape/Makefile.ref +47 -0
  330. data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/JSException.java +140 -0
  331. data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/JSObject.java +183 -0
  332. data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/JSProxy.java +58 -0
  333. data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/JSRunnable.java +70 -0
  334. data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/JSUtil.java +59 -0
  335. data/vendor/tracemonkey/liveconnect/classes/netscape/javascript/Makefile.ref +53 -0
  336. data/vendor/tracemonkey/liveconnect/config/AIX4.1.mk +45 -0
  337. data/vendor/tracemonkey/liveconnect/config/AIX4.2.mk +45 -0
  338. data/vendor/tracemonkey/liveconnect/config/AIX4.3.mk +50 -0
  339. data/vendor/tracemonkey/liveconnect/config/HP-UXB.10.10.mk +43 -0
  340. data/vendor/tracemonkey/liveconnect/config/HP-UXB.10.20.mk +43 -0
  341. data/vendor/tracemonkey/liveconnect/config/HP-UXB.11.00.mk +43 -0
  342. data/vendor/tracemonkey/liveconnect/config/IRIX6.2.mk +43 -0
  343. data/vendor/tracemonkey/liveconnect/config/IRIX6.3.mk +43 -0
  344. data/vendor/tracemonkey/liveconnect/config/IRIX6.5.mk +43 -0
  345. data/vendor/tracemonkey/liveconnect/config/Linux_All.mk +73 -0
  346. data/vendor/tracemonkey/liveconnect/config/OSF1V4.0.mk +65 -0
  347. data/vendor/tracemonkey/liveconnect/config/OSF1V5.0.mk +62 -0
  348. data/vendor/tracemonkey/liveconnect/config/SunOS5.5.1.mk +55 -0
  349. data/vendor/tracemonkey/liveconnect/config/SunOS5.6.mk +39 -0
  350. data/vendor/tracemonkey/liveconnect/config/SunOS5.7.mk +39 -0
  351. data/vendor/tracemonkey/liveconnect/config/SunOS5.8.mk +39 -0
  352. data/vendor/tracemonkey/liveconnect/config/WINNT4.0.mk +53 -0
  353. data/vendor/tracemonkey/liveconnect/jsj.c +886 -0
  354. data/vendor/tracemonkey/liveconnect/jsj.msg +98 -0
  355. data/vendor/tracemonkey/liveconnect/jsj_JSObject.c +1377 -0
  356. data/vendor/tracemonkey/liveconnect/jsj_JavaArray.c +474 -0
  357. data/vendor/tracemonkey/liveconnect/jsj_JavaClass.c +737 -0
  358. data/vendor/tracemonkey/liveconnect/jsj_JavaMember.c +191 -0
  359. data/vendor/tracemonkey/liveconnect/jsj_JavaObject.c +1079 -0
  360. data/vendor/tracemonkey/liveconnect/jsj_JavaPackage.c +569 -0
  361. data/vendor/tracemonkey/liveconnect/jsj_array.c +207 -0
  362. data/vendor/tracemonkey/liveconnect/jsj_class.c +770 -0
  363. data/vendor/tracemonkey/liveconnect/jsj_convert.c +902 -0
  364. data/vendor/tracemonkey/liveconnect/jsj_field.c +421 -0
  365. data/vendor/tracemonkey/liveconnect/jsj_hash.c +488 -0
  366. data/vendor/tracemonkey/liveconnect/jsj_hash.h +161 -0
  367. data/vendor/tracemonkey/liveconnect/jsj_method.c +1825 -0
  368. data/vendor/tracemonkey/liveconnect/jsj_nodl.c +1 -0
  369. data/vendor/tracemonkey/liveconnect/jsj_private.h +677 -0
  370. data/vendor/tracemonkey/liveconnect/jsj_simpleapi.c +219 -0
  371. data/vendor/tracemonkey/liveconnect/jsj_utils.c +513 -0
  372. data/vendor/tracemonkey/liveconnect/jsjava.h +316 -0
  373. data/vendor/tracemonkey/liveconnect/netscape_javascript_JSObject.h +155 -0
  374. data/vendor/tracemonkey/liveconnect/nsCLiveconnect.cpp +785 -0
  375. data/vendor/tracemonkey/liveconnect/nsCLiveconnect.h +197 -0
  376. data/vendor/tracemonkey/liveconnect/nsCLiveconnectFactory.cpp +118 -0
  377. data/vendor/tracemonkey/liveconnect/nsCLiveconnectFactory.h +76 -0
  378. data/vendor/tracemonkey/liveconnect/nsILiveconnect.h +197 -0
  379. data/vendor/tracemonkey/liveconnect/nsISecureLiveconnect.h +94 -0
  380. data/vendor/tracemonkey/liveconnect/nsISecurityContext.h +136 -0
  381. data/vendor/tracemonkey/lock_SunOS.s +119 -0
  382. data/vendor/tracemonkey/mandelbrot-results.js +3 -0
  383. data/vendor/tracemonkey/math-partial-sums.js +32 -0
  384. data/vendor/tracemonkey/math-trace-tests.js +507 -0
  385. data/vendor/tracemonkey/md5.js +289 -0
  386. data/vendor/tracemonkey/nanojit/Assembler.cpp +1984 -0
  387. data/vendor/tracemonkey/nanojit/Assembler.h +375 -0
  388. data/vendor/tracemonkey/nanojit/Fragmento.cpp +651 -0
  389. data/vendor/tracemonkey/nanojit/Fragmento.h +237 -0
  390. data/vendor/tracemonkey/nanojit/LIR.cpp +2314 -0
  391. data/vendor/tracemonkey/nanojit/LIR.h +879 -0
  392. data/vendor/tracemonkey/nanojit/LIRopcode.tbl +252 -0
  393. data/vendor/tracemonkey/nanojit/Native.h +127 -0
  394. data/vendor/tracemonkey/nanojit/NativeARM.cpp +1742 -0
  395. data/vendor/tracemonkey/nanojit/NativeARM.h +844 -0
  396. data/vendor/tracemonkey/nanojit/NativeSparc.cpp +1130 -0
  397. data/vendor/tracemonkey/nanojit/NativeSparc.h +948 -0
  398. data/vendor/tracemonkey/nanojit/NativeThumb.cpp +1322 -0
  399. data/vendor/tracemonkey/nanojit/NativeThumb.h +525 -0
  400. data/vendor/tracemonkey/nanojit/Nativei386.cpp +1748 -0
  401. data/vendor/tracemonkey/nanojit/Nativei386.h +857 -0
  402. data/vendor/tracemonkey/nanojit/RegAlloc.cpp +183 -0
  403. data/vendor/tracemonkey/nanojit/RegAlloc.h +95 -0
  404. data/vendor/tracemonkey/nanojit/TraceTreeDrawer.cpp +306 -0
  405. data/vendor/tracemonkey/nanojit/TraceTreeDrawer.h +88 -0
  406. data/vendor/tracemonkey/nanojit/avmplus.cpp +56 -0
  407. data/vendor/tracemonkey/nanojit/avmplus.h +1016 -0
  408. data/vendor/tracemonkey/nanojit/nanojit.h +253 -0
  409. data/vendor/tracemonkey/perfect.js +39 -0
  410. data/vendor/tracemonkey/plify_jsdhash.sed +35 -0
  411. data/vendor/tracemonkey/prmjtime.cpp +869 -0
  412. data/vendor/tracemonkey/prmjtime.h +103 -0
  413. data/vendor/tracemonkey/ref-config/AIX4.1.mk +65 -0
  414. data/vendor/tracemonkey/ref-config/AIX4.2.mk +64 -0
  415. data/vendor/tracemonkey/ref-config/AIX4.3.mk +65 -0
  416. data/vendor/tracemonkey/ref-config/Darwin.mk +85 -0
  417. data/vendor/tracemonkey/ref-config/Darwin1.3.mk +81 -0
  418. data/vendor/tracemonkey/ref-config/Darwin1.4.mk +41 -0
  419. data/vendor/tracemonkey/ref-config/Darwin5.2.mk +81 -0
  420. data/vendor/tracemonkey/ref-config/Darwin5.3.mk +81 -0
  421. data/vendor/tracemonkey/ref-config/Darwin64.mk +72 -0
  422. data/vendor/tracemonkey/ref-config/HP-UXB.10.10.mk +77 -0
  423. data/vendor/tracemonkey/ref-config/HP-UXB.10.20.mk +77 -0
  424. data/vendor/tracemonkey/ref-config/HP-UXB.11.00.mk +80 -0
  425. data/vendor/tracemonkey/ref-config/IRIX.mk +87 -0
  426. data/vendor/tracemonkey/ref-config/IRIX5.3.mk +44 -0
  427. data/vendor/tracemonkey/ref-config/IRIX6.1.mk +44 -0
  428. data/vendor/tracemonkey/ref-config/IRIX6.2.mk +44 -0
  429. data/vendor/tracemonkey/ref-config/IRIX6.3.mk +44 -0
  430. data/vendor/tracemonkey/ref-config/IRIX6.5.mk +44 -0
  431. data/vendor/tracemonkey/ref-config/Linux_All.mk +105 -0
  432. data/vendor/tracemonkey/ref-config/Mac_OS10.0.mk +82 -0
  433. data/vendor/tracemonkey/ref-config/OSF1V4.0.mk +72 -0
  434. data/vendor/tracemonkey/ref-config/OSF1V5.0.mk +69 -0
  435. data/vendor/tracemonkey/ref-config/SunOS4.1.4.mk +101 -0
  436. data/vendor/tracemonkey/ref-config/SunOS5.10.mk +50 -0
  437. data/vendor/tracemonkey/ref-config/SunOS5.3.mk +91 -0
  438. data/vendor/tracemonkey/ref-config/SunOS5.4.mk +92 -0
  439. data/vendor/tracemonkey/ref-config/SunOS5.5.1.mk +44 -0
  440. data/vendor/tracemonkey/ref-config/SunOS5.5.mk +87 -0
  441. data/vendor/tracemonkey/ref-config/SunOS5.6.mk +89 -0
  442. data/vendor/tracemonkey/ref-config/SunOS5.7.mk +44 -0
  443. data/vendor/tracemonkey/ref-config/SunOS5.8.mk +44 -0
  444. data/vendor/tracemonkey/ref-config/SunOS5.9.mk +44 -0
  445. data/vendor/tracemonkey/ref-config/WINNT4.0.mk +118 -0
  446. data/vendor/tracemonkey/ref-config/WINNT5.0.mk +118 -0
  447. data/vendor/tracemonkey/ref-config/WINNT5.1.mk +118 -0
  448. data/vendor/tracemonkey/ref-config/WINNT5.2.mk +118 -0
  449. data/vendor/tracemonkey/ref-config/WINNT6.0.mk +118 -0
  450. data/vendor/tracemonkey/ref-config/dgux.mk +64 -0
  451. data/vendor/tracemonkey/resource.h +15 -0
  452. data/vendor/tracemonkey/rules.mk +206 -0
  453. data/vendor/tracemonkey/shell/Makefile.in +72 -0
  454. data/vendor/tracemonkey/shell/js.cpp +4719 -0
  455. data/vendor/tracemonkey/t/3d-cube.js +337 -0
  456. data/vendor/tracemonkey/t/3d-morph.js +54 -0
  457. data/vendor/tracemonkey/t/3d-raytrace.js +441 -0
  458. data/vendor/tracemonkey/t/access-binary-trees.js +50 -0
  459. data/vendor/tracemonkey/t/access-fannkuch.js +66 -0
  460. data/vendor/tracemonkey/t/access-nbody.js +169 -0
  461. data/vendor/tracemonkey/t/access-nsieve.js +38 -0
  462. data/vendor/tracemonkey/t/bitops-3bit-bits-in-byte.js +32 -0
  463. data/vendor/tracemonkey/t/bitops-bits-in-byte.js +21 -0
  464. data/vendor/tracemonkey/t/bitops-bitwise-and.js +28 -0
  465. data/vendor/tracemonkey/t/bitops-nsieve-bits.js +32 -0
  466. data/vendor/tracemonkey/t/controlflow-recursive.js +25 -0
  467. data/vendor/tracemonkey/t/crypto-aes.js +422 -0
  468. data/vendor/tracemonkey/t/crypto-md5.js +286 -0
  469. data/vendor/tracemonkey/t/crypto-sha1.js +224 -0
  470. data/vendor/tracemonkey/t/date-format-tofte.js +299 -0
  471. data/vendor/tracemonkey/t/date-format-xparb.js +417 -0
  472. data/vendor/tracemonkey/t/math-cordic.js +95 -0
  473. data/vendor/tracemonkey/t/math-partial-sums.js +33 -0
  474. data/vendor/tracemonkey/t/math-spectral-norm.js +51 -0
  475. data/vendor/tracemonkey/t/regexp-dna.js +1712 -0
  476. data/vendor/tracemonkey/t/string-base64.js +135 -0
  477. data/vendor/tracemonkey/t/string-fasta.js +85 -0
  478. data/vendor/tracemonkey/t/string-tagcloud.js +265 -0
  479. data/vendor/tracemonkey/t/string-unpack-code.js +68 -0
  480. data/vendor/tracemonkey/t/string-validate-input.js +89 -0
  481. data/vendor/tracemonkey/time.sh +13 -0
  482. data/vendor/tracemonkey/trace-test.js +5564 -0
  483. data/vendor/tracemonkey/v8/base.js +187 -0
  484. data/vendor/tracemonkey/v8/crypto.js +1689 -0
  485. data/vendor/tracemonkey/v8/deltablue.js +880 -0
  486. data/vendor/tracemonkey/v8/earley-boyer.js +4682 -0
  487. data/vendor/tracemonkey/v8/raytrace.js +3418 -0
  488. data/vendor/tracemonkey/v8/richards.js +539 -0
  489. data/vendor/tracemonkey/v8/run-crypto.js +44 -0
  490. data/vendor/tracemonkey/v8/run-deltablue.js +44 -0
  491. data/vendor/tracemonkey/v8/run-earley-boyer.js +44 -0
  492. data/vendor/tracemonkey/v8/run-raytrace.js +44 -0
  493. data/vendor/tracemonkey/v8/run-richards.js +44 -0
  494. data/vendor/tracemonkey/v8/run.js +49 -0
  495. data/vendor/tracemonkey/vprof/readme.txt +93 -0
  496. data/vendor/tracemonkey/vprof/vprof.cpp +360 -0
  497. data/vendor/tracemonkey/vprof/vprof.h +245 -0
  498. data/vendor/tracemonkey/xpconnect/Makefile.in +67 -0
  499. data/vendor/tracemonkey/xpconnect/crashtests/117307-1.html +20 -0
  500. data/vendor/tracemonkey/xpconnect/crashtests/193710.html +11 -0
  501. data/vendor/tracemonkey/xpconnect/crashtests/290162-1.html +5 -0
  502. data/vendor/tracemonkey/xpconnect/crashtests/326615-1.html +16 -0
  503. data/vendor/tracemonkey/xpconnect/crashtests/328553-1.html +13 -0
  504. data/vendor/tracemonkey/xpconnect/crashtests/346258-1.html +12 -0
  505. data/vendor/tracemonkey/xpconnect/crashtests/346512-1-frame1.xhtml +16 -0
  506. data/vendor/tracemonkey/xpconnect/crashtests/346512-1-frame2.xhtml +15 -0
  507. data/vendor/tracemonkey/xpconnect/crashtests/346512-1.xhtml +30 -0
  508. data/vendor/tracemonkey/xpconnect/crashtests/382133-1.html +3 -0
  509. data/vendor/tracemonkey/xpconnect/crashtests/386680-1.html +22 -0
  510. data/vendor/tracemonkey/xpconnect/crashtests/394810-1.html +4 -0
  511. data/vendor/tracemonkey/xpconnect/crashtests/400349-1.html +20 -0
  512. data/vendor/tracemonkey/xpconnect/crashtests/403356-1.html +13 -0
  513. data/vendor/tracemonkey/xpconnect/crashtests/418139-1.svg +22 -0
  514. data/vendor/tracemonkey/xpconnect/crashtests/420513-1.html +11 -0
  515. data/vendor/tracemonkey/xpconnect/crashtests/453935-1.html +37 -0
  516. data/vendor/tracemonkey/xpconnect/crashtests/462926.html +12 -0
  517. data/vendor/tracemonkey/xpconnect/crashtests/468552-1.html +18 -0
  518. data/vendor/tracemonkey/xpconnect/crashtests/471366-1.html +12 -0
  519. data/vendor/tracemonkey/xpconnect/crashtests/475185-1.html +13 -0
  520. data/vendor/tracemonkey/xpconnect/crashtests/475291-1.html +14 -0
  521. data/vendor/tracemonkey/xpconnect/crashtests/503286-1.html +23 -0
  522. data/vendor/tracemonkey/xpconnect/crashtests/crashtests.list +21 -0
  523. data/vendor/tracemonkey/xpconnect/idl/Makefile.in +78 -0
  524. data/vendor/tracemonkey/xpconnect/idl/XPCIDispatch.idl +51 -0
  525. data/vendor/tracemonkey/xpconnect/idl/mozIJSSubScriptLoader.idl +64 -0
  526. data/vendor/tracemonkey/xpconnect/idl/nsIActiveXSecurityPolicy.idl +67 -0
  527. data/vendor/tracemonkey/xpconnect/idl/nsIDispatchSupport.idl +119 -0
  528. data/vendor/tracemonkey/xpconnect/idl/nsIJSContextStack.idl +85 -0
  529. data/vendor/tracemonkey/xpconnect/idl/nsIJSRuntimeService.idl +51 -0
  530. data/vendor/tracemonkey/xpconnect/idl/nsIScriptError.idl +102 -0
  531. data/vendor/tracemonkey/xpconnect/idl/nsIScriptableInterfaces.idl +67 -0
  532. data/vendor/tracemonkey/xpconnect/idl/nsIXPCScriptNotify.idl +66 -0
  533. data/vendor/tracemonkey/xpconnect/idl/nsIXPCScriptable.idl +183 -0
  534. data/vendor/tracemonkey/xpconnect/idl/nsIXPCSecurityManager.idl +114 -0
  535. data/vendor/tracemonkey/xpconnect/idl/nsIXPConnect.idl +819 -0
  536. data/vendor/tracemonkey/xpconnect/idl/xpcIJSModuleLoader.idl +95 -0
  537. data/vendor/tracemonkey/xpconnect/idl/xpcIJSWeakReference.idl +49 -0
  538. data/vendor/tracemonkey/xpconnect/idl/xpccomponents.idl +254 -0
  539. data/vendor/tracemonkey/xpconnect/idl/xpcexception.idl +66 -0
  540. data/vendor/tracemonkey/xpconnect/idl/xpcjsid.idl +83 -0
  541. data/vendor/tracemonkey/xpconnect/loader/ISO8601DateUtils.jsm +176 -0
  542. data/vendor/tracemonkey/xpconnect/loader/Makefile.in +63 -0
  543. data/vendor/tracemonkey/xpconnect/loader/XPCOMUtils.jsm +267 -0
  544. data/vendor/tracemonkey/xpconnect/loader/mozJSComponentLoader.cpp +1717 -0
  545. data/vendor/tracemonkey/xpconnect/loader/mozJSComponentLoader.h +172 -0
  546. data/vendor/tracemonkey/xpconnect/loader/mozJSLoaderConstructors.h +101 -0
  547. data/vendor/tracemonkey/xpconnect/loader/mozJSSubScriptLoader.cpp +360 -0
  548. data/vendor/tracemonkey/xpconnect/loader/mozJSSubScriptLoader.h +66 -0
  549. data/vendor/tracemonkey/xpconnect/public/Makefile.in +54 -0
  550. data/vendor/tracemonkey/xpconnect/public/nsAXPCNativeCallContext.h +89 -0
  551. data/vendor/tracemonkey/xpconnect/public/nsAutoJSValHolder.h +168 -0
  552. data/vendor/tracemonkey/xpconnect/public/xpc_map_end.h +327 -0
  553. data/vendor/tracemonkey/xpconnect/sample/Makefile.in +71 -0
  554. data/vendor/tracemonkey/xpconnect/sample/README +39 -0
  555. data/vendor/tracemonkey/xpconnect/sample/xpcsample1.cpp +337 -0
  556. data/vendor/tracemonkey/xpconnect/sample/xpcsample1.idl +82 -0
  557. data/vendor/tracemonkey/xpconnect/sample/xpcsample1.js +21 -0
  558. data/vendor/tracemonkey/xpconnect/shell/Makefile.in +106 -0
  559. data/vendor/tracemonkey/xpconnect/shell/jsshell.msg +50 -0
  560. data/vendor/tracemonkey/xpconnect/shell/xpcshell.cpp +1817 -0
  561. data/vendor/tracemonkey/xpconnect/shell/xpcshellMacUtils.h +43 -0
  562. data/vendor/tracemonkey/xpconnect/shell/xpcshellMacUtils.mm +54 -0
  563. data/vendor/tracemonkey/xpconnect/src/Makefile.in +228 -0
  564. data/vendor/tracemonkey/xpconnect/src/README +3 -0
  565. data/vendor/tracemonkey/xpconnect/src/XPCCrossOriginWrapper.cpp +1186 -0
  566. data/vendor/tracemonkey/xpconnect/src/XPCDispConvert.cpp +593 -0
  567. data/vendor/tracemonkey/xpconnect/src/XPCDispInlines.h +667 -0
  568. data/vendor/tracemonkey/xpconnect/src/XPCDispInterface.cpp +383 -0
  569. data/vendor/tracemonkey/xpconnect/src/XPCDispObject.cpp +516 -0
  570. data/vendor/tracemonkey/xpconnect/src/XPCDispParamPropJSClass.cpp +223 -0
  571. data/vendor/tracemonkey/xpconnect/src/XPCDispParams.cpp +103 -0
  572. data/vendor/tracemonkey/xpconnect/src/XPCDispPrivate.h +1401 -0
  573. data/vendor/tracemonkey/xpconnect/src/XPCDispTearOff.cpp +547 -0
  574. data/vendor/tracemonkey/xpconnect/src/XPCDispTypeInfo.cpp +471 -0
  575. data/vendor/tracemonkey/xpconnect/src/XPCIDispatchClassInfo.cpp +139 -0
  576. data/vendor/tracemonkey/xpconnect/src/XPCIDispatchExtension.cpp +362 -0
  577. data/vendor/tracemonkey/xpconnect/src/XPCNativeWrapper.cpp +1350 -0
  578. data/vendor/tracemonkey/xpconnect/src/XPCNativeWrapper.h +88 -0
  579. data/vendor/tracemonkey/xpconnect/src/XPCSafeJSObjectWrapper.cpp +1148 -0
  580. data/vendor/tracemonkey/xpconnect/src/XPCSystemOnlyWrapper.cpp +718 -0
  581. data/vendor/tracemonkey/xpconnect/src/XPCWrapper.cpp +850 -0
  582. data/vendor/tracemonkey/xpconnect/src/XPCWrapper.h +394 -0
  583. data/vendor/tracemonkey/xpconnect/src/dom_quickstubs.qsconf +568 -0
  584. data/vendor/tracemonkey/xpconnect/src/nsDispatchSupport.cpp +348 -0
  585. data/vendor/tracemonkey/xpconnect/src/nsScriptError.cpp +201 -0
  586. data/vendor/tracemonkey/xpconnect/src/nsXPConnect.cpp +2609 -0
  587. data/vendor/tracemonkey/xpconnect/src/qsgen.py +1487 -0
  588. data/vendor/tracemonkey/xpconnect/src/xpc.msg +217 -0
  589. data/vendor/tracemonkey/xpconnect/src/xpcJSWeakReference.cpp +148 -0
  590. data/vendor/tracemonkey/xpconnect/src/xpcJSWeakReference.h +56 -0
  591. data/vendor/tracemonkey/xpconnect/src/xpccallcontext.cpp +579 -0
  592. data/vendor/tracemonkey/xpconnect/src/xpccomponents.cpp +4144 -0
  593. data/vendor/tracemonkey/xpconnect/src/xpccontext.cpp +115 -0
  594. data/vendor/tracemonkey/xpconnect/src/xpcconvert.cpp +2298 -0
  595. data/vendor/tracemonkey/xpconnect/src/xpcdebug.cpp +481 -0
  596. data/vendor/tracemonkey/xpconnect/src/xpcexception.cpp +502 -0
  597. data/vendor/tracemonkey/xpconnect/src/xpcforwards.h +114 -0
  598. data/vendor/tracemonkey/xpconnect/src/xpcinlines.h +772 -0
  599. data/vendor/tracemonkey/xpconnect/src/xpcjsid.cpp +1025 -0
  600. data/vendor/tracemonkey/xpconnect/src/xpcjsruntime.cpp +1342 -0
  601. data/vendor/tracemonkey/xpconnect/src/xpclog.cpp +128 -0
  602. data/vendor/tracemonkey/xpconnect/src/xpclog.h +101 -0
  603. data/vendor/tracemonkey/xpconnect/src/xpcmaps.cpp +761 -0
  604. data/vendor/tracemonkey/xpconnect/src/xpcmaps.h +713 -0
  605. data/vendor/tracemonkey/xpconnect/src/xpcmodule.cpp +136 -0
  606. data/vendor/tracemonkey/xpconnect/src/xpcprivate.h +4138 -0
  607. data/vendor/tracemonkey/xpconnect/src/xpcquickstubs.cpp +1128 -0
  608. data/vendor/tracemonkey/xpconnect/src/xpcquickstubs.h +480 -0
  609. data/vendor/tracemonkey/xpconnect/src/xpcruntimesvc.cpp +179 -0
  610. data/vendor/tracemonkey/xpconnect/src/xpcstack.cpp +342 -0
  611. data/vendor/tracemonkey/xpconnect/src/xpcstring.cpp +139 -0
  612. data/vendor/tracemonkey/xpconnect/src/xpcthreadcontext.cpp +599 -0
  613. data/vendor/tracemonkey/xpconnect/src/xpcthrower.cpp +399 -0
  614. data/vendor/tracemonkey/xpconnect/src/xpcvariant.cpp +850 -0
  615. data/vendor/tracemonkey/xpconnect/src/xpcwrappedjs.cpp +670 -0
  616. data/vendor/tracemonkey/xpconnect/src/xpcwrappedjsclass.cpp +2015 -0
  617. data/vendor/tracemonkey/xpconnect/src/xpcwrappednative.cpp +3482 -0
  618. data/vendor/tracemonkey/xpconnect/src/xpcwrappednativeinfo.cpp +945 -0
  619. data/vendor/tracemonkey/xpconnect/src/xpcwrappednativejsops.cpp +2003 -0
  620. data/vendor/tracemonkey/xpconnect/src/xpcwrappednativeproto.cpp +302 -0
  621. data/vendor/tracemonkey/xpconnect/src/xpcwrappednativescope.cpp +991 -0
  622. data/vendor/tracemonkey/xpconnect/tests/Makefile.in +75 -0
  623. data/vendor/tracemonkey/xpconnect/tests/TestXPC.cpp +785 -0
  624. data/vendor/tracemonkey/xpconnect/tests/chrome/Makefile.in +51 -0
  625. data/vendor/tracemonkey/xpconnect/tests/chrome/test_bug500931.xul +43 -0
  626. data/vendor/tracemonkey/xpconnect/tests/components/Makefile.in +85 -0
  627. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_array.cpp +388 -0
  628. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_attributes.cpp +305 -0
  629. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_calljs.cpp +135 -0
  630. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_child.cpp +225 -0
  631. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_const.cpp +76 -0
  632. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_domstring.cpp +118 -0
  633. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_echo.cpp +616 -0
  634. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_in.cpp +204 -0
  635. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_inout.cpp +171 -0
  636. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_module.cpp +77 -0
  637. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_multiple.cpp +554 -0
  638. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_noisy.cpp +154 -0
  639. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_out.cpp +335 -0
  640. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_overloaded.cpp +250 -0
  641. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_private.h +192 -0
  642. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_string.cpp +185 -0
  643. data/vendor/tracemonkey/xpconnect/tests/components/xpctest_variant.cpp +355 -0
  644. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/StdAfx.cpp +12 -0
  645. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/StdAfx.h +28 -0
  646. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCDispUtilities.h +28 -0
  647. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.cpp +86 -0
  648. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.def +9 -0
  649. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.dsp +318 -0
  650. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.dsw +29 -0
  651. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.idl +454 -0
  652. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/XPCIDispatchTest.rc +145 -0
  653. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispSimple.cpp +44 -0
  654. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispSimple.h +56 -0
  655. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispSimple.rgs +23 -0
  656. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestArrays.cpp +221 -0
  657. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestArrays.h +53 -0
  658. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestArrays.rgs +23 -0
  659. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestMethods.cpp +699 -0
  660. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestMethods.h +138 -0
  661. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestMethods.rgs +23 -0
  662. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestNoIDispatch.cpp +23 -0
  663. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestNoIDispatch.h +41 -0
  664. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestNoIDispatch.rgs +23 -0
  665. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestProperties.cpp +256 -0
  666. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestProperties.h +88 -0
  667. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestProperties.rgs +23 -0
  668. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOff.cpp +23 -0
  669. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOff.h +43 -0
  670. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOff.rgs +23 -0
  671. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOn.cpp +29 -0
  672. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOn.h +45 -0
  673. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestScriptOn.rgs +23 -0
  674. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestWrappedJS.cpp +177 -0
  675. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestWrappedJS.h +50 -0
  676. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/nsXPCDispTestWrappedJS.rgs +23 -0
  677. data/vendor/tracemonkey/xpconnect/tests/idispatch/COM/resource.h +36 -0
  678. data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/Arrays/XPCIDispatchArrayTests.js +54 -0
  679. data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/Attributes/XPCIDispatchAttributeTests.js +150 -0
  680. data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/General/XPCIDispatchInstantiations.js +122 -0
  681. data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/General/XPCStress.js +58 -0
  682. data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/Methods/XPCIDispatchMethodTests.js +376 -0
  683. data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedCOM/shell.js +377 -0
  684. data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedJS/General/XPCIDispatchTestWrappedJS.js +76 -0
  685. data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/WrappedJS/shell.js +377 -0
  686. data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/exectests.cmd +1 -0
  687. data/vendor/tracemonkey/xpconnect/tests/idispatch/Tests/jsDriver.pl +1288 -0
  688. data/vendor/tracemonkey/xpconnect/tests/idl/Makefile.in +61 -0
  689. data/vendor/tracemonkey/xpconnect/tests/idl/xpctest.idl +312 -0
  690. data/vendor/tracemonkey/xpconnect/tests/idl/xpctest2.idl +51 -0
  691. data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_attributes.idl +67 -0
  692. data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_calljs.idl +59 -0
  693. data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_const.idl +61 -0
  694. data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_domstring.idl +59 -0
  695. data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_in.idl +88 -0
  696. data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_inout.idl +86 -0
  697. data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_multiple.idl +77 -0
  698. data/vendor/tracemonkey/xpconnect/tests/idl/xpctest_out.idl +142 -0
  699. data/vendor/tracemonkey/xpconnect/tests/js/checkid.js +82 -0
  700. data/vendor/tracemonkey/xpconnect/tests/js/evaluate.js +311 -0
  701. data/vendor/tracemonkey/xpconnect/tests/js/exceptions-2.js +153 -0
  702. data/vendor/tracemonkey/xpconnect/tests/js/exceptions-3.js +194 -0
  703. data/vendor/tracemonkey/xpconnect/tests/js/exceptions-4.js +297 -0
  704. data/vendor/tracemonkey/xpconnect/tests/js/exceptions-5.js +343 -0
  705. data/vendor/tracemonkey/xpconnect/tests/js/exceptions.js +230 -0
  706. data/vendor/tracemonkey/xpconnect/tests/js/javascript.js +96 -0
  707. data/vendor/tracemonkey/xpconnect/tests/js/multiple-2.js +151 -0
  708. data/vendor/tracemonkey/xpconnect/tests/js/multiple-3.js +148 -0
  709. data/vendor/tracemonkey/xpconnect/tests/js/multiple-4.js +152 -0
  710. data/vendor/tracemonkey/xpconnect/tests/js/multiple.js +137 -0
  711. data/vendor/tracemonkey/xpconnect/tests/js/notscriptable.js +104 -0
  712. data/vendor/tracemonkey/xpconnect/tests/js/old/simpletest.js +36 -0
  713. data/vendor/tracemonkey/xpconnect/tests/js/old/speed.js +60 -0
  714. data/vendor/tracemonkey/xpconnect/tests/js/old/testxpc.js +464 -0
  715. data/vendor/tracemonkey/xpconnect/tests/js/old/threads.js +74 -0
  716. data/vendor/tracemonkey/xpconnect/tests/js/old/try.js +27 -0
  717. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_array.js +308 -0
  718. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_callcontext.js +68 -0
  719. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_echo.js +636 -0
  720. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_enum_and_sort.js +28 -0
  721. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_enum_constants.js +15 -0
  722. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_enum_create.js +200 -0
  723. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_exceptions.js +167 -0
  724. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_ids.js +135 -0
  725. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_observer.js +36 -0
  726. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_overloaded.js +14 -0
  727. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_primitives.js +141 -0
  728. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_propertybag.js +36 -0
  729. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_variant.js +339 -0
  730. data/vendor/tracemonkey/xpconnect/tests/js/old/xpctest_variant_array.js +30 -0
  731. data/vendor/tracemonkey/xpconnect/tests/js/readonlyattributes.js +74 -0
  732. data/vendor/tracemonkey/xpconnect/tests/js/readwriteattributes.js +101 -0
  733. data/vendor/tracemonkey/xpconnect/tests/js/scriptable.js +120 -0
  734. data/vendor/tracemonkey/xpconnect/tests/js/testin.js +203 -0
  735. data/vendor/tracemonkey/xpconnect/tests/js/xpcfun.js +234 -0
  736. data/vendor/tracemonkey/xpconnect/tests/js/xpctest_primitives.js +200 -0
  737. data/vendor/tracemonkey/xpconnect/tests/mochitest/Makefile.in +66 -0
  738. data/vendor/tracemonkey/xpconnect/tests/mochitest/bug500931_helper.html +7 -0
  739. data/vendor/tracemonkey/xpconnect/tests/mochitest/inner.html +7 -0
  740. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug361111.xul +29 -0
  741. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug384632.html +32 -0
  742. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug390488.html +65 -0
  743. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug393269.html +46 -0
  744. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug396851.html +43 -0
  745. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug428021.html +41 -0
  746. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug446584.html +49 -0
  747. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug448587.html +31 -0
  748. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug462428.html +42 -0
  749. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug478438.html +66 -0
  750. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug484107.html +100 -0
  751. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug484459.html +36 -0
  752. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_bug500691.html +28 -0
  753. data/vendor/tracemonkey/xpconnect/tests/mochitest/test_wrappers.html +116 -0
  754. data/vendor/tracemonkey/xpconnect/tests/unit/bogus_element_type.jsm +1 -0
  755. data/vendor/tracemonkey/xpconnect/tests/unit/bogus_exports_type.jsm +1 -0
  756. data/vendor/tracemonkey/xpconnect/tests/unit/bug451678_subscript.js +2 -0
  757. data/vendor/tracemonkey/xpconnect/tests/unit/component_import.js +144 -0
  758. data/vendor/tracemonkey/xpconnect/tests/unit/recursive_importA.jsm +44 -0
  759. data/vendor/tracemonkey/xpconnect/tests/unit/recursive_importB.jsm +45 -0
  760. data/vendor/tracemonkey/xpconnect/tests/unit/syntax_error.jsm +1 -0
  761. data/vendor/tracemonkey/xpconnect/tests/unit/test_bogus_files.js +88 -0
  762. data/vendor/tracemonkey/xpconnect/tests/unit/test_bug408412.js +51 -0
  763. data/vendor/tracemonkey/xpconnect/tests/unit/test_bug451678.js +52 -0
  764. data/vendor/tracemonkey/xpconnect/tests/unit/test_bug_442086.js +68 -0
  765. data/vendor/tracemonkey/xpconnect/tests/unit/test_import.js +127 -0
  766. data/vendor/tracemonkey/xpconnect/tests/unit/test_js_weak_references.js +63 -0
  767. data/vendor/tracemonkey/xpconnect/tests/unit/test_recursive_import.js +62 -0
  768. data/vendor/tracemonkey/xpconnect/tools/Makefile.in +49 -0
  769. data/vendor/tracemonkey/xpconnect/tools/idl/Makefile.in +53 -0
  770. data/vendor/tracemonkey/xpconnect/tools/idl/nsIXPCToolsCompiler.idl +60 -0
  771. data/vendor/tracemonkey/xpconnect/tools/idl/nsIXPCToolsProfiler.idl +57 -0
  772. data/vendor/tracemonkey/xpconnect/tools/js/CompileJSFiles.js +28 -0
  773. data/vendor/tracemonkey/xpconnect/tools/js/ListJSFiles.js +18 -0
  774. data/vendor/tracemonkey/xpconnect/tools/src/Makefile.in +76 -0
  775. data/vendor/tracemonkey/xpconnect/tools/src/nsXPCToolsCompiler.cpp +161 -0
  776. data/vendor/tracemonkey/xpconnect/tools/src/nsXPCToolsModule.cpp +65 -0
  777. data/vendor/tracemonkey/xpconnect/tools/src/nsXPCToolsProfiler.cpp +370 -0
  778. data/vendor/tracemonkey/xpconnect/tools/src/xpctools_private.h +236 -0
  779. metadata +782 -107
  780. data/test/johnson/nodes/export_test.rb +0 -9
  781. data/test/johnson/nodes/import_test.rb +0 -13
  782. data/test/johnson/version_test.rb +0 -13
@@ -0,0 +1,103 @@
1
+ # check-sync-dirs.py --- check that one directory is an exact subset of another
2
+ #
3
+ # Usage: python check-sync-dirs.py COPY ORIGINAL
4
+ #
5
+ # Check that the files present in the directory tree COPY are exact
6
+ # copies of their counterparts in the directory tree ORIGINAL. COPY
7
+ # need not have all the files in ORIGINAL, but COPY may not have files
8
+ # absent from ORIGINAL.
9
+ #
10
+ # Each directory in COPY may have a file named
11
+ # 'check-sync-exceptions', which lists files in COPY that need not be
12
+ # the same as the corresponding file in ORIGINAL, or exist at all in
13
+ # ORIGINAL. (The 'check-sync-exceptions' file itself is always
14
+ # treated as exceptional.) Blank lines and '#' comments in the file
15
+ # are ignored.
16
+
17
+ import sys
18
+ import os
19
+ from os.path import join
20
+ import filecmp
21
+ import textwrap
22
+ import fnmatch
23
+
24
+ if len(sys.argv) != 3:
25
+ print >> sys.stderr, 'TEST-UNEXPECTED-FAIL | check-sync-dirs.py | Usage: %s COPY ORIGINAL' % sys.argv[0]
26
+ sys.exit(1)
27
+
28
+ copy = os.path.abspath(sys.argv[1])
29
+ original = os.path.abspath(sys.argv[2])
30
+
31
+ # Ignore detritus left lying around by editing tools.
32
+ ignored_patterns = ['*~', '.#*', '#*#', '*.orig', '*.rej']
33
+
34
+ # Return the contents of FILENAME, a 'check-sync-exceptions' file, as
35
+ # a dictionary whose keys are exactly the list of filenames, along
36
+ # with the basename of FILENAME itself. If FILENAME does not exist,
37
+ # return the empty dictionary.
38
+ def read_exceptions(filename):
39
+ if (os.path.exists(filename)):
40
+ f = file(filename)
41
+ exceptions = {}
42
+ for line in f:
43
+ line = line.strip()
44
+ if line != '' and line[0] != '#':
45
+ exceptions[line] = None
46
+ exceptions[os.path.basename (filename)] = None
47
+ f.close()
48
+ return exceptions
49
+ else:
50
+ return {}
51
+
52
+ # Return true if FILENAME matches any pattern in the list of filename
53
+ # patterns PATTERNS.
54
+ def fnmatch_any(filename, patterns):
55
+ for pattern in patterns:
56
+ if fnmatch.fnmatch(filename, pattern):
57
+ return True
58
+ return False
59
+
60
+ # Check the contents of the directory tree COPY against ORIGINAL. For each
61
+ # file that differs, apply REPORT to COPY, ORIGINAL, and the file's
62
+ # relative path. COPY and ORIGINAL should be absolute. Ignore files
63
+ # that match patterns given in the list IGNORE.
64
+ def check(copy, original, ignore):
65
+ os.chdir(copy)
66
+ for (dirpath, dirnames, filenames) in os.walk('.'):
67
+ exceptions = read_exceptions(join(dirpath, 'check-sync-exceptions'))
68
+ for filename in filenames:
69
+ if (filename in exceptions) or fnmatch_any(filename, ignore):
70
+ continue
71
+ relative_name = join(dirpath, filename)
72
+ original_name = join(original, relative_name)
73
+ if (os.path.exists(original_name)
74
+ and filecmp.cmp(relative_name, original_name)):
75
+ continue
76
+ report(copy, original, relative_name)
77
+
78
+ differences_found = False
79
+
80
+ # Print an error message for DIFFERING, which was found to differ
81
+ # between COPY and ORIGINAL. Set the global variable differences_found.
82
+ def report(copy, original, differing):
83
+ global differences_found
84
+ if not differences_found:
85
+ print >> sys.stderr, 'TEST-UNEXPECTED-FAIL | check-sync-dirs.py | build file copies are not in sync\n' \
86
+ 'TEST-INFO | check-sync-dirs.py | file(s) found in: %s\n' \
87
+ 'TEST-INFO | check-sync-dirs.py | differ from their originals in: %s' \
88
+ % (copy, original)
89
+ print >> sys.stderr, 'TEST-INFO | check-sync-dirs.py | differing file: %s' % differing
90
+ differences_found = True
91
+
92
+ check(copy, original, ignored_patterns)
93
+
94
+ if differences_found:
95
+ msg = '''In general, the files in '%s' should always be exact copies of
96
+ originals in '%s'. A change made to one should also be made to the
97
+ other. See 'check-sync-dirs.py' for more details.''' \
98
+ % (copy, original)
99
+ print >> sys.stderr, textwrap.fill(msg, 75)
100
+ sys.exit(1)
101
+
102
+ print >> sys.stderr, 'TEST-PASS | check-sync-dirs.py | %s <= %s' % (copy, original)
103
+ sys.exit(0)
@@ -0,0 +1,7 @@
1
+ Makefile.in
2
+ autoconf.mk.in
3
+ check-sync-dirs.py
4
+ static-checking-config.mk
5
+
6
+ # This is a copy of nspr's config/make-system-wrappers.pl.
7
+ make-system-wrappers.pl
@@ -0,0 +1,881 @@
1
+ #
2
+ # ***** BEGIN LICENSE BLOCK *****
3
+ # Version: MPL 1.1/GPL 2.0/LGPL 2.1
4
+ #
5
+ # The contents of this file are subject to the Mozilla Public License Version
6
+ # 1.1 (the "License"); you may not use this file except in compliance with
7
+ # the License. You may obtain a copy of the License at
8
+ # http://www.mozilla.org/MPL/
9
+ #
10
+ # Software distributed under the License is distributed on an "AS IS" basis,
11
+ # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12
+ # for the specific language governing rights and limitations under the
13
+ # License.
14
+ #
15
+ # The Original Code is mozilla.org code.
16
+ #
17
+ # The Initial Developer of the Original Code is
18
+ # Netscape Communications Corporation.
19
+ # Portions created by the Initial Developer are Copyright (C) 1998
20
+ # the Initial Developer. All Rights Reserved.
21
+ #
22
+ # Contributor(s):
23
+ # Benjamin Smedberg <benjamin@smedbergs.us>
24
+ #
25
+ # Alternatively, the contents of this file may be used under the terms of
26
+ # either of the GNU General Public License Version 2 or later (the "GPL"),
27
+ # or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
28
+ # in which case the provisions of the GPL or the LGPL are applicable instead
29
+ # of those above. If you wish to allow use of your version of this file only
30
+ # under the terms of either the GPL or the LGPL, and not to allow others to
31
+ # use your version of this file under the terms of the MPL, indicate your
32
+ # decision by deleting the provisions above and replace them with the notice
33
+ # and other provisions required by the GPL or the LGPL. If you do not delete
34
+ # the provisions above, a recipient may use your version of this file under
35
+ # the terms of any one of the MPL, the GPL or the LGPL.
36
+ #
37
+ # ***** END LICENSE BLOCK *****
38
+
39
+ #
40
+ # config.mk
41
+ #
42
+ # Determines the platform and builds the macros needed to load the
43
+ # appropriate platform-specific .mk file, then defines all (most?)
44
+ # of the generic macros.
45
+ #
46
+
47
+ # Define an include-at-most-once flag
48
+ INCLUDED_CONFIG_MK = 1
49
+
50
+ EXIT_ON_ERROR = set -e; # Shell loops continue past errors without this.
51
+
52
+ ifndef topsrcdir
53
+ topsrcdir = $(DEPTH)
54
+ endif
55
+
56
+ ifndef INCLUDED_AUTOCONF_MK
57
+ include $(DEPTH)/config/autoconf.mk
58
+ endif
59
+ ifndef INCLUDED_INSURE_MK
60
+ ifdef MOZ_INSURIFYING
61
+ include $(topsrcdir)/config/insure.mk
62
+ endif
63
+ endif
64
+
65
+ COMMA = ,
66
+
67
+ # Sanity check some variables
68
+ CHECK_VARS := \
69
+ XPI_NAME \
70
+ LIBRARY_NAME \
71
+ MODULE \
72
+ DEPTH \
73
+ SHORT_LIBNAME \
74
+ XPI_PKGNAME \
75
+ INSTALL_EXTENSION_ID \
76
+ SHARED_LIBRARY_NAME \
77
+ STATIC_LIBRARY_NAME \
78
+ $(NULL)
79
+
80
+ # checks for internal spaces or trailing spaces in the variable
81
+ # named by $x
82
+ check-variable = $(if $(filter-out 0 1,$(words $($(x))z)),$(error Spaces are not allowed in $(x)))
83
+
84
+ $(foreach x,$(CHECK_VARS),$(check-variable))
85
+
86
+ # FINAL_TARGET specifies the location into which we copy end-user-shipped
87
+ # build products (typelibs, components, chrome).
88
+ #
89
+ # It will usually be the well-loved $(DIST)/bin, today, but can also be an
90
+ # XPI-contents staging directory for ambitious and right-thinking extensions.
91
+ FINAL_TARGET = $(if $(XPI_NAME),$(DIST)/xpi-stage/$(XPI_NAME),$(DIST)/bin)
92
+
93
+ # MAKE_JARS_TARGET is a staging area for make-jars.pl. When packaging in
94
+ # the jar format, make-jars leaves behind a directory structure that's not
95
+ # needed in $(FINAL_TARGET). For both, flat, and symlink, the directory
96
+ # structure contains the chrome, so leave it in $(FINAL_TARGET).
97
+ ifeq (jar,$(MOZ_CHROME_FILE_FORMAT))
98
+ MAKE_JARS_TARGET = $(if $(XPI_NAME),$(FINAL_TARGET).stage,$(DIST)/chrome-stage)
99
+ else
100
+ MAKE_JARS_TARGET = $(FINAL_TARGET)
101
+ endif
102
+
103
+ #
104
+ # The VERSION_NUMBER is suffixed onto the end of the DLLs we ship.
105
+ # Since the longest of these is 5 characters without the suffix,
106
+ # be sure to not set VERSION_NUMBER to anything longer than 3
107
+ # characters for Win16's sake.
108
+ #
109
+ VERSION_NUMBER = 50
110
+
111
+ ifeq ($(HOST_OS_ARCH),WINNT)
112
+ win_srcdir := $(subst $(topsrcdir),$(WIN_TOP_SRC),$(srcdir))
113
+ BUILD_TOOLS = $(WIN_TOP_SRC)/build/unix
114
+ else
115
+ win_srcdir := $(srcdir)
116
+ BUILD_TOOLS = $(topsrcdir)/build/unix
117
+ endif
118
+
119
+ CONFIG_TOOLS = $(MOZ_BUILD_ROOT)/config
120
+ AUTOCONF_TOOLS = $(topsrcdir)/build/autoconf
121
+
122
+ ifeq ($(OS_ARCH),QNX)
123
+ ifeq ($(OS_TARGET),NTO)
124
+ LD := qcc -Vgcc_ntox86 -nostdlib
125
+ else
126
+ LD := $(CC)
127
+ endif
128
+ endif
129
+ ifeq ($(OS_ARCH),BeOS)
130
+ BEOS_ADDON_WORKAROUND = 1
131
+ endif
132
+
133
+ #
134
+ # Strip off the excessively long version numbers on these platforms,
135
+ # but save the version to allow multiple versions of the same base
136
+ # platform to be built in the same tree.
137
+ #
138
+ ifneq (,$(filter FreeBSD HP-UX IRIX Linux NetBSD OpenBSD OSF1 SunOS,$(OS_ARCH)))
139
+ OS_RELEASE := $(basename $(OS_RELEASE))
140
+
141
+ # Allow the user to ignore the OS_VERSION, which is usually irrelevant.
142
+ ifdef WANT_MOZILLA_CONFIG_OS_VERSION
143
+ OS_VERS := $(suffix $(OS_RELEASE))
144
+ OS_VERSION := $(shell echo $(OS_VERS) | sed 's/-.*//')
145
+ endif
146
+
147
+ endif
148
+
149
+ OS_CONFIG := $(OS_ARCH)$(OS_RELEASE)
150
+
151
+ FINAL_LINK_LIBS = $(DEPTH)/config/final-link-libs
152
+ FINAL_LINK_COMPS = $(DEPTH)/config/final-link-comps
153
+ FINAL_LINK_COMP_NAMES = $(DEPTH)/config/final-link-comp-names
154
+
155
+ MOZ_UNICHARUTIL_LIBS = $(LIBXUL_DIST)/lib/$(LIB_PREFIX)unicharutil_s.$(LIB_SUFFIX)
156
+ MOZ_WIDGET_SUPPORT_LIBS = $(DIST)/lib/$(LIB_PREFIX)widgetsupport_s.$(LIB_SUFFIX)
157
+
158
+ ifdef MOZ_MEMORY
159
+ ifneq ($(OS_ARCH),WINNT)
160
+ JEMALLOC_LIBS = $(MKSHLIB_FORCE_ALL) $(call EXPAND_LIBNAME_PATH,jemalloc,$(DIST)/lib) $(MKSHLIB_UNFORCE_ALL)
161
+ endif
162
+ endif
163
+
164
+ # determine debug-related options
165
+ _DEBUG_CFLAGS :=
166
+ _DEBUG_LDFLAGS :=
167
+
168
+ ifndef MOZ_DEBUG
169
+ # global debugging is disabled
170
+ # check if it was explicitly enabled for this module
171
+ ifneq (, $(findstring $(MODULE), $(MOZ_DEBUG_MODULES)))
172
+ MOZ_DEBUG:=1
173
+ endif
174
+ else
175
+ # global debugging is enabled
176
+ # check if it was explicitly disabled for this module
177
+ ifneq (, $(findstring ^$(MODULE), $(MOZ_DEBUG_MODULES)))
178
+ MOZ_DEBUG:=
179
+ endif
180
+ endif
181
+
182
+ ifdef MOZ_DEBUG
183
+ _DEBUG_CFLAGS += $(MOZ_DEBUG_ENABLE_DEFS)
184
+ XULPPFLAGS += $(MOZ_DEBUG_ENABLE_DEFS)
185
+ else
186
+ _DEBUG_CFLAGS += $(MOZ_DEBUG_DISABLE_DEFS)
187
+ XULPPFLAGS += $(MOZ_DEBUG_DISABLE_DEFS)
188
+ endif
189
+
190
+ # determine if -g should be passed to the compiler, based on
191
+ # the current module, and the value of MOZ_DBGRINFO_MODULES
192
+
193
+ ifdef MOZ_DEBUG
194
+ MOZ_DBGRINFO_MODULES += ALL_MODULES
195
+ pattern := ALL_MODULES ^ALL_MODULES
196
+ else
197
+ MOZ_DBGRINFO_MODULES += ^ALL_MODULES
198
+ pattern := ALL_MODULES ^ALL_MODULES
199
+ endif
200
+
201
+ ifdef MODULE
202
+ # our current Makefile specifies a module name - add it to our pattern
203
+ pattern += $(MODULE) ^$(MODULE)
204
+ endif
205
+
206
+ # start by finding the first relevant module name
207
+ # (remember that the order of the module names in MOZ_DBGRINFO_MODULES
208
+ # is reversed from the order the user specified to configure -
209
+ # this allows the user to put general names at the beginning
210
+ # of the list, and to override them with explicit module names later
211
+ # in the list)
212
+
213
+ first_match:=$(firstword $(filter $(pattern), $(MOZ_DBGRINFO_MODULES)))
214
+
215
+ ifeq ($(first_match), $(MODULE))
216
+ # the user specified explicitly that
217
+ # this module should be compiled with -g
218
+ _DEBUG_CFLAGS += $(MOZ_DEBUG_FLAGS)
219
+ _DEBUG_LDFLAGS += $(MOZ_DEBUG_LDFLAGS)
220
+ else
221
+ ifeq ($(first_match), ^$(MODULE))
222
+ # the user specified explicitly that this module
223
+ # should not be compiled with -g (nothing to do)
224
+ else
225
+ ifeq ($(first_match), ALL_MODULES)
226
+ # the user didn't mention this module explicitly,
227
+ # but wanted all modules to be compiled with -g
228
+ _DEBUG_CFLAGS += $(MOZ_DEBUG_FLAGS)
229
+ _DEBUG_LDFLAGS += $(MOZ_DEBUG_LDFLAGS)
230
+ else
231
+ ifeq ($(first_match), ^ALL_MODULES)
232
+ # the user didn't mention this module explicitly,
233
+ # but wanted all modules to be compiled without -g (nothing to do)
234
+ endif
235
+ endif
236
+ endif
237
+ endif
238
+
239
+
240
+ # append debug flags
241
+ # (these might have been above when processing MOZ_DBGRINFO_MODULES)
242
+ OS_CFLAGS += $(_DEBUG_CFLAGS)
243
+ OS_CXXFLAGS += $(_DEBUG_CFLAGS)
244
+ OS_LDFLAGS += $(_DEBUG_LDFLAGS)
245
+
246
+ # MOZ_PROFILE equivs for win32
247
+ ifeq ($(OS_ARCH)_$(GNU_CC),WINNT_)
248
+ ifdef MOZ_DEBUG
249
+ ifneq (,$(MOZ_BROWSE_INFO)$(MOZ_BSCFILE))
250
+ OS_CFLAGS += -FR
251
+ OS_CXXFLAGS += -FR
252
+ endif
253
+ else # ! MOZ_DEBUG
254
+
255
+ # MOZ_DEBUG_SYMBOLS generates debug symbols in separate PDB files.
256
+ # Used for generating an optimized build with debugging symbols.
257
+ # Used in the Windows nightlies to generate symbols for crash reporting.
258
+ ifdef MOZ_DEBUG_SYMBOLS
259
+ OS_CXXFLAGS += -Zi -UDEBUG -DNDEBUG
260
+ OS_CFLAGS += -Zi -UDEBUG -DNDEBUG
261
+ OS_LDFLAGS += -DEBUG -OPT:REF -OPT:nowin98
262
+ endif
263
+
264
+ ifdef MOZ_QUANTIFY
265
+ # -FIXED:NO is needed for Quantify to work, but it increases the size
266
+ # of executables, so only use it if building for Quantify.
267
+ WIN32_EXE_LDFLAGS += -FIXED:NO
268
+
269
+ # We need -OPT:NOICF to prevent identical methods from being merged together.
270
+ # Otherwise, Quantify doesn't know which method was actually called when it's
271
+ # showing you the profile.
272
+ OS_LDFLAGS += -OPT:NOICF
273
+ endif
274
+
275
+ #
276
+ # Handle trace-malloc in optimized builds.
277
+ # No opt to give sane callstacks.
278
+ #
279
+ ifdef NS_TRACE_MALLOC
280
+ MOZ_OPTIMIZE_FLAGS=-Zi -Od -UDEBUG -DNDEBUG
281
+ OS_LDFLAGS = -DEBUG -PDB:NONE -OPT:REF -OPT:nowin98
282
+ endif # NS_TRACE_MALLOC
283
+
284
+ endif # MOZ_DEBUG
285
+ endif # WINNT && !GNU_CC
286
+
287
+ #
288
+ # Build using PIC by default
289
+ # Do not use PIC if not building a shared lib (see exceptions below)
290
+ #
291
+
292
+ ifndef BUILD_STATIC_LIBS
293
+ _ENABLE_PIC=1
294
+ endif
295
+ ifneq (,$(FORCE_SHARED_LIB)$(FORCE_USE_PIC))
296
+ _ENABLE_PIC=1
297
+ endif
298
+
299
+ # In Firefox, all components are linked into either libxul or the static
300
+ # meta-component, and should be compiled with PIC.
301
+ ifdef MOZ_META_COMPONENT
302
+ _ENABLE_PIC=1
303
+ endif
304
+
305
+ # If module is going to be merged into the nsStaticModule,
306
+ # make sure that the entry points are translated and
307
+ # the module is built static.
308
+
309
+ ifdef IS_COMPONENT
310
+ ifdef EXPORT_LIBRARY
311
+ ifneq (,$(BUILD_STATIC_LIBS))
312
+ ifdef MODULE_NAME
313
+ DEFINES += -DXPCOM_TRANSLATE_NSGM_ENTRY_POINT=1
314
+ FORCE_STATIC_LIB=1
315
+ endif
316
+ endif
317
+ endif
318
+ endif
319
+
320
+ # Determine if module being compiled is destined
321
+ # to be merged into libxul
322
+
323
+ ifdef MOZ_ENABLE_LIBXUL
324
+ ifdef LIBXUL_LIBRARY
325
+ ifdef IS_COMPONENT
326
+ ifdef MODULE_NAME
327
+ DEFINES += -DXPCOM_TRANSLATE_NSGM_ENTRY_POINT=1
328
+ else
329
+ $(error Component makefile does not specify MODULE_NAME.)
330
+ endif
331
+ endif
332
+ FORCE_STATIC_LIB=1
333
+ _ENABLE_PIC=1
334
+ SHORT_LIBNAME=
335
+ endif
336
+ endif
337
+
338
+ # If we are building this component into an extension/xulapp, it cannot be
339
+ # statically linked. In the future we may want to add a xulapp meta-component
340
+ # build option.
341
+
342
+ ifdef XPI_NAME
343
+ _ENABLE_PIC=1
344
+ ifdef IS_COMPONENT
345
+ EXPORT_LIBRARY=
346
+ FORCE_STATIC_LIB=
347
+ FORCE_SHARED_LIB=1
348
+ endif
349
+ endif
350
+
351
+ #
352
+ # Disable PIC if necessary
353
+ #
354
+
355
+ ifndef _ENABLE_PIC
356
+ DSO_CFLAGS=
357
+ ifeq ($(OS_ARCH)_$(HAVE_GCC3_ABI),Darwin_1)
358
+ DSO_PIC_CFLAGS=-mdynamic-no-pic
359
+ else
360
+ DSO_PIC_CFLAGS=
361
+ endif
362
+ endif
363
+
364
+ ifndef SHARED_LIBRARY_NAME
365
+ ifdef LIBRARY_NAME
366
+ SHARED_LIBRARY_NAME=$(LIBRARY_NAME)
367
+ endif
368
+ endif
369
+
370
+ ifndef STATIC_LIBRARY_NAME
371
+ ifdef LIBRARY_NAME
372
+ STATIC_LIBRARY_NAME=$(LIBRARY_NAME)
373
+ endif
374
+ endif
375
+
376
+ # This comes from configure
377
+ ifdef MOZ_PROFILE_GUIDED_OPTIMIZE_DISABLE
378
+ NO_PROFILE_GUIDED_OPTIMIZE = 1
379
+ endif
380
+
381
+ # Enable profile-based feedback
382
+ ifndef NO_PROFILE_GUIDED_OPTIMIZE
383
+ ifdef MOZ_PROFILE_GENERATE
384
+ # No sense in profiling tools
385
+ ifndef INTERNAL_TOOLS
386
+ OS_CFLAGS += $(PROFILE_GEN_CFLAGS)
387
+ OS_CXXFLAGS += $(PROFILE_GEN_CFLAGS)
388
+ OS_LDFLAGS += $(PROFILE_GEN_LDFLAGS)
389
+ ifeq (WINNT,$(OS_ARCH))
390
+ AR_FLAGS += -LTCG
391
+ endif
392
+ endif # INTERNAL_TOOLS
393
+ endif # MOZ_PROFILE_GENERATE
394
+
395
+ ifdef MOZ_PROFILE_USE
396
+ ifndef INTERNAL_TOOLS
397
+ OS_CFLAGS += $(PROFILE_USE_CFLAGS)
398
+ OS_CXXFLAGS += $(PROFILE_USE_CFLAGS)
399
+ OS_LDFLAGS += $(PROFILE_USE_LDFLAGS)
400
+ ifeq (WINNT,$(OS_ARCH))
401
+ AR_FLAGS += -LTCG
402
+ endif
403
+ endif # INTERNAL_TOOLS
404
+ endif # MOZ_PROFILE_USE
405
+ endif # NO_PROFILE_GUIDED_OPTIMIZE
406
+
407
+
408
+ # Does the makefile specifies the internal XPCOM API linkage?
409
+ ifneq (,$(MOZILLA_INTERNAL_API)$(LIBXUL_LIBRARY))
410
+ DEFINES += -DMOZILLA_INTERNAL_API
411
+ endif
412
+
413
+ # Force XPCOM/widget/gfx methods to be _declspec(dllexport) when we're
414
+ # building libxul libraries
415
+ ifdef MOZ_ENABLE_LIBXUL
416
+ ifdef LIBXUL_LIBRARY
417
+ DEFINES += \
418
+ -D_IMPL_NS_COM \
419
+ -DEXPORT_XPT_API \
420
+ -DEXPORT_XPTC_API \
421
+ -D_IMPL_NS_COM_OBSOLETE \
422
+ -D_IMPL_NS_GFX \
423
+ -D_IMPL_NS_WIDGET \
424
+ -DIMPL_XREAPI \
425
+ -DIMPL_NS_NET \
426
+ -DIMPL_THEBES \
427
+ $(NULL)
428
+
429
+ ifndef MOZ_NATIVE_ZLIB
430
+ DEFINES += -DZLIB_INTERNAL
431
+ endif
432
+ endif
433
+ endif
434
+
435
+ # Force _all_ exported methods to be |_declspec(dllexport)| when we're
436
+ # building them into the executable.
437
+
438
+ ifeq (,$(filter-out WINNT WINCE OS2, $(OS_ARCH)))
439
+ ifdef BUILD_STATIC_LIBS
440
+ DEFINES += \
441
+ -D_IMPL_NS_GFX \
442
+ -D_IMPL_NS_MSG_BASE \
443
+ -D_IMPL_NS_WIDGET \
444
+ $(NULL)
445
+ endif
446
+ endif
447
+
448
+ # Flags passed to make-jars.pl
449
+
450
+ MAKE_JARS_FLAGS = \
451
+ -t $(topsrcdir) \
452
+ -f $(MOZ_CHROME_FILE_FORMAT) \
453
+ $(NULL)
454
+
455
+ ifdef USE_EXTENSION_MANIFEST
456
+ MAKE_JARS_FLAGS += -e
457
+ endif
458
+
459
+ ifdef BOTH_MANIFESTS
460
+ MAKE_JARS_FLAGS += --both-manifests
461
+ endif
462
+
463
+ TAR_CREATE_FLAGS = -cvhf
464
+
465
+ ifeq ($(OS_ARCH),BSD_OS)
466
+ TAR_CREATE_FLAGS = -cvLf
467
+ endif
468
+
469
+ ifeq ($(OS_ARCH),OS2)
470
+ TAR_CREATE_FLAGS = -cvf
471
+ endif
472
+
473
+ #
474
+ # Personal makefile customizations go in these optional make include files.
475
+ #
476
+ MY_CONFIG := $(DEPTH)/config/myconfig.mk
477
+ MY_RULES := $(DEPTH)/config/myrules.mk
478
+
479
+ #
480
+ # Default command macros; can be overridden in <arch>.mk.
481
+ #
482
+ CCC = $(CXX)
483
+ NFSPWD = $(CONFIG_TOOLS)/nfspwd
484
+ PURIFY = purify $(PURIFYOPTIONS)
485
+ QUANTIFY = quantify $(QUANTIFYOPTIONS)
486
+ ifdef CROSS_COMPILE
487
+ XPIDL_COMPILE = $(CYGWIN_WRAPPER) $(LIBXUL_DIST)/host/bin/host_xpidl$(HOST_BIN_SUFFIX)
488
+ XPIDL_LINK = $(CYGWIN_WRAPPER) $(LIBXUL_DIST)/host/bin/host_xpt_link$(HOST_BIN_SUFFIX)
489
+ else
490
+ XPIDL_COMPILE = $(CYGWIN_WRAPPER) $(LIBXUL_DIST)/bin/xpidl$(BIN_SUFFIX)
491
+ XPIDL_LINK = $(CYGWIN_WRAPPER) $(LIBXUL_DIST)/bin/xpt_link$(BIN_SUFFIX)
492
+ endif
493
+
494
+ # Java macros
495
+ JAVA_GEN_DIR = _javagen
496
+ JAVA_DIST_DIR = $(DEPTH)/$(JAVA_GEN_DIR)
497
+ JAVA_IFACES_PKG_NAME = org/mozilla/interfaces
498
+
499
+ REQ_INCLUDES = -I$(srcdir) -I. $(foreach d,$(REQUIRES),-I$(DIST)/include/$d) -I$(DIST)/include
500
+ ifdef LIBXUL_SDK
501
+ REQ_INCLUDES_SDK = $(foreach d,$(REQUIRES),-I$(LIBXUL_SDK)/include/$d) -I$(LIBXUL_SDK)/include
502
+ endif
503
+
504
+ INCLUDES = $(LOCAL_INCLUDES) $(REQ_INCLUDES) $(REQ_INCLUDES_SDK) -I$(PUBLIC) $(OS_INCLUDES)
505
+
506
+ ifndef MOZILLA_INTERNAL_API
507
+ INCLUDES += -I$(LIBXUL_DIST)/sdk/include
508
+ endif
509
+
510
+ include $(topsrcdir)/config/static-checking-config.mk
511
+
512
+ CFLAGS = $(OS_CFLAGS)
513
+ CXXFLAGS = $(OS_CXXFLAGS)
514
+ LDFLAGS = $(OS_LDFLAGS) $(MOZ_FIX_LINK_PATHS)
515
+
516
+ # Allow each module to override the *default* optimization settings
517
+ # by setting MODULE_OPTIMIZE_FLAGS if the developer has not given
518
+ # arguments to --enable-optimize
519
+ ifdef MOZ_OPTIMIZE
520
+ ifeq (1,$(MOZ_OPTIMIZE))
521
+ ifdef MODULE_OPTIMIZE_FLAGS
522
+ CFLAGS += $(MODULE_OPTIMIZE_FLAGS)
523
+ CXXFLAGS += $(MODULE_OPTIMIZE_FLAGS)
524
+ else
525
+ CFLAGS += $(MOZ_OPTIMIZE_FLAGS)
526
+ CXXFLAGS += $(MOZ_OPTIMIZE_FLAGS)
527
+ endif # MODULE_OPTIMIZE_FLAGS
528
+ else
529
+ CFLAGS += $(MOZ_OPTIMIZE_FLAGS)
530
+ CXXFLAGS += $(MOZ_OPTIMIZE_FLAGS)
531
+ endif # MOZ_OPTIMIZE == 1
532
+ LDFLAGS += $(MOZ_OPTIMIZE_LDFLAGS)
533
+ endif # MOZ_OPTIMIZE
534
+
535
+ ifdef CROSS_COMPILE
536
+ HOST_CFLAGS += $(HOST_OPTIMIZE_FLAGS)
537
+ else
538
+ ifdef MOZ_OPTIMIZE
539
+ ifeq (1,$(MOZ_OPTIMIZE))
540
+ ifdef MODULE_OPTIMIZE_FLAGS
541
+ HOST_CFLAGS += $(MODULE_OPTIMIZE_FLAGS)
542
+ else
543
+ HOST_CFLAGS += $(MOZ_OPTIMIZE_FLAGS)
544
+ endif # MODULE_OPTIMIZE_FLAGS
545
+ else
546
+ HOST_CFLAGS += $(MOZ_OPTIMIZE_FLAGS)
547
+ endif # MOZ_OPTIMIZE == 1
548
+ endif # MOZ_OPTIMIZE
549
+ endif # CROSS_COMPILE
550
+
551
+
552
+ ifeq ($(OS_ARCH)_$(GNU_CC),WINNT_)
553
+ #// Currently, unless USE_STATIC_LIBS is defined, the multithreaded
554
+ #// DLL version of the RTL is used...
555
+ #//
556
+ #//------------------------------------------------------------------------
557
+ ifdef USE_STATIC_LIBS
558
+ RTL_FLAGS=-MT # Statically linked multithreaded RTL
559
+ ifneq (,$(MOZ_DEBUG)$(NS_TRACE_MALLOC))
560
+ ifndef MOZ_NO_DEBUG_RTL
561
+ RTL_FLAGS=-MTd # Statically linked multithreaded MSVC4.0 debug RTL
562
+ endif
563
+ endif # MOZ_DEBUG || NS_TRACE_MALLOC
564
+
565
+ else # !USE_STATIC_LIBS
566
+
567
+ RTL_FLAGS=-MD # Dynamically linked, multithreaded RTL
568
+ ifneq (,$(MOZ_DEBUG)$(NS_TRACE_MALLOC))
569
+ ifndef MOZ_NO_DEBUG_RTL
570
+ RTL_FLAGS=-MDd # Dynamically linked, multithreaded MSVC4.0 debug RTL
571
+ endif
572
+ endif # MOZ_DEBUG || NS_TRACE_MALLOC
573
+ endif # USE_STATIC_LIBS
574
+ endif # WINNT && !GNU_CC
575
+
576
+ ifeq ($(OS_ARCH),Darwin)
577
+ # Darwin doesn't cross-compile, so just set both types of flags here.
578
+ HOST_CMFLAGS += -fobjc-exceptions
579
+ HOST_CMMFLAGS += -fobjc-exceptions
580
+ OS_COMPILE_CMFLAGS += -fobjc-exceptions
581
+ OS_COMPILE_CMMFLAGS += -fobjc-exceptions
582
+ endif
583
+
584
+ COMPILE_CFLAGS = $(VISIBILITY_FLAGS) $(DEFINES) $(INCLUDES) $(XCFLAGS) $(PROFILER_CFLAGS) $(DSO_CFLAGS) $(DSO_PIC_CFLAGS) $(CFLAGS) $(RTL_FLAGS) $(OS_COMPILE_CFLAGS)
585
+ COMPILE_CXXFLAGS = $(VISIBILITY_FLAGS) $(DEFINES) $(INCLUDES) $(XCFLAGS) $(PROFILER_CFLAGS) $(DSO_CFLAGS) $(DSO_PIC_CFLAGS) $(CXXFLAGS) $(RTL_FLAGS) $(OS_COMPILE_CXXFLAGS)
586
+ COMPILE_CMFLAGS = $(OS_COMPILE_CMFLAGS)
587
+ COMPILE_CMMFLAGS = $(OS_COMPILE_CMMFLAGS)
588
+
589
+ ifndef CROSS_COMPILE
590
+ HOST_CFLAGS += $(RTL_FLAGS)
591
+ endif
592
+
593
+ #
594
+ # Name of the binary code directories
595
+ #
596
+ # Override defaults
597
+
598
+ # We need to know where to find the libraries we
599
+ # put on the link line for binaries, and should
600
+ # we link statically or dynamic? Assuming dynamic for now.
601
+
602
+ ifneq (WINNT_,$(OS_ARCH)_$(GNU_CC))
603
+ ifneq (,$(filter-out WINCE,$(OS_ARCH)))
604
+ LIBS_DIR = -L$(DIST)/bin -L$(DIST)/lib
605
+ ifdef LIBXUL_SDK
606
+ LIBS_DIR += -L$(LIBXUL_SDK)/bin -L$(LIBXUL_SDK)/lib
607
+ endif
608
+ endif
609
+ endif
610
+
611
+ # Default location of include files
612
+ IDL_DIR = $(DIST)/idl
613
+ ifdef MODULE
614
+ PUBLIC = $(DIST)/include/$(MODULE)
615
+ else
616
+ PUBLIC = $(DIST)/include
617
+ endif
618
+
619
+ XPIDL_FLAGS = -I$(srcdir) -I$(IDL_DIR)
620
+ ifdef LIBXUL_SDK
621
+ XPIDL_FLAGS += -I$(LIBXUL_SDK)/idl
622
+ endif
623
+
624
+ SDK_PUBLIC = $(DIST)/sdk/include
625
+ SDK_IDL_DIR = $(DIST)/sdk/idl
626
+ SDK_LIB_DIR = $(DIST)/sdk/lib
627
+ SDK_BIN_DIR = $(DIST)/sdk/bin
628
+
629
+ DEPENDENCIES = .md
630
+
631
+ MOZ_COMPONENT_LIBS=$(XPCOM_LIBS) $(MOZ_COMPONENT_NSPR_LIBS)
632
+
633
+ ifdef GC_LEAK_DETECTOR
634
+ XPCOM_LIBS += -lboehm
635
+ endif
636
+
637
+ ifeq (xpconnect, $(findstring xpconnect, $(BUILD_MODULES)))
638
+ DEFINES += -DXPCONNECT_STANDALONE
639
+ endif
640
+
641
+ ifeq ($(OS_ARCH),OS2)
642
+ ELF_DYNSTR_GC = echo
643
+ else
644
+ ELF_DYNSTR_GC = :
645
+ endif
646
+
647
+ ifndef CROSS_COMPILE
648
+ ifdef USE_ELF_DYNSTR_GC
649
+ ifdef MOZ_COMPONENTS_VERSION_SCRIPT_LDFLAGS
650
+ ELF_DYNSTR_GC = $(DEPTH)/config/elf-dynstr-gc
651
+ endif
652
+ endif
653
+ endif
654
+
655
+ ifeq ($(OS_ARCH),Darwin)
656
+ ifdef NEXT_ROOT
657
+ export NEXT_ROOT
658
+ PBBUILD = NEXT_ROOT= $(PBBUILD_BIN)
659
+ else # NEXT_ROOT
660
+ PBBUILD = $(PBBUILD_BIN)
661
+ endif # NEXT_ROOT
662
+ PBBUILD_SETTINGS = GCC_VERSION="$(GCC_VERSION)" SYMROOT=build ARCHS="$(OS_TEST)"
663
+ ifdef MACOS_SDK_DIR
664
+ PBBUILD_SETTINGS += SDKROOT="$(MACOS_SDK_DIR)"
665
+ endif # MACOS_SDK_DIR
666
+ ifdef MACOSX_DEPLOYMENT_TARGET
667
+ export MACOSX_DEPLOYMENT_TARGET
668
+ PBBUILD_SETTINGS += MACOSX_DEPLOYMENT_TARGET="$(MACOSX_DEPLOYMENT_TARGET)"
669
+ endif # MACOSX_DEPLOYMENT_TARGET
670
+ ifdef MOZ_OPTIMIZE
671
+ ifeq (2,$(MOZ_OPTIMIZE))
672
+ # Only override project defaults if the config specified explicit settings
673
+ PBBUILD_SETTINGS += GCC_MODEL_TUNING= OPTIMIZATION_CFLAGS="$(MOZ_OPTIMIZE_FLAGS)"
674
+ endif # MOZ_OPTIMIZE=2
675
+ endif # MOZ_OPTIMIZE
676
+ ifeq (1,$(HAS_XCODE_2_1))
677
+ # Xcode 2.1 puts its build products in a directory corresponding to the
678
+ # selected build style/configuration.
679
+ XCODE_PRODUCT_DIR = build/$(BUILDSTYLE)
680
+ else
681
+ XCODE_PRODUCT_DIR = build
682
+ endif # HAS_XCODE_2_1=1
683
+ endif # OS_ARCH=Darwin
684
+
685
+
686
+ ifdef MOZ_NATIVE_MAKEDEPEND
687
+ MKDEPEND_DIR =
688
+ MKDEPEND = $(CYGWIN_WRAPPER) $(MOZ_NATIVE_MAKEDEPEND)
689
+ else
690
+ MKDEPEND_DIR = $(CONFIG_TOOLS)/mkdepend
691
+ MKDEPEND = $(CYGWIN_WRAPPER) $(MKDEPEND_DIR)/mkdepend$(BIN_SUFFIX)
692
+ endif
693
+
694
+ # Set link flags according to whether we want a console.
695
+ ifdef MOZ_WINCONSOLE
696
+ ifeq ($(MOZ_WINCONSOLE),1)
697
+ ifeq ($(OS_ARCH),OS2)
698
+ BIN_FLAGS += -Zlinker -PM:VIO
699
+ endif
700
+ ifeq ($(OS_ARCH),WINNT)
701
+ ifdef GNU_CC
702
+ WIN32_EXE_LDFLAGS += -mconsole
703
+ else
704
+ WIN32_EXE_LDFLAGS += -SUBSYSTEM:CONSOLE
705
+ endif
706
+ endif
707
+ else # MOZ_WINCONSOLE
708
+ ifeq ($(OS_ARCH),OS2)
709
+ BIN_FLAGS += -Zlinker -PM:PM
710
+ endif
711
+ ifeq ($(OS_ARCH),WINNT)
712
+ ifdef GNU_CC
713
+ WIN32_EXE_LDFLAGS += -mwindows
714
+ else
715
+ WIN32_EXE_LDFLAGS += -SUBSYSTEM:WINDOWS
716
+ endif
717
+ endif
718
+ endif
719
+ endif
720
+
721
+ # Flags needed to link against the component library
722
+ ifdef MOZ_COMPONENTLIB
723
+ MOZ_COMPONENTLIB_EXTRA_DSO_LIBS = mozcomps xpcom_compat
724
+
725
+ # Tell the linker where NSS is, if we're building crypto
726
+ ifeq ($(OS_ARCH),Darwin)
727
+ ifeq (,$(findstring crypto,$(MOZ_META_COMPONENTS)))
728
+ MOZ_COMPONENTLIB_EXTRA_LIBS = $(foreach library, $(patsubst -l%, $(LIB_PREFIX)%$(DLL_SUFFIX), $(filter -l%, $(NSS_LIBS))), -dylib_file @executable_path/$(library):$(DIST)/bin/$(library))
729
+ endif
730
+ endif
731
+ endif
732
+
733
+ # If we're building a component on MSVC, we don't want to generate an
734
+ # import lib, because that import lib will collide with the name of a
735
+ # static version of the same library.
736
+ ifeq ($(GNU_LD)$(OS_ARCH),WINNT)
737
+ ifdef IS_COMPONENT
738
+ LDFLAGS += -IMPLIB:fake.lib
739
+ DELETE_AFTER_LINK = fake.lib fake.exp
740
+ endif
741
+ endif
742
+
743
+ #
744
+ # Include any personal overrides the user might think are needed.
745
+ #
746
+ -include $(topsrcdir)/$(MOZ_BUILD_APP)/app-config.mk
747
+ -include $(MY_CONFIG)
748
+
749
+ ######################################################################
750
+ # Now test variables that might have been set or overridden by $(MY_CONFIG).
751
+
752
+ DEFINES += -DOSTYPE=\"$(OS_CONFIG)\"
753
+ DEFINES += -DOSARCH=$(OS_ARCH)
754
+
755
+ # For profiling
756
+ ifdef ENABLE_EAZEL_PROFILER
757
+ ifndef INTERNAL_TOOLS
758
+ ifneq ($(LIBRARY_NAME), xpt)
759
+ ifneq (, $(findstring $(shell $(topsrcdir)/build/unix/print-depth-path.sh | awk -F/ '{ print $$2; }'), $(MOZ_PROFILE_MODULES)))
760
+ PROFILER_CFLAGS = $(EAZEL_PROFILER_CFLAGS) -DENABLE_EAZEL_PROFILER
761
+ PROFILER_LIBS = $(EAZEL_PROFILER_LIBS)
762
+ endif
763
+ endif
764
+ endif
765
+ endif
766
+
767
+ ######################################################################
768
+
769
+ GARBAGE += $(DEPENDENCIES) $(MKDEPENDENCIES) $(MKDEPENDENCIES).bak core $(wildcard core.[0-9]*) $(wildcard *.err) $(wildcard *.pure) $(wildcard *_pure_*.o) Templates.DB
770
+
771
+ ifeq ($(OS_ARCH),Darwin)
772
+ ifndef NSDISTMODE
773
+ NSDISTMODE=absolute_symlink
774
+ endif
775
+ PWD := $(shell pwd)
776
+ endif
777
+
778
+ ifdef NSINSTALL_BIN
779
+ NSINSTALL = $(CYGWIN_WRAPPER) $(NSINSTALL_BIN)
780
+ else
781
+ ifeq (WINNT,$(CROSS_COMPILE)$(OS_ARCH))
782
+ NSINSTALL = $(CYGWIN_WRAPPER) $(MOZ_TOOLS_DIR)/bin/nsinstall
783
+ else
784
+ ifeq (OS2,$(CROSS_COMPILE)$(OS_ARCH))
785
+ NSINSTALL = $(MOZ_TOOLS_DIR)/nsinstall
786
+ else
787
+ NSINSTALL = $(CONFIG_TOOLS)/nsinstall
788
+ endif # OS2
789
+ endif # WINNT
790
+ endif # NSINSTALL_BIN
791
+
792
+
793
+ ifeq (,$(CROSS_COMPILE)$(filter-out WINNT OS2, $(OS_ARCH)))
794
+ INSTALL = $(NSINSTALL)
795
+ else
796
+ ifeq ($(NSDISTMODE),copy)
797
+ # copy files, but preserve source mtime
798
+ INSTALL = $(NSINSTALL) -t
799
+ else
800
+ ifeq ($(NSDISTMODE),absolute_symlink)
801
+ # install using absolute symbolic links
802
+ ifeq ($(OS_ARCH),Darwin)
803
+ INSTALL = $(NSINSTALL) -L $(PWD)
804
+ else
805
+ INSTALL = $(NSINSTALL) -L `$(NFSPWD)`
806
+ endif # Darwin
807
+ else
808
+ # install using relative symbolic links
809
+ INSTALL = $(NSINSTALL) -R
810
+ endif # absolute_symlink
811
+ endif # copy
812
+ endif # WINNT/OS2
813
+
814
+ ifeq (,$(filter-out WINCE,$(OS_ARCH)))
815
+ NSINSTALL = $(CYGWIN_WRAPPER) nsinstall
816
+ INSTALL = $(CYGWIN_WRAPPER) nsinstall
817
+ endif
818
+
819
+ # Use nsinstall in copy mode to install files on the system
820
+ SYSINSTALL = $(NSINSTALL) -t
821
+
822
+ ifeq ($(OS_ARCH),WINNT)
823
+ ifneq (,$(CYGDRIVE_MOUNT))
824
+ export CYGDRIVE_MOUNT
825
+ endif
826
+ endif
827
+
828
+ #
829
+ # Localization build automation
830
+ #
831
+
832
+ # Because you might wish to "make locales AB_CD=ab-CD", we don't hardcode
833
+ # MOZ_UI_LOCALE directly, but use an intermediate variable that can be
834
+ # overridden by the command line. (Besides, AB_CD is prettier).
835
+ AB_CD = $(MOZ_UI_LOCALE)
836
+
837
+ ifndef L10NBASEDIR
838
+ L10NBASEDIR = $(error L10NBASEDIR not defined by configure)
839
+ endif
840
+
841
+ EXPAND_LOCALE_SRCDIR = $(if $(filter en-US,$(AB_CD)),$(topsrcdir)/$(1)/en-US,$(L10NBASEDIR)/$(AB_CD)/$(subst /locales,,$(1)))
842
+
843
+ ifdef relativesrcdir
844
+ LOCALE_SRCDIR = $(call EXPAND_LOCALE_SRCDIR,$(relativesrcdir))
845
+ endif
846
+
847
+ ifdef LOCALE_SRCDIR
848
+ # if LOCALE_MERGEDIR is set, use mergedir first, then the localization,
849
+ # and finally en-US
850
+ ifdef LOCALE_MERGEDIR
851
+ MAKE_JARS_FLAGS += -c $(LOCALE_MERGEDIR)/$(subst /locales,,$(relativesrcdir))
852
+ endif
853
+ MAKE_JARS_FLAGS += -c $(LOCALE_SRCDIR)
854
+ ifdef LOCALE_MERGEDIR
855
+ MAKE_JARS_FLAGS += -c $(topsrcdir)/$(relativesrcdir)/en-US
856
+ endif
857
+ endif
858
+
859
+ ifeq (,$(filter WINCE WINNT OS2,$(OS_ARCH)))
860
+ RUN_TEST_PROGRAM = $(DIST)/bin/run-mozilla.sh
861
+ endif
862
+
863
+ ifeq ($(OS_ARCH),OS2)
864
+ RUN_TEST_PROGRAM = $(topsrcdir)/build/os2/test_os2.cmd "$(DIST)"
865
+ endif
866
+
867
+ #
868
+ # Java macros
869
+ #
870
+
871
+ # Make sure any compiled classes work with at least JVM 1.4
872
+ JAVAC_FLAGS += -source 1.4
873
+
874
+ ifdef MOZ_DEBUG
875
+ JAVAC_FLAGS += -g
876
+ endif
877
+
878
+ ifdef TIERS
879
+ DIRS += $(foreach tier,$(TIERS),$(tier_$(tier)_dirs))
880
+ STATIC_DIRS += $(foreach tier,$(TIERS),$(tier_$(tier)_staticdirs))
881
+ endif