diff --git a/configure b/configure
index 8409bba518c4d87f825a472da1d38dbf73a5cf54..90b8ca42367ad2e27605e7ac7340e86d16e5226d 100755
--- a/configure
+++ b/configure
@@ -147,6 +147,7 @@ debug="yes"
 extralibs="-lm"
 simpleidct="yes"
 bigendian="no"
+emu_fast_int="no"
 vhook="default"
 dlfcn="no"
 dlopen="no"
@@ -625,6 +626,18 @@ fi
 
 fi
 
+# ---
+# *int_fast* test
+cat > $TMPC << EOF
+#include <inttypes.h>
+int main(int argc, char ** argv){
+	volatile uint_fast64_t i=0x01234567;
+	return 0;
+}
+EOF
+
+$cc -o $TMPE $TMPC 2>/dev/null || emu_fast_int="yes"
+
 # ---
 # check availability of some header files
 
@@ -850,6 +863,7 @@ echo "C compiler       $cc"
 echo "make             $make"
 echo "CPU              $cpu ($tune)"
 echo "Big Endian       $bigendian"
+echo "broken inttypes.h $emu_fast_int"
 if test $cpu = "x86"; then
 echo "MMX enabled      $mmx"
 echo "Vector Builtins  $builtin_vector"
@@ -942,6 +956,15 @@ if test "$bigendian" = "yes" ; then
   echo "WORDS_BIGENDIAN=yes" >> config.mak
   echo "#define WORDS_BIGENDIAN 1" >> $TMPH
 fi
+if test "$emu_fast_int" = "yes" ; then
+#note, we dont try to emulate fast64
+  echo "typedef signed char int_fast8_t" >> $TMPH
+  echo "typedef signed int  int_fast16_t" >> $TMPH
+  echo "typedef signed int  int_fast32_t" >> $TMPH
+  echo "typedef unsigned char uint_fast8_t" >> $TMPH
+  echo "typedef unsigned int  uint_fast16_t" >> $TMPH
+  echo "typedef unsigned int  uint_fast32_t" >> $TMPH
+fi
 if test "$mmx" = "yes" ; then
   echo "TARGET_MMX=yes" >> config.mak
   echo "#define HAVE_MMX 1" >> $TMPH