Bug 803855 - Port __stdcall and ssize_t configure.in changes to comm-central r=Callek
--- a/configure.in
+++ b/configure.in
@@ -2398,23 +2398,51 @@ if test -z "$COMPILE_ENVIRONMENT"; then
SKIP_COMPILER_CHECKS=1
SKIP_LIBRARY_CHECKS=1
fi
MOZ_COMPILER_OPTS
if test -z "$SKIP_COMPILER_CHECKS"; then
dnl Checks for typedefs, structures, and compiler characteristics.
dnl ========================================================
-AC_LANG_C
AC_HEADER_STDC
AC_C_CONST
AC_TYPE_MODE_T
AC_TYPE_OFF_T
AC_TYPE_PID_T
AC_TYPE_SIZE_T
+AC_LANG_CPLUSPLUS
+AC_MSG_CHECKING(for __stdcall)
+AC_CACHE_VAL(ac_cv___stdcall,
+ [AC_TRY_COMPILE([template <typename Method> struct foo;
+ template <> struct foo<void (*)()> {};
+ template <> struct foo<void (__stdcall*)()> {};],
+ [],
+ [ac_cv___stdcall=true],
+ [ac_cv___stdcall=false])])
+if test "$ac_cv___stdcall" = true ; then
+ AC_DEFINE(HAVE_STDCALL)
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_RESULT(no)
+fi
+AC_LANG_C
+AC_MSG_CHECKING(for ssize_t)
+AC_CACHE_VAL(ac_cv_type_ssize_t,
+ [AC_TRY_COMPILE([#include <stdio.h>
+ #include <sys/types.h>],
+ [ssize_t foo = 0;],
+ [ac_cv_type_ssize_t=true],
+ [ac_cv_type_ssize_t=false])])
+if test "$ac_cv_type_ssize_t" = true ; then
+ AC_DEFINE(HAVE_SSIZE_T)
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_RESULT(no)
+fi
AC_STRUCT_ST_BLKSIZE
AC_MSG_CHECKING(for siginfo_t)
AC_CACHE_VAL(ac_cv_siginfo_t,
[AC_TRY_COMPILE([#define _POSIX_C_SOURCE 199506L
#include <signal.h>],
[siginfo_t* info;],
[ac_cv_siginfo_t=true],
[ac_cv_siginfo_t=false])])