Source hierarchy
From Code::Blocks
Top-level layout
The src folder within the SVN trunk directory [1] contains the following sub-directories:
base - ?? source for exchndl.dll, and tinyxml source build_tools - ?? tools used within build process such as for included SVN revision number (not sure about scrooge) i18n - i18n (internationalization) support files include - header files for libcodeblocks, these headers are used by the plugins and the main application mime - mime-type files, icons and other metadata plugins - source for C::B plugins scripts - squirrel script files and associated support files sdk - cpp files for libcodeblocks, also all the bundled libs have been put here (wxscintilla, wxpropgrid, scripting) src - header and cpp files for the main executable templates - files relating to templates for different types of files and projects within C::B tools - Code for programs other than C::B
Main Executable
The Codeblocks executable is built from src/src, but most of the functionality is contained within libcodeblocks built from src/sdk. The reason for this appears to be the need to avoid unresolved symbols in DLL files - a good explanation for the need for this can be found at [2]
Plugins
- All plugins go into the src/plugins folder.
- Contrib and non-core plugins go into src/plugins/contrib/
Scripts
Resources for writing scripts as found in src/scripts can be found in Scripting Code::Blocks
Third party source code Folders
These folders tend to contain source code not maintained primarily by CB Developers. Therefore the changes normally need submitted to someone besides the CB team.
- src/base/tinyxml
- src/include/mozilla_chardet
- src/include/scripting/sqplus
- src/include/scripting/sqstdlib
- src/include/scripting/squirrel
- src/include/tinyxml
- src/plugins/astyle/astyle
- src/plugins/compilergcc/depslib
- src/plugins/contrib/SpellChecker/hunspell
- src/plugins/contrib/SpellChecker/wxspellchecker
- src/plugins/contrib/devpak_plugin/bzip2
- src/plugins/contrib/help_plugin/bzip2
- src/plugins/contrib/help_plugin/zlib
- src/plugins/contrib/source_exporter/wxPdfDocument
- src/plugins/contrib/wxContribItems
- src/plugins/contrib/wxSmithSTC/stc
- src/plugins/contrib/wxSmithSTC/stedit
- src/sdk/scripting/sqplus
- src/sdk/scripting/sqstdlib
- src/sdk/scripting/squirrel
- src/sdk/wxscintilla
Links
Related forum discussion [/index.php/topic,15657.msg105327.html]