Source hierarchy

From Code::Blocks
Revision as of 23:55, 15 December 2013 by Stahta01 (talk | contribs) (third party source code folders)


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

  • 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]