Tell setup.py the location of headers/libraries Allow the libraries detection routine to look for headers and libs in other directories than /usr/include or /usr/lib through the environment variables PYTHON_MODULES_INCLUDE and PYTHON_MODULES_LIB. We can then use it to look for libraries in the buildroot staging directory. Patch ported to python2.7 by Maxime Ripard --- setup.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) Index: Python-2.7.1/setup.py =================================================================== --- Python-2.7.1.orig/setup.py +++ Python-2.7.1/setup.py @@ -350,6 +350,19 @@ return sys.platform def detect_modules(self): + try: + modules_include_dirs = os.environ["PYTHON_MODULES_INCLUDE"].split() + except KeyError: + modules_include_dirs = ['/usr/include'] + try: + modules_lib_dirs = os.environ["PYTHON_MODULES_LIB"].split() + except KeyError: + modules_include_dirs = ['/usr/lib'] + for dir in modules_include_dirs: + add_dir_to_list(self.compiler.include_dirs, dir) + for dir in modules_lib_dirs: + add_dir_to_list(self.compiler.library_dirs, dir) + # Ensure that /usr/local is always used if os.environ.get('CROSS_COMPILING') != 'yes': add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')