Add an option to disable bsddb

bsddb has an external dependency on Berkeley DB. Since we want to be
able to build Python without it, this patch adds an option to disable
the build/installation of this Python module.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>

---
 Makefile.pre.in |   10 ++++++++--
 configure.in    |   22 ++++++++++++++++++++++
 2 files changed, 30 insertions(+), 2 deletions(-)

Index: Python-2.7.2/Makefile.pre.in
===================================================================
--- Python-2.7.2.orig/Makefile.pre.in
+++ Python-2.7.2/Makefile.pre.in
@@ -861,7 +861,7 @@
 		email email/mime \
 		json \
 		sqlite3 \
-		logging bsddb csv importlib wsgiref \
+		logging csv importlib wsgiref \
 		ctypes  ctypes/macholib idlelib idlelib/Icons \
 		distutils distutils/command \
 		multiprocessing multiprocessing/dummy \
@@ -873,7 +873,7 @@
 LIBSUBDIRS +=   test test/data \
 		test/cjkencodings test/decimaltestdata test/xmltestdata test/subprocessdata \
 		test/tracedmodules email/test email/test/data \
-		json/tests  bsddb/test \
+		json/tests \
 		ctypes/test distutils/tests unittest/test
 endif
 
@@ -914,6 +914,13 @@
 LIBSUBDIRS += $(XMLLIBSUBDIRS)
 endif
 
+ifeq (@BSDDB@,yes)
+LIBSUBDIRS += bsddb
+ifeq (@TEST_MODULES@,yes)
+LIBSUBDIRS += bsddb/test
+endif
+endif
+
 libinstall:	build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
 	@for i in $(SCRIPTDIR) $(LIBDEST); \
 	do \
Index: Python-2.7.2/configure.in
===================================================================
--- Python-2.7.2.orig/configure.in
+++ Python-2.7.2/configure.in
@@ -2436,6 +2436,28 @@
     	     DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} nis"
   	  fi])
 
+AC_ARG_ENABLE(dbm,
+	AS_HELP_STRING([--disable-dbm], [disable DBM]),
+	[ if test "$enableval" = "no"; then
+    	     DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} dbm"
+  	  fi])
+
+AC_ARG_ENABLE(gdbm,
+	AS_HELP_STRING([--disable-gdbm], [disable GDBM]),
+	[ if test "$enableval" = "no"; then
+    	     DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} gdbm"
+  	  fi])
+
+AC_SUBST(BSDDB)
+AC_ARG_ENABLE(bsddb,
+	AS_HELP_STRING([--disable-bsddb], [disable BerkeyleyDB]),
+	[ if test "$enableval" = "no"; then
+    	     BSDDB=no
+    	     DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} bsddb"
+  	  else
+	     BSDDB=yes
+  	  fi], [ BSDDB=yes ])
+
 AC_ARG_ENABLE(unicodedata,
 	AS_HELP_STRING([--disable-unicodedata], [disable unicodedata]),
 	[ if test "$enableval" = "no"; then
