diff mbox series

[meta-oe,6/6] psqlodbc: fix build with gcc-15

Message ID 20250422175742.786560-6-martin.jansa@gmail.com
State Under Review
Headers show
Series [meta-oe,1/6] vulkan-cts-sources: fix build with gcc-15 | expand

Commit Message

Martin Jansa April 22, 2025, 5:57 p.m. UTC
From: Martin Jansa <martin.jansa@gmail.com>

configure: make sure to call AC_CHECK_HEADER_STDBOOL before using ac_cv_sizeof_bool

It was called after this conditional, so PG_USE_STDBOOL wasn't set
even when it should be as shown in at the end of config.log:

  ac_cv_header_stdbool_h=yes
  ac_cv_sizeof_bool=1
  ac_cv_type__Bool=yes
  #define SIZEOF_BOOL 1
  #define HAVE__BOOL 1
  #define HAVE_STDBOOL_H 1

* fixes:
  https://github.com/postgresql-interfaces/psqlodbc/issues/110
  https://github.com/postgresql-interfaces/psqlodbc/issues/94

http://errors.yoctoproject.org/Errors/Details/852841/

In file included from ../psqlodbc-16.00.0000/environ.h:16,
                 from ../psqlodbc-16.00.0000/environ.c:16:
../psqlodbc-16.00.0000/psqlodbc.h:264:23: error: 'bool' cannot be defined via 'typedef'
  264 | typedef unsigned char bool;
      |                       ^~~~

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
---
 ...sure-to-call-AC_CHECK_HEADER_STDBOOL.patch | 45 +++++++++++++++++++
 .../psqlodbc/psqlodbc_16.00.0000.bb           |  1 +
 2 files changed, 46 insertions(+)
 create mode 100644 meta-oe/recipes-dbs/psqlodbc/files/0001-configure-make-sure-to-call-AC_CHECK_HEADER_STDBOOL.patch
diff mbox series

Patch

diff --git a/meta-oe/recipes-dbs/psqlodbc/files/0001-configure-make-sure-to-call-AC_CHECK_HEADER_STDBOOL.patch b/meta-oe/recipes-dbs/psqlodbc/files/0001-configure-make-sure-to-call-AC_CHECK_HEADER_STDBOOL.patch
new file mode 100644
index 0000000000..9cc5ad9b86
--- /dev/null
+++ b/meta-oe/recipes-dbs/psqlodbc/files/0001-configure-make-sure-to-call-AC_CHECK_HEADER_STDBOOL.patch
@@ -0,0 +1,45 @@ 
+From 5bfa9f1cd0523a0cad70cacf5ecf8c1aeb06c4d0 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <martin.jansa@gmail.com>
+Date: Tue, 22 Apr 2025 17:47:02 +0000
+Subject: [PATCH] configure: make sure to call AC_CHECK_HEADER_STDBOOL
+
+before using ac_cv_sizeof_bool
+
+It was called after this conditional, so PG_USE_STDBOOL wasn't set
+even when it should be as shown in at the end of config.log:
+
+  ac_cv_header_stdbool_h=yes
+  ac_cv_sizeof_bool=1
+  ac_cv_type__Bool=yes
+  #define SIZEOF_BOOL 1
+  #define HAVE__BOOL 1
+  #define HAVE_STDBOOL_H 1
+
+* fixes:
+  https://github.com/postgresql-interfaces/psqlodbc/issues/110
+  https://github.com/postgresql-interfaces/psqlodbc/issues/94
+
+Upstream-Status: Submitted [https://github.com/postgresql-interfaces/psqlodbc/pull/112]
+
+Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
+---
+ configure.ac | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index f35c825..ea363ca 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -28,9 +28,11 @@ AC_CHECK_SIZEOF([bool], [],
+ #include <stdbool.h>
+ #endif])
+ 
++AC_CHECK_HEADER_STDBOOL()
++
+ dnl We use <stdbool.h> if we have it and it declares type bool as having
+ dnl size 1.  Otherwise, c.h will fall back to declaring bool as unsigned char.
+-if test "$ac_cv_header_stdbool_h" = yes -a "$ac_cv_sizeof_bool" = 1; then
++if test "$ac_cv_header_stdbool_h" = yes && test "$ac_cv_sizeof_bool" = 1; then
+   AC_DEFINE([PG_USE_STDBOOL], 1,
+             [Define to 1 to use <stdbool.h> to define type bool.])
+ fi
diff --git a/meta-oe/recipes-dbs/psqlodbc/psqlodbc_16.00.0000.bb b/meta-oe/recipes-dbs/psqlodbc/psqlodbc_16.00.0000.bb
index d3b3ea5109..dfd7f6a1e6 100644
--- a/meta-oe/recipes-dbs/psqlodbc/psqlodbc_16.00.0000.bb
+++ b/meta-oe/recipes-dbs/psqlodbc/psqlodbc_16.00.0000.bb
@@ -23,6 +23,7 @@  SRC_URI = "http://ftp.postgresql.org/pub/odbc/versions.old/src/${BPN}-${PV}.tar.
     file://psqlodbc-remove-some-checks-for-cross-compiling.patch \
     file://psqlodbc-donot-use-the-hardcode-libdir.patch \
     file://psqlodbc-fix-for-ptest-support.patch \
+    file://0001-configure-make-sure-to-call-AC_CHECK_HEADER_STDBOOL.patch \
     file://run-ptest \
 "