add test for volatile
diff --git a/acconfig.h b/acconfig.h
index 494dea2..a68c11c 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -63,5 +63,8 @@
 /* Define if you want to use the GNU readline library */
 #undef WITH_READLINE
 
+/* Define to empty if the keyword does not work.  */
+#undef volatile
+
 
 /* Leave that blank line there-- autoheader needs it! */
diff --git a/config.h.in b/config.h.in
index a3fc506..d91fbd9 100644
--- a/config.h.in
+++ b/config.h.in
@@ -138,6 +138,9 @@
 /* Define if you want to use the GNU readline library */
 #undef WITH_READLINE
 
+/* Define to empty if the keyword does not work.  */
+#undef volatile
+
 /* Define if you have chown.  */
 #undef HAVE_CHOWN
 
diff --git a/configure b/configure
index 656c575..981af9d 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #!/bin/sh
-# From configure.in Revision: 1.6 
+# From configure.in Revision: 1.8 
 #!/bin/sh
 # Guess values for system-dependent variables and create Makefiles.
 # Generated automatically using autoconf version 1.11 
@@ -1916,7 +1916,34 @@
 rm -f conftest*
 
 
-test -n "$silent" || echo "checking for signed char"
+test -n "$silent" || echo "checking for lack of working volatile"
+cat > conftest.${ac_ext} <<EOF
+#include "confdefs.h"
+
+int main() { return 0; }
+int t() { volatile int x; x = 0;; return 0; }
+EOF
+if eval $ac_compile; then
+  :
+else
+  rm -rf conftest*
+  
+{
+test -n "$verbose" && \
+echo "	defining" volatile to be empty
+echo "#define" volatile "" >> confdefs.h
+DEFS="$DEFS -Dvolatile="
+ac_sed_defs="${ac_sed_defs}\${ac_dA}volatile\${ac_dB}volatile\${ac_dC}\${ac_dD}
+\${ac_uA}volatile\${ac_uB}volatile\${ac_uC}\${ac_uD}
+\${ac_eA}volatile\${ac_eB}volatile\${ac_eC}\${ac_eD}
+"
+}
+
+fi
+rm -f conftest*
+
+
+test -n "$silent" || echo "checking for lack of working signed char"
 cat > conftest.${ac_ext} <<EOF
 #include "confdefs.h"
 
diff --git a/configure.in b/configure.in
index 7201d84..6ca1f5a 100644
--- a/configure.in
+++ b/configure.in
@@ -214,7 +214,9 @@
 
 AC_CONST
 
-AC_COMPILE_CHECK([signed char], [], [signed char c;], [], AC_DEFINE(signed, []))
+AC_COMPILE_CHECK([lack of working volatile],[],[volatile int x; x = 0;],,AC_DEFINE(volatile,))
+
+AC_COMPILE_CHECK([lack of working signed char], [], [signed char c;],,AC_DEFINE(signed, []))
 
 AC_CHECKING(for prototypes)
 AC_TEST_PROGRAM([