Change Android.mk to copy only basic terminfo.
No point in having full terminfo database on an embedded system.
Debian/Ubuntu do this by splitting terminfo into:
ncurses-base - basic terminal type definitions
ncurses-term - additional terminal type definitions
and installing only basic definitions by default even on desktop.
TERMINFO_FILES list is taken directly from Debian's git.
Results are:
258772470 bytes, 1091 files
vs
261858614 bytes, 3623 files
not to mention saved inode space.
Change-Id: Ia41f45c58f7fe5f71c413dfd43f1977aa2dc4c3c
diff --git a/Android.mk b/Android.mk
index cf3beea..03c8b40 100644
--- a/Android.mk
+++ b/Android.mk
@@ -32,10 +32,23 @@
include $(BUILD_SHARED_LIBRARY)
+# Copy only basic terminal type definitions as ncurses-base in debian does by default.
+# http://anonscm.debian.org/gitweb/?p=collab-maint/ncurses.git;a=blob;f=debian/rules;hb=HEAD#l140
+TERMINFO_FILES := \
+ a/ansi c/cons25 c/cygwin d/dumb E/Eterm E/Eterm-color h/hurd l/linux \
+ m/mach m/mach-bold m/mach-color p/pcansi r/rxvt r/rxvt-basic \
+ s/screen s/screen-bce s/screen-s s/screen-w s/sun \
+ s/screen-256color s/screen-256color-bce v/vt100 v/vt102 \
+ v/vt220 v/vt52 x/xterm x/xterm-xfree86 x/xterm-color x/xterm-r5 x/xterm-r6 \
+ x/xterm-vt220 x/xterm-256color w/wsvt25 w/wsvt25m
+
TERMINFO_SOURCE := $(LOCAL_PATH)/lib/terminfo/
TERMINFO_TARGET := $(TARGET_OUT_ETC)/terminfo
$(TERMINFO_TARGET):
@echo "copy terminfo to /etc/"
@mkdir -p $@
- @cp -r $(TERMINFO_SOURCE)/* $@
+ @$(foreach TERMINFO_FILE,$(TERMINFO_FILES), \
+ mkdir -p $@/$(dir $(TERMINFO_FILE)); \
+ $(ACP) $(TERMINFO_SOURCE)/$(TERMINFO_FILE) $@/$(TERMINFO_FILE); \
+ )
ALL_DEFAULT_INSTALLED_MODULES += $(TERMINFO_TARGET)