--- test/lit.cfg.mike	2013-02-07 10:24:16.474628000 +0200
+++ test/lit.cfg	2013-02-07 10:24:22.510628000 +0200
@@ -258,6 +258,10 @@
     use_system_lib = False
     lit.note("inferred use_system_lib as: %r" % (use_system_lib,))
 
+extra_link_libs = lit.params.get('extra_link_libs', [])
+if extra_link_libs:
+    extra_link_libs = [ell.strip() for ell in extra_link_libs.strip().split() if ell.strip()]
+
 # Configure extra compiler flags.
 include_paths = ['-I' + libcxx_src_root + '/include', '-I' + libcxx_src_root + '/test/support']
 library_paths = ['-L' + libcxx_obj_root + '/lib']
@@ -269,11 +273,17 @@
 exec_env = {}
 libraries = []
 if sys.platform == 'darwin':
-    libraries += ['-lSystem']
+    if extra_link_libs:
+        libraries += extra_link_libs
+    else:
+        libraries += ['-lSystem']
     if not use_system_lib:
         exec_env['DYLD_LIBRARY_PATH'] = os.path.join(libcxx_obj_root, 'lib')
 elif sys.platform == 'linux2':
-    libraries += ['-lsupc++', '-lgcc_eh', '-lc', '-lm', '-lpthread', '-lrt', '-lgcc_s']
+    if extra_link_libs:
+        libraries += extra_link_libs
+    else:
+        libraries += ['-lsupc++', '-lgcc_eh', '-lc', '-lm', '-lpthread', '-lrt', '-lgcc_s']
     if not use_system_lib:
         libraries += ['-Wl,-R', libcxx_obj_root + '/lib']
     compile_flags += ['-D__STDC_FORMAT_MACROS', '-D__STDC_LIMIT_MACROS', '-D__STDC_CONSTANT_MACROS']
