Browse Source

cppdb: enable postgresql support

Also:
Fix mysql support.
Add hash file.
Forcibly disable automatic db support when it's not selected.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Gustavo Zacarias 10 years ago
parent
commit
2641edb8c4

+ 2 - 2
package/cppdb/Config.in

@@ -5,7 +5,7 @@ config BR2_PACKAGE_CPPDB
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	# Can be built without them but it's useless
 	# Can be built without them but it's useless
-	depends on BR2_PACKAGE_MYSQL || BR2_PACKAGE_SQLITE
+	depends on BR2_PACKAGE_MYSQL || BR2_PACKAGE_POSTGRESQL || BR2_PACKAGE_SQLITE
 	help
 	help
 	  CppDB is an SQL connectivity library that is designed to provide
 	  CppDB is an SQL connectivity library that is designed to provide
 	  platform and Database independent connectivity API similarly
 	  platform and Database independent connectivity API similarly
@@ -14,6 +14,6 @@ config BR2_PACKAGE_CPPDB
 	  http://cppcms.com/sql/cppdb/
 	  http://cppcms.com/sql/cppdb/
 
 
 comment "cppdb needs a toolchain w/ C++, threads, dynamic library"
 comment "cppdb needs a toolchain w/ C++, threads, dynamic library"
-	depends on BR2_PACKAGE_MYSQL || BR2_PACKAGE_SQLITE
+	depends on BR2_PACKAGE_MYSQL || BR2_PACKAGE_POSTGRESQL || BR2_PACKAGE_SQLITE
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
 		BR2_PREFER_STATIC_LIB
 		BR2_PREFER_STATIC_LIB

+ 23 - 0
package/cppdb/cppdb-0001-mysql-library-suffix.patch

@@ -0,0 +1,23 @@
+Add mysql/ to PATH_SUFFIXES for the library search for mysql.
+
+On common distros libmysqlclient* is installed and/or symlinked
+into /usr/lib.
+Since we install the libraries into /usr/lib/mysql alone cppdb
+fails to properly link to it giving runtime errors.
+
+Status: https://sourceforge.net/p/cppcms/bugs/135/
+
+Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+
+diff -Nura cppdb-0.3.1.orig/CMakeLists.txt cppdb-0.3.1/CMakeLists.txt
+--- cppdb-0.3.1.orig/CMakeLists.txt	2014-10-17 11:05:57.875429748 -0300
++++ cppdb-0.3.1/CMakeLists.txt	2014-10-17 11:12:57.486775484 -0300
+@@ -196,7 +196,7 @@
+ endif()
+ 
+ if(NOT DISABLE_MYSQL)
+-	find_library(MYSQL_LIB mysqlclient)
++	find_library(MYSQL_LIB mysqlclient PATH_SUFFIXES mysql)
+ 	find_path(MYSQL_PATH mysql.h PATH_SUFFIXES mysql)
+ 	if(MYSQL_LIB AND MYSQL_PATH)
+ 		include_directories(${MYSQL_PATH})

+ 3 - 0
package/cppdb/cppdb.hash

@@ -0,0 +1,3 @@
+# From http://sourceforge.net/projects/cppcms/files/cppdb/0.3.1/
+md5	129f1d75f46114b79160b93807d5223f	cppdb-0.3.1.tar.bz2
+sha1	c0410dcc482d71696ac9206044b3a3ac03d31f96	cppdb-0.3.1.tar.bz2

+ 12 - 1
package/cppdb/cppdb.mk

@@ -14,7 +14,18 @@ CPPDB_LICENSE_FILES = LICENSE_1_0.txt MIT.txt
 
 
 ifeq ($(BR2_PACKAGE_MYSQL),y)
 ifeq ($(BR2_PACKAGE_MYSQL),y)
 CPPDB_DEPENDENCIES += mysql
 CPPDB_DEPENDENCIES += mysql
-CPPDB_CONF_OPTS += -DMYSQL_LIB=$(STAGING_DIR)/usr/lib/mysql
+else
+CPPDB_CONF_OPTS += -DDISABLE_MYSQL=ON
+endif
+
+ifeq ($(BR2_PACKAGE_POSTGRESQL),y)
+CPPDB_DEPENDENCIES += postgresql
+else
+CPPDB_CONF_OPTS += -DDISABLE_PQ=ON
+endif
+
+ifeq ($(BR2_PACKAGE_SQLITE),)
+CPPDB_CONF_OPTS += -DDISABLE_SQLITE=ON
 endif
 endif
 
 
 $(eval $(cmake-package))
 $(eval $(cmake-package))