Information for hacking on FreeBASIC

This area of the Wiki is for documenting everything about the compiler and 
the runtime libraries. It is, however, incomplete. If you find that 
information provided here does not match what the source is doing then 
please update the relevant pages here. New pages and articles may be added 
freely, provided they help understanding what's going on inside FB.

Developing FreeBASIC Itself

	DevBuildCompiling a Development Version of FreeBASIC
		DevGettingTheSourceCodeGetting the source code
		DevBuildDosCompiling FB for DOS
		DevBuildLinuxCompiling FB on Linux
		DevBuildWindowsCompiling FB on Windows
		DevBuildEmscriptenCompiling FB with Emscripten
		DevRebuildAfterUpdatesGetting source code updates and recompiling FB
		DevDebuggingFbDebugging FB
		DevBuildConfigFB build configuration options
		DevBuildKnownProblemsKnown problems when compiling FB
		DevGccToolchainChoiceGCC toolchain choice

	DevFbcTestSuiteRunning the FreeBASIC test suite
	DevNormalVsStandaloneNormal vs. Standalone
	DevGlossaryGlossary
	DevMakingReleasesNotes on the creation of FB releases
	DevCrossCompilingFB and cross-compiling
	DevBootstrapBootstrapping/cross-compiling fbc

	DevBindingCreationCreating FB bindings for C libraries
	DevTranslateHeaderC Header Translation Tutorial
	DevHeaderStyleGuideHeader Style Guidelines
	ExtLibTOCExternal Libraries Index (header status)

Compiler internals

	DevFbcModulesQuick overview of all modules
	DevObjinfoThe objinfo feature
	DevFbcMemMemory management
	DevFbcLexerLexer & preprocessor

	Parser & compiler (fb, parser, symb, rtl)
		DevFbcParserPurpose
		DevFbcParserToplevelTop level parsing process
		DevFbcParserSymbolsSymbols
		DevFbcTypesRepresentation of data types

	DevArraysArrays
	DevSelectCaseSELECT CASE
	ProPgProfilingFbProfilerProfiling with fb's profiler
	ProPgProfilingGmonGprofProfiling for gmon/gprof
	DevStructLayoutStructure packing/field alignment

Run-time (rtlib) and Graphics (gfxlib2) Libraries

	DevRtlInkeyKeyboard input: inkey(), multikey(), etc.
	GfxLibOverview of drivers (backends)
	GfxInternalFormatsPixel formats

