summaryrefslogtreecommitdiffstats
path: root/native_client_sdk/src/project_templates/README
diff options
context:
space:
mode:
Diffstat (limited to 'native_client_sdk/src/project_templates/README')
-rw-r--r--native_client_sdk/src/project_templates/README45
1 files changed, 45 insertions, 0 deletions
diff --git a/native_client_sdk/src/project_templates/README b/native_client_sdk/src/project_templates/README
new file mode 100644
index 0000000..5aca398
--- /dev/null
+++ b/native_client_sdk/src/project_templates/README
@@ -0,0 +1,45 @@
+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.