NameDateSize

..06-May-202087

aclocal.m4H A D18-Aug-201627.8 KiB

BUG-REPORTH A D18-Aug-20162.1 KiB

ChangeLogH A D18-Aug-2016171.2 KiB

ChangeLog.115H A D18-Aug-2016203.8 KiB

ChangeLog.116H A D18-Aug-201642.8 KiB

ChangeLog.117H A D18-Aug-201677.3 KiB

ChangeLog.118H A D18-Aug-2016122.4 KiB

configureH A D18-Aug-2016316.7 KiB

configure.acH A D18-Aug-20163.4 KiB

contrib/H20-Dec-201610

COPYINGH A D18-Aug-201617.6 KiB

doc/H20-Dec-201622

FDLH A D18-Aug-201619.9 KiB

font/H20-Dec-201615

FREEBSD-upgradeH A D18-Aug-20161.1 KiB

FREEBSD-XlistH A D18-Aug-201637

gendef.shH A D18-Aug-2016567

INSTALLH A D18-Aug-20162.3 KiB

install-shH A D18-Aug-20169 KiB

INSTALL.genH A D18-Aug-20169.1 KiB

LICENSEH A D18-Aug-2016922

MakefileH A D18-Aug-2016891

Makefile.ccpgH A D18-Aug-2016848

Makefile.commH A D18-Aug-20168.5 KiB

Makefile.cpgH A D18-Aug-2016708

Makefile.devH A D18-Aug-2016125

Makefile.inH A D18-Aug-201624 KiB

Makefile.initH A D18-Aug-2016891

Makefile.libH A D18-Aug-2016398

Makefile.manH A D18-Aug-2016179

Makefile.subH A D18-Aug-2016805

man/H20-Dec-201611

MANIFESTH A D18-Aug-20166.5 KiB

mdate.shH A D18-Aug-2016945

mkinstalldirsH A D18-Aug-20163.4 KiB

MORE.STUFFH A D18-Aug-20165.9 KiB

NEWSH A D18-Aug-201674.6 KiB

PROBLEMSH A D18-Aug-201629 KiB

PROJECTSH A D18-Aug-2016422

READMEH A D18-Aug-20165.5 KiB

README.MinGWH A D18-Aug-201613 KiB

REVISIONH A D18-Aug-20162

src/H20-Dec-20168

stamp-h.inH A D18-Aug-201610

test-groff.inH A D18-Aug-2016924

tmac/H20-Dec-201667

TODOH A D18-Aug-2016424

VERSIONH A D18-Aug-20165

README

1This is the GNU `groff' document formatting system.  The version
2number is given in the file VERSION.
3
4Included in this release are implementations of `troff', `pic', `eqn',
5`tbl', `grn', `refer', `-man', `-mdoc', `-mom', and `-ms' macros, and
6drivers for `PostScript', `TeX dvi' format, `HP LaserJet 4' printers,
7`Canon CAPSL' printers, `HTML' format (beta status), and
8typewriter-like devices.  Also included is a modified version of the
9Berkeley `-me' macros, the enhanced version `gxditview' of the X11
10`xditview' previewer, and an implementation of the `-mm' macros
11contributed by Joergen Haegg (jh@axis.se).
12
13See the file `INSTALL' for installation instructions.  You will
14require a C++ compiler.
15
16The file `NEWS' describes recent user-visible changes to `groff'.
17
18`groff' is free software.  See the file `COPYING' for copying
19permission.
20
21The file `PROBLEMS' describes various problems that have been
22encountered in compiling, installing, and running `groff'.
23
24The most recent released version of `groff' is always available by
25anonymous ftp from `ftp.gnu.org' in the directory `gnu/groff'.
26
27The current development version of `groff' is available from a `CVS'
28repository.  You can access it by first selecting a parent directory
29in which to create a working copy (call it, say, `~/cvswork'), and
30then executing the commands
31
32  cd ~/cvswork
33  CVS_RSH=ssh; export CVS_RSH
34  cvs -d:ext:anoncvs@savannah.gnu.org/cvsroot/groff -z5 co groff
35
36(Note that you need an `ssh' client for security reasons.)
37
38This will create a subdirectory, `~/cvswork/groff', with a "checked
39out" copy of the `CVS' repository.  An update of this working copy may
40be achieved, at any later time by invoking the commands
41
42  cd ~/cvswork/groff
43  CVS_RSH=ssh cvs -z5 update -dP
44
45Please read the `CVS' info pages for further details.
46
47Finally, it is possible to access the `CVS' with a web browser by
48pointing it to
49
50  http://savannah.gnu.org/cvs/?group=groff
51
52Alternatively, you can download snapshots (which are updated twice a day).
53The complete `groff' source as a single file is available at
54
55  http://groff.ffii.org/groff/devel/groff-current.tar.gz
56
57A diff file relative to `groff-<version>', the latest official `groff'
58release is available at
59
60  http://groff.ffii.org/groff/devel/groff-<version>-current.diff.gz
61
62Assuming that `groff-<version>.tar.gz' and
63`groff-<version>-current.diff.gz' are in the same directory, do the
64following to apply the diff file:
65
66  tar xzvf groff-<version>.tar.gz
67  cd groff-<version>
68  gunzip -c ../groff-<version>-current.diff.gz | patch -p1
69
70Depending on your requirements, you may need at least some of the
71following tools to build `groff' directly from its source:
72
73  ghostscript
74  the psutils package
75  the netpbm package
76  texinfo 4.8
77  bison >= 1.875b or byacc
78
79Note that `texinfo' and `bison' or `byacc' are required only for
80building from `CVS' sources (either a checked out working copy, or a
81daily snapshot).  They are not required for building from a stable
82release tarball.  Also note that the version numbers stated are the
83minimum supported.  No version of `texinfo' < 4.8 will work, and the
84original release of `bison' 1.875 is known not to work; you *may* find
85that `bison' releases < 1.875 will work, but in case of difficulty,
86please update to a later version *before* posting a bug report.
87
88For *all* sources, you need ghostscript for creation of either `PDF' or
89`HTML' output; the `netpbm' and `psutils' packages are required only for
90`HTML' output.  If you don't intend to produce output in either of these
91formats, then these packages are unnecessary.
92
93In Linux Debian, the installation of `texinfo' is dangerous.  For it
94creates a file `install-info' that will block the system installation.
95So the created `/usr/local/bin/install-info' must be renamed.
96
97The `groff' configure script searches for the X11 headers and
98libraries `Xaw' and `Xmu'.  So the corresponding developer packages of
99your system must be installed, otherwise `groff' does not install
100`gxditview' and the `-TX*' devices.  In Debian, the developer packages
101are `libxaw7-dev' and `libxmu-dev'.
102
103Please report bugs using the form in the file `BUG-REPORT'; the idea of
104this is to make sure that FSF has all the information it needs to fix
105the bug.  At the very least, read the `BUG-REPORT' form and make sure
106that you supply all the information that it asks for.  Even if you are
107not sure that something is a bug, report it using `BUG-REPORT': this will
108enable us to determine whether it really is a bug or not.
109
110Three mailing lists are available:
111
112  bug-groff@gnu.org          for reporting bugs
113  groff@gnu.org              for general discussion of groff
114  groff-commit@gnu.org       a read-only list showing commitments
115                             to the CVS repository
116
117You can post mails directly to the `bug-groff' list, without subscribing;
118to post mails to the `groff' list you must subscribe to it.
119
120To subscribe, send a mail to <list>-request@<domain> (example:
121groff-request@gnu.org for the `groff' list) with the word `subscribe'
122in either the subject or body of the email (don't include the quotes).
123Alternatively, you may subscribe by visiting the web pages at
124
125  http://lists.gnu.org/mailman/listinfo/bug-groff
126  http://lists.gnu.org/mailman/listinfo/groff
127  http://lists.gnu.org/mailman/listinfo/groff-commit
128
129Each of these web pages also provides a link to a browseable archive of
130postings to the corresponding mailing list.
131
132GNU `groff' was written by James Clark <jjc@jclark.com>.  It is now
133maintained by Ted Harding <ted.harding@nessie.mcc.ac.uk> and Werner
134Lemberg <wl@gnu.org>.
135

README.MinGW

1  README.MinGW
2  ============
3
4  Contributed by Keith Marshall (keith.d.marshall@ntlworld.com)
5
6
7  INTRODUCTION
8  ------------
9
10  This file provides recommendations for building a Win32 implementation of
11  GNU Groff, using the MinGW port of GCC for Microsoft (TM) Windows-32
12  platforms.  It is intended to supplement the standard installation
13  instructions (see file INSTALL); it does not replace them.
14
15  You require both the MinGW implementation of GCC and its supporting MSYS
16  toolkit, which provides a Win-32 implementation of the GNU bash shell, and a
17  few other essential utilities; these may be obtained from
18
19    http://sourceforge.net/projects/mingw
20
21  by following the appropriate download links, where they are available as
22  self-extracting executable installation packages.  If installing both from
23  scratch, it is recommended that MinGW is installed first, as the MSYS
24  installer can then automatically set up the proper environment for running
25  MinGW.
26
27  Additionally, if you wish to compile groff with support for its HTML output
28  capability, some additional tools are required as decribed in the section
29  PREREQUISITES FOR HTML OUTPUT later in this file.
30
31
32  BUILDING GROFF WITH MINGW
33  -------------------------
34
35  Assuming that you have obtained the appropriate groff distribution, and that
36  you are already running an MSYS shell, then the configuration, compilation,
37  and installation of groff, using MinGW, is performed in much the same way as
38  it is described in the INSTALL file, which is provided with the groff
39  distribution.  The installation steps are summarised below:
40
41  1. Change working directory to any suitable location where you may unpack
42     the groff distribution; you must be authorized for write access.
43     Approximately 30MB of free disk space are needed.
44
45  2. Unpack the groff distribution:
46
47       tar xzf <download-path>/groff-<version>.tar.gz
48
49     This creates a new sub-directory, groff-<version>, containing an image of
50     the groff source tree.  You should now change directory, to make this
51     ./groff-<version> your working directory.
52
53  3. If you are intending to build groff with support for HTML output, then
54     you must now ensure that the prerequisites described in the later section
55     PREREQUISITES FOR HTML OUTPUT are satisfied, before proceeding to build
56     groff; in particular, please ensure that all required support programs
57     are installed in the current PATH.
58
59  4. You are now ready to configure, build, and install groff.  This is
60     accomplished using the conventional procedure, as described in the file
61     INSTALL, i.e.
62
63       ./configure --prefix=<win32-install-path> ...
64       make
65       make install
66
67     Please observe the syntax for the configure command, indicated above; the
68     default value for --prefix is not suitable for use with MinGW, so the
69     --prefix=<win32-install-path> option must be specified, where
70     <win32-install-path> is the chosen MS-Windows directory in which the
71     groff application files are to be installed (see the later section
72     entitled CHOOSING AN INSTALLATION PATH).  Any other desired configuration
73     options may also be specified, as described in the standard groff
74     installation instructions.
75
76  5. After completing the above, groff should be successfully installed; the
77     build directory is no longer required; it may be simply deleted in its
78     entirety.  Alternatively, you may choose to keep it, but to remove all
79     files which can be reproduced later, by repeating the configure, make and
80     make install steps; this is readily accomplished by the command
81
82       make distclean
83
84
85  This completes the installation of groff; please read the final sections of
86  this file, GROFF RUNTIME ENVIRONMENT and CAVEATS AND BUGS, for advice on
87  setting up the runtime environment, and avoiding known runtime problems,
88  before running groff.
89
90
91  CHOOSING AN INSTALLATION PATH
92  -----------------------------
93
94  It may be noted that the above instructions indicate that the ./configure
95  command must be invoked with an argument specifying a preference for
96  --prefix=<win32-install-path>, whereas the standard groff installation
97  instructions indicate that this may be omitted, in which case it defaults to
98  --prefix=/usr/local.
99
100  In the case of building with MinGW, the default behaviour of configure is
101  not appropriate for the following reasons.
102
103  o The MSYS environment creates a virtual UNIX-like file system, with its
104    root mapped to the actual MS-Windows directory where MSYS itself is
105    installed; /usr is also mapped to this MSYS installation directory.
106
107  o All of the MSYS tools, and the MinGW implementation of GCC, refer to files
108    via this virtual file system representation; thus, if the
109    --prefix=<win32-install-path> is not specified when groff is configured,
110    `make install' causes groff to be installed in <MSYS-install-path>/local.
111
112  o groff needs to know its own installation path, so that it can locate its
113    own installed components.  This information is compiled in, using the
114    exact form specified with the --prefix=<win32-install-path> option to
115    configure.
116
117  o Knowledge of the MSYS virtual file system is not imparted to groff; it
118    expects the compiled-in path to its components to be a fully qualified
119    MS-Windows path name (although UNIX-style slashes are permitted, and
120    preferred to the MS-Windows style backslashes, to demarcate the directory
121    hierarchy).  Thus, when configuring groff, if
122    --prefix=<win32-install-path> is not correctly specified, then the
123    installed groff application looks for its components in /usr/local, and
124    most likely doesn't find them, because they are actually installed in
125    <MSYS-install-path>/local.
126
127  It is actually convenient, but by no means a requirement, to have groff
128  installed in the /usr/local directory of the MSYS virtual file system; this
129  makes it easy to invoke groff from the MSYS shell, since the virtual
130  /usr/local/bin is normally added automatically to the PATH (the default
131  PATH, as set in MSYS's /etc/profile), when MSYS is started.
132
133  In order to install groff into MSYS's /usr/local directory, it is necessary
134  to specify the fully qualified absolute MS-Windows path to this directory,
135  when configuring groff, i.e.
136
137    ./configure --prefix=<MSYS-install-path>/local ...
138
139  For example, on a system where MSYS is installed in the MS-Windows directory
140  D:\MSYS\1.0, the MSYS virtual path /usr/local resolves to the absolute
141  MS-Windows native path D:\MSYS\1.0\local (the /usr component of the MSYS
142  virtual path does not appear in the resolved absolute native path name since
143  MSYS maps this directly to the root of the MSYS virtual file system).  Thus,
144  the --prefix option should be specified to configure as
145
146    ./configure --prefix=D:/MSYS/1.0/local ...
147
148  Note that the backslash characters, which appear in the native MS-Windows
149  form of the path name, are replaced by UNIX-style slashes in the argument to
150  configure; this is the preferred syntax.
151
152  Also note that the MS-Windows device designator (D: in this instance) is
153  prepended to the specified path, in the normal MS-Windows format, and that,
154  since upper and lower case distinctions are ignored in MS-Windows path
155  names, any combination of upper and lower case is acceptable.
156
157
158  PREREQUISITES FOR HTML OUTPUT
159  -----------------------------
160
161  If you intend to use groff for production of HTML output, then there are a
162  few dependencies which must be satisfied.  Ideally, these should be resolved
163  before attempting to configure and build groff, since the configuration
164  script does check them.
165
166  In order to produce HTML output, you first require a working implementation
167  of Ghostscript; either the AFPL Ghostscript or the GNU Ghostscript
168  implementation for MS-Windows should be suitable, depending on your
169  licensing preference.  It is highly recommended to use version 8.11 or
170  higher due to bugs in older versions.  These may be obtained, in the form of
171  self-installing binary packages, by following the download links for the
172  chosen licensing option, from http://sourceforge.net/projects/ghostscript.
173
174  Please note that these packages install the Ghostscript interpreter required
175  by groff in the ./bin subdirectory of the Ghostscript installation
176  directory, with the name gswin32c.exe.  However, groff expects this
177  interpreter to be located in the system PATH, with the name gs.exe.  Thus,
178  to ensure that groff can correctly locate the Ghostscript interpreter, it is
179  recommended that the file gswin32c.exe should be copied from the Ghostscript
180  installation directory to the MSYS /usr/local/bin directory, where it should
181  be renamed to gs.exe.
182
183  In addition to a working Ghostscript interpreter, you also require several
184  image manipulation utilities, all of which may be scavenged from various
185  packages available from http://sourceforge.net/projects/gnuwin32, and which
186  should be installed in the MSYS /usr/local/bin directory, or any other
187  suitable directory which is specified in the PATH.  These additional
188  prerequisites are
189
190    1. from the netpbm-<version>-bin.zip package:
191
192         netpbm.dll
193         pnmcrop.exe
194         pnmcut.exe
195         pnmtopng.exe
196         pnmtops.exe
197
198    2. from the libpng-<version>-bin.zip package:
199
200         libpng.dll
201
202    3. from the zlib-<version>-bin.zip package:
203
204         zlib-1.dll, which must be renamed to zlib.dll
205
206    4. from the psutils-<version>-bin.zip package:
207
208         psselect.exe
209
210  Note that it is not necessary to install the above four packages in their
211  entirety; of course, you may do so if you wish.
212
213
214  GROFF RUNTIME ENVIRONMENT
215  -------------------------
216
217  The runtime environment, provided to groff by MSYS, is essentially the same
218  as would be provided under a UNIX or GNU/Linux operating system; thus, any
219  environment variables which may be used to customize the groff runtime
220  environment have similar effects under MSYS, as they would in UNIX or
221  GNU/Linux, with the exception that any variable specifying a path should
222  adopt the same syntax as a native MS-Windows PATH specification.
223
224  There is, however, one known problem which is associated with the
225  implementation of the MS-Windows file system, and the manner in which the
226  Microsoft runtime library (which is used by the MinGW implementation of GCC)
227  generates names for temporary files.  This known problem arises when groff
228  is invoked with a current working directory which refers to a network share,
229  for which the user does not have write access in the root directory, and
230  there is no environment variable set to define a writeable location for
231  creating temporary files.  When these conditions arise, groff fails with a
232  `permission denied' error, as soon as it tries to create any temporary file.
233
234  To specify the location for creating temporary files, the standard UNIX or
235  GNU/Linux implementation of groff provides the GROFF_TMPDIR or TMPDIR
236  environment variables, whereas MS-Windows applications generally use TMP or
237  TEMP; furthermore, the MS-Windows implementations of Ghostscript apparently
238  support the use of only TEMP or TMPDIR.
239
240  To avoid problems with creation of temporary files, it is recommended that
241  you ensure that both TMP and TEMP are defined, with identical values, to
242  point to a suitable location for creating temporary files; many MS-Windows
243  boxes have them set already, and groff has been adapted to honour them, when
244  built in accordance with the preceding instructions, using MinGW.
245
246
247  CAVEATS AND BUGS
248  ----------------
249
250  There are two known issues, observed when running groff in the MinGW/MSYS
251  environment, which would not affect groff in its native UNIX environment:
252
253  o Running groff with the working directory set to a subdirectory of a
254    network share, where the user does not have write permission in the root
255    directory of the share, causes groff to fail with a `permission denied'
256    exception, if the TMP environment variable is not appropriately defined;
257    it may also be necessary to define the TEMP environment variable, to avoid
258    a similar failure mode, when using the -Thtml output mode of groff.  This
259    problem is more fully discussed in the preceding section, GROFF RUNTIME
260    ENVIRONMENT.
261
262  o When running groff (or nroff) to process standard input, where the
263    standard input stream is obtained directly from the RXVT console provided
264    with MSYS, groff cannot detect the end-of-file condition for the standard
265    input stream, and hangs.  This appears to be caused by a fault in the MSYS
266    implementation of RXVT; it may be worked around by either starting MSYS
267    without RXVT (see the comments in the MSYS.BAT startup script); in this
268    case standard input is terminated by typing <Ctrl-Z> followed by <RETURN>,
269    on a new input line.  Alternatively, if you prefer to use MSYS with RXVT,
270    you can enter the interactive groff command in the form
271
272      cat | groff ...
273
274    in which case <Ctrl-D> terminates the standard input stream, in just the
275    same way it does on a UNIX system; the cat executable provided with MSYS
276    does seem to trap the end-of-file condition, and properly signals groff
277    that the input stream has terminated.
278