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