nano-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Nano-devel] [PATCH 09/17] drop glib fallback for snprintf/vsnprintf


From: Mike Frysinger
Subject: [Nano-devel] [PATCH 09/17] drop glib fallback for snprintf/vsnprintf
Date: Tue, 21 Feb 2017 17:04:41 -0500

The gnulib imports handle this for us now.
---
 TODO            |   4 +-
 autogen.sh      |   2 +
 configure.ac    |  32 +--------
 m4/Makefile.am  |   1 -
 m4/glib-2.0.m4  | 215 --------------------------------------------------------
 src/Makefile.am |   2 +-
 src/nano.h      |   6 --
 7 files changed, 7 insertions(+), 255 deletions(-)
 delete mode 100644 m4/glib-2.0.m4

diff --git a/TODO b/TODO
index c708034dc459..c578641ca5a5 100644
--- a/TODO
+++ b/TODO
@@ -8,9 +8,7 @@ Vague musings:
 - Allow indentation of marked text by spaces as well as tabs?
 - Allow indentation to add just enough columns to reach the nearest
   multiple of tabsize, rather than always adding tabsize columns?
-- Allow conversion between different character sets.  Maybe use glib's
-  iconv() if the system's iconv() is inadequate, since we already use
-  glib's vsnprintf() if the system lacks vsnprintf()?
+- Allow conversion between different character sets.
 - Allow setting marks (saved positions, not to be confused with the mark
   set via Ctrl-^) at various lines and/or columns in the buffer, and
   allow movement between them with a single keystroke?
diff --git a/autogen.sh b/autogen.sh
index 64b034383c8d..5f99b3f78b4c 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -11,9 +11,11 @@ modules="
        isblank
        iswblank
        regex
+       snprintf-posix
        strcase
        strcasestr-simple
        strnlen
+       vsnprintf-posix
 "
 
 # Make sure the local gnulib git repo is up-to-date.
diff --git a/configure.ac b/configure.ac
index e2462c63705c..6ff491bfcffc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -28,7 +28,10 @@ AC_PREREQ([2.69])
 
 dnl Lie about gnulib features we don't use to speed up & shrink down.
 
+gl_cv_func_printf_directive_n=yes
 gl_cv_func_printf_infinite_long_double=yes
+gl_cv_func_printf_long_double=yes
+gl_cv_func_snprintf_directive_n=yes
 
 dnl Checks for programs.
 
@@ -465,30 +468,9 @@ int main(void)
 
 dnl Checks for functions.
 
-AC_CHECK_FUNCS(snprintf vsnprintf)
-
 if test "x$enable_utf8" != xno; then
     AC_CHECK_FUNCS(iswalnum iswpunct iswspace nl_langinfo mblen mbstowcs 
mbtowc wctomb wcwidth)
 fi
-
-if test x$ac_cv_func_snprintf = xno; then
-    AM_PATH_GLIB_2_0(2.0.0,,
-       AC_MSG_ERROR([
-*** snprintf() not found.  GLIB 2.x not found either.
-*** You should install the GLIB 2.x library which can
-*** be found at http://ftp.gtk.org/.]),
-       glib)
-fi
-
-if test x$ac_cv_func_vsnprintf = xno; then
-    AM_PATH_GLIB_2_0(2.0.0,,
-       AC_MSG_ERROR([
-*** vsnprintf() not found.  GLIB 2.x not found either.
-*** You should install the GLIB 2.x library which can
-*** be found at http://ftp.gtk.org/.]),
-       glib)
-fi
-
 dnl Checks for typedefs, structures, and compiler characteristics.
 
 dnl Checks for available flags.
@@ -498,7 +480,6 @@ AX_CHECK_COMPILE_FLAG([-Wall], [CFLAGS="$CFLAGS -Wall"], 
[], [])
 dnl Checks for library functions.
 
 AC_TYPE_SIGNAL
-AC_FUNC_VPRINTF
 
 dnl Checks for libraries.
 
@@ -575,13 +556,6 @@ LIBS="$LIBS $CURSES_LIB"
 
 AC_SUBST(CURSES_LIB)
 
-if test "x$GLIB_CFLAGS" != "x"; then
-    CFLAGS="$CFLAGS $GLIB_CFLAGS"
-fi
-if test "x$GLIB_LIBS" != "x"; then
-    LDFLAGS="$LDFLAGS $GLIB_LIBS"
-fi
-
 if test "x$enable_utf8" != xno && \
     test x$CURSES_LIB_WIDE = xyes && \
     test x$ac_cv_func_iswalnum = xyes && \
diff --git a/m4/Makefile.am b/m4/Makefile.am
index b9a37af72d48..450cda1e1c99 100644
--- a/m4/Makefile.am
+++ b/m4/Makefile.am
@@ -5,7 +5,6 @@ EXTRA_DIST = \
        extern-inline.m4 \
        fcntl-o.m4 \
        gettext.m4 \
-       glib-2.0.m4 \
        glibc21.m4 \
        glibc2.m4 \
        gnulib-cache.m4 \
diff --git a/m4/glib-2.0.m4 b/m4/glib-2.0.m4
deleted file mode 100644
index d6413ff76cb0..000000000000
--- a/m4/glib-2.0.m4
+++ /dev/null
@@ -1,215 +0,0 @@
-# Configure paths for GLIB
-# Owen Taylor     1997-2001
-
-dnl AM_PATH_GLIB_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND 
[, MODULES]]]])
-dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if gmodule, gobject 
or 
-dnl gthread is specified in MODULES, pass to pkg-config
-dnl
-AC_DEFUN([AM_PATH_GLIB_2_0],
-[dnl 
-dnl Get the cflags and libraries from pkg-config
-dnl
-AC_ARG_ENABLE(glibtest, [  --disable-glibtest      do not try to compile and 
run a test GLIB program],
-                   , enable_glibtest=yes)
-
-  pkg_config_args=glib-2.0
-  for module in . $4
-  do
-      case "$module" in
-         gmodule) 
-             pkg_config_args="$pkg_config_args gmodule-2.0"
-         ;;
-         gmodule-no-export) 
-             pkg_config_args="$pkg_config_args gmodule-no-export-2.0"
-         ;;
-         gobject) 
-             pkg_config_args="$pkg_config_args gobject-2.0"
-         ;;
-         gthread) 
-             pkg_config_args="$pkg_config_args gthread-2.0"
-         ;;
-      esac
-  done
-
-  AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
-
-  no_glib=""
-
-  if test x$PKG_CONFIG != xno ; then
-    if $PKG_CONFIG --atleast-pkgconfig-version 0.7 ; then
-      :
-    else
-      echo *** pkg-config too old; version 0.7 or better required.
-      no_glib=yes
-      PKG_CONFIG=no
-    fi
-  else
-    no_glib=yes
-  fi
-
-  min_glib_version=ifelse([$1], ,2.0.0,$1)
-  AC_MSG_CHECKING(for GLIB - version >= $min_glib_version)
-
-  if test x$PKG_CONFIG != xno ; then
-    ## don't try to run the test against uninstalled libtool libs
-    if $PKG_CONFIG --uninstalled $pkg_config_args; then
-         echo "Will use uninstalled version of GLib found in PKG_CONFIG_PATH"
-         enable_glibtest=no
-    fi
-
-    if $PKG_CONFIG --atleast-version $min_glib_version $pkg_config_args; then
-         :
-    else
-         no_glib=yes
-    fi
-  fi
-
-  if test x"$no_glib" = x ; then
-    GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
-    GOBJECT_QUERY=`$PKG_CONFIG --variable=gobject_query glib-2.0`
-    GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
-
-    GLIB_CFLAGS=`$PKG_CONFIG --cflags $pkg_config_args`
-    GLIB_LIBS=`$PKG_CONFIG --libs $pkg_config_args`
-    glib_config_major_version=`$PKG_CONFIG --modversion glib-2.0 | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
-    glib_config_minor_version=`$PKG_CONFIG --modversion glib-2.0 | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
-    glib_config_micro_version=`$PKG_CONFIG --modversion glib-2.0 | \
-           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
-    if test "x$enable_glibtest" = "xyes" ; then
-      ac_save_CFLAGS="$CFLAGS"
-      ac_save_LIBS="$LIBS"
-      CFLAGS="$CFLAGS $GLIB_CFLAGS"
-      LIBS="$GLIB_LIBS $LIBS"
-dnl
-dnl Now check if the installed GLIB is sufficiently new. (Also sanity
-dnl checks the results of pkg-config to some extent)
-dnl
-      rm -f conf.glibtest
-      AC_TRY_RUN([
-#include <glib.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int 
-main ()
-{
-  int major, minor, micro;
-  char *tmp_version;
-
-  system ("touch conf.glibtest");
-
-  /* HP/UX 9 (address@hidden) writes to sscanf strings */
-  tmp_version = g_strdup("$min_glib_version");
-  if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
-     printf("%s, bad version string\n", "$min_glib_version");
-     exit(1);
-   }
-
-  if ((glib_major_version != $glib_config_major_version) ||
-      (glib_minor_version != $glib_config_minor_version) ||
-      (glib_micro_version != $glib_config_micro_version))
-    {
-      printf("\n*** 'pkg-config --modversion glib-2.0' returned %d.%d.%d, but 
GLIB (%d.%d.%d)\n", 
-             $glib_config_major_version, $glib_config_minor_version, 
$glib_config_micro_version,
-             glib_major_version, glib_minor_version, glib_micro_version);
-      printf ("*** was found! If pkg-config was correct, then it is best\n");
-      printf ("*** to remove the old version of GLib. You may also be able to 
fix the error\n");
-      printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by 
editing\n");
-      printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that 
is\n");
-      printf("*** required on your system.\n");
-      printf("*** If pkg-config was wrong, set the environment variable 
PKG_CONFIG_PATH\n");
-      printf("*** to point to the correct configuration files\n");
-    } 
-  else if ((glib_major_version != GLIB_MAJOR_VERSION) ||
-          (glib_minor_version != GLIB_MINOR_VERSION) ||
-           (glib_micro_version != GLIB_MICRO_VERSION))
-    {
-      printf("*** GLIB header files (version %d.%d.%d) do not match\n",
-            GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION);
-      printf("*** library (version %d.%d.%d)\n",
-            glib_major_version, glib_minor_version, glib_micro_version);
-    }
-  else
-    {
-      if ((glib_major_version > major) ||
-        ((glib_major_version == major) && (glib_minor_version > minor)) ||
-        ((glib_major_version == major) && (glib_minor_version == minor) && 
(glib_micro_version >= micro)))
-      {
-        return 0;
-       }
-     else
-      {
-        printf("\n*** An old version of GLIB (%d.%d.%d) was found.\n",
-               glib_major_version, glib_minor_version, glib_micro_version);
-        printf("*** You need a version of GLIB newer than %d.%d.%d. The latest 
version of\n",
-              major, minor, micro);
-        printf("*** GLIB is always available from ftp://ftp.gtk.org.\n";);
-        printf("***\n");
-        printf("*** If you have already installed a sufficiently new version, 
this error\n");
-        printf("*** probably means that the wrong copy of the pkg-config shell 
script is\n");
-        printf("*** being found. The easiest way to fix this is to remove the 
old version\n");
-        printf("*** of GLIB, but you can also set the PKG_CONFIG environment 
to point to the\n");
-        printf("*** correct copy of pkg-config. (In this case, you will have 
to\n");
-        printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit 
/etc/ld.so.conf\n");
-        printf("*** so that the correct libraries are found at run-time))\n");
-      }
-    }
-  return 1;
-}
-],, no_glib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
-       CFLAGS="$ac_save_CFLAGS"
-       LIBS="$ac_save_LIBS"
-     fi
-  fi
-  if test "x$no_glib" = x ; then
-     AC_MSG_RESULT(yes (version 
$glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version))
-     ifelse([$2], , :, [$2])     
-  else
-     AC_MSG_RESULT(no)
-     if test "$PKG_CONFIG" = "no" ; then
-       echo "*** A new enough version of pkg-config was not found."
-       echo "*** See http://www.freedesktop.org/software/pkgconfig/";
-     else
-       if test -f conf.glibtest ; then
-        :
-       else
-          echo "*** Could not run GLIB test program, checking why..."
-          ac_save_CFLAGS="$CFLAGS"
-          ac_save_LIBS="$LIBS"
-          CFLAGS="$CFLAGS $GLIB_CFLAGS"
-          LIBS="$LIBS $GLIB_LIBS"
-          AC_TRY_LINK([
-#include <glib.h>
-#include <stdio.h>
-],      [ return ((glib_major_version) || (glib_minor_version) || 
(glib_micro_version)); ],
-        [ echo "*** The test program compiled, but did not run. This usually 
means"
-          echo "*** that the run-time linker is not finding GLIB or finding 
the wrong"
-          echo "*** version of GLIB. If it is not finding GLIB, you'll need to 
set your"
-          echo "*** LD_LIBRARY_PATH environment variable, or edit 
/etc/ld.so.conf to point"
-          echo "*** to the installed location  Also, make sure you have run 
ldconfig if that"
-          echo "*** is required on your system"
-         echo "***"
-          echo "*** If you have an old version installed, it is best to remove 
it, although"
-          echo "*** you may also be able to get things to work by modifying 
LD_LIBRARY_PATH" ],
-        [ echo "*** The test program failed to compile or link. See the file 
config.log for the"
-          echo "*** exact error that occured. This usually means GLIB is 
incorrectly installed."])
-          CFLAGS="$ac_save_CFLAGS"
-          LIBS="$ac_save_LIBS"
-       fi
-     fi
-     GLIB_CFLAGS=""
-     GLIB_LIBS=""
-     GLIB_GENMARSHAL=""
-     GOBJECT_QUERY=""
-     GLIB_MKENUMS=""
-     ifelse([$3], , :, [$3])
-  fi
-  AC_SUBST(GLIB_CFLAGS)
-  AC_SUBST(GLIB_LIBS)
-  AC_SUBST(GLIB_GENMARSHAL)
-  AC_SUBST(GOBJECT_QUERY)
-  AC_SUBST(GLIB_MKENUMS)
-  rm -f conf.glibtest
-])
diff --git a/src/Makefile.am b/src/Makefile.am
index f3f0609bc3f9..bada082ff481 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -38,7 +38,7 @@ nano_SOURCES =        browser.c \
                utils.c \
                winio.c 
 
-nano_LDADD = @GLIB_LIBS@ @LIBINTL@ $(top_builddir)/lib/libgnu.a
+nano_LDADD = @LIBINTL@ $(top_builddir)/lib/libgnu.a
 
 install-exec-hook:
        cd $(DESTDIR)$(bindir) && rm -f rnano && $(LN_S) nano rnano
diff --git a/src/nano.h b/src/nano.h
index 22b8379b0a07..b21ccdb500f0 100644
--- a/src/nano.h
+++ b/src/nano.h
@@ -120,12 +120,6 @@
 #include <signal.h>
 #include <assert.h>
 
-/* If no vsnprintf(), use the version from glib 2.x. */
-#ifndef HAVE_VSNPRINTF
-#include <glib.h>
-#define vsnprintf g_vsnprintf
-#endif
-
 /* If we aren't using ncurses with mouse support, turn the mouse support
  * off, as it's useless then. */
 #ifndef NCURSES_MOUSE_VERSION
-- 
2.11.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]