Quick Scons Howto

scons is an automated build system used to compile FFADO. It generally behaves very well and is very easy to use, but there are a few quirks you might want to know about (especially if you are used to autotools.

Spurious scons error messages during build

If you get the following error, don't panic:

Exception exceptions.TypeError: TypeError("'NoneType' object is not callable",) 
in <bound method Popen3.__del__ of <popen2.Popen3 instance at 0x838d42c>> ignored

The message is bogus and can be safely ignored. This issue has been fixed in scons 1.0, but you may have an older version in your distribution.

You may also see

xdg-icon-resource install --size 64 --context apps
support/xdg/hi64-apps-ffado.png
scons: *** DirNodeInfo instance has no attribute 'csig'
scons: building terminated because of errors.

This is due to a bug in scons. Try downgrading scons to 0.97 or upgrading scons to the most recent version. However this is not really a problem, since everything should have been installed properly.

Setting compile-time options

Available compile-time options can be listed with

$ scons -h

You can set them with

$ scons SOME_OPTION=<some value>
Note for autotools users

With scons, compile-time options need to be specified only once - it will save the last value you used and re-use that. To really undo your settings and return to the factory defaults, remove the "cache"-folder and the file ".sconsign.dblite" from the libffado source directory:

$ rm -Rf .sconsign.dblite cache"

Notes for developers