summaryrefslogtreecommitdiffstats
path: root/src/INSTALLvms.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/INSTALLvms.txt')
-rw-r--r--src/INSTALLvms.txt393
1 files changed, 393 insertions, 0 deletions
diff --git a/src/INSTALLvms.txt b/src/INSTALLvms.txt
new file mode 100644
index 0000000..e336da4
--- /dev/null
+++ b/src/INSTALLvms.txt
@@ -0,0 +1,393 @@
+INSTALLvms.txt - Installation of Vim on OpenVMS
+
+Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
+Last change: 2008 Jan 06
+
+This file contains instructions for compiling Vim on Openvms.
+If you already have an executable version of Vim, you don't need this.
+
+If you skip settings described here, then you will get the default Vim
+behavior as it is documented, which should be fine for most users.
+
+The file "feature.h" can be edited to match your preferences, but this file
+does not describe possibilities hidden in feature.h acrobatics, however
+parameters from MAKE_VMS.MMS actively use and set up parameters in relation
+with feature.h
+
+More information and case analysis you can find in os_vms.txt
+([runtime.doc]os_vms.txt or :help vms from vim prompt)
+
+Contents:
+1. Download files
+2. Configuration
+3. Compilation DECC
+4. Compilation VAXC
+5. CTAGS, XXD
+6. Deployment
+7. GTK and other features
+8. Notes
+9. Authors
+
+----------------------------------------------------------------------------
+1. Download files
+
+1.1. Visit the Vim ftp site (see ftp://ftp.vim.org/pub/vim/MIRRORS)
+ and obtain the following three files:
+
+ unix/vim-X.X-src.tar.gz
+ unix/vim-X.X-rt.tar.gz
+ extra/vim-X.X-extra.tar.gz
+
+ where X.X is the version number.
+
+1.2. Expand the three archives.
+
+1.3. Apply patches if they exist. (Patch files are found in the ftp
+ site in the "patches" directory.)
+
+1.4. You will need either the DECSET mms utility or the freely available clone
+ of it called mmk (VMS has no make utility in the standard distribution).
+ You can download mmk from http://www.openvms.digital.com/freeware/MMK/
+
+1.5. If you want to have Perl, Python or Tcl support in Vim you will need VMS
+ distributions for them as well.
+
+1.6 If you want to have GTK executable, you need to have properly installed
+ GTK libraries.
+
+NOTE: procedure in chapter 1 describes source code preparation from multi OS
+code, however it is available OpenVMS optimized (and tested) source code from:
+ftp://ftp.polarhome.com/pub/vim/source/vms/
+(http://www.polarhome.com/vim/files/source/vms/)
+
+Current OpenVMS source code as .zip or .tar.gz file is possible to download
+from CVS mirror ftp://ftp.polarhome.com/pub/cvs/SOURCE/
+(http://www.polarhome.com/cvs/SOURCE/)
+
+2. Configuration
+
+2.1. Edit vim-X.X/src/feature.h for your preference. (You can skip
+ this, then you will get the default behavior as is documented,
+ which should be fine for most people.)
+
+ For example, if you want to add the MULTI_BYTE feature, turn on
+ #define MULTI_BYTE
+
+2.2 Edit vim-X.X/src/Make_vms.mms to customize your Vim. Options are:
+
+ Parameter name : MODEL
+ Description : Build model selection
+ Options: : TINY - Almost no features enabled, not even
+ multiple windows
+ SMALL - Few features enabled, as basic as possible
+ NORMAL - A default selection of features enabled
+ BIG - Many features enabled, as rich as possible.
+ (OpenVMS default)
+ HUGE - All possible features enabled.
+ Uncommented - will default to BIG
+ Default : MODEL = BIG
+
+ Parameter name : GUI
+ Description : GUI or terminal mode executable
+ Options: : YES - GUI executable
+ Uncommented - char only
+ Default : GUI = YES
+
+ Parameter name : GTK
+ Description : Enable GTK in GUI mode.
+ It enables features as toolbar etc.
+ Options: : YES - GTK executable
+ Uncommented - without GTK
+ Default : Uncommented
+
+ Parameter name : XPM
+ Description : Enable XPM libraries in GUI/Motif mode.
+ It enables features as toolbar etc.
+ Options: : YES - GUI executable
+ Uncommented - without XPM
+ Default : Uncommented
+
+ Parameter name : DECC
+ Description : Compiler selection
+ Options: : YES - DECC compiler
+ Uncommented - VAXC compiler
+ Default : DECC = YES
+
+ Parameter name : CCVER
+ Description : Compiler version with :ver command
+ Options: : YES - Compiler version info will be added
+ Uncommented - will not be added
+ Default : CCVER = YES
+
+ Parameter name : DEBUG
+ Description : Building a debug version
+ Options: : YES - debug version will be built
+ Uncommented - building normal executable
+ Default : Uncommented
+
+ Parameter name : VIM_TCL
+ Description : Add Tcl support
+ Options: : YES - Build with support
+ Uncommented - build without support.
+ Default : Uncommented
+
+ Parameter name : VIM_PERL
+ Description : Add Perl support
+ Options: : YES - Build with support
+ Uncommented - build without support.
+ Default : Uncommented
+
+ Parameter name : VIM_PYTHON
+ Description : Add Python support
+ Options: : YES - Build with support
+ Uncommented - build without support.
+ Default : Uncommented
+
+ Parameter name : VIM_XIM
+ Description : X Input Method. For entering special languages
+ like Chinese and Japanese. Please define just
+ one: VIM_XIM or VIM_HANGULIN
+ Options: : YES - Build with support
+ Uncommented - build without support.
+ Default : Uncommented
+
+ Parameter name : VIM_HANGULIN
+ Description : Internal Hangul input method. GUI only.
+ Please define just one: VIM_XIM or VIM_HANGULIN
+ Options: : YES - Build with support
+ Uncommented - build without support.
+ Default : Uncommented
+
+ Parameter name : VIM_TAG_ANYWHITE
+ Description : Allow any white space to separate the fields in a
+ tags file
+ When not defined, only a TAB is allowed.
+ Options: : YES - Build with support
+ Uncommented - build without support.
+ Default : Uncommented
+
+ You can edit the *_INC and *_LIB qualifiers, but it is really
+ not recommended for beginners.
+
+3. Compilation DECC
+
+3.1. If you have MSS on your system, the command
+
+ mms /descrip=Make_vms.mms
+
+ will start building your own customized version of Vim.
+ The adequate command for mmk is:
+
+ mmk /descrip=Make_vms.mms
+
+ NOTE: Because of empty /auto/config.h (needed for Unix configure) build
+ will fail with very strange messages. Therefore before building, it is
+ recommended to make one clean up, to prepare everything for OpenVMS
+ development. The command is:
+
+ mms /descrip=Make_vms.mms clean
+
+4. Compilation VAXC
+
+4.1. VAXC compiler is not fully ANSI C compatible in pre-processor directives
+ semantics, therefore you have to use a converter program what will do the
+ lion part of the job.
+
+ @os_vms_fix.com *.c *.h <.proto>*.pro
+
+ more information can be found in os_vms_fix.com file itself.
+
+ NOTE: even if os_vms_fix.com will fix all pre-processor directives it will
+ leave single (long) line directives. You have to fix them manually.
+ Known problematic files are option.h and option.c
+
+4.2. After the conversion you can continue building as it has been described
+ above.
+
+5. CTAGS, XXD
+
+5.1. MMS_VIM.EXE is building together with VIM.EXE, but for CTAGS.EXE and
+ XXD.EXE you should change to subdirectory <.CTAGS> or <.XXD> and build
+ them separately.
+
+5.2. In these directories you can find one make file for VMS as well.
+ Please read the detailed build instructions in the related *.MMS file.
+
+6. Deployment
+
+6.1. Copy over all executables to the deployment directory.
+
+6.2. Vim uses a special directory structure to hold the document and runtime
+ files:
+
+ vim (or wherever)
+ |-- doc
+ |-- syntax
+ vimrc (system rc files)
+ gvimrc
+
+6.3 Define logicals VIM
+
+ define/nolog VIM device:[leading-path-here.vim]
+
+ to get vim.exe to find its document, filetype, and syntax files.
+
+ Now, if you are lucky you should have one own built, customized and
+ working Vim.
+
+7. GTK and other features
+
+7.1 General notes
+
+ To be able to build external GUI or language support you have to enable
+ related feature in MAKE_VMS.MMS file. Usually it needs some extra tuning
+ around include files, shared libraries etc.
+
+ Please note, that leading "," are valuable for MMS/MMK syntax.
+
+ MAKE_VMS.MMS uses defines as described below:
+
+7.1.1 feature_DEF = ,"SOME_FEATURE"
+
+ Submits definition to compiler preprocessor to enable code blocks
+ defined with
+ #ifdef SOME_FEATURE
+ {some code here}
+ #endif
+
+ Example: TCL_DEF = ,"FEAT_TCL"
+
+
+7.1.2 feature_SRC = code1.c code2.c
+
+ Defines source code related with particular feature.
+ Example: TCL_SRC = if_tcl.c
+
+7.1.3 feature_OBJ = code1.obj code2.obj
+
+ Lists objects created from source codes listed in feature_SRC
+ Example: PERL_OBJ = if_perlsfio.obj if_perl.obj
+
+7.1.4 feature_LIB = ,OS_VMS_TCL.OPT/OPT
+
+ Defines the libraries that have to be used for build.
+ If it is an OPT file then MAKE_VMS.MMS creates OPT files
+ in gen_feature procedure.
+
+ Example:
+ PERL_LIB = ,OS_VMS_PERL.OPT/OPT
+
+.IFDEF VIM_PERL
+perl_env :
+ -@ write sys$output "creating OS_VMS_PERL.OPT file."
+ -@ open/write opt_file OS_VMS_PERL.OPT
+ -@ write opt_file "PERLSHR /share"
+ -@ close opt_file
+.ELSE
+perl_env :
+ -@ !
+.ENDIF
+
+
+7.1.5 feature_INC = ,dka0:[tcl80.generic]
+
+ Defines the directory where the necessary include files are.
+ Example: TCL_INC = ,dka0:[tcl80.generic]
+
+7.2 GTK
+
+ To build VIM with GTK you have to install GTK on your OpenVMS.
+ So far it works just on Alpha and IA64. More information at:
+ http://www.openvms.compaq.com/openvms/products/ips/gtk.html
+
+ You also need the OpenVMS Porting Library:
+ http://www.openvms.compaq.com/openvms/products/ips/porting.html
+
+ Source code for GTK and porting library that is used to build
+ VMS executables at polarhome.com are at
+ http://www.polarhome.com/vim/files/source/vms/
+
+ Enable GTK in make_vms.mms file with GTK = YES
+ Define GTK_ROOT that points to your GTK root directory.
+
+ You will need to edit GTKDIR variable in order to point
+ to GTK header files and libraries.
+
+ GTK_DIR = ALPHA$DKA0:[GTK128.]
+
+ ".]" at the end is very important.
+
+ Build it as normally.
+
+ Used shareable images are:
+ gtk_root:[glib]libglib.exe /share,-
+ gtk_root:[glib.gmodule]libgmodule.exe /share,-
+ gtk_root:[gtk.gdk]libgdk.exe /share,-
+ gtk_root:[gtk.gtk]libgtk.exe /share
+
+ During runtime it is suggested to have all these files installed and
+ copied to SYS$LIBRARY: to be able to use it without problems.
+ Also VMS_JACKETS.EXE from OpenVMS Porting Library.
+
+ Please note, that GTK uses /name=(as_is,short)/float=ieee/ieee=denorm
+ compiler directives that is not compatible with "standard" VMS usage,
+ therefore other external features might fail as PERL, PYTHON and TCL
+ support.
+
+7.3 PERL
+
+ You have to install OpenVMS perl package from:
+ http://www.openvms.compaq.com/openvms/products/ips/apache/csws_perl_relnotes.html or build on your own from sources downloaded from http://www.perl.org
+
+ You need defined PERLSHR logical that points to PERL shareable image
+ (or you can just copy over to SYS$LIBRARY:)
+
+ Enable Perl feature at make_vms.mms with VIM_PERL = YES
+
+ Edit PERL_INC = to point to perl includes directory where is extern.h
+
+ Build as usual.
+
+7.4 PYTHON
+
+ You have to install an OpenVMS python package.
+ Set up the normal Python work environment.
+
+ You have to have defined PYTHON_INCLUDE and PYTHON_OLB logicals.
+ PYTHON_INCLUDE should point to Python include files where for ex:
+ python.h is located.
+ Enable Python feature at make_vms.mms with VIM_PYTHON = YES
+
+ Build as usual.
+
+7.5 TCL
+
+ You have to install an OpenVMS TCL package.
+ Set up the normal TCL work environment.
+
+ You have to have defined TCLSHR logical that points to shareable image.
+
+ Enable TCL feature at make_vms.mms with VIM_TCL = YES
+
+ Edit TCL_INC = to point to TCL includes directory where is tcl.h
+
+ Build as usual.
+
+8. Notes
+
+8.1. New Compaq C compiler
+
+ If you are using Compaq C compiler V6.2 or newer, informational messages
+ of the type QUESTCOMPARE will be displayed. You should ignore those
+ messages ; they are generated only because some test comparisons are done
+ with variables which type vary depending on the OS. Under VMS, those are
+ "unsigned" and the compiler issue a message whenever the comparison is
+ done with '<=' to 0. However, the code is correct and will behave as
+ expected.
+ ( Jerome Lauret <JLAURET@mail.chem.sunysb.edu> Vim 6.0n )
+ NOTE: from version 6.0ad Vim code has been reviewed and these warnings
+ have been corrected.
+
+9. Authors
+
+ Initial version, 2000 Jul 19, Zoltan Arpadffy <arpadffy@polarhome.com>