Skip to content
Kevin P. Fleming edited this page Nov 3, 2014 · 3 revisions

Getting Started with BDE

Prerequisites

  • BDE's waf build system from BDE Tools repository, which has been set up following the instructions from this wiki page.

  • A supported C++ toolchain, including compiler, preprocessor, linker

Operating Systems and Compilers

See Supported Platforms

See Caveats for:

Build Requirements

The BDE library itself builds fairly quickly and does not consume a significant amount of resources (CPU time or memory), but the BDE unit test drivers are substantially larger. It is not unusual for an optimized build of one of the BDE container test drivers to have a working set of more than 1GB of RAM. If a parallel build is invoked, it is quite possible for the build process to consume 4GB (or more) of RAM at its peak.

Basic Build

BDE uses a build system based on waf. Building software with waf works in two steps: First you configure the source code, and then you build it. (This two-step process will feel familiar to users of autoconf.) Waf can build libraries directly, or it generate project files for Visual Studio or Xcode.

The waf based build system is located in the BDE Tools repository, which must be set up before the build system can be used:

  1. Make sure that python 2.6 - 2.7 are installed on the system.
  2. Download BDE Tools and add the path <bde_tools_repo_root>/bin to the system PATH environment variable. Make sure the first waf command found in PATH is a script from that path.

Once the waf based build system has been set up. The following commands can be used to configure and build the BDE repository:

  1. From the root of this source repository, run:

    waf configure
  2. To build the libraries, but not the test drivers, run:

    waf build

    To also build the test drivers, run:

    waf build --test build

    To build and run the test drivers, run:

    waf build --test run

Waf Build Commands

The waf commands are executed with the following syntax:

waf [command] [options]

The waf based build tool provides the following commands:

  • configure

    Configure the source code for the specified options on the current system. This command must be run before building the libraries.

  • build

    Build the source code using the previously configured options.

  • install

    Install the libraries (including the associated pkg-config and header files).

  • clean

    Remove all build artifacts (object and library files).

  • distclean

    Remove the build output directory.

  • msvs

    Generate a Visual Studio 2010 solution file.

  • msvs2008

    Generate a Visual Studio 2008 solution file.

  • xcode

    Generate an Xcode project file.

You can view the list of options available for each command by running:

waf --hep

Detailed Build Instructions

For detailed descriptions of commands and build options available for the waf based build system, please see the relevant wiki page from the bde-tools repository: Waf-Based Build System

Caveats

RHEL 5

RHEL (Red Hat Enterprise Linux) 5 includes Python 2.4.x, which is too old to be able to run waf to generate the BDE build system. Python 2.6 can be installed from the "Extra Packages for Enterprise Linux" (EPEL) repository to satisfy this requirement. In the command box above where waf is executed, the builder will need to execute the script using python26 instead of just python.

Known Issues

See the issue tracker and the Known Issues page for documentation of any known issues building, testing or using BDE on its supported platforms.

Questions, Comments, and Feedback

If you have questions, comments, suggestions for improvement or any other inquiries regarding BDE or this wiki, feel free to open an issue in the issue tracker.


Creative Commons License  BDE Wiki by Bloomberg Finance L.P. is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.