glsl: move to compiler/
[mesa.git] / src / compiler / glsl / glcpp / 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 handled according to the GLSL specification
24 and will not appear in the output.
25
26 Known limitations
27 -----------------
28 A file that ends with a function-like macro name as the last
29 non-whitespace token will result in a parse error, (where it should be
30 passed through as is).