Re: abi-compliance-checker

From: "Tristan Partin" <tristan(at)neon(dot)tech>
To: "Peter Eisentraut" <peter(at)eisentraut(dot)org>, "Peter Geoghegan" <pg(at)bowt(dot)ie>, "PostgreSQL Hackers" <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: abi-compliance-checker
Date: 2023-06-06 16:52:25
Message-ID: CT5Q1YQ4X567.21JVAKGNQNBNP@gonk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

+abidiff = find_program('abidiff', native: false, required: false)
+abidw = find_program('abidw', native: false, required: false)
+
+abidw_flags = [
+ '--drop-undefined-syms',
+ '--no-architecture',
+ '--no-comp-dir-path',
+ '--no-elf-needed',
+ '--no-show-locs',
+ '--type-id-style', 'hash',
+]
+abidw_cmd = [abidw, abidw_flags, '--out-file', '@OUTPUT@', '@INPUT@']

It would make sense to me to mark abidiff and abidw as disabler: true.

+if abidw.found()
+ libpq_abi = custom_target('libpq.abi.xml',
+ input: libpq_so,
+ output: 'libpq.abi.xml',
+ command: abidw_cmd,
+ build_by_default: true)
+endif
+
+if abidiff.found()
+ test('libpq.abidiff',
+ abidiff,
+ args: [files('libpq.base.abi.xml'), libpq_abi],
+ suite: 'abidiff',
+ verbose: true)
+endif

With disabler: true, you can drop the conditionals. Disablers tell Meson
to disable parts of the build[0].

I also don't think it makes sense to mark the custom_targets as
build_by_default: true, unless you see value in that. I would just have
them built when the test is ran.

However, it might make sense to create an alias_target of all the ABI
XML files for people that want to interact with the files outside of the
tests for whatever reason.

[0]: https://mesonbuild.com/Reference-manual_returned_disabler.html

--
Tristan Partin
Neon (https://neon.tech)

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Laurenz Albe 2023-06-06 16:57:57 Re: ERROR: could not determine which collation to use for string comparison
Previous Message Heikki Linnakangas 2023-06-06 16:31:14 Re: Potential us of initialized memory in xlogrecovery.c