+AC_CHECK_FUNCS([memmove setenv],
+ [],[AC_MSG_ERROR([function is required])])
+AC_CHECK_FUNCS([execvpe])
+dnl These are not in POSIX.
+AC_CHECK_FUNCS([fwrite_unlocked fputs_unlocked fputc_unlocked])
+dnl Internal functions in libc implementations which must be hooked.
+AC_CHECK_FUNCS([__overflow __swbuf])
+
+dnl Thanks to gperftools' configure.ac (https://code.google.com/p/gperftools).
+AC_MSG_CHECKING([for __builtin_expect])
+AC_LINK_IFELSE([AC_LANG_PROGRAM([],[return __builtin_expect(main != 0, 1)])],
+ [AC_DEFINE([HAVE___BUILTIN_EXPECT], 1,
+ [Define to 1 if the compiler supports __builtin_expect().])
+ AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])])