diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2019-01-18 15:06:26 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2019-01-18 15:06:26 -0500 |
commit | e4ffa0dcb797d625d590ff25d232d1bbc991aa28 (patch) | |
tree | 92afca27f427e0b00cccf9cecc1d32b0bcc8f4f5 /configure.in | |
parent | 4dff8935fbab64aef38470424cc57dbda9efa1cf (diff) | |
download | postgresql-e4ffa0dcb797d625d590ff25d232d1bbc991aa28.tar.gz postgresql-e4ffa0dcb797d625d590ff25d232d1bbc991aa28.zip |
Use our own getopt() on OpenBSD.
Recent OpenBSD (at least 5.9 and up) has a version of getopt(3)
that will not cope with the "-:" spec we use to accept double-dash
options in postgres.c and postmaster.c. Admittedly, that's a hack
because POSIX only requires getopt() to allow alphanumeric option
characters. I have no desire to find another way, however, so
let's just do what we were already doing on Solaris: force use
of our own src/port/getopt.c implementation.
In passing, improve some of the comments around said implementation.
Per buildfarm and local testing. Back-patch to all supported branches.
Discussion: https://postgr.es/m/30197.1547835700@sss.pgh.pa.us
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/configure.in b/configure.in index 18f952650ca..9099cb2525b 100644 --- a/configure.in +++ b/configure.in @@ -1717,9 +1717,9 @@ else AC_LIBOBJ(getopt_long) fi -# Solaris' getopt() doesn't do what we want for long options, so always use -# our version on that platform. -if test "$PORTNAME" = "solaris"; then +# On OpenBSD and Solaris, getopt() doesn't do what we want for long options +# (i.e., allow '-' as a flag character), so use our version on those platforms. +if test "$PORTNAME" = "openbsd" -o "$PORTNAME" = "solaris"; then AC_LIBOBJ(getopt) fi |