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>
This commit is contained in:
Gustavo Zacarias 2014-10-17 11:25:54 -03:00 committed by Thomas Petazzoni
parent 7b36de16ea
commit 2641edb8c4
4 changed files with 40 additions and 3 deletions

View File

@ -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

View File

@ -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
package/cppdb/cppdb.hash Normal file
View File

@ -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

View File

@ -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))