Onyx logo

Table Of Contents

Previous topic

Developer Installation

Next topic

Onyx Core Packages

This Page

Top-level Directories

Here is a brief overview of the important files and directories that make up Onyx.

Files:

  • changes.txt - the change log for the process. Developers add comments near the top of this file (in an automated way) whenever they check new work into the project.
  • SConscript - the top-most of many SCons control files - the purpose of this top-most one is to point to each directory in the project that has a SConscript directory. Within each directory, the SConscript identifies the Python files and other resources needed to build and test the components of the project in that directory.
  • SConstruct - the root configuration file for the SCons build/test system. This SCons file sets up the environment of SCons tools used to build the project, then it runs the top-most SConscript file.

Directories:

  • op - Some developer tools for building the project and using the version-control system.
  • bin - Some binaries used by Onyx for file reading, and some demo scripts. The bin directory contains platform-specific subdirectories for binary executables.
  • scons - A complete SCons package; you probably don’t want to change this at all except by replacing it with a completely new version.
  • site-scons - Project-specific tools that extend the build system to support Onyx
  • templates - Stubs of various file types to use as starting points when adding new files to the project
  • build - Destination directory for a SCons build. If you run ‘op/scons’, this directory will be created or overwritten. Although there’s a complete version of the project source in this directory, you almost certainly don’t want to make modifications here. All builds appear in subdirectories named for the build platform.
  • doc - Static, i.e. non-built, documentation in various forms, also the sources and machinery that support documentation building. For the built documentation, which both much easier to browse and more complete, see “build/<platform>/doc/sphinx/_build/html/index.html’ (XXX need to make this easier to get to).
  • py - Core Python source code for the project and also external Python modules. The core Python source code is in the onyx subdirectory, see Onyx Core Packages.
  • cpp - C++ source code for the project. This directory also contains the ‘pylib’ subdirectory, where binary library files for each supported platform are kept. (XXX need a description of how binary library system works, particularly WRT built binary libraries).
  • data - Sample input data used for testing
  • projects - Experiments, demos, and other work not part of the project core.
  • sandbox - Scratch work area that is still checked in and can be tested. The things in here tend to be more half-baked than the things in projects.