Skip to content

Getting Started

Alexander Beels edited this page Dec 31, 2013 · 19 revisions

Getting Started with BDE

Prerequisites

  • Python 2.6.x - 2.7.x (required for waf)
  • A supported C++ toolchain, including compiler, preprocessor, linker

Operating Systems and Compilers

See Supported Platforms

Obtaining the BDE source code

There are two mechanisms available to obtain the BDE source code from GitHub: cloning the repository, and downloading a GitHub-produced snapshot (in a TAR or ZIP file).

  • Cloning the repository requires a local Git installation on your computer, but is otherwise a straightforward process.

  • Downloading a snapshot can be done from the GitHub web interface. The snapshot file will have a very long name, since the name includes the full SHA-1 digest of the commit included in the snapshot. When you unpack the file, the unpacking tool will by default create a subdirectory with this long name; while this useful as a reminder of the specific code version in that directory, it can cause the BDE build process to fail (because the build system uses absolute paths and most operating systems have length limits on pathnames). If you choose this option, after unpacking the file you should rename the directory to a shorter name to avoid this problem.

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 called 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 program is bundled with the BDE source code and is located in the root of the source tree.

The following commands can be used to build the BDE libraries on all supported platforms:

$ python waf configure [--help]
$ python waf build
$ [python waf install]

Waf Build Commands

The waf commands are executed with the following syntax:

python 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.

Detailed Per-platform Build Instructions

  • To build BDE on a supported GNU/Linux distribution, follow these instructions.

  • To build BDE on Microsoft Windows, follow these instructions.

  • To build BDE on Apple Mac OS X, follow these instructions.

  • To build BDE on Oracle Solaris, follow these instructions.

  • To build BDE on IBM AIX, follow these instructions.

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.