configure / util: Auto-detect the availability of openpty()
Recent versions of Solaris (v11.4) now feature an openpty() function, too, causing a build failure since we ship our own implementation of openpty() for Solaris in util/qemu-openpty.c so far. Since there are now both variants available in the wild, with and without this function (and illumos is said to not have this function yet), let's introduce a proper HAVE_OPENPTY define for this to fix the build failure. Message-Id: <20200702143955.678-1-thuth@redhat.com> Tested-by: Michele Denber <denber@mindspring.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
51b3ca9759
commit
9df8b20d16
9
configure
vendored
9
configure
vendored
@ -5134,10 +5134,14 @@ extern int openpty(int *am, int *as, char *name, void *termp, void *winp);
|
||||
int main(void) { return openpty(0, 0, 0, 0, 0); }
|
||||
EOF
|
||||
|
||||
if ! compile_prog "" "" ; then
|
||||
have_openpty="no"
|
||||
if compile_prog "" "" ; then
|
||||
have_openpty="yes"
|
||||
else
|
||||
if compile_prog "" "-lutil" ; then
|
||||
libs_softmmu="-lutil $libs_softmmu"
|
||||
libs_tools="-lutil $libs_tools"
|
||||
have_openpty="yes"
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -7380,6 +7384,9 @@ fi
|
||||
if test "$have_broken_size_max" = "yes" ; then
|
||||
echo "HAVE_BROKEN_SIZE_MAX=y" >> $config_host_mak
|
||||
fi
|
||||
if test "$have_openpty" = "yes" ; then
|
||||
echo "HAVE_OPENPTY=y" >> $config_host_mak
|
||||
fi
|
||||
|
||||
# Work around a system header bug with some kernel/XFS header
|
||||
# versions where they both try to define 'struct fsxattr':
|
||||
|
@ -52,7 +52,9 @@
|
||||
#endif
|
||||
|
||||
#ifdef __sun__
|
||||
/* Once Solaris has openpty(), this is going to be removed. */
|
||||
|
||||
#if !defined(HAVE_OPENPTY)
|
||||
/* Once illumos has openpty(), this is going to be removed. */
|
||||
static int openpty(int *amaster, int *aslave, char *name,
|
||||
struct termios *termp, struct winsize *winp)
|
||||
{
|
||||
@ -93,6 +95,7 @@ err:
|
||||
close(mfd);
|
||||
return -1;
|
||||
}
|
||||
#endif
|
||||
|
||||
static void cfmakeraw (struct termios *termios_p)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user