Commit 2641edb8 authored by Gustavo Zacarias's avatar Gustavo Zacarias Committed by Thomas Petazzoni
Browse files

cppdb: enable postgresql support



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

Signed-off-by: default avatarGustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent 7b36de16
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@ config BR2_PACKAGE_CPPDB
	depends on BR2_INSTALL_LIBSTDCPP
	depends on BR2_TOOLCHAIN_HAS_THREADS
	# 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
	  CppDB is an SQL connectivity library that is designed to provide
	  platform and Database independent connectivity API similarly
@@ -14,6 +14,6 @@ config BR2_PACKAGE_CPPDB
	  http://cppcms.com/sql/cppdb/

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 || \
		BR2_PREFER_STATIC_LIB
+23 −0
Original line number Diff line number Diff line
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
Original line number Diff line number Diff line
# 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
Original line number Diff line number Diff line
@@ -14,7 +14,18 @@ CPPDB_LICENSE_FILES = LICENSE_1_0.txt MIT.txt

ifeq ($(BR2_PACKAGE_MYSQL),y)
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

$(eval $(cmake-package))