Re: PostgreSQL does not compile on macOS SDK 15.0
Thomas Munro <thomas.munro@gmail.com>
From: Thomas Munro <thomas.munro@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andres Freund <andres@anarazel.de>,
Aleksander Alekseev <aleksander@timescale.com>, Pg Hackers <pgsql-hackers@lists.postgresql.org>, Stan Hu <stanhu@gmail.com>
Date: 2024-07-04T06:08:56Z
Lists: pgsql-hackers
Attachments
- v1-0001-Cope-with-regex.h-name-clashes.patch (text/x-patch) patch v1-0001
On Mon, Jul 1, 2024 at 2:06 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: > Thomas Munro <thomas.munro@gmail.com> writes: > > I don't have any great ideas about what to do about this. > > Cybersquatting system facilities is a messy business, so maybe the > > proposed grotty solution is actually appropriate! We did bring this > > duelling Henry Spencers problem upon ourselves. Longer term, > > pg_regex_t seems to make a lot of sense, except IIUC we want to keep > > this code in sync with TCL so perhaps a configurable prefix could be > > done with macrology? > > Yeah. I'd do pg_regex_t in a minute except that it'd break existing > extensions using our facilities. However, your mention of macrology > stirred an idea: could we have our regex/regex.h intentionally > #include the system regex.h and then do > #define regex_t pg_regex_t > ? If that works, our struct is really pg_regex_t, but we don't have > to change any existing calling code. It might get a bit messy > undef'ing and redef'ing all the other macros in regex/regex.h, but > I think we could make it fly without any changes in other files. Good idea. Here's an attempt at that. I don't have a Mac with beta SDK 15 yet, but I think this should work?
Commits
-
Cope with <regex.h> name clashes.
- 9c273679b36b 17.0 landed
- 31423bc4489d 16.4 landed
- 467d77bb1634 15.8 landed
- c2342a925b70 14.13 landed
- 440aedc0fb18 13.16 landed
- 274a8195d479 12.20 landed
- 2a5ef0983040 18.0 landed