postgresql: enable uclibc build
authorPeter Seiderer <ps.report@gmx.net>
Tue, 10 Mar 2015 19:59:37 +0000 (20:59 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 15 Mar 2015 17:56:32 +0000 (18:56 +0100)
Build with uclibc and locale support failes with the following error
message:

regc_pg_locale.c: In function ‘pg_wc_isdigit’:
regc_pg_locale.c:312:6: error: dereferencing pointer to incomplete type
      isdigit_l((unsigned char) c, pg_regex_locale));

This can be fixed by overwriting the HAVE_LOCALE_T detection (thanks
to Alex Potapenko <opotapenko@gmail.com> for the hint [1]).

[1] http://lists.busybox.net/pipermail/buildroot/2015-March/121088.html

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/postgresql/Config.in
package/postgresql/postgresql.mk

index 3ef5e6c68310d14da3673f1177ac8c6204a83e75..519b2a17a1627c979f17775a2b46590d7888c075 100644 (file)
@@ -1,9 +1,5 @@
 config BR2_PACKAGE_POSTGRESQL
        bool "postgresql"
-       # PostgreSQL does not build against uClibc with locales
-       # enabled, due to an uClibc bug, see
-       # http://lists.uclibc.org/pipermail/uclibc/2014-April/048326.html.
-       depends on BR2_TOOLCHAIN_USES_GLIBC
        help
          PostgreSQL is a powerful, open source object-relational
          database system.
@@ -16,6 +12,3 @@ config BR2_PACKAGE_POSTGRESQL
          archives with pg_dump and pg_restore.
 
          http://www.postgresql.org
-
-comment "postgresql needs a toolchain w/ glibc"
-       depends on !BR2_TOOLCHAIN_USES_GLIBC
index 7dfef06ffa6c585cc5a4dc952645d3f5a433c67b..03154afe3a2aca7c4fb2390538da1f88cfa333c6 100644 (file)
@@ -13,6 +13,14 @@ POSTGRESQL_LICENSE_FILES = COPYRIGHT
 POSTGRESQL_INSTALL_STAGING = YES
 POSTGRESQL_CONFIG_SCRIPTS = pg_config
 
+ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
+# PostgreSQL does not build against uClibc with locales
+# enabled, due to an uClibc bug, see
+# http://lists.uclibc.org/pipermail/uclibc/2014-April/048326.html
+# so overwrite automatic detection and disable locale support
+POSTGRESQL_CONF_ENV += pgac_cv_type_locale_t=no
+endif
+
 ifneq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
        POSTGRESQL_CONF_OPTS += --disable-thread-safety
 endif