plan for a proper binary format for pocl
---------------------------------------

Extremely simple archive format that stores the temporary file structure. 
Contains a sequence of [pathname, data blob] pairs, nothing else.

The idea here is to allow quickly creating the whole directory structure
of the kernel build to enable caching of the very final parts of the
process as well as (optionally) storing the intermediate files for bug
reporting purposes.

The file and pathnames follow a previously defined convention in order to
find the files for each alternative WG sizes for each kernel in the program.
All the compilation files are stored under a single temporary directory
with subdirectories for devices, kernels and WG sizes, as described in the 
mailing list.

We could create a tar, zip or similar archive of the whole temp directory
hierarchy. Implementing the queries for binary sizes etc. is
problematic as they need to build the archive just for the file size
check.


TODO: Implementation of the new binary format, caching of kernel compilations etc.
----------------------------------------------------------------------------------

* In the binary query, create the archive in-memory (no need to create the binary
  file at this point).
* In the clCreateProgramWithBinary, unpack the binary to the temporary directory
  of the clProgram and one is all set.
