Code

configure.ac: added option --disable-wide
authorMax Kellermann <max@duempel.org>
Mon, 6 Oct 2008 14:54:54 +0000 (16:54 +0200)
committerMax Kellermann <max@duempel.org>
Mon, 6 Oct 2008 14:54:54 +0000 (16:54 +0200)
The configure option "--disable-wide" disables wide character support.
This simplifies lots of internal calculations and makes the ncmpc
binary leaner.

configure.ac
src/charset.c

index 51faeee3eff24328772d11bd202ca5dfc8fb5f99..7439d36b23a20030c17443f249d51e73fa7e5906 100644 (file)
@@ -62,6 +62,14 @@ AC_CHECK_FUNC([gethostbyname],
               ])
 
 
+dnl wide character support
+AC_ARG_ENABLE([wide],
+    AC_HELP_STRING([--enable-wide],
+                   [Enable wide character support]),
+                   [use_wide=$enableval], 
+                   [use_wide=auto])
+
+
 dnl ncurses
 ncurses=auto
 AC_ARG_WITH([ncurses],
@@ -71,6 +79,17 @@ AC_ARG_WITH(ncursesw,
            AC_HELP_STRING([--with-ncursesw], [compile/link with wide-char ncurses library @<:@default@:>@]),
            [ncurses=ncursesw])
 
+if test "x$enable_wide" = "xno"; then
+    if test "x$ncurses" = "xauto"; then
+        dnl select narrow ncurses
+        ncurses=ncurses
+    fi
+
+    if test "x$ncurses" = "xncursesw"; then
+        AC_MSG_WARN([Narrow ncmpc linking against wide libncurses])
+    fi
+fi
+
 if test "x$ncurses" = "xauto"; then
        AC_CHECK_LIB([ncursesw], 
                     [initscr],
@@ -90,6 +109,23 @@ if test "x$ncurses" = "xncursesw"; then
 fi
 
 
+dnl wide character support II
+
+if test "x$use_wide" = "xauto" ; then
+    AC_CHECK_LIB([$ncurses], 
+                [wget_wch],
+                [use_wide=yes],
+                [use_wide=no])
+fi
+
+AC_MSG_CHECKING([wide character support])
+AC_MSG_RESULT([$use_wide])
+
+if test "x$use_wide" = "xyes" ; then
+    AC_DEFINE([ENABLE_WIDE], [1], [Enable wide character support])
+fi
+
+
 dnl Check for glib-2.4
 PKG_CHECK_MODULES([GLIB], 
                  [glib-2.0 >= 2.4],
index ccfac0ef86a454c339c2b7479c4eb801e1648fbf..5625f12771305065987c342e160759cd89e3af53 100644 (file)
@@ -41,7 +41,7 @@ utf8_width(const char *str)
 {
        assert(str != NULL);
 
-#ifdef HAVE_LOCALE_H
+#ifdef ENABLE_WIDE
        if (g_utf8_validate(str, -1, NULL)) {
                size_t len = g_utf8_strlen(str, -1);
                unsigned width = 0;