blob: 5aca398abafa5d674f749f50de47b8b51f2fd0d5 [file] [log] [blame]
Welcome to the Native Client SDK project_templates directory.
Currently, this directory contains a mechanism to allow a developer to
bootstrap a native client project and write a lot of the NaCl-specific code
automatically, so the developer can add her own functionality quickly. The
projects created are designed to be self-contained, meaning that they have
everything they need to run, except a server.
To start a project, run "./init_project.py" or "python init_project.py"
depending on your system configuration. The script will give you usage
information when run with -h or when insufficient or malformed arguments are
provided.
The result of the script is a project with the name you provide at a location
of your choice. If you have your own server, you may create the project in
a location it serves. Otherwise, you may create a project under the SDK
examples directory and examples/httpd.py to serve your project quickly - at
least temporarily.
In the future, this directory is intended as a repository for useful stub code,
code snippets, and code generators that can be used to facilitate rapid
development. For now we support initial project setup via init_project.py, but
any generically useful code can be added here if it follows a reasonable
organization. The organization is as follows:
project_templates:
Contains any top-level scripting elements that apply or may come in useful
for the generation of all NaCl/Pepper2 projects, common Makefile sections,
and this README.
project_templates/[language]:
For any given language there should be a directory with a name that is
commonly associated with that language.
project_templates/[topic]
project_templates/[language]/[topic]
For any given programming topic, such as audio, 2d, or 3d programming, there
should be a directory at the root level for any components that are not
language specific and that may apply to that topic. For corresponding
components that are language specific, a sub-directory for the topic may
also be created under the language directory.
Note that the layout in this directory does not reflect the layout of the
projects that are created. It is merely a set of simple guidelines to help
organize generic code and utilities so they can be managed here. How
generated projects are laid out is left up to the design of the particular
code-generator.