diff --git a/Makefile b/Makefile
index ae1e50140be415b1a8a9aa5ac671ed368d08d449..66723185cb898c4105c9031500d7eb2c00582c36 100644
--- a/Makefile
+++ b/Makefile
@@ -19,5 +19,6 @@ SUBDIR+=	spark-genom
 SUBDIR+=	stackoftasks
 SUBDIR+=	visp
 SUBDIR+=  libANN
+SUBDIR+=  flann
 
 include ../mk/robotpkg.subdir.mk
diff --git a/flann/DESCR b/flann/DESCR
new file mode 100644
index 0000000000000000000000000000000000000000..918f69b64a36cdc680028f6832bafcfa7e950148
--- /dev/null
+++ b/flann/DESCR
@@ -0,0 +1,8 @@
+FLANN is a library for performing fast approximate nearest neighbor 
+searches in high dimensional spaces. It contains a collection of 
+algorithms we found to work best for nearest neighbor search and a system 
+for automatically choosing the best algorithm and optimum parameters 
+depending on the dataset.
+
+FLANN is written in C++ and contains bindings for the following languages: 
+C, MATLAB and Python.
diff --git a/flann/Makefile b/flann/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..3073df64faed513b35ce4d1c20add039e69253a1
--- /dev/null
+++ b/flann/Makefile
@@ -0,0 +1,68 @@
+# robotpkg Makefile for:	math/flann
+# Created:			Nizar Sallem on Tue, 28 Dec 2010
+#
+
+PKGNAME= 			flann-${VERSION}
+DISTNAME=			flann-${VERSION}-src
+VERSION=			1.6.6
+EXTRACT_SUFX= .zip
+CATEGORIES=		math
+MASTER_SITES=	http://www.cs.ubc.ca/~mariusm/uploads/FLANN/
+
+MAINTAINER=	openrobots@laas.fr
+HOMEPAGE=	http://www.cs.ubc.ca/~mariusm/index.php/FLANN/FLANN
+COMMENT=	Fast approximate nearest neighbor search library for high dimension
+LICENSE=	2-clause-bsd
+
+USE_LANGUAGES+=	c c++
+#you need it to disable cmake error since we do in-source build
+CMAKE_ARGS+= -DLATEX_OUTPUT_PATH=${WRKSRC}
+
+#option for c bindings generation
+PKG_SUPPORTED_OPTIONS+=		c
+PKG_SUGGESTED_OPTIONS+=		c
+PKG_OPTION_DESCR.c=				Enable c bindings.
+define PKG_OPTION_SET.c
+  CMAKE_ARGS+=			-DBUILD_C_BINDINGS=ON
+endef
+define PKG_OPTION_UNSET.c
+  CMAKE_ARGS+=			-DBUILD_C_BINDINGS=OFF
+endef
+
+#option for python bindings generation
+PKG_SUPPORTED_OPTIONS+=		python
+PKG_SUGGESTED_OPTIONS-=		python
+PKG_OPTION_DESCR.python=	Enable python bindings.
+define PKG_OPTION_SET.python
+  CMAKE_ARGS+=			-DBUILD_PYTHON_BINDINGS=ON
+	include ../../mk/sysdep/python2.mk
+endef
+define PKG_OPTION_UNSET.python
+  CMAKE_ARGS+=			-DBUILD_PYTHON_BINDINGS=OFF
+endef
+
+#option for matlab bindings generation
+PKG_SUPPORTED_OPTIONS+=		matlab
+PKG_SUGGESTED_OPTIONS-=		matlab
+PKG_OPTION_DESCR.matlab=	Enable matlab bindings.
+define PKG_OPTION_SET.matlab
+  CMAKE_ARGS+=			-DBUILD_MATLAB_BINDINGS=ON
+endef
+define PKG_OPTION_UNSET.matlab
+  CMAKE_ARGS+=			-DBUILD_MATLAB_BINDINGS=OFF
+endef
+
+#option for matlab bindings generation
+PKG_SUPPORTED_OPTIONS+=		mpi
+PKG_SUGGESTED_OPTIONS-=		mpi
+PKG_OPTION_DESCR.mpi=	Enable mpi using.
+define PKG_OPTION_SET.mpi
+  CMAKE_ARGS+=			-DUSE_MPI=ON
+endef
+define PKG_OPTION_UNSET.mpi
+  CMAKE_ARGS+=			-DUSE_MPI=OFF
+endef
+
+include ../../mk/sysdep/latex.mk
+include ../../mk/sysdep/cmake.mk
+include ../../mk/robotpkg.mk
diff --git a/flann/PLIST b/flann/PLIST
new file mode 100644
index 0000000000000000000000000000000000000000..e2a6d1e60aaa19f261dd144d471c0d8f42b41b71
--- /dev/null
+++ b/flann/PLIST
@@ -0,0 +1,66 @@
+@comment Tue Dec 28 12:44:07 CET 2010
+bin/flann_example_c
+bin/flann_example_cpp
+include/flann/algorithms/all_indices.h
+include/flann/algorithms/autotuned_index.h
+include/flann/algorithms/composite_index.h
+include/flann/algorithms/dist.h
+include/flann/algorithms/kdtree_index.h
+include/flann/algorithms/kdtree_single_index.h
+include/flann/algorithms/kmeans_index.h
+include/flann/algorithms/linear_index.h
+include/flann/algorithms/nn_index.h
+include/flann/flann.h
+include/flann/flann.hpp
+include/flann/flann_mpi.hpp
+include/flann/general.h
+include/flann/io/hdf5.h
+include/flann/nn/ground_truth.h
+include/flann/nn/index_testing.h
+include/flann/nn/simplex_downhill.h
+include/flann/util/allocator.h
+include/flann/util/heap.h
+include/flann/util/logger.h
+include/flann/util/matrix.h
+include/flann/util/object_factory.h
+include/flann/util/pair_iterator.hpp
+include/flann/util/random.h
+include/flann/util/result_set.h
+include/flann/util/sampling.h
+include/flann/util/saving.h
+include/flann/util/timer.h
+lib/libflann.so
+lib/libflann.so.${PKGVERSION}
+lib/libflann.so.1.6
+lib/libflann_cpp.so
+lib/libflann_cpp.so.${PKGVERSION}
+lib/libflann_cpp.so.1.6
+lib/libflann_cpp_s.a
+lib/libflann_s.a
+lib/pkgconfig/flann.pc
+share/doc/flann/manual.pdf
+${PLIST.python}share/flann/python/pyflann/__init__.py
+${PLIST.python}share/flann/python/pyflann/__init__.pyc
+${PLIST.python}share/flann/python/pyflann/bindings/__init__.py
+${PLIST.python}share/flann/python/pyflann/bindings/__init__.pyc
+${PLIST.python}share/flann/python/pyflann/bindings/flann_ctypes.py
+${PLIST.python}share/flann/python/pyflann/bindings/flann_ctypes.pyc
+${PLIST.python}share/flann/python/pyflann/exceptions.py
+${PLIST.python}share/flann/python/pyflann/exceptions.pyc
+${PLIST.python}share/flann/python/pyflann/index.py
+${PLIST.python}share/flann/python/pyflann/index.pyc
+${PLIST.python}share/flann/python/pyflann/io/__init__.py
+${PLIST.python}share/flann/python/pyflann/io/__init__.pyc
+${PLIST.python}share/flann/python/pyflann/io/binary_dataset.py
+${PLIST.python}share/flann/python/pyflann/io/binary_dataset.pyc
+${PLIST.python}share/flann/python/pyflann/io/dat_dataset.py
+${PLIST.python}share/flann/python/pyflann/io/dat_dataset.pyc
+${PLIST.python}share/flann/python/pyflann/io/dataset.py
+${PLIST.python}share/flann/python/pyflann/io/dataset.pyc
+${PLIST.python}share/flann/python/pyflann/io/hdf5_dataset.py
+${PLIST.python}share/flann/python/pyflann/io/hdf5_dataset.pyc
+${PLIST.python}share/flann/python/pyflann/io/npy_dataset.py
+${PLIST.python}share/flann/python/pyflann/io/npy_dataset.pyc
+${PLIST.python}share/flann/python/pyflann/util/__init__.py
+${PLIST.python}share/flann/python/pyflann/util/weave_tools.py
+${PLIST.python}share/flann/python/setup.py
diff --git a/flann/distinfo b/flann/distinfo
new file mode 100644
index 0000000000000000000000000000000000000000..86ba38cb079d9888cdbed959bfe53f94ad278dee
--- /dev/null
+++ b/flann/distinfo
@@ -0,0 +1,3 @@
+SHA1 (flann-1.6.6-src.zip) = d14a359f9d07e6b1ea84968d6d658afd2a13f89a
+RMD160 (flann-1.6.6-src.zip) = 28c9d11f7d9eaaf0cce86dbceb03cf0b6cb2a7ca
+Size (flann-1.6.6-src.zip) = 423938 bytes