Thread

Commits

  1. meson: Define HAVE_LOCALE_T for msvc

  1. Meson doesn't define HAVE_LOCALE_T for mscv

    Juan José Santamaría Flecha <juanjo.santamaria@gmail.com> — 2022-11-10T09:59:41Z

    Hello all,
    
    Meson doesn't see the redefinition of locale_t done
    in src/include/port/win32_port.h, so is not defining
    HAVE_LOCALE_T, HAVE_WCSTOMBS_L nor HAVE_MBSTOWCS_L as the
    current src/tools/msvc/build.pl script does.
    
    Please find attached a patch for so.
    
    Regards,
    
    Juan José Santamaría Flecha
    
  2. Re: Meson doesn't define HAVE_LOCALE_T for mscv

    Peter Eisentraut <peter.eisentraut@enterprisedb.com> — 2022-11-11T15:02:49Z

    On 10.11.22 10:59, Juan José Santamaría Flecha wrote:
    > Meson doesn't see the redefinition of locale_t done 
    > in src/include/port/win32_port.h, so is not defining 
    > HAVE_LOCALE_T, HAVE_WCSTOMBS_L nor HAVE_MBSTOWCS_L as the 
    > current src/tools/msvc/build.pl <http://build.pl> script does.
    > 
    > Please find attached a patch for so.
    
    committed
    
    
    
    
    
  3. Re: Meson doesn't define HAVE_LOCALE_T for mscv

    Andres Freund <andres@anarazel.de> — 2022-11-15T00:49:26Z

    Hi,
    
    On 2022-11-10 10:59:41 +0100, Juan José Santamaría Flecha wrote:
    > Meson doesn't see the redefinition of locale_t done
    > in src/include/port/win32_port.h, so is not defining
    > HAVE_LOCALE_T, HAVE_WCSTOMBS_L nor HAVE_MBSTOWCS_L as the
    > current src/tools/msvc/build.pl script does.
    > 
    > Please find attached a patch for so.
    
    Hm. Is it right that the changes are only done for msvc? win32_port.h defines
    the types for mingw as well afaict.
    
    Greetings,
    
    Andres Freund
    
    
    
    
  4. Re: Meson doesn't define HAVE_LOCALE_T for mscv

    Juan José Santamaría Flecha <juanjo.santamaria@gmail.com> — 2022-11-15T14:35:31Z

    On Tue, Nov 15, 2022 at 1:49 AM Andres Freund <andres@anarazel.de> wrote:
    
    >
    > Hm. Is it right that the changes are only done for msvc? win32_port.h
    > defines
    > the types for mingw as well afaict.
    >
    > Yes, it does, but configure does nothing with them, so adding those
    defines is a new feature for MinGW but a correction for MSVC.
    
    PFA a patch for MinGW.
    
    I've seen that when building with meson on MinGW the output for version()
    is 'PostgreSQL 16devel on x86_64, compiled by gcc-12.2.0', which is not
    wrong but I cannot tell that it was done on MinGW. Should we include the
    'host_system' in PG_VERSION_STR?
    
    Regards,
    
    Juan José Santamaría Flecha
    
  5. Re: Meson doesn't define HAVE_LOCALE_T for mscv

    Andres Freund <andres@anarazel.de> — 2022-11-15T19:53:18Z

    Hi,
    
    On 2022-11-15 15:35:31 +0100, Juan José Santamaría Flecha wrote:
    > I've seen that when building with meson on MinGW the output for version()
    > is 'PostgreSQL 16devel on x86_64, compiled by gcc-12.2.0', which is not
    > wrong but I cannot tell that it was done on MinGW. Should we include the
    > 'host_system' in PG_VERSION_STR?
    
    I don't think we should print mingw - that's really just redundant with
    gcc. But including host_system seems like a good idea. Not sure why I didn't
    do that.
    
    Greetings,
    
    Andres Freund
    
    
    
    
  6. Re: Meson doesn't define HAVE_LOCALE_T for mscv

    Andres Freund <andres@anarazel.de> — 2022-11-15T20:02:53Z

    Hi,
    
    Hm, the quoting was odd, making me think you had written a separate email
    about the define issue. Hence the separate email...
    
    
    On 2022-11-15 15:35:31 +0100, Juan José Santamaría Flecha wrote:
    > On Tue, Nov 15, 2022 at 1:49 AM Andres Freund <andres@anarazel.de> wrote:
    > > Hm. Is it right that the changes are only done for msvc? win32_port.h
    > > defines the types for mingw as well afaict.
    
    > Yes, it does, but configure does nothing with them, so adding those
    > defines is a new feature for MinGW but a correction for MSVC.
    
    Any chance you checked if autoconf already detects locale_t with mingw?
    Possible that mingw supplies one of the relevant headers...
    
    Otherwise it looks like a sensible improvement to me.
    
    Greetings,
    
    Andres Freund
    
    
    
    
  7. Re: Meson doesn't define HAVE_LOCALE_T for mscv

    Juan José Santamaría Flecha <juanjo.santamaria@gmail.com> — 2022-11-16T00:06:04Z

    On Tue, Nov 15, 2022 at 8:53 PM Andres Freund <andres@anarazel.de> wrote:
    
    >
    > I don't think we should print mingw - that's really just redundant with
    > gcc. But including host_system seems like a good idea. Not sure why I
    > didn't
    > do that.
    >
    > I'll open a new thread for this. Also, I think this is skipping
    collate.linux.utf.sql and infinite_recurse.sql tests in their intended
    platforms.
    
    Regards,
    
    Juan José Santamaría Flecha
    
  8. Re: Meson doesn't define HAVE_LOCALE_T for mscv

    Juan José Santamaría Flecha <juanjo.santamaria@gmail.com> — 2022-11-16T00:10:52Z

    On Tue, Nov 15, 2022 at 9:02 PM Andres Freund <andres@anarazel.de> wrote:
    
    >
    > On 2022-11-15 15:35:31 +0100, Juan José Santamaría Flecha wrote:
    > > On Tue, Nov 15, 2022 at 1:49 AM Andres Freund <andres@anarazel.de>
    > wrote:
    > > > Hm. Is it right that the changes are only done for msvc? win32_port.h
    > > > defines the types for mingw as well afaict.
    >
    > > Yes, it does, but configure does nothing with them, so adding those
    > > defines is a new feature for MinGW but a correction for MSVC.
    >
    > Any chance you checked if autoconf already detects locale_t with mingw?
    > Possible that mingw supplies one of the relevant headers...
    >
    > Otherwise it looks like a sensible improvement to me.
    >
    > I've checked the autoconf version of pg_config.h and it's not detected.
    Also, manually inspecting <locale.h> I see no definition of locale_t in
    MinGW.
    
    Regards,
    
    Juan José Santamaría Flecha