diff --git a/common/mem.h b/common/mem.h index 8ba6586b..980ea139 100644 --- a/common/mem.h +++ b/common/mem.h @@ -22,10 +22,40 @@ #include #include +#ifdef HAVE_CONFIG_H +# include +#endif + #ifdef __cplusplus extern "C" { #endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_ALLOCA_H +# include +#elif defined __GNUC__ +# define alloca __builtin_alloca +#elif defined _AIX +# define alloca __alloca +#elif defined _MSC_VER +# include +# define alloca _alloca +#else +# ifndef HAVE_ALLOCA +# ifdef __cplusplus +extern "C" +# endif +void *alloca (size_t); +# endif +#endif + typedef struct SpiceChunk { uint8_t *data; uint32_t len; diff --git a/configure.ac b/configure.ac index 4b3d59fe..18209bfd 100644 --- a/configure.ac +++ b/configure.ac @@ -27,6 +27,7 @@ AC_C_BIGENDIAN AC_PATH_PROGS(PYTHON, python2 python) AC_CHECK_HEADERS([sys/time.h]) +AC_FUNC_ALLOCA SPICE_LT_VERSION=m4_format("%d:%d:%d", 1, 0, 2) AC_SUBST(SPICE_LT_VERSION)