Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pg3IM-0007TT-T7 for pgsql-hackers@arkaria.postgresql.org; Sat, 25 Mar 2023 12:46:54 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pg3IL-0005gu-Aa for pgsql-hackers@arkaria.postgresql.org; Sat, 25 Mar 2023 12:46:53 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pg3IL-0005ef-0n for pgsql-hackers@lists.postgresql.org; Sat, 25 Mar 2023 12:46:53 +0000 Received: from relay3-d.mail.gandi.net ([2001:4b98:dc4:8::223]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pg3IH-0007aM-Ep for pgsql-hackers@lists.postgresql.org; Sat, 25 Mar 2023 12:46:51 +0000 Received: (Authenticated sender: adsend@dunslane.net) by mail.gandi.net (Postfix) with ESMTPSA id 542BB60006; Sat, 25 Mar 2023 12:46:43 +0000 (UTC) Content-Type: multipart/alternative; boundary="------------v9r9i1t9Bz8pGjaP36KbOobM" Message-ID: <9d6751ad-c5fd-b267-c25d-e88f876c8860@dunslane.net> Date: Sat, 25 Mar 2023 08:46:42 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Content-Language: en-US From: Andrew Dunstan Subject: meson/msys2 fails with plperl/Strawberry To: Andres Freund , PostgreSQL Hackers List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------v9r9i1t9Bz8pGjaP36KbOobM Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, config/perl.m4 contains this: AC_MSG_CHECKING(for flags to link embedded Perl) if test "$PORTNAME" = "win32" ; then perl_lib=`basename $perl_archlibexp/CORE/perl[[5-9]]*.lib .lib` if test -e "$perl_archlibexp/CORE/$perl_lib.lib"; then perl_embed_ldflags="-L$perl_archlibexp/CORE -l$perl_lib" else perl_lib=`basename $perl_archlibexp/CORE/libperl[[5-9]]*.a .a | sed 's/^lib//'` if test -e "$perl_archlibexp/CORE/lib$perl_lib.a"; then perl_embed_ldflags="-L$perl_archlibexp/CORE -l$perl_lib" fi fi else pgac_tmp1=`$PERL -MExtUtils::Embed -e ldopts` pgac_tmp2=`$PERL -MConfig -e 'print "$Config{ccdlflags} $Config{ldflags}"'` perl_embed_ldflags=`echo X"$pgac_tmp1" | sed -e "s/^X//" -e "s%$pgac_tmp2%%"` fi AC_SUBST(perl_embed_ldflags)dnl I don't see any equivalent in meson.build of the win32 logic, and thus I am getting a setup failure on fairywren when trying to move it to meson, while it will happily build with autoconf. I would expect the ld flags to be "-LC:/STRAWB~1/perl/lib/CORE -lperl532" (Off topic peeve - one of the things I dislike about meson is that the meson.build files are written in YA bespoke language). cheers andrew -- Andrew Dunstan EDB:https://www.enterprisedb.com --------------v9r9i1t9Bz8pGjaP36KbOobM Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Hi,


config/perl.m4 contains this:


AC_MSG_CHECKING(for flags to link embedded Perl)
if test "$PORTNAME" = "win32" ; then
    perl_lib=`basename $perl_archlibexp/CORE/perl[[5-9]]*.lib .lib`
    if test -e "$perl_archlibexp/CORE/$perl_lib.lib"; then
        perl_embed_ldflags="-L$perl_archlibexp/CORE -l$perl_lib"
    else
        perl_lib=`basename $perl_archlibexp/CORE/libperl[[5-9]]*.a .a | sed 's/^lib//'`
        if test -e "$perl_archlibexp/CORE/lib$perl_lib.a"; then
            perl_embed_ldflags="-L$perl_archlibexp/CORE -l$perl_lib"
        fi
    fi
else
    pgac_tmp1=`$PERL -MExtUtils::Embed -e ldopts`
    pgac_tmp2=`$PERL -MConfig -e 'print "$Config{ccdlflags} $Config{ldflags}"'`
    perl_embed_ldflags=`echo X"$pgac_tmp1" | sed -e "s/^X//" -e "s%$pgac_tmp2%%"`
fi
AC_SUBST(perl_embed_ldflags)dnl

I don't see any equivalent in meson.build of the win32 logic, and thus I am getting a setup failure on fairywren when trying to move it to meson, while it will happily build with autoconf.

I would expect the ld flags to be "-LC:/STRAWB~1/perl/lib/CORE -lperl532"

(Off topic peeve - one of the things I dislike about meson is that the meson.build files are written in YA bespoke language).


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com
--------------v9r9i1t9Bz8pGjaP36KbOobM--