diff --git a/flandmark/ext/ext.cpp b/flandmark/ext/ext.cpp
index 8845409ea7a3cea731c591f8264c164678b14667..183b8b7cb4144bc7b7413e5f2add5415ab372991 100644
--- a/flandmark/ext/ext.cpp
+++ b/flandmark/ext/ext.cpp
@@ -5,9 +5,9 @@
  * @brief Boost.Python extension to flandmark
  */
 
+#include <boost/python.hpp>
 #include <boost/shared_ptr.hpp>
 #include <boost/shared_array.hpp>
-#include <boost/python.hpp>
 #include <bob/core/python/gil.h>
 #include <bob/core/python/ndarray.h>
 #include <cv.h>
diff --git a/setup.py b/setup.py
index c7f9cb9d9bd6ec5620b3965795d2d34918dc0b6a..c69357db3d82854f0b61f25d66b14bc3c0f751fc 100644
--- a/setup.py
+++ b/setup.py
@@ -57,9 +57,19 @@ def pkgconfig(package):
     if flag_map.has_key(token[:2]):
       kw.setdefault(flag_map.get(token[:2]), []).append(token[2:])
 
-    else: # throw others to extra_link_args
+    elif token[0] == '-': # throw others to extra_link_args
       kw.setdefault('extra_compile_args', []).append(token)
 
+    else: # these are maybe libraries
+      if os.path.exists(token):
+        dirname = os.path.dirname(token)
+        if dirname not in kw.get('library_dirs', []):
+          kw.setdefault('library_dirs', []).append(dirname)
+
+        bname = os.path.splitext(os.path.basename(token))[0][3:]
+        if bname not in kw.get('libraries', []):
+          kw.setdefault('libraries', []).append(bname)
+
   for k, v in kw.iteritems(): # remove duplicated
     kw[k] = uniq(v)