| 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. |