alloca.h is not universally available
diff --git a/configure.ac b/configure.ac
index ce85ebf..64a37a9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -92,6 +92,7 @@
 dnl Checks for header files.
 AC_HEADER_STDC
 AC_CHECK_HEADERS(sys/param.h)
+AC_CHECK_HEADERS(alloca.h)
 
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_BIGENDIAN
diff --git a/skeletons/asn_system.h b/skeletons/asn_system.h
index a9c4ad3..24d8da7 100644
--- a/skeletons/asn_system.h
+++ b/skeletons/asn_system.h
@@ -15,13 +15,16 @@
 
 #include <stdio.h>	/* For snprintf(3) */
 #include <stdlib.h>	/* For *alloc(3) */
-#include <alloca.h>	/* For alloca(3) */
 #include <string.h>	/* For memcpy(3) */
 #include <sys/types.h>	/* For size_t */
 #include <limits.h>	/* For LONG_MAX */
 #include <stdarg.h>	/* For va_start */
 #include <stddef.h>	/* for offsetof and ptrdiff_t */
 
+#ifdef	HAVE_ALLOCA_H
+#include <alloca.h>	/* For alloca(3) */
+#endif
+
 #ifdef	_WIN32
 
 #include <malloc.h>