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); }
|
int main(void) { return openpty(0, 0, 0, 0, 0); }
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
if ! compile_prog "" "" ; then
|
have_openpty="no"
|
||||||
|
if compile_prog "" "" ; then
|
||||||
|
have_openpty="yes"
|
||||||
|
else
|
||||||
if compile_prog "" "-lutil" ; then
|
if compile_prog "" "-lutil" ; then
|
||||||
libs_softmmu="-lutil $libs_softmmu"
|
libs_softmmu="-lutil $libs_softmmu"
|
||||||
libs_tools="-lutil $libs_tools"
|
libs_tools="-lutil $libs_tools"
|
||||||
|
have_openpty="yes"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -7380,6 +7384,9 @@ fi
|
|||||||
if test "$have_broken_size_max" = "yes" ; then
|
if test "$have_broken_size_max" = "yes" ; then
|
||||||
echo "HAVE_BROKEN_SIZE_MAX=y" >> $config_host_mak
|
echo "HAVE_BROKEN_SIZE_MAX=y" >> $config_host_mak
|
||||||
fi
|
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
|
# Work around a system header bug with some kernel/XFS header
|
||||||
# versions where they both try to define 'struct fsxattr':
|
# versions where they both try to define 'struct fsxattr':
|
||||||
|
@ -52,7 +52,9 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __sun__
|
#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,
|
static int openpty(int *amaster, int *aslave, char *name,
|
||||||
struct termios *termp, struct winsize *winp)
|
struct termios *termp, struct winsize *winp)
|
||||||
{
|
{
|
||||||
@ -93,6 +95,7 @@ err:
|
|||||||
close(mfd);
|
close(mfd);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static void cfmakeraw (struct termios *termios_p)
|
static void cfmakeraw (struct termios *termios_p)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user