Обсуждение: ecpg_config.h symbol missing with meson

Поиск
Список
Период
Сортировка

ecpg_config.h symbol missing with meson

От
Peter Eisentraut
Дата:
I checked the generated ecpg_config.h with make and meson, and the meson 
one is missing

#define HAVE_LONG_LONG_INT 1

This is obviously quite uninteresting, since that is required by C99. 
But it would be more satisfactory if we didn't have discrepancies like 
that.  Note that we also kept ENABLE_THREAD_SAFETY in ecpg_config.h for 
compatibility.

Fixing this on the meson side would be like

diff --git a/src/interfaces/ecpg/include/meson.build 
b/src/interfaces/ecpg/include/meson.build
index 31610fef589..b85486acbea 100644
--- a/src/interfaces/ecpg/include/meson.build
+++ b/src/interfaces/ecpg/include/meson.build
@@ -12,6 +12,7 @@ ecpg_conf_keys = [
  ecpg_conf_data = configuration_data()

  ecpg_conf_data.set('ENABLE_THREAD_SAFETY', 1)
+ecpg_conf_data.set('HAVE_LONG_LONG_INT', 1)

  foreach key : ecpg_conf_keys
    if cdata.has(key)

Alternatively, we could remove the symbol from the make side.



Re: ecpg_config.h symbol missing with meson

От
Tom Lane
Дата:
Peter Eisentraut <peter@eisentraut.org> writes:
> I checked the generated ecpg_config.h with make and meson, and the meson 
> one is missing

> #define HAVE_LONG_LONG_INT 1

> This is obviously quite uninteresting, since that is required by C99. 
> But it would be more satisfactory if we didn't have discrepancies like 
> that.  Note that we also kept ENABLE_THREAD_SAFETY in ecpg_config.h for 
> compatibility.
> ...
> Alternatively, we could remove the symbol from the make side.

Think I'd vote for removing it, since we use it nowhere.
The ENABLE_THREAD_SAFETY precedent feels a little bit different,
since there's not the C99-requires-the-feature angle.

            regards, tom lane



Re: ecpg_config.h symbol missing with meson

От
Peter Eisentraut
Дата:
On 17.04.24 18:15, Tom Lane wrote:
> Peter Eisentraut <peter@eisentraut.org> writes:
>> I checked the generated ecpg_config.h with make and meson, and the meson
>> one is missing
> 
>> #define HAVE_LONG_LONG_INT 1
> 
>> This is obviously quite uninteresting, since that is required by C99.
>> But it would be more satisfactory if we didn't have discrepancies like
>> that.  Note that we also kept ENABLE_THREAD_SAFETY in ecpg_config.h for
>> compatibility.
>> ...
>> Alternatively, we could remove the symbol from the make side.
> 
> Think I'd vote for removing it, since we use it nowhere.
> The ENABLE_THREAD_SAFETY precedent feels a little bit different,
> since there's not the C99-requires-the-feature angle.

Ok, fixed by removing instead.