summaryrefslogtreecommitdiff
path: root/systems/msdos/djgpp/TeX.README
blob: 1d8226a5b42d3911a3e82fa1985ffece83518870 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641

      README file for the DJGPP port of TeX and related programs
      ----------------------------------------------------------

I.  General
    -------

    This is a port of the Texk/Web2c 7.2b distribution to DJGPP v2.01.
    The original Texk distribution is on CTAN mirror sites; primary
    locations are:

      ftp://ftp.cdrom.com/pub/tex/ctan  (California, USA)
      ftp://ftp.dante.de/tex-archive    (Germany)
      ftp://ftp.tex.ac.uk/tex-archive   (England)

    (``CTAN'' means ``Comprehensive TeX Archive Network''.)  Texk is
    stored on CTAN in several files:

       systems/web2c/texklib.tar.gz
       systems/web2c/web.tar.gz
       systems/web2c/web2c.tar.gz
       dviware/dvipsk.tar.gz
       dviware/dviljk.tar.gz

    The original source distributions of other TeX-related programs can
    be found on CTAN either under the dviware directory or under the
    support directory.

    For more info about CTAN sites and the original source distributions
    of the programs see the file etc/unixtex.ftp.

    The ported binaries are split into several zip files:

      tmflib75.zip -- the minimal TeX and Metafont library, required
      webc72b.zip  -- Web2c, TeX and related programs, optional
      kpse32b.zip  -- Kpathsea path-search library, optional
      dvlj26b.zip  -- DVI drivers for LaserJet printers, optional
      dvps578b.zip -- DVI driver for PostScript printers, optional
      dvga09b.zip  -- DVI previewer for VGA adapters, optional
      dvdj09b.zip  -- DVI drivers for DeskJet printers, optional
      dtl060b.zip  -- DTL package for editing DVI files, optional
      dvdv11b.zip  -- Dvidvi, selects/rearranges DVI files, optional
      gspk116b.zip -- Gsf2PK, creates PK fonts from GS fonts, optional
      lchk126b.zip -- Lacheck, LaTeX document checker, optional
      midx213b.zip -- MakeIndex, TeX/Troff index generator, optional
      mflx083b.zip -- MusixFlx, line-breaking for MusixTeX, optional
      odps578b.zip -- ODviPS, DviPS with Omega extensions, optional
      pspk15b.zip  -- Ps2Pk, creates PK fonts from PS type1, optional
      seet31b.zip  -- SeeTeX package, manipulates DVI files, optional
      t4ht-a8b.zip -- TeX4HT, generates HTML from TeX input, optional

    `dvlj26b.zip' includes drivers for LaserJet (dvilj), LaserJet 2P
    (dvilj2p) and LaserJet 4 or later (dvilj4) printers; most people
    will only need one of these programs, for whatever printer they
    have.

    `dvdj09b.zip' includes drivers for DeskJet 500 (dvi500), 500C
    (dvi500c) and 550C (dvi550c) printers (dvi500c and dvi550c are
    actually just ``symlinks'' to dvi500).

    If you'd like to download the entire binary distribution, just
    grab all these files and install them as described in section II
    below.  Note that some files appear in more than one zip archive,
    so it is normal to get prompts from your unzip program asking
    whether to overwrite existing files.

    Typically, if you only want to work with TeX and print DVI files,
    you will need some, but not all, of the *b.zip files marked as
    ``optional'' above.  However, since certain parts of Texk require
    other parts at run time, it is not enough to download only the
    package that you need.  For example, if you only need to be able
    to print DVI files on LaserJet printers, `dvlj26b.zip' alone will
    not do, as it lacks the basic fonts used to generate missing fonts
    on the fly.

    One way to describe the dependencies between the various parts of
    Texk is to list the main tasks that it allows you to perform and
    tell which programs do you need to install for every task.  The
    following matrix shows that:

                              tmfl  webc  kpse  dvlj  dvps  dvdj  dvga
     -----------------------------------------------------------------
     Generate DVI files	       +     +
     Print DVI on LJ printer   +      		  +
     Print DVI on DJ printer   +      			      +
     Print DVI on PS printer   +      			+
     Preview TeX documents     +      				    +
     Develop with Kpathsea     +      	    +
     Print TeX documents       +     +		  ?	?     ?     +
     Literate programming	     +
     -----------------------------------------------------------------
     Approximate disk space   25M    7M    2M    3M    3M    2M    2M

     (A question mark `?' means you need one of the marked packages,
     depending on the type of your printer.)

     Note that ODviPS requires DviPS to be installed.

    The above table also lists the necessary disk space for each
    package; if you install all of them, you will need about 36Mbytes.
    (These numbers may vary depending on your disk cluster size; on a
    FAT-16 disk that is larger than 1GB, multiply the above numbers by
    a factor of 2.)

    Additional programs not listed in the table above are only needed
    for specialized tasks that they are meant for.  The above short
    description of each package should give you a clue if you need it.
    In general, if you want to be able to print documents with as many
    fonts as possible, and if you have Ghostscript or PostScript type1
    fonts installed on your system, you'll want Gsf2PK and Ps2Pk; if you
    need to rearrange, edit, concatenate, and generally move around DVI
    files, you'll want DTL, DviDvi and SeeTeX packages; and if you write
    a lot of TeX documents, grab Lacheck and Makeindex.

    Some other related tasks are printing Texinfo docs or converting
    Texinfo documentation to PostScript format.  For these, you will
    need the `texindex' program and the `texi2dvi' shell script from
    the GNU Texinfo package (available in v2gnu/txiNNNb.zip from DJGPP
    archives), and the packages required to print a DVI file on your
    type of printer, as listed in the above matrix.

    The Web2c distribution (webcNNb.zip file) also includes Knuth's
    `tangle' and `weave' programs.  These will probably be unused
    unless you want to experiment with so-called ``Literate
    programming'' whereby the sources and the formatted docs of a
    program are produced from a single master file written in a
    special language called `Web'.  (These programs are here because
    TeX, MetaFont and other programs were themselves written by Donald
    Knuth in Web.)  If you are interested in this, check out some of
    the news groups devoted to literate programming.

    Note that the Texmflib distribution does not (and cannot) include
    all the fonts that are required for typesetting various documents.
    It only includes the basic fonts that are widely used in typical
    jobs.  If you encounter a case where the `maketex...'  programs
    cannot create a missing font, you will need to find it on one of
    the CTAN sites (see the URLs at the beginning of this README
    file).  The fonts are kept on CTAN sites in the tex-archive/fonts
    directory (look for files with a .tfm extension).  Missing macro
    packages (*.sty and *.?tx files) can be found in the
    tex-archive/macros directory.

    The sources are also divided into several zip files:

      webc72s.zip  -- original Knuth's programs and Web-to-C converter,
      kpse32s.zip  -- Kpathsea[rch] library for generic path searching
      dvps578s.zip -- Dvipsk sources
      dvlj26s.zip  -- Dviljk sources
      dvdj09s.zip  -- sources for DeskJet drivers and the VGA previewer
      dtl060s.zip  -- sources for the DTL package
      dvdv11s.zip  -- sources for the dvidvi programs
      gspk116s.zip -- sources of Gsf2PK program
      lchk126s.zip -- sources for lacheck
      midx213s.zip -- sources for makeindex program
      mflx083s.zip -- sources for musixflx program
      odps578s.zip -- sources for odvips
      pspk15s.zip  -- sources of the ps2pk package
      seet31s.zip  -- sources for the seetex package
      t4ht-a8s.zip -- sources of the tex4ht program


II. Installation of the binary packages
    -----------------------------------

    - Unzip the downloaded archives from the root of your DJGPP
      installation tree.  If you are doing this on Windows 9x, use an
      unzip program that supports long filenames.  Don't forget the
      `-d' switch if you are using PKUNZIP.

    - If your DJGPP.ENV includes the following two lines, then REMOVE
      THEM:

      +TEXMF=%DJDIR%/share/texmf
      +TEXMFCNF=.;$SELFAUTODIR/share/texmf/web2c;%DJDIR%/share/texmf/web2c

      The current Texk setup automatically takes care of defining these
      variables correctly, and these variables can conflict with the new
      setup introduced with version 7.2 of Web2c.

    - The first few times when you run the DVI drivers, they will
      create several fonts on the fly.  This is normal behavior and
      should not alarm you, since the distribution comes without any
      gf or pk fonts whatsoever.  The generated fonts are left on your
      system for future jobs, so as you process more and more
      documents, the probability of bumping into a missing font will
      get lower.

      The generated fonts will by default be installed inside the
      share/texmf tree, where they will be available for future use by
      the package programs.  However, you might want the generated fonts
      to go to a different hierarchy, for example if you'd like to purge
      those files from time to time (to preserve disk space).  If the
      share/texmf tree is on write-protected media (e.g. CD-ROM), mktex*
      programs will do that automatically; if not, you will need to set
      the read-only bit of share/texmf and share/texmf/fonts, like this:

        attrib +R c:/djgpp/share/texmf
        attrib +R c:/djgpp/share/texmf/fonts

      (DOS and Windows ignore the read-only bit for directories, so this
      won't prevent other programs from writing to these trees or even
      deleting them; but all programs that create files using the
      Kpathsea library will notice this bit and won't put any files
      there.)

      When share/texmf is read-only, the default directory to put fonts
      is %DJDIR%/var/texfonts (it will be created if it doesn't already
      exist).  If you want the fonts to go to another place, set the
      variable VARTEXFONTS in the environment to point there.  For
      example:
      
	set VARTEXFONTS=d:/var/tmp/texfonts

    - Add the following (large) fragment to your `info/dir' file, unless
      it's already there:

TeX
* DVI-to-Postscript: (dvips).        Translating TeX DVI files to PostScript.
* afm2tfm: (dvips)Invoking afm2tfm.  Making Type 1 fonts available to TeX.
* dvips: (dvips)Invoking Dvips.      DVI-to-PostScript translator.
* Kpathsea: (kpathsea).                       File lookup along search paths.
* Web2c: (web2c).                    TeX, Metafont, and companion programs.
* bibtex: (web2c)bibtex invocation.             Maintaining bibliographies.
* dmp: (web2c)dmp invocation.                   Troff->MPX (MetaPost pictures).
* dvicopy: (web2c)dvicopy invocation.           Virtual font expansion
* dvitomp: (web2c)dvitomp invocation.           DVI to MPX (MetaPost pictures).
* dvitype: (web2c)dvitype invocation.           DVI to human-readable text.
* gftodvi: (web2c)gftodvi invocation.           Generic font proofsheets.
* gftopk: (web2c)gftopk invocation.             Generic to packed fonts.
* gftype: (web2c)gftype invocation.             GF to human-readable text.
* inimf: (web2c)inimf invocation.               Initial Metafont.
* inimpost: (web2c)inimpost invocation.         Initial MetaPost.
* initex: (web2c)initex invocation.             Initial TeX.
* makempx: (web2c)makempx invocation.           MetaPost label typesetting.
* mf: (web2c)mf invocation.                     Creating typeface families.
* mft: (web2c)mft invocation.                   Prettyprinting Metafont source.
* mltex: (web2c)MLTeX.                          Multi-lingual TeX.
* mpost: (web2c)mpost invocation.               Creating technical diagrams.
* mpto: (web2c)mpto invocation.                 MetaPost label extraction.
* newer: (web2c)newer invocation.               Compare modification times.
* patgen: (web2c)patgen invocation.             Creating hyphenation patterns.
* pktogf: (web2c)pktogf invocation.             Packed to generic fonts.
* pktype: (web2c)pktype invocation.             PK to human-readable text.
* pltotf: (web2c)pltotf invocation.             Property list to TFM.
* pooltype: (web2c)pooltype invocation.         Display WEB pool files.
* tangle: (web2c)tangle invocation.             WEB to Pascal.
* tex: (web2c)tex invocation.                   Typesetting.
* tftopl: (web2c)tftopl invocation.             TFM -> property list.
* vftovp: (web2c)vftovp invocation.             Virtual font -> virtual pl.
* virmf: (web2c)virmf invocation.               Virgin Metafont.
* virmpost: (web2c)virmpost invocation.         Virgin MetaPost.
* virtex: (web2c)virtex invocation.             Virgin TeX.
* vptovf: (web2c)vptovf invocation.             Virtual pl -> virtual font.
* weave: (web2c)weave invocation.               WEB to TeX.
* kpsewhich: (kpathsea)Invoking kpsewhich.    TeX file searching.
* mktexmf: (kpathsea)mktex scripts.           MF source generation.
* mktexpk: (kpathsea)mktex scripts.           PK bitmap generation.
* mktextex: (kpathsea)mktex scripts.          TeX source generation.
* mktextfm: (kpathsea)mktex scripts.          TeX font metric generation.
* mktexlsr: (kpathsea)Filename database.      Update ls-R.

    - If you had a similar fragment in your info/dir file, make sure it
      is *exactly* like listed above, especially in the last 5 lines:
      the names of the mktex* programs were changed in this version of
      Web2c to fit into the DOS 8+3 namespace limits, so the old
      MakeTeX* entries are not useful anymore.

    - If you don't have any program that is capable of reading Info
      files, download and install a port of the GNU Texinfo
      distribution.  It is available as v2gnu/txiNNNb.zip from the
      DJGPP ftp sites (NNN is the version number).

    - If you are new to TeX and TeX-related issues, be sure to read
      the docs!  At the very least, you should read about the main
      programs that you will be invoking, like `tex', `dvips',
      `dvilj4' etc.  Another suggested reading is the Kpathsea docs
      which describes the way the programs search for their files, and
      is therefore the place to look for ways to customize your
      installation.  (Note: `dvilj' programs are only documented in a
      man page `dvilj.1' which unzips into your `info' subdirectory.
      Use a pager such as `less' to read it.)

    - If you are familiar with TeX (or if you feel you are, after
      reading the above docs), you might consider editing the
      configuration files to customize the programs.

      The most important file is %DJDIR%/share/texmf/web2c/texmf.cnf
      which defines default values for many variables and search paths.
      It is extensively commented and will give you some ideas about
      customization possibilities.  If you do change this file, it is
      recommended to remove the word ``original'' from its first line,
      so that if you build a new version of Texk, the installation
      process won't overwrite your customized file.

      Dvips has its own system-wide configuration file:
      share/texmf/dvips/config/config.ps; this lists some default
      options and settings other than the pathnames from texmf.cnf.
      Other, printer-specific configuration files are also there.

    - Make sure your system allows at least 50 files to be open
      simultaneously.  Edit the FILES= setting of your CONFIG.SYS if
      you need, and reboot the computer to let the new setting be in
      effect.

    - If you installed kpseNNb.zip to develop programs which use the
      Kpathsea library, and your DJGPP library version is 2.01,
      compile the patched library functions in the gnu/web2c-X.Y/djgpp
      directory and put them into your library.  For example:

	gcc -c -O3 gnu/web2c-7.2/djgpp/*.c
	ar rvs lib/libc.a gnu/web2c-7.2/djgpp/*.o

    - That's it!  Texk is now installed and ready for work.  If you
      have any problems, check out the "Troubleshooting" section
      below.

    The following are some general notes about the binary
    distribution:

    - Texk on Unix uses a few shell scripts for certain jobs.  A
      notable example is the mktex* scripts that are used to
      generate missing fonts on the fly.  The binary packages come
      with both thes original shell scripts and with programs that
      replace them.  The replacement programs don't require you to
      install Bash and auxiliary utilities such as `cat', `cp', `mv'
      etc., and also run faster.  However, if you would like to stick
      to the original, rename or delete `maketex.exe', `makempx.exe'
      and `dvihp.exe', remove the .sh extension from the bin/*.sh
      files, and the Texk programs will call shell scripts like on
      Unix (make sure you have Bash installed).

    - DviVGA is really a quick hack (it was not part of the original
      Texk package).  It doesn't support any high-resolution SVGA
      modes; the magnification is fixed when you invoke the program
      and you can't change it while it runs; the text at default
      magnification is barely readable; and the user interface leaves
      a lot to be desired.  (You can change magnification by using
      the `-m' command-line option: 1000 means the default, larger
      numbers magnify.  However, note that each non-default
      magnification will cause fonts to be generated for suitable DPI
      values.)  For now, DviVGA is provided as a stop-gap for those
      who have no other way of viewing DVI files; volunteers are
      welcome to add features.

      As an alternative for viewing DVI files, consider installing a
      port of Ghostscript and GhostView for Windows that will allow
      you to view PostScript files (you can use Dvips to generate
      PostScript from DVI).

    - If your printer is not one of those for which a DVI driver is
      included in this package, install Ghostscript and pipe the
      output of `dvips' to it.  Ghostscript supports many more
      different printers beyond LaserJet and DeskJet.

    - The documentation of the TeX4Ht package is in HTML format.
      Since there is no standard place to put HTML files in the DJGPP
      hierarchy, the docs are supplied in a compressed file
      `manual.tgz' which unzips into %DJDIR%/gnu/web2c-7.2/tex4htk.
      Use the DJTAR program to unpack `manual.tgz'.

    - TeX4Ht might require to install and configure additional
      programs, if you want incorporate graphics images in the HTML
      files it produces.  Be sure to read the file README.djgpp in the
      web2c-7.2/tex4htk directory for the gory details.


III.Building the packages from sources
    ----------------------------------

    - The following tools are REQUIRED to build and install Texk
      programs (the parentheses list filenames of binary distributions
      you can download from DJGPP archives if you don't have a
      particular package):

        Bash (bsh1147b.zip)
	Fileutils (fil316b.zip)
	Textutils (txt122b.zip)
	Grep (grep22b.zip)
	Patch (pat25b.zip)
	Sh-utils (shl112b.zip)
	Sed (sed302b.zip)
	Diffutils (dif2721b.zip)
	Findutils (find41b.zip)
	Ed (ed-02b.zip)
	Gawk (gwk303b.zip)
	Bison (bsn125b.zip)
	Flex (flx254b.zip)

      All of these are available from the v2gnu directory on the usual
      DJGPP sites.

    - tmflibNN.zip and kpseNNs.zip are required to build any part of the
      package.  In addition, you will need to download the sources of
      the programs you need to build (e.g., dvpsNNNs.zip for Dvips).
      You will also need about 85M bytes of disk space to build the
      full package.

    - unzip the downloaded archives from the root of your DJGPP
      installation tree.  If you are doing this on Windows 9x, use an
      unzip program that supports long filenames.  Don't forget the
      `-d' switch if you are using PKUNZIP.

      This will create the `gnu/web2c-7.2' directory and unpack the
      sources into the relevant subdirectories.  It will also create
      the `share/texmf' directory and unpack the contents of Texmflib
      library there.

    - For the port to work correctly, it needs patched versions of a
      few library functions.  The patched sources are supplied in the
      djgpp subdirectory of the kpseNNs.zip distribution.  Before
      compiling Texk, you need to compile the *.c files in the djgpp
      subdirectory and put them into your libc.a:

		  gcc -c -O3 *.c
		  ar rvs c:/djgpp/lib/libc.a *.o

      (Change "c:/djgpp" to the correct pathname of your DJGPP
      installation.)

    - At this point, I suggest you to read the file
      `kpathsea/INSTALL.txt'.  It includes a detailed yet very
      readable description of the various options available to you at
      build and installation time.

    - Make sure your TMPDIR environment variable points to a drive
      with enough free space.  Many DJGPP installations set this
      variable to a RAM disk for performance reasons.  Since RAM disks
      tend to be small (a few Megabytes), a complex shell script may
      fill it by temporary files, typically from pipes and `command`
      expansions, after which point programs run by that shell will
      start to fail.  The Texk build process runs some very long and
      complicated shell scripts which require around 4MB of free space
      on TMPDIR filesystem (it failed for me when I had only 2.5MB).
      If you cannot enlarge your RAM disk, point TMPDIR to a real disk
      (the effect on the overall build time is insignificant, since
      GCC will have hard time compiling some of the larger programs
      with -O2 switch).  TMPDIR is usually set on the DJGPP.ENV file,
      but you can override it by setting TMPDIR from the DOS prompt.

    - The default 256KB stack size limit of DJGPP programs is too
      small for compiling some of the TeX programs.  Make sure your
      cc1.exe program has at least 768KB of stack.  Here's how:

	      stubedit cc1.exe minstack=768k

      (`stubedit' is part of the basic DJGPP development
      environment).

    - The source distribution comes pre-configured for DJGPP v2.01.
      To build, chdir to the web2c-7.2 directory and issue this command
      to build the programs:

		   make

      Building the full Texk package takes a while (about 2 hours
      on a 486/DX2-66, 35 minutes on a Pentium-166), so you might go
      for a cup of coffee while it compiles.  About half of this time
      is for building programs in `web2c' subdirectory, so if you
      don't need TeX, Metafont and related programs, I suggest not to
      download webcNNs.zip.

      (Please note that I haven't tried to build parts of the
      distribution, I only built all of the programs at once.  So if
      you have any problems building, please report them to me.)

      If you are building Texk more than 18 months since it was
      released, you might see a warning message while LaTeX is built
      which complains about old sources.  In general, you can press
      [Enter] in response to that message and let the build continue,
      since the message is just a precaution.  However, if you do care
      to have the latest stuff, you will need to download the
      latex/base directory from one of the CTAN mirrors and replace
      with it the files in latex/base which come with tmflib75.zip.

      The command "make" will by default build the kpathsea library,
      the LJ4 and PostScript DVI drivers (`dvilj4' and `dvips'),
      TeX, MetaFont and related programs in `web2c' directory, and any
      of the auxiliary programs whose sources you downloaded.  If you
      need other programs, you will need to issue these additional
      commands:

	To build the programs that replace mktex... shell scripts
	from the original package, do this:

		   cd contrib
		   make

        To build DVI drivers for other LaserJet printers:

		   cd dviljk
		   make all  (or e.g. "make dvilj2p" if you need a
			       driver for LaserJet 2P only)

	To build DVI drivers for DeskJet 500/550C printers and the DVI
	previewer for VGA display:

		   cd dvidjk
		   make

    - You might want to reconfigure the package, for instance if you
      want to build it with other built-in default pathnames, or if
      changes in the DJGPP library require different HAVE_XXX macros
      to be defined before you recompile.  To this end, you need to
      run the `configure' script in the web2c-X.Y directory.  The
      easiest way to do that is by calling the `djgpp/config.bat'
      batch file, which sets some environment variables and then
      invokes Bash to run the script with necessary arguments.  (You
      can edit the batch file if you want to run the script with
      different arguments.)  The command is this:

		djgpp\config

    - It is possible to configure and build Texk from a directory
      other than where the sources reside (useful when you cannot
      write to that directory, like if it's on a CD-ROM).  In that
      case, you need to invoke `configure.bat' with a single argument
      which is the full pathname of the source directory.  For
      example:

		f:\gnu\web2c-7.2\djgpp\config f:/gnu/web2c-7.2

      Note that you MUST use Unix-style forward slashes in the
      argument you pass to `config.bat', or else it will fail.

    - The configure script will run for a while and recursively
      configure the programs in subdirectories.  (It takes about 20
      minutes on my P166 to configure the full distribution.)

    - After running `configure', just say "make" as explained above.

    - If you have changed some of the programs in the package, it is a
      good idea to run tests on them.  The Makefile in the web2c
      directory has a large number of xxx-check targets, where xxx is
      the name of a program; you can run these one by one by going
      into web2c and saying like so:

		 make gftopk-check

      Some of the tests appear to fail (`diff' prints some actual
      differences between the test results and the reference files
      that come with the package.  In most cases, this is normal
      behavior (the programs were changed since the canonical results
      were computed); the file `web2c/tests/check.log' includes the
      output you should see for each test.  If your results coincide
      with `check.log' (except for the version of the package that the
      programs print), you are doing fine.

      Besides the web2c programs, some other packages have their own
      test suites.  A good rule of thumb is to chdir to the top
      subdirectory of the package you want to test and type "make
      check"; if this produces the "Nothing to be done for `check'"
      message from Make, read the README file in that directory: some
      of them describe manual procedures for testing the built package
      (I have meticulously run these test procedures for every package
      that has one, and added any files required to run the tests to
      the tmflibNN.zip distribution, so you should expect all the
      tests to pass if all's well.)

    - Before installing, if you already have a previous version of
      Texk installed, review your `texmf.cnf' configuration file (in
      %TEXMF%/web2c directory).  If you have changed it from the
      original, you might want the installation process to leave it
      alone and not overwrite it with the fresh copy from the
      distribution.  In that case, edit `texmf.cnf' and remove the
      word "original" from its first line.  This tells the
      installation process to refrain from replacing that file.

      Note that `texmf.cnf' file distributed with the binary packages
      was edited to make it suitable for DJGPP, but the word
      "original" was NOT removed from it!

      Also note that the configuration setup has changed since version
      7.0 in minor but significant ways, and if you have good reasons
      to keep your old texmf.cnf file, some manual work might be
      needed to reconcile the new setup with your preferences of yore.

    - To install the programs, say "make install" in the top
      directory.  This will create missing directories and copy the
      programs and auxiliary files to their places.  If you run "make"
      without reconfiguring the package, the "install" targets assume
      that DJGPP is rooted at C:\DJGPP and put everything there; you
      can then move the files to their proper places, like so:

		    cp -Rp c:/djgpp/* d:/gnu/djdir
		    rm -rf c:/djgpp

      (This assumes that DJGPP is actually installed in D:\GNU\DJDIR;
      if not, change the last `cp' argument as appropriate.)

      If you have built additional programs (like the `dvivga'
      previewer), you will need to install them manually, since the
      default "install" targets won't install them.

IV. Troubleshooting
    ---------------

    I do NOT intend here to replace the various chapters in the docs
    which explain how to solve problems and report bugs.  Please read
    the docs whenever you see any seemingly abnormal behavior.  What's
    below is intended to mention a few DOS- and DJGPP-specific
    problems that you might see, and how to get around them.

    First, a word of warning.  Texk is a tremendously large and
    complex package, with dozens of different programs, some of them
    with many different options.  While porting it, I've made a good-
    faith effort to test everything I could, including using it to
    generate printed versions of various TeX and Texinfo documents.
    However, some bugs must be still there.  In addition, some
    programs in this release are ported to DJGPP for the first time.
    Please treat this port accordingly and report related bugs to the
    DJGPP news group (comp.os.msdos.djgpp) first.

    One possible problem you could see is due to insufficient number
    of available file handles.  `Dvilj' is particularly prone to this
    problem.  If you ever see an error message to the effect that a
    program has no more handles, edit your CONFIG.SYS and enlarge the
    FILES= setting there.

    Another related problem manifests itself by an error message like
    so:

        c:\djgpp\bin/mf.exe: cannot open

    This usually happens when a DVI driver finds a missing font and
    invokes the METAFONT program to generate them on the fly.  Due to
    peculiarities of file handles inheritance from parent to child
    processes, the child process can sometimes fail to start because
    the stub cannot open the .exe file.  I think I've fixed these
    problems, so you shouldn't see such messages, but if you do,
    please report the details.

    If the font-creation fails, a file named `missfont.log' is created
    in the current directory, with the commands you should issue to
    make these fonts.  Many times, invoking that file as a batch file
    will create the missing fonts, so you could then invoke the DVI
    driver again and it will work.


    Happy TeXing!

				Eli Zaretskii <eliz@is.elta.co.il>