frida 16.2.1 → 16.2.2

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 (386) hide show
  1. package/BSDmakefile +6 -0
  2. package/Makefile +16 -0
  3. package/README.md +14 -11
  4. package/configure +18 -0
  5. package/configure.bat +22 -0
  6. package/dist/native.js +0 -8
  7. package/lib/application.ts +98 -0
  8. package/lib/authentication.ts +3 -0
  9. package/lib/build.py +50 -0
  10. package/lib/bus.ts +30 -0
  11. package/lib/cancellable.ts +33 -0
  12. package/lib/child.ts +15 -0
  13. package/lib/crash.ts +11 -0
  14. package/lib/device.ts +329 -0
  15. package/lib/device_manager.ts +69 -0
  16. package/lib/endpoint_parameters.ts +56 -0
  17. package/lib/icon.ts +15 -0
  18. package/lib/index.ts +311 -0
  19. package/lib/iostream.ts +78 -0
  20. package/lib/meson.build +53 -0
  21. package/lib/native.ts +9 -0
  22. package/lib/portal_membership.ts +10 -0
  23. package/lib/portal_service.ts +105 -0
  24. package/lib/process.ts +57 -0
  25. package/lib/relay.ts +44 -0
  26. package/lib/script.ts +352 -0
  27. package/lib/session.ts +113 -0
  28. package/lib/signals.ts +45 -0
  29. package/lib/socket_address.ts +35 -0
  30. package/lib/spawn.ts +4 -0
  31. package/lib/system_parameters.ts +78 -0
  32. package/make.bat +23 -0
  33. package/meson.build +160 -0
  34. package/meson.options +11 -0
  35. package/package.json +27 -6
  36. package/releng/deps.py +1133 -0
  37. package/releng/deps.toml +391 -0
  38. package/releng/devkit-assets/frida-core-example-unix.c +188 -0
  39. package/releng/devkit-assets/frida-core-example-windows.c +197 -0
  40. package/releng/devkit-assets/frida-core-example.sln +28 -0
  41. package/releng/devkit-assets/frida-core-example.vcxproj +157 -0
  42. package/releng/devkit-assets/frida-core-example.vcxproj.filters +27 -0
  43. package/releng/devkit-assets/frida-gum-example-unix.c +122 -0
  44. package/releng/devkit-assets/frida-gum-example-windows.c +132 -0
  45. package/releng/devkit-assets/frida-gum-example.sln +28 -0
  46. package/releng/devkit-assets/frida-gum-example.vcxproj +157 -0
  47. package/releng/devkit-assets/frida-gum-example.vcxproj.filters +27 -0
  48. package/releng/devkit-assets/frida-gumjs-example-unix.c +84 -0
  49. package/releng/devkit-assets/frida-gumjs-example-windows.c +91 -0
  50. package/releng/devkit-assets/frida-gumjs-example.sln +28 -0
  51. package/releng/devkit-assets/frida-gumjs-example.vcxproj +157 -0
  52. package/releng/devkit-assets/frida-gumjs-example.vcxproj.filters +27 -0
  53. package/releng/devkit.py +535 -0
  54. package/releng/env.py +420 -0
  55. package/releng/env_android.py +150 -0
  56. package/releng/env_apple.py +176 -0
  57. package/releng/env_generic.py +373 -0
  58. package/releng/frida_version.py +69 -0
  59. package/releng/machine_file.py +44 -0
  60. package/releng/machine_spec.py +290 -0
  61. package/releng/meson/meson.py +27 -0
  62. package/releng/meson/mesonbuild/__init__.py +0 -0
  63. package/releng/meson/mesonbuild/_pathlib.py +63 -0
  64. package/releng/meson/mesonbuild/_typing.py +69 -0
  65. package/releng/meson/mesonbuild/arglist.py +321 -0
  66. package/releng/meson/mesonbuild/ast/__init__.py +23 -0
  67. package/releng/meson/mesonbuild/ast/interpreter.py +441 -0
  68. package/releng/meson/mesonbuild/ast/introspection.py +374 -0
  69. package/releng/meson/mesonbuild/ast/postprocess.py +109 -0
  70. package/releng/meson/mesonbuild/ast/printer.py +620 -0
  71. package/releng/meson/mesonbuild/ast/visitor.py +161 -0
  72. package/releng/meson/mesonbuild/backend/__init__.py +0 -0
  73. package/releng/meson/mesonbuild/backend/backends.py +2047 -0
  74. package/releng/meson/mesonbuild/backend/ninjabackend.py +3808 -0
  75. package/releng/meson/mesonbuild/backend/nonebackend.py +26 -0
  76. package/releng/meson/mesonbuild/backend/vs2010backend.py +2078 -0
  77. package/releng/meson/mesonbuild/backend/vs2012backend.py +35 -0
  78. package/releng/meson/mesonbuild/backend/vs2013backend.py +34 -0
  79. package/releng/meson/mesonbuild/backend/vs2015backend.py +35 -0
  80. package/releng/meson/mesonbuild/backend/vs2017backend.py +59 -0
  81. package/releng/meson/mesonbuild/backend/vs2019backend.py +54 -0
  82. package/releng/meson/mesonbuild/backend/vs2022backend.py +54 -0
  83. package/releng/meson/mesonbuild/backend/xcodebackend.py +1781 -0
  84. package/releng/meson/mesonbuild/build.py +3249 -0
  85. package/releng/meson/mesonbuild/cargo/__init__.py +5 -0
  86. package/releng/meson/mesonbuild/cargo/builder.py +238 -0
  87. package/releng/meson/mesonbuild/cargo/cfg.py +274 -0
  88. package/releng/meson/mesonbuild/cargo/interpreter.py +733 -0
  89. package/releng/meson/mesonbuild/cargo/manifest.py +227 -0
  90. package/releng/meson/mesonbuild/cargo/version.py +95 -0
  91. package/releng/meson/mesonbuild/cmake/__init__.py +28 -0
  92. package/releng/meson/mesonbuild/cmake/common.py +331 -0
  93. package/releng/meson/mesonbuild/cmake/data/__init__.py +0 -0
  94. package/releng/meson/mesonbuild/cmake/data/preload.cmake +82 -0
  95. package/releng/meson/mesonbuild/cmake/executor.py +241 -0
  96. package/releng/meson/mesonbuild/cmake/fileapi.py +324 -0
  97. package/releng/meson/mesonbuild/cmake/generator.py +186 -0
  98. package/releng/meson/mesonbuild/cmake/interpreter.py +1267 -0
  99. package/releng/meson/mesonbuild/cmake/toolchain.py +248 -0
  100. package/releng/meson/mesonbuild/cmake/traceparser.py +814 -0
  101. package/releng/meson/mesonbuild/cmake/tracetargets.py +161 -0
  102. package/releng/meson/mesonbuild/compilers/__init__.py +86 -0
  103. package/releng/meson/mesonbuild/compilers/asm.py +307 -0
  104. package/releng/meson/mesonbuild/compilers/c.py +788 -0
  105. package/releng/meson/mesonbuild/compilers/c_function_attributes.py +143 -0
  106. package/releng/meson/mesonbuild/compilers/compilers.py +1388 -0
  107. package/releng/meson/mesonbuild/compilers/cpp.py +1035 -0
  108. package/releng/meson/mesonbuild/compilers/cs.py +136 -0
  109. package/releng/meson/mesonbuild/compilers/cuda.py +806 -0
  110. package/releng/meson/mesonbuild/compilers/cython.py +91 -0
  111. package/releng/meson/mesonbuild/compilers/d.py +861 -0
  112. package/releng/meson/mesonbuild/compilers/detect.py +1396 -0
  113. package/releng/meson/mesonbuild/compilers/fortran.py +523 -0
  114. package/releng/meson/mesonbuild/compilers/java.py +113 -0
  115. package/releng/meson/mesonbuild/compilers/mixins/__init__.py +0 -0
  116. package/releng/meson/mesonbuild/compilers/mixins/arm.py +167 -0
  117. package/releng/meson/mesonbuild/compilers/mixins/ccrx.py +113 -0
  118. package/releng/meson/mesonbuild/compilers/mixins/clang.py +170 -0
  119. package/releng/meson/mesonbuild/compilers/mixins/clike.py +1330 -0
  120. package/releng/meson/mesonbuild/compilers/mixins/compcert.py +117 -0
  121. package/releng/meson/mesonbuild/compilers/mixins/elbrus.py +93 -0
  122. package/releng/meson/mesonbuild/compilers/mixins/emscripten.py +89 -0
  123. package/releng/meson/mesonbuild/compilers/mixins/gnu.py +629 -0
  124. package/releng/meson/mesonbuild/compilers/mixins/intel.py +167 -0
  125. package/releng/meson/mesonbuild/compilers/mixins/islinker.py +120 -0
  126. package/releng/meson/mesonbuild/compilers/mixins/metrowerks.py +279 -0
  127. package/releng/meson/mesonbuild/compilers/mixins/pgi.py +88 -0
  128. package/releng/meson/mesonbuild/compilers/mixins/ti.py +130 -0
  129. package/releng/meson/mesonbuild/compilers/mixins/visualstudio.py +458 -0
  130. package/releng/meson/mesonbuild/compilers/mixins/xc16.py +111 -0
  131. package/releng/meson/mesonbuild/compilers/objc.py +120 -0
  132. package/releng/meson/mesonbuild/compilers/objcpp.py +102 -0
  133. package/releng/meson/mesonbuild/compilers/rust.py +230 -0
  134. package/releng/meson/mesonbuild/compilers/swift.py +131 -0
  135. package/releng/meson/mesonbuild/compilers/vala.py +121 -0
  136. package/releng/meson/mesonbuild/coredata.py +1532 -0
  137. package/releng/meson/mesonbuild/dependencies/__init__.py +252 -0
  138. package/releng/meson/mesonbuild/dependencies/base.py +663 -0
  139. package/releng/meson/mesonbuild/dependencies/boost.py +1083 -0
  140. package/releng/meson/mesonbuild/dependencies/cmake.py +656 -0
  141. package/releng/meson/mesonbuild/dependencies/coarrays.py +80 -0
  142. package/releng/meson/mesonbuild/dependencies/configtool.py +163 -0
  143. package/releng/meson/mesonbuild/dependencies/cuda.py +295 -0
  144. package/releng/meson/mesonbuild/dependencies/data/CMakeLists.txt +102 -0
  145. package/releng/meson/mesonbuild/dependencies/data/CMakeListsLLVM.txt +204 -0
  146. package/releng/meson/mesonbuild/dependencies/data/CMakePathInfo.txt +31 -0
  147. package/releng/meson/mesonbuild/dependencies/data/__init__.py +0 -0
  148. package/releng/meson/mesonbuild/dependencies/detect.py +225 -0
  149. package/releng/meson/mesonbuild/dependencies/dev.py +707 -0
  150. package/releng/meson/mesonbuild/dependencies/dub.py +424 -0
  151. package/releng/meson/mesonbuild/dependencies/factory.py +146 -0
  152. package/releng/meson/mesonbuild/dependencies/framework.py +111 -0
  153. package/releng/meson/mesonbuild/dependencies/hdf5.py +168 -0
  154. package/releng/meson/mesonbuild/dependencies/misc.py +618 -0
  155. package/releng/meson/mesonbuild/dependencies/mpi.py +231 -0
  156. package/releng/meson/mesonbuild/dependencies/pkgconfig.py +570 -0
  157. package/releng/meson/mesonbuild/dependencies/platform.py +52 -0
  158. package/releng/meson/mesonbuild/dependencies/python.py +431 -0
  159. package/releng/meson/mesonbuild/dependencies/qt.py +484 -0
  160. package/releng/meson/mesonbuild/dependencies/scalapack.py +142 -0
  161. package/releng/meson/mesonbuild/dependencies/ui.py +281 -0
  162. package/releng/meson/mesonbuild/depfile.py +82 -0
  163. package/releng/meson/mesonbuild/envconfig.py +480 -0
  164. package/releng/meson/mesonbuild/environment.py +987 -0
  165. package/releng/meson/mesonbuild/interpreter/__init__.py +47 -0
  166. package/releng/meson/mesonbuild/interpreter/compiler.py +900 -0
  167. package/releng/meson/mesonbuild/interpreter/dependencyfallbacks.py +386 -0
  168. package/releng/meson/mesonbuild/interpreter/interpreter.py +3595 -0
  169. package/releng/meson/mesonbuild/interpreter/interpreterobjects.py +1096 -0
  170. package/releng/meson/mesonbuild/interpreter/kwargs.py +479 -0
  171. package/releng/meson/mesonbuild/interpreter/mesonmain.py +487 -0
  172. package/releng/meson/mesonbuild/interpreter/primitives/__init__.py +29 -0
  173. package/releng/meson/mesonbuild/interpreter/primitives/array.py +108 -0
  174. package/releng/meson/mesonbuild/interpreter/primitives/boolean.py +52 -0
  175. package/releng/meson/mesonbuild/interpreter/primitives/dict.py +88 -0
  176. package/releng/meson/mesonbuild/interpreter/primitives/integer.py +86 -0
  177. package/releng/meson/mesonbuild/interpreter/primitives/range.py +38 -0
  178. package/releng/meson/mesonbuild/interpreter/primitives/string.py +247 -0
  179. package/releng/meson/mesonbuild/interpreter/type_checking.py +853 -0
  180. package/releng/meson/mesonbuild/interpreterbase/__init__.py +126 -0
  181. package/releng/meson/mesonbuild/interpreterbase/_unholder.py +25 -0
  182. package/releng/meson/mesonbuild/interpreterbase/baseobjects.py +174 -0
  183. package/releng/meson/mesonbuild/interpreterbase/decorators.py +806 -0
  184. package/releng/meson/mesonbuild/interpreterbase/disabler.py +35 -0
  185. package/releng/meson/mesonbuild/interpreterbase/exceptions.py +22 -0
  186. package/releng/meson/mesonbuild/interpreterbase/helpers.py +67 -0
  187. package/releng/meson/mesonbuild/interpreterbase/interpreterbase.py +665 -0
  188. package/releng/meson/mesonbuild/interpreterbase/operator.py +32 -0
  189. package/releng/meson/mesonbuild/linkers/__init__.py +20 -0
  190. package/releng/meson/mesonbuild/linkers/base.py +39 -0
  191. package/releng/meson/mesonbuild/linkers/detect.py +229 -0
  192. package/releng/meson/mesonbuild/linkers/linkers.py +1614 -0
  193. package/releng/meson/mesonbuild/mcompile.py +380 -0
  194. package/releng/meson/mesonbuild/mconf.py +368 -0
  195. package/releng/meson/mesonbuild/mdevenv.py +234 -0
  196. package/releng/meson/mesonbuild/mdist.py +376 -0
  197. package/releng/meson/mesonbuild/mesondata.py +38 -0
  198. package/releng/meson/mesonbuild/mesonlib.py +23 -0
  199. package/releng/meson/mesonbuild/mesonmain.py +289 -0
  200. package/releng/meson/mesonbuild/minit.py +204 -0
  201. package/releng/meson/mesonbuild/minstall.py +864 -0
  202. package/releng/meson/mesonbuild/mintro.py +667 -0
  203. package/releng/meson/mesonbuild/mlog.py +542 -0
  204. package/releng/meson/mesonbuild/modules/__init__.py +270 -0
  205. package/releng/meson/mesonbuild/modules/cmake.py +442 -0
  206. package/releng/meson/mesonbuild/modules/cuda.py +377 -0
  207. package/releng/meson/mesonbuild/modules/dlang.py +117 -0
  208. package/releng/meson/mesonbuild/modules/external_project.py +306 -0
  209. package/releng/meson/mesonbuild/modules/fs.py +323 -0
  210. package/releng/meson/mesonbuild/modules/gnome.py +2215 -0
  211. package/releng/meson/mesonbuild/modules/hotdoc.py +487 -0
  212. package/releng/meson/mesonbuild/modules/i18n.py +405 -0
  213. package/releng/meson/mesonbuild/modules/icestorm.py +123 -0
  214. package/releng/meson/mesonbuild/modules/java.py +112 -0
  215. package/releng/meson/mesonbuild/modules/keyval.py +65 -0
  216. package/releng/meson/mesonbuild/modules/modtest.py +33 -0
  217. package/releng/meson/mesonbuild/modules/pkgconfig.py +744 -0
  218. package/releng/meson/mesonbuild/modules/python.py +556 -0
  219. package/releng/meson/mesonbuild/modules/python3.py +85 -0
  220. package/releng/meson/mesonbuild/modules/qt.py +621 -0
  221. package/releng/meson/mesonbuild/modules/qt4.py +23 -0
  222. package/releng/meson/mesonbuild/modules/qt5.py +23 -0
  223. package/releng/meson/mesonbuild/modules/qt6.py +22 -0
  224. package/releng/meson/mesonbuild/modules/rust.py +355 -0
  225. package/releng/meson/mesonbuild/modules/simd.py +114 -0
  226. package/releng/meson/mesonbuild/modules/sourceset.py +291 -0
  227. package/releng/meson/mesonbuild/modules/wayland.py +151 -0
  228. package/releng/meson/mesonbuild/modules/windows.py +207 -0
  229. package/releng/meson/mesonbuild/mparser.py +1114 -0
  230. package/releng/meson/mesonbuild/msetup.py +365 -0
  231. package/releng/meson/mesonbuild/msubprojects.py +764 -0
  232. package/releng/meson/mesonbuild/mtest.py +2201 -0
  233. package/releng/meson/mesonbuild/munstable_coredata.py +107 -0
  234. package/releng/meson/mesonbuild/optinterpreter.py +276 -0
  235. package/releng/meson/mesonbuild/programs.py +367 -0
  236. package/releng/meson/mesonbuild/rewriter.py +1075 -0
  237. package/releng/meson/mesonbuild/scripts/__init__.py +10 -0
  238. package/releng/meson/mesonbuild/scripts/clangformat.py +55 -0
  239. package/releng/meson/mesonbuild/scripts/clangtidy.py +30 -0
  240. package/releng/meson/mesonbuild/scripts/cleantrees.py +35 -0
  241. package/releng/meson/mesonbuild/scripts/cmake_run_ctgt.py +103 -0
  242. package/releng/meson/mesonbuild/scripts/cmd_or_ps.ps1 +17 -0
  243. package/releng/meson/mesonbuild/scripts/copy.py +19 -0
  244. package/releng/meson/mesonbuild/scripts/coverage.py +214 -0
  245. package/releng/meson/mesonbuild/scripts/delwithsuffix.py +27 -0
  246. package/releng/meson/mesonbuild/scripts/depfixer.py +495 -0
  247. package/releng/meson/mesonbuild/scripts/depscan.py +198 -0
  248. package/releng/meson/mesonbuild/scripts/dirchanger.py +20 -0
  249. package/releng/meson/mesonbuild/scripts/env2mfile.py +402 -0
  250. package/releng/meson/mesonbuild/scripts/externalproject.py +106 -0
  251. package/releng/meson/mesonbuild/scripts/gettext.py +86 -0
  252. package/releng/meson/mesonbuild/scripts/gtkdochelper.py +286 -0
  253. package/releng/meson/mesonbuild/scripts/hotdochelper.py +40 -0
  254. package/releng/meson/mesonbuild/scripts/itstool.py +77 -0
  255. package/releng/meson/mesonbuild/scripts/meson_exe.py +115 -0
  256. package/releng/meson/mesonbuild/scripts/msgfmthelper.py +29 -0
  257. package/releng/meson/mesonbuild/scripts/pycompile.py +54 -0
  258. package/releng/meson/mesonbuild/scripts/python_info.py +121 -0
  259. package/releng/meson/mesonbuild/scripts/regen_checker.py +55 -0
  260. package/releng/meson/mesonbuild/scripts/run_tool.py +58 -0
  261. package/releng/meson/mesonbuild/scripts/scanbuild.py +57 -0
  262. package/releng/meson/mesonbuild/scripts/symbolextractor.py +322 -0
  263. package/releng/meson/mesonbuild/scripts/tags.py +44 -0
  264. package/releng/meson/mesonbuild/scripts/test_loaded_modules.py +14 -0
  265. package/releng/meson/mesonbuild/scripts/uninstall.py +41 -0
  266. package/releng/meson/mesonbuild/scripts/vcstagger.py +35 -0
  267. package/releng/meson/mesonbuild/scripts/yasm.py +24 -0
  268. package/releng/meson/mesonbuild/templates/__init__.py +0 -0
  269. package/releng/meson/mesonbuild/templates/cpptemplates.py +143 -0
  270. package/releng/meson/mesonbuild/templates/cstemplates.py +90 -0
  271. package/releng/meson/mesonbuild/templates/ctemplates.py +126 -0
  272. package/releng/meson/mesonbuild/templates/cudatemplates.py +143 -0
  273. package/releng/meson/mesonbuild/templates/dlangtemplates.py +109 -0
  274. package/releng/meson/mesonbuild/templates/fortrantemplates.py +101 -0
  275. package/releng/meson/mesonbuild/templates/javatemplates.py +94 -0
  276. package/releng/meson/mesonbuild/templates/mesontemplates.py +70 -0
  277. package/releng/meson/mesonbuild/templates/objcpptemplates.py +126 -0
  278. package/releng/meson/mesonbuild/templates/objctemplates.py +126 -0
  279. package/releng/meson/mesonbuild/templates/rusttemplates.py +79 -0
  280. package/releng/meson/mesonbuild/templates/samplefactory.py +41 -0
  281. package/releng/meson/mesonbuild/templates/sampleimpl.py +160 -0
  282. package/releng/meson/mesonbuild/templates/valatemplates.py +82 -0
  283. package/releng/meson/mesonbuild/utils/__init__.py +0 -0
  284. package/releng/meson/mesonbuild/utils/core.py +166 -0
  285. package/releng/meson/mesonbuild/utils/platform.py +27 -0
  286. package/releng/meson/mesonbuild/utils/posix.py +32 -0
  287. package/releng/meson/mesonbuild/utils/universal.py +2445 -0
  288. package/releng/meson/mesonbuild/utils/vsenv.py +126 -0
  289. package/releng/meson/mesonbuild/utils/win32.py +29 -0
  290. package/releng/meson/mesonbuild/wrap/__init__.py +59 -0
  291. package/releng/meson/mesonbuild/wrap/wrap.py +846 -0
  292. package/releng/meson/mesonbuild/wrap/wraptool.py +198 -0
  293. package/releng/meson-scripts/BSDmakefile +6 -0
  294. package/releng/meson-scripts/Makefile +16 -0
  295. package/releng/meson-scripts/configure +18 -0
  296. package/releng/meson-scripts/configure.bat +22 -0
  297. package/releng/meson-scripts/make.bat +23 -0
  298. package/releng/meson_configure.py +506 -0
  299. package/releng/meson_make.py +131 -0
  300. package/releng/mkdevkit.py +107 -0
  301. package/releng/mkfatmacho.py +54 -0
  302. package/releng/post-process-oabi.py +97 -0
  303. package/releng/progress.py +14 -0
  304. package/releng/sync-from-upstream.py +185 -0
  305. package/releng/tomlkit/tomlkit/__init__.py +59 -0
  306. package/releng/tomlkit/tomlkit/_compat.py +22 -0
  307. package/releng/tomlkit/tomlkit/_types.py +83 -0
  308. package/releng/tomlkit/tomlkit/_utils.py +158 -0
  309. package/releng/tomlkit/tomlkit/api.py +308 -0
  310. package/releng/tomlkit/tomlkit/container.py +875 -0
  311. package/releng/tomlkit/tomlkit/exceptions.py +227 -0
  312. package/releng/tomlkit/tomlkit/items.py +1967 -0
  313. package/releng/tomlkit/tomlkit/parser.py +1141 -0
  314. package/releng/tomlkit/tomlkit/py.typed +0 -0
  315. package/releng/tomlkit/tomlkit/source.py +180 -0
  316. package/releng/tomlkit/tomlkit/toml_char.py +52 -0
  317. package/releng/tomlkit/tomlkit/toml_document.py +7 -0
  318. package/releng/tomlkit/tomlkit/toml_file.py +58 -0
  319. package/releng/winenv.py +140 -0
  320. package/scripts/adjust-version.py +19 -0
  321. package/scripts/detect-version.py +40 -0
  322. package/scripts/fetch-abi-bits.py +343 -0
  323. package/scripts/install.js +23 -0
  324. package/scripts/package.py +15 -0
  325. package/src/addon.cc +76 -0
  326. package/src/application.cc +148 -0
  327. package/src/application.h +31 -0
  328. package/src/authentication.cc +174 -0
  329. package/src/authentication.h +24 -0
  330. package/src/bus.cc +167 -0
  331. package/src/bus.h +33 -0
  332. package/src/cancellable.cc +117 -0
  333. package/src/cancellable.h +31 -0
  334. package/src/child.cc +150 -0
  335. package/src/child.h +32 -0
  336. package/src/crash.cc +122 -0
  337. package/src/crash.h +30 -0
  338. package/src/device.cc +1302 -0
  339. package/src/device.h +55 -0
  340. package/src/device_manager.cc +362 -0
  341. package/src/device_manager.h +35 -0
  342. package/src/endpoint_parameters.cc +171 -0
  343. package/src/endpoint_parameters.h +28 -0
  344. package/src/glib_context.cc +62 -0
  345. package/src/glib_context.h +29 -0
  346. package/src/glib_object.cc +25 -0
  347. package/src/glib_object.h +37 -0
  348. package/src/iostream.cc +247 -0
  349. package/src/iostream.h +30 -0
  350. package/src/meson.build +26 -0
  351. package/src/operation.h +94 -0
  352. package/src/portal_membership.cc +100 -0
  353. package/src/portal_membership.h +26 -0
  354. package/src/portal_service.cc +401 -0
  355. package/src/portal_service.h +40 -0
  356. package/src/process.cc +135 -0
  357. package/src/process.h +30 -0
  358. package/src/relay.cc +139 -0
  359. package/src/relay.h +31 -0
  360. package/src/runtime.cc +443 -0
  361. package/src/runtime.h +64 -0
  362. package/src/script.cc +301 -0
  363. package/src/script.h +36 -0
  364. package/src/session.cc +860 -0
  365. package/src/session.h +42 -0
  366. package/src/signals.cc +334 -0
  367. package/src/signals.h +47 -0
  368. package/src/spawn.cc +95 -0
  369. package/src/spawn.h +27 -0
  370. package/src/usage_monitor.h +117 -0
  371. package/src/uv_context.cc +118 -0
  372. package/src/uv_context.h +40 -0
  373. package/src/win_delay_load_hook.cc +63 -0
  374. package/subprojects/frida-core.wrap +8 -0
  375. package/subprojects/nan.wrap +9 -0
  376. package/subprojects/packagefiles/nan.patch +13 -0
  377. package/test/data/index.ts +13 -0
  378. package/test/data/unixvictim-linux-x86 +0 -0
  379. package/test/data/unixvictim-linux-x86_64 +0 -0
  380. package/test/data/unixvictim-macos +0 -0
  381. package/test/device.ts +27 -0
  382. package/test/device_manager.ts +16 -0
  383. package/test/labrat.ts +32 -0
  384. package/test/script.ts +176 -0
  385. package/test/session.ts +73 -0
  386. package/tsconfig.json +18 -0
@@ -0,0 +1,41 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ # Copyright 2016 The Meson development team
3
+
4
+ from __future__ import annotations
5
+
6
+ import os
7
+ import typing as T
8
+
9
+ logfile = 'meson-logs/install-log.txt'
10
+
11
+ def do_uninstall(log: str) -> None:
12
+ failures = 0
13
+ successes = 0
14
+ for line in open(log, encoding='utf-8'):
15
+ if line.startswith('#'):
16
+ continue
17
+ fname = line.strip()
18
+ try:
19
+ if os.path.isdir(fname) and not os.path.islink(fname):
20
+ os.rmdir(fname)
21
+ else:
22
+ os.unlink(fname)
23
+ print('Deleted:', fname)
24
+ successes += 1
25
+ except Exception as e:
26
+ print(f'Could not delete {fname}: {e}.')
27
+ failures += 1
28
+ print('\nUninstall finished.\n')
29
+ print('Deleted:', successes)
30
+ print('Failed:', failures)
31
+ print('\nRemember that files created by custom scripts have not been removed.')
32
+
33
+ def run(args: T.List[str]) -> int:
34
+ if args:
35
+ print('Weird error.')
36
+ return 1
37
+ if not os.path.exists(logfile):
38
+ print('Log file does not exist, no installation has been done.')
39
+ return 0
40
+ do_uninstall(logfile)
41
+ return 0
@@ -0,0 +1,35 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ # Copyright 2015-2016 The Meson development team
3
+
4
+ from __future__ import annotations
5
+
6
+ import sys, os, subprocess, re
7
+ import typing as T
8
+
9
+ def config_vcs_tag(infile: str, outfile: str, fallback: str, source_dir: str, replace_string: str, regex_selector: str, cmd: T.List[str]) -> None:
10
+ try:
11
+ output = subprocess.check_output(cmd, cwd=source_dir)
12
+ new_string = re.search(regex_selector, output.decode()).group(1).strip()
13
+ except Exception:
14
+ new_string = fallback
15
+
16
+ with open(infile, encoding='utf-8') as f:
17
+ new_data = f.read().replace(replace_string, new_string)
18
+ if os.path.exists(outfile):
19
+ with open(outfile, encoding='utf-8') as f:
20
+ needs_update = f.read() != new_data
21
+ else:
22
+ needs_update = True
23
+ if needs_update:
24
+ with open(outfile, 'w', encoding='utf-8') as f:
25
+ f.write(new_data)
26
+
27
+
28
+ def run(args: T.List[str]) -> int:
29
+ infile, outfile, fallback, source_dir, replace_string, regex_selector = args[0:6]
30
+ command = args[6:]
31
+ config_vcs_tag(infile, outfile, fallback, source_dir, replace_string, regex_selector, command)
32
+ return 0
33
+
34
+ if __name__ == '__main__':
35
+ sys.exit(run(sys.argv[1:]))
@@ -0,0 +1,24 @@
1
+ from __future__ import annotations
2
+
3
+ import argparse
4
+ import subprocess
5
+ import typing as T
6
+
7
+ def run(args: T.List[str]) -> int:
8
+ parser = argparse.ArgumentParser()
9
+ parser.add_argument('--depfile')
10
+ options, yasm_cmd = parser.parse_known_args(args)
11
+
12
+ # Compile
13
+ returncode = subprocess.call(yasm_cmd)
14
+ if returncode != 0:
15
+ return returncode
16
+
17
+ # Capture and write depfile
18
+ ret = subprocess.run(yasm_cmd + ['-M'], capture_output=True)
19
+ if ret.returncode != 0:
20
+ return ret.returncode
21
+ with open(options.depfile, 'wb') as f:
22
+ f.write(ret.stdout)
23
+
24
+ return 0
File without changes
@@ -0,0 +1,143 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ # Copyright 2019 The Meson development team
3
+
4
+ from __future__ import annotations
5
+
6
+ from mesonbuild.templates.sampleimpl import FileHeaderImpl
7
+
8
+
9
+ hello_cpp_template = '''#include <iostream>
10
+
11
+ #define PROJECT_NAME "{project_name}"
12
+
13
+ int main(int argc, char **argv) {{
14
+ if(argc != 1) {{
15
+ std::cout << argv[0] << "takes no arguments.\\n";
16
+ return 1;
17
+ }}
18
+ std::cout << "This is project " << PROJECT_NAME << ".\\n";
19
+ return 0;
20
+ }}
21
+ '''
22
+
23
+ hello_cpp_meson_template = '''project('{project_name}', 'cpp',
24
+ version : '{version}',
25
+ default_options : ['warning_level=3',
26
+ 'cpp_std=c++14'])
27
+
28
+ exe = executable('{exe_name}', '{source_name}',
29
+ install : true)
30
+
31
+ test('basic', exe)
32
+ '''
33
+
34
+ lib_hpp_template = '''#pragma once
35
+ #if defined _WIN32 || defined __CYGWIN__
36
+ #ifdef BUILDING_{utoken}
37
+ #define {utoken}_PUBLIC __declspec(dllexport)
38
+ #else
39
+ #define {utoken}_PUBLIC __declspec(dllimport)
40
+ #endif
41
+ #else
42
+ #ifdef BUILDING_{utoken}
43
+ #define {utoken}_PUBLIC __attribute__ ((visibility ("default")))
44
+ #else
45
+ #define {utoken}_PUBLIC
46
+ #endif
47
+ #endif
48
+
49
+ namespace {namespace} {{
50
+
51
+ class {utoken}_PUBLIC {class_name} {{
52
+
53
+ public:
54
+ {class_name}();
55
+ int get_number() const;
56
+
57
+ private:
58
+
59
+ int number;
60
+
61
+ }};
62
+
63
+ }}
64
+
65
+ '''
66
+
67
+ lib_cpp_template = '''#include <{header_file}>
68
+
69
+ namespace {namespace} {{
70
+
71
+ {class_name}::{class_name}() {{
72
+ number = 6;
73
+ }}
74
+
75
+ int {class_name}::get_number() const {{
76
+ return number;
77
+ }}
78
+
79
+ }}
80
+ '''
81
+
82
+ lib_cpp_test_template = '''#include <{header_file}>
83
+ #include <iostream>
84
+
85
+ int main(int argc, char **argv) {{
86
+ if(argc != 1) {{
87
+ std::cout << argv[0] << " takes no arguments.\\n";
88
+ return 1;
89
+ }}
90
+ {namespace}::{class_name} c;
91
+ return c.get_number() != 6;
92
+ }}
93
+ '''
94
+
95
+ lib_cpp_meson_template = '''project('{project_name}', 'cpp',
96
+ version : '{version}',
97
+ default_options : ['warning_level=3', 'cpp_std=c++14'])
98
+
99
+ # These arguments are only used to build the shared library
100
+ # not the executables that use the library.
101
+ lib_args = ['-DBUILDING_{utoken}']
102
+
103
+ shlib = shared_library('{lib_name}', '{source_file}',
104
+ install : true,
105
+ cpp_args : lib_args,
106
+ gnu_symbol_visibility : 'hidden',
107
+ )
108
+
109
+ test_exe = executable('{test_exe_name}', '{test_source_file}',
110
+ link_with : shlib)
111
+ test('{test_name}', test_exe)
112
+
113
+ # Make this library usable as a Meson subproject.
114
+ {ltoken}_dep = declare_dependency(
115
+ include_directories: include_directories('.'),
116
+ link_with : shlib)
117
+
118
+ # Make this library usable from the system's
119
+ # package manager.
120
+ install_headers('{header_file}', subdir : '{header_dir}')
121
+
122
+ pkg_mod = import('pkgconfig')
123
+ pkg_mod.generate(
124
+ name : '{project_name}',
125
+ filebase : '{ltoken}',
126
+ description : 'Meson sample project.',
127
+ subdirs : '{header_dir}',
128
+ libraries : shlib,
129
+ version : '{version}',
130
+ )
131
+ '''
132
+
133
+
134
+ class CppProject(FileHeaderImpl):
135
+
136
+ source_ext = 'cpp'
137
+ header_ext = 'hpp'
138
+ exe_template = hello_cpp_template
139
+ exe_meson_template = hello_cpp_meson_template
140
+ lib_template = lib_cpp_template
141
+ lib_header_template = lib_hpp_template
142
+ lib_test_template = lib_cpp_test_template
143
+ lib_meson_template = lib_cpp_meson_template
@@ -0,0 +1,90 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ # Copyright 2019 The Meson development team
3
+
4
+ from __future__ import annotations
5
+
6
+ from mesonbuild.templates.sampleimpl import ClassImpl
7
+
8
+
9
+ hello_cs_template = '''using System;
10
+
11
+ public class {class_name} {{
12
+ const String PROJECT_NAME = "{project_name}";
13
+
14
+ static int Main(String[] args) {{
15
+ if (args.Length > 0) {{
16
+ System.Console.WriteLine(String.Format("{project_name} takes no arguments.."));
17
+ return 1;
18
+ }}
19
+ Console.WriteLine(String.Format("This is project {{0}}.", PROJECT_NAME));
20
+ return 0;
21
+ }}
22
+ }}
23
+
24
+ '''
25
+
26
+ hello_cs_meson_template = '''project('{project_name}', 'cs',
27
+ version : '{version}',
28
+ default_options : ['warning_level=3'])
29
+
30
+ exe = executable('{exe_name}', '{source_name}',
31
+ install : true)
32
+
33
+ test('basic', exe)
34
+ '''
35
+
36
+ lib_cs_template = '''
37
+ public class {class_name} {{
38
+ private const int number = 6;
39
+
40
+ public int get_number() {{
41
+ return number;
42
+ }}
43
+ }}
44
+
45
+ '''
46
+
47
+ lib_cs_test_template = '''using System;
48
+
49
+ public class {class_test} {{
50
+ static int Main(String[] args) {{
51
+ if (args.Length > 0) {{
52
+ System.Console.WriteLine("{project_name} takes no arguments..");
53
+ return 1;
54
+ }}
55
+ {class_name} c = new {class_name}();
56
+ Boolean result = true;
57
+ return result.CompareTo(c.get_number() != 6);
58
+ }}
59
+ }}
60
+
61
+ '''
62
+
63
+ lib_cs_meson_template = '''project('{project_name}', 'cs',
64
+ version : '{version}',
65
+ default_options : ['warning_level=3'])
66
+
67
+ stlib = shared_library('{lib_name}', '{source_file}',
68
+ install : true,
69
+ )
70
+
71
+ test_exe = executable('{test_exe_name}', '{test_source_file}',
72
+ link_with : stlib)
73
+ test('{test_name}', test_exe)
74
+
75
+ # Make this library usable as a Meson subproject.
76
+ {ltoken}_dep = declare_dependency(
77
+ include_directories: include_directories('.'),
78
+ link_with : stlib)
79
+
80
+ '''
81
+
82
+
83
+ class CSharpProject(ClassImpl):
84
+
85
+ source_ext = 'cs'
86
+ exe_template = hello_cs_template
87
+ exe_meson_template = hello_cs_meson_template
88
+ lib_template = lib_cs_template
89
+ lib_test_template = lib_cs_test_template
90
+ lib_meson_template = lib_cs_meson_template
@@ -0,0 +1,126 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ # Copyright 2019 The Meson development team
3
+
4
+ from __future__ import annotations
5
+
6
+ from mesonbuild.templates.sampleimpl import FileHeaderImpl
7
+
8
+
9
+ lib_h_template = '''#pragma once
10
+ #if defined _WIN32 || defined __CYGWIN__
11
+ #ifdef BUILDING_{utoken}
12
+ #define {utoken}_PUBLIC __declspec(dllexport)
13
+ #else
14
+ #define {utoken}_PUBLIC __declspec(dllimport)
15
+ #endif
16
+ #else
17
+ #ifdef BUILDING_{utoken}
18
+ #define {utoken}_PUBLIC __attribute__ ((visibility ("default")))
19
+ #else
20
+ #define {utoken}_PUBLIC
21
+ #endif
22
+ #endif
23
+
24
+ int {utoken}_PUBLIC {function_name}();
25
+
26
+ '''
27
+
28
+ lib_c_template = '''#include <{header_file}>
29
+
30
+ /* This function will not be exported and is not
31
+ * directly callable by users of this library.
32
+ */
33
+ int internal_function() {{
34
+ return 0;
35
+ }}
36
+
37
+ int {function_name}() {{
38
+ return internal_function();
39
+ }}
40
+ '''
41
+
42
+ lib_c_test_template = '''#include <{header_file}>
43
+ #include <stdio.h>
44
+
45
+ int main(int argc, char **argv) {{
46
+ if(argc != 1) {{
47
+ printf("%s takes no arguments.\\n", argv[0]);
48
+ return 1;
49
+ }}
50
+ return {function_name}();
51
+ }}
52
+ '''
53
+
54
+ lib_c_meson_template = '''project('{project_name}', 'c',
55
+ version : '{version}',
56
+ default_options : ['warning_level=3'])
57
+
58
+ # These arguments are only used to build the shared library
59
+ # not the executables that use the library.
60
+ lib_args = ['-DBUILDING_{utoken}']
61
+
62
+ shlib = shared_library('{lib_name}', '{source_file}',
63
+ install : true,
64
+ c_args : lib_args,
65
+ gnu_symbol_visibility : 'hidden',
66
+ )
67
+
68
+ test_exe = executable('{test_exe_name}', '{test_source_file}',
69
+ link_with : shlib)
70
+ test('{test_name}', test_exe)
71
+
72
+ # Make this library usable as a Meson subproject.
73
+ {ltoken}_dep = declare_dependency(
74
+ include_directories: include_directories('.'),
75
+ link_with : shlib)
76
+
77
+ # Make this library usable from the system's
78
+ # package manager.
79
+ install_headers('{header_file}', subdir : '{header_dir}')
80
+
81
+ pkg_mod = import('pkgconfig')
82
+ pkg_mod.generate(
83
+ name : '{project_name}',
84
+ filebase : '{ltoken}',
85
+ description : 'Meson sample project.',
86
+ subdirs : '{header_dir}',
87
+ libraries : shlib,
88
+ version : '{version}',
89
+ )
90
+ '''
91
+
92
+ hello_c_template = '''#include <stdio.h>
93
+
94
+ #define PROJECT_NAME "{project_name}"
95
+
96
+ int main(int argc, char **argv) {{
97
+ if(argc != 1) {{
98
+ printf("%s takes no arguments.\\n", argv[0]);
99
+ return 1;
100
+ }}
101
+ printf("This is project %s.\\n", PROJECT_NAME);
102
+ return 0;
103
+ }}
104
+ '''
105
+
106
+ hello_c_meson_template = '''project('{project_name}', 'c',
107
+ version : '{version}',
108
+ default_options : ['warning_level=3'])
109
+
110
+ exe = executable('{exe_name}', '{source_name}',
111
+ install : true)
112
+
113
+ test('basic', exe)
114
+ '''
115
+
116
+
117
+ class CProject(FileHeaderImpl):
118
+
119
+ source_ext = 'c'
120
+ header_ext = 'h'
121
+ exe_template = hello_c_template
122
+ exe_meson_template = hello_c_meson_template
123
+ lib_template = lib_c_template
124
+ lib_header_template = lib_h_template
125
+ lib_test_template = lib_c_test_template
126
+ lib_meson_template = lib_c_meson_template
@@ -0,0 +1,143 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ # Copyright 2019 The Meson development team
3
+
4
+ from __future__ import annotations
5
+
6
+ from mesonbuild.templates.sampleimpl import FileHeaderImpl
7
+
8
+
9
+ hello_cuda_template = '''#include <iostream>
10
+
11
+ #define PROJECT_NAME "{project_name}"
12
+
13
+ int main(int argc, char **argv) {{
14
+ if(argc != 1) {{
15
+ std::cout << argv[0] << " takes no arguments.\\n";
16
+ return 1;
17
+ }}
18
+ std::cout << "This is project " << PROJECT_NAME << ".\\n";
19
+ return 0;
20
+ }}
21
+ '''
22
+
23
+ hello_cuda_meson_template = '''project('{project_name}', ['cuda', 'cpp'],
24
+ version : '{version}',
25
+ default_options : ['warning_level=3',
26
+ 'cpp_std=c++14'])
27
+
28
+ exe = executable('{exe_name}', '{source_name}',
29
+ install : true)
30
+
31
+ test('basic', exe)
32
+ '''
33
+
34
+ lib_h_template = '''#pragma once
35
+ #if defined _WIN32 || defined __CYGWIN__
36
+ #ifdef BUILDING_{utoken}
37
+ #define {utoken}_PUBLIC __declspec(dllexport)
38
+ #else
39
+ #define {utoken}_PUBLIC __declspec(dllimport)
40
+ #endif
41
+ #else
42
+ #ifdef BUILDING_{utoken}
43
+ #define {utoken}_PUBLIC __attribute__ ((visibility ("default")))
44
+ #else
45
+ #define {utoken}_PUBLIC
46
+ #endif
47
+ #endif
48
+
49
+ namespace {namespace} {{
50
+
51
+ class {utoken}_PUBLIC {class_name} {{
52
+
53
+ public:
54
+ {class_name}();
55
+ int get_number() const;
56
+
57
+ private:
58
+
59
+ int number;
60
+
61
+ }};
62
+
63
+ }}
64
+
65
+ '''
66
+
67
+ lib_cuda_template = '''#include <{header_file}>
68
+
69
+ namespace {namespace} {{
70
+
71
+ {class_name}::{class_name}() {{
72
+ number = 6;
73
+ }}
74
+
75
+ int {class_name}::get_number() const {{
76
+ return number;
77
+ }}
78
+
79
+ }}
80
+ '''
81
+
82
+ lib_cuda_test_template = '''#include <{header_file}>
83
+ #include <iostream>
84
+
85
+ int main(int argc, char **argv) {{
86
+ if(argc != 1) {{
87
+ std::cout << argv[0] << " takes no arguments.\\n";
88
+ return 1;
89
+ }}
90
+ {namespace}::{class_name} c;
91
+ return c.get_number() != 6;
92
+ }}
93
+ '''
94
+
95
+ lib_cuda_meson_template = '''project('{project_name}', ['cuda', 'cpp'],
96
+ version : '{version}',
97
+ default_options : ['warning_level=3'])
98
+
99
+ # These arguments are only used to build the shared library
100
+ # not the executables that use the library.
101
+ lib_args = ['-DBUILDING_{utoken}']
102
+
103
+ shlib = shared_library('{lib_name}', '{source_file}',
104
+ install : true,
105
+ cpp_args : lib_args,
106
+ gnu_symbol_visibility : 'hidden',
107
+ )
108
+
109
+ test_exe = executable('{test_exe_name}', '{test_source_file}',
110
+ link_with : shlib)
111
+ test('{test_name}', test_exe)
112
+
113
+ # Make this library usable as a Meson subproject.
114
+ {ltoken}_dep = declare_dependency(
115
+ include_directories: include_directories('.'),
116
+ link_with : shlib)
117
+
118
+ # Make this library usable from the system's
119
+ # package manager.
120
+ install_headers('{header_file}', subdir : '{header_dir}')
121
+
122
+ pkg_mod = import('pkgconfig')
123
+ pkg_mod.generate(
124
+ name : '{project_name}',
125
+ filebase : '{ltoken}',
126
+ description : 'Meson sample project.',
127
+ subdirs : '{header_dir}',
128
+ libraries : shlib,
129
+ version : '{version}',
130
+ )
131
+ '''
132
+
133
+
134
+ class CudaProject(FileHeaderImpl):
135
+
136
+ source_ext = 'cu'
137
+ header_ext = 'h'
138
+ exe_template = hello_cuda_template
139
+ exe_meson_template = hello_cuda_meson_template
140
+ lib_template = lib_cuda_template
141
+ lib_header_template = lib_h_template
142
+ lib_test_template = lib_cuda_test_template
143
+ lib_meson_template = lib_cuda_meson_template