[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Nano-devel] [PATCH 7/8] drop glib fallback for snprintf/vsnprintf
From: |
Mike Frysinger |
Subject: |
[Nano-devel] [PATCH 7/8] drop glib fallback for snprintf/vsnprintf |
Date: |
Sat, 6 Feb 2016 19:04:00 -0500 |
The gnulib imports handle this for us now.
---
TODO | 4 +-
autogen.sh | 2 +
configure.ac | 32 +--------
m4/Makefile.am | 2 +-
m4/glib-2.0.m4 | 215 --------------------------------------------------------
src/Makefile.am | 2 +-
src/nano.h | 6 --
7 files changed, 8 insertions(+), 255 deletions(-)
delete mode 100644 m4/glib-2.0.m4
diff --git a/TODO b/TODO
index cb3dbbb..7021dd4 100644
--- a/TODO
+++ b/TODO
@@ -11,9 +11,7 @@ For the future (no targeted version, catch-all)
- 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 color syntaxes to apply to more than just color, so that we can
e.g. specify a different alternate spell checker depending on which
file type we have open.
diff --git a/autogen.sh b/autogen.sh
index 0b63f71..58c9d18 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -8,9 +8,11 @@ modules="
isblank
iswblank
regex
+ snprintf-posix
strcase
strcasestr-simple
strnlen
+ vsnprintf-posix
"
if [ -n "${GNULIB_SRCDIR}" ]; then
rm -rf lib
diff --git a/configure.ac b/configure.ac
index 2153ea9..8e15365 100644
--- a/configure.ac
+++ b/configure.ac
@@ -32,7 +32,10 @@ AC_PREREQ(2.61)
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.
@@ -426,30 +429,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.
@@ -459,7 +441,6 @@ AX_CHECK_COMPILE_FLAG([-Wall], [CFLAGS="$CFLAGS -Wall"],
[], [])
dnl Checks for library functions.
AC_TYPE_SIGNAL
-AC_FUNC_VPRINTF
dnl Checks for libraries.
@@ -532,13 +513,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 ba41afd..795ce4c 100644
--- a/m4/Makefile.am
+++ b/m4/Makefile.am
@@ -1,4 +1,4 @@
-EXTRA_DIST = ac_define_dir.m4 codeset.m4 gettext.m4 glib-2.0.m4 \
+EXTRA_DIST = ac_define_dir.m4 codeset.m4 gettext.m4 \
glibc21.m4 gnulib-cache.m4 iconv.m4 intdiv0.m4 inttypes_h.m4 \
inttypes.m4 inttypes-pri.m4 isc-posix.m4 lcmessage.m4 \
lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 \
diff --git a/m4/glib-2.0.m4 b/m4/glib-2.0.m4
deleted file mode 100644
index d6413ff..0000000
--- 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, µ) != 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 0e89a51..c1f1848 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -19,7 +19,7 @@ nano_SOURCES = browser.c \
utils.c \
winio.c
-nano_LDADD = @GLIB_LIBS@ @LIBINTL@ ../lib/libgnu.a
+nano_LDADD = @LIBINTL@ ../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 1c93cc5..e51d637 100644
--- a/src/nano.h
+++ b/src/nano.h
@@ -117,12 +117,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.6.2
- [Nano-devel] [PATCH 1/8] add support for gnulib, Mike Frysinger, 2016/02/06
- [Nano-devel] [PATCH 8/8] drop wchar.h/wctype.h/stdarg.h checks, Mike Frysinger, 2016/02/06
- [Nano-devel] [PATCH 6/8] assume getopt_long support is always available, Mike Frysinger, 2016/02/06
- [Nano-devel] [PATCH 3/8] drop getdelim/getline fallback functions, Mike Frysinger, 2016/02/06
- [Nano-devel] [PATCH 4/8] drop isblank/iswblank fallback functions, Mike Frysinger, 2016/02/06
- [Nano-devel] [PATCH 5/8] assume regex.h support is always available, Mike Frysinger, 2016/02/06
- [Nano-devel] [PATCH 2/8] drop various str fallback functions, Mike Frysinger, 2016/02/06
- [Nano-devel] [PATCH 7/8] drop glib fallback for snprintf/vsnprintf,
Mike Frysinger <=
- Re: [Nano-devel] [PATCH 1/8] add support for gnulib, Mike Frysinger, 2016/02/06
Re: [Nano-devel] [PATCH 1/8] add support for gnulib, Benno Schulenberg, 2016/02/07