PTE Users Guide
Since
PTE is designed to be cross platform, and embedded OS's vary widely in
their build methodology, there is no "high level" build structure
included. Rather, each port is responsible for providing this.
The sections below describe using PTE for a specific platform.
While
pthreads is strictly speaking a C API, PTE does include limited support
for C++ specific features, specifically exceptions. This
functionality was primarily inherited from the original code base
(Pthreads-win32) and has been only preliminarily tested.
An
important component of PTE is the test library that is included.
Each platform contains build files as described below to build
the test suite.
DSP/BIOS
Texas
Instruments provides DSP/BIOS as a RTOS to be used on their series of
digital signal processors. Two project files are included: one
for the library itself and one for the test suite. These projects
(and CDB/TCF files) were targeted towards the C6000 simulator, as this
is where I did all of the development. When building applications
that use the PTE library, you will need to include pthreads.h and will
also need to provide a path to pte-types.h (originally located in
platforms/dspbios/pte-types.h). This file contains definitions of
structures and types (e.g. pid_t) that are required by pthreads but not
supplied by DSP/BIOS
PSP OS
This
is the operating system used by the Sony PSP. The PSP toolchain
is gcc based and thus shares many similarities with a "typical" UNIX
system, including the build system. PTE includes Makefiles for
the library itself as well as the test suite. Note that these
Makefiles are pretty rudimentary as I am not anywhere close to being a
Makefile expert. Thus, once the library is built it will be
necessary to copy the library itself, pthread.h and pte-types.h to the
appropriate places in your projects build structure. The PSP
toolchain includes a pthread.h header in the base distribution (why,
I'm not sure) - it is important that you use the pthread.hsupplied with PTE rather than the one in the toolchain.