فهرست منبع

package/libpqxx: needs C++17

libpqxx's v7.x series requires C++17 support. Adjust the configuration
selection to require a newer toolchain, as well as force a C++17
standard to ensure libpqxx's custom C++ standard check [1] passes.

Fixes:
 - http://autobuild.buildroot.net/results/a79cb93aec74acc8e32809530c09e26bebaf16e4/
 - http://autobuild.buildroot.net/results/ae1a02b5238b650cdc79edb298c398b078882cfc/

[1]: https://github.com/jtv/libpqxx/blob/7.7.5/configure.ac#L106-L124

Signed-off-by: James Knight <james.d.knight@live.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
James Knight 2 سال پیش
والد
کامیت
1e0e8540eb
2فایلهای تغییر یافته به همراه6 افزوده شده و 4 حذف شده
  1. 3 3
      package/libpqxx/Config.in
  2. 3 1
      package/libpqxx/libpqxx.mk

+ 3 - 3
package/libpqxx/Config.in

@@ -2,7 +2,7 @@ config BR2_PACKAGE_LIBPQXX
 	bool "libpqxx"
 	depends on BR2_PACKAGE_POSTGRESQL
 	depends on BR2_TOOLCHAIN_HAS_THREADS
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++11
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17
 	depends on BR2_INSTALL_LIBSTDCPP
 	help
 	  libpqxx is the official C++ client API for PostgreSQL, the
@@ -10,8 +10,8 @@ config BR2_PACKAGE_LIBPQXX
 
 	  http://pqxx.org/development/libpqxx/
 
-comment "libpqxx needs toolchain w/ C++, gcc >= 4.9, threads"
+comment "libpqxx needs toolchain w/ C++, gcc >= 7, threads"
 	depends on BR2_PACKAGE_POSTGRESQL
 	depends on !BR2_INSTALL_LIBSTDCPP || \
-		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \
 		!BR2_TOOLCHAIN_HAS_THREADS

+ 3 - 1
package/libpqxx/libpqxx.mk

@@ -11,6 +11,8 @@ LIBPQXX_DEPENDENCIES = postgresql
 LIBPQXX_LICENSE = BSD-3-Clause
 LIBPQXX_LICENSE_FILES = COPYING
 
-LIBPQXX_CONF_ENV += ac_cv_path_PG_CONFIG=$(STAGING_DIR)/usr/bin/pg_config
+LIBPQXX_CONF_ENV = \
+	ac_cv_path_PG_CONFIG=$(STAGING_DIR)/usr/bin/pg_config \
+	CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++17"
 
 $(eval $(autotools-package))