pid_t.m4 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. # pid_t.m4 serial 4
  2. dnl Copyright (C) 2020-2023 Free Software Foundation, Inc.
  3. dnl This file is free software; the Free Software Foundation
  4. dnl gives unlimited permission to copy and/or distribute it,
  5. dnl with or without modifications, as long as this notice is preserved.
  6. # The following implementation works around a problem in autoconf <= 2.69.
  7. m4_version_prereq([2.70], [], [
  8. dnl Define pid_t if the headers don't define it.
  9. AC_DEFUN([AC_TYPE_PID_T],
  10. [
  11. AC_CHECK_TYPE([pid_t],
  12. [],
  13. [dnl On 64-bit native Windows, define it to the equivalent of 'intptr_t'
  14. dnl (= 'long long' = '__int64'), because that is the return type
  15. dnl of the _spawnv* functions
  16. dnl <https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/spawnvp-wspawnvp>
  17. dnl and the argument type of the _cwait function
  18. dnl <https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/cwait>.
  19. dnl Otherwise (on 32-bit Windows and on old Unix platforms), define it
  20. dnl to 'int'.
  21. AC_COMPILE_IFELSE(
  22. [AC_LANG_PROGRAM([[
  23. #if defined _WIN64 && !defined __CYGWIN__
  24. LLP64
  25. #endif
  26. ]])
  27. ],
  28. [gl_pid_type='int'],
  29. [gl_pid_type='__int64'])
  30. AC_DEFINE_UNQUOTED([pid_t], [$gl_pid_type],
  31. [Define as a signed integer type capable of holding a process identifier.])
  32. ],
  33. [AC_INCLUDES_DEFAULT])
  34. ])
  35. ])# m4_version_prereq 2.70