README
1 glcpp -- GLSL "C" preprocessor
2
3 This is a simple preprocessor designed to provide the preprocessing
4 needs of the GLSL language. The requirements for this preprocessor are
5 specified in the GLSL 1.30 specification availble from:
6
7 http://www.opengl.org/registry/doc/GLSLangSpec.Full.1.30.10.pdf
8
9 This specification is not precise on some semantics, (for example,
10 #define and #if), defining these merely "as is standard for C++
11 preprocessors". To fill in these details, I've been using a draft of
12 the C99 standard as available from:
13
14 http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf
15
16 Any downstream compiler accepting output from glcpp should be prepared
17 to encounter and deal with the following preprocessor macros:
18
19 #line
20 #pragma
21 #extension
22
23 All other macros will be handles according to the GLSL specification
24 and will not appear in the output.
25
26 Known limitations
27 -----------------
28 The __LINE__ and __FILE__ macros are not yet supported.
29
30 A file that ends with a function-like macro name as the last
31 non-whitespace token will result in a parse error, (where it should be
32 passed through as is).