Bram Moolenaar | 3b1db36 | 2013-08-10 15:00:24 +0200 | [diff] [blame] | 1 | README_zOS.txt for version 7.4 of Vim: Vi IMproved. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 2 | |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 3 | This readme explains how to build Vim on z/OS. Formerly called OS/390. |
| 4 | See "README.txt" for general information about Vim. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5 | |
Bram Moolenaar | 3b0dd7c | 2010-08-01 14:36:59 +0200 | [diff] [blame] | 6 | Most likely there are not many users out there using Vim on z/OS. So chances |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 7 | are good, that some bugs are still undiscovered. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 8 | |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 9 | Getting the source to z/OS: |
| 10 | ========================== |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 11 | |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 12 | First get the source code in one big tar file and ftp it a binary to z/OS. If |
| 13 | the tar file is initially compressed with gzip (tar.gz) or bzip2 (tar.bz2) |
| 14 | uncompress it on your PC, as this tools are (most likely) not available on the |
| 15 | mainframe. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 16 | |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 17 | To reduce the size of the tar file you might compress it into a zip file. On |
| 18 | z/OS Unix you might have the command "jar" from java to uncompress a zip. Use: |
| 19 | jar xvf <zip file name> |
| 20 | |
| 21 | Unpack the tar file on z/OS with |
| 22 | pax -o from=ISO8859-1,to=IBM-1047 -rf vim.tar |
| 23 | |
| 24 | Note: The Vim source contains a few bitmaps etc which will be destroyed by |
| 25 | this command, but these files are not needed on zOS (at least not for the |
| 26 | console version). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 27 | |
| 28 | |
| 29 | Compiling: |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 30 | ========== |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 31 | |
Bram Moolenaar | 913df81 | 2013-07-06 15:44:11 +0200 | [diff] [blame] | 32 | Vim can be compiled with or without GUI support. For 7.4 only the compilation |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 33 | without GUI was tested. Below is a section about compiling with X11 but this |
| 34 | is from an earlier version of Vim. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 35 | |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 36 | Console only: |
| 37 | ------------- |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 38 | |
| 39 | If you build VIM without X11 support, compiling and building is nearly |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 40 | straightforward. |
| 41 | |
| 42 | Change to the vim directory and do: |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 43 | |
| 44 | # Don't use c89! |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 45 | # Allow intermixing of compiler options and files. |
| 46 | |
| 47 | $ export CC=cc |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 48 | $ export _CC_CCMODE=1 |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 49 | $./configure --with-features=big --without-x --enable-gui=no |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 50 | $ cd src |
| 51 | $ make |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 52 | |
| 53 | There may be warnings: |
| 54 | - include files not found (libc, sys/param.h, ...) |
| 55 | - Redeclaration of ... differs from ... |
| 56 | -- just ignore them. |
| 57 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 58 | $ make test |
| 59 | |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 60 | This will produce lots of garbage on your screen (including error |
| 61 | messages). Don't worry. |
| 62 | |
| 63 | If the test stops at one point in vim (might happen in test 11), just |
| 64 | press :q! |
| 65 | |
| 66 | Expected test failures: |
| 67 | 11: If you don't have gzip installed |
| 68 | 24: test of backslash sequences in regexp are ASCII dependent |
| 69 | 42: Multibyte is not supported on z/OS |
| 70 | 55: ASCII<->EBCDIC sorting |
| 71 | 57: ASCII<->EBCDIC sorting |
| 72 | 58: Spell checking is not supported with EBCDIC |
| 73 | 71: Blowfish encryption doesn't work |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 74 | |
| 75 | $ make install |
| 76 | |
| 77 | |
| 78 | With X11: |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 79 | --------- |
| 80 | |
Bram Moolenaar | 913df81 | 2013-07-06 15:44:11 +0200 | [diff] [blame] | 81 | WARNING: This instruction was not tested with Vim 7.4. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 82 | |
| 83 | There are two ways for building VIM with X11 support. The first way is simple |
| 84 | and results in a big executable (~13 Mb), the second needs a few additional |
| 85 | steps and results in a much smaller executable (~4.5 Mb). This examples assume |
| 86 | you want Motif. |
| 87 | |
| 88 | The easy way: |
| 89 | $ export CC=cc |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 90 | $ export _CC_CCMODE=1 |
| 91 | $ ./configure --enable-max-features --enable-gui=motif |
| 92 | $ cd src |
| 93 | $ make |
| 94 | |
| 95 | With this VIM is linked statically with the X11 libraries. |
| 96 | |
| 97 | The smarter way: |
| 98 | Make VIM as described above. Then create a file named 'link.sed' with the |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 99 | following content (see src/link.390): |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 100 | |
| 101 | s/-lXext *//g |
| 102 | s/-lXmu *//g |
| 103 | s/-lXm */\/usr\/lib\/Xm.x /g |
| 104 | s/-lX11 */\/usr\/lib\/X11.x /g |
| 105 | s/-lXt *//g |
| 106 | s/-lSM */\/usr\/lib\/SM.x /g |
| 107 | s/-lICE */\/usr\/lib\/ICE.x /g |
| 108 | |
| 109 | Then do: |
| 110 | $ rm vim |
| 111 | $ make |
| 112 | |
| 113 | Now Vim is linked with the X11-DLLs. |
| 114 | |
| 115 | See the Makefile and the file link.sh on how link.sed is used. |
| 116 | |
| 117 | |