1. Gregory Collier
  2. hellobeagle




This is a simple project setup to make building c/c++ apps on the beaglebone a very simple thing. Well... the workflow should be nice and easy at least. The project depends on Fabric and Waf. Fabric must be installed on your development machine but Waf is included. The easiest way to get Fabric is to run pip install fabric, or if you prefer: easy_install fabric

You'll need to have rsync installed on the beaglebone. Alternatively fabric does support a full scp copy instead of rsync so that's another option if you can't install rsync.

This demo project uses the boost::program_options library so that it's a little more substantial than a pure hello world type program. The bone had boost 1.47 installed already, but I did't have any trouble building 1.48.

Basic workflow

fab configure:"--boost-static"

fab build

At this point there isn't a run target to test with. So now you'd write your code and add whatever files you need. Update the wscript files to control the build process. Running fab build again should rsync the project folder and run ./waf build.

fab help will display the waf configure options that are available.

Project Goals

Basically the idea is that this can grow to really become a useful starting point for people. I'd like to work out some other waf targets that can setup systemd services for your applications so that in addition to the build and test lifecycle, there can also be some basic process control available.

Because some waf features are only available in the extras section of the repository you have to manually add them to your project. You can download them directly from the waf google-code project repo and put them in the tools folder.