[3.11] gh-78469: Declare missing sethostname for Solaris 10 (GH-109447) (#110581)

Add OS version specific macro for Solaris: Py_SUNOS_VERSION.
(cherry picked from commit 3b1580af07)

Co-authored-by: Jakub Kulík <Kulikjak@gmail.com>
This commit is contained in:
Miss Islington (bot) 2023-10-10 12:06:18 +02:00 committed by GitHub
parent 2b3a418279
commit 194272179d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 25 additions and 2 deletions

View File

@ -5534,8 +5534,9 @@ socket_sethostname(PyObject *self, PyObject *args)
Py_buffer buf;
int res, flag = 0;
#ifdef _AIX
/* issue #18259, not declared in any useful header file */
#if defined(_AIX) || (defined(__sun) && defined(__SVR4) && Py_SUNOS_VERSION <= 510)
/* issue #18259, sethostname is not declared in any useful header file on AIX
* the same is true for Solaris 10 */
extern int sethostname(const char *, size_t);
#endif

11
configure generated vendored
View File

@ -3860,6 +3860,17 @@ then
darwin*) MACHDEP="darwin";;
'') MACHDEP="unknown";;
esac
if test "$ac_sys_system" = "SunOS"; then
# For Solaris, there isn't an OS version specific macro defined
# in most compilers, so we define one here.
SUNOS_VERSION=`echo $ac_sys_release | sed -e 's!\.\(0-9\)$!.0\1!g' | tr -d '.'`
cat >>confdefs.h <<_ACEOF
#define Py_SUNOS_VERSION $SUNOS_VERSION
_ACEOF
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: \"$MACHDEP\"" >&5
$as_echo "\"$MACHDEP\"" >&6; }

View File

@ -582,6 +582,14 @@ then
darwin*) MACHDEP="darwin";;
'') MACHDEP="unknown";;
esac
if test "$ac_sys_system" = "SunOS"; then
# For Solaris, there isn't an OS version specific macro defined
# in most compilers, so we define one here.
SUNOS_VERSION=`echo $ac_sys_release | sed -e 's!\.\([0-9]\)$!.0\1!g' | tr -d '.'`
AC_DEFINE_UNQUOTED([Py_SUNOS_VERSION], [$SUNOS_VERSION],
[The version of SunOS/Solaris as reported by `uname -r' without the dot.])
fi
fi
AC_MSG_RESULT("$MACHDEP")

View File

@ -1595,6 +1595,9 @@
/* Define if you want to enable internal statistics gathering. */
#undef Py_STATS
/* The version of SunOS/Solaris as reported by `uname -r' without the dot. */
#undef Py_SUNOS_VERSION
/* Define if you want to enable tracing references for debugging purpose */
#undef Py_TRACE_REFS