xref: /freebsd/contrib/less/README (revision dafba19e42e78cd3d7c9264ece49ddd3d7d70da5)
1**************************************************************************
2**************************************************************************
3**                                                                      **
4** The FreeBSD Project has chosen to redistribute and modify Less under **
5** the 'Less License' (as described in the 'LICENSE' file).             **
6**                                                                      **
7**************************************************************************
8**************************************************************************
9
10    This is the source code distribution of "less".
11    This program is part of the GNU project (https://www.gnu.org).
12
13    This program is free software.  You may redistribute it and/or
14    modify it under the terms of either:
15
16    1. The GNU General Public License, as published by the Free
17       Software Foundation; either version 3, or (at your option) any
18       later version.  A copy of this license is in the file COPYING.
19    or
20    2. The Less License, in the file LICENSE.
21
22    Please report any problems at https://github.com/gwsw/less/issues.
23    See https://greenwoodsoftware.com/less for the latest info.
24    Source repository is at https://github.com/gwsw/less.git.
25
26=========================================================================
27
28You should build from a clone of a git repository
29ONLY IF you are doing development on the less source itself.
30If you are merely using less as a tool, you should download a release
31from https://greenwoodsoftware.com and NOT from github.
32
33The formatted manual page is in less.man.
34The manual page nroff source is in less.nro.
35Major changes made since the last posted version are in NEWS.
36
37=======================================================================
38INSTALLATION (Unix & Linux systems only):
39
401. Move the distributed source to its own directory and unpack it,
41   if you have not already done so.
42
432. If you are building from a clone of a git repository,
44   type "make -f Makefile.aut distfiles".
45   If you are building from a numbered release package (a tar or
46   zip file with a name like less-999.tar.gz or less-999.zip downloaded
47   from greenwoodsoftware.com, not from github), you should skip this step.
48
493. Type "sh configure".
50   This will generate a Makefile and a defines.h.
51   Warning: if you have a GNU sed, make sure it is version 2.05 or later.
52
53   The file INSTALL describes the usage of the configure program in
54   general.  In addition, these options to configure are supported:
55
56   --with-editor=program
57     Specifies the default editor program used by the "v" command.
58     The default is "vi".
59
60   --with-regex=lib
61     Specifies the regular expression library used by less for pattern
62     matching.  The default is "auto", which means the configure program
63     finds a regular expression library automatically.  Other values are:
64        gnu            Use the GNU regex library.
65        pcre           Use the PCRE library.
66        pcre2          Use the PCRE2 library.
67        posix          Use the POSIX-compatible regcomp.
68        regcmp         Use the regcmp library.
69        re_comp        Use the re_comp library.
70        regcomp        Use the V8-compatible regcomp.
71        regcomp-local  Use Henry Spencer's V8-compatible regcomp
72                       (source is supplied with less).
73        none           No regular expressions, only simple string matching.
74
75   --with-secure
76     Builds a "secure" version of less, with some features disabled
77     to prevent users from viewing other files, accessing shell
78     commands, etc.
79
80
814. It is a good idea to look over the generated Makefile and defines.h
82   and make sure they look ok.  If you know of any peculiarities of
83   your system that configure might not have detected, you may fix the
84   Makefile now.  Take particular notice of the list of "terminal"
85   libraries in the LIBS definition in the Makefile; these may need
86   to be edited.  The terminal libraries will be some subset of
87    -ltinfo -ltinfow -lxcurses -lncursesw -lncurses -lcurses -ltermcap -ltermlib
88
89   If you wish, you may edit defines.h to remove some optional features.
90   If you choose not to include some features in your version, you may
91   wish to edit the manual page "less.nro" and the help page "less.hlp"
92   to remove the descriptions of the features which you are removing.
93   If you edit less.hlp, you should run "make -f Makefile.aut help.c".
94
955. Type "make" and watch the fun.
96
976. If the make succeeds, it will generate the programs "less",
98   "lesskey" and "lessecho" in your current directory.  Test the
99   generated programs.
100
1017. When satisfied that it works, if you wish to install it
102   in a public place, type "make install".
103
104   The default install destinations are:
105        Executables (less, lesskey, lessecho) in /usr/local/bin
106        Documentation (less.nro, lesskey.nro) in /usr/local/man/man1
107   If you want to install any of these files elsewhere, define
108   bindir and/or mandir to the appropriate directories.
109
110
111Note to hackers: comments noting possible improvements are enclosed
112in double curly brackets {{ like this }}.
113
114(Note that the above note was originally written at a time when
115"hackers" most commonly meant "enthusiastic and dedicated computer
116programmers", not "persons who attempt to circumvent computer security".)
117
118
119
120=======================================================================
121INSTALLATION (Windows-95, Windows-98 and Windows-NT systems only,
122              with Microsoft Visual C++, mingw, or Borland C)
123
1241. Move the distributed source to its own directory.
125
1262. If you wish, you may edit defines.wn to remove some optional features.
127   If you choose not to include some features in your version, you may
128   wish to edit the manual page less.man and the help page help.c
129   to remove the descriptions of the features which you are removing.
130
1313. If you are using Microsoft Visual C++, run "nmake -f Makefile.wnm".
132   If you are using mingw, run "make -f Makefile.wng".
133   If you are using Borland C, run "make -f Makefile.wnb".
134
135   If the environment variable SECURE_COMPILE is to 1 during the make,
136   a "secure" version of less is built, with some features disabled.
137
1384. If the make succeeds, it will generate the programs "less.exe" and
139   "lesskey.exe" in your current directory.  Test the generated programs.
140
141
142
143=======================================================================
144INSTALLATION (MS-DOS systems only,
145              with Microsoft C, Borland C, or DJGPP)
146
1471. Move the distributed source to its own directory.
148   Depending on your compiler, you may need to convert the source
149   to have CR-LF rather than LF as line terminators.
150
1512. If you are using Microsoft C, rename MAKEFILE.DSU to MAKEFILE.
152   If you are using Borland C, rename MAKEFILE.DSB to MAKEFILE.
153   If you are using DJGPP, rename MAKEFILE.DSG to MAKEFILE.
154
1553. Look at MAKEFILE to make sure that the definitions for CC and LIBDIR
156   are correct.  CC should be the name of your C compiler and
157   LIBDIR should be the directory where the C libraries reside (for
158   Microsoft C only).  If these definitions need to be changed, you can
159   either modify the definitions directly in MAKEFILE, or set your
160   environment variables CC and/or LIBDIR to override the definitions
161   in MAKEFILE.
162
1634. If you wish, you may edit DEFINES.DS to remove some optional features.
164   If you choose not to include some features in your version, you may
165   wish to edit the manual page LESS.MAN and the help page HELP.C
166   to remove the descriptions of the features which you are removing.
167
1685. Run your "make" program and watch the fun.
169   If your "make" requires a flag to import environment variables,
170   you should use that flag.
171   If your compiler runs out of memory, try running "make -n >cmds.bat"
172   and then run cmds.bat.
173
1746. If the make succeeds, it will generate the programs "LESS.EXE" and
175   "LESSKEY.EXE" in your current directory.  Test the generated programs.
176
1777. When satisfied that it works, you may wish to install LESS.EXE and
178   LESSKEY.EXE in a directory which is included in your PATH.
179
180
181
182=======================================================================
183INSTALLATION (OS/2 systems only,
184              with EMX C)
185
1861. Move the distributed source to its own directory.
187
1882. Rename Makefile.o2e to Makefile.
189
1903. Check the Makefile to make sure the definitions look ok.
191
1924. If you wish, you may edit defines.o2 to remove some optional features.
193   If you choose not to include some features in your version, you may
194   wish to edit the manual page less.man and the help page help.c
195   to remove the descriptions of the features which you are removing.
196
1975. Type "make" and watch the fun.
198
1996. If the make succeeds, it will generate the programs "less.exe" and
200   "lesskey.exe" in your current directory.  Test the generated programs.
201
2027. Make sure you have the emx runtime installed. You need the emx DLLs
203   emx.dll and emxlibcs.dll and also the termcap database, termcap.dat.
204   Make sure you have termcap.dat either in the default location or
205   somewhere in a directory listed in the PATH or INIT environment
206   variables.
207
2088. When satisfied that it works, you may wish to install less.exe,
209   lesskey.exe and scrsize.exe in a directory which is included in
210   your PATH.  scrsize.exe is required only if you use a terminal
211   emulator such as xterm or rxvt.
212
213
214
215=======================================================================
216INSTALLATION (OS-9 systems only,
217              with Microware C or Ultra C)
218
2191. Move the distributed source to its own directory.
220
2212. If you are using Microware C, rename Makefile.o9c to Makefile.
222   If you are using Ultra C, rename Makefile.o9u to Makefile.
223
2243. Check the Makefile to make sure the definitions look ok.
225
2264. If you wish, you may edit defines.o9 to remove some optional features.
227   If you choose not to include some features in your version, you may
228   wish to edit the manual page less.man and the help page help.c
229   to remove the descriptions of the features which you are removing.
230
2315. Type "dmake" and watch the fun.
232   The standard OS-9 "make" will probably not work.  If you don't
233   have dmake, you can get a copy from os9archive.rtsi.com.
234
2356. If the make succeeds, it will generate the programs "less" and
236   "lesskey" in your current directory.  Test the generated programs.
237
2387. When satisfied that it works, if you wish to install it
239   in a public place, type "dmake install".
240   See step 6 of the Unix installation instructions for details
241   on how to change the default installation directories.
242
243