mirror of
git://git.sv.gnu.org/autoconf
synced 2024-11-27 01:49:56 +08:00
AC_TYPE_PID_T: Define pid_t correctly on 64-bit native Windows.
Reported at <https://savannah.gnu.org/support/index.php?110296>. * lib/autoconf/types.m4 (AC_TYPE_PID_T): Define pid_t to '__int64' on 64-bit native Windows, and to 'int' otherwise.
This commit is contained in:
parent
9b5c0f1774
commit
da4c468de9
@ -610,7 +610,32 @@ AN_IDENTIFIER([ssize_t], [AC_TYPE_SSIZE_T])
|
||||
AC_DEFUN([AC_TYPE_SSIZE_T], [AC_CHECK_TYPE(ssize_t, int)])
|
||||
|
||||
AN_IDENTIFIER([pid_t], [AC_TYPE_PID_T])
|
||||
AC_DEFUN([AC_TYPE_PID_T], [AC_CHECK_TYPE(pid_t, int)])
|
||||
AC_DEFUN([AC_TYPE_PID_T],
|
||||
[
|
||||
AC_CHECK_TYPE([pid_t],
|
||||
[],
|
||||
[dnl On 64-bit native Windows, define it to the equivalent of 'intptr_t'
|
||||
dnl (= 'long long' = '__int64'), because that is the return type
|
||||
dnl of the _spawnv* functions
|
||||
dnl <https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/spawnvp-wspawnvp>
|
||||
dnl and the argument type of the _cwait function
|
||||
dnl <https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/cwait>.
|
||||
dnl Otherwise (on 32-bit Windows and on old Unix platforms), define it
|
||||
dnl to 'int'.
|
||||
AC_COMPILE_IFELSE(
|
||||
[AC_LANG_PROGRAM([[
|
||||
#if defined _WIN64 && !defined __CYGWIN__
|
||||
LLP64
|
||||
#endif
|
||||
]])
|
||||
],
|
||||
[ac_pid_type='int'],
|
||||
[ac_pid_type='__int64'])
|
||||
AC_DEFINE_UNQUOTED([pid_t], [$ac_pid_type],
|
||||
[Define as a signed integer type capable of holding a process identifier.])
|
||||
],
|
||||
[AC_INCLUDES_DEFAULT])
|
||||
])
|
||||
|
||||
AN_IDENTIFIER([off_t], [AC_TYPE_OFF_T])
|
||||
AC_DEFUN([AC_TYPE_OFF_T], [AC_CHECK_TYPE(off_t, long int)])
|
||||
|
Loading…
Reference in New Issue
Block a user