diff -ur m17n-lib-1.4.0-orig/configure.ac m17n-lib-1.4.0/configure.ac
--- m17n-lib-1.4.0-orig/configure.ac 2007-05-24 19:42:48.000000000 +0700
+++ m17n-lib-1.4.0/configure.ac 2007-07-27 13:10:20.884804220 +0700
@@ -49,7 +49,7 @@
AC_HEADER_DIRENT
AC_HEADER_TIME
AC_CHECK_HEADERS([fcntl.h langinfo.h limits.h locale.h stdlib.h \
- string.h strings.h sys/time.h unistd.h])
+ string.h strings.h sys/time.h unistd.h alloca.h])
AC_CHECK_HEADER(X11/Xaw/Command.h, HAVE_XAW=yes)
dnl Checks for typedefs, structures, and compiler characteristics.
diff -ur m17n-lib-1.4.0-orig/example/mdump.c m17n-lib-1.4.0/example/mdump.c
--- m17n-lib-1.4.0-orig/example/mdump.c 2007-05-16 09:38:54.000000000 +0700
+++ m17n-lib-1.4.0/example/mdump.c 2007-07-27 13:10:20.854897484 +0700
@@ -245,6 +245,9 @@
#include <stdio.h>
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <string.h>
#include <ctype.h>
#include <libgen.h>
diff -ur m17n-lib-1.4.0-orig/example/medit.c m17n-lib-1.4.0/example/medit.c
--- m17n-lib-1.4.0-orig/example/medit.c 2007-05-19 09:17:48.000000000 +0700
+++ m17n-lib-1.4.0/example/medit.c 2007-07-27 13:10:20.854231378 +0700
@@ -89,6 +89,9 @@
#include <stdio.h>
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
diff -ur m17n-lib-1.4.0-orig/example/mimx-anthy.c m17n-lib-1.4.0/example/mimx-anthy.c
--- m17n-lib-1.4.0-orig/example/mimx-anthy.c 2006-12-14 08:34:59.000000000 +0700
+++ m17n-lib-1.4.0/example/mimx-anthy.c 2007-07-27 13:10:20.852332904 +0700
@@ -104,6 +104,13 @@
#include <string.h>
#include <m17n.h>
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
+
#ifdef HAVE_ANTHY
#include <anthy/anthy.h>
diff -ur m17n-lib-1.4.0-orig/example/mimx-ispell.c m17n-lib-1.4.0/example/mimx-ispell.c
--- m17n-lib-1.4.0-orig/example/mimx-ispell.c 2007-05-16 09:33:41.000000000 +0700
+++ m17n-lib-1.4.0/example/mimx-ispell.c 2007-07-27 13:10:20.852595984 +0700
@@ -85,6 +85,12 @@
#include <stdio.h>
#include <string.h>
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <m17n-gui.h>
#ifdef HAVE_ISPELL
diff -ur m17n-lib-1.4.0-orig/intl/bindtextdom.c m17n-lib-1.4.0/intl/bindtextdom.c
--- m17n-lib-1.4.0-orig/intl/bindtextdom.c 2006-09-21 18:03:05.000000000 +0700
+++ m17n-lib-1.4.0/intl/bindtextdom.c 2007-07-27 13:10:20.851991648 +0700
@@ -23,6 +23,9 @@
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#ifdef _LIBC
# include <libintl.h>
diff -ur m17n-lib-1.4.0-orig/intl/dcigettext.c m17n-lib-1.4.0/intl/dcigettext.c
--- m17n-lib-1.4.0-orig/intl/dcigettext.c 2006-09-21 18:03:05.000000000 +0700
+++ m17n-lib-1.4.0/intl/dcigettext.c 2007-07-27 13:10:20.851582120 +0700
@@ -61,6 +61,9 @@
#include <stddef.h>
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <string.h>
#if defined HAVE_UNISTD_H || defined _LIBC
diff -ur m17n-lib-1.4.0-orig/intl/finddomain.c m17n-lib-1.4.0/intl/finddomain.c
--- m17n-lib-1.4.0-orig/intl/finddomain.c 2006-09-21 18:03:05.000000000 +0700
+++ m17n-lib-1.4.0/intl/finddomain.c 2007-07-27 13:10:20.846252948 +0700
@@ -24,6 +24,9 @@
#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <string.h>
#if defined HAVE_UNISTD_H || defined _LIBC
diff -ur m17n-lib-1.4.0-orig/intl/l10nflist.c m17n-lib-1.4.0/intl/l10nflist.c
--- m17n-lib-1.4.0-orig/intl/l10nflist.c 2006-09-21 18:03:05.000000000 +0700
+++ m17n-lib-1.4.0/intl/l10nflist.c 2007-07-27 13:10:20.848824740 +0700
@@ -35,6 +35,9 @@
#include <ctype.h>
#include <sys/types.h>
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include "loadinfo.h"
diff -ur m17n-lib-1.4.0-orig/intl/langprefs.c m17n-lib-1.4.0/intl/langprefs.c
--- m17n-lib-1.4.0-orig/intl/langprefs.c 2006-09-21 18:03:05.000000000 +0700
+++ m17n-lib-1.4.0/intl/langprefs.c 2007-07-27 13:10:20.850184146 +0700
@@ -23,6 +23,9 @@
#endif
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#if HAVE_CFPREFERENCESCOPYAPPVALUE
# include <string.h>
diff -ur m17n-lib-1.4.0-orig/intl/loadmsgcat.c m17n-lib-1.4.0/intl/loadmsgcat.c
--- m17n-lib-1.4.0-orig/intl/loadmsgcat.c 2006-09-21 18:03:05.000000000 +0700
+++ m17n-lib-1.4.0/intl/loadmsgcat.c 2007-07-27 13:10:20.847915870 +0700
@@ -33,6 +33,10 @@
#include <sys/types.h>
#include <sys/stat.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
+
#ifdef __GNUC__
# undef alloca
# define alloca __builtin_alloca
diff -ur m17n-lib-1.4.0-orig/intl/localcharset.c m17n-lib-1.4.0/intl/localcharset.c
--- m17n-lib-1.4.0-orig/intl/localcharset.c 2006-09-21 18:03:05.000000000 +0700
+++ m17n-lib-1.4.0/intl/localcharset.c 2007-07-27 13:10:20.850522630 +0700
@@ -39,6 +39,9 @@
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#if defined _WIN32 || defined __WIN32__
# undef WIN32 /* avoid warning on mingw32 */
diff -ur m17n-lib-1.4.0-orig/intl/localealias.c m17n-lib-1.4.0/intl/localealias.c
--- m17n-lib-1.4.0-orig/intl/localealias.c 2006-09-21 18:03:05.000000000 +0700
+++ m17n-lib-1.4.0/intl/localealias.c 2007-07-27 13:10:20.849477155 +0700
@@ -58,6 +58,9 @@
#endif
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <string.h>
#include "gettextP.h"
diff -ur m17n-lib-1.4.0-orig/intl/localename.c m17n-lib-1.4.0/intl/localename.c
--- m17n-lib-1.4.0-orig/intl/localename.c 2006-09-21 18:03:05.000000000 +0700
+++ m17n-lib-1.4.0/intl/localename.c 2007-07-27 13:10:20.847152434 +0700
@@ -26,6 +26,9 @@
#include <stdlib.h>
#include <locale.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#if HAVE_CFLOCALECOPYCURRENT || HAVE_CFPREFERENCESCOPYAPPVALUE
# include <string.h>
diff -ur m17n-lib-1.4.0-orig/intl/plural.y m17n-lib-1.4.0/intl/plural.y
--- m17n-lib-1.4.0-orig/intl/plural.y 2006-09-21 18:03:05.000000000 +0700
+++ m17n-lib-1.4.0/intl/plural.y 2007-07-27 13:10:20.850804468 +0700
@@ -32,6 +32,9 @@
#include <stddef.h>
#include <stdlib.h>
+#ifdef sun
+#include <alloca.h>
+#endif
#include "plural-exp.h"
/* The main function generated by the parser is called __gettextparse,
diff -ur m17n-lib-1.4.0-orig/intl/printf-parse.c m17n-lib-1.4.0/intl/printf-parse.c
--- m17n-lib-1.4.0-orig/intl/printf-parse.c 2006-09-21 18:03:05.000000000 +0700
+++ m17n-lib-1.4.0/intl/printf-parse.c 2007-07-27 13:10:20.849880547 +0700
@@ -41,6 +41,10 @@
/* malloc(), realloc(), free(). */
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
+
/* Checked size_t computations. */
#include "xsize.h"
diff -ur m17n-lib-1.4.0-orig/intl/printf.c m17n-lib-1.4.0/intl/printf.c
--- m17n-lib-1.4.0-orig/intl/printf.c 2006-09-21 18:03:05.000000000 +0700
+++ m17n-lib-1.4.0/intl/printf.c 2007-07-27 13:10:20.849122537 +0700
@@ -48,6 +48,9 @@
#if !HAVE_POSIX_PRINTF
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <string.h>
/* When building a DLL, we must export some functions. Note that because
diff -ur m17n-lib-1.4.0-orig/intl/vasnprintf.c m17n-lib-1.4.0/intl/vasnprintf.c
--- m17n-lib-1.4.0-orig/intl/vasnprintf.c 2006-09-21 18:03:05.000000000 +0700
+++ m17n-lib-1.4.0/intl/vasnprintf.c 2007-07-27 13:10:20.848464148 +0700
@@ -39,6 +39,9 @@
#include <stdio.h> /* snprintf(), sprintf() */
#include <stdlib.h> /* abort(), malloc(), realloc(), free() */
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <string.h> /* memcpy(), strlen() */
#include <errno.h> /* errno */
#include <limits.h> /* CHAR_BIT, INT_MAX */
diff -ur m17n-lib-1.4.0-orig/src/chartab.c m17n-lib-1.4.0/src/chartab.c
--- m17n-lib-1.4.0-orig/src/chartab.c 2006-12-14 08:34:59.000000000 +0700
+++ m17n-lib-1.4.0/src/chartab.c 2007-07-27 13:10:20.878360385 +0700
@@ -65,6 +65,9 @@
#include <config.h>
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <string.h>
#include <limits.h>
#include <ctype.h>
diff -ur m17n-lib-1.4.0-orig/src/coding.c m17n-lib-1.4.0/src/coding.c
--- m17n-lib-1.4.0-orig/src/coding.c 2007-06-08 18:35:10.000000000 +0700
+++ m17n-lib-1.4.0/src/coding.c 2007-07-27 13:10:20.858401292 +0700
@@ -60,6 +60,9 @@
#include <config.h>
#include <stdio.h>
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <ctype.h>
#include <string.h>
#include <sys/types.h>
diff -ur m17n-lib-1.4.0-orig/src/database.c m17n-lib-1.4.0/src/database.c
--- m17n-lib-1.4.0-orig/src/database.c 2007-06-04 19:50:24.000000000 +0700
+++ m17n-lib-1.4.0/src/database.c 2007-07-27 13:10:20.871898677 +0700
@@ -126,6 +126,9 @@
#include <config.h>
#include <stdio.h>
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <string.h>
#include <ctype.h>
#include <sys/types.h>
diff -ur m17n-lib-1.4.0-orig/src/draw.c m17n-lib-1.4.0/src/draw.c
--- m17n-lib-1.4.0-orig/src/draw.c 2006-12-14 08:35:00.000000000 +0700
+++ m17n-lib-1.4.0/src/draw.c 2007-07-27 13:10:20.870509565 +0700
@@ -53,13 +53,16 @@
/*** @addtogroup m17nInternal
@{ */
+#include "config.h"
#include <stdio.h>
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <string.h>
#include <ctype.h>
#include <sys/types.h>
-#include "config.h"
#include "m17n-gui.h"
#include "m17n-misc.h"
#include "internal.h"
diff -ur m17n-lib-1.4.0-orig/src/face.c m17n-lib-1.4.0/src/face.c
--- m17n-lib-1.4.0-orig/src/face.c 2007-04-05 11:38:59.000000000 +0700
+++ m17n-lib-1.4.0/src/face.c 2007-07-27 13:11:35.565100457 +0700
@@ -78,12 +78,15 @@
/*** @addtogroup m17nInternal
@{ */
+#include "config.h"
#include <stdio.h>
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <string.h>
#include <ctype.h>
-#include "config.h"
#include "m17n-gui.h"
#include "m17n-misc.h"
#include "internal.h"
diff -ur m17n-lib-1.4.0-orig/src/font-flt.c m17n-lib-1.4.0/src/font-flt.c
--- m17n-lib-1.4.0-orig/src/font-flt.c 2007-06-13 15:01:34.000000000 +0700
+++ m17n-lib-1.4.0/src/font-flt.c 2007-07-27 13:10:20.861841114 +0700
@@ -24,6 +24,9 @@
#include <stdio.h>
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <string.h>
#include <ctype.h>
#include <sys/types.h>
diff -ur m17n-lib-1.4.0-orig/src/font-ft.c m17n-lib-1.4.0/src/font-ft.c
--- m17n-lib-1.4.0-orig/src/font-ft.c 2007-01-25 18:10:14.000000000 +0700
+++ m17n-lib-1.4.0/src/font-ft.c 2007-07-27 13:10:20.866380800 +0700
@@ -24,6 +24,9 @@
#include <stdio.h>
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
diff -ur m17n-lib-1.4.0-orig/src/font.c m17n-lib-1.4.0/src/font.c
--- m17n-lib-1.4.0-orig/src/font.c 2006-12-14 08:35:00.000000000 +0700
+++ m17n-lib-1.4.0/src/font.c 2007-07-27 13:10:20.877625119 +0700
@@ -327,6 +327,9 @@
#include <stdio.h>
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <string.h>
#include "m17n-gui.h"
diff -ur m17n-lib-1.4.0-orig/src/fontset.c m17n-lib-1.4.0/src/fontset.c
--- m17n-lib-1.4.0-orig/src/fontset.c 2006-12-14 08:35:00.000000000 +0700
+++ m17n-lib-1.4.0/src/fontset.c 2007-07-27 13:10:20.860629476 +0700
@@ -63,6 +63,9 @@
#include <ctype.h>
#include "config.h"
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include "m17n-gui.h"
#include "m17n-misc.h"
#include "internal.h"
diff -ur m17n-lib-1.4.0-orig/src/input-gui.c m17n-lib-1.4.0/src/input-gui.c
--- m17n-lib-1.4.0-orig/src/input-gui.c 2007-03-29 11:45:32.000000000 +0700
+++ m17n-lib-1.4.0/src/input-gui.c 2007-07-27 13:10:20.872444788 +0700
@@ -56,10 +56,16 @@
/*** @addtogroup m17nInternal
@{ */
+#include "config.h"
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <string.h>
#include <ctype.h>
-#include "config.h"
#include "m17n-gui.h"
#include "m17n-misc.h"
#include "internal.h"
diff -ur m17n-lib-1.4.0-orig/src/input.c m17n-lib-1.4.0/src/input.c
--- m17n-lib-1.4.0-orig/src/input.c 2007-07-12 11:49:29.000000000 +0700
+++ m17n-lib-1.4.0/src/input.c 2007-07-27 13:10:20.875906806 +0700
@@ -138,8 +138,12 @@
/*** @addtogroup m17nInternal
@{ */
+#include "config.h"
#include <stdio.h>
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <string.h>
#include <sys/types.h>
#include <dirent.h>
@@ -147,7 +151,6 @@
#include <unistd.h>
#include <time.h>
-#include "config.h"
#ifdef HAVE_DLFCN_H
#include <dlfcn.h>
diff -ur m17n-lib-1.4.0-orig/src/language.c m17n-lib-1.4.0/src/language.c
--- m17n-lib-1.4.0-orig/src/language.c 2007-06-11 15:44:13.000000000 +0700
+++ m17n-lib-1.4.0/src/language.c 2007-07-27 13:10:20.879615189 +0700
@@ -22,6 +22,9 @@
#include <config.h>
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <string.h>
#include <ctype.h>
#include <locale.h>
diff -ur m17n-lib-1.4.0-orig/src/locale.c m17n-lib-1.4.0/src/locale.c
--- m17n-lib-1.4.0-orig/src/locale.c 2007-05-14 14:27:55.000000000 +0700
+++ m17n-lib-1.4.0/src/locale.c 2007-07-27 13:10:20.881148740 +0700
@@ -44,6 +44,9 @@
#include <config.h>
#include <stdio.h>
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <string.h>
#include <locale.h>
#ifdef HAVE_LANGINFO_H
diff -ur m17n-lib-1.4.0-orig/src/m17n-X.c m17n-lib-1.4.0/src/m17n-X.c
--- m17n-lib-1.4.0-orig/src/m17n-X.c 2006-12-14 08:35:00.000000000 +0700
+++ m17n-lib-1.4.0/src/m17n-X.c 2007-07-27 13:10:20.865043190 +0700
@@ -30,6 +30,9 @@
#include <stdio.h>
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <ctype.h>
#include <string.h>
#include <locale.h>
diff -ur m17n-lib-1.4.0-orig/src/m17n-core.c m17n-lib-1.4.0/src/m17n-core.c
--- m17n-lib-1.4.0-orig/src/m17n-core.c 2007-05-25 18:27:30.000000000 +0700
+++ m17n-lib-1.4.0/src/m17n-core.c 2007-07-27 13:10:20.878987078 +0700
@@ -366,6 +366,9 @@
#include <config.h>
#include <stdio.h>
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <string.h>
#include <sys/time.h>
#include <sys/resource.h>
diff -ur m17n-lib-1.4.0-orig/src/mtext-wseg.c m17n-lib-1.4.0/src/mtext-wseg.c
--- m17n-lib-1.4.0-orig/src/mtext-wseg.c 2006-12-14 08:35:00.000000000 +0700
+++ m17n-lib-1.4.0/src/mtext-wseg.c 2007-07-27 13:10:20.871078212 +0700
@@ -28,6 +28,9 @@
#include <stdlib.h>
#include "config.h"
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include "m17n-core.h"
#include "m17n-misc.h"
#include "internal.h"
diff -ur m17n-lib-1.4.0-orig/src/mtext.c m17n-lib-1.4.0/src/mtext.c
--- m17n-lib-1.4.0-orig/src/mtext.c 2006-12-14 08:35:00.000000000 +0700
+++ m17n-lib-1.4.0/src/mtext.c 2007-07-27 13:10:20.863640831 +0700
@@ -83,6 +83,9 @@
#include <config.h>
#include <stdio.h>
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <string.h>
#include <locale.h>
diff -ur m17n-lib-1.4.0-orig/src/plist.c m17n-lib-1.4.0/src/plist.c
--- m17n-lib-1.4.0-orig/src/plist.c 2007-07-12 11:34:28.000000000 +0700
+++ m17n-lib-1.4.0/src/plist.c 2007-07-27 13:10:20.880616686 +0700
@@ -73,11 +73,14 @@
/*** @addtogroup m17nInternal
@{ */
+#include "config.h"
#include <stdio.h>
#include <string.h>
#include <ctype.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
-#include "config.h"
#include "m17n.h"
#include "m17n-misc.h"
#include "internal.h"
diff -ur m17n-lib-1.4.0-orig/src/symbol.c m17n-lib-1.4.0/src/symbol.c
--- m17n-lib-1.4.0-orig/src/symbol.c 2007-04-05 11:38:59.000000000 +0700
+++ m17n-lib-1.4.0/src/symbol.c 2007-07-27 13:10:20.867028910 +0700
@@ -80,6 +80,9 @@
#include <config.h>
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <string.h>
#include <ctype.h>
diff -ur m17n-lib-1.4.0-orig/src/textprop.c m17n-lib-1.4.0/src/textprop.c
--- m17n-lib-1.4.0-orig/src/textprop.c 2007-03-29 11:40:48.000000000 +0700
+++ m17n-lib-1.4.0/src/textprop.c 2007-07-27 13:10:20.868636091 +0700
@@ -62,6 +62,9 @@
#include <config.h>
#include <stdio.h>
#include <stdlib.h>
+#ifdef HAVE_ALLOCA_H
+#include <alloca.h>
+#endif
#include <string.h>
#ifdef HAVE_XML2