README.md
1 Mojo Public API
2 ===============
3
4 The Mojo Public API is a binary stable API to the Mojo system.
5
6 It consists of support for a number of programming languages (with a directory
7 for each support language), some "build" tools and build-time requirements, and
8 interface definitions for Mojo services (specified using an IDL).
9
10 Note that there are various subdirectories named tests/. These contain tests of
11 the code in the enclosing directory, and are not meant for use by Mojo
12 applications.
13
14 C/CPP/JS
15 --------
16
17 The c/, cpp/, js/ subdirectories define the API for C, C++, and JavaScript,
18 respectively.
19
20 The basic principle for these directories is that they consist of the source
21 files that one needs at build/deployment/run time (as appropriate for the
22 language), organized in a natural way for the particular language.
23
24 Interfaces
25 ----------
26
27 The interfaces/ subdirectory contains Mojo IDL (a.k.a. .mojom) descriptions of
28 standard Mojo services.
29
30 Platform
31 --------
32
33 The platform/ subdirectory contains any build-time requirements (e.g., static
34 libraries) that may be needed to produce a Mojo application for certain
35 platforms, such as a native shared library or as a NaCl binary.
36
37 Tools
38 -----
39
40 The tools/ subdirectory contains tools that are useful/necessary at
41 build/deployment time. These tools may be needed (as a practical necessity) to
42 use the API in any given language, e.g., to generate bindings from Mojo IDL
43 files.
44