tree: c00055880849faf297df45515e479678af9340db [path history] [tgz]
  1. c/
  2. cpp/
  3. dart/
  4. gles2/
  5. go/
  6. interfaces/
  7. java/
  8. js/
  9. platform/
  10. python/
  11. sky/
  12. tests/
  13. tools/
  14. BUILD.gn
  15. DEPS
  16. mojo.gni
  17. mojo_application_bindings.target.darwin-arm.mk
  18. mojo_application_bindings.target.darwin-arm64.mk
  19. mojo_application_bindings.target.darwin-mips.mk
  20. mojo_application_bindings.target.darwin-mips64.mk
  21. mojo_application_bindings.target.darwin-x86.mk
  22. mojo_application_bindings.target.darwin-x86_64.mk
  23. mojo_application_bindings.target.linux-arm.mk
  24. mojo_application_bindings.target.linux-arm64.mk
  25. mojo_application_bindings.target.linux-mips.mk
  26. mojo_application_bindings.target.linux-mips64.mk
  27. mojo_application_bindings.target.linux-x86.mk
  28. mojo_application_bindings.target.linux-x86_64.mk
  29. mojo_cpp_bindings.target.darwin-arm.mk
  30. mojo_cpp_bindings.target.darwin-arm64.mk
  31. mojo_cpp_bindings.target.darwin-mips.mk
  32. mojo_cpp_bindings.target.darwin-mips64.mk
  33. mojo_cpp_bindings.target.darwin-x86.mk
  34. mojo_cpp_bindings.target.darwin-x86_64.mk
  35. mojo_cpp_bindings.target.linux-arm.mk
  36. mojo_cpp_bindings.target.linux-arm64.mk
  37. mojo_cpp_bindings.target.linux-mips.mk
  38. mojo_cpp_bindings.target.linux-mips64.mk
  39. mojo_cpp_bindings.target.linux-x86.mk
  40. mojo_cpp_bindings.target.linux-x86_64.mk
  41. mojo_js_bindings.target.darwin-arm.mk
  42. mojo_js_bindings.target.darwin-arm64.mk
  43. mojo_js_bindings.target.darwin-mips.mk
  44. mojo_js_bindings.target.darwin-mips64.mk
  45. mojo_js_bindings.target.darwin-x86.mk
  46. mojo_js_bindings.target.darwin-x86_64.mk
  47. mojo_js_bindings.target.linux-arm.mk
  48. mojo_js_bindings.target.linux-arm64.mk
  49. mojo_js_bindings.target.linux-mips.mk
  50. mojo_js_bindings.target.linux-mips64.mk
  51. mojo_js_bindings.target.linux-x86.mk
  52. mojo_js_bindings.target.linux-x86_64.mk
  53. mojo_public.gyp
  54. README.md
  55. VERSION
mojo/public/README.md

Mojo Public API

The Mojo Public API is a binary stable API to the Mojo system.

It consists of support for a number of programming languages (with a directory for each support language), some “build” tools and build-time requirements, and interface definitions for Mojo services (specified using an IDL).

Note that there are various subdirectories named tests/. These contain tests of the code in the enclosing directory, and are not meant for use by Mojo applications.

C/CPP/JS

The c/, cpp/, js/ subdirectories define the API for C, C++, and JavaScript, respectively.

The basic principle for these directories is that they consist of the source files that one needs at build/deployment/run time (as appropriate for the language), organized in a natural way for the particular language.

Interfaces

The interfaces/ subdirectory contains Mojo IDL (a.k.a. .mojom) descriptions of standard Mojo services.

Platform

The platform/ subdirectory contains any build-time requirements (e.g., static libraries) that may be needed to produce a Mojo application for certain platforms, such as a native shared library or as a NaCl binary.

Tools

The tools/ subdirectory contains tools that are useful/necessary at build/deployment time. These tools may be needed (as a practical necessity) to use the API in any given language, e.g., to generate bindings from Mojo IDL files.