add support for gnulib

On a system with up-to-date GNU tools, this does not change
the size of nano's binary.

We start off with importing only a few modules, although we
don't yet delete the fallback logic for them.
master
Mike Frysinger 2017-02-21 17:04:35 -05:00 committed by Benno Schulenberg
parent 9d0331dea2
commit ba8d71f447
6 changed files with 46 additions and 3 deletions

8
.gitignore vendored
View File

@ -16,6 +16,7 @@ core
/ABOUT-NLS
/INSTALL
/aclocal.m4
/ar-lib
/autom4te.cache
/compile
/config.cache
@ -68,6 +69,13 @@ core
/m4/wint_t.m4
/m4/xsize.m4
# gnulib entries
/gnulib/
/lib/
/m4/.gitignore
/m4/gnulib-cache.m4
/snippet/
/nano.spec
/src/nano
/src/revision.h

View File

@ -1,6 +1,6 @@
AUTOMAKE_OPTIONS = gnu no-dependencies
SUBDIRS = doc m4 po src
SUBDIRS = doc lib m4 po src
if USE_COLOR
SUBDIRS += syntax

View File

@ -1,4 +1,30 @@
#!/bin/sh
# Generate configure & friends for GIT users.
gnulib_url="git://git.sv.gnu.org/gnulib.git"
gnulib_hash="4084b3a1094372b960ce4a97634e08f4538c8bdd"
modules="
strcase
strcasestr-simple
strnlen
"
# Make sure the local gnulib git repo is up-to-date.
if [ ! -d "gnulib" ]; then
git clone --depth=123 ${gnulib_url}
fi
cd gnulib >/dev/null || exit 1
curr_hash=$(git log -1 --format=%H)
if [ "${gnulib_hash}" != "${curr_hash}" ]; then
git pull
git checkout -f ${gnulib_hash}
fi
cd .. >/dev/null || exit 1
rm -rf lib
./gnulib/gnulib-tool \
--import \
${modules}
autoreconf -f -i -s

View File

@ -26,10 +26,16 @@ dnl Make sure the ONCE macros are available.
AC_PREREQ([2.69])
dnl Lie about gnulib features we don't use to speed up & shrink down.
gl_cv_func_printf_infinite_long_double=yes
dnl Checks for programs.
AC_GNU_SOURCE
AC_PROG_CC
gl_EARLY
gl_INIT
AC_PROG_LN_S
AC_ISC_POSIX
AC_SYS_LARGEFILE
@ -747,6 +753,7 @@ AC_CONFIG_FILES([
Makefile
doc/Makefile
doc/sample.nanorc
lib/Makefile
m4/Makefile
po/Makefile.in
src/Makefile

View File

@ -8,6 +8,7 @@ EXTRA_DIST = \
glib-2.0.m4 \
glibc21.m4 \
glibc2.m4 \
gnulib-cache.m4 \
iconv.m4 \
intdiv0.m4 \
intldir.m4 \

View File

@ -1,4 +1,5 @@
AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" -DSYSCONFDIR=\"$(sysconfdir)\"
AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" -DSYSCONFDIR=\"$(sysconfdir)\" \
-I$(top_builddir)/lib -I$(top_srcdir)/lib
CLEANFILES = revision.h
@ -37,7 +38,7 @@ nano_SOURCES = browser.c \
utils.c \
winio.c
nano_LDADD = @GLIB_LIBS@ @LIBINTL@
nano_LDADD = @GLIB_LIBS@ @LIBINTL@ $(top_builddir)/lib/libgnu.a
install-exec-hook:
cd $(DESTDIR)$(bindir) && rm -f rnano && $(LN_S) nano rnano