[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Nano-devel] [PATCH 03/10] add support for gnulib
From: |
Mike Frysinger |
Subject: |
[Nano-devel] [PATCH 03/10] add support for gnulib |
Date: |
Mon, 18 Apr 2016 02:17:38 -0400 |
On a current Linux system, the size of nano is unchanged.
We start off with importing only a few modules, although
we don't yet delete the fallback logic for them.
---
.gitignore | 8 ++++++++
Makefile.am | 2 +-
autogen.sh | 26 ++++++++++++++++++++++++++
configure.ac | 7 +++++++
m4/Makefile.am | 2 +-
src/Makefile.am | 5 +++--
6 files changed, 46 insertions(+), 4 deletions(-)
diff --git a/.gitignore b/.gitignore
index 5c8db82..80e1356 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,6 +16,7 @@ core
/ABOUT-NLS
/INSTALL
/aclocal.m4
+/ar-lib
/autom4te.cache
/compile
/config.cache
@@ -68,5 +69,12 @@ core
/m4/wint_t.m4
/m4/xsize.m4
+# gnulib entries
+/gnulib/
+/lib/
+/m4/.gitignore
+/m4/gnulib-cache.m4
+/snippet/
+
/nano.spec
/src/nano
diff --git a/Makefile.am b/Makefile.am
index 52e8cb6..d2e367a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,6 @@
AUTOMAKE_OPTIONS = gnu no-dependencies
-SUBDIRS = doc m4 po src
+SUBDIRS = doc lib m4 po src
EXTRA_DIST = ChangeLog.pre-2.1 README.GIT UPGRADE nano.spec
diff --git a/autogen.sh b/autogen.sh
index 5400722..6e2d526 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,4 +1,30 @@
#!/bin/sh
# Generate configure & friends for GIT users.
+gnulib_url="git://git.sv.gnu.org/gnulib.git"
+gnulib_hash="730c5249cc17a4ebb7afcb3f2f4e73664eeff5ce"
+
+modules="
+ strcase
+ strcasestr-simple
+ strnlen
+"
+
+# Make sure the local gnulib git repo is up-to-date.
+if [ ! -d "gnulib" ]; then
+ git clone --depth 1 ${gnulib_url}
+fi
+cd gnulib >/dev/null
+curr_hash=$(git log -1 --format=%H)
+if [ "${gnulib_hash}" != "${curr_hash}" ]; then
+ git pull
+ git checkout -f ${gnulib_hash}
+fi
+cd .. >/dev/null
+
+rm -rf lib
+./gnulib/gnulib-tool \
+ --import \
+ ${modules}
+
autoreconf -f -i -s
diff --git a/configure.ac b/configure.ac
index 48a0d43..57b1bb9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -28,10 +28,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
@@ -711,6 +717,7 @@ doc/man/Makefile
doc/man/fr/Makefile
doc/syntax/Makefile
doc/texinfo/Makefile
+lib/Makefile
m4/Makefile
po/Makefile.in
src/Makefile
diff --git a/m4/Makefile.am b/m4/Makefile.am
index ab8542c..ba41afd 100644
--- a/m4/Makefile.am
+++ b/m4/Makefile.am
@@ -1,5 +1,5 @@
EXTRA_DIST = ac_define_dir.m4 codeset.m4 gettext.m4 glib-2.0.m4 \
- glibc21.m4 iconv.m4 intdiv0.m4 inttypes_h.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 \
stdint_h.m4 uintmax_t.m4 ulonglong.m4
diff --git a/src/Makefile.am b/src/Makefile.am
index df65845..0884207 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,4 +1,5 @@
-AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" -DSYSCONFDIR=\"$(sysconfdir)\"
+AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" -DSYSCONFDIR=\"$(sysconfdir)\" \
+ -I$(top_builddir)/lib -I$(top_srcdir)/lib
bin_PROGRAMS = nano
nano_SOURCES = browser.c \
@@ -19,7 +20,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
--
2.7.4
- Re: [Nano-devel] [PATCH 01/10] configure: require autoconf-2.69/automake-1.14, (continued)
[Nano-devel] [PATCH 05/10] drop getdelim/getline fallback functions, Mike Frysinger, 2016/04/18
[Nano-devel] [PATCH 09/10] drop glib fallback for snprintf/vsnprintf, Mike Frysinger, 2016/04/18
[Nano-devel] [PATCH 06/10] drop isblank/iswblank fallback functions, Mike Frysinger, 2016/04/18
[Nano-devel] [PATCH 10/10] drop wchar.h/wctype.h/stdarg.h checks, Mike Frysinger, 2016/04/18
[Nano-devel] [PATCH 08/10] assume getopt_long support is always available, Mike Frysinger, 2016/04/18
[Nano-devel] [PATCH 04/10] drop various str fallback functions, Mike Frysinger, 2016/04/18
[Nano-devel] [PATCH 03/10] add support for gnulib,
Mike Frysinger <=
[Nano-devel] [PATCH 02/10] gettext: update to 0.18.3 release, Mike Frysinger, 2016/04/18
[Nano-devel] [PATCH 07/10] assume regex.h support is always available, Mike Frysinger, 2016/04/18
Re: [Nano-devel] [PATCH 00/10] update autotools & add gnulib support, Kamil Dudka, 2016/04/18