Robert Hicks wrote:
A.J.Mechelynck wrote:
Robert Hicks wrote:
Georg Dahn wrote:
Hi!
--- Robert Hicks <[EMAIL PROTECTED]> wrote:
I see in the configure file that --with-features takes "tiny,
small, normal, big or huge (default: normal).
Is there some place I can look to see what those options provide?
Try
:h :version
Best wishes,
Georg
Cool, exactly what I was looking for. : )
Robert
Basically:
- the "tiny" version has nothing that can be omitted -- not even
online help, visual mode, or expression evaluation;
- the "small" version has visual mode and split windows (and online
help) but it still lacks expression evaluation;
- the "normal" version has a lot more, but it still lacks some
important (to me) features, including support for multi-byte encodings
(such as Chinese or Unicode) and for right-to-left writing systems
(such as Hebrew, Arabic or Farsi);
- the "big" version has everything except the "profiling" feature;
- the "huge" version has it all.
- There are still some features (such as MzScheme, Perl, Python, Tcl,
and, on X11 systems, GNOME, which requires a GTK+ GUI) which have to
be included manually.
I would recommend to stay away from the "tiny" and "small" versions,
unless you're running on a system with very limited memory like 16-bit
Dos. Personally, since I like the big all-bells-and-whistles package,
I source (not run) the following bash script just before running "make":
-----8<-----
#!/bin/bash
#
# this file must be sourced, not run
#
# set environment variables
export CONF_OPT_GUI='--enable-gnome-check'
export CONF_OPT_PERL='--enable-perlinterp'
export CONF_OPT_PYTHON='--enable-pythoninterp'
export CONF_OPT_TCL='--enable-tclinterp --with-tcl=tclsh8.4'
export CONF_OPT_RUBY='--enable-rubyinterp'
export CONF_OPT_MZSCHEME='--enable-mzschemeinterp'
export CONF_OPT_CSCOPE='--enable-cscope'
export CONF_OPT_MULTIBYTE='--enable-multibyte'
export CONF_OPT_OUTPUT='--enable-fontset'
export CONF_OPT_FEAT='--with-features=huge'
export CONF_OPT_COMPBY='"[EMAIL PROTECTED]"'
----->8-----
(if your browser, or mine, "beautified" the last line by breaking it
between export and CONF_OPT_COMPBY, well, it shouldn't have.)
You can use this script, changing anything you want, including of
course at least the "compiled-by" line. If you lack the "development"
packages required for one or other of the configured-in options,
configure will turn it off.
A couple of questions if I may...
#1 How do I "source"? I have never done that prior to a make before...
In bash:
source myconfig
or
. myconfig
(assuming that you've copied the script as "myconfig" in the top
directory of your build hierarchy, which has src/ runtime/ etc.
subdirectories, and that you have made that directory current). Doing
just "myconfig" won't work, because bash will run it in a temporary
environment and restore the environment afterwards. It may sound strange
but I've tried.
The advantage of this approach (setting environment variables) is that
you don't need to make _any_ change in the Makefile, and yet "make" will
invoke "configure" with _your_ preferred settings.
#2 If I do this:
export CONF_OPT_TCL='--enable-tclinterp --with-tcl=tclsh8.4'
do I have to pass anything else to point it to libs or anything? I have
ActiveTcl installed on my HP/UX boxes.
You pass he TCL version as above; if your distribution of TCL is
"properly" installed, "configure" (run by "make" the first time, or
whenever you run "make reconfig" in the src/ directory) will find it and
"make" will set up the compiler and linker command-lines to include the
proper header files and libraries. For perl, python, etc. you don't even
need to pass the interpreter version. If your TCL distribution is _not_
properly installed, or if you _don't_ have the tcl-devel package (or
whatever it is called on your flavour of Linux), configure will exclude
it and you'll end up with "-tcl" in the ":version" listing of your Vim
executable, regardless of the presence of --enable-tclinterp
#3 If you are passing:
export CONF_OPT_FEAT='--with-features=huge'
and the huge version "has it all" why pass the multibyte, etc.?
At the moment I wrote this script, it wasn't clear to me that
"multibyte" and "cscope" didn't need to be included manually. Also, if
you want to *exclude* them, the presence of these lines makes it obvious
that, e.g., to exclude +multi_byte (I don't recommend it, but it's your
funeral not mine) you export "CONF_OPT_MULTIBYTE='--disable-multibyte'".
The five "interpreted languages", the GNOME interface, and of course the
"compiled by" line, *must* be configured manually, or they won't be
included, not even in a Huge version. As for the "fontset" feature
(+xfontset), ":help +feature-list" says that it is "system-dependent",
and it seems that my system hasn't got what it takes, since my Vim
executable ends up with -xfontset.
:Robert
Best regards,
Tony.