r390 - branches/vim-tiny/debian

Stefano Zacchiroli zack at costa.debian.org
Tue Nov 1 16:33:10 UTC 2005


Author: zack
Date: 2005-11-01 16:33:09 +0000 (Tue, 01 Nov 2005)
New Revision: 390

Added:
   branches/vim-tiny/debian/tiny-features.txt
Modified:
   branches/vim-tiny/debian/rules
Log:
added support for compiling additional features (specified in debian/tiny-features.txt) in vim-tiny


Modified: branches/vim-tiny/debian/rules
===================================================================
--- branches/vim-tiny/debian/rules	2005-10-31 22:38:31 UTC (rev 389)
+++ branches/vim-tiny/debian/rules	2005-11-01 16:33:09 UTC (rev 390)
@@ -23,7 +23,9 @@
 CFGFLAGS+=--mandir='$${prefix}'/share/man
 CFGFLAGS+=--with-compiledby="$(BUILDER)"
 
-TINYFLAGS+=--with-features=tiny
+# "vim-tiny" features: in addition to those coming from the --with-features=xxx,
+# "vim-tiny" is built with those listed in tiny-features.txt
+TINYFLAGS+=--with-features=small
 TINYFLAGS+=--disable-gui
 TINYFLAGS+=--disable-xsmp
 TINYFLAGS+=--disable-xsmp-interact
@@ -201,7 +203,7 @@
 	for x in install postinst postrm prerm ; do	\
 	  rm -f debian/$*.$$x ;\
 	done
-	rm -f debian/lintian/$*
+	rm -f debian/lintian/$* debian/tiny-features.h
 
 build: extract
 build: build-stamp
@@ -212,21 +214,45 @@
 #	  -c "helptags $(SRCDIR)/runtime/doc" -c quit
 	touch $@
 
-build-stamp-%: DH_OPTIONS=
-build-stamp-%:
+.PHONY: debian/tiny-features.h
+debian/tiny-features.h:
+	@echo "*** DEBIAN *** adding to feature.h extra features for vim-tiny"
+	> debian/tiny-features.h # generate debian-specific features header
+	for feat in `grep ^FEAT_ debian/tiny-features.txt | cut -f 1` ; do \
+		echo "#define $$feat" >> debian/tiny-features.h ; \
+	done
+	# include it from feature.h if needed
+	if tail -1 $(VIMCUR)/src/feature.h | grep "debian/tiny-features.h" > /dev/null; then \
+		true ; \
+	else \
+		cp $(VIMCUR)/src/feature.h{,.orig} ; \
+		echo "#include \"../../debian/tiny-features.h\"" >> $(VIMCUR)/src/feature.h ; \
+	fi
+
+# patch feature.h to add extra vim-tiny features, backup to feature.h.orig
+configure-stamp-vim-tiny: debian/tiny-features.h
+
+configure-stamp-%:
+	dh_testdir
 	@echo "*** DEBIAN *** BUILDING VIM VARIANT $*"
-	dh_testdir
 	$(MAKE) -C $(SRCDIR) clean
+	# restore original feature.h if needed
+	if -f $(VIMCUR)/src/feature.h.orig; then \
+		mv $(VIMCUR)/src/feature.h{.orig,}; \
+	fi
 	cd $(SRCDIR) \
 		&& make distclean \
 		&& CFLAGS="$(CFLAGS_$(*))" ./configure $(CFGFLAGS_$(*))
+	touch $@
+
+build-stamp-%: configure-stamp-%
+	dh_testdir
 	$(MAKE) -C $(SRCDIR)
 	mv $(SRCDIR)/src/vim $(SRCDIR)/src/$(subst -,.,$*)
 	touch $@
 
 install: build
 install: install-stamp
-install-stamp: DH_OPTIONS=
 install-stamp: $(foreach v,$(VARIANTS),install-stamp-$(v))
 	dh_testdir
 	dh_testroot

Added: branches/vim-tiny/debian/tiny-features.txt
===================================================================
--- branches/vim-tiny/debian/tiny-features.txt	2005-10-31 22:38:31 UTC (rev 389)
+++ branches/vim-tiny/debian/tiny-features.txt	2005-11-01 16:33:09 UTC (rev 390)
@@ -0,0 +1,92 @@
+vim-tiny is compiled using --with-features=small. Since there a lot of features
+one-can-t-live-without which are missing from the "small" features subsed, extra
+features are built in. This file describes them and is parsed during the
+vim-tiny build process by debian/rules. Information extracted from this file are
+then used to patch src/features.h so that the desired features are actually
+built-in.
+
+Each line which does not begin with "FEAT_" is ignored. Each line which is not
+ignored must have the following format:
+  <C feature name from src/feature.h>
+  <TABs/SPACEs>
+  <feature description as per :help +feature-list>
+  <Newline>
+
+In order to add an extra feature for "vim-tiny":
+1) have a look at the features described in ":help +feature-list"
+2) lookup them in src/feature.h to find the C feature name
+3) add it below using the format described above
+
+Extra features compiled in vim tiny:
+
+FEAT_AUTOCMD		N  *+autocmd*		|:autocmd|, automatic commands
+FEAT_BYTEOFF		N  *+byte_offset*	support for 'o' flag in 'statusline' option, "go"
+FEAT_CMDL_COMPL		N  *+cmdline_compl*	command line completion |cmdline-completion|
+FEAT_CMDHIST		N  *+cmdline_hist*	command line history |cmdline-history|
+FEAT_CMDL_INFO		N  *+cmdline_info*	|'showcmd'| and |'ruler'|
+FEAT_COMMENTS		N  *+comments*		|'comments'| support
+FEAT_DIFF		N  *+diff*		|vimdiff| and 'diff'
+FEAT_DIGRAPHS		N  *+digraphs*		|digraphs| *E196*
+FEAT_EVAL		N  *+eval*		expression evaluation |eval.txt|
+FEAT_SEARCH_EXTRA	N  *+extra_search*	|'hlsearch'| and |'incsearch'| options.
+FEAT_SEARCHPATH		N  *+file_in_path*	|gf|, |CTRL-W_f| and |<cfile>|
+FEAT_INS_EXPAND		N  *+insert_expand*	|insert_expand| Insert mode completion
+FEAT_LISTCMDS		N  *+listcmds*		Vim commands for the list of buffers |buffer-hidden|
+FEAT_QUICKFIX		N  *+quickfix*		|:make| and |quickfix| commands
+FEAT_SCROLLBIND		N  *+scrollbind*	|'scrollbind'|
+FEAT_SMARTINDENT	N  *+smartindent*	|'smartindent'|
+FEAT_VIMINFO		N  *+viminfo*		|'viminfo'|
+FEAT_VERTSPLIT		N  *+vertsplit*		Vertically split windows |:vsplit|
+FEAT_VISUALEXTRA	N  *+visualextra*	extra Visual mode commands |blockwise-operators|
+
+If we do not want vimdiff in vim-tiny, we can remove from above: _AUTOCMD,
+_DIFF, _SCROLLBIND, _VERTSPLIT.
+
+All remaining features from the "normal" features subset.
+
+			N  *+browse*		|:browse| command
+			N  *+builtin_terms*	some terminals builtin |builtin-terms|
+no FEAT_CINDENT		N  *+cindent*		|'cindent'|, C indenting
+			N  *+clientserver*	Unix and Win32: Remote invocation |clientserver|
+			N  *+cryptv*		encryption support |encryption|
+			N  *+dialog_gui*	Support for |:confirm| with GUI dialog.
+			N  *+dialog_con*	Support for |:confirm| with console dialog.
+			N  *+dialog_con_gui*	Support for |:confirm| with GUI and console dialog.
+			N  *+ex_extra*		Vim's extra Ex commands: |:center|, |:left|,
+no FEAT_FIND_ID		N  *+find_in_path*	include file searches: |[I|, |:isearch|,
+			N  *+folding*		|folding|
+			N  *+gettext*		message translations |multi-lang|
+			N  *+jumplist*		|jumplist|
+			N  *+libcall*		|libcall()|
+			N  *+linebreak*		|'linebreak'|, |'breakat'| and |'showbreak'|
+			N  *+lispindent*	|'lisp'|
+			N  *+localmap*		Support for mappings local to a buffer |:map-local|
+			N  *+menu*		|:menu|
+			N  *+mksession*		|:mksession|
+			N  *+modify_fname*	|filename-modifiers|
+			N  *+mouse*		Mouse handling |mouse-using|
+			N  *+mouseshape*	|'mouseshape'|
+			N  *+mouse_gpm*		Unix only: Linux console mouse handling |gpm-mouse|
+			N  *+mouse_pterm*	QNX only: pterm mouse handling |qnx-terminal|
+			N  *+mouse_xterm*	Unix only: xterm mouse handling |xterm-mouse|
+			N  *+multi_lang*	non-English language support |multi-lang|
+no FEAT_PATH_EXTRA		N  *+path_extra*	Up/downwards search in 'path' and 'tags'
+			N  *+printer*		|:hardcopy| command
+			N  *+statusline*	Options 'statusline', 'rulerformat' and special
+			N  *+syntax*		Syntax highlighting |syntax|
+			N  *+tag_binary*	binary searching in tags file |tag-binary-search|
+			N  *+tag_old_static*	old method for static tags |tag-old-static|
+			N  *+termresponse*	support for |t_RV| and |v:termresponse|
+no FEAT_TEXTOBJ		N  *+textobjects*	|text-objects| selection
+			N  *+title*		Setting the window title |'title'|
+			N  *+toolbar*		|gui-toolbar|
+			N  *+user_commands*	User-defined commands. |user-commands|
+			N  *+virtualedit*	|'virtualedit'|
+			N  *+vreplace*		|gR| and |gr|
+			N  *+wildignore*	|'wildignore'|
+			N  *+wildmenu*		|'wildmenu'|
+			N  *+xterm_clipboard*	Unix only: xterm clipboard handling
+			N  *+X11*		Unix only: can restore window title |X11|
+
+ -- Stefano Zacchiroli <zack at debian.org>  Tue, 01 Nov 2005 10:38:59 +0100
+




More information about the pkg-vim-maintainers mailing list