| Compilation has a few phases: |
| |
| 1. Generate the header and dispatch source files that have to match the GL api. |
| These read in a description of the GL api in the form of XML files. In |
| addition, generate the GLSL parser and lexer using flex and bison. These |
| sources are needed for step 2 |
| 2. Compile everything in src/glsl into a library. This step uses the parser and |
| lexer output. |
| 3. Compile the compiler (executable) that can create the builtin functions' |
| source file. Note that this step uses builtin_stubs.cpp because we haven't |
| generated the actual builtin functions' source file yet. |
| 4. Invoke the compiler that we just built to create |
| gen/mesa/builtin_function.cpp |
| 5. Compile the rest of mesa, using the builtins that we created in step 4. In |
| addition, link in all the files that we've previously compiled in step 2. |