xref: /freebsd/contrib/less/README (revision b3e7694832e81d7a904a10f525f8797b753bf0d3)
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       -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 (MS-DOS systems only,
122              with Microsoft C, Borland C, or DJGPP)
123
1241. Move the distributed source to its own directory.
125   Depending on your compiler, you may need to convert the source
126   to have CR-LF rather than LF as line terminators.
127
1282. If you are using Microsoft C, rename MAKEFILE.DSU to MAKEFILE.
129   If you are using Borland C, rename MAKEFILE.DSB to MAKEFILE.
130   If you are using DJGPP, rename MAKEFILE.DSG to MAKEFILE.
131
1323. Look at MAKEFILE to make sure that the definitions for CC and LIBDIR
133   are correct.  CC should be the name of your C compiler and
134   LIBDIR should be the directory where the C libraries reside (for
135   Microsoft C only).  If these definitions need to be changed, you can
136   either modify the definitions directly in MAKEFILE, or set your
137   environment variables CC and/or LIBDIR to override the definitions
138   in MAKEFILE.
139
1404. If you wish, you may edit DEFINES.DS to remove some optional features.
141   If you choose not to include some features in your version, you may
142   wish to edit the manual page LESS.MAN and the help page HELP.C
143   to remove the descriptions of the features which you are removing.
144
1455. Run your "make" program and watch the fun.
146   If your "make" requires a flag to import environment variables,
147   you should use that flag.
148   If your compiler runs out of memory, try running "make -n >cmds.bat"
149   and then run cmds.bat.
150
1516. If the make succeeds, it will generate the programs "LESS.EXE" and
152   "LESSKEY.EXE" in your current directory.  Test the generated programs.
153
1547. When satisfied that it works, you may wish to install LESS.EXE and
155   LESSKEY.EXE in a directory which is included in your PATH.
156
157
158
159=======================================================================
160INSTALLATION (Windows-95, Windows-98 and Windows-NT systems only,
161              with Borland C or Microsoft Visual C++)
162
1631. Move the distributed source to its own directory.
164
1652. If you are using Borland C, rename Makefile.wnb to Makefile.
166   If you are using Microsoft Visual C++, rename Makefile.wnm to Makefile.
167
1683. Check the Makefile to make sure the definitions look ok.
169
1704. If you wish, you may edit defines.wn to remove some optional features.
171   If you choose not to include some features in your version, you may
172   wish to edit the manual page less.man and the help page help.c
173   to remove the descriptions of the features which you are removing.
174
1755. Type "make" and watch the fun.
176
1776. If the make succeeds, it will generate the programs "less.exe" and
178   "lesskey.exe" in your current directory.  Test the generated programs.
179
1807. When satisfied that it works, if you wish to install it
181   in a public place, type "make install".
182   See step 6 of the Unix installation instructions for details
183   on how to change the default installation directories.
184
185
186
187=======================================================================
188INSTALLATION (OS/2 systems only,
189              with EMX C)
190
1911. Move the distributed source to its own directory.
192
1932. Rename Makefile.o2e to Makefile.
194
1953. Check the Makefile to make sure the definitions look ok.
196
1974. If you wish, you may edit defines.o2 to remove some optional features.
198   If you choose not to include some features in your version, you may
199   wish to edit the manual page less.man and the help page help.c
200   to remove the descriptions of the features which you are removing.
201
2025. Type "make" and watch the fun.
203
2046. If the make succeeds, it will generate the programs "less.exe" and
205   "lesskey.exe" in your current directory.  Test the generated programs.
206
2077. Make sure you have the emx runtime installed. You need the emx DLLs
208   emx.dll and emxlibcs.dll and also the termcap database, termcap.dat.
209   Make sure you have termcap.dat either in the default location or
210   somewhere in a directory listed in the PATH or INIT environment
211   variables.
212
2138. When satisfied that it works, you may wish to install less.exe,
214   lesskey.exe and scrsize.exe in a directory which is included in
215   your PATH.  scrsize.exe is required only if you use a terminal
216   emulator such as xterm or rxvt.
217
218
219
220=======================================================================
221INSTALLATION (OS-9 systems only,
222              with Microware C or Ultra C)
223
2241. Move the distributed source to its own directory.
225
2262. If you are using Microware C, rename Makefile.o9c to Makefile.
227   If you are using Ultra C, rename Makefile.o9u to Makefile.
228
2293. Check the Makefile to make sure the definitions look ok.
230
2314. If you wish, you may edit defines.o9 to remove some optional features.
232   If you choose not to include some features in your version, you may
233   wish to edit the manual page less.man and the help page help.c
234   to remove the descriptions of the features which you are removing.
235
2365. Type "dmake" and watch the fun.
237   The standard OS-9 "make" will probably not work.  If you don't
238   have dmake, you can get a copy from os9archive.rtsi.com.
239
2406. If the make succeeds, it will generate the programs "less" and
241   "lesskey" in your current directory.  Test the generated programs.
242
2437. When satisfied that it works, if you wish to install it
244   in a public place, type "dmake install".
245   See step 6 of the Unix installation instructions for details
246   on how to change the default installation directories.
247
248=======================================================================
249ACKNOWLEDGMENTS:
250  Some versions of the less distribution are packaged using
251  Info-ZIP's compression utility.
252  Info-ZIP's software is free and can be obtained as source
253  code or executables from various anonymous-ftp sites,
254  including ftp.uu.net:/pub/archiving/zip.
255