[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Nano-devel] optional unicode (ncursesw) support
From: |
David Lawrence Ramsey |
Subject: |
Re: [Nano-devel] optional unicode (ncursesw) support |
Date: |
Sat, 26 Mar 2005 18:25:25 -0500 |
User-agent: |
Mozilla Thunderbird 1.0 (X11/20041206) |
Mike Frysinger wrote:
<snip>
>thanks for the pointers, i made the checks for the funcs conditional,
but i
>didnt conditionalize any of the header files ...
No problem. I don't think you need to conditionalize header files
anyway, as they already are with NANO_WIDE.
<snip>
>find attached ! i only added logic to the ncurses code because the slang
>stuff is pretty ugly, and i dislike slang intensely :)
Very good. I added slang support to it, consolidated the text of the
warning and error messages as much as I could, and fixed a few minor
consistencies in indentation while I was in there. A patch to add these
changes to 1.3.6's configure.ac is attached, if you're interested.
>logic works like this:
>./configure
> - $enable_utf8=auto and current behavior stays the same
>
>./configure --enable-utf8
> - $enable_utf8=yes and if no utf8 support is found, configure will abort
>
>./configure --disable-utf8
> - $enable_utf8=no and no checks are performed for wide ncurses or the
>iswalnum/mblen/etc... functions or the UTF8 warning at the end
It seems to work just fine here so far.
diff -ur nano-1.3.6/configure.ac nano-1.3.6-fixed/configure.ac
--- nano-1.3.6/configure.ac 2005-03-20 23:34:52.000000000 -0500
+++ nano-1.3.6-fixed/configure.ac 2005-03-26 01:33:40.000000000 -0500
@@ -61,15 +61,16 @@
AC_DEFINE(BROKEN_REGEXEC, 1, [Define this if your regexec() function
segfaults when passed an empty string under certain conditions.]),
AC_MSG_RESULT([cross-compiling; assuming no])))
-dnl options
+dnl Checks for options.
+
AC_ARG_ENABLE(debug,
[ --enable-debug Enable debugging (disabled by default)],
- [if test x$enableval = xyes; then
+[if test x$enableval = xyes; then
AC_DEFINE(DEBUG, 1, [Define this to enable nano debug messages and assert
warnings.])
debug_support=yes
- fi])
+fi])
-if test "$debug_support" != "yes"; then
+if test x$debug_support != xyes; then
AC_DEFINE(NDEBUG, 1, [Shut up the assert warnings :-)])
fi
@@ -78,7 +79,7 @@
[if test x$enableval = xyes; then
AC_DEFINE(NANO_EXTRA, 1, [Define this to enable the extra stuff.])
extra_support=yes
AC_DEFINE(ENABLE_MULTIBUFFER, 1, [Define this to enable multiple file
buffers.]) multibuffer_support=yes
- fi])
+fi])
AC_ARG_ENABLE(tiny,
[ --enable-tiny Disable features for the sake of size],
@@ -91,61 +92,61 @@
AC_DEFINE(DISABLE_OPERATINGDIR, 1, [Define this to disable setting of the
operating directory (chroot of sorts).])
AC_DEFINE(DISABLE_SPELLER, 1, [Define this to disable the use(full|less)
spelling functions.])
AC_DEFINE(DISABLE_TABCOMP, 1, [Define to disable the tab completion code
Chris worked so hard on!])
- fi])
+fi])
AC_ARG_ENABLE(browser,
[ --disable-browser Disable mini file browser],
- [if test x$enableval != xyes; then
+[if test x$enableval != xyes; then
AC_DEFINE(DISABLE_BROWSER, 1, [Define this to disable the built-in
(crappy) file browser.])
- fi])
+fi])
AC_ARG_ENABLE(help,
[ --disable-help Disable help function],
- [if test x$enableval != xyes; then
+[if test x$enableval != xyes; then
AC_DEFINE(DISABLE_HELP, 1, [Define this to disable the help menu.])
- fi])
+fi])
AC_ARG_ENABLE(justify,
[ --disable-justify Disable justify/unjustify function],
- [if test x$enableval != xyes; then
+[if test x$enableval != xyes; then
AC_DEFINE(DISABLE_JUSTIFY, 1, [Define this to disable the justify
routine.])
- fi])
+fi])
AC_ARG_ENABLE(mouse,
[ --disable-mouse Disable mouse support (and -m flag)],
- [if test x$enableval != xyes; then
+[if test x$enableval != xyes; then
AC_DEFINE(DISABLE_MOUSE, 1, [Define this to disable the mouse functions.])
- fi])
+fi])
AC_ARG_ENABLE(operatingdir,
[ --disable-operatingdir Disable setting of operating directory (chroot of
sorts)],
- [if test x$enableval != xyes; then
+[if test x$enableval != xyes; then
AC_DEFINE(DISABLE_OPERATINGDIR, 1, [Define this to disable setting of the
operating directory (chroot of sorts).])
- fi])
+fi])
AC_ARG_ENABLE(speller,
[ --disable-speller Disable spell checker function],
- [if test x$enableval != xyes; then
+[if test x$enableval != xyes; then
AC_DEFINE(DISABLE_SPELLER, 1, [Define this to disable the use(full|less)
spelling functions.])
- fi])
+fi])
AC_ARG_ENABLE(tabcomp,
[ --disable-tabcomp Disable tab completion code for a smaller binary],
- [if test x$enableval != xyes; then
+[if test x$enableval != xyes; then
AC_DEFINE(DISABLE_TABCOMP, 1, [Define to disable the tab completion code
Chris worked so hard on!])
- fi])
+fi])
AC_ARG_ENABLE(wrapping,
[ --disable-wrapping Disable all wrapping of text (and -w flag)],
- [if test x$enableval != xyes; then
+[if test x$enableval != xyes; then
AC_DEFINE(DISABLE_WRAPPING, 1, [Define this to disable any and all text
wrapping.])
- fi])
+fi])
AC_ARG_ENABLE(wrapping-as-root,
[ --disable-wrapping-as-root Disable wrapping of text as root by default],
- [if test x$enableval != xyes; then
+[if test x$enableval != xyes; then
AC_DEFINE(DISABLE_ROOTWRAP, 1, [Define this to disable wrapping as root by
default.])
- fi])
+fi])
AC_ARG_ENABLE(color,
[ --enable-color Enable color and syntax highlighting],
@@ -164,13 +165,13 @@
[ --enable-multibuffer Enable multiple file buffers],
[if test x$enableval = xyes; then
AC_DEFINE(ENABLE_MULTIBUFFER, 1, [Define this to enable multiple file
buffers.]) multibuffer_support=yes
- fi])
+fi])
AC_ARG_ENABLE(nanorc,
[ --enable-nanorc Enable use of .nanorc file],
[if test x$enableval = xyes; then
AC_DEFINE(ENABLE_NANORC, 1, [Define this to use the .nanorc file.])
nanorc_support=yes
- fi])
+fi])
AC_ARG_ENABLE(all,
[ --enable-all Enable ALL extra nano functionality (kitchen sink
option)],
@@ -184,9 +185,20 @@
*** WARNING: Color support is far from perfect, but functional. ***
*** Be careful with syntax in your .nanorc or nano may malfunction. ***
***********************************************************************
-])
+ ])
fi])
+AC_MSG_CHECKING([whether to enable UTF-8 support])
+AC_ARG_ENABLE(utf8,
+[ --enable-utf8 Enable UTF-8 support],
+[if test x$enableval = xyes; then
+ enable_utf8=yes
+else
+ enable_utf8=no
+fi],
+[enable_utf8=auto])
+AC_MSG_RESULT($enable_utf8)
+
AC_MSG_CHECKING([whether to use slang])
CURSES_LIB_NAME=""
AC_ARG_WITH(slang,
@@ -198,81 +210,106 @@
*)
AC_MSG_RESULT(yes)
- if test "$with_slang" != "yes"; then
+ if test x$with_slang != xyes; then
# Add additional search path
LDFLAGS="-L$with_slang/lib $LDFLAGS"
CPPFLAGS="-I$with_slang/include $CPPFLAGS"
fi
- AC_CHECK_HEADER(slcurses.h,
- AC_MSG_CHECKING([for SLutf8_enable in -lslang])
- _libs=$LIBS
- LIBS="$LIBS -lslang"
- AC_TRY_RUN([
+ if test x$enable_utf8 != xno; then
+ AC_CHECK_HEADER(slcurses.h,
+ AC_MSG_CHECKING([for SLutf8_enable in -lslang])
+ _libs=$LIBS
+ LIBS="$LIBS -lslang"
+ AC_TRY_RUN([
#include <slcurses.h>
int main(void)
{
SLutf8_enable(TRUE);
return 0;
}],
- [AC_MSG_RESULT(yes)
- AC_DEFINE(USE_SLANG, 1, [Define to use the slang wrappers for
curses instead of native curses.])
- slang_support=yes
- CURSES_LIB_WIDE=yes
- if test "$with_slang" != "yes"; then
- CURSES_LIB="-L${with_slang}/lib -lslang"
- else
- CURSES_LIB="-lslang"
- fi
- CURSES_LIB_NAME=slang],
- [AC_MSG_RESULT(no)
- AC_MSG_CHECKING([for SLtt_initialize in -lslang])
- AC_TRY_RUN([
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(USE_SLANG, 1, [Define to use the slang wrappers
for curses instead of native curses.])
+ slang_support=yes
+ CURSES_LIB_WIDE=yes
+ if test x$with_slang != xyes; then
+ CURSES_LIB="-L${with_slang}/lib -lslang"
+ else
+ CURSES_LIB="-lslang"
+ fi
+ CURSES_LIB_NAME=slang],
+ [AC_MSG_RESULT(no)
+
+ # We might need the term library
+ for termlib in ncurses curses termcap terminfo termlib; do
+ AC_CHECK_LIB([${termlib}], tputs, [tcap="-l$termlib"])
+ test -n "$tcap" && break
+ done
+
+ AC_MSG_CHECKING([for SLutf8_enable in -lslang $tcap])
+ LIBS="$LIBS $tcap"
+ AC_TRY_RUN([
#include <slcurses.h>
int main(void)
{
- SLtt_initialize(NULL);
+ SLutf8_enable(TRUE);
return 0;
}],
- [AC_MSG_RESULT(yes)
- AC_DEFINE(USE_SLANG, 1, [Define to use the slang wrappers for
curses instead of native curses.])
- slang_support=yes
- if test "$with_slang" != "yes"; then
- CURSES_LIB="-L${with_slang}/lib -lslang"
- else
- CURSES_LIB="-lslang"
- fi
- CURSES_LIB_NAME=slang],
- [AC_MSG_RESULT(no)
-
- # We might need the term library
- for termlib in ncurses curses termcap terminfo termlib; do
- AC_CHECK_LIB([${termlib}], tputs, [tcap="-l$termlib"])
- test -n "$tcap" && break
- done
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(USE_SLANG, 1, [Define to use the slang
wrappers for curses instead of native curses.])
+ slang_support=yes
+ CURSES_LIB_WIDE=yes
+ if test x$with_slang != xyes; then
+ CURSES_LIB="-L${with_slang}/lib -lslang $tcap"
+ else
+ CURSES_LIB="-lslang $tcap"
+ fi
+ CURSES_LIB_NAME=slang],
+ [AC_MSG_RESULT(no)
- AC_MSG_CHECKING([for SLutf8_enable in -lslang $tcap])
- LIBS="$LIBS $tcap"
- AC_TRY_RUN([
+ # We might need the math library
+ AC_MSG_CHECKING([for SLutf8_enable in -lslang $tcap
-lm])
+ LIBS="$LIBS -lm"
+ AC_TRY_RUN([
#include <slcurses.h>
int main(void)
{
SLutf8_enable(TRUE);
return 0;
}],
- [AC_MSG_RESULT(yes)
- AC_DEFINE(USE_SLANG, 1, [Define to use the slang wrappers
for curses instead of native curses.])
- slang_support=yes
- CURSES_LIB_WIDE=yes
- if test "$with_slang" != "yes"; then
- CURSES_LIB="-L${with_slang}/lib -lslang $tcap"
- else
- CURSES_LIB="-lslang $tcap"
- fi
- CURSES_LIB_NAME=slang],
- [AC_MSG_RESULT(no)
- AC_MSG_CHECKING([for SLtt_initialize in -lslang $tcap])
- AC_TRY_RUN([
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(USE_SLANG, 1, [Define to use the slang
wrappers for curses instead of native curses.])
+ slang_support=yes
+ CURSES_LIB_WIDE=yes
+ if test x$with_slang != xyes; then
+ CURSES_LIB="-L${with_slang}/lib -lslang $tcap
-lm"
+ else
+ CURSES_LIB="-lslang $tcap -lm"
+ fi
+ CURSES_LIB_NAME=slang],
+ [AC_MSG_RESULT(no)],
+ AC_MSG_WARN([*** Can not use slang when cross-compiling]))],
+ AC_MSG_WARN([*** Can not use slang when cross-compiling]))],
+ AC_MSG_WARN([*** Can not use slang when cross-compiling])),
+ AC_MSG_ERROR([
+*** The header file slcurses.h was not found. If you wish to use
+*** slang support this header file is required. Please either
+*** install a version of slang that includes the slcurses.h file or
+*** do not call the configure script with --with-slang
+ ]))
+ fi
+
+ if eval "test x$CURSES_LIB_NAME = x"; then
+ # Reset libs if the above slang tests failed
+ if test x$enable_utf8 != xno; then
+ LIBS=$_libs
+ fi
+
+ AC_CHECK_HEADER(slcurses.h,
+ AC_MSG_CHECKING([for SLtt_initialize in -lslang])
+ _libs=$LIBS
+ LIBS="$LIBS -lslang"
+ AC_TRY_RUN([
#include <slcurses.h>
int main(void)
{
@@ -282,35 +319,43 @@
[AC_MSG_RESULT(yes)
AC_DEFINE(USE_SLANG, 1, [Define to use the slang wrappers
for curses instead of native curses.])
slang_support=yes
- if test "$with_slang" != "yes"; then
- CURSES_LIB="-L${with_slang}/lib -lslang $tcap"
+ if test x$with_slang != xyes; then
+ CURSES_LIB="-L${with_slang}/lib -lslang"
else
- CURSES_LIB="-lslang $tcap"
+ CURSES_LIB="-lslang"
fi
CURSES_LIB_NAME=slang],
[AC_MSG_RESULT(no)
- # We might need the math library
- AC_MSG_CHECKING([for SLutf8_enable in -lslang $tcap -lm])
- LIBS="$LIBS -lm"
+ # We might need the term library
+ for termlib in ncurses curses termcap terminfo termlib; do
+ AC_CHECK_LIB([${termlib}], tputs, [tcap="-l$termlib"])
+ test -n "$tcap" && break
+ done
+
+ AC_MSG_CHECKING([for SLtt_initialize in -lslang $tcap])
+ LIBS="$LIBS $tcap"
AC_TRY_RUN([
#include <slcurses.h>
int main(void)
{
- SLutf8_enable(TRUE);
+ SLtt_initialize(NULL);
return 0;
}],
[AC_MSG_RESULT(yes)
AC_DEFINE(USE_SLANG, 1, [Define to use the slang
wrappers for curses instead of native curses.])
slang_support=yes
- CURSES_LIB_WIDE=yes
- if test "$with_slang" != "yes"; then
- CURSES_LIB="-L${with_slang}/lib -lslang $tcap -lm"
+ if test x$with_slang != xyes; then
+ CURSES_LIB="-L${with_slang}/lib -lslang $tcap"
else
- CURSES_LIB="-lslang $tcap -lm"
+ CURSES_LIB="-lslang $tcap"
fi
CURSES_LIB_NAME=slang],
+ [AC_MSG_RESULT(no)
+
+ # We might need the math library
AC_MSG_CHECKING([for SLtt_initialize in -lslang $tcap
-lm])
+ LIBS="$LIBS -lm"
AC_TRY_RUN([
#include <slcurses.h>
int main(void)
@@ -318,79 +363,89 @@
SLtt_initialize(NULL);
return 0;
}],
- [AC_MSG_RESULT(yes)
- AC_DEFINE(USE_SLANG, 1, [Define to use the slang
wrappers for curses instead of native curses.])
- slang_support=yes
- if test "$with_slang" != "yes"; then
- CURSES_LIB="-L${with_slang}/lib -lslang $tcap -lm"
- else
- CURSES_LIB="-lslang $tcap -lm"
- fi
- CURSES_LIB_NAME=slang],
- [AC_MSG_RESULT(no)],
-AC_MSG_WARN([*** Can not use slang when cross-compiling]))],
-AC_MSG_WARN([*** Can not use slang when cross-compiling]))],
-AC_MSG_WARN([*** Can not use slang when cross-compiling]))],
-AC_MSG_WARN([*** Can not use slang when cross-compiling]))],
-AC_MSG_WARN([*** Can not use slang when cross-compiling])),
-AC_MSG_WARN([*** Can not use slang when cross-compiling])),
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE(USE_SLANG, 1, [Define to use the slang
wrappers for curses instead of native curses.])
+ slang_support=yes
+ if test x$with_slang != xyes; then
+ CURSES_LIB="-L${with_slang}/lib -lslang $tcap
-lm"
+ else
+ CURSES_LIB="-lslang $tcap -lm"
+ fi
+ CURSES_LIB_NAME=slang],
+ [AC_MSG_RESULT(no)],
+ AC_MSG_WARN([*** Can not use slang when cross-compiling]))],
+ AC_MSG_WARN([*** Can not use slang when cross-compiling]))],
+ AC_MSG_WARN([*** Can not use slang when cross-compiling])),
AC_MSG_ERROR([
*** The header file slcurses.h was not found. If you wish to use
*** slang support this header file is required. Please either
*** install a version of slang that includes the slcurses.h file or
*** do not call the configure script with --with-slang
-]))
+ ]))
+ fi
- test "${_libs+set}" = "set" && LIBS=$_libs
+ if test "${_libs+set}" = "set"; then
+ LIBS=$_libs
+ fi
- if test "$with_slang" != "yes"; then
+ if test x$with_slang != xyes; then
LDFLAGS=${_ldflags}
fi
;;
esac], [AC_MSG_RESULT(no)])
-dnl Checks for functions
-AC_CHECK_FUNCS(snprintf vsnprintf isblank iswalnum iswblank iswspace
strcasecmp strncasecmp strcasestr strnlen getline getdelim mblen mbtowc wctomb
wcwidth)
-if test "x$ac_cv_func_snprintf" = "xno" -o "x$ac_cv_func_vsnprintf" = "xno"
-then
- AM_PATH_GLIB_2_0(2.0.0,,
- AC_MSG_ERROR([
+dnl Checks for functions.
+
+AC_CHECK_FUNCS(snprintf vsnprintf isblank strcasecmp strncasecmp strcasestr
strnlen getline getdelim)
+
+if test x$enable_utf8 != xno; then
+ AC_CHECK_FUNCS(iswalnum mblen mbtowc wctomb wcwidth iswspace iswblank)
+fi
+
+if test x$ac_cv_func_snprintf = xno -o x$ac_cv_func_vsnprintf = xno; then
+ AM_PATH_GLIB_2_0(2.0.0,,
+ AC_MSG_ERROR([
*** snprintf() and/or vsnprintf() not found. GLIB 2.x not found either.
*** You need both snprintf() and vsnprintf(). Alternatively you can
*** install the GLIB library which can be found at ftp://ftp.gtk.org/.]),
- glib)
+ glib)
fi
dnl Checks for typedefs, structures, and compiler characteristics.
dnl Checks for library functions.
+
AC_TYPE_SIGNAL
AC_FUNC_VPRINTF
AC_CHECK_FUNCS(getopt_long)
dnl Checks for libraries.
-if eval "test x$CURSES_LIB_NAME = x"
-then
+
+if eval "test x$CURSES_LIB_NAME = x"; then
AC_CHECK_HEADERS(ncurses.h)
- AC_CHECK_LIB(ncursesw, wget_wch, [CURSES_LIB="-lncursesw"
CURSES_LIB_NAME=ncursesw CURSES_LIB_WIDE="yes"])
- if eval "test x$CURSES_LIB_NAME = x"
- then
- AC_CHECK_LIB(ncurses, initscr, [CURSES_LIB="-lncurses"
CURSES_LIB_NAME=ncurses])
+
+ if test x$enable_utf8 != xno; then
+ AC_CHECK_LIB(ncursesw, wget_wch, [CURSES_LIB="-lncursesw"
CURSES_LIB_NAME=ncursesw CURSES_LIB_WIDE=yes])
+ fi
+
+ if eval "test x$CURSES_LIB_NAME = x"; then
+ AC_CHECK_LIB(ncurses, initscr, [CURSES_LIB="-lncurses"
CURSES_LIB_NAME=ncurses])
fi
fi
-if eval "test x$CURSES_LIB_NAME = x"
-then
+if eval "test x$CURSES_LIB_NAME = x"; then
AC_CHECK_HEADERS(curses.h)
- AC_CHECK_LIB(curses, wget_wch, [CURSES_LIB="-lcurses"
CURSES_LIB_NAME=curses CURSES_LIB_WIDE="yes"])
- if eval "test x$CURSES_LIB_NAME = x"
- then
+
+ if test x$enable_utf8 != xno; then
+ AC_CHECK_LIB(curses, wget_wch, [CURSES_LIB="-lcurses"
CURSES_LIB_NAME=curses CURSES_LIB_WIDE=yes])
+ fi
+
+ if eval "test x$CURSES_LIB_NAME = x"; then
AC_CHECK_LIB(curses, initscr, [CURSES_LIB="-lcurses"
CURSES_LIB_NAME=curses])
fi
fi
-if eval "test x$CURSES_LIB_NAME = x"
-then
+if eval "test x$CURSES_LIB_NAME = x"; then
AC_MSG_WARN([
*** No curses lib available. Consider getting the official ncurses
*** distribution from ftp://ftp.gnu.org/pub/gnu/ncurses if you get
@@ -407,20 +462,38 @@
AC_SUBST(CURSES_LIB)
-if test "x$GLIB_CFLAGS" != "x"
-then
- CFLAGS="$CFLAGS $GLIB_CFLAGS"
+if test "x$GLIB_CFLAGS" != "x"; then
+ CFLAGS="$CFLAGS $GLIB_CFLAGS"
fi
-if test "x$GLIB_LIBS" != "x"
-then
- LDFLAGS="$LDFLAGS $GLIB_LIBS"
+if test "x$GLIB_LIBS" != "x"; then
+ LDFLAGS="$LDFLAGS $GLIB_LIBS"
fi
-if test "x$CURSES_LIB_WIDE" = "xyes" -a "x$ac_cv_func_iswalnum" = "xyes" -a
"x$ac_cv_func_mblen" = "xyes" -a "x$ac_cv_func_mbtowc" = "xyes" -a
"x$ac_cv_func_wctomb" = "xyes" -a "x$ac_cv_func_wcwidth" = "xyes" && test
"x$ac_cv_func_iswspace" = "xyes" -o "x$ac_cv_func_iswblank" = "xyes"
-then
+if test x$enable_utf8 != xno && \
+ test x$CURSES_LIB_WIDE = xyes -a \
+ x$ac_cv_func_iswalnum = xyes -a \
+ x$ac_cv_func_mblen = xyes -a \
+ x$ac_cv_func_mbtowc = xyes -a \
+ x$ac_cv_func_wctomb = xyes -a \
+ x$ac_cv_func_wcwidth = xyes && \
+ test x$ac_cv_func_iswspace = xyes -o x$ac_cv_func_iswblank = xyes; then
AC_DEFINE(NANO_WIDE, 1, [Define this if your system has sufficient wide
character support (a wide curses library, iswalnum(), iswspace() or iswblank(),
mblen(), mbtowc(), wctomb(), and wcwidth()).])
else
- AC_MSG_WARN([Insufficient wide character support found. nano will not
be able to support UTF-8.])
+ if test x$enable_utf8 = xyes; then
+ AC_MSG_ERROR([
+*** UTF-8 support was requested, but insufficient UTF-8 support was
+*** detected in your curses and/or C libraries. Please verify that your
+*** slang was built with UTF-8 support or your curses was built with
+*** wide character support, and that your C library was built with wide
+*** character support.])
+ elif test x$enable_utf8 != xno; then
+ AC_MSG_WARN([
+*** Insufficient UTF-8 support was detected in your curses and/or C
+*** libraries. If you want UTF-8 support, please verify that your slang
+*** was built with UTF-8 support or your curses was built with wide
+*** character support, and that your C library was built with wide
+*** character support.])
+ fi
fi
AC_CONFIG_FILES([