vim: Import Android makefiles
Change-Id: Ib05975fee1c91082618c364f7cfa57f942d694db
diff --git a/Android.mk b/Android.mk
new file mode 100644
index 0000000..e96cd48
--- /dev/null
+++ b/Android.mk
@@ -0,0 +1,217 @@
+vim_src := $(call my-dir)
+
+# ========================================================
+# etc/vimrc
+# ========================================================
+
+LOCAL_PATH := $(vim_src)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := vimrc
+LOCAL_MODULE_TAGS := eng
+LOCAL_MODULE_CLASS := ETC
+
+LOCAL_SRC_FILES := vimrc.android
+
+include $(BUILD_PREBUILT)
+
+# ========================================================
+# vim
+# ========================================================
+
+LOCAL_PATH := $(vim_src)/src
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := \
+ auto/pathdef.c \
+ autocmd.c \
+ blob.c \
+ blowfish.c \
+ buffer.c \
+ change.c \
+ channel.c \
+ charset.c \
+ debugger.c \
+ dict.c \
+ diff.c \
+ digraph.c \
+ edit.c \
+ eval.c \
+ evalfunc.c \
+ ex_cmds.c \
+ ex_cmds2.c \
+ ex_docmd.c \
+ ex_eval.c \
+ ex_getln.c \
+ fileio.c \
+ findfile.c \
+ fold.c \
+ getchar.c \
+ hardcopy.c \
+ hashtab.c \
+ if_cscope.c \
+ if_xcmdsrv.c \
+ indent.c \
+ json.c \
+ list.c \
+ main.c \
+ mark.c \
+ mbyte.c \
+ memfile.c \
+ memline.c \
+ menu.c \
+ message.c \
+ misc1.c \
+ misc2.c \
+ move.c \
+ normal.c \
+ ops.c \
+ option.c \
+ os_unix.c \
+ popupmnu.c \
+ popupwin.c \
+ pty.c \
+ quickfix.c \
+ regexp.c \
+ screen.c \
+ search.c \
+ sha256.c \
+ spell.c \
+ syntax.c \
+ tag.c \
+ term.c \
+ textprop.c \
+ ui.c \
+ undo.c \
+ usercmd.c \
+ userfunc.c \
+ version.c \
+ window.c
+
+LOCAL_C_INCLUDES += \
+ external/libselinux/include \
+ external/libncurses/include \
+ $(LOCAL_PATH)/proto \
+ $(LOCAL_PATH)/auto
+
+LOCAL_SHARED_LIBRARIES += \
+ libselinux \
+ libncurses \
+ libm \
+ libdl
+
+LOCAL_CFLAGS += \
+ -DHAVE_CONFIG_H \
+ -DSYS_VIMRC_FILE=\"/system/etc/vimrc\"
+
+# vim variants: TINY SMALL CM NORMAL BIG HUGE
+#
+# NORMAL, BIG and HUGE are almost the same (1.1M)
+# TINY and SMALL are similar to busybox vi (460K)
+#
+# our profile is between SMALL and NORMAL (780K)
+# with syntax and utf8 (mbyte) support
+#
+# to reduce vim size, manually define wanted features
+LOCAL_CFLAGS += \
+ -DFEAT_SMALL=1 \
+ -DFEAT_MBYTE=1 \
+ -DFEAT_SYN_HL=1 \
+ -DFEAT_CINDENT=1 \
+ -DFEAT_COMMENTS=1 \
+ -DFEAT_EVAL=1 \
+ -DFEAT_AUTOCMD=1 \
+ -DFEAT_USR_CMDS=1 \
+ -DFEAT_EX_EXTRA=1 \
+ -DFEAT_CMDL_COMPL=1 \
+ -DFEAT_LISTCMDS=1 \
+ -DFEAT_CMDL_INFO=1 \
+ -DFEAT_SEARCH_EXTRA=1
+
+LOCAL_CFLAGS += -Wno-unused-variable -Wno-unused-parameter
+
+LOCAL_MODULE := vim
+LOCAL_MODULE_TAGS := eng
+LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
+LOCAL_REQUIRED_MODULES := vimrc
+include $(BUILD_EXECUTABLE)
+
+# ========================================================
+# vim runtime files
+# ========================================================
+ifeq (vim,$(filter vim, $(ALL_MODULES)))
+
+vim_runtime_path := $(vim_src)/runtime
+
+vim_runtime_files := \
+ scripts.vim \
+ indent.vim \
+ indoff.vim \
+ filetype.vim \
+ ftoff.vim
+
+vim_doc_files := \
+ help.txt intro.txt tags \
+ motion.txt editing.txt scroll.txt \
+ options.txt term.txt
+
+vim_colors_files := \
+ default.vim \
+ desert.vim
+
+vim_syntax_files := \
+ logcat.vim \
+ awk.vim \
+ config.vim \
+ conf.vim \
+ cpp.vim \
+ c.vim \
+ css.vim \
+ diff.vim \
+ doxygen.vim \
+ html.vim vb.vim \
+ xml.vim dtd.vim \
+ context.vim \
+ gitcommit.vim \
+ help.vim \
+ javascript.vim \
+ java.vim \
+ lua.vim \
+ manual.vim \
+ markdown.vim \
+ pod.vim \
+ sh.vim \
+ syncolor.vim \
+ synload.vim \
+ syntax.vim \
+ vim.vim
+
+vim_plugin_files := \
+ matchparen.vim \
+
+vim_autoload_files := \
+ dist/ft.vim \
+ spacehi.vim
+
+VIM_SHARED := $(TARGET_OUT)/usr/share/vim
+
+vim_runtime_files := \
+ $(vim_runtime_files) \
+ $(addprefix doc/, $(vim_doc_files)) \
+ $(addprefix colors/, $(vim_colors_files)) \
+ $(addprefix syntax/, $(vim_syntax_files)) \
+ $(addprefix plugin/, $(vim_plugin_files)) \
+ $(addprefix autoload/, $(vim_autoload_files)) \
+
+$(vim_runtime_files): $(LOCAL_BUILT_MODULE)
+ @echo "Install: $(VIM_SHARED)/$@"
+ @mkdir -p $(dir $(VIM_SHARED)/$@)
+ $(hide) cp $(vim_runtime_path)/$@ $(VIM_SHARED)/$@
+
+ALL_DEFAULT_INSTALLED_MODULES += $(vim_runtime_files)
+
+ALL_MODULES.$(LOCAL_MODULE).INSTALLED := \
+ $(ALL_MODULES.$(LOCAL_MODULE).INSTALLED) \
+ $(addprefix $(VIM_SHARED)/, $(vim_runtime_files))
+
+endif
diff --git a/vimrc.android b/vimrc.android
new file mode 100644
index 0000000..3c95fdb
--- /dev/null
+++ b/vimrc.android
@@ -0,0 +1,111 @@
+" vimrc default android config file
+"
+" Adapted for Android by tpruvot@github
+" Last change: 2014 Jul 22 (UTF-8)
+
+" When started as "evim", evim.vim will already have done these settings.
+if v:progname =~? "evim"
+ finish
+endif
+
+" Use Vim settings, rather than Vi settings (much better!).
+" This must be first, because it changes other options as a side effect.
+set nocompatible
+
+" allow backspacing over everything in insert mode
+set backspace=indent,eol,start
+
+" swap directories
+set directory=.,/data/local/tmp,/tmp
+
+if has("vms")
+ set nobackup " do not keep a backup file, use versions instead
+else
+" set backup " keep a backup file (restore to previous version)
+ set undofile " keep an undo file (undo changes after closing)
+endif
+set history=50 " keep 50 lines of command line history
+set ruler " show the cursor position all the time
+set showcmd " display incomplete commands
+set incsearch " do incremental searching
+
+set viminfo="NONE"
+
+" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries
+" let &guioptions = substitute(&guioptions, "t", "", "g")
+
+" Don't use Ex mode, use Q for formatting
+map Q gq
+
+" CTRL-U in insert mode deletes a lot. Use CTRL-G u to first break undo,
+" so that you can undo CTRL-U after inserting a line break.
+inoremap <C-U> <C-G>u<C-U>
+
+" In many terminal emulators the mouse works just fine, thus enable it.
+if has('mouse')
+ set mouse=a
+endif
+
+" Switch syntax highlighting on, when the terminal has colors
+" Also switch on highlighting the last used search pattern.
+if &t_Co > 2 || has("gui_running")
+ syntax on
+ set hlsearch
+endif
+
+" Only do this part when compiled with support for autocommands.
+if has("autocmd")
+
+ " Enable file type detection.
+ " Use the default filetype settings, so that mail gets 'tw' set to 72,
+ " 'cindent' is on in C files, etc.
+ " Also load indent files, to automatically do language-dependent indenting.
+ filetype plugin indent on
+
+ " Put these in an autocmd group, so that we can delete them easily.
+ augroup vimrcEx
+ au!
+
+ " For all text files set 'textwidth' to 78 characters.
+ autocmd FileType text setlocal textwidth=78
+
+ " When editing a file, always jump to the last known cursor position.
+ " Don't do it when the position is invalid or when inside an event handler
+ " (happens when dropping a file on gvim).
+ " Also don't do it when the mark is in the first line, that is the default
+ " position when opening a file.
+ autocmd BufReadPost *
+ \ if line("'\"") > 1 && line("'\"") <= line("$") |
+ \ exe "normal! g`\"" |
+ \ endif
+
+ augroup END
+
+else
+
+ set autoindent " always set autoindenting on
+
+endif " has("autocmd")
+
+" UTF-8 support
+if has("multi_byte")
+ if &termencoding == ""
+ let &termencoding = "utf-8"
+ endif
+ set encoding=utf-8
+ setglobal fileencoding=utf-8
+ " setglobal bomb " Do not force BOM headers
+ set fileencodings=ucs-bom,utf-8,latin1
+endif
+
+if has("syntax")
+ source /system/usr/share/vim/autoload/spacehi.vim
+endif
+
+" Convenient command to see the difference between the current buffer and the
+" file it was loaded from, thus the changes you made.
+" Only define it when not defined already.
+if !exists(":DiffOrig")
+ command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis
+ \ | wincmd p | diffthis
+endif