Basic Development Environment - a set of foundational C++ libraries used at Bloomberg.
C++ Other
Latest commit d593e32 Mar 14, 2017 @abeels abeels Adopt commit 3dae61f from master: Merge pull request #1042 from abeel…

commit 3dae61fe9c93a575b635b4860a0b79556f3e7f25
Merge: 0e72517 4620896
Author: Alexander Beels <>
Date:   Tue Mar 14 09:45:00 2017 -0400

    Merge pull request #1042 from abeels/bsls_libraryfeatures-fix-precise-bitwidth-atomics

    Bsls libraryfeatures fix precise bitwidth atomics

commit 4620896af342e6ee995402ab1e8918e96623857b
Author: Alexander Beels <>
Date:   Mon Mar 13 23:34:54 2017 -0400

    Restore documentation for MSVC support for precise atomics.

commit a87d1f0732c93bf63344c30f36551ee9bd4a8771
Author: Alexander Beels <>
Date:   Mon Mar 13 23:32:55 2017 -0400


commit 8f22a386489ae819e02c31ea52ed24dfd14e4c88
Author: Alexander Beels <>
Date:   Mon Mar 13 23:28:08 2017 -0400

    Revert "Update windows support for precise atomics."

    This reverts commit c18501b37eff480bcb3b637b24a8d4eeb819f6db.

commit 877313a7c682edc5d726f112b26ffd003bfb3f2f
Author: Alexander Beels <>
Date:   Mon Mar 13 23:26:58 2017 -0400

    Do not construct 'atomic_...' objects in test.

commit 2ab45ea591a36599cee9e87a82019de490566436
Author: Alexander Beels <>
Date:   Mon Mar 13 23:03:52 2017 -0400

    Review comments.

commit b13d0d12c99591d5e0de4c5123ff65e47374217e
Author: Alexander Beels <>
Date:   Mon Mar 13 17:42:01 2017 -0400

    Rename precise atomics from "CPP11" to "CPP17"

commit c18501b37eff480bcb3b637b24a8d4eeb819f6db
Author: Alexander Beels <>
Date:   Mon Mar 13 17:41:33 2017 -0400

    Update windows support for precise atomics.

commit 0d0bff06448dd9aac80864664ca71a3d7771e8d3
Author: Alexander Beels <>
Date:   Mon Mar 13 17:28:08 2017 -0400

    Fix precise bitwidth atomics detection.

BDE Libraries

This repository contains the BDE libraries, currently BSL (BDE Standard Library) and BDL (BDE Development Library). For more information about BSL, BDL, and BDE, follow the links below:

What's New

October 2015

BDE 3.0 is now available. This major release introduces important subsystems including calendar types, time-zone utilities, logging facilities, event schedulers, thread-pools, and more.

See: BDE 3.0 Open-Source Release

Basic Build Instructions

BDE uses a build system based on waf, which is located in the BDE Tools repository. This build system must be set up before being 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

For more details on building the BDE repository, please see the Quick Start Guide.

For more details on the waf-based build system for building BDE-style repositories, please see its wiki page.


The BDE libraries are distributed under the Apache License (version 2.0); see the LICENSE file at the top of the source tree for more information.

Question, Comments and Feedback

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