If you want to build a PNaCl application for Chrome, start with the Native Client developer documentation
The developer toolchain compiles C and C++ applications to a subset of LLVM bitcode.
These bitcode files (known as "portable executables", or "pexe" files) represent an Native Client application
in a high-level format, which can be translated to native code for execution on any processor supported
The PNaCl toolchain is currently available for Windows, Mac, and Linux.
PNaCl currently supports code generation on 4 architectures:
PNaCl is a cross-compiling toolchain, where the target architecture is bitcode. PNaCl recognizes three types of bitcode files:
PNaCl provides the standard tools:
The pnacl-clang and pnacl-clang++ tools produce LLVM bc files. The pnacl-ld linker tool produces a statically linked LLVM pexe. The pnacl-finalize tool converts an LLVM pexe to a frozen PNaCl bitcode pexe. Chrome only runs the frozen PNaCl bitcode format, not the standard LLVM bitcode pexe.
While chrome can load and translate a frozen pexe directly, there is an additional tool
Installing the PNaCl Toolchain and Building Examples
PNaCl is now available in the naclsdk updater (https://developers.google.com/native-client/sdk/download). It is available in pepper_30 and higher.
How to Run Examples in Chrome 31+
How to report bugs / feedback for PNaCl
The section on developing PNaCl itself has moved to https://sites.google.com/a/chromium.org/dev/nativeclient/pnacl/developing-pnacl