Developer pages
 


This chapter collects the pages used by developers working on the compiler,
runtime libraries, build system, package scripts, and platform ports.

Building FreeBASIC
<table class="fb_box"><tr><td><ul>
<li> Building FreeBASIC from source
<li> Getting the source code
<li> Building for DOS
<li> Building on Linux and package distros
<li> Building on Windows/MSYS2
<li> Building for JavaScript
<li> Building for Android
<li> Building for Wii
<li> Building for Xbox
<li> NuttX and RISC-V board workflow
<li> Getting source code updates and rebuilding FreeBASIC
</ul></td><td><ul>
<li> Debugging FreeBASIC
<li> FreeBASIC build configuration
<li> The builtin.bi include
<li> Build troubleshooting notes
<li> Toolchain choice notes
<li> The FreeBASIC test suite
<li> Normal vs standalone compilers
<li> Developer glossary
<li> Making releases
<li> Cross-compiling FreeBASIC
<li> Bootstrapping FreeBASIC
</ul></td></tr></table>
 

Headers, bindings, and libraries
<table class="fb_box"><tr><td><ul>
<li> Creating bindings
<li> Translating C headers
<li> Header style guide
<li> External library bindings
<li> Runtime error constants
<li> Digital GPIO interface
<li> Emscripten WebSocket interface
<li> Advanced sfxlib headers
</ul></td></tr></table>
 

Compiler internals
<table class="fb_box"><tr><td><ul>
<li> Compiler platform modules
<li> Object information
<li> Compiler memory management
<li> Lexer
<li> Parser
<li> Top-level parser
</ul></td><td><ul>
<li> Symbol parser
<li> Compiler type system
<li> Array implementation notes
<li> SELECT CASE implementation notes
<li> Profiling with fb profiler
<li> Profiling with gprof
</ul></td></tr></table>
 

Runtime and graphics internals
<table class="fb_box"><tr><td><ul>
<li> Structure layout
<li> INKEY runtime notes
<li> Graphics library overview
<li> Graphics internal formats
</ul></td></tr></table>