--- a/src/configure
+++ b/src/configure
@@ -602,6 +602,7 @@
 ac_subst_vars='LTLIBOBJS
 LIBOBJS
 RCLVERSION
+NOPYTHON
 NOPIC
 LIBQZEITGEIST
 QMAKE_DISABLE_ZEITGEIST
@@ -692,6 +693,7 @@
 with_fam
 enable_xattr
 enable_camelcase
+enable_python_module
 enable_pic
 enable_qtgui
 enable_webkit
@@ -1341,9 +1343,10 @@
                           manual" and "my sql manual" are the same, but not
                           the same as "mysql manual" (in phrases only and you
                           could raise the phrase slack to get a match).
-  --enable-pic            Compile library objects as position independant
-                          code. This is necessary for building the php
-                          extension.
+  --disable-python-module Do not build the Python module.
+  --enable-pic            Do not compile library objects as position
+                          independant code. This is incompatible with the php
+                          or python extensions.
   --disable-qtgui         Disable the QT-based graphical user interface.
   --disable-webkit        Disable use of qt-webkit.
   --disable-x11mon        Disable recollindex support for X11 session
@@ -4343,21 +4346,43 @@
 
 fi
 
-# Build PIC objects for the library. This is necessary when building the
-# php extension, would be useful for the others, and costs little. I wonder
-# if this should be made the default.
-# Not by default as these are little used for now.
+# Disable building the python module. This is built by default, because
+# it's really the easiest way to interface and extend recoll. It forces PIC
+# objects for everything (indexing performance impact: 1%), because it's
+# just not worth building the lib twice
+# You can still have a non-pic recoll with:
+#   configure --disable-python-module; make; make install;make clean
+#   configure; make; cd python/recoll; make install
+#
+# Check whether --enable-python-module was given.
+if test "${enable_python_module+set}" = set; then :
+  enableval=$enable_python_module; pythonEnabled=$enableval
+else
+  pythonEnabled=yes
+fi
+
+if test X$pythonEnabled = Xyes ; then
+  NOPYTHON=""
+else
+  NOPYTHON="#"
+fi
+
+# Build PIC objects for the library ?
 # Check whether --enable-pic was given.
 if test "${enable_pic+set}" = set; then :
   enableval=$enable_pic; picEnabled=$enableval
 else
-  picEnabled=no
-fi
-
-if test X$picEnabled = Xyes ; then
-  NOPIC=""
-else
-  NOPIC="#"
+  picEnabled=forpython
+fi
+
+case $picEnabled in
+forpython) picEnabled=$pythonEnabled; NOPIC=$NOPYTHON;;
+yes) NOPIC="";;
+*) NOPIC="#";;
+esac
+
+if test X$pythonEnabled = Xyes -a X$picEnabled != Xyes; then
+   as_fn_error $? "Python build needs PIC library" "$LINENO" 5
 fi
 
 for ac_func in mkdtemp
@@ -5646,6 +5671,7 @@
 
 
 
+
 # All object files depend on localdefs which has the cc flags. Avoid
 # changing it unless necessary
 ac_config_files="$ac_config_files mk/localdefs.new:mk/localdefs.in"
@@ -5657,6 +5683,8 @@
 ac_config_files="$ac_config_files sampleconf/recoll.conf"
 
 ac_config_files="$ac_config_files common/rclversion.h"
+
+ac_config_files="$ac_config_files python/recoll/setup.py"
 
 
 for d in bincimapmime index lib query
@@ -6375,6 +6403,7 @@
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
     "sampleconf/recoll.conf") CONFIG_FILES="$CONFIG_FILES sampleconf/recoll.conf" ;;
     "common/rclversion.h") CONFIG_FILES="$CONFIG_FILES common/rclversion.h" ;;
+    "python/recoll/setup.py") CONFIG_FILES="$CONFIG_FILES python/recoll/setup.py" ;;
 
   *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac