Kaynağa Gözat

cppcms: fix build with uClibc

This patch modifies the cppcms package in order to support uClibc-based
toolchains.

The booster library by default compiles with the posix backend under
Linux, but this needs monetary.h which isn't provided by uClibc, so
work around that with the help of the DISABLE_POSIX_LOCALE configure
option.

Signed-off-by: Lucile Quirion <lucile.quirion@savoirfairelinux.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Lucile Quirion 11 yıl önce
ebeveyn
işleme
a518381ed8
2 değiştirilmiş dosya ile 7 ekleme ve 4 silme
  1. 2 4
      package/cppcms/Config.in
  2. 5 0
      package/cppcms/cppcms.mk

+ 2 - 4
package/cppcms/Config.in

@@ -4,8 +4,6 @@ config BR2_PACKAGE_CPPCMS
 	select BR2_PACKAGE_PCRE
 	select BR2_PACKAGE_PCRE
 	select BR2_PACKAGE_LIBGCRYPT
 	select BR2_PACKAGE_LIBGCRYPT
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_INSTALL_LIBSTDCPP
-	# cppcms uses <monetary.h> which doesn't exist in uClibc
-	depends on BR2_TOOLCHAIN_USES_GLIBC
 	help
 	help
 	  CppCMS is a Free High Performance Web Development Framework
 	  CppCMS is a Free High Performance Web Development Framework
 	  (not a CMS) aimed for Rapid Web Application Development. It
 	  (not a CMS) aimed for Rapid Web Application Development. It
@@ -33,5 +31,5 @@ config BR2_PACKAGE_CPPCMS_ICU
 
 
 endif
 endif
 
 
-comment "cppcms needs an (e)glibc toolchain w/ C++"
-	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_USES_GLIBC
+comment "cppcms needs a toolchain w/ C++"
+	depends on !BR2_INSTALL_LIBSTDCPP

+ 5 - 0
package/cppcms/cppcms.mk

@@ -18,6 +18,11 @@ CPPCMS_CONF_OPT += -DDISABLE_ICONV=ON
 CPPCMS_DEPENDENCIES += icu
 CPPCMS_DEPENDENCIES += icu
 endif
 endif
 
 
+ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
+# posix backend needs monetary.h which isn't available on uClibc
+CPPCMS_CONF_OPT += -DDISABLE_POSIX_LOCALE=on
+endif
+
 # We copy cppcms_tmpl_cc from staging to host because this file can be
 # We copy cppcms_tmpl_cc from staging to host because this file can be
 # needed for compiling packages using cppcms. And it is not worth
 # needed for compiling packages using cppcms. And it is not worth
 # creating a host package just for a python script.
 # creating a host package just for a python script.