meson: catch up to a few configure changes

I (Andres) missed a few recent changes to configure when merging
e6927270cd "meson: Add initial version of meson based build system". Mirror
the changes in
- ec3c9cc202 "Add definition pg_attribute_aligned() for MSVC"
- b086a47a27 "Bump minimum version of Bison to 2.3"
- 8b878bffa8 "Bump minimum version of Flex to 2.5.35"

As MSVC does not implement 128 bit integers, the oversight of not using
pg_attribute_aligned() should not have current practical consequences. But of
course the code from c.h should still be correctly mirrored.

I (Andres) also hadn't implemented the minimum perl version check. Added that
now.

Reported-by: Junwang Zhao <zhjwpku@gmail.com>
Author: Junwang Zhao <zhjwpku@gmail.com>
Author: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/CAEG8a3K9c87EwAwmdOgmS0Li1J6P_7r-Uc0-zN6cJtrMr7VvPg@mail.gmail.com
This commit is contained in:
Andres Freund 2022-10-15 12:00:16 -07:00
parent cba4e78f35
commit 57bab33302
1 changed files with 8 additions and 3 deletions

View File

@ -316,8 +316,8 @@ endif
# External programs
perl = find_program(get_option('PERL'), required: true, native: true)
python = find_program(get_option('PYTHON'), required: true, native: true)
flex = find_program(get_option('FLEX'), native: true, version: '>= 2.5.31')
bison = find_program(get_option('BISON'), native: true, version: '>= 1.875')
flex = find_program(get_option('FLEX'), native: true, version: '>= 2.5.35')
bison = find_program(get_option('BISON'), native: true, version: '>= 2.3')
sed = find_program(get_option('SED'), 'sed', native: true)
prove = find_program(get_option('PROVE'), native: true)
tar = find_program(get_option('TAR'), native: true)
@ -864,7 +864,10 @@ if not perlopt.disabled()
perl_inc_dir = '@0@/CORE'.format(archlibexp)
if useshrplib != 'true'
if perlversion.version_compare('< 5.14')
perl_may_work = false
perl_msg = 'Perl version 5.14 or later is required, but this is @0@'.format(perlversion)
elif useshrplib != 'true'
perl_may_work = false
perl_msg = 'need a shared perl'
endif
@ -1458,6 +1461,8 @@ if cc.links('''
/* This must match the corresponding code in c.h: */
#if defined(__GNUC__) || defined(__SUNPRO_C) || defined(__IBMC__)
#define pg_attribute_aligned(a) __attribute__((aligned(a)))
#elif defined(_MSC_VER)
#define pg_attribute_aligned(a) __declspec(align(a))
#endif
typedef __int128 int128a
#if defined(pg_attribute_aligned)