diff --git a/scikits/learn/manifold/compression/cost_function/setup.py b/scikits/learn/manifold/compression/cost_function/setup.py index 41c4894b6e4a2c72aed1dbd3273e3dcdf4d15f83..39d588f49ac82e158f7942e744de6fc9385d9bae 100644 --- a/scikits/learn/manifold/compression/cost_function/setup.py +++ b/scikits/learn/manifold/compression/cost_function/setup.py @@ -10,7 +10,7 @@ def configuration(parent_package='', top_path=None): site_cfg = ConfigParser() site_cfg.read(get_standard_file('site.cfg')) - if site_cfg.has_section('scikit-learn') and site_cfg.getboolean('scikit-learn', 'use_boost'): + if site_cfg.has_section('boost') and site_cfg.getboolean('boost', 'use_boost'): # build this extension if enabled in site.cfg include_dirs=['../../src', '.', numpy.get_include()] config.add_extension('_cost_function', diff --git a/scikits/learn/manifold/regression/cluster/setup.py b/scikits/learn/manifold/regression/cluster/setup.py index aaeb3e9dbb4864edb5fabbefa36dc018fca433fd..8229eca076eface268c806373111aeed8d763de6 100644 --- a/scikits/learn/manifold/regression/cluster/setup.py +++ b/scikits/learn/manifold/regression/cluster/setup.py @@ -9,7 +9,7 @@ def configuration(parent_package='', top_path=None): site_cfg = ConfigParser() site_cfg.read(get_standard_file('site.cfg')) - if site_cfg.has_section('scikit-learn') and site_cfg.getboolean('scikit-learn', 'use_boost'): + if site_cfg.has_section('boost') and site_cfg.getboolean('boost', 'use_boost'): # build this extension if enabled in site.cfg include_dirs=['../../src', '.', numpy.get_include()] config.add_extension('_modified_general_clustering', diff --git a/scikits/learn/setup.py b/scikits/learn/setup.py index d0d9044947df0948907517a719ee488a289b01f2..f527d14881a3ed59a7f01281793737104eb065a4 100644 --- a/scikits/learn/setup.py +++ b/scikits/learn/setup.py @@ -1,23 +1,41 @@ from os.path import join import warnings import numpy +from ConfigParser import ConfigParser def configuration(parent_package='',top_path=None): from numpy.distutils.misc_util import Configuration - from numpy.distutils.system_info import get_info, BlasNotFoundError + from numpy.distutils.system_info import get_info, get_standard_file, BlasNotFoundError config = Configuration('learn',parent_package,top_path) + site_cfg = ConfigParser() + site_cfg.read(get_standard_file('site.cfg')) + config.add_subpackage('em') config.add_subpackage('datasets') config.add_subpackage('feature_selection') config.add_subpackage('glm') config.add_subpackage('manifold') config.add_subpackage('utils') + + # libsvm + libsvm_includes = [numpy.get_include()] + libsvm_libraries = [] + libsvm_library_dirs = [] + libsvm_sources = [join('src', 'libsvm.c')] + + if site_cfg.has_section('libsvm'): + libsvm_includes.append(site_cfg.get('libsvm', 'include_dirs')) + libsvm_libraries.append(site_cfg.get('libsvm', 'libraries')) + libsvm_library_dirs.append(site_cfg.get('libsvm', 'library_dirs')) + else: + libsvm_sources.append(join('src', 'svm.cpp')) + config.add_extension('libsvm', - sources=[join('src', 'svm.cpp'), - join('src', 'libsvm.c'), - ], - include_dirs=[numpy.get_include()], + sources=libsvm_sources, + include_dirs=libsvm_includes, + libraries=libsvm_libraries, + library_dirs=libsvm_library_dirs, depends=[join('src', 'svm.h'), join('src', 'libsvm_helper.c'), ]) diff --git a/site.cfg b/site.cfg index 541fdae454cfd6da0d6fdd7b10a070917656001f..66f867b3e12ead64c1ebcddd6c4ae28e3755975b 100644 --- a/site.cfg +++ b/site.cfg @@ -1,3 +1,8 @@ -[scikit-learn] -#compile libraries that depend on boost -use_boost=0 +# uncomment this to compile libraries that depend on boost +# [boost] +# use_boost=True + +# [libsvm] +# libraries=svm +# library_dirs=/usr/lib +# include_dirs=/usr/include/libsvm-2.0/libsvm \ No newline at end of file