+#
+# Check for libusb
+
+libraries['usb'] = LibraryInfo ()
+
+conf = Configure (libraries['usb'])
+if conf.CheckLib ('usb', 'usb_interrupt_write'):
+ have_libusb = True
+else:
+ have_libusb = False
+
+libraries['usb'] = conf.Finish ()
+
+#
+# Check for FLAC
+
+libraries['flac'] = LibraryInfo ()
+
+conf = Configure (libraries['flac'])
+conf.CheckLib ('FLAC', 'FLAC__stream_decoder_new', language='CXX')
+libraries['flac'] = conf.Finish ()
+
+# or if that fails...
+#libraries['flac'] = LibraryInfo (LIBS='FLAC')
+
+# boost (we don't link against boost, just use some header files)
+
+libraries['boost'] = LibraryInfo ()
+conf = Configure (libraries['boost'])
+if conf.CheckHeader ('boost/shared_ptr.hpp', language='CXX') == 0:
+ print "Boost header files do not appear to be installed."
+ sys.exit (1)
+
+libraries['boost'] = conf.Finish ()
+
+#
+# Check for liblo
+
+if env['LIBLO']:
+ libraries['lo'] = LibraryInfo ()
+
+ conf = Configure (libraries['lo'])
+ if conf.CheckLib ('lo', 'lo_server_new') == False:
+ print "liblo does not appear to be installed."
+ sys.exit (1)
+
+ libraries['lo'] = conf.Finish ()
+
+#
+# Check for dmalloc
+
+libraries['dmalloc'] = LibraryInfo ()
+
+#
+# look for the threaded version
+#
+
+conf = Configure (libraries['dmalloc'])
+if conf.CheckLib ('dmallocth', 'dmalloc_shutdown'):
+ have_libdmalloc = True
+else:
+ have_libdmalloc = False
+
+libraries['dmalloc'] = conf.Finish ()