diff options
-rwxr-xr-x | Master/bin/powerpc-aix/afm2pl | bin | 107030 -> 110290 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/afm2tfm | bin | 117330 -> 120558 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/aleph | bin | 598049 -> 605202 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/bbox | bin | 6731 -> 6731 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/bg5conv | bin | 2003 -> 2003 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/bibtex | bin | 173305 -> 176441 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/bibtex8 | bin | 205705 -> 208909 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/cef5conv | bin | 3107 -> 3107 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/cefconv | bin | 3019 -> 3019 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/cefsconv | bin | 3123 -> 3123 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/cfftot1 | bin | 530989 -> 532473 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/ctangle | bin | 103490 -> 106542 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/ctie | bin | 76166 -> 79402 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/cweave | bin | 137338 -> 140390 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/detex | bin | 85258 -> 90462 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/devnag | bin | 31996 -> 31996 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/disdvi | bin | 10243 -> 10243 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/dmp | bin | 110432 -> 0 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/dt2dv | bin | 32867 -> 32835 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/dv2dt | bin | 11283 -> 11283 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/dvi2tty | bin | 20259 -> 20259 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/dvibook | bin | 38322 -> 38318 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/dviconcat | bin | 34022 -> 34034 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/dvicopy | bin | 130966 -> 134306 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/dvidvi | bin | 17215 -> 17047 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/dvilj | bin | 111618 -> 115070 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/dvilj2p | bin | 111994 -> 115414 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/dvilj4 | bin | 119934 -> 123314 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/dvilj4l | bin | 119942 -> 123322 bytes | |||
l---------[-rwxr-xr-x] | Master/bin/powerpc-aix/dvipdfm | bin | 488757 -> 8 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/dvipdfmx | bin | 947878 -> 932373 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/dvipdft | 85 | ||||
-rwxr-xr-x | Master/bin/powerpc-aix/dvipng | bin | 1132549 -> 1156477 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/dvipos | bin | 108546 -> 111742 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/dvips | bin | 252854 -> 256770 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/dviselect | bin | 36610 -> 36622 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/dvitodvi | bin | 42146 -> 42142 bytes | |||
l---------[-rwxr-xr-x] | Master/bin/powerpc-aix/dvitomp | bin | 103442 -> 5 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/dvitype | bin | 104534 -> 107586 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/epsffit | bin | 7074 -> 7074 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/extconv | bin | 2003 -> 2003 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/fmtutil | 60 | ||||
l--------- | Master/bin/powerpc-aix/fragmaster | 1 | ||||
-rwxr-xr-x | Master/bin/powerpc-aix/gftodvi | bin | 110238 -> 113354 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/gftopk | bin | 93814 -> 97066 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/gftype | bin | 91054 -> 94186 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/gsftopk | bin | 89980 -> 93304 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/hbf2gf | bin | 98034 -> 101326 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/info | bin | 219492 -> 0 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/infokey | bin | 24848 -> 0 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/install-info | bin | 45802 -> 0 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/kpseaccess | bin | 3299 -> 3299 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/kpsereadlink | bin | 3123 -> 3123 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/kpsestat | bin | 3803 -> 3803 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/kpsewhich | bin | 81842 -> 86646 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/lacheck | bin | 52391 -> 55815 bytes | |||
l--------- | Master/bin/powerpc-aix/latex2man | 1 | ||||
-rwxr-xr-x | Master/bin/powerpc-aix/luatangle | bin | 0 -> 113550 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/luatex | bin | 4898347 -> 6329416 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/mag | bin | 19526 -> 19526 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/makeindex | bin | 147862 -> 150890 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/makeinfo | bin | 292195 -> 0 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/makempx | bin | 75338 -> 0 bytes | |||
l--------- | Master/bin/powerpc-aix/man | 1 | ||||
-rwxr-xr-x | Master/bin/powerpc-aix/mf | bin | 366714 -> 371327 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/mf-nowin | bin | 359857 -> 364470 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/mft | bin | 109786 -> 112838 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/mmafm | bin | 547444 -> 570060 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/mmpfb | bin | 564562 -> 589254 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/mpost | bin | 461662 -> 570523 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/mpto | bin | 9471 -> 0 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/musixflx | bin | 14046 -> 14046 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/newer | bin | 3991 -> 0 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/odvicopy | bin | 137198 -> 140538 bytes | |||
l--------- | Master/bin/powerpc-aix/odvips | 1 | ||||
-rwxr-xr-x | Master/bin/powerpc-aix/odvitype | bin | 105918 -> 108970 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/omfonts | bin | 183734 -> 190762 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/otangle | bin | 57503 -> 113158 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/otfinfo | bin | 618650 -> 629990 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/otftotfm | bin | 1076210 -> 1029210 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/otp2ocp | bin | 89086 -> 94874 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/outocp | bin | 69650 -> 72926 bytes | |||
l--------- | Master/bin/powerpc-aix/oxdvi | 1 | ||||
-rwxr-xr-x | Master/bin/powerpc-aix/patgen | bin | 45435 -> 45599 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/pdfclose | bin | 7269 -> 7269 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/pdfopen | bin | 8141 -> 8141 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/pdftex | bin | 1675497 -> 1701690 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/pdftexi2dvi | 19 | ||||
-rwxr-xr-x | Master/bin/powerpc-aix/pdftosrc | bin | 537350 -> 555906 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/pfb2pfa | bin | 7183 -> 7235 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/pk2bm | bin | 9531 -> 9551 bytes | |||
l--------- | Master/bin/powerpc-aix/pkfix-helper | 1 | ||||
-rwxr-xr-x | Master/bin/powerpc-aix/pktogf | bin | 91386 -> 94598 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/pktype | bin | 81966 -> 85106 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/pltotf | bin | 64022 -> 64402 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/pooltype | bin | 24175 -> 24299 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/ps2eps | 935 | ||||
-rwxr-xr-x | Master/bin/powerpc-aix/ps2pk | bin | 207774 -> 210906 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/psbook | bin | 11807 -> 11807 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/psnup | bin | 19875 -> 19875 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/psresize | bin | 18179 -> 18179 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/psselect | bin | 13255 -> 13255 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/pstops | bin | 18719 -> 18719 bytes | |||
l--------- | Master/bin/powerpc-aix/purifyeps | 1 | ||||
-rwxr-xr-x | Master/bin/powerpc-aix/sjisconv | bin | 2027 -> 2027 bytes | |||
l--------- | Master/bin/powerpc-aix/svn-multi | 1 | ||||
-rwxr-xr-x | Master/bin/powerpc-aix/synctex | bin | 146450 -> 146254 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/t1ascii | bin | 27895 -> 27895 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/t1asm | bin | 34643 -> 34643 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/t1binary | bin | 27071 -> 27071 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/t1disasm | bin | 33047 -> 33047 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/t1dotlessj | bin | 540892 -> 565048 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/t1lint | bin | 483514 -> 517438 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/t1mac | bin | 37859 -> 37859 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/t1rawafm | bin | 0 -> 516904 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/t1reencode | bin | 554100 -> 576816 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/t1testpage | bin | 511336 -> 539680 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/t1unmac | bin | 34763 -> 34763 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/t4ht | bin | 89818 -> 93102 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/tangle | bin | 113442 -> 116502 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/tcdialog | bin | 158480 -> 156238 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/tex | bin | 392185 -> 399246 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/tex2xindy | bin | 17227 -> 17227 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/tex4ht | bin | 157226 -> 160598 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/texi2dvi | 1791 | ||||
-rwxr-xr-x | Master/bin/powerpc-aix/texi2pdf | 19 | ||||
-rwxr-xr-x | Master/bin/powerpc-aix/texindex | bin | 16783 -> 0 bytes | |||
l--------- | Master/bin/powerpc-aix/texloganalyser | 1 | ||||
-rwxr-xr-x | Master/bin/powerpc-aix/tftopl | bin | 101270 -> 104442 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/tie | bin | 8503 -> 75050 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/ttf2afm | bin | 97390 -> 100442 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/ttf2pk | bin | 286770 -> 290014 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/ttf2tfm | bin | 322894 -> 326138 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/ttfdump | bin | 0 -> 65603 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/ttftotype42 | bin | 555807 -> 557087 bytes | |||
l--------- | Master/bin/powerpc-aix/ulqda | 1 | ||||
-rwxr-xr-x | Master/bin/powerpc-aix/updmap | 3 | ||||
-rwxr-xr-x | Master/bin/powerpc-aix/vftovp | bin | 115870 -> 119010 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/vlna | bin | 12007 -> 12007 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/vptovf | bin | 79254 -> 79730 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/weave | bin | 134498 -> 137566 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/xdvi-motif | bin | 1029360 -> 1039474 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/xdvipdfmx | bin | 1675905 -> 1686520 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/xetex | bin | 10113203 -> 9812011 bytes | |||
-rw-r--r-- | Master/bin/powerpc-aix/xindy.mem | bin | 1060745 -> 1060053 bytes | |||
-rwxr-xr-x | Master/bin/powerpc-aix/xindy.run | bin | 2737136 -> 2737136 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/afm2pl | bin | 150144 -> 155900 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/afm2tfm | bin | 157436 -> 164768 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/aleph | bin | 740572 -> 755320 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/bibtex | bin | 259116 -> 266296 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/bibtex8 | bin | 292344 -> 299676 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/cfftot1 | bin | 469060 -> 497040 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/ctangle | bin | 170672 -> 177860 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/ctie | bin | 134024 -> 141320 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/cweave | bin | 210732 -> 217928 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/detex | bin | 146096 -> 155744 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/dmp | bin | 149292 -> 0 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/dt2dv | bin | 36016 -> 35732 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/dv2dt | bin | 14240 -> 13928 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/dvi2tty | bin | 27220 -> 27228 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/dvibook | bin | 51128 -> 53680 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/dviconcat | bin | 45984 -> 48560 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/dvicopy | bin | 211236 -> 218672 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/dvidvi | bin | 23152 -> 21612 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/dvilj | bin | 177864 -> 181760 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/dvilj2p | bin | 178244 -> 182164 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/dvilj4 | bin | 186456 -> 194144 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/dvilj4l | bin | 186452 -> 194140 bytes | |||
l---------[-rwxr-xr-x] | Master/bin/sparc-solaris/dvipdfm | bin | 594704 -> 8 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/dvipdfmx | bin | 1100784 -> 1094568 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/dvipdft | 85 | ||||
-rwxr-xr-x | Master/bin/sparc-solaris/dvipng | bin | 1302368 -> 1354148 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/dvipos | bin | 172848 -> 180148 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/dvips | bin | 379504 -> 387808 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/dviselect | bin | 49328 -> 51880 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/dvitodvi | bin | 55484 -> 58052 bytes | |||
l---------[-rwxr-xr-x] | Master/bin/sparc-solaris/dvitomp | bin | 176908 -> 5 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/dvitype | bin | 186308 -> 193512 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/epsffit | bin | 11072 -> 11072 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/fmtutil | 60 | ||||
l--------- | Master/bin/sparc-solaris/fragmaster | 1 | ||||
-rwxr-xr-x | Master/bin/sparc-solaris/gftodvi | bin | 190720 -> 198008 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/gftopk | bin | 171572 -> 179080 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/gftype | bin | 164584 -> 171888 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/gsftopk | bin | 149572 -> 156972 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/hbf2gf | bin | 160076 -> 167440 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/info | bin | 253700 -> 0 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/infokey | bin | 41248 -> 0 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/install-info | bin | 61592 -> 0 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/kpseaccess | bin | 7064 -> 7064 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/kpsereadlink | bin | 6972 -> 6972 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/kpsestat | bin | 7756 -> 7756 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/kpsewhich | bin | 144564 -> 152796 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/lacheck | bin | 59044 -> 62880 bytes | |||
l--------- | Master/bin/sparc-solaris/latex2man | 1 | ||||
-rwxr-xr-x | Master/bin/sparc-solaris/luatangle | bin | 0 -> 191788 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/luatex | bin | 5169156 -> 6500032 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/mag | bin | 8816 -> 8816 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/makeindex | bin | 220228 -> 227256 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/makeinfo | bin | 322556 -> 0 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/makempx | bin | 133816 -> 0 bytes | |||
l--------- | Master/bin/sparc-solaris/man | 1 | ||||
-rwxr-xr-x | Master/bin/sparc-solaris/mf | bin | 465084 -> 474920 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/mf-nowin | bin | 459772 -> 469492 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/mft | bin | 184804 -> 192032 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/mmafm | bin | 288604 -> 315376 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/mmpfb | bin | 381116 -> 410748 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/mpost | bin | 565476 -> 638144 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/mpto | bin | 12252 -> 0 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/newer | bin | 8120 -> 0 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/odvicopy | bin | 218268 -> 225744 bytes | |||
l--------- | Master/bin/sparc-solaris/odvips | 1 | ||||
-rwxr-xr-x | Master/bin/sparc-solaris/odvitype | bin | 188144 -> 195348 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/omfonts | bin | 280468 -> 292048 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/otangle | bin | 96040 -> 191200 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/otfinfo | bin | 602420 -> 646852 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/otftotfm | bin | 1124072 -> 1156540 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/otp2ocp | bin | 154736 -> 165184 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/outocp | bin | 126472 -> 133796 bytes | |||
l--------- | Master/bin/sparc-solaris/oxdvi | 1 | ||||
-rwxr-xr-x | Master/bin/sparc-solaris/patgen | bin | 81664 -> 85044 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/pdftex | bin | 1824268 -> 1857716 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/pdftexi2dvi | 19 | ||||
-rwxr-xr-x | Master/bin/sparc-solaris/pdftosrc | bin | 514800 -> 531560 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/pfb2pfa | bin | 15300 -> 18500 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/pk2bm | bin | 16032 -> 19152 bytes | |||
l--------- | Master/bin/sparc-solaris/pkfix-helper | 1 | ||||
-rwxr-xr-x | Master/bin/sparc-solaris/pktogf | bin | 165932 -> 173348 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/pktype | bin | 152172 -> 159492 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/pltotf | bin | 111796 -> 115384 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/pooltype | bin | 55692 -> 59088 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/ps2eps | 935 | ||||
-rwxr-xr-x | Master/bin/sparc-solaris/ps2pk | bin | 293688 -> 300944 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/psbook | bin | 16764 -> 16764 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/psnup | bin | 34728 -> 34728 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/psresize | bin | 23664 -> 23668 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/psselect | bin | 19136 -> 19136 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/pstops | bin | 24024 -> 24028 bytes | |||
l--------- | Master/bin/sparc-solaris/purifyeps | 1 | ||||
l--------- | Master/bin/sparc-solaris/svn-multi | 1 | ||||
-rwxr-xr-x | Master/bin/sparc-solaris/synctex | bin | 153576 -> 156652 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/t1dotlessj | bin | 366668 -> 394460 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/t1lint | bin | 307728 -> 351636 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/t1rawafm | bin | 0 -> 341864 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/t1reencode | bin | 347536 -> 374660 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/t1testpage | bin | 333364 -> 365832 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/t4ht | bin | 147844 -> 155184 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/tangle | bin | 190788 -> 197992 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/tcdialog | bin | 268024 -> 194860 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/tex | bin | 490488 -> 503944 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/tex4ht | bin | 226508 -> 234048 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/texi2dvi | 1791 | ||||
-rwxr-xr-x | Master/bin/sparc-solaris/texi2pdf | 19 | ||||
-rwxr-xr-x | Master/bin/sparc-solaris/texindex | bin | 25860 -> 0 bytes | |||
l--------- | Master/bin/sparc-solaris/texloganalyser | 1 | ||||
-rwxr-xr-x | Master/bin/sparc-solaris/tftopl | bin | 176392 -> 183712 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/tie | bin | 14516 -> 136992 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/ttf2afm | bin | 164076 -> 171404 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/ttf2pk | bin | 335616 -> 342984 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/ttf2tfm | bin | 352372 -> 359712 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/ttfdump | bin | 0 -> 84456 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/ttftotype42 | bin | 390616 -> 418104 bytes | |||
l--------- | Master/bin/sparc-solaris/ulqda | 1 | ||||
-rwxr-xr-x | Master/bin/sparc-solaris/updmap | 3 | ||||
-rwxr-xr-x | Master/bin/sparc-solaris/vftovp | bin | 197504 -> 204808 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/vptovf | bin | 132836 -> 136576 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/weave | bin | 214128 -> 221340 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/xdvi-motif | bin | 1278188 -> 1288796 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/xdvipdfmx | bin | 1737260 -> 1774636 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/xetex | bin | 9801920 -> 9840760 bytes | |||
-rw-r--r-- | Master/bin/sparc-solaris/xindy.mem | bin | 1009125 -> 1009148 bytes | |||
-rwxr-xr-x | Master/bin/sparc-solaris/xindy.run | bin | 1877456 -> 1877384 bytes |
272 files changed, 2056 insertions, 3788 deletions
diff --git a/Master/bin/powerpc-aix/afm2pl b/Master/bin/powerpc-aix/afm2pl Binary files differindex 204dcd21a18..4021d180e4e 100755 --- a/Master/bin/powerpc-aix/afm2pl +++ b/Master/bin/powerpc-aix/afm2pl diff --git a/Master/bin/powerpc-aix/afm2tfm b/Master/bin/powerpc-aix/afm2tfm Binary files differindex 4ea8534b052..6ccee8e0f66 100755 --- a/Master/bin/powerpc-aix/afm2tfm +++ b/Master/bin/powerpc-aix/afm2tfm diff --git a/Master/bin/powerpc-aix/aleph b/Master/bin/powerpc-aix/aleph Binary files differindex 079db6b67a2..6331c9385fd 100755 --- a/Master/bin/powerpc-aix/aleph +++ b/Master/bin/powerpc-aix/aleph diff --git a/Master/bin/powerpc-aix/bbox b/Master/bin/powerpc-aix/bbox Binary files differindex 716e49f9061..43423afb68a 100755 --- a/Master/bin/powerpc-aix/bbox +++ b/Master/bin/powerpc-aix/bbox diff --git a/Master/bin/powerpc-aix/bg5conv b/Master/bin/powerpc-aix/bg5conv Binary files differindex 3dcf41f7e92..d4e893d6a5d 100755 --- a/Master/bin/powerpc-aix/bg5conv +++ b/Master/bin/powerpc-aix/bg5conv diff --git a/Master/bin/powerpc-aix/bibtex b/Master/bin/powerpc-aix/bibtex Binary files differindex 882a6a77042..33520bc235f 100755 --- a/Master/bin/powerpc-aix/bibtex +++ b/Master/bin/powerpc-aix/bibtex diff --git a/Master/bin/powerpc-aix/bibtex8 b/Master/bin/powerpc-aix/bibtex8 Binary files differindex bc22aa65dbb..c806df18ca9 100755 --- a/Master/bin/powerpc-aix/bibtex8 +++ b/Master/bin/powerpc-aix/bibtex8 diff --git a/Master/bin/powerpc-aix/cef5conv b/Master/bin/powerpc-aix/cef5conv Binary files differindex dc5d4de5e48..ebb5cb769d4 100755 --- a/Master/bin/powerpc-aix/cef5conv +++ b/Master/bin/powerpc-aix/cef5conv diff --git a/Master/bin/powerpc-aix/cefconv b/Master/bin/powerpc-aix/cefconv Binary files differindex abc1014429c..476a869f990 100755 --- a/Master/bin/powerpc-aix/cefconv +++ b/Master/bin/powerpc-aix/cefconv diff --git a/Master/bin/powerpc-aix/cefsconv b/Master/bin/powerpc-aix/cefsconv Binary files differindex 4b720fbfb5a..5b08c340a99 100755 --- a/Master/bin/powerpc-aix/cefsconv +++ b/Master/bin/powerpc-aix/cefsconv diff --git a/Master/bin/powerpc-aix/cfftot1 b/Master/bin/powerpc-aix/cfftot1 Binary files differindex 39b5e2e9d58..2de6bacbcce 100755 --- a/Master/bin/powerpc-aix/cfftot1 +++ b/Master/bin/powerpc-aix/cfftot1 diff --git a/Master/bin/powerpc-aix/ctangle b/Master/bin/powerpc-aix/ctangle Binary files differindex 9ced1b09e22..b57cd6f2321 100755 --- a/Master/bin/powerpc-aix/ctangle +++ b/Master/bin/powerpc-aix/ctangle diff --git a/Master/bin/powerpc-aix/ctie b/Master/bin/powerpc-aix/ctie Binary files differindex 47cf8bbe349..69981daa6df 100755 --- a/Master/bin/powerpc-aix/ctie +++ b/Master/bin/powerpc-aix/ctie diff --git a/Master/bin/powerpc-aix/cweave b/Master/bin/powerpc-aix/cweave Binary files differindex 80e40b45a25..6910fc782d2 100755 --- a/Master/bin/powerpc-aix/cweave +++ b/Master/bin/powerpc-aix/cweave diff --git a/Master/bin/powerpc-aix/detex b/Master/bin/powerpc-aix/detex Binary files differindex a3e96467169..bf68b25bade 100755 --- a/Master/bin/powerpc-aix/detex +++ b/Master/bin/powerpc-aix/detex diff --git a/Master/bin/powerpc-aix/devnag b/Master/bin/powerpc-aix/devnag Binary files differindex c02d114e5e5..27e2c6edc23 100755 --- a/Master/bin/powerpc-aix/devnag +++ b/Master/bin/powerpc-aix/devnag diff --git a/Master/bin/powerpc-aix/disdvi b/Master/bin/powerpc-aix/disdvi Binary files differindex 68afebb1094..946e0bd6983 100755 --- a/Master/bin/powerpc-aix/disdvi +++ b/Master/bin/powerpc-aix/disdvi diff --git a/Master/bin/powerpc-aix/dmp b/Master/bin/powerpc-aix/dmp Binary files differdeleted file mode 100755 index 4798030fb5b..00000000000 --- a/Master/bin/powerpc-aix/dmp +++ /dev/null diff --git a/Master/bin/powerpc-aix/dt2dv b/Master/bin/powerpc-aix/dt2dv Binary files differindex 346bb547396..476ab284b76 100755 --- a/Master/bin/powerpc-aix/dt2dv +++ b/Master/bin/powerpc-aix/dt2dv diff --git a/Master/bin/powerpc-aix/dv2dt b/Master/bin/powerpc-aix/dv2dt Binary files differindex 414292dffb1..91d3252cbab 100755 --- a/Master/bin/powerpc-aix/dv2dt +++ b/Master/bin/powerpc-aix/dv2dt diff --git a/Master/bin/powerpc-aix/dvi2tty b/Master/bin/powerpc-aix/dvi2tty Binary files differindex ac7b90abb8e..c0de783befb 100755 --- a/Master/bin/powerpc-aix/dvi2tty +++ b/Master/bin/powerpc-aix/dvi2tty diff --git a/Master/bin/powerpc-aix/dvibook b/Master/bin/powerpc-aix/dvibook Binary files differindex 590d0268cdc..50b8150058c 100755 --- a/Master/bin/powerpc-aix/dvibook +++ b/Master/bin/powerpc-aix/dvibook diff --git a/Master/bin/powerpc-aix/dviconcat b/Master/bin/powerpc-aix/dviconcat Binary files differindex c32bee9e6cf..ed4e4689fa5 100755 --- a/Master/bin/powerpc-aix/dviconcat +++ b/Master/bin/powerpc-aix/dviconcat diff --git a/Master/bin/powerpc-aix/dvicopy b/Master/bin/powerpc-aix/dvicopy Binary files differindex 6714b975603..81e2ddaef49 100755 --- a/Master/bin/powerpc-aix/dvicopy +++ b/Master/bin/powerpc-aix/dvicopy diff --git a/Master/bin/powerpc-aix/dvidvi b/Master/bin/powerpc-aix/dvidvi Binary files differindex 2c493451c8c..2c8332c5de0 100755 --- a/Master/bin/powerpc-aix/dvidvi +++ b/Master/bin/powerpc-aix/dvidvi diff --git a/Master/bin/powerpc-aix/dvilj b/Master/bin/powerpc-aix/dvilj Binary files differindex dfab3eb4b02..9f7403d7587 100755 --- a/Master/bin/powerpc-aix/dvilj +++ b/Master/bin/powerpc-aix/dvilj diff --git a/Master/bin/powerpc-aix/dvilj2p b/Master/bin/powerpc-aix/dvilj2p Binary files differindex e9963b52422..8781bd80fc3 100755 --- a/Master/bin/powerpc-aix/dvilj2p +++ b/Master/bin/powerpc-aix/dvilj2p diff --git a/Master/bin/powerpc-aix/dvilj4 b/Master/bin/powerpc-aix/dvilj4 Binary files differindex 25a03685ece..7f96da91cfd 100755 --- a/Master/bin/powerpc-aix/dvilj4 +++ b/Master/bin/powerpc-aix/dvilj4 diff --git a/Master/bin/powerpc-aix/dvilj4l b/Master/bin/powerpc-aix/dvilj4l Binary files differindex c1fdaeb1a3a..ad6e90400c4 100755 --- a/Master/bin/powerpc-aix/dvilj4l +++ b/Master/bin/powerpc-aix/dvilj4l diff --git a/Master/bin/powerpc-aix/dvipdfm b/Master/bin/powerpc-aix/dvipdfm Binary files differindex 4decb75a19c..ab4195592f6 100755..120000 --- a/Master/bin/powerpc-aix/dvipdfm +++ b/Master/bin/powerpc-aix/dvipdfm diff --git a/Master/bin/powerpc-aix/dvipdfmx b/Master/bin/powerpc-aix/dvipdfmx Binary files differindex d2a8d5c9afe..b28d5d463e1 100755 --- a/Master/bin/powerpc-aix/dvipdfmx +++ b/Master/bin/powerpc-aix/dvipdfmx diff --git a/Master/bin/powerpc-aix/dvipdft b/Master/bin/powerpc-aix/dvipdft index db53bd2f5a0..3bcd0027db1 100755 --- a/Master/bin/powerpc-aix/dvipdft +++ b/Master/bin/powerpc-aix/dvipdft @@ -1,15 +1,24 @@ #!/bin/sh - -# -# dvipdft, completely rewtitten by Thomas Esser for teTeX after an +# dvipdft, completely rewritten by Thomas Esser for teTeX after an # original script by Mark A. Wicks # # Thomas Esser. Public Domain. -# +# +# Modified by Matthias Franz for dvipdfmx (when running as dvipdfm) and +# TeX Live. # This script makes a first (fast) run with dvipdfm, then calls gs on # the resulting pdf file to get the thumbnails and finally calls dvipdfm. +progname=dvipdft +version=20090604.0046 + +# set trap for error +trap ' + echo "$progname: fatal error." >&2 + exit 1 +' 1 + test -f /bin/sh5 && test -z "$RUNNING_SH5" \ && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; } @@ -23,16 +32,10 @@ unset RUNNING_BSH # hack around a bug in zsh: test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' -progname=dvipdft -version=1111942378 # seconds since `00:00:00 1970-01-01 UTC' - # date '+%s' (with GNU date) - help="Usage: $progname [options] dvifile $progname --help $progname --version" -tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ - quoteit() { echo "x$1" | sed "s@.@@; s@'@'\\\\''@; s@^@'@; s@\$@'@" @@ -56,7 +59,7 @@ case $1 in exit 0 ;; --version) - echo "$progname version $version by Thomas Esser" + echo "$progname version $version by Thomas Esser and others" exit 0 ;; "") @@ -66,7 +69,7 @@ case $1 in esac # args 1 to (n-1) are gone, last one must be the dvifile -dvifile=$1 +dvifile="$1" # outfile comes from -o argument, else it is derived from the input file test -n "$outfile" \ @@ -75,56 +78,28 @@ test -n "$outfile" \ # outBase is part of the thumbname files just as dvipdfm expects them: outBase=`echo "$outfile" | sed 's@\.pdf$@@'` -# restore args 1 to (n-1): -eval set x "$s"; shift - -# Run dvipdfm with the fastest options for the first pass -echo "$progname: running dvipdfm $@ -e -z0 $dvifile" >&2 -dvipdfm ${1+"$@"} -e -z0 "$dvifile" || { - echo "$progname: dvipdfm failed." >&2 +ls "$outBase".[1-9]* >/dev/null 2>&1 && { + echo "$progname: Please move the following files out of the way:" >&2 + ls "$outBase".[1-9]* >&2 exit 1 } -# before we create the tmpdir, set trap for cleanup -trap ' - rm -rf $tmpdir - exit 1 -' 1 2 3 7 13 15 +# restore args 1 to (n-1): +eval set x "$s"; shift -mkdir "$tmpdir" || { - echo "$progname: failed to create temp directory." >&2 - exit 1 -} +# set trap for cleanup +trap ' + rm -f "$outBase".[1-9]* +' 0 -# if outBase contains a /, we might need to create a directory -case $outBase in - */*) - fq=`echo "$tmpdir/$outBase" | sed 's@//@/@g; s@/[^/]*$@@'` - test -d "$fq" || mkdir -p "$fq" || { - echo "$progname: failed to create temp thumbnail directory." >&2 - rm -rf $tmpdir - exit 1 - } - ;; -esac +# Run dvipdfm with the fastest options for the first pass +echo "$progname: running dvipdfm $@ -z0 $dvifile" >&2 +dvipdfm ${1+"$@"} -z0 "$dvifile" # run gs echo "$progname: running gs" >&2 -gs -r10 -dNOPAUSE -dBATCH -sDEVICE=png256 \ - -sOutputFile="$tmpdir/$outBase.%d" "$outfile" || { - echo "$progname: gs failed." >&2 - rm -rf $tmpdir - exit 1 -} +gs -r10 -dNOPAUSE -dBATCH -sDEVICE=png256 -sOutputFile="$outBase.%d" "$outfile" # run dvipdfm with the users specified options for the last pass -echo "$progname: running dvipdfm -dt $@ $dvifile" >&2 -TMP=$tmpdir dvipdfm -dt ${1+"$@"} "$dvifile" || { - echo "$progname: dvipdfm failed." >&2 - rm -rf $tmpdir - exit 1 -} - -# nothing failed, so cleanup and report success to caller -rm -rf $tmpdir -exit 0 +echo "$progname: running dvipdfm -t $@ $dvifile" >&2 +dvipdfm ${1+"$@"} -t "$dvifile" diff --git a/Master/bin/powerpc-aix/dvipng b/Master/bin/powerpc-aix/dvipng Binary files differindex 3e306be7298..651fcb5f5b7 100755 --- a/Master/bin/powerpc-aix/dvipng +++ b/Master/bin/powerpc-aix/dvipng diff --git a/Master/bin/powerpc-aix/dvipos b/Master/bin/powerpc-aix/dvipos Binary files differindex 0cd94c59f8e..318a5491dad 100755 --- a/Master/bin/powerpc-aix/dvipos +++ b/Master/bin/powerpc-aix/dvipos diff --git a/Master/bin/powerpc-aix/dvips b/Master/bin/powerpc-aix/dvips Binary files differindex 8d50a379c24..06f15be43d9 100755 --- a/Master/bin/powerpc-aix/dvips +++ b/Master/bin/powerpc-aix/dvips diff --git a/Master/bin/powerpc-aix/dviselect b/Master/bin/powerpc-aix/dviselect Binary files differindex 28cea2ca1f9..6350ae4971d 100755 --- a/Master/bin/powerpc-aix/dviselect +++ b/Master/bin/powerpc-aix/dviselect diff --git a/Master/bin/powerpc-aix/dvitodvi b/Master/bin/powerpc-aix/dvitodvi Binary files differindex 4ac42165889..b8f175fc5a1 100755 --- a/Master/bin/powerpc-aix/dvitodvi +++ b/Master/bin/powerpc-aix/dvitodvi diff --git a/Master/bin/powerpc-aix/dvitomp b/Master/bin/powerpc-aix/dvitomp Binary files differindex 7a682d8ff74..96672bbb523 100755..120000 --- a/Master/bin/powerpc-aix/dvitomp +++ b/Master/bin/powerpc-aix/dvitomp diff --git a/Master/bin/powerpc-aix/dvitype b/Master/bin/powerpc-aix/dvitype Binary files differindex e5ac5387c78..3d7091cc562 100755 --- a/Master/bin/powerpc-aix/dvitype +++ b/Master/bin/powerpc-aix/dvitype diff --git a/Master/bin/powerpc-aix/epsffit b/Master/bin/powerpc-aix/epsffit Binary files differindex e97c23600f3..8256f0c60c6 100755 --- a/Master/bin/powerpc-aix/epsffit +++ b/Master/bin/powerpc-aix/epsffit diff --git a/Master/bin/powerpc-aix/extconv b/Master/bin/powerpc-aix/extconv Binary files differindex 04dc386f043..a948fad560b 100755 --- a/Master/bin/powerpc-aix/extconv +++ b/Master/bin/powerpc-aix/extconv diff --git a/Master/bin/powerpc-aix/fmtutil b/Master/bin/powerpc-aix/fmtutil index f86a06003de..2a76d08f558 100755 --- a/Master/bin/powerpc-aix/fmtutil +++ b/Master/bin/powerpc-aix/fmtutil @@ -84,8 +84,7 @@ test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' progname=fmtutil argv0=$0 -version=1205513038 # seconds since `00:00:00 1970-01-01 UTC' - # date '+%s' (with GNU date) +version=20090611.2319 cnf=fmtutil.cnf # name of the config file export PATH @@ -259,6 +258,23 @@ verboseMsg() { ############################################################################### byebye() { + if $has_warnings; then + { + cat <<eof + +############################################################################### +$progname: Warning! Some warnings have been issued. +Visit the log files in directory + $destdir +for details. +############################################################################### + +This is a summary of all \`warning' messages: +$log_warning_msg +eof + } >&2 + fi + if $has_errors; then { cat <<eof @@ -270,7 +286,7 @@ Visit the log files in directory for details. ############################################################################### -This is a summary of all \`failed' messages and warnings: +This is a summary of all \`failed' messages: $log_failure_msg eof } >&2 @@ -281,6 +297,16 @@ eof } ############################################################################### +# init_log_warning() +# reset the list of warning messages +############################################################################### +init_log_warning() +{ + log_warning_msg= + has_warnings=false +} + +############################################################################### # init_log_failure() # reset the list of failure messages ############################################################################### @@ -291,6 +317,24 @@ init_log_failure() } ############################################################################### +# log_warning(errmsg) +# report and save warning message `errmsg' +############################################################################### +log_warning() +{ + echo "Warning: $@" >&2 + if test -z "$log_warning_msg"; then + log_warning_msg="$@" + else + OLDIFS=$IFS; IFS= + log_warning_msg="$log_warning_msg +$@" + IFS=$OLDIFS + fi + has_warnings=true +} + +############################################################################### # log_failure(errmsg) # report and save failure message `errmsg' ############################################################################### @@ -547,6 +591,7 @@ main() cache_vars init_log_failure + init_log_warning # execute the desired command: case "$cmd" in all) @@ -607,15 +652,16 @@ parse_line() texargs="$@" - eval lastarg=\$$# - inifile=`echo $lastarg | sed 's%^\*%%'` - case "$engine" in mpost) fmtfile="$format.mem"; kpsefmt=mp; texengine=metapost;; mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;; *) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;; esac + # remove any * for the sake of the kpsewhich lookup. + eval lastarg=\$$# + inifile=`echo $lastarg | sed 's%^\*%%'` + # See if we can find $inifile for return code: kpsewhich -progname=$format -format=$kpsefmt $inifile >/dev/null 2>&1 } @@ -705,7 +751,7 @@ run_initex() mkdir -p "$fulldestdir" if test -f $fmtfile; then grep '^! ' $format.log >/dev/null 2>&1 && - log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed." + log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed." # We don't want user-interaction for the following "mv" commands: mv "$format.log" "$fulldestdir/$format.log" </dev/null diff --git a/Master/bin/powerpc-aix/fragmaster b/Master/bin/powerpc-aix/fragmaster new file mode 120000 index 00000000000..ca1bb398b4b --- /dev/null +++ b/Master/bin/powerpc-aix/fragmaster @@ -0,0 +1 @@ +../../texmf-dist/scripts/fragmaster/fragmaster.pl
\ No newline at end of file diff --git a/Master/bin/powerpc-aix/gftodvi b/Master/bin/powerpc-aix/gftodvi Binary files differindex 73f2330fb6f..9aa17600258 100755 --- a/Master/bin/powerpc-aix/gftodvi +++ b/Master/bin/powerpc-aix/gftodvi diff --git a/Master/bin/powerpc-aix/gftopk b/Master/bin/powerpc-aix/gftopk Binary files differindex 953cb81a30d..d435d511819 100755 --- a/Master/bin/powerpc-aix/gftopk +++ b/Master/bin/powerpc-aix/gftopk diff --git a/Master/bin/powerpc-aix/gftype b/Master/bin/powerpc-aix/gftype Binary files differindex 7bbff8c08a0..a55f76a9c56 100755 --- a/Master/bin/powerpc-aix/gftype +++ b/Master/bin/powerpc-aix/gftype diff --git a/Master/bin/powerpc-aix/gsftopk b/Master/bin/powerpc-aix/gsftopk Binary files differindex 6b6c0359a5a..42a1d9feb21 100755 --- a/Master/bin/powerpc-aix/gsftopk +++ b/Master/bin/powerpc-aix/gsftopk diff --git a/Master/bin/powerpc-aix/hbf2gf b/Master/bin/powerpc-aix/hbf2gf Binary files differindex 0dc83d19a94..c7379dcb203 100755 --- a/Master/bin/powerpc-aix/hbf2gf +++ b/Master/bin/powerpc-aix/hbf2gf diff --git a/Master/bin/powerpc-aix/info b/Master/bin/powerpc-aix/info Binary files differdeleted file mode 100755 index 81a539f08b2..00000000000 --- a/Master/bin/powerpc-aix/info +++ /dev/null diff --git a/Master/bin/powerpc-aix/infokey b/Master/bin/powerpc-aix/infokey Binary files differdeleted file mode 100755 index 1f0ea4f4282..00000000000 --- a/Master/bin/powerpc-aix/infokey +++ /dev/null diff --git a/Master/bin/powerpc-aix/install-info b/Master/bin/powerpc-aix/install-info Binary files differdeleted file mode 100755 index b39a032b4bd..00000000000 --- a/Master/bin/powerpc-aix/install-info +++ /dev/null diff --git a/Master/bin/powerpc-aix/kpseaccess b/Master/bin/powerpc-aix/kpseaccess Binary files differindex c756af1dea9..e3cfd2243fa 100755 --- a/Master/bin/powerpc-aix/kpseaccess +++ b/Master/bin/powerpc-aix/kpseaccess diff --git a/Master/bin/powerpc-aix/kpsereadlink b/Master/bin/powerpc-aix/kpsereadlink Binary files differindex 8f49b7684cb..c059bb91a83 100755 --- a/Master/bin/powerpc-aix/kpsereadlink +++ b/Master/bin/powerpc-aix/kpsereadlink diff --git a/Master/bin/powerpc-aix/kpsestat b/Master/bin/powerpc-aix/kpsestat Binary files differindex 11672c8a6ef..b292fc94825 100755 --- a/Master/bin/powerpc-aix/kpsestat +++ b/Master/bin/powerpc-aix/kpsestat diff --git a/Master/bin/powerpc-aix/kpsewhich b/Master/bin/powerpc-aix/kpsewhich Binary files differindex f5606e0ba70..aed5915652b 100755 --- a/Master/bin/powerpc-aix/kpsewhich +++ b/Master/bin/powerpc-aix/kpsewhich diff --git a/Master/bin/powerpc-aix/lacheck b/Master/bin/powerpc-aix/lacheck Binary files differindex 15cd8c996b5..6310bab5c03 100755 --- a/Master/bin/powerpc-aix/lacheck +++ b/Master/bin/powerpc-aix/lacheck diff --git a/Master/bin/powerpc-aix/latex2man b/Master/bin/powerpc-aix/latex2man new file mode 120000 index 00000000000..66d79f878b7 --- /dev/null +++ b/Master/bin/powerpc-aix/latex2man @@ -0,0 +1 @@ +../../texmf-dist/scripts/latex2man/latex2man
\ No newline at end of file diff --git a/Master/bin/powerpc-aix/luatangle b/Master/bin/powerpc-aix/luatangle Binary files differnew file mode 100755 index 00000000000..2094d0477dc --- /dev/null +++ b/Master/bin/powerpc-aix/luatangle diff --git a/Master/bin/powerpc-aix/luatex b/Master/bin/powerpc-aix/luatex Binary files differindex 3ff66740a63..e8b4a65c6dd 100755 --- a/Master/bin/powerpc-aix/luatex +++ b/Master/bin/powerpc-aix/luatex diff --git a/Master/bin/powerpc-aix/mag b/Master/bin/powerpc-aix/mag Binary files differindex 3e564ece158..45a8d94b607 100755 --- a/Master/bin/powerpc-aix/mag +++ b/Master/bin/powerpc-aix/mag diff --git a/Master/bin/powerpc-aix/makeindex b/Master/bin/powerpc-aix/makeindex Binary files differindex 25adf32f1ca..0d5c5e4150b 100755 --- a/Master/bin/powerpc-aix/makeindex +++ b/Master/bin/powerpc-aix/makeindex diff --git a/Master/bin/powerpc-aix/makeinfo b/Master/bin/powerpc-aix/makeinfo Binary files differdeleted file mode 100755 index da956e89f06..00000000000 --- a/Master/bin/powerpc-aix/makeinfo +++ /dev/null diff --git a/Master/bin/powerpc-aix/makempx b/Master/bin/powerpc-aix/makempx Binary files differdeleted file mode 100755 index f2919212282..00000000000 --- a/Master/bin/powerpc-aix/makempx +++ /dev/null diff --git a/Master/bin/powerpc-aix/man b/Master/bin/powerpc-aix/man new file mode 120000 index 00000000000..9616d4ec099 --- /dev/null +++ b/Master/bin/powerpc-aix/man @@ -0,0 +1 @@ +../../texmf/doc/man
\ No newline at end of file diff --git a/Master/bin/powerpc-aix/mf b/Master/bin/powerpc-aix/mf Binary files differindex 367c58368b9..ed9f4a6dd6f 100755 --- a/Master/bin/powerpc-aix/mf +++ b/Master/bin/powerpc-aix/mf diff --git a/Master/bin/powerpc-aix/mf-nowin b/Master/bin/powerpc-aix/mf-nowin Binary files differindex 9d0efa7b25a..f8a0e87c12a 100755 --- a/Master/bin/powerpc-aix/mf-nowin +++ b/Master/bin/powerpc-aix/mf-nowin diff --git a/Master/bin/powerpc-aix/mft b/Master/bin/powerpc-aix/mft Binary files differindex bb59d8dfd32..cadd8a1c402 100755 --- a/Master/bin/powerpc-aix/mft +++ b/Master/bin/powerpc-aix/mft diff --git a/Master/bin/powerpc-aix/mmafm b/Master/bin/powerpc-aix/mmafm Binary files differindex 5411e799adf..9381d921c47 100755 --- a/Master/bin/powerpc-aix/mmafm +++ b/Master/bin/powerpc-aix/mmafm diff --git a/Master/bin/powerpc-aix/mmpfb b/Master/bin/powerpc-aix/mmpfb Binary files differindex 52306ae5406..711fe13fc33 100755 --- a/Master/bin/powerpc-aix/mmpfb +++ b/Master/bin/powerpc-aix/mmpfb diff --git a/Master/bin/powerpc-aix/mpost b/Master/bin/powerpc-aix/mpost Binary files differindex b7f18a7429d..e2dd86f113b 100755 --- a/Master/bin/powerpc-aix/mpost +++ b/Master/bin/powerpc-aix/mpost diff --git a/Master/bin/powerpc-aix/mpto b/Master/bin/powerpc-aix/mpto Binary files differdeleted file mode 100755 index 221d809e27c..00000000000 --- a/Master/bin/powerpc-aix/mpto +++ /dev/null diff --git a/Master/bin/powerpc-aix/musixflx b/Master/bin/powerpc-aix/musixflx Binary files differindex d46f9da496e..903b56932e9 100755 --- a/Master/bin/powerpc-aix/musixflx +++ b/Master/bin/powerpc-aix/musixflx diff --git a/Master/bin/powerpc-aix/newer b/Master/bin/powerpc-aix/newer Binary files differdeleted file mode 100755 index ebb7b86b6eb..00000000000 --- a/Master/bin/powerpc-aix/newer +++ /dev/null diff --git a/Master/bin/powerpc-aix/odvicopy b/Master/bin/powerpc-aix/odvicopy Binary files differindex a55cd3b8463..1d712f5d31c 100755 --- a/Master/bin/powerpc-aix/odvicopy +++ b/Master/bin/powerpc-aix/odvicopy diff --git a/Master/bin/powerpc-aix/odvips b/Master/bin/powerpc-aix/odvips deleted file mode 120000 index 2e853c89507..00000000000 --- a/Master/bin/powerpc-aix/odvips +++ /dev/null @@ -1 +0,0 @@ -dvips
\ No newline at end of file diff --git a/Master/bin/powerpc-aix/odvitype b/Master/bin/powerpc-aix/odvitype Binary files differindex ce12619c9f4..9edf1bf27df 100755 --- a/Master/bin/powerpc-aix/odvitype +++ b/Master/bin/powerpc-aix/odvitype diff --git a/Master/bin/powerpc-aix/omfonts b/Master/bin/powerpc-aix/omfonts Binary files differindex ec1be7330e2..e5eac6ba24f 100755 --- a/Master/bin/powerpc-aix/omfonts +++ b/Master/bin/powerpc-aix/omfonts diff --git a/Master/bin/powerpc-aix/otangle b/Master/bin/powerpc-aix/otangle Binary files differindex b2a32155199..093be6a5994 100755 --- a/Master/bin/powerpc-aix/otangle +++ b/Master/bin/powerpc-aix/otangle diff --git a/Master/bin/powerpc-aix/otfinfo b/Master/bin/powerpc-aix/otfinfo Binary files differindex 714deb1bd87..bcbfe5c3569 100755 --- a/Master/bin/powerpc-aix/otfinfo +++ b/Master/bin/powerpc-aix/otfinfo diff --git a/Master/bin/powerpc-aix/otftotfm b/Master/bin/powerpc-aix/otftotfm Binary files differindex e2ee05ac701..afab56c6d80 100755 --- a/Master/bin/powerpc-aix/otftotfm +++ b/Master/bin/powerpc-aix/otftotfm diff --git a/Master/bin/powerpc-aix/otp2ocp b/Master/bin/powerpc-aix/otp2ocp Binary files differindex 0c63523252a..0b170534afe 100755 --- a/Master/bin/powerpc-aix/otp2ocp +++ b/Master/bin/powerpc-aix/otp2ocp diff --git a/Master/bin/powerpc-aix/outocp b/Master/bin/powerpc-aix/outocp Binary files differindex 6efa17e1d8c..420f6c876b7 100755 --- a/Master/bin/powerpc-aix/outocp +++ b/Master/bin/powerpc-aix/outocp diff --git a/Master/bin/powerpc-aix/oxdvi b/Master/bin/powerpc-aix/oxdvi deleted file mode 120000 index cf7065c02ca..00000000000 --- a/Master/bin/powerpc-aix/oxdvi +++ /dev/null @@ -1 +0,0 @@ -xdvi
\ No newline at end of file diff --git a/Master/bin/powerpc-aix/patgen b/Master/bin/powerpc-aix/patgen Binary files differindex 801d96997be..8f2dfe12e95 100755 --- a/Master/bin/powerpc-aix/patgen +++ b/Master/bin/powerpc-aix/patgen diff --git a/Master/bin/powerpc-aix/pdfclose b/Master/bin/powerpc-aix/pdfclose Binary files differindex 2274a7627cf..587f7b78a88 100755 --- a/Master/bin/powerpc-aix/pdfclose +++ b/Master/bin/powerpc-aix/pdfclose diff --git a/Master/bin/powerpc-aix/pdfopen b/Master/bin/powerpc-aix/pdfopen Binary files differindex fb021690ca6..d754aa75664 100755 --- a/Master/bin/powerpc-aix/pdfopen +++ b/Master/bin/powerpc-aix/pdfopen diff --git a/Master/bin/powerpc-aix/pdftex b/Master/bin/powerpc-aix/pdftex Binary files differindex 068171b0ff6..1f1e65d2dee 100755 --- a/Master/bin/powerpc-aix/pdftex +++ b/Master/bin/powerpc-aix/pdftex diff --git a/Master/bin/powerpc-aix/pdftexi2dvi b/Master/bin/powerpc-aix/pdftexi2dvi deleted file mode 100755 index 17708e76579..00000000000 --- a/Master/bin/powerpc-aix/pdftexi2dvi +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# $Id: pdftexi2dvi,v 1.3 2007/07/05 15:22:26 karl Exp $ -# Written by Thomas Esser. Public domain. -# Execute texi2dvi --pdf. - -test -f /bin/ksh && test -z "$RUNNING_KSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; } -unset RUNNING_KSH - -test -f /bin/bsh && test -z "$RUNNING_BSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ - && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } -unset RUNNING_BSH - -# hack around a bug in zsh: -test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' - -texi2dvi --pdf ${1+"$@"} diff --git a/Master/bin/powerpc-aix/pdftosrc b/Master/bin/powerpc-aix/pdftosrc Binary files differindex d32dcf33862..53c9caad1eb 100755 --- a/Master/bin/powerpc-aix/pdftosrc +++ b/Master/bin/powerpc-aix/pdftosrc diff --git a/Master/bin/powerpc-aix/pfb2pfa b/Master/bin/powerpc-aix/pfb2pfa Binary files differindex 9e1cc3e3641..7afce1e5580 100755 --- a/Master/bin/powerpc-aix/pfb2pfa +++ b/Master/bin/powerpc-aix/pfb2pfa diff --git a/Master/bin/powerpc-aix/pk2bm b/Master/bin/powerpc-aix/pk2bm Binary files differindex 7afa6b54389..bfc493a36c6 100755 --- a/Master/bin/powerpc-aix/pk2bm +++ b/Master/bin/powerpc-aix/pk2bm diff --git a/Master/bin/powerpc-aix/pkfix-helper b/Master/bin/powerpc-aix/pkfix-helper new file mode 120000 index 00000000000..44ef5278bd4 --- /dev/null +++ b/Master/bin/powerpc-aix/pkfix-helper @@ -0,0 +1 @@ +../../texmf-dist/scripts/pkfix-helper/pkfix-helper
\ No newline at end of file diff --git a/Master/bin/powerpc-aix/pktogf b/Master/bin/powerpc-aix/pktogf Binary files differindex 22da92c151c..40b07b05116 100755 --- a/Master/bin/powerpc-aix/pktogf +++ b/Master/bin/powerpc-aix/pktogf diff --git a/Master/bin/powerpc-aix/pktype b/Master/bin/powerpc-aix/pktype Binary files differindex 6df7f8c204f..61645415ec0 100755 --- a/Master/bin/powerpc-aix/pktype +++ b/Master/bin/powerpc-aix/pktype diff --git a/Master/bin/powerpc-aix/pltotf b/Master/bin/powerpc-aix/pltotf Binary files differindex a7507d3469e..f19c9081a12 100755 --- a/Master/bin/powerpc-aix/pltotf +++ b/Master/bin/powerpc-aix/pltotf diff --git a/Master/bin/powerpc-aix/pooltype b/Master/bin/powerpc-aix/pooltype Binary files differindex 93e49deea25..09f0818bd66 100755 --- a/Master/bin/powerpc-aix/pooltype +++ b/Master/bin/powerpc-aix/pooltype diff --git a/Master/bin/powerpc-aix/ps2eps b/Master/bin/powerpc-aix/ps2eps new file mode 100755 index 00000000000..7092cbb0007 --- /dev/null +++ b/Master/bin/powerpc-aix/ps2eps @@ -0,0 +1,935 @@ +#!/usr/bin/env perl +# The expression in the previous line replaces the unix specific line +# {#!/usr/bin/perl}. +# ps2eps - convert PostScript to EPS (Encapsulated PostScript) files +# ------------------------------------------------------------------- +# $Id: ps2eps,v 1.64 2007/01/24 12:32:59 bless Exp $ +# ------------------------------------------------------- +# (C)opyright 1999-2007 Roland Bless +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Author: Roland Bless +# Send bug reports to roland <at> bless.de +# ------------------------------------------------------------------- +# Additional filtering is performed when Windows generated PostScript files +# are processed. Some instructions will otherwise lead to bad output +# if EPS-file gets embedded into other PostScript files. +# +# Requirements: +# + perl +# + gs (ghostscript supporting pbm output) +# + bbox (a little C program [ANSI-C - should work on every platform] +# for calculation of the actual BoundingBox) + +use POSIX; + +#use warnings; + +#use Getopt package +use Getopt::Long; +Getopt::Long::Configure("no_ignore_case"); + +$prgname= "ps2eps"; + +if (! -d "/usr/bin") +{ # we assume that we are running under native windows + $ghostscriptname = "gswin32c"; + $NULLDEV = "nul"; +} +else +{ # Unix or cygwin + $ghostscriptname = "gs"; + $NULLDEV = "/dev/null 2>&1"; +} + +$bboxver=`bbox >$NULLDEV -V`; +$bboxname= ($?== -1) ? "" : "bbox"; +$version= '$Id: ps2eps,v 1.64 2007/01/24 12:32:59 bless Exp $'; #' +$insertPScode= 1; # Insert surrounding Postscript code +$infhandle = STDIN; # Standard input is the default input file +$outfhandle = STDOUT; # Standard output is default output if STDIN is input +$infname= '-'; +$outfname= '-'; +$forceoverwrite=0; # do not overwrite existing files +$ignoreBB= 0; # ignore existing Bounding Box comment +$removeDSC= 1; # remove Adobe document structure comments +$removeADO= 1; # remove Adobe printer Driver console Output [Page: ...] +$ignoreEOFDSC= 0; # ignore %%EOF DSC hint +$removePreview= 0; # remove preview +$quiet= 0; # write progress to stdout +$resolution= 144; # resolution for bounding box calculation is 2x72 dpi +$trytofixps= 1; # try to fix postscript code +$forcefixps= 0; # fix postscript code unconditionally if eq 1 +$filterorientation= 1;# filter Orientation line +$looseBB=''; # default: tight bounding box +$clip=0; # do not clip +$warnings=0; # do not print warnings concerning postscript sanity +$debuggs=0; # no debugging of ghostscript call, turn this on if you want to see the gs call +$inch=2.54; # one inch is 2.54cm +$fullcolors= 1; # use ppm format (24-bit full color) +$trailerseen= 0; # Trailer comment seen? +$PSversion="2.0"; # default Postscript Version +$PSDSCversion="2.0"; # default Postscript DSC Version +$translate_x= 0; # translate by x postscript points +$translate_y= 0; # translate by y postscript points + +$defaultext = '(ps|prn)'; # default extension +$defaultoutext = '.eps'; # default output extension +$envname_size = 'PS2EPS_SIZE'; +$envname_gsbbox = 'PS2EPS_GSBBOX'; + +$gpar=""; +$known_papersizes="11x17|ledger|legal|letter(small)?|arch[A-E]|a([0-9]|10)|isob[0-6]|b[0-5]|c[0-6]|jisb[0-6]|fls(a|e)|halfletter"; +$papersize_help="11x17,ledger,legal,letter,lettersmall,archA,archB,archC,archD,archE\ +a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,isob0,isob1,isob2,isob3,isob4,isob5,isob6,\ +b0,b1,b2,b3,b4,b5,c0,c1,c2,c3,c4,c5,c6,\ +jisb0,jisb1,jisb2,jisb3,jisb4,jisb5,jisb6,flsa,flse,halfletter\n"; +$trigger= 0; +$notsane= 0; +$dummy=""; + +@ver= split(/ /,$version); + +# filename for temporary files +if ($^O =~ /MSWin32/i or $^O =~ /cygwin/i) +{ + # it is less trouble to use the current directory if working on + # cygwin and nevertheless using gswin32c. + $tmpfname= "$prgname.$$"; + $win=1; +} +elsif (defined($ENV{'TMP'})) +{ + $tmpdir= $ENV{'TMP'}; + $filesep= ($tmpdir =~ /^?\:\\/) ? '\\' : '/'; + if ($tmpdir =~ /$filesep$/) + { $tmpfname= $tmpdir . "$prgname.$$"; } + else + { $tmpfname= $tmpdir . "$filesep$prgname.$$"; } + $win=1; +} +else #assume we're on a UNIXBOX +{ + $tmpfname= "/tmp/" . "$prgname.$$"; + $win=0; +} + + +$licensetxt= "\ + This program is free software; you can redistribute it and/or modify\ + it under the terms of the GNU General Public License as published by\ + the Free Software Foundation; either version 2 of the License, or\ + (at your option) any later version.\ +\ + This program is distributed in the hope that it will be useful,\ + but WITHOUT ANY WARRANTY; without even the implied warranty of\ + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\ + GNU General Public License for more details.\ +\ + You should have received a copy of the GNU General Public License\ + along with this program; if not, write to the Free Software\ + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n"; + +@prgidtxt= ( "$prgname - convert PostScript to EPS (Encapsulated PostScript) files\n", + "(C)opyright 1998-2007 Roland Bless\n\n" ); + +@helptxt= ("Version: $ver[2]\n", + "Operation:\n", + " Without any argument, $prgname reads from standard input\n", + " and writes to standard output.\n", + " If filenames are given as arguments they are processed\n", + " one by one and output files are written to filenames\n", + " with extension '$defaultoutext'. If input filenames have the extension\n", + " '.ps' or '.prn', this extension is replaced with '$defaultoutext'.\n", + " In all other cases '$defaultoutext' is appended to the input filename.\n", + " Please note that PostScript files for input should contain\n", + " only one single page.\n\n", + " If BoundingBox in output seems to be wrong, please try options --size or --ignoreBB.\n\n" ); + +@usagetxt= ("Syntax:\n", + " $prgname [-f] [-q] [-N] [-O] [-n] [-P] [-c] [-C] [-m] [-B] [-E] [-s <pagedim>] [-R +|-|^] [-t <x,y>] [-l] [-g] [-d] [-H] [-h|--help] [-g] [-W] [-L] [-V|--version] [--] [psfile1] [psfile2] [...]\n", + "Options:\n", + " -f, --force force overwriting existing files\n", + " -q, --quiet quiet operation (no output while processing files)\n", + " -N, --noinsert do not insert any postscript code\n", + " -O, --preserveorientation do not filter Orientation: header comment\n", + " -n, --nofix do not try to fix postscript code\n", + " -P, --removepreview remove preview image (smaller file, but no preview)\n", + " -F, --fixps fix postscript code unconditionally\n", + " -c, --comments preserve document structure comments\n", + " -C, --clip insert postscript code for clipping\n", + " -m, --mono use black/white bitmap as base for calculation\n", + " -s, --size=<pagedim> page size (a0-a10,letter,...) or in format XxY[cm|in] (default:cm), where X and Y are numbers\n", + " use --size=list to list pre-defined page sizes\n", + " -R, --rotate=<direction> rotate resulting EPS. <direction>: +=+90 (clockw.),-=-90 (counter-clockw.) ^=180 degrees\n", + " -t, --translate specify x,y offset (may be negative) in postscript points (1/72 dpi)\n", + " -r, --resolution specify dpi resolution to render with ghostscript (default 144)", + " -l, --loose expand the original bounding box by one point in each direction\n", + " -B, --ignoreBB do not use existing bounding box as page size for rendering\n", + " -E, --ignoreEOF do not use %%EOF as hint for end of file\n", + " -g, --gsbbox use internal bbox device of ghostscript\n", + " -H, --no-hires do not use a HiResBoundingBox\n", + " -h, --help help information\n", + " -L, --license show licensing information\n", + " -V, --version show version information\n", + " -d, --debuggs show ghostscript call\n", + " -W, --warnings show warnings about sanity of generated eps file\n", + " -- all following arguments are treated as files\n", + " (allows filenames starting with -)\n", + "\n", + "Arguments:\n", + " One or more names of PostScript files for input\n"); + +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +## -- argument checking -- +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +#environment variable for papersize +if (defined($ENV{"$envname_size"})) +{ + $opt_s= $ENV{"$envname_size"}; +} +else +{ + $opt_s = ''; # for s-option +} + +if (defined($ENV{"$envname_gsbbox"})) +{ + $bboxname=""; +} + +$opt_t = ''; # for t-option +$opt_R = ''; # for R-option +$opt_r = ''; # for r-option +$stopnow = 0; +die "Wrong option(s), please check usage with $prgname --help\n" unless +GetOptions('f|force' => \$forceoverwrite, + 'q|quiet' => \$quiet, + 'm|mono' => sub { $fullcolors = 0 }, + 'n|nofix' => sub { $trytofixps = 0 }, + 'F|fixps' => \$forcefixps, + 'N|noinsert' => sub { $insertPScode = 0 }, + 'O|preserveorientation' => sub { $filterorientation= 0 }, + 'P|removepreview' => \$removePreview, + 'c|comments' => sub { $removeDSC = 0 }, + 'C|clip' => \$clip, + 'l|loose' => sub { $looseBB = '-l' }, + 'B|ignoreBB' => \$ignoreBB, + 'E|ignoreEOF'=> \$ignoreEOFDSC, + 's|size=s' => \$opt_s, + 't|translate=s' => \$opt_t, + 'r|resolution=s' => \$opt_r, + 'R|rotate=s' => \$opt_R, + 'g|gsbbox' => sub { $bboxname=""; }, + 'H|nohires' => \$nohires, + 'h|help' => sub { $stopnow = 1; print @prgidtxt,@helptxt,@usagetxt,"\nAuthor: Roland Bless (roland\@bless.de)\n\n"; }, + 'L|license' => sub { $stopnow = 1; print @prgidtxt,$licensetxt,"\nAuthor: Roland Bless (roland\@bless.de)\n\n"; }, + 'd|debuggs' => \$debuggs, + 'W|warnings' => \$warnings, + 'V|version' => sub { $stopnow = 1; print @prgidtxt,"Version: $ver[2]\n"; });exit if ($stopnow); + +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +## -- wildcard processing -- +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +## internal wildcard processing for current directory, +## only used for non UNIX-based OSs (which may lack shell wildcard expansion) +@filenames = (); +foreach $object (@ARGV) { + if ($win && $object =~ m/\*/o) # asterisk is present in filename + { + $wildcard = $object; + $wildcard =~ s/\./\\\./g; # replace . in pattern with \. + $wildcard =~ s/\*/\(\.\*\)/g; # replace * in pattern with (.*) + opendir(DIR,'.') || die 'Unable to open current directory, stopped'; # open current directory + print STDERR $wildcard; + @fid = grep { /$wildcard(\.$defaultext)?/i } readdir(DIR); + foreach (@fid) { push @filenames, $_; } + closedir DIR; + } + else { push @filenames, $object; } +} # end foreach +$filenames[0]= '-' if (scalar(@filenames) == 0); # no file arguments, use STDIN as input + +print STDERR "Input files: @filenames\n" if (!$quiet); + +if ($opt_r ne '') +{ + $resolution=$opt_r; +} + +# papersize stuff +if ($opt_s ne '') +{ + # if explicit size is given, ignore existing BoundingBox always + $ignoreBB = 1; + $pagedimension = $opt_s; + if ($opt_s eq "list") + { + print STDERR "Available paper sizes: $papersize_help"; + exit 0; + } + + #explicit format XxY[cm|in] + if ($pagedimension =~ /(\d*\.?\d+)x(\d*\.?\d+)/) + { + ($x_dim, $dummy, $y_dim, $unit)= split(/(x|cm|in)/,$pagedimension); + if ( $x_dim !~ /^\d*\.?\d+$/ ) + { die "$x_dim in $arg is not a valid number, stopped"; } + if ( $y_dim !~ /^\d*\.?\d+$/ ) + { die "$y_dim in $arg is not a valid number, stopped"; } + + #print STDERR "xdim: $x_dim ydim: $y_dim unit:$unit\n" ; + if (!defined($unit) ) + { + $unit='cm'; + $opt_s=$opt_s . $unit; + } + if ( $unit ne 'in' ) # assume centimeters + { # calculate dimension in pixels (remember: resolution is in dpi) + $xpixels= int(($x_dim * $resolution) / $inch)+1; + $ypixels= int(($y_dim * $resolution) / $inch)+1; + $gpar= "-g${xpixels}x${ypixels}"; + } + else + { + $xpixels= int($x_dim * $resolution)+1; + $ypixels= int($y_dim * $resolution)+1; + $gpar= "-g${xpixels}x${ypixels}"; + } + } #endif XxY in opt_s + else + { + if ($opt_s =~ /$known_papersizes/) + { + $gpar="-sPAPERSIZE=$opt_s"; + } + else + { + print STDERR "Error: Unknown paper size: $opt_s\n Acceptable papersizes are:$papersize_help\n"; + exit 1; + } + } +} + +#translate option +if ($opt_t ne '') +{ + ($translate_x,$translate_y)= split(/\,/,$opt_t); +} + +#rotate +$rotright='-90 rotate'; +$rotleft='90 rotate'; +$rotupsidedown='180 rotate'; +$rotate=''; +if ($opt_R ne '') +{ + if ($opt_R eq '+') { $rotate=$rotright; } + elsif ($opt_R eq '-') { $rotate=$rotleft; } + elsif ($opt_R eq '^') { $rotate=$rotupsidedown; } + else { die "Wrong parameter for option -R: Valid are only +,-,^\n"; }; +} + +$device= $fullcolors ? "ppmraw" : "pbmraw"; + +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +## -- iterate over different input files -- +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +PROCESSFILE: +while ($infname= (shift @filenames)) +{ + # reset filter definitions for each file + undef $linefilter; + undef $rangefilter_begin; + undef $rangefilter_end; + $fixthisps= $trytofixps; + $fixmsgprinted= 0; + + if (!$quiet) { print STDERR "Processing: $infname\n"; } + unless (open($infhandle,"<$infname")) + { # skip over this file + print STDERR "$prgname: Can't open $infname: $!\n"; + next PROCESSFILE; + } + + # buffer input from stdin into temporary file, because it has to be read twice + # one time for ghostscript processing, the second time for generating output + if ($infname eq '-') # input is stdin + { + $tmpfhandle=''; + open($tmpfhandle,">$tmpfname") or + die "Cannot open temporary file $tmpfname for writing: $!\n"; + } + else # input is not stdin + { + undef $tmpfhandle; + #if filename ends with $defaultext usually .ps or .prn, replace the extension with $defaultoutext + if ($infname =~ /\.$defaultext$/i) + { + $outfname= $infname; $outfname =~ s/\.$defaultext$/$defaultoutext/i; + } + else # otherwise simply append the extension $defaultoutext + { + $outfname= $infname . "$defaultoutext"; + } + if (!$forceoverwrite and -s "$outfname") + { + die "$prgname: Sorry, file named $outfname already exists,", + " will not overwrite it.\n", + " You will have to use the -f option, delete it or rename it", + " before running $prgname again.\n"; + } + else + { + open($outfhandle,">$outfname") or die "Can't open file $outfname for writing: $!\n"; + } + } #end else input is not stdin + + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + ## -- process input file -- + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + $linefilter= '^$'; #'# filter empty lines by default + while (<$infhandle>) + { + # get postscript and DSC version + if (/%!PS-Adobe-(\S+).*EPSF-(\S+)/) + { + $PSversion=$1; + $PSDSCversion=$2; + if (! ($PSversion =~ /\d+\.\d+/)) + { + $PSDSCversion="2.0"; + } + if (! ($PSDSCversion =~ /\d+\.\d+/)) + { + $PSDSCversion="2.0"; + } + } + + # check for existing BoundingBox parameters + if ( /^%%\s*BoundingBox:\s*(.*)/ && !defined($eBBllx) ) + { + $BBarg= $1; + # accept even negative and fractional BBs + if ( $BBarg =~ /(\-?\d+\.?\d*\s+){3,}\d+/ ) # ignore %% BoundingBox: (atend) comments + { + ($eBBllx,$eBBlly,$eBBurx,$eBBury,$dummy)= split /\s/,$BBarg; + #print STDERR "Existing BB: $eBBllx,$eBBlly,$eBBurx,$eBBury\n"; + if (int($eBBllx) < 0) { $translate_x= - int($eBBllx-0.5); } + if (int($eBBlly) < 0) { $translate_y= - int($eBBlly-0.5); } + + $xpixels= int((($eBBurx-$eBBllx) * $resolution)/72)+1; + $ypixels= int((($eBBury-$eBBlly) * $resolution)/72)+1; + if (!$ignoreBB) + { + $gpar= "-g${xpixels}x${ypixels}"; + # check for meaningful values + if (($xpixels <= 1) || ($ypixels <= 1)) + { + $gpar=""; undef $eBBllx; undef $eBBlly; + } + else + { + if (!$quiet) + { + print STDERR "Rendering with existing $_"; + if (int($eBBllx) < 0 || int($eBBlly) < 0) + { + print STDERR "WARNING: existing Bounding Box shows negative values - shifting\n"; + } + } + } + } #endif !$ignoreBB + } #endif $BBarg =~ + } + + + if ($fixthisps) # try to fix bad postscript code + { + # check for Windows 3.x output + if ( /^Win.*Dict/ ) + { + if (!$quiet && !$fixmsgprinted) + { print STDERR "Windows 3.5 generated Postscript file detected, fixing\n"; } + $linefilter= '^(EJ|RS)'; + $rangefilter_begin= '^statusdict'; + $rangefilter_end= 'cvx\ settransfer$'; #' + $fixmsgprinted= 1; # stop printing message + } + else + { + if ( /^%%Creator:\s*Wind.U\s*Xprinter/ ) + { + if (!$quiet && !$fixmsgprinted) + { print STDERR "Star/OpenOffice generated Postscript file detected, fixing\n"; } + $linefilter= '^rs'; + $fixmsgprinted= 1; # stop printing message + } + else + { + if ( $forcefixps || + /^\/NTPS/ || + /Creator:\s*(AdobePS|Pscript|.*Windows)/i ) #check for NT generated output + { + if (!$quiet && !$fixmsgprinted) + { + if ($forcefixps) + { + print STDERR "Postscript filtering requested, fixing\n"; + } + else + { + print STDERR "Windows generated Postscript file detected, fixing\n"; + } + } + $rangefilter_begin= '^((\[\{)|(featurebegin\{))$'; #' + $rangefilter_end= '^(\} stopped cleartomark|\}featurecleanup)'; + $exclude_rangefilter_begin= '^(?i)%%BeginNonPPDFeature'; #' + $exclude_rangefilter_end= '^(?i)%%EndNonPPDFeature'; + #$triggered_rangefilter_begin= ''; #' + #$triggered_rangefilter_end= ''; #' + $fixsearchpat='(^|\s)(initmatrix|initclip|initgraphics)(\s|$)'; + $fixreplacepat=' '; + $fixmsgprinted= 1; # stop printing message + } # end if NTPS + } #end else + } + } #end if trytofixps + + if (defined($tmpfhandle)) + { + print $tmpfhandle $_ or die "$prgname: Failure during writing to temporary file $tmpfname"; + } + + if (/^%%EOF\s*$/) + { + $totalEOFDSC++ + } + } #end while <$infhandle> + + if (defined($tmpfhandle)) + { + close($tmpfhandle); + } + else + { + $tmpfhandle= $infhandle; + $tmpfname= $infname; + } + + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + ## -- calculate the bounding box -- + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + if ($translate_x!=0 || $translate_y!=0) + { + $translation="$translate_x $translate_y translate"; + $translatecmd="-c $translation"; + } + else + { + $translation=""; + $translatecmd=""; + } + + if (!$quiet) + { + print STDERR "Calculating Bounding Box..."; + if ($opt_s) + { + print STDERR "using page size $opt_s..."; + } + } + + $rotatecmd=''; + if ($rotate ne '') + { + $rotatecmd="-c \"$rotate\"" + } + if ($bboxname ne '') + { + $cmdline="$ghostscriptname -dSAFER -dNOPAUSE -q $gpar -r$resolution -sDEVICE=$device -sOutputFile=- $translatecmd -f $tmpfname -c showpage -c quit | $bboxname -r $resolution"; + } + else + { + if (!$quiet) { + print STDERR "...using bbox device of $ghostscriptname..."; + } + $cmdline = "$ghostscriptname -dSAFER -dBATCH -dNOPAUSE -q $gpar -r$resolution -sDEVICE=bbox -sOutputFile=- -c \"/setpagedevice {pop} def\" $translatecmd -f $tmpfname -c quit 2>&1"; + } + + if ($debuggs) { print STDERR "\nCalling: $cmdline\n"; } + + # actual ghostscript call + $boundingbox=`$cmdline`; + if ($debuggs) { print STDERR "Call result: $boundingbox"; } + + # check result of gs call + if ($boundingbox !~ /^%%BoundingBox/m) + { + print STDERR "Error: Could not determine bounding box!\n", + "I suppose $ghostscriptname had some trouble interpreting the postscript-file\n"; + } + + $boundingbox =~ /^%%HiResBoundingBox:\s*(.*)/m; + if (defined($1)) # HiResBoundingBox given + { + ($hcBBllx,$hcBBlly,$hcBBurx,$hcBBury,$dummy)= split(/\s/,$1); + $hiresboundingbox="%%HiResBoundingBox: $hcBBllx $hcBBlly $hcBBurx $hcBBury\n"; + $cBBllx = floor($hcBBllx); + $cBBlly = floor($hcBBlly); + $cBBurx = ceil($hcBBurx); + $cBBury = ceil($hcBBury); + } + else + { #use normal BoundingBox + $boundingbox =~ /^%%.*BoundingBox:\s*(.*)/; + ($cBBllx,$cBBlly,$cBBurx,$cBBury,$dummy)= split(/\s/,$1); + } + # if loose BB should be performed by ps2eps + # apply changes to resulting bounding box if needed + if ($looseBB ne '') + { + if ($cBBllx > 0) { $cBBllx--; } + if ($cBBlly > 0) { $cBBlly--; } + $cBBurx++; $cBBury++; + } + # extend clipping box by 1 point + if ($clip) + { + if ($cBBllx > 0) { $cBBllx--; } + if ($cBBlly > 0) { $cBBlly--; } + $cBBurx++; $cBBury++; + } + if ($cBBllx < 0 || $cBBlly < 0) + { + if (!$quiet) + { + print STDERR "WARNING! Your drawing had a negative Bounding Box which is deprecated and may cause problems!. I'll shift it.\n"; + } + $translate_x= -int($cBBllx); + $translate_y= -int($cBBlly); + $cBBllx=0; + $cBBurx= $cBBurx + $translate_x; + $cBBlly=0; + $cBBury= $cBBury + $translate_y; + + $hcBBurx= $hcBBurx + $hcBBllx; + $hcBBury= $hcBBury + $hcBBlly; + $hcBBllx= 0; + $hcBBlly= 0; + + $hiresboundingbox="%%HiResBoundingBox: $hcBBllx $hcBBlly $hcBBurx $hcBBury\n"; + + $translation="$translate_x $translate_y translate"; + $translatecmd="-c \'$translation\'"; + } + $boundingbox = "%%BoundingBox: $cBBllx $cBBlly $cBBurx $cBBury\n"; + + if (!$quiet) { print STDERR "ready. $boundingbox" }; + + $before_startps= 1; + $inserted_prolog= 0; + $prolog_passed= 0; + + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + ## -- Create output file -- + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + if (!$quiet) { print STDERR "Creating output file $outfname..."; } + + open($tmpfhandle,"<$tmpfname") or die "Cannot open file $tmpfname for reading"; + CREATEOUTPUT: + while (<$tmpfhandle>) + { + # check whether we are in a binary section + + $binarysection=(/^(%%BeginBinary)|(beginimage)\r?\n?$/ ... /^(%%EndBinary)|^(endimage)/) || + (/^(doNimage)|(doclutimage)\r?\n?$/ ... /(^|~> )Z\r?\n?$/) || # Pscript_Win_Dib_L2 5.0 0 + (/^beginjpeg / ... /~> endjpeg\r?\n?$/) || # Pscript_Win_Dib_L2 5.0 0 + (/^pdfIm/ ... /^%-EOD-/); + + if ( !$binarysection ) + { + s/\r?\n?$//; # remove CR and/or LF at end of line if not in binary section + } + + # check where magic Postscript header starts - skip leading binary stuff, e.g., HP PCL/PJL code + if ($before_startps) + { + if ( /%!/ ) # This is usually the smallest magic sequence + { # Note: Adobe Photoshop generated a binary heading, so ^ is not applicable + # %! may be part of a binary sequence, but then control characters follow + # so skip %! if non alphanumeric characters follow + if ( ! /%!.*[^\w]{2,}/ ) + { + # some heading without two control characters found + $before_startps= 0; + if (! /%!PS-Adobe.*/i) # some strange programs use other magics + { + print STDERR "** Warning **: Weird heading line -- ",$_," -- "; + } + } + } + next CREATEOUTPUT; + } + else # we are hopefully in regular postscript code now + { + # count %%EOFs as we want to know when we got the last EOF + if ( /^%%EOF\s*$/ ) + { + $seenEOF++; + } + + # We should insert our own prologue including the newly calculated BoundingBox + if (! $inserted_prolog) + { + print $outfhandle "%!PS-Adobe-$PSversion EPSF-$PSDSCversion\n"; + # check if we need to rotate + $transrotcmd=''; + if ($rotatecmd) + { + if ($rotate eq $rotright) + { + $transrotcmd="-$cBBlly $cBBurx translate"; + $boundingbox='%%BoundingBox: 0 0 ' . ($cBBury-$cBBlly) . ' ' . ($cBBurx-$cBBllx) . "\n"; + if ($hiresboundingbox ne "") + { + $hiresboundingbox='%%HiResBoundingBox: 0 0 ' . ($hcBBury-$hcBBlly) . ' ' . ($hcBBurx-$hcBBllx) . "\n"; + } + + } + elsif ($rotate eq $rotleft) + { + $transrotcmd="$cBBury -$cBBllx translate"; + $boundingbox='%%BoundingBox: 0 0 ' . ($cBBury-$cBBlly) . ' ' . ($cBBurx-$cBBllx) . "\n"; + if ($hiresboundingbox ne "") + { + $hiresboundingbox= '%%HiResBoundingBox: 0 0 ' . ($hcBBury-$hcBBlly) . ' ' . ($hcBBurx-$hcBBllx) . "\n"; + } + } + elsif ($rotate eq $rotupsidedown) + { + $transrotcmd="$cBBurx $cBBury translate"; + $boundingbox='%%BoundingBox: 0 0 ' . ($cBBurx-$cBBllx) . ' ' . ($cBBury-$cBBlly) . "\n"; + if ($hiresboundingbox ne "") + { + $hiresboundingbox='%%HiResBoundingBox: 0 0 ' . ($hcBBurx-$hcBBllx) . ' ' . ($hcBBury-$hcBBlly) . "\n"; + } + } + } + print $outfhandle $boundingbox; + if (!defined($hiresboundingbox)) + { + $nohires=1; + } + if (defined($hiresboundingbox) && !defined($nohires)) { print $outfhandle $hiresboundingbox; } + $inserted_prolog= 1; + redo CREATEOUTPUT; + } + else # already inserted_prolog + { + if (! $prolog_passed) + { + #ignore the following lines in the prologue + if ( /^%%(HiRes)?BoundingBox/ || + /^%%Pages/ || + /^%%BeginProlog/ || + /^%%EndProlog/ || + ($filterorientation && /^%%Orientation/) || + ($removeDSC && /^%%.*: \(atend\)/) || + ($removePreview && (/^%%BeginPreview/ ... /^%%EndPreview/)) ) + { + next CREATEOUTPUT; + } + else + { + if ( /^[^%].*/ || + /^%%EndComments/ ) # line is not a comment + { + #output postscript code for proper EPS file + if ($insertPScode) + { + print $outfhandle "%%EndComments\n", + "% EPSF created by ps2eps $ver[2]\n", + "%%BeginProlog\n"; + } + # Insert own postscript code for clipping + if ($clip) + { + if (!defined($nohires)) + { + printf $outfhandle "newpath %f %f moveto %f %f lineto %f %f lineto %f %f lineto closepath clip\n",$hcBBllx-0.1,$hcBBlly-0.1,$hcBBurx+0.1,$hcBBlly-0.1,$hcBBurx+0.1,$hcBBury+0.1,$hcBBllx-0.1,$hcBBury+0.1; + } + else + { + printf $outfhandle "newpath %d %d moveto %d %d lineto %d %d lineto %d %d lineto closepath clip\n",$cBBllx,$cBBlly,$cBBurx,$cBBlly,$cBBurx,$cBBury,$cBBllx,$cBBury; + } + } #endif clip + + if ($rotate ne '') + { + print $outfhandle "$transrotcmd\n"; + print $outfhandle "$rotate\n"; + } + if ($translation ne '') + { + print $outfhandle "$translation\n"; + } + + #insert surrounding postscript code + if ($insertPScode) + { + print $outfhandle "save\n", + "countdictstack\n", + "mark\n", + "newpath\n", + "/showpage {} def\n", + "/setpagedevice {pop} def\n", + "%%EndProlog\n", + "%%Page 1 1\n"; + } + $prolog_passed= 1; + if (/^%%EndComments/) { next CREATEOUTPUT; } + } #endif line is not a comment + } #end else + } #endif (we are in the prologue section) + else #we are in the main part of postscript file + { + #end of postscript file reached? + #Usually the DSC %%EOF signifies the end + if ( eof($tmpfhandle) || + ($ignoreEOFDSC == 0 && /^%%EOF\s*$/ && $seenEOF == $totalEOFDSC) + || ( $trailerseen && /^II\*\000.*/ ) + ) + { + #do not forget to print last line if not terminated by LF + if ( eof($tmpfhandle) && !/^$/ && !/^%%EOF\s*$/ ) # do not insert %%EOF twice + { + print $outfhandle $_,"\n"; + } + #add appropriate trailer + if ($insertPScode) + { + print $outfhandle "%%Trailer\n", + "cleartomark\n", + "countdictstack\n", + "exch sub { end } repeat\n", + "restore\n", + "%%EOF\n"; + } + last CREATEOUTPUT; + } # stop output + + # Trailer comment seen? + if ( /^%%Trailer\s*$/ ) + { + $trailerseen=1; + } + else + { + if (!/^\s*$/) #non empty lines follow + { + $trailerseen=0; + } + } + + # check for trigger + if (defined($triggerstring) && /^$triggerstring$/) + { + $trigger= 1; + }; + + # remove complete lines if one of the expression matches + if ( !$binarysection # only when not in binary section + && + ( + ($removePreview && (/^%%BeginPreview/ ... /^%%EndPreview/)) + || # no preview + (defined($rangefilter_begin) && + (/$rangefilter_begin/ ... /$rangefilter_end/) && + (!(/$exclude_rangefilter_begin/ ... /$exclude_rangefilter_end/)) + ) + || + (defined($triggered_rangefilter_begin) && defined($triggered_rangefilter_end) && + $trigger && + (/$triggered_rangefilter_begin/ ... /$triggered_rangefilter_end/) + ) + || + /$linefilter/ # lines by linefilter + || + ($removeDSC && (/^%( |!)(\w )+/ || /^%%([A-Za-z]+\s)/)) # any type of structured comment + || + ($removeADO && + (/^statusdict begin.*ProductName.*print product print.*flush end\r?\n?$/ || + /^\(%%\[\s*(Page:.*|LastPage)\s*\]%%\)\s*=\s*\w*\s*\r?\n?/ )) + || + /^$/ # empty lines + ) + ) + { + next CREATEOUTPUT; + } + + # replacement + if ( defined($fixsearchpat) ) + { + #if (/$fixsearchpat/) { print STDERR "**filter** before:",$_,"\n"; } + #if (s/$fixsearchpat/$fixreplacepat/) { print STDERR "**filter** after:",$_,"\n";} + s/$fixsearchpat/$fixreplacepat/; + } + + # sanity check for potential dangerous commands + if ( /(^|\s)(clear|erasepage|initmatrix|initclip|initgraphics|startjob|cleardictstack|setmatrix|setpagedevice|copypage|grestoreall|exitserver|quit)(\s|$)/ ) + { + $notsane= 1; + #print STDERR "Warning: dangerous command in line: ",$_,"\n"; + } + } # end else (this is main part) + + # Output the postscript line to result file + print $outfhandle $_; + + if (!$binarysection) + { + print $outfhandle "\n"; # terminate line with LF + } + } # end else prolog_passed + } # end else inserted_prolog + } # end while CREATEOUTPUT + + close($tmpfhandle); + + if ($tmpfname ne $infname) { unlink "$tmpfname"; } #remove temporary file + + close ($outfhandle); + + # print warning if magic sequence not found + if ( $before_startps ) + { + print STDERR "\n ** Error!! **: could not identify begin of postscript code in file $infname, please check header line!\n First line should start with %!. No output generated.\n"; + } + + if (!$quiet) { print STDERR "ready.\n"; } + if ($warnings and $notsane and !$quiet) + { + print STDERR "** Warning **: EPS-output for $infname is not sane, at least one\n", + "of the following commands was still present:\n", + "clear erasepage initmatrix initclip initgraphics startjob\n", + "cleardictstack setmatrix setpagedevice copypage grestoreall\n", + "exitserver quit\n"; + } +} #end while PROCESSFILE + +# ---- end of perl-script ------- diff --git a/Master/bin/powerpc-aix/ps2pk b/Master/bin/powerpc-aix/ps2pk Binary files differindex 4832328212d..fbc48e7f9a6 100755 --- a/Master/bin/powerpc-aix/ps2pk +++ b/Master/bin/powerpc-aix/ps2pk diff --git a/Master/bin/powerpc-aix/psbook b/Master/bin/powerpc-aix/psbook Binary files differindex de831aa5273..7c639aac4be 100755 --- a/Master/bin/powerpc-aix/psbook +++ b/Master/bin/powerpc-aix/psbook diff --git a/Master/bin/powerpc-aix/psnup b/Master/bin/powerpc-aix/psnup Binary files differindex 3b7dbd7592e..b34fd745551 100755 --- a/Master/bin/powerpc-aix/psnup +++ b/Master/bin/powerpc-aix/psnup diff --git a/Master/bin/powerpc-aix/psresize b/Master/bin/powerpc-aix/psresize Binary files differindex 3e7588fb71e..a2c0f815431 100755 --- a/Master/bin/powerpc-aix/psresize +++ b/Master/bin/powerpc-aix/psresize diff --git a/Master/bin/powerpc-aix/psselect b/Master/bin/powerpc-aix/psselect Binary files differindex c104c5aa14e..fa42bc4495b 100755 --- a/Master/bin/powerpc-aix/psselect +++ b/Master/bin/powerpc-aix/psselect diff --git a/Master/bin/powerpc-aix/pstops b/Master/bin/powerpc-aix/pstops Binary files differindex b89d51a4c72..98882a5db0a 100755 --- a/Master/bin/powerpc-aix/pstops +++ b/Master/bin/powerpc-aix/pstops diff --git a/Master/bin/powerpc-aix/purifyeps b/Master/bin/powerpc-aix/purifyeps new file mode 120000 index 00000000000..d6919b530ed --- /dev/null +++ b/Master/bin/powerpc-aix/purifyeps @@ -0,0 +1 @@ +../../texmf-dist/scripts/purifyeps/purifyeps
\ No newline at end of file diff --git a/Master/bin/powerpc-aix/sjisconv b/Master/bin/powerpc-aix/sjisconv Binary files differindex 7800dff2026..c4f80f6272c 100755 --- a/Master/bin/powerpc-aix/sjisconv +++ b/Master/bin/powerpc-aix/sjisconv diff --git a/Master/bin/powerpc-aix/svn-multi b/Master/bin/powerpc-aix/svn-multi new file mode 120000 index 00000000000..9f3e6f9d9b7 --- /dev/null +++ b/Master/bin/powerpc-aix/svn-multi @@ -0,0 +1 @@ +../../texmf-dist/scripts/svn-multi/svn-multi.pl
\ No newline at end of file diff --git a/Master/bin/powerpc-aix/synctex b/Master/bin/powerpc-aix/synctex Binary files differindex 955657f9d71..3c25bafec9c 100755 --- a/Master/bin/powerpc-aix/synctex +++ b/Master/bin/powerpc-aix/synctex diff --git a/Master/bin/powerpc-aix/t1ascii b/Master/bin/powerpc-aix/t1ascii Binary files differindex 9b83fbd3108..fff06e16aab 100755 --- a/Master/bin/powerpc-aix/t1ascii +++ b/Master/bin/powerpc-aix/t1ascii diff --git a/Master/bin/powerpc-aix/t1asm b/Master/bin/powerpc-aix/t1asm Binary files differindex 40aef217a9a..3c55a1f8aec 100755 --- a/Master/bin/powerpc-aix/t1asm +++ b/Master/bin/powerpc-aix/t1asm diff --git a/Master/bin/powerpc-aix/t1binary b/Master/bin/powerpc-aix/t1binary Binary files differindex e0ac1115960..b3ebfce3775 100755 --- a/Master/bin/powerpc-aix/t1binary +++ b/Master/bin/powerpc-aix/t1binary diff --git a/Master/bin/powerpc-aix/t1disasm b/Master/bin/powerpc-aix/t1disasm Binary files differindex 843822e8e5a..a6d74b8a6aa 100755 --- a/Master/bin/powerpc-aix/t1disasm +++ b/Master/bin/powerpc-aix/t1disasm diff --git a/Master/bin/powerpc-aix/t1dotlessj b/Master/bin/powerpc-aix/t1dotlessj Binary files differindex 02cf3322dcb..3b796654225 100755 --- a/Master/bin/powerpc-aix/t1dotlessj +++ b/Master/bin/powerpc-aix/t1dotlessj diff --git a/Master/bin/powerpc-aix/t1lint b/Master/bin/powerpc-aix/t1lint Binary files differindex 3e4febc1801..4eb956e8da3 100755 --- a/Master/bin/powerpc-aix/t1lint +++ b/Master/bin/powerpc-aix/t1lint diff --git a/Master/bin/powerpc-aix/t1mac b/Master/bin/powerpc-aix/t1mac Binary files differindex ba6090e7128..ead35353f2e 100755 --- a/Master/bin/powerpc-aix/t1mac +++ b/Master/bin/powerpc-aix/t1mac diff --git a/Master/bin/powerpc-aix/t1rawafm b/Master/bin/powerpc-aix/t1rawafm Binary files differnew file mode 100755 index 00000000000..41322bf637d --- /dev/null +++ b/Master/bin/powerpc-aix/t1rawafm diff --git a/Master/bin/powerpc-aix/t1reencode b/Master/bin/powerpc-aix/t1reencode Binary files differindex cf17a9ce81d..2353ab2c431 100755 --- a/Master/bin/powerpc-aix/t1reencode +++ b/Master/bin/powerpc-aix/t1reencode diff --git a/Master/bin/powerpc-aix/t1testpage b/Master/bin/powerpc-aix/t1testpage Binary files differindex bbcedbf1f71..09500b68716 100755 --- a/Master/bin/powerpc-aix/t1testpage +++ b/Master/bin/powerpc-aix/t1testpage diff --git a/Master/bin/powerpc-aix/t1unmac b/Master/bin/powerpc-aix/t1unmac Binary files differindex 8c96408f7ac..cb0b3024158 100755 --- a/Master/bin/powerpc-aix/t1unmac +++ b/Master/bin/powerpc-aix/t1unmac diff --git a/Master/bin/powerpc-aix/t4ht b/Master/bin/powerpc-aix/t4ht Binary files differindex 372103d376a..610470ecb31 100755 --- a/Master/bin/powerpc-aix/t4ht +++ b/Master/bin/powerpc-aix/t4ht diff --git a/Master/bin/powerpc-aix/tangle b/Master/bin/powerpc-aix/tangle Binary files differindex af2730e397d..3a4d8d2f4e3 100755 --- a/Master/bin/powerpc-aix/tangle +++ b/Master/bin/powerpc-aix/tangle diff --git a/Master/bin/powerpc-aix/tcdialog b/Master/bin/powerpc-aix/tcdialog Binary files differindex 659a83335cb..05a632fa63c 100755 --- a/Master/bin/powerpc-aix/tcdialog +++ b/Master/bin/powerpc-aix/tcdialog diff --git a/Master/bin/powerpc-aix/tex b/Master/bin/powerpc-aix/tex Binary files differindex 495aeddd6c4..324d3014af6 100755 --- a/Master/bin/powerpc-aix/tex +++ b/Master/bin/powerpc-aix/tex diff --git a/Master/bin/powerpc-aix/tex2xindy b/Master/bin/powerpc-aix/tex2xindy Binary files differindex d0c8167ad0f..646fcd03b8a 100755 --- a/Master/bin/powerpc-aix/tex2xindy +++ b/Master/bin/powerpc-aix/tex2xindy diff --git a/Master/bin/powerpc-aix/tex4ht b/Master/bin/powerpc-aix/tex4ht Binary files differindex 88a46a8b6a1..ecf8e8f8fde 100755 --- a/Master/bin/powerpc-aix/tex4ht +++ b/Master/bin/powerpc-aix/tex4ht diff --git a/Master/bin/powerpc-aix/texi2dvi b/Master/bin/powerpc-aix/texi2dvi deleted file mode 100755 index 877ea9599dd..00000000000 --- a/Master/bin/powerpc-aix/texi2dvi +++ /dev/null @@ -1,1791 +0,0 @@ -#! /bin/sh -# texi2dvi --- produce DVI (or PDF) files from Texinfo (or (La)TeX) sources. -# $Id: texi2dvi,v 1.133 2008/08/11 00:18:29 karl Exp $ -# -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, -# or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -# Original author: Noah Friedman. -# -# Please send bug reports, etc. to bug-texinfo@gnu.org. -# If possible, please send a copy of the output of the script called with -# the `--debug' option when making a bug report. - -test -f /bin/ksh && test -z "$RUNNING_KSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; } -unset RUNNING_KSH - -# No failure shall remain unpunished. -set -e - -# This string is expanded by rcs automatically when this file is checked out. -rcs_revision='$Revision: 1.133 $' -rcs_version=`set - $rcs_revision; echo $2` -program=`echo $0 | sed -e 's!.*/!!'` - -build_mode=${TEXI2DVI_BUILD_MODE:-local} -build_dir=${TEXI2DVI_BUILD_DIRECTORY:-.} - -# Initialize variables for option overriding and otherwise. -# Don't use `unset' since old bourne shells don't have this command. -# Instead, assign them an empty value. -action=compile -batch=false # true for batch mode -debug=false -escape="\\" -expand= # t for expansion via makeinfo -includes= -line_error=true # Pass --file-line-error to TeX. -no_line_error=false # absolutely do not pass --file-line-error to TeX -oname= # --output -out_lang=dvi -quiet=false # by default let the tools' message be displayed -recode=false -set_language= -src_specials= -textra= # Extra TeX commands to insert in the input file. -txiprereq=19990129 # minimum texinfo.tex version with macro expansion -verb=false # true for verbose mode -translate_file= # name of charset translation file -recode_from= # if not empty, recode from this encoding to @documentencoding - -orig_pwd=`pwd` - -# We have to initialize IFS to space tab newline since we save and -# restore IFS and apparently POSIX allows stupid/broken behavior with -# empty-but-set IFS. -# http://lists.gnu.org/archive/html/automake-patches/2006-05/msg00008.html -# We need space, tab and new line, in precisely that order. And don't leave -# trailing blanks. -space=' ' -tab=' ' -newline=' -' -IFS="$space$tab$newline" - -# In case someone pedantic insists on using grep -E. -: ${EGREP=egrep} - -# Systems which define $COMSPEC or $ComSpec use semicolons to separate -# directories in TEXINPUTS -- except for Cygwin et al., where COMSPEC -# might be inherited, but : is used. -if test -n "$COMSPEC$ComSpec" \ - && uname | $EGREP -iv 'cygwin|mingw|djgpp' >/dev/null; then - path_sep=";" -else - path_sep=":" -fi - -# Pacify verbose cds. -CDPATH=${ZSH_VERSION+.}$path_sep - -# If $TEX is set to a directory, don't use it. -test -n "$TEX" && test -d "$TEX" && unset TEX - -# -## --------------------- ## -## Auxiliary functions. ## -## --------------------- ## - -# In case `local' is not supported by the shell, provide a function -# that simulates it by simply performing the assignments. This means -# that we must not expect `local' to work, i.e., we must not (i) rely -# on it during recursion, and (ii) have two local declarations of the -# same variable. (ii) is easy to check statically, and our test suite -# does make sure there is never twice a static local declaration of a -# variable. (i) cannot be checked easily, so just be careful. -# -# Note that since we might use a function simulating `local', we can -# no longer rely on the fact that no IFS-splitting is performed. So, -# while -# -# foo=$bar -# -# is fine (no IFS-splitting), never write -# -# local foo=$bar -# -# but rather -# -# local foo="$bar" -( - foo=bar - test_local () { - local foo=foo - } - test_local - test $foo = bar -) || local () { - case $1 in - *=*) eval "$1";; - esac -} - - -# cd_orig -# ------- -# Return to the original directory. -cd_orig () -{ - # In case $orig_pwd is on a different drive (for DOS). - cd / - - # Return to the original directory so that - # - the next file is processed in correct conditions - # - the temporary file can be removed - cd "$orig_pwd" || exit 1 -} - -# func_dirname FILE -# ----------------- -# Return the directory part of FILE. -func_dirname () -{ - dirname "$1" 2>/dev/null \ - || { echo "$1" | sed 's!/[^/]*$!!;s!^$!.!'; } -} - - -# absolute NAME -> ABS-NAME -# ------------------------- -# Return an absolute path to NAME. -absolute () -{ - case $1 in - [\\/]* | ?:[\\/]*) - # Absolute paths don't need to be expanded. - echo "$1" - ;; - *) local slashes - slashes=`echo "$1" | sed -n 's,.*[^/]\(/*\)$,\1,p'` - local rel - rel=$orig_pwd/`func_dirname "$1"` - if test -d "$rel"; then - (cd "$rel" 2>/dev/null && - local n - n=`pwd`/`basename "$1"`"$slashes" - echo "$n") - else - error 1 "not a directory: $rel" - fi - ;; - esac -} - - -# ensure_dir DIR1 DIR2... -# ----------------------- -# Make sure the directories exist. -ensure_dir () -{ - for dir - do - test -d "$dir" \ - || mkdir "$dir" \ - || error 1 "cannot create directory: $dir" - done -} - - -# error EXIT_STATUS LINE1 LINE2... -# -------------------------------- -# Report an error and exit with failure if EXIT_STATUS is non null. -error () -{ - local s="$1" - shift - report "$@" - if test "$s" != 0; then - exit $s - fi -} - - -# findprog PROG -# ------------- -# Return true if PROG is somewhere in PATH, else false. -findprog () -{ - local saveIFS="$IFS" - IFS=$path_sep # break path components at the path separator - for dir in $PATH; do - IFS=$saveIFS - # The basic test for an executable is `test -f $f && test -x $f'. - # (`test -x' is not enough, because it can also be true for directories.) - # We have to try this both for $1 and $1.exe. - # - # Note: On Cygwin and DJGPP, `test -x' also looks for .exe. On Cygwin, - # also `test -f' has this enhancement, bot not on DJGPP. (Both are - # design decisions, so there is little chance to make them consistent.) - # Thusly, it seems to be difficult to make use of these enhancements. - # - if { test -f "$dir/$1" && test -x "$dir/$1"; } || - { test -f "$dir/$1.exe" && test -x "$dir/$1.exe"; }; then - return 0 - fi - done - return 1 -} - -# report LINE1 LINE2... -# --------------------- -# Report some information on stderr. -report () -{ - for i in "$@" - do - echo >&2 "$0: $i" - done -} - - -# run COMMAND-LINE -# ---------------- -# Run the COMMAND-LINE verbosely, and catching errors as failures. -run () -{ - verbose "Running $@" - "$@" 2>&5 1>&2 || - error 1 "$1 failed" -} - - -# usage -# ----- -# Display usage and exit successfully. -usage () -{ - # We used to simply have `echo "$usage"', but coping with the - # changing behavior of `echo' is much harder than simply using a - # here-doc. - # - # echo '\noto' echo '\\noto' echo -e '\\noto' - # bash 3.1 \noto \\noto \noto - # bash 3.2 %oto \noto -e \noto - # - # where % denotes the eol character. - cat <<EOF -Usage: $program [OPTION]... FILE... - -Run each Texinfo or (La)TeX FILE through TeX in turn until all -cross-references are resolved, building all indices. The directory -containing each FILE is searched for included files. The suffix of FILE -is used to determine its language ((La)TeX or Texinfo). To process -(e)plain TeX files, set the environment variable LATEX=tex. - -In order to make texi2dvi a drop-in replacement of TeX/LaTeX in AUC-TeX, -the FILE may also be composed of the following simple TeX commands. - \`\\input{FILE}' the actual file to compile - \`\\nonstopmode' same as --batch - -Makeinfo is used to perform Texinfo macro expansion before running TeX -when needed. - -General options: - -b, --batch no interaction - -D, --debug turn on shell debugging (set -x) - -h, --help display this help and exit successfully - -o, --output=OFILE leave output in OFILE (implies --clean); - only one input FILE may be specified in this case - -q, --quiet no output unless errors (implies --batch) - -s, --silent same as --quiet - -v, --version display version information and exit successfully - -V, --verbose report on what is done - -TeX tuning: - -@ use @input instead of \input for preloaded Texinfo - --dvi output a DVI file [default] - --dvipdf output a PDF file via DVI (using dvipdf) - -e, -E, --expand force macro expansion using makeinfo - -I DIR search DIR for Texinfo files - -l, --language=LANG specify LANG for FILE, either latex or texinfo - --no-line-error do not pass --file-line-error to TeX - -p, --pdf use pdftex or pdflatex for processing - -r, --recode call recode before TeX to translate input - --recode-from=ENC recode from ENC to the @documentencoding - --src-specials pass --src-specials to TeX - -t, --command=CMD insert CMD in copy of input file - or --texinfo=CMD multiple values accumulate - --translate-file=FILE use given charset translation file for TeX - -Build modes: - --build=MODE specify the treatment of auxiliary files [$build_mode] - --tidy same as --build=tidy - -c, --clean same as --build=clean - --build-dir=DIR specify where the tidy compilation is performed; - implies --tidy; - defaults to TEXI2DVI_BUILD_DIRECTORY [$build_dir] - --mostly-clean remove the auxiliary files and directories - but not the output - -The MODE specifies where the TeX compilation takes place, and, as a -consequence, how auxiliary files are treated. The build mode -can also be set using the environment variable TEXI2DVI_BUILD_MODE. - -Valid MODEs are: - \`local' compile in the current directory, leaving all the auxiliary - files around. This is the traditional TeX use. - \`tidy' compile in a local *.t2d directory, where the auxiliary files - are left. Output files are copied back to the original file. - \`clean' same as \`tidy', but remove the auxiliary directory afterwards. - Every compilation therefore requires the full cycle. - -Using the \`tidy' mode brings several advantages: - - the current directory is not cluttered with plethora of temporary files. - - clutter can be even reduced using --build-dir=dir: all the *.t2d - directories are stored there. - - clutter can be reduced to zero using, e.g., --build-dir=/tmp/\$USER.t2d - or --build-dir=\$HOME/.t2d. - - the output file is updated after every succesful TeX run, for - sake of concurrent visualization of the output. In a \`local' build - the viewer stops during the whole TeX run. - - if the compilation fails, the previous state of the output file - is preserved. - - PDF and DVI compilation are kept in separate subdirectories - preventing any possibility of auxiliary file incompatibility. - -On the other hand, because \`tidy' compilation takes place in another -directory, occasionally TeX won't be able to find some files (e.g., when -using \\graphicspath): in that case use -I to specify the additional -directories to consider. - -The values of the BIBTEX, LATEX (or PDFLATEX), MAKEINDEX, MAKEINFO, -TEX (or PDFTEX), TEXINDEX, and THUMBPDF environment variables are used -to run those commands, if they are set. Any CMD strings are added -after @setfilename for Texinfo input, in the first line for LaTeX input. - -Email bug reports to <bug-texinfo@gnu.org>, -general questions and discussion to <help-texinfo@gnu.org>. -Texinfo home page: http://www.gnu.org/software/texinfo/ -EOF - exit 0 -} - - -# verbose WORD1 WORD2 -# ------------------- -# Report some verbose information. -verbose () -{ - if $verb; then - echo >&2 "$0: $@" - fi -} - - -# version -# ------- -# Display version info and exit succesfully. -version () -{ - cat <<EOF -texi2dvi (GNU Texinfo 4.12+) $rcs_version - -Copyright (C) 2008 Free Software Foundation, Inc. -License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> -This is free software: you are free to change and redistribute it. -There is NO WARRANTY, to the extent permitted by law. -EOF - exit 0 -} - - -## ---------------- ## -## Handling lists. ## -## ---------------- ## - - -# list_append LIST-NAME ELEM -# -------------------------- -# Set LIST-NAME to its former contents, with ELEM appended. -list_append () -{ - local la_l="$1" - shift - eval set X \$$la_l "$@" - shift - eval $la_l=\""$@"\" -} - - -# list_concat_dirs LIST-NAME DIR-LIST -# ----------------------------------- -# Append to LIST-NAME all the components (included empty) from -# the $path_sep separated list DIR-LIST. Make the paths absolute. -list_concat_dirs () -{ - local lcd_list="$1" - # Empty path components are meaningful to tex. We rewrite them as - # `EMPTY' so they don't get lost when we split on $path_sep. - # Hopefully no one will have an actual directory named EMPTY. - local replace_EMPTY="-e 's/^$path_sep/EMPTY$path_sep/g' \ - -e 's/$path_sep\$/${path_sep}EMPTY/g' \ - -e 's/$path_sep$path_sep/${path_sep}EMPTY:/g'" - save_IFS=$IFS - IFS=$path_sep - set x `echo "$2" | eval sed $replace_EMPTY`; shift - IFS=$save_IFS - local dir - for dir - do - case $dir in - EMPTY) - list_append $lcd_list "" - ;; - *) - if test -d $dir; then - dir=`absolute "$dir"` - list_append $lcd_list "$dir" - fi - ;; - esac - done -} - - -# list_prefix LIST-NAME SEP -> STRING -# ----------------------------------- -# Return a string that is composed of the LIST-NAME with each item -# preceded by SEP. -list_prefix () -{ - local lp_p="$2" - eval set X \$$1 - shift - local lp_res - for i - do - lp_res="$lp_res \"$lp_p\" \"$i\"" - done - echo "$lp_res" -} - -# list_infix LIST-NAME SEP -> STRING -# ---------------------------------- -# Same as list_prefix, but a separator. -list_infix () -{ - eval set X \$$1 - shift - local la_IFS="$IFS" - IFS=$path_sep - echo "$*" - IFS=$la_IFS -} - -# list_dir_to_abs LIST-NAME -# ------------------------- -# Convert the list to using only absolute dir names. -# Currently unused, but should replace absolute_filenames some day. -list_dir_to_abs () -{ - local ld_l="$1" - eval set X \$$ld_l - shift - local ld_res - for dir - do - dir=`absolute "$dir"` - test -d "$dir" || continue - ld_res="$ld_res \"$dir\"" - done - set X $ld_res; shift - eval $ld_l=\"$@\" -} - - -## ------------------------------ ## -## Language auxiliary functions. ## -## ------------------------------ ## - -# out_lang_tex -# ------------ -# Return the tex output language (DVI or PDF) for $OUT_LANG. -out_lang_tex () -{ - case $out_lang in - dvi | ps | dvipdf ) echo dvi;; - pdf ) echo $out_lang;; - html | info | text ) echo $out_lang;; - *) error 1 "$0: invalid out_lang: $1";; - esac -} - - -# out_lang_ext -# ------------ -# Return the extension for $OUT_LANG. -out_lang_ext () -{ - case $out_lang in - dvipdf ) echo pdf;; - dvi | html | info | pdf | ps | text ) echo $out_lang;; - *) error 1 "$0: invalid out_lang: $1";; - esac -} - - -## ------------------------- ## -## TeX auxiliary functions. ## -## ------------------------- ## - -# Save TEXINPUTS so we can construct a new TEXINPUTS path for each file. -# Likewise for bibtex and makeindex. -tex_envvars="BIBINPUTS BSTINPUTS DVIPSHEADERS INDEXSTYLE MFINPUTS MPINPUTS \ -TEXINPUTS TFMFONTS" -for var in $tex_envvars; do - eval ${var}_orig=\$$var - export $var -done - - -# absolute_filenames TEX-PATH -> TEX-PATH -# --------------------------------------- -# Convert relative paths to absolute paths, so we can run in another -# directory (e.g., in tidy build mode, or during the macro-support -# detection). Prepend ".". -absolute_filenames () -{ - # Empty path components are meaningful to tex. We rewrite them as - # `EMPTY' so they don't get lost when we split on $path_sep. - # Hopefully no one will have an actual directory named EMPTY. - local replace_empty="-e 's/^$path_sep/EMPTY$path_sep/g' \ - -e 's/$path_sep\$/${path_sep}EMPTY/g' \ - -e 's/$path_sep$path_sep/${path_sep}EMPTY:/g'" - local res - res=`echo "$1" | eval sed $replace_empty` - save_IFS=$IFS - IFS=$path_sep - set x $res; shift - res=. - for dir - do - case $dir in - EMPTY) - res=$res$path_sep - ;; - *) - if test -d "$dir"; then - res=$res$path_sep`absolute "$dir"` - else - # Even if $dir is not a directory, preserve it in the path. - # It might contain metacharacters that TeX will expand in - # turn, e.g., /some/path/{a,b,c}. This will not get the - # implicit absolutification of the path, but we can't help that. - res=$res$path_sep$dir - fi - ;; - esac - done - echo "$res" -} - - -# output_base_name FILE -# --------------------- -# The name of FILE, possibly renamed to satisfy --output. -output_base_name () -{ - case $oname in - '') echo "$1";; - *) local out_noext - out_noext=`echo "$oname" | sed 's/\.[^.]*$//'` - local file_ext - file_ext=`echo "$1" | sed 's/^.*\.//'` - echo "$out_noext.$file_ext" - ;; - esac -} - - -# move_to_dest FILE... -# -------------------- -# Move FILE to the place where the user expects it. Truly move it, that -# is, it must not remain in its build location unless that is also the -# output location. (Otherwise it might appear as an extra file in make -# distcheck.) -# -# FILE can be the principal output (in which case -o directly applies), or -# an auxiliary file with the same base name. -move_to_dest () -{ - local dest - local destfile - local destdir - local destbase - local sourcedir - local sourcebase - - for file - do - case $tidy:$oname in - true:) dest=$orig_pwd;; - false:) dest=;; - *:*) dest=`output_base_name "$file"`;; - esac - if test ! -f "$file"; then - error 1 "no such file or directory: $file" - fi - if test -n "$dest"; then - # We need to know whether $dest is a directory. - if test -d "$dest"; then - destdir=$dest - destfile=$dest/$file - else - destdir="`dirname $dest`" - destfile=$dest - fi - # We want to compare the source location and the output location, - # and if they are different, do the move. But if they are the - # same, we must preserve the source. Since we can't assume - # stat(1) or test -ef is available, resort to comparing the - # directory names, canonicalized with pwd. We can't use cmp -s - # since the output file might not actually change from run to run; - # e.g., TeX DVI output is timestamped to only the nearest minute. - destdir=`cd $destdir && pwd` - destbase=`basename $destfile` - # - sourcedir=`dirname $file` - sourcedir=`cd $sourcedir && pwd` - sourcebase=`basename $file` - # - if test "$sourcedir/$sourcebase" != "$destdir/$destbase"; then - verbose "Moving $file to $destfile" - rm -f "$destfile" - mv "$file" "$destfile" - fi - fi - done -} - - -## --------------------- ## -## Managing xref files. ## -## --------------------- ## - -# aux_file_p FILE -# --------------- -# Return with success with FILE is an aux file. -aux_file_p () -{ - test -f "$1" || return 1 - case $1 in - *.aux) return 0;; - *) return 1;; - esac -} - -# bibaux_file_p FILE -# ------------------ -# Return with success with FILE is an aux file containing citation -# requests. -bibaux_file_p () -{ - test -s "$1" || return 1 - if (grep '^\\bibstyle[{]' "$1" \ - && grep '^\\bibdata[{]' "$1" \ - ## The following line is suspicious: fails when there - ## are citations in sub aux files. We need to be - ## smarter in this case. - ## && grep '^\\citation[{]' "$f" - ) >&6 2>&1; - then - return 0 - fi - return 1 -} - -# index_file_p FILE -# ----------------- -# Return with success with FILE is an index file. -# When index.sty is used, there is a space before the brace. -index_file_p () -{ - test -f "$1" || return 1 - case `sed '1q' "$1"` in - "\\entry{"*|"\\indexentry{"*|"\\indexentry {"*) return 0;; - *) return 1;; - esac -} - -# xref_file_p FILE -# ---------------- -# Return with success if FILE is an xref file (indexes, tables and lists). -xref_file_p () -{ - test -f "$1" || return 1 - # If the file is not suitable to be an index or xref file, don't - # process it. It's suitable if the first character is a - # backslash or right quote or at, as long as the first line isn't - # \input texinfo. - case `sed '1q' "$1"` in - "\\input texinfo"*) return 1;; - [\\''@]*) return 0;; - *) return 1;; - esac -} - - -# generated_files_get FILENAME-NOEXT [PREDICATE-FILTER] -# ----------------------------------------------------- -# Return the list of files generated by the TeX compilation of FILENAME-NOEXT. -generated_files_get () -{ - local filter=true - if test -n "$2"; then - filter=$2 - fi - - # Gather the files created by TeX. - ( - if test -f "$1.log"; then - sed -n -e "s,^\\\\openout.* = \`\\(.*\\)'\\.,\\1,p" "$1.log" - fi - echo "$1.log" - ) | - # Depending on these files, infer outputs from other tools. - while read file; do - echo $file - case $in_lang in - texinfo) - # texindex: texinfo.cp -> texinfo.cps - if index_file_p $file; then - echo ${file}s - fi - ;; - latex) - if aux_file_p $file; then - # bibtex: *.aux -> *.bbl and *.blg. - echo $file | sed 's/^\(.*\)\.aux$/\1.bbl/' - echo $file | sed 's/^\(.*\)\.aux$/\1.blg/' - # -recorder: .fls - echo $file | sed 's/^\(.*\)\.aux$/\1.fls/' - fi - ;; - esac - done | - # Filter existing files matching the criterion. - # - # With an input file name containing a space, this produces a - # "command not found" message (and filtering is ineffective). - # The situation with a newline is presumably even worse. - while read file; do - if $filter "$file"; then - echo $file - fi - done | - sort | - # Some files are opened several times, e.g., listings.sty's *.vrb. - uniq -} - - -# xref_files_save -# --------------- -# Save the xref files. -xref_files_save () -{ - # Save copies of auxiliary files for later comparison. - xref_files_orig=`generated_files_get "$in_noext" xref_file_p` - if test -n "$xref_files_orig"; then - verbose "Backing up xref files: $xref_files_orig" - # The following line improves `cp $xref_files_orig "$work_bak"' - # by preserving the directory parts. Think of - # cp chap1/main.aux chap2/main.aux $work_bak. - # - # Users may have, e.g., --keep-old-files. Don't let this interfere. - # (Don't use unset for the sake of ancient shells.) - TAR_OPTIONS=; export TAR_OPTIONS - tar cf - $xref_files_orig | (cd "$work_bak" && tar xf -) - fi -} - - -# xref_files_changed -# ------------------ -# Whether the xref files were changed since the previous run. -xref_files_changed () -{ - # LaTeX (and the package changebar) report in the LOG file if it - # should be rerun. This is needed for files included from - # subdirs, since texi2dvi does not try to compare xref files in - # subdirs. Performing xref files test is still good since LaTeX - # does not report changes in xref files. - if grep "Rerun to get" "$in_noext.log" >&6 2>&1; then - return 0 - fi - - # If old and new lists don't at least have the same file list, - # then one file or another has definitely changed. - xref_files_new=`generated_files_get "$in_noext" xref_file_p` - verbose "Original xref files = $xref_files_orig" - verbose "New xref files = $xref_files_new" - if test "x$xref_files_orig" != "x$xref_files_new"; then - return 0 - fi - - # Compare each file until we find a difference. - for this_file in $xref_files_new; do - verbose "Comparing xref file `echo $this_file | sed 's|\./||g'` ..." - # cmp -s returns nonzero exit status if files differ. - if cmp -s "$this_file" "$work_bak/$this_file"; then :; else - verbose "xref file `echo $this_file | sed 's|\./||g'` differed ..." - if $debug; then - diff -u "$work_bak/$this_file" "$this_file" - fi - return 0 - fi - done - - # No change. - return 1 -} - - - -## ----------------------- ## -## Running the TeX suite. ## -## ----------------------- ## - - - -# run_tex () -# ---------- -# Run TeX as "$tex $in_input", taking care of errors and logs. -run_tex () -{ - case $in_lang:`out_lang_tex` in - latex:dvi) tex=${LATEX:-latex};; - latex:pdf) tex=${PDFLATEX:-pdflatex};; - texinfo:dvi) - # MetaPost also uses the TEX environment variable. If the user - # has set TEX=latex for that reason, don't bomb out. - case $TEX in - *latex) tex=tex;; # don't bother trying to find etex - *) tex=$TEX - esac;; - texinfo:pdf) tex=$PDFTEX;; - - *) error 1 "$0: $out_lang not supported for $in_lang";; - esac - - # Beware of aux files in subdirectories that require the - # subdirectory to exist. - case $in_lang:$tidy in - latex:true) - sed -n 's|^[ ]*\\include{\(.*\)/.*}.*|\1|p' "$in_input" | - sort -u | - while read d - do - ensure_dir "$work_build/$d" - done - ;; - esac - - # Note that this will be used via an eval: quote properly. - local cmd="$tex" - - # If possible, make TeX report error locations in GNU format. - if test "${tex_help:+set}" != set; then - # Go to a temporary directory to try --help, since old versions that - # don't accept --help will generate a texput.log. - tex_help_dir=$t2ddir/tex_help - ensure_dir "$tex_help_dir" - tex_help=`cd "$tex_help_dir" >&6 && $tex --help </dev/null 2>&1` - fi - if $no_line_error; then :; else - # The mk program and perhaps others want to parse TeX's - # original error messages. - case $line_error:$tex_help in - true:*file-line-error*) cmd="$cmd --file-line-error";; - esac - fi - - # Tell TeX about TCX file, if specified. - test -n "$translate_file" && cmd="$cmd --translate-file=$translate_file" - - # Tell TeX to make source specials (for backtracking from output to - # source, given a sufficiently smart editor), if specifed. - test -n "$src_specials" && cmd="$cmd $src_specials" - - # Tell TeX to be batch if requested. - if $batch; then - # \batchmode does not show terminal output at all, so we don't - # want that. And even in batch mode, TeX insists on having input - # from the user. Close its stdin to make it impossible. - cmd="$cmd </dev/null '${escape}nonstopmode' '${escape}input'" - fi - - # we'd like to handle arbitrary input file names, such as a~b.tex. - # This isn't a general way to do it :), though it does work, kind of. - # cmd="$cmd '${escape}catcode126=12 \input '" - - # TeX's \input does not (easily or reliably) support whitespace - # characters or other special characters in file names. Our intensive - # use of absolute file names makes this worse: the enclosing directory - # names may include white spaces. Improve the situation using a - # symbolic link to the filename in the current directory, in tidy mode - # only. Do not alter in_input. - # - # The filename is almost always tokenized using plain TeX conventions - # (the exception would be if the user made a texinfo.fmt file). Not - # all the plain TeX special characters cause trouble, but there's no - # harm in making the link. - # - case $tidy:`func_dirname "$in_input"` in - true:*["$space$tab$newline\"#\$%\\^_{}"]*) - _run_tex_file_name=`basename "$in_input"` - if test ! -f "$_run_tex_file_name"; then - # It might not be a file, clear it. - run rm -f "$_run_tex_file_name" - run ln -s "$in_input" - fi - cmd="$cmd '$_run_tex_file_name'" - ;; - - *) - cmd="$cmd '$in_input'" - ;; - esac - - verbose "$0: Running $cmd ..." - if eval "$cmd" >&5; then - case $out_lang in - dvi | pdf ) move_to_dest "$in_noext.$out_lang";; - esac - else - error 1 "$tex exited with bad status, quitting." - fi -} - -# run_bibtex () -# ------------- -# Run bibtex on current file. -# - If its input (AUX) exists. -# - If some citations are missing (LOG contains `Citation'). -# or the LOG complains of a missing .bbl -# -# Don't try to be too smart: -# -# 1. Running bibtex only if the bbl file exists and is older than -# the LaTeX file is wrong, since the document might include files -# that have changed. -# -# 3. Because there can be several AUX (if there are \include's), -# but a single LOG, looking for missing citations in LOG is -# easier, though we take the risk to match false messages. -run_bibtex () -{ - case $in_lang in - latex) bibtex=${BIBTEX:-bibtex};; - texinfo) return;; - esac - - # "Citation undefined" is for LaTeX, "Undefined citation" for btxmac.tex. - # The no .aux && \bibdata test is also for btxmac, in case it was the - # first run of a bibtex-using document. Otherwise, it's possible that - # bibtex would never be run. - if test -r "$in_noext.aux" \ - && test -r "$in_noext.log" \ - && (grep 'Warning:.*Citation.*undefined' "$in_noext.log" \ - || grep '.*Undefined citation' "$in_noext.log" \ - || grep 'No file .*\.bbl\.' "$in_noext.log") \ - || (grep 'No \.aux file' "$in_noext.log" \ - && grep '^\\bibdata' "$in_noext.aux") \ - >&6 2>&1; \ - then - for f in `generated_files_get "$in_noext" bibaux_file_p` - do - run $bibtex "$f" - done - fi -} - -# run_index () -# ------------ -# Run texindex (or makeindex) on current index files. If they already -# exist, and after running TeX a first time the index files don't -# change, then there's no reason to run TeX again. But we won't know -# that if the index files are out of date or nonexistent. -run_index () -{ - case $in_lang in - latex) texindex=${MAKEINDEX:-makeindex};; - texinfo) texindex=${TEXINDEX:-texindex};; - esac - index_files=`generated_files_get $in_noext index_file_p` - if test -n "$texindex" && test -n "$index_files"; then - run $texindex $index_files - fi -} - - -# run_thumbpdf () -# --------------- -run_thumbpdf () -{ - if test `out_lang_tex` = pdf \ - && test -r "$in_noext.log" \ - && grep 'thumbpdf\.sty' "$in_noext.log" >&6 2>&1; \ - then - thumbpdf=${THUMBPDF:-thumbpdf} - verbose "Running $thumbpdf $in_noext ..." - if $thumbpdf "$in_noext" >&5; then - run_tex - else - report "$thumbpdf exited with bad status." \ - "Ignoring its output." - fi - fi -} - - -# run_dvipdf FILE.dvi -# ------------------- -# Convert FILE.dvi to FILE.pdf. -run_dvipdf () -{ - # Find which dvi->pdf program is available. - if test -z "$dvipdf"; then - for i in "$DVIPDF" dvipdfmx dvipdfm dvipdf dvi2pdf dvitopdf; - do - if findprog $i; then - dvipdf=$i - fi - done - fi - # These tools have varying interfaces, some 'input output', others - # 'input -o output'. They all seem to accept 'input' only, - # outputting using the expected file name. - run $dvipdf "$1" - if test ! -f `echo "$1" | sed -e 's/\.dvi$/.pdf/'`; then - error 1 "$0: cannot find output file" - fi -} - -# run_tex_suite () -# ---------------- -# Run the TeX tools until a fix point is reached. -run_tex_suite () -{ - # Move to the working directory. - if $tidy; then - verbose "cd $work_build" - cd "$work_build" || exit 1 - fi - - # Count the number of cycles. - local cycle=0 - - while :; do - cycle=`expr $cycle + 1` - verbose "Cycle $cycle for $command_line_filename" - - xref_files_save - - # We run bibtex first, because I can see reasons for the indexes - # to change after bibtex is run, but I see no reason for the - # converse. - run_bibtex - run_index - run_core_conversion - - xref_files_changed || break - done - - # If we were using thumbpdf and producing PDF, then run thumbpdf - # and TeX one last time. - run_thumbpdf - - # Install the result if we didn't already (i.e., if the output is - # dvipdf or ps). - case $out_lang in - dvipdf) - run_dvipdf "$in_noext.`out_lang_tex`" - move_to_dest "$in_noext.`out_lang_ext`" - ;; - ps) - dvips -o "$in_noext.`out_lang_ext`" "$in_noext.`out_lang_tex`" - move_to_dest "$in_noext.`out_lang_ext`" - ;; - esac - - cd_orig -} - -## -------------------------------- ## -## TeX processing auxiliary tools. ## -## -------------------------------- ## - - -# A sed script that preprocesses Texinfo sources in order to keep the -# iftex sections only. We want to remove non TeX sections, and comment -# (with `@c texi2dvi') TeX sections so that makeinfo does not try to -# parse them. Nevertheless, while commenting TeX sections, don't -# comment @macro/@end macro so that makeinfo does propagate them. -# Unfortunately makeinfo --iftex --no-ifinfo doesn't work well enough -# (yet), makeinfo can't parse the TeX commands, so work around with sed. -# -comment_iftex=\ -'/^@tex/,/^@end tex/{ - s/^/@c texi2dvi/ -} -/^@iftex/,/^@end iftex/{ - s/^/@c texi2dvi/ - /^@c texi2dvi@macro/,/^@c texi2dvi@end macro/{ - s/^@c texi2dvi// - } -} -/^@ifnottex/,/^@end ifnottex/{ - s/^/@c (texi2dvi)/ -} -/^@ifinfo/,/^@end ifinfo/{ - /^@node/p - /^@menu/,/^@end menu/p - t - s/^/@c (texi2dvi)/ -} -s/^@ifnotinfo/@c texi2dvi@ifnotinfo/ -s/^@end ifnotinfo/@c texi2dvi@end ifnotinfo/' - -# Uncommenting is simple: Remove any leading `@c texi2dvi'. -uncomment_iftex='s/^@c texi2dvi//' - - -# run_makeinfo () -# --------------- -# Expand macro commands in the original source file using Makeinfo. -# Always use `end' footnote style, since the `separate' style -# generates different output (arguably this is a bug in -E). Discard -# main info output, the user asked to run TeX, not makeinfo. -run_makeinfo () -{ - test $in_lang = texinfo \ - || return 0 - - # Unless required by the user, makeinfo expansion is wanted only - # if texinfo.tex is too old. - if test "$expand" = t; then - makeinfo=${MAKEINFO:-makeinfo} - else - # Check if texinfo.tex performs macro expansion by looking for - # its version. The version is a date of the form YEAR-MO-DA. - # We don't need to use [0-9] to match the digits since anyway - # the comparison with $txiprereq, a number, will fail with non - # digits. - # Run in a temporary directory to avoid leaving files. - version_test_dir=$t2ddir/version_test - ensure_dir "$version_test_dir" - ( - cd "$version_test_dir" - echo '\input texinfo.tex @bye' >txiversion.tex - # Be sure that if tex wants to fail, it is not interactive: - # close stdin. - $TEX txiversion.tex </dev/null >txiversion.out 2>txiversion.err - ) - if test $? != 0; then - cat "$version_test_dir/txiversion.out" - cat "$version_test_dir/txiversion.err" >&2 - error 1 "texinfo.tex appears to be broken, quitting." - fi - eval `sed -n 's/^.*\[\(.*\)version \(....\)-\(..\)-\(..\).*$/txiformat=\1 txiversion="\2\3\4"/p' "$version_test_dir/txiversion.out"` - verbose "texinfo.tex preloaded as \`$txiformat', version is \`$txiversion' ..." - if test "$txiprereq" -le "$txiversion" >&6 2>&1; then - makeinfo= - else - makeinfo=${MAKEINFO:-makeinfo} - fi - # As long as we had to run TeX, offer the user this convenience: - if test "$txiformat" = Texinfo; then - escape=@ - fi - fi - - if test -n "$makeinfo"; then - # in_src: the file with macros expanded. - # Use the same basename to generate the same aux file names. - work_src=$workdir/src - ensure_dir "$work_src" - in_src=$work_src/$in_base - local miincludes - miincludes=`list_prefix includes -I` - verbose "Macro-expanding $command_line_filename to $in_src ..." - # eval $makeinfo because it might be defined as something complex - # (running missing) and then we end up with things like '"-I"', - # and "-I" (including the quotes) is not an option name. This - # happens with gettext 0.14.5, at least. - sed "$comment_iftex" "$command_line_filename" \ - | eval $makeinfo --footnote-style=end -I "$in_dir" $miincludes \ - -o /dev/null --macro-expand=- \ - | sed "$uncomment_iftex" >"$in_src" - # Continue only if everything succeeded. - if test $? -ne 0 \ - || test ! -r "$in_src"; then - verbose "Expansion failed, ignored..."; - else - in_input=$in_src - fi - fi -} - -# insert_commands () -# ------------------ -# Used most commonly for @finalout, @smallbook, etc. -insert_commands () -{ - local textra_cmd - case $in_lang in - latex) textra_cmd=1i;; - texinfo) textra_cmd='/^@setfilename/a';; - *) error 1 "internal error, unknown language: $in_lang";; - esac - - if test -n "$textra"; then - # _xtr. The file with the user's extra commands. - work_xtr=$workdir/xtr - in_xtr=$work_xtr/$in_base - ensure_dir "$work_xtr" - verbose "Inserting extra commands: $textra" - sed "$textra_cmd\\ -$textra" "$in_input" >"$in_xtr" - in_input=$in_xtr - fi -} - -# run_recode () -# ------------- -# If this is a Texinfo file with a specified input encoding, and -# recode is available, then recode to plain 7 bit Texinfo. -run_recode () -{ - local from - local to - - if test $in_lang = texinfo; then - pgm='s/^ *@documentencoding *\([^ ][^ ]*\) *$/\1/ - t found - d - :found - q' - encoding=`sed -e "$pgm" "$in_input"` - if $recode && test -n "$encoding" && findprog recode; then - if test -n "$recode_from"; then - from=$recode_from - to=$encoding - else - from=$encoding - to=$texinfo - fi - verbose "Recoding from $from to $to." - # _rcd. The Texinfo file recoded in 7bit. - work_rcd=$workdir/recode - in_rcd=$work_rcd/$in_base - ensure_dir "$work_rcd" - if recode "$encoding..$to" <"$in_input" >"$in_rcd" \ - && test -s "$in_rcd"; then - in_input=$in_rcd - else - verbose "Recoding failed, using original input." - fi - fi - fi -} - -# compute_language FILENAME -# ------------------------- -# Return the short string describing the language in which FILENAME -# is written: `texinfo' or `latex'. -compute_language () -{ - # If the user explicitly specified the language, use that. - # Otherwise, if the first line is \input texinfo, assume it's texinfo. - # Otherwise, guess from the file extension. - if test -n "$set_language"; then - echo $set_language - elif sed 1q "$1" | grep 'input texinfo' >&6; then - echo texinfo - else - # Get the type of the file (latex or texinfo) from the given language - # we just guessed, or from the file extension if not set yet. - case $1 in - *.ltx | *.tex | *.drv | *.dtx) echo latex;; - *) echo texinfo;; - esac - fi -} - - -# run_hevea (MODE) -# ---------------- -# Convert to HTML/INFO/TEXT. -# -# Don't pass `-noiso' to hevea: it's useless in HTML since anyway the -# charset is set to latin1, and troublesome in other modes since -# accented characters loose their accents. -# -# Don't pass `-o DEST' to hevea because in that case it leaves all its -# auxiliary files there too... Too bad, because it means we will need -# to handle images some day. -run_hevea () -{ - local hevea="${HEVEA:-hevea}" - local run_hevea="$hevea" - - case $1 in - html) ;; - text|info) run_hevea="$run_hevea -$1";; - *) error 1 "run_hevea: invalid argument: $1";; - esac - - # Compiling to the tmp directory enables to preserve a previous - # successful compilation. - run_hevea="$run_hevea -fix -O -o '$out_base'" - run_hevea="$run_hevea `list_prefix includes -I` -I '$orig_pwd' " - run_hevea="$run_hevea '$in_input'" - - if $debug; then - run_hevea="$run_hevea -v -v" - fi - - verbose "running $run_hevea" - if eval "$run_hevea" >&5; then - # hevea leaves trailing white spaces, this is annoying. - case $1 in text|info) - perl -pi -e 's/[ \t]+$//g' "$out_base"*;; - esac - case $1 in - html|text) move_to_dest "$out_base";; - info) # There can be foo.info-1, foo.info-2 etc. - move_to_dest "$out_base"*;; - esac - else - error 1 "$hevea exited with bad status, quitting." - fi -} - - -# run_core_conversion () -# ---------------------- -# Run the TeX (or HeVeA). -run_core_conversion () -{ - case $in_lang:`out_lang_tex` in - *:dvi|*:pdf) - run_tex;; - latex:html|latex:text|latex:info) - run_hevea $out_lang;; - *) - error 1 "invalid input/output combination: $in_lang/$out_lang";; - esac -} - - -# compile () -# ---------- -# Run the full compilation chain, from pre-processing to installation -# of the output at its expected location. -compile () -{ - # Source file might include additional sources. - # We want `.:$orig_pwd' before anything else. (We'll add `.:' later - # after all other directories have been turned into absolute paths.) - # `.' goes first to ensure that any old .aux, .cps, - # etc. files in ${directory} don't get used in preference to fresher - # files in `.'. Include orig_pwd in case we are in clean build mode, where - # we've cd'd to a temp directory. - txincludes=`list_infix includes $path_sep` - common="$orig_pwd$path_sep$in_dir$path_sep$txincludes$path_sep" - for var in $tex_envvars; do - eval val="\$common\$${var}_orig" - # Convert relative paths to absolute paths, so we can run in another - # directory (e.g., in clean build mode, or during the macro-support - # detection). ".:" is added here. - val=`absolute_filenames "$val"` - eval $var="\"$val\"" - export $var - eval verbose \"$var=\'\$${var}\'\" - done - - # --expand - run_makeinfo - - # --command, --texinfo - insert_commands - - # --recode - run_recode - - # Run until a fix point is reached. - run_tex_suite -} - - -# remove FILES -# ------------ -remove () -{ - verbose "Removing" "$@" - rm -rf "$@" -} - - -# mostly_clean -# ------------ -# Remove auxiliary files and directories. Changes the current directory. -mostly_clean () -{ - cd_orig - set X "$t2ddir" - shift - $tidy || { - local log="$work_build/$in_noext.log" - set X ${1+"$@"} "$log" `generated_files_get "$work_build/$in_noext"` - shift - } - remove ${1+"$@"} -} - - -# cleanup () -# ---------- -# Remove what should be removed according to options. -# Called at the end of each compilation cycle, and at the end of -# the script. Changes the current directory. -cleanup () -{ - case $build_mode in - local) cd_orig; remove "$t2ddir";; - clean) mostly_clean;; - tidy) ;; - esac -} - - - -## ---------------------- ## -## Command line parsing. ## -## ---------------------- ## - -# Push a token among the arguments that will be used to notice when we -# ended options/arguments parsing. -# Use "set dummy ...; shift" rather than 'set - ..." because on -# Solaris set - turns off set -x (but keeps set -e). -# Use ${1+"$@"} rather than "$@" because Digital Unix and Ultrix 4.3 -# still expand "$@" to a single argument (the empty string) rather -# than nothing at all. -arg_sep="$$--$$" -set dummy ${1+"$@"} "$arg_sep"; shift - -# -# Parse command line arguments. -while test x"$1" != x"$arg_sep"; do - - # Handle --option=value by splitting apart and putting back on argv. - case "$1" in - --*=*) - opt=`echo "$1" | sed -e 's/=.*//'` - val=`echo "$1" | sed -e 's/[^=]*=//'` - shift - set dummy "$opt" "$val" ${1+"$@"}; shift - ;; - esac - - # This recognizes --quark as --quiet. So what. - case "$1" in - -@ ) escape=@;; - # Silently and without documentation accept -b and --b[atch] as synonyms. - -b | --batch) batch=true;; - --build) shift; build_mode=$1;; - --build-dir) shift; build_dir=$1; build_mode=tidy;; - -c | --clean) build_mode=clean;; - -D | --debug) debug=true;; - --dvi) out_lang=dvi;; - --dvipdf) out_lang=dvipdf;; - -e | -E | --expand) expand=t;; - -h | --help) usage;; - --html) out_lang=html;; - -I) shift; list_concat_dirs includes "$1";; - --info) out_lang=info;; - -l | --lang | --language) shift; set_language=$1;; - --mostly-clean) action=mostly-clean;; - --no-line-error) no_line_error=true;; - -o | --out | --output) - shift - # Make it absolute, just in case we also have --clean, or whatever. - oname=`absolute "$1"`;; - -p | --pdf) out_lang=pdf;; - --ps) out_lang=ps;; - -q | -s | --quiet | --silent) quiet=true; batch=true;; - -r | --recode) recode=true;; - --recode-from) shift; recode=true; recode_from="$1";; - --src-specials) src_specials=--src-specials;; - -t | --texinfo | --command ) shift; textra="$textra\\ -"`echo "$1" | sed 's/\\\\/\\\\\\\\/g'`;; - --text) out_lang=text;; - --translate-file ) shift; translate_file="$1";; - --tidy) build_mode=tidy;; - -v | --vers*) version;; - -V | --verb*) verb=true;; - --) # What remains are not options. - shift - while test x"$1" != x"$arg_sep"; do - set dummy ${1+"$@"} "$1"; shift - shift - done - break;; - -*) - error 1 "Unknown or ambiguous option \`$1'." \ - "Try \`--help' for more information." - ;; - *) set dummy ${1+"$@"} "$1"; shift;; - esac - shift -done -# Pop the token -shift - -# $tidy: compile in a t2d directory. -# $clean: remove all the aux files. -case $build_mode in - local) clean=false; tidy=false;; - tidy) clean=false; tidy=true;; - clean) clean=true; tidy=true;; - *) error 1 "invalid build mode: $build_mode";; -esac - -# Interpret remaining command line args as filenames. -case $# in - 0) - error 2 "Missing file arguments." "Try \`--help' for more information." - ;; - 1) ;; - *) - if test -n "$oname"; then - error 2 "Can't use option \`--output' with more than one argument." - fi - ;; -esac - - -# We can't do much without tex. -# -if findprog ${TEX:-tex}; then :; else cat <<EOM -You don't have a working TeX binary (${TEX:-tex}) installed anywhere in -your PATH, and texi2dvi cannot proceed without one. If you want to use -this script, you'll need to install TeX (if you don't have it) or change -your PATH or TEX environment variable (if you do). See the --help -output for more details. - -For information about obtaining TeX, please see http://www.tug.org. If -you happen to be using Debian, you can get it with this command: - apt-get install tetex-bin -EOM - exit 1 -fi - - -# We want to use etex (or pdftex) if they are available, and the user -# didn't explicitly specify. We don't check for elatex and pdfelatex -# because (as of 2003), the LaTeX team has asked that new distributions -# use etex by default anyway. -# -# End up with the TEX and PDFTEX variables set to what we are going to use. -if test -z "$TEX"; then - if findprog etex; then TEX=etex; else TEX=tex; fi -fi -# -if test -z "$PDFTEX"; then - if findprog pdfetex; then PDFTEX=pdfetex; else PDFTEX=pdftex; fi -fi - - -# File descriptor usage: -# 0 standard input -# 1 standard output (--verbose messages) -# 2 standard error -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 5 tools output (turned off by --quiet) -# 6 tracing/debugging (set -x output, etc.) - - -# Main tools' output (TeX, etc.) that TeX users are used to seeing. -# -# If quiet, discard, else redirect to the message flow. -if $quiet; then - exec 5>/dev/null -else - exec 5>&1 -fi - - -# Enable tracing, and auxiliary tools output. -# -# Should be used where you'd typically use /dev/null to throw output -# away. But sometimes it is convenient to see that output (e.g., from -# a grep) to aid debugging. Especially debugging at distance, via the -# user. -if $debug; then - exec 6>&1 - set -x -else - exec 6>/dev/null -fi - -# - -# input_file_name_decode -# ---------------------- -# Decode COMMAND_LINE_FILENAME, and compute: -# - COMMAND_LINE_FILENAME clean of TeX commands -# - IN_DIR -# The directory to the input file, possibly absolute if needed. -# - IN_DIR_ABS -# The absolute directory of the input file. -# - IN_BASE -# The input file base name (no directory part). -# - IN_NOEXT -# The input file name without extensions (nor directory part). -# - IN_INPUT -# Defaults to COMMAND_LINE_FILENAME, but might change if the -# input is preprocessed (recode etc.). With directory, possibly absolute. -input_file_name_decode () -{ - # See if we are run from within AUC-Tex, in which case we are - # passed `\input{FOO.tex}' or even `\nonstopmode\input{FOO.tex}'. - case $command_line_filename in - *\\nonstopmode*) - batch=true;; - esac - case $command_line_filename in - *\\input{*}*) - # Let AUC-TeX error parser deal with line numbers. - line_error=false - command_line_filename=`\ - expr X"$command_line_filename" : X'.*input{\([^}]*\)}'` - ;; - esac - - # If the COMMAND_LINE_FILENAME is not absolute (e.g., --debug.tex), - # prepend `./' in order to avoid that the tools take it as an option. - echo "$command_line_filename" | $EGREP '^(/|[A-z]:/)' >&6 \ - || command_line_filename="./$command_line_filename" - - # See if the file exists. If it doesn't we're in trouble since, even - # though the user may be able to reenter a valid filename at the tex - # prompt (assuming they're attending the terminal), this script won't - # be able to find the right xref files and so forth. - test -r "$command_line_filename" || - error 1 "cannot read $command_line_filename, skipping." - - # Get the name of the current directory. - in_dir=`func_dirname "$command_line_filename"` - in_dir_abs=`absolute "$in_dir"` - # In a clean build, we `cd', so get an absolute file name. - if $tidy; then - in_dir=$in_dir_abs - fi - - # Strip directory part but leave extension. - in_base=`basename "$command_line_filename"` - # Strip extension. - in_noext=`echo "$in_base" | sed 's/\.[^.]*$//'` - - # The normalized file name to compile. Must always point to the - # file to actually compile (in case of recoding, macro-expansion etc.). - in_input=$in_dir/$in_base - - - # Compute the output file name. - if test x"$oname" != x; then - out_name=$oname - else - out_name=$in_noext.`out_lang_ext` - fi - out_dir=`func_dirname "$out_name"` - out_dir_abs=`absolute "$out_dir"` - out_base=`basename "$out_name"` - out_noext=`echo "$out_base" | sed 's/\.[^.]*$//'` -} - - -## -------------- ## -## TeXify files. ## -## -------------- ## - -for command_line_filename -do - verbose "Processing $command_line_filename ..." - - input_file_name_decode - - # `texinfo' or `latex'? - in_lang=`compute_language "$command_line_filename"` - - # An auxiliary directory used for all the auxiliary tasks involved - # in compiling this document. - case $build_dir in - '' | . ) t2ddir=$out_noext.t2d ;; - *) # Avoid collisions between multiple occurrences of the same - # file. The sed expression is fragile if the cwd has - # active characters. - t2ddir=$build_dir/`echo "$out_dir_abs/$out_noext.t2d" | - sed "s,^$orig_pwd/,," | - sed 's,/,!,g'` - esac - # Remove it at exit if clean mode. - trap "cleanup" 0 1 2 15 - - ensure_dir "$build_dir" "$t2ddir" - - # We will change directory, better work with an absolute path... - t2ddir=`absolute "$t2ddir"` - # Sometimes there are incompatibilities between auxiliary files for - # DVI and PDF. The contents can also change whether we work on PDF - # and/or DVI. So keep separate spaces for each. - workdir=$t2ddir/`out_lang_tex` - ensure_dir "$workdir" - - # _build. In a tidy build, where the auxiliary files are output. - if $tidy; then - work_build=$workdir/build - else - work_build=. - fi - - # _bak. Copies of the previous auxiliary files (another round is - # run if they differ from the new ones). - work_bak=$workdir/bak - - # Make those directories. - ensure_dir "$work_build" "$work_bak" - - case $action in - compile) - # Compile the document. - compile - cleanup - ;; - - mostly-clean) - mostly_clean - ;; - esac -done - -verbose "done." -exit 0 # exit successfully, not however we ended the loop. diff --git a/Master/bin/powerpc-aix/texi2pdf b/Master/bin/powerpc-aix/texi2pdf deleted file mode 100755 index a030a74ed9f..00000000000 --- a/Master/bin/powerpc-aix/texi2pdf +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# $Id: texi2pdf,v 1.2 2005/01/28 01:52:04 karl Exp $ -# Written by Thomas Esser. Public domain. -# Execute texi2dvi --pdf. - -test -f /bin/ksh && test -z "$RUNNING_KSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; } -unset RUNNING_KSH - -test -f /bin/bsh && test -z "$RUNNING_BSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ - && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } -unset RUNNING_BSH - -# hack around a bug in zsh: -test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' - -texi2dvi --pdf ${1+"$@"} diff --git a/Master/bin/powerpc-aix/texindex b/Master/bin/powerpc-aix/texindex Binary files differdeleted file mode 100755 index 38b53f5159d..00000000000 --- a/Master/bin/powerpc-aix/texindex +++ /dev/null diff --git a/Master/bin/powerpc-aix/texloganalyser b/Master/bin/powerpc-aix/texloganalyser new file mode 120000 index 00000000000..a0dd3486cd7 --- /dev/null +++ b/Master/bin/powerpc-aix/texloganalyser @@ -0,0 +1 @@ +../../texmf-dist/scripts/texloganalyser/texloganalyser
\ No newline at end of file diff --git a/Master/bin/powerpc-aix/tftopl b/Master/bin/powerpc-aix/tftopl Binary files differindex 316f9160aa9..9abbe36ef3a 100755 --- a/Master/bin/powerpc-aix/tftopl +++ b/Master/bin/powerpc-aix/tftopl diff --git a/Master/bin/powerpc-aix/tie b/Master/bin/powerpc-aix/tie Binary files differindex 3ec624e6900..d4922637845 100755 --- a/Master/bin/powerpc-aix/tie +++ b/Master/bin/powerpc-aix/tie diff --git a/Master/bin/powerpc-aix/ttf2afm b/Master/bin/powerpc-aix/ttf2afm Binary files differindex 807b4c50b59..8b482361746 100755 --- a/Master/bin/powerpc-aix/ttf2afm +++ b/Master/bin/powerpc-aix/ttf2afm diff --git a/Master/bin/powerpc-aix/ttf2pk b/Master/bin/powerpc-aix/ttf2pk Binary files differindex c90af97f6c7..ac9249aadd9 100755 --- a/Master/bin/powerpc-aix/ttf2pk +++ b/Master/bin/powerpc-aix/ttf2pk diff --git a/Master/bin/powerpc-aix/ttf2tfm b/Master/bin/powerpc-aix/ttf2tfm Binary files differindex ce4ce03614e..2bd1a9c3ac0 100755 --- a/Master/bin/powerpc-aix/ttf2tfm +++ b/Master/bin/powerpc-aix/ttf2tfm diff --git a/Master/bin/powerpc-aix/ttfdump b/Master/bin/powerpc-aix/ttfdump Binary files differnew file mode 100755 index 00000000000..d0cc2024f53 --- /dev/null +++ b/Master/bin/powerpc-aix/ttfdump diff --git a/Master/bin/powerpc-aix/ttftotype42 b/Master/bin/powerpc-aix/ttftotype42 Binary files differindex 448b7c3e7a3..028831a2c3f 100755 --- a/Master/bin/powerpc-aix/ttftotype42 +++ b/Master/bin/powerpc-aix/ttftotype42 diff --git a/Master/bin/powerpc-aix/ulqda b/Master/bin/powerpc-aix/ulqda new file mode 120000 index 00000000000..8ca9386b37d --- /dev/null +++ b/Master/bin/powerpc-aix/ulqda @@ -0,0 +1 @@ +../../texmf-dist/scripts/ulqda/ulqda.pl
\ No newline at end of file diff --git a/Master/bin/powerpc-aix/updmap b/Master/bin/powerpc-aix/updmap index e09c817451b..a71378a01bc 100755 --- a/Master/bin/powerpc-aix/updmap +++ b/Master/bin/powerpc-aix/updmap @@ -774,7 +774,7 @@ cleanup() { rc=$1 $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \ - && { cd / && rm -rf "$tmpdir"; } + && { cd $orig_pwd && rm -rf "$tmpdir"; } (exit $rc); exit $rc } @@ -1323,6 +1323,7 @@ main() link_cmd="ln -s" copy_cmd="cp" copy=false + orig_pwd=`pwd` cfgparam= outputdirparam= diff --git a/Master/bin/powerpc-aix/vftovp b/Master/bin/powerpc-aix/vftovp Binary files differindex e99e6aebec0..1a395ccd441 100755 --- a/Master/bin/powerpc-aix/vftovp +++ b/Master/bin/powerpc-aix/vftovp diff --git a/Master/bin/powerpc-aix/vlna b/Master/bin/powerpc-aix/vlna Binary files differindex e63a9d31f64..47cbe0dcd08 100755 --- a/Master/bin/powerpc-aix/vlna +++ b/Master/bin/powerpc-aix/vlna diff --git a/Master/bin/powerpc-aix/vptovf b/Master/bin/powerpc-aix/vptovf Binary files differindex ff55e24c4df..fdda2fd4969 100755 --- a/Master/bin/powerpc-aix/vptovf +++ b/Master/bin/powerpc-aix/vptovf diff --git a/Master/bin/powerpc-aix/weave b/Master/bin/powerpc-aix/weave Binary files differindex 5d50cc2ed89..84891816f2b 100755 --- a/Master/bin/powerpc-aix/weave +++ b/Master/bin/powerpc-aix/weave diff --git a/Master/bin/powerpc-aix/xdvi-motif b/Master/bin/powerpc-aix/xdvi-motif Binary files differindex 62c58d60132..1b46bb7dead 100755 --- a/Master/bin/powerpc-aix/xdvi-motif +++ b/Master/bin/powerpc-aix/xdvi-motif diff --git a/Master/bin/powerpc-aix/xdvipdfmx b/Master/bin/powerpc-aix/xdvipdfmx Binary files differindex e1f3d44fc6c..f711e769bc8 100755 --- a/Master/bin/powerpc-aix/xdvipdfmx +++ b/Master/bin/powerpc-aix/xdvipdfmx diff --git a/Master/bin/powerpc-aix/xetex b/Master/bin/powerpc-aix/xetex Binary files differindex b881dd455e1..7d34f62a5ff 100755 --- a/Master/bin/powerpc-aix/xetex +++ b/Master/bin/powerpc-aix/xetex diff --git a/Master/bin/powerpc-aix/xindy.mem b/Master/bin/powerpc-aix/xindy.mem Binary files differindex b7bcdab52fe..ffcbfe6751c 100644 --- a/Master/bin/powerpc-aix/xindy.mem +++ b/Master/bin/powerpc-aix/xindy.mem diff --git a/Master/bin/powerpc-aix/xindy.run b/Master/bin/powerpc-aix/xindy.run Binary files differindex c9d40ed0baf..cbb78cada79 100755 --- a/Master/bin/powerpc-aix/xindy.run +++ b/Master/bin/powerpc-aix/xindy.run diff --git a/Master/bin/sparc-solaris/afm2pl b/Master/bin/sparc-solaris/afm2pl Binary files differindex e28ba2e93b3..e173086fd18 100755 --- a/Master/bin/sparc-solaris/afm2pl +++ b/Master/bin/sparc-solaris/afm2pl diff --git a/Master/bin/sparc-solaris/afm2tfm b/Master/bin/sparc-solaris/afm2tfm Binary files differindex 6acce041b1a..ea4da79aa66 100755 --- a/Master/bin/sparc-solaris/afm2tfm +++ b/Master/bin/sparc-solaris/afm2tfm diff --git a/Master/bin/sparc-solaris/aleph b/Master/bin/sparc-solaris/aleph Binary files differindex ce188326fe4..f6bf55acd82 100755 --- a/Master/bin/sparc-solaris/aleph +++ b/Master/bin/sparc-solaris/aleph diff --git a/Master/bin/sparc-solaris/bibtex b/Master/bin/sparc-solaris/bibtex Binary files differindex ae6e4772eb2..265ffd20bab 100755 --- a/Master/bin/sparc-solaris/bibtex +++ b/Master/bin/sparc-solaris/bibtex diff --git a/Master/bin/sparc-solaris/bibtex8 b/Master/bin/sparc-solaris/bibtex8 Binary files differindex 0416d59f848..07b9aaabd36 100755 --- a/Master/bin/sparc-solaris/bibtex8 +++ b/Master/bin/sparc-solaris/bibtex8 diff --git a/Master/bin/sparc-solaris/cfftot1 b/Master/bin/sparc-solaris/cfftot1 Binary files differindex 245025c536d..2ee441f7bd1 100755 --- a/Master/bin/sparc-solaris/cfftot1 +++ b/Master/bin/sparc-solaris/cfftot1 diff --git a/Master/bin/sparc-solaris/ctangle b/Master/bin/sparc-solaris/ctangle Binary files differindex 88223dd664f..cc061de0982 100755 --- a/Master/bin/sparc-solaris/ctangle +++ b/Master/bin/sparc-solaris/ctangle diff --git a/Master/bin/sparc-solaris/ctie b/Master/bin/sparc-solaris/ctie Binary files differindex 94c0408c415..e1b7fb2a53f 100755 --- a/Master/bin/sparc-solaris/ctie +++ b/Master/bin/sparc-solaris/ctie diff --git a/Master/bin/sparc-solaris/cweave b/Master/bin/sparc-solaris/cweave Binary files differindex d0e2871960c..14a71cc0e55 100755 --- a/Master/bin/sparc-solaris/cweave +++ b/Master/bin/sparc-solaris/cweave diff --git a/Master/bin/sparc-solaris/detex b/Master/bin/sparc-solaris/detex Binary files differindex 2dd468a8d7f..1706c51bad5 100755 --- a/Master/bin/sparc-solaris/detex +++ b/Master/bin/sparc-solaris/detex diff --git a/Master/bin/sparc-solaris/dmp b/Master/bin/sparc-solaris/dmp Binary files differdeleted file mode 100755 index 19251dbc466..00000000000 --- a/Master/bin/sparc-solaris/dmp +++ /dev/null diff --git a/Master/bin/sparc-solaris/dt2dv b/Master/bin/sparc-solaris/dt2dv Binary files differindex fce60e7d81f..fe8543f7058 100755 --- a/Master/bin/sparc-solaris/dt2dv +++ b/Master/bin/sparc-solaris/dt2dv diff --git a/Master/bin/sparc-solaris/dv2dt b/Master/bin/sparc-solaris/dv2dt Binary files differindex ecd280e1c34..257fda84ed5 100755 --- a/Master/bin/sparc-solaris/dv2dt +++ b/Master/bin/sparc-solaris/dv2dt diff --git a/Master/bin/sparc-solaris/dvi2tty b/Master/bin/sparc-solaris/dvi2tty Binary files differindex 04633283ce4..1d614d74afc 100755 --- a/Master/bin/sparc-solaris/dvi2tty +++ b/Master/bin/sparc-solaris/dvi2tty diff --git a/Master/bin/sparc-solaris/dvibook b/Master/bin/sparc-solaris/dvibook Binary files differindex 067b34d2b37..00cb4ea364b 100755 --- a/Master/bin/sparc-solaris/dvibook +++ b/Master/bin/sparc-solaris/dvibook diff --git a/Master/bin/sparc-solaris/dviconcat b/Master/bin/sparc-solaris/dviconcat Binary files differindex a2ba348f0f8..2ef8e20b80b 100755 --- a/Master/bin/sparc-solaris/dviconcat +++ b/Master/bin/sparc-solaris/dviconcat diff --git a/Master/bin/sparc-solaris/dvicopy b/Master/bin/sparc-solaris/dvicopy Binary files differindex 4c1f08b04e6..345e35a43ad 100755 --- a/Master/bin/sparc-solaris/dvicopy +++ b/Master/bin/sparc-solaris/dvicopy diff --git a/Master/bin/sparc-solaris/dvidvi b/Master/bin/sparc-solaris/dvidvi Binary files differindex 8e14a023a93..44b03179c01 100755 --- a/Master/bin/sparc-solaris/dvidvi +++ b/Master/bin/sparc-solaris/dvidvi diff --git a/Master/bin/sparc-solaris/dvilj b/Master/bin/sparc-solaris/dvilj Binary files differindex 34663227230..1c5c67ebe26 100755 --- a/Master/bin/sparc-solaris/dvilj +++ b/Master/bin/sparc-solaris/dvilj diff --git a/Master/bin/sparc-solaris/dvilj2p b/Master/bin/sparc-solaris/dvilj2p Binary files differindex 1d8d02504e0..0ca572863fa 100755 --- a/Master/bin/sparc-solaris/dvilj2p +++ b/Master/bin/sparc-solaris/dvilj2p diff --git a/Master/bin/sparc-solaris/dvilj4 b/Master/bin/sparc-solaris/dvilj4 Binary files differindex 1202905e117..056d9f84131 100755 --- a/Master/bin/sparc-solaris/dvilj4 +++ b/Master/bin/sparc-solaris/dvilj4 diff --git a/Master/bin/sparc-solaris/dvilj4l b/Master/bin/sparc-solaris/dvilj4l Binary files differindex 3a645f32cf7..4c6812582ef 100755 --- a/Master/bin/sparc-solaris/dvilj4l +++ b/Master/bin/sparc-solaris/dvilj4l diff --git a/Master/bin/sparc-solaris/dvipdfm b/Master/bin/sparc-solaris/dvipdfm Binary files differindex 016970ebdee..ab4195592f6 100755..120000 --- a/Master/bin/sparc-solaris/dvipdfm +++ b/Master/bin/sparc-solaris/dvipdfm diff --git a/Master/bin/sparc-solaris/dvipdfmx b/Master/bin/sparc-solaris/dvipdfmx Binary files differindex 2aaff524a2a..221cb6e1304 100755 --- a/Master/bin/sparc-solaris/dvipdfmx +++ b/Master/bin/sparc-solaris/dvipdfmx diff --git a/Master/bin/sparc-solaris/dvipdft b/Master/bin/sparc-solaris/dvipdft index db53bd2f5a0..3bcd0027db1 100755 --- a/Master/bin/sparc-solaris/dvipdft +++ b/Master/bin/sparc-solaris/dvipdft @@ -1,15 +1,24 @@ #!/bin/sh - -# -# dvipdft, completely rewtitten by Thomas Esser for teTeX after an +# dvipdft, completely rewritten by Thomas Esser for teTeX after an # original script by Mark A. Wicks # # Thomas Esser. Public Domain. -# +# +# Modified by Matthias Franz for dvipdfmx (when running as dvipdfm) and +# TeX Live. # This script makes a first (fast) run with dvipdfm, then calls gs on # the resulting pdf file to get the thumbnails and finally calls dvipdfm. +progname=dvipdft +version=20090604.0046 + +# set trap for error +trap ' + echo "$progname: fatal error." >&2 + exit 1 +' 1 + test -f /bin/sh5 && test -z "$RUNNING_SH5" \ && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ && { RUNNING_SH5=true; export RUNNING_SH5; exec /bin/sh5 $0 ${1+"$@"}; } @@ -23,16 +32,10 @@ unset RUNNING_BSH # hack around a bug in zsh: test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' -progname=dvipdft -version=1111942378 # seconds since `00:00:00 1970-01-01 UTC' - # date '+%s' (with GNU date) - help="Usage: $progname [options] dvifile $progname --help $progname --version" -tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$ - quoteit() { echo "x$1" | sed "s@.@@; s@'@'\\\\''@; s@^@'@; s@\$@'@" @@ -56,7 +59,7 @@ case $1 in exit 0 ;; --version) - echo "$progname version $version by Thomas Esser" + echo "$progname version $version by Thomas Esser and others" exit 0 ;; "") @@ -66,7 +69,7 @@ case $1 in esac # args 1 to (n-1) are gone, last one must be the dvifile -dvifile=$1 +dvifile="$1" # outfile comes from -o argument, else it is derived from the input file test -n "$outfile" \ @@ -75,56 +78,28 @@ test -n "$outfile" \ # outBase is part of the thumbname files just as dvipdfm expects them: outBase=`echo "$outfile" | sed 's@\.pdf$@@'` -# restore args 1 to (n-1): -eval set x "$s"; shift - -# Run dvipdfm with the fastest options for the first pass -echo "$progname: running dvipdfm $@ -e -z0 $dvifile" >&2 -dvipdfm ${1+"$@"} -e -z0 "$dvifile" || { - echo "$progname: dvipdfm failed." >&2 +ls "$outBase".[1-9]* >/dev/null 2>&1 && { + echo "$progname: Please move the following files out of the way:" >&2 + ls "$outBase".[1-9]* >&2 exit 1 } -# before we create the tmpdir, set trap for cleanup -trap ' - rm -rf $tmpdir - exit 1 -' 1 2 3 7 13 15 +# restore args 1 to (n-1): +eval set x "$s"; shift -mkdir "$tmpdir" || { - echo "$progname: failed to create temp directory." >&2 - exit 1 -} +# set trap for cleanup +trap ' + rm -f "$outBase".[1-9]* +' 0 -# if outBase contains a /, we might need to create a directory -case $outBase in - */*) - fq=`echo "$tmpdir/$outBase" | sed 's@//@/@g; s@/[^/]*$@@'` - test -d "$fq" || mkdir -p "$fq" || { - echo "$progname: failed to create temp thumbnail directory." >&2 - rm -rf $tmpdir - exit 1 - } - ;; -esac +# Run dvipdfm with the fastest options for the first pass +echo "$progname: running dvipdfm $@ -z0 $dvifile" >&2 +dvipdfm ${1+"$@"} -z0 "$dvifile" # run gs echo "$progname: running gs" >&2 -gs -r10 -dNOPAUSE -dBATCH -sDEVICE=png256 \ - -sOutputFile="$tmpdir/$outBase.%d" "$outfile" || { - echo "$progname: gs failed." >&2 - rm -rf $tmpdir - exit 1 -} +gs -r10 -dNOPAUSE -dBATCH -sDEVICE=png256 -sOutputFile="$outBase.%d" "$outfile" # run dvipdfm with the users specified options for the last pass -echo "$progname: running dvipdfm -dt $@ $dvifile" >&2 -TMP=$tmpdir dvipdfm -dt ${1+"$@"} "$dvifile" || { - echo "$progname: dvipdfm failed." >&2 - rm -rf $tmpdir - exit 1 -} - -# nothing failed, so cleanup and report success to caller -rm -rf $tmpdir -exit 0 +echo "$progname: running dvipdfm -t $@ $dvifile" >&2 +dvipdfm ${1+"$@"} -t "$dvifile" diff --git a/Master/bin/sparc-solaris/dvipng b/Master/bin/sparc-solaris/dvipng Binary files differindex 2169cd5c13f..81fc7721cab 100755 --- a/Master/bin/sparc-solaris/dvipng +++ b/Master/bin/sparc-solaris/dvipng diff --git a/Master/bin/sparc-solaris/dvipos b/Master/bin/sparc-solaris/dvipos Binary files differindex d2ae915a499..e4889bb40ed 100755 --- a/Master/bin/sparc-solaris/dvipos +++ b/Master/bin/sparc-solaris/dvipos diff --git a/Master/bin/sparc-solaris/dvips b/Master/bin/sparc-solaris/dvips Binary files differindex 49e91dc3166..adf1a238ba8 100755 --- a/Master/bin/sparc-solaris/dvips +++ b/Master/bin/sparc-solaris/dvips diff --git a/Master/bin/sparc-solaris/dviselect b/Master/bin/sparc-solaris/dviselect Binary files differindex 806cbfdd5f1..eb17fbe0bf8 100755 --- a/Master/bin/sparc-solaris/dviselect +++ b/Master/bin/sparc-solaris/dviselect diff --git a/Master/bin/sparc-solaris/dvitodvi b/Master/bin/sparc-solaris/dvitodvi Binary files differindex a968ee16f44..c7b0a7af79a 100755 --- a/Master/bin/sparc-solaris/dvitodvi +++ b/Master/bin/sparc-solaris/dvitodvi diff --git a/Master/bin/sparc-solaris/dvitomp b/Master/bin/sparc-solaris/dvitomp Binary files differindex d3b7b298579..96672bbb523 100755..120000 --- a/Master/bin/sparc-solaris/dvitomp +++ b/Master/bin/sparc-solaris/dvitomp diff --git a/Master/bin/sparc-solaris/dvitype b/Master/bin/sparc-solaris/dvitype Binary files differindex 52b98508471..529424deb34 100755 --- a/Master/bin/sparc-solaris/dvitype +++ b/Master/bin/sparc-solaris/dvitype diff --git a/Master/bin/sparc-solaris/epsffit b/Master/bin/sparc-solaris/epsffit Binary files differindex 0a82bf623da..c5a9a02e597 100755 --- a/Master/bin/sparc-solaris/epsffit +++ b/Master/bin/sparc-solaris/epsffit diff --git a/Master/bin/sparc-solaris/fmtutil b/Master/bin/sparc-solaris/fmtutil index f86a06003de..2a76d08f558 100755 --- a/Master/bin/sparc-solaris/fmtutil +++ b/Master/bin/sparc-solaris/fmtutil @@ -84,8 +84,7 @@ test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' progname=fmtutil argv0=$0 -version=1205513038 # seconds since `00:00:00 1970-01-01 UTC' - # date '+%s' (with GNU date) +version=20090611.2319 cnf=fmtutil.cnf # name of the config file export PATH @@ -259,6 +258,23 @@ verboseMsg() { ############################################################################### byebye() { + if $has_warnings; then + { + cat <<eof + +############################################################################### +$progname: Warning! Some warnings have been issued. +Visit the log files in directory + $destdir +for details. +############################################################################### + +This is a summary of all \`warning' messages: +$log_warning_msg +eof + } >&2 + fi + if $has_errors; then { cat <<eof @@ -270,7 +286,7 @@ Visit the log files in directory for details. ############################################################################### -This is a summary of all \`failed' messages and warnings: +This is a summary of all \`failed' messages: $log_failure_msg eof } >&2 @@ -281,6 +297,16 @@ eof } ############################################################################### +# init_log_warning() +# reset the list of warning messages +############################################################################### +init_log_warning() +{ + log_warning_msg= + has_warnings=false +} + +############################################################################### # init_log_failure() # reset the list of failure messages ############################################################################### @@ -291,6 +317,24 @@ init_log_failure() } ############################################################################### +# log_warning(errmsg) +# report and save warning message `errmsg' +############################################################################### +log_warning() +{ + echo "Warning: $@" >&2 + if test -z "$log_warning_msg"; then + log_warning_msg="$@" + else + OLDIFS=$IFS; IFS= + log_warning_msg="$log_warning_msg +$@" + IFS=$OLDIFS + fi + has_warnings=true +} + +############################################################################### # log_failure(errmsg) # report and save failure message `errmsg' ############################################################################### @@ -547,6 +591,7 @@ main() cache_vars init_log_failure + init_log_warning # execute the desired command: case "$cmd" in all) @@ -607,15 +652,16 @@ parse_line() texargs="$@" - eval lastarg=\$$# - inifile=`echo $lastarg | sed 's%^\*%%'` - case "$engine" in mpost) fmtfile="$format.mem"; kpsefmt=mp; texengine=metapost;; mf|mfw|mf-nowin) fmtfile="$format.base"; kpsefmt=mf; texengine=metafont;; *) fmtfile="$format.fmt"; kpsefmt=tex; texengine=$engine;; esac + # remove any * for the sake of the kpsewhich lookup. + eval lastarg=\$$# + inifile=`echo $lastarg | sed 's%^\*%%'` + # See if we can find $inifile for return code: kpsewhich -progname=$format -format=$kpsefmt $inifile >/dev/null 2>&1 } @@ -705,7 +751,7 @@ run_initex() mkdir -p "$fulldestdir" if test -f $fmtfile; then grep '^! ' $format.log >/dev/null 2>&1 && - log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed." + log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed." # We don't want user-interaction for the following "mv" commands: mv "$format.log" "$fulldestdir/$format.log" </dev/null diff --git a/Master/bin/sparc-solaris/fragmaster b/Master/bin/sparc-solaris/fragmaster new file mode 120000 index 00000000000..ca1bb398b4b --- /dev/null +++ b/Master/bin/sparc-solaris/fragmaster @@ -0,0 +1 @@ +../../texmf-dist/scripts/fragmaster/fragmaster.pl
\ No newline at end of file diff --git a/Master/bin/sparc-solaris/gftodvi b/Master/bin/sparc-solaris/gftodvi Binary files differindex e8d5b649724..2c3febf6d08 100755 --- a/Master/bin/sparc-solaris/gftodvi +++ b/Master/bin/sparc-solaris/gftodvi diff --git a/Master/bin/sparc-solaris/gftopk b/Master/bin/sparc-solaris/gftopk Binary files differindex edf3879629f..3849c9d9f49 100755 --- a/Master/bin/sparc-solaris/gftopk +++ b/Master/bin/sparc-solaris/gftopk diff --git a/Master/bin/sparc-solaris/gftype b/Master/bin/sparc-solaris/gftype Binary files differindex b5430a43a3b..c713d63177f 100755 --- a/Master/bin/sparc-solaris/gftype +++ b/Master/bin/sparc-solaris/gftype diff --git a/Master/bin/sparc-solaris/gsftopk b/Master/bin/sparc-solaris/gsftopk Binary files differindex 538bd8a23a0..612104ba0a0 100755 --- a/Master/bin/sparc-solaris/gsftopk +++ b/Master/bin/sparc-solaris/gsftopk diff --git a/Master/bin/sparc-solaris/hbf2gf b/Master/bin/sparc-solaris/hbf2gf Binary files differindex 5ceb9916265..28df9aa0aac 100755 --- a/Master/bin/sparc-solaris/hbf2gf +++ b/Master/bin/sparc-solaris/hbf2gf diff --git a/Master/bin/sparc-solaris/info b/Master/bin/sparc-solaris/info Binary files differdeleted file mode 100755 index a70feb2a848..00000000000 --- a/Master/bin/sparc-solaris/info +++ /dev/null diff --git a/Master/bin/sparc-solaris/infokey b/Master/bin/sparc-solaris/infokey Binary files differdeleted file mode 100755 index f1c1605bfae..00000000000 --- a/Master/bin/sparc-solaris/infokey +++ /dev/null diff --git a/Master/bin/sparc-solaris/install-info b/Master/bin/sparc-solaris/install-info Binary files differdeleted file mode 100755 index 5c864fd3d57..00000000000 --- a/Master/bin/sparc-solaris/install-info +++ /dev/null diff --git a/Master/bin/sparc-solaris/kpseaccess b/Master/bin/sparc-solaris/kpseaccess Binary files differindex f80c7b87d8d..7514d70b4db 100755 --- a/Master/bin/sparc-solaris/kpseaccess +++ b/Master/bin/sparc-solaris/kpseaccess diff --git a/Master/bin/sparc-solaris/kpsereadlink b/Master/bin/sparc-solaris/kpsereadlink Binary files differindex bef643ee5c6..383bc60deee 100755 --- a/Master/bin/sparc-solaris/kpsereadlink +++ b/Master/bin/sparc-solaris/kpsereadlink diff --git a/Master/bin/sparc-solaris/kpsestat b/Master/bin/sparc-solaris/kpsestat Binary files differindex 05f86286670..9b4f10ddad2 100755 --- a/Master/bin/sparc-solaris/kpsestat +++ b/Master/bin/sparc-solaris/kpsestat diff --git a/Master/bin/sparc-solaris/kpsewhich b/Master/bin/sparc-solaris/kpsewhich Binary files differindex 0f7745d2204..42f64d55ae1 100755 --- a/Master/bin/sparc-solaris/kpsewhich +++ b/Master/bin/sparc-solaris/kpsewhich diff --git a/Master/bin/sparc-solaris/lacheck b/Master/bin/sparc-solaris/lacheck Binary files differindex a6e54e009e6..e1e8a0bacd3 100755 --- a/Master/bin/sparc-solaris/lacheck +++ b/Master/bin/sparc-solaris/lacheck diff --git a/Master/bin/sparc-solaris/latex2man b/Master/bin/sparc-solaris/latex2man new file mode 120000 index 00000000000..66d79f878b7 --- /dev/null +++ b/Master/bin/sparc-solaris/latex2man @@ -0,0 +1 @@ +../../texmf-dist/scripts/latex2man/latex2man
\ No newline at end of file diff --git a/Master/bin/sparc-solaris/luatangle b/Master/bin/sparc-solaris/luatangle Binary files differnew file mode 100755 index 00000000000..2aecf2ac8ee --- /dev/null +++ b/Master/bin/sparc-solaris/luatangle diff --git a/Master/bin/sparc-solaris/luatex b/Master/bin/sparc-solaris/luatex Binary files differindex 524a41fcd3f..a748c35dbbd 100755 --- a/Master/bin/sparc-solaris/luatex +++ b/Master/bin/sparc-solaris/luatex diff --git a/Master/bin/sparc-solaris/mag b/Master/bin/sparc-solaris/mag Binary files differindex 8c8e2ea4509..4727f47538c 100755 --- a/Master/bin/sparc-solaris/mag +++ b/Master/bin/sparc-solaris/mag diff --git a/Master/bin/sparc-solaris/makeindex b/Master/bin/sparc-solaris/makeindex Binary files differindex aec3d0c7f3f..35381ce36cc 100755 --- a/Master/bin/sparc-solaris/makeindex +++ b/Master/bin/sparc-solaris/makeindex diff --git a/Master/bin/sparc-solaris/makeinfo b/Master/bin/sparc-solaris/makeinfo Binary files differdeleted file mode 100755 index 3db671fe4da..00000000000 --- a/Master/bin/sparc-solaris/makeinfo +++ /dev/null diff --git a/Master/bin/sparc-solaris/makempx b/Master/bin/sparc-solaris/makempx Binary files differdeleted file mode 100755 index 27c06c756e4..00000000000 --- a/Master/bin/sparc-solaris/makempx +++ /dev/null diff --git a/Master/bin/sparc-solaris/man b/Master/bin/sparc-solaris/man new file mode 120000 index 00000000000..9616d4ec099 --- /dev/null +++ b/Master/bin/sparc-solaris/man @@ -0,0 +1 @@ +../../texmf/doc/man
\ No newline at end of file diff --git a/Master/bin/sparc-solaris/mf b/Master/bin/sparc-solaris/mf Binary files differindex 20a7c87ed6f..1cc39fd807f 100755 --- a/Master/bin/sparc-solaris/mf +++ b/Master/bin/sparc-solaris/mf diff --git a/Master/bin/sparc-solaris/mf-nowin b/Master/bin/sparc-solaris/mf-nowin Binary files differindex 94bb45a3946..4f6f0b13323 100755 --- a/Master/bin/sparc-solaris/mf-nowin +++ b/Master/bin/sparc-solaris/mf-nowin diff --git a/Master/bin/sparc-solaris/mft b/Master/bin/sparc-solaris/mft Binary files differindex a10c77fa1c2..a746d3bb7dd 100755 --- a/Master/bin/sparc-solaris/mft +++ b/Master/bin/sparc-solaris/mft diff --git a/Master/bin/sparc-solaris/mmafm b/Master/bin/sparc-solaris/mmafm Binary files differindex 9271a8c9c22..e0859877a7c 100755 --- a/Master/bin/sparc-solaris/mmafm +++ b/Master/bin/sparc-solaris/mmafm diff --git a/Master/bin/sparc-solaris/mmpfb b/Master/bin/sparc-solaris/mmpfb Binary files differindex 2fb84502247..68ff5aab949 100755 --- a/Master/bin/sparc-solaris/mmpfb +++ b/Master/bin/sparc-solaris/mmpfb diff --git a/Master/bin/sparc-solaris/mpost b/Master/bin/sparc-solaris/mpost Binary files differindex 085bb818d84..b5f69c79d40 100755 --- a/Master/bin/sparc-solaris/mpost +++ b/Master/bin/sparc-solaris/mpost diff --git a/Master/bin/sparc-solaris/mpto b/Master/bin/sparc-solaris/mpto Binary files differdeleted file mode 100755 index b4545086d36..00000000000 --- a/Master/bin/sparc-solaris/mpto +++ /dev/null diff --git a/Master/bin/sparc-solaris/newer b/Master/bin/sparc-solaris/newer Binary files differdeleted file mode 100755 index 18b959298e5..00000000000 --- a/Master/bin/sparc-solaris/newer +++ /dev/null diff --git a/Master/bin/sparc-solaris/odvicopy b/Master/bin/sparc-solaris/odvicopy Binary files differindex cae88ab6e76..b958dd3ce9f 100755 --- a/Master/bin/sparc-solaris/odvicopy +++ b/Master/bin/sparc-solaris/odvicopy diff --git a/Master/bin/sparc-solaris/odvips b/Master/bin/sparc-solaris/odvips deleted file mode 120000 index 2e853c89507..00000000000 --- a/Master/bin/sparc-solaris/odvips +++ /dev/null @@ -1 +0,0 @@ -dvips
\ No newline at end of file diff --git a/Master/bin/sparc-solaris/odvitype b/Master/bin/sparc-solaris/odvitype Binary files differindex 9d03987b13a..80d23983a95 100755 --- a/Master/bin/sparc-solaris/odvitype +++ b/Master/bin/sparc-solaris/odvitype diff --git a/Master/bin/sparc-solaris/omfonts b/Master/bin/sparc-solaris/omfonts Binary files differindex a489e244648..0e54e613ce0 100755 --- a/Master/bin/sparc-solaris/omfonts +++ b/Master/bin/sparc-solaris/omfonts diff --git a/Master/bin/sparc-solaris/otangle b/Master/bin/sparc-solaris/otangle Binary files differindex c9b01f7272f..deb222e86c4 100755 --- a/Master/bin/sparc-solaris/otangle +++ b/Master/bin/sparc-solaris/otangle diff --git a/Master/bin/sparc-solaris/otfinfo b/Master/bin/sparc-solaris/otfinfo Binary files differindex e68803b279c..56f4e4619b6 100755 --- a/Master/bin/sparc-solaris/otfinfo +++ b/Master/bin/sparc-solaris/otfinfo diff --git a/Master/bin/sparc-solaris/otftotfm b/Master/bin/sparc-solaris/otftotfm Binary files differindex c3983276645..fa55d756240 100755 --- a/Master/bin/sparc-solaris/otftotfm +++ b/Master/bin/sparc-solaris/otftotfm diff --git a/Master/bin/sparc-solaris/otp2ocp b/Master/bin/sparc-solaris/otp2ocp Binary files differindex e3c2cf1216a..ec4b438653c 100755 --- a/Master/bin/sparc-solaris/otp2ocp +++ b/Master/bin/sparc-solaris/otp2ocp diff --git a/Master/bin/sparc-solaris/outocp b/Master/bin/sparc-solaris/outocp Binary files differindex b780d4a1053..5ff2cd1622b 100755 --- a/Master/bin/sparc-solaris/outocp +++ b/Master/bin/sparc-solaris/outocp diff --git a/Master/bin/sparc-solaris/oxdvi b/Master/bin/sparc-solaris/oxdvi deleted file mode 120000 index cf7065c02ca..00000000000 --- a/Master/bin/sparc-solaris/oxdvi +++ /dev/null @@ -1 +0,0 @@ -xdvi
\ No newline at end of file diff --git a/Master/bin/sparc-solaris/patgen b/Master/bin/sparc-solaris/patgen Binary files differindex da1a0eca27d..615a30372f5 100755 --- a/Master/bin/sparc-solaris/patgen +++ b/Master/bin/sparc-solaris/patgen diff --git a/Master/bin/sparc-solaris/pdftex b/Master/bin/sparc-solaris/pdftex Binary files differindex 8325a4c50c9..80a23144c47 100755 --- a/Master/bin/sparc-solaris/pdftex +++ b/Master/bin/sparc-solaris/pdftex diff --git a/Master/bin/sparc-solaris/pdftexi2dvi b/Master/bin/sparc-solaris/pdftexi2dvi deleted file mode 100755 index 17708e76579..00000000000 --- a/Master/bin/sparc-solaris/pdftexi2dvi +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# $Id: pdftexi2dvi,v 1.3 2007/07/05 15:22:26 karl Exp $ -# Written by Thomas Esser. Public domain. -# Execute texi2dvi --pdf. - -test -f /bin/ksh && test -z "$RUNNING_KSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; } -unset RUNNING_KSH - -test -f /bin/bsh && test -z "$RUNNING_BSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ - && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } -unset RUNNING_BSH - -# hack around a bug in zsh: -test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' - -texi2dvi --pdf ${1+"$@"} diff --git a/Master/bin/sparc-solaris/pdftosrc b/Master/bin/sparc-solaris/pdftosrc Binary files differindex 6299bf2532e..924fdd99f16 100755 --- a/Master/bin/sparc-solaris/pdftosrc +++ b/Master/bin/sparc-solaris/pdftosrc diff --git a/Master/bin/sparc-solaris/pfb2pfa b/Master/bin/sparc-solaris/pfb2pfa Binary files differindex 8ca064c413b..c3ecc27df0f 100755 --- a/Master/bin/sparc-solaris/pfb2pfa +++ b/Master/bin/sparc-solaris/pfb2pfa diff --git a/Master/bin/sparc-solaris/pk2bm b/Master/bin/sparc-solaris/pk2bm Binary files differindex 50affe53bf9..63f3f55418e 100755 --- a/Master/bin/sparc-solaris/pk2bm +++ b/Master/bin/sparc-solaris/pk2bm diff --git a/Master/bin/sparc-solaris/pkfix-helper b/Master/bin/sparc-solaris/pkfix-helper new file mode 120000 index 00000000000..44ef5278bd4 --- /dev/null +++ b/Master/bin/sparc-solaris/pkfix-helper @@ -0,0 +1 @@ +../../texmf-dist/scripts/pkfix-helper/pkfix-helper
\ No newline at end of file diff --git a/Master/bin/sparc-solaris/pktogf b/Master/bin/sparc-solaris/pktogf Binary files differindex 46279e00fdc..53fd281cad3 100755 --- a/Master/bin/sparc-solaris/pktogf +++ b/Master/bin/sparc-solaris/pktogf diff --git a/Master/bin/sparc-solaris/pktype b/Master/bin/sparc-solaris/pktype Binary files differindex 89a9a797f9b..b7953fb8d5f 100755 --- a/Master/bin/sparc-solaris/pktype +++ b/Master/bin/sparc-solaris/pktype diff --git a/Master/bin/sparc-solaris/pltotf b/Master/bin/sparc-solaris/pltotf Binary files differindex 731293244ca..69fe9b2ba15 100755 --- a/Master/bin/sparc-solaris/pltotf +++ b/Master/bin/sparc-solaris/pltotf diff --git a/Master/bin/sparc-solaris/pooltype b/Master/bin/sparc-solaris/pooltype Binary files differindex d1c56595a65..6ce891ac9be 100755 --- a/Master/bin/sparc-solaris/pooltype +++ b/Master/bin/sparc-solaris/pooltype diff --git a/Master/bin/sparc-solaris/ps2eps b/Master/bin/sparc-solaris/ps2eps new file mode 100755 index 00000000000..7092cbb0007 --- /dev/null +++ b/Master/bin/sparc-solaris/ps2eps @@ -0,0 +1,935 @@ +#!/usr/bin/env perl +# The expression in the previous line replaces the unix specific line +# {#!/usr/bin/perl}. +# ps2eps - convert PostScript to EPS (Encapsulated PostScript) files +# ------------------------------------------------------------------- +# $Id: ps2eps,v 1.64 2007/01/24 12:32:59 bless Exp $ +# ------------------------------------------------------- +# (C)opyright 1999-2007 Roland Bless +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Author: Roland Bless +# Send bug reports to roland <at> bless.de +# ------------------------------------------------------------------- +# Additional filtering is performed when Windows generated PostScript files +# are processed. Some instructions will otherwise lead to bad output +# if EPS-file gets embedded into other PostScript files. +# +# Requirements: +# + perl +# + gs (ghostscript supporting pbm output) +# + bbox (a little C program [ANSI-C - should work on every platform] +# for calculation of the actual BoundingBox) + +use POSIX; + +#use warnings; + +#use Getopt package +use Getopt::Long; +Getopt::Long::Configure("no_ignore_case"); + +$prgname= "ps2eps"; + +if (! -d "/usr/bin") +{ # we assume that we are running under native windows + $ghostscriptname = "gswin32c"; + $NULLDEV = "nul"; +} +else +{ # Unix or cygwin + $ghostscriptname = "gs"; + $NULLDEV = "/dev/null 2>&1"; +} + +$bboxver=`bbox >$NULLDEV -V`; +$bboxname= ($?== -1) ? "" : "bbox"; +$version= '$Id: ps2eps,v 1.64 2007/01/24 12:32:59 bless Exp $'; #' +$insertPScode= 1; # Insert surrounding Postscript code +$infhandle = STDIN; # Standard input is the default input file +$outfhandle = STDOUT; # Standard output is default output if STDIN is input +$infname= '-'; +$outfname= '-'; +$forceoverwrite=0; # do not overwrite existing files +$ignoreBB= 0; # ignore existing Bounding Box comment +$removeDSC= 1; # remove Adobe document structure comments +$removeADO= 1; # remove Adobe printer Driver console Output [Page: ...] +$ignoreEOFDSC= 0; # ignore %%EOF DSC hint +$removePreview= 0; # remove preview +$quiet= 0; # write progress to stdout +$resolution= 144; # resolution for bounding box calculation is 2x72 dpi +$trytofixps= 1; # try to fix postscript code +$forcefixps= 0; # fix postscript code unconditionally if eq 1 +$filterorientation= 1;# filter Orientation line +$looseBB=''; # default: tight bounding box +$clip=0; # do not clip +$warnings=0; # do not print warnings concerning postscript sanity +$debuggs=0; # no debugging of ghostscript call, turn this on if you want to see the gs call +$inch=2.54; # one inch is 2.54cm +$fullcolors= 1; # use ppm format (24-bit full color) +$trailerseen= 0; # Trailer comment seen? +$PSversion="2.0"; # default Postscript Version +$PSDSCversion="2.0"; # default Postscript DSC Version +$translate_x= 0; # translate by x postscript points +$translate_y= 0; # translate by y postscript points + +$defaultext = '(ps|prn)'; # default extension +$defaultoutext = '.eps'; # default output extension +$envname_size = 'PS2EPS_SIZE'; +$envname_gsbbox = 'PS2EPS_GSBBOX'; + +$gpar=""; +$known_papersizes="11x17|ledger|legal|letter(small)?|arch[A-E]|a([0-9]|10)|isob[0-6]|b[0-5]|c[0-6]|jisb[0-6]|fls(a|e)|halfletter"; +$papersize_help="11x17,ledger,legal,letter,lettersmall,archA,archB,archC,archD,archE\ +a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,isob0,isob1,isob2,isob3,isob4,isob5,isob6,\ +b0,b1,b2,b3,b4,b5,c0,c1,c2,c3,c4,c5,c6,\ +jisb0,jisb1,jisb2,jisb3,jisb4,jisb5,jisb6,flsa,flse,halfletter\n"; +$trigger= 0; +$notsane= 0; +$dummy=""; + +@ver= split(/ /,$version); + +# filename for temporary files +if ($^O =~ /MSWin32/i or $^O =~ /cygwin/i) +{ + # it is less trouble to use the current directory if working on + # cygwin and nevertheless using gswin32c. + $tmpfname= "$prgname.$$"; + $win=1; +} +elsif (defined($ENV{'TMP'})) +{ + $tmpdir= $ENV{'TMP'}; + $filesep= ($tmpdir =~ /^?\:\\/) ? '\\' : '/'; + if ($tmpdir =~ /$filesep$/) + { $tmpfname= $tmpdir . "$prgname.$$"; } + else + { $tmpfname= $tmpdir . "$filesep$prgname.$$"; } + $win=1; +} +else #assume we're on a UNIXBOX +{ + $tmpfname= "/tmp/" . "$prgname.$$"; + $win=0; +} + + +$licensetxt= "\ + This program is free software; you can redistribute it and/or modify\ + it under the terms of the GNU General Public License as published by\ + the Free Software Foundation; either version 2 of the License, or\ + (at your option) any later version.\ +\ + This program is distributed in the hope that it will be useful,\ + but WITHOUT ANY WARRANTY; without even the implied warranty of\ + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\ + GNU General Public License for more details.\ +\ + You should have received a copy of the GNU General Public License\ + along with this program; if not, write to the Free Software\ + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\n"; + +@prgidtxt= ( "$prgname - convert PostScript to EPS (Encapsulated PostScript) files\n", + "(C)opyright 1998-2007 Roland Bless\n\n" ); + +@helptxt= ("Version: $ver[2]\n", + "Operation:\n", + " Without any argument, $prgname reads from standard input\n", + " and writes to standard output.\n", + " If filenames are given as arguments they are processed\n", + " one by one and output files are written to filenames\n", + " with extension '$defaultoutext'. If input filenames have the extension\n", + " '.ps' or '.prn', this extension is replaced with '$defaultoutext'.\n", + " In all other cases '$defaultoutext' is appended to the input filename.\n", + " Please note that PostScript files for input should contain\n", + " only one single page.\n\n", + " If BoundingBox in output seems to be wrong, please try options --size or --ignoreBB.\n\n" ); + +@usagetxt= ("Syntax:\n", + " $prgname [-f] [-q] [-N] [-O] [-n] [-P] [-c] [-C] [-m] [-B] [-E] [-s <pagedim>] [-R +|-|^] [-t <x,y>] [-l] [-g] [-d] [-H] [-h|--help] [-g] [-W] [-L] [-V|--version] [--] [psfile1] [psfile2] [...]\n", + "Options:\n", + " -f, --force force overwriting existing files\n", + " -q, --quiet quiet operation (no output while processing files)\n", + " -N, --noinsert do not insert any postscript code\n", + " -O, --preserveorientation do not filter Orientation: header comment\n", + " -n, --nofix do not try to fix postscript code\n", + " -P, --removepreview remove preview image (smaller file, but no preview)\n", + " -F, --fixps fix postscript code unconditionally\n", + " -c, --comments preserve document structure comments\n", + " -C, --clip insert postscript code for clipping\n", + " -m, --mono use black/white bitmap as base for calculation\n", + " -s, --size=<pagedim> page size (a0-a10,letter,...) or in format XxY[cm|in] (default:cm), where X and Y are numbers\n", + " use --size=list to list pre-defined page sizes\n", + " -R, --rotate=<direction> rotate resulting EPS. <direction>: +=+90 (clockw.),-=-90 (counter-clockw.) ^=180 degrees\n", + " -t, --translate specify x,y offset (may be negative) in postscript points (1/72 dpi)\n", + " -r, --resolution specify dpi resolution to render with ghostscript (default 144)", + " -l, --loose expand the original bounding box by one point in each direction\n", + " -B, --ignoreBB do not use existing bounding box as page size for rendering\n", + " -E, --ignoreEOF do not use %%EOF as hint for end of file\n", + " -g, --gsbbox use internal bbox device of ghostscript\n", + " -H, --no-hires do not use a HiResBoundingBox\n", + " -h, --help help information\n", + " -L, --license show licensing information\n", + " -V, --version show version information\n", + " -d, --debuggs show ghostscript call\n", + " -W, --warnings show warnings about sanity of generated eps file\n", + " -- all following arguments are treated as files\n", + " (allows filenames starting with -)\n", + "\n", + "Arguments:\n", + " One or more names of PostScript files for input\n"); + +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +## -- argument checking -- +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +#environment variable for papersize +if (defined($ENV{"$envname_size"})) +{ + $opt_s= $ENV{"$envname_size"}; +} +else +{ + $opt_s = ''; # for s-option +} + +if (defined($ENV{"$envname_gsbbox"})) +{ + $bboxname=""; +} + +$opt_t = ''; # for t-option +$opt_R = ''; # for R-option +$opt_r = ''; # for r-option +$stopnow = 0; +die "Wrong option(s), please check usage with $prgname --help\n" unless +GetOptions('f|force' => \$forceoverwrite, + 'q|quiet' => \$quiet, + 'm|mono' => sub { $fullcolors = 0 }, + 'n|nofix' => sub { $trytofixps = 0 }, + 'F|fixps' => \$forcefixps, + 'N|noinsert' => sub { $insertPScode = 0 }, + 'O|preserveorientation' => sub { $filterorientation= 0 }, + 'P|removepreview' => \$removePreview, + 'c|comments' => sub { $removeDSC = 0 }, + 'C|clip' => \$clip, + 'l|loose' => sub { $looseBB = '-l' }, + 'B|ignoreBB' => \$ignoreBB, + 'E|ignoreEOF'=> \$ignoreEOFDSC, + 's|size=s' => \$opt_s, + 't|translate=s' => \$opt_t, + 'r|resolution=s' => \$opt_r, + 'R|rotate=s' => \$opt_R, + 'g|gsbbox' => sub { $bboxname=""; }, + 'H|nohires' => \$nohires, + 'h|help' => sub { $stopnow = 1; print @prgidtxt,@helptxt,@usagetxt,"\nAuthor: Roland Bless (roland\@bless.de)\n\n"; }, + 'L|license' => sub { $stopnow = 1; print @prgidtxt,$licensetxt,"\nAuthor: Roland Bless (roland\@bless.de)\n\n"; }, + 'd|debuggs' => \$debuggs, + 'W|warnings' => \$warnings, + 'V|version' => sub { $stopnow = 1; print @prgidtxt,"Version: $ver[2]\n"; });exit if ($stopnow); + +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +## -- wildcard processing -- +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +## internal wildcard processing for current directory, +## only used for non UNIX-based OSs (which may lack shell wildcard expansion) +@filenames = (); +foreach $object (@ARGV) { + if ($win && $object =~ m/\*/o) # asterisk is present in filename + { + $wildcard = $object; + $wildcard =~ s/\./\\\./g; # replace . in pattern with \. + $wildcard =~ s/\*/\(\.\*\)/g; # replace * in pattern with (.*) + opendir(DIR,'.') || die 'Unable to open current directory, stopped'; # open current directory + print STDERR $wildcard; + @fid = grep { /$wildcard(\.$defaultext)?/i } readdir(DIR); + foreach (@fid) { push @filenames, $_; } + closedir DIR; + } + else { push @filenames, $object; } +} # end foreach +$filenames[0]= '-' if (scalar(@filenames) == 0); # no file arguments, use STDIN as input + +print STDERR "Input files: @filenames\n" if (!$quiet); + +if ($opt_r ne '') +{ + $resolution=$opt_r; +} + +# papersize stuff +if ($opt_s ne '') +{ + # if explicit size is given, ignore existing BoundingBox always + $ignoreBB = 1; + $pagedimension = $opt_s; + if ($opt_s eq "list") + { + print STDERR "Available paper sizes: $papersize_help"; + exit 0; + } + + #explicit format XxY[cm|in] + if ($pagedimension =~ /(\d*\.?\d+)x(\d*\.?\d+)/) + { + ($x_dim, $dummy, $y_dim, $unit)= split(/(x|cm|in)/,$pagedimension); + if ( $x_dim !~ /^\d*\.?\d+$/ ) + { die "$x_dim in $arg is not a valid number, stopped"; } + if ( $y_dim !~ /^\d*\.?\d+$/ ) + { die "$y_dim in $arg is not a valid number, stopped"; } + + #print STDERR "xdim: $x_dim ydim: $y_dim unit:$unit\n" ; + if (!defined($unit) ) + { + $unit='cm'; + $opt_s=$opt_s . $unit; + } + if ( $unit ne 'in' ) # assume centimeters + { # calculate dimension in pixels (remember: resolution is in dpi) + $xpixels= int(($x_dim * $resolution) / $inch)+1; + $ypixels= int(($y_dim * $resolution) / $inch)+1; + $gpar= "-g${xpixels}x${ypixels}"; + } + else + { + $xpixels= int($x_dim * $resolution)+1; + $ypixels= int($y_dim * $resolution)+1; + $gpar= "-g${xpixels}x${ypixels}"; + } + } #endif XxY in opt_s + else + { + if ($opt_s =~ /$known_papersizes/) + { + $gpar="-sPAPERSIZE=$opt_s"; + } + else + { + print STDERR "Error: Unknown paper size: $opt_s\n Acceptable papersizes are:$papersize_help\n"; + exit 1; + } + } +} + +#translate option +if ($opt_t ne '') +{ + ($translate_x,$translate_y)= split(/\,/,$opt_t); +} + +#rotate +$rotright='-90 rotate'; +$rotleft='90 rotate'; +$rotupsidedown='180 rotate'; +$rotate=''; +if ($opt_R ne '') +{ + if ($opt_R eq '+') { $rotate=$rotright; } + elsif ($opt_R eq '-') { $rotate=$rotleft; } + elsif ($opt_R eq '^') { $rotate=$rotupsidedown; } + else { die "Wrong parameter for option -R: Valid are only +,-,^\n"; }; +} + +$device= $fullcolors ? "ppmraw" : "pbmraw"; + +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +## -- iterate over different input files -- +## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +PROCESSFILE: +while ($infname= (shift @filenames)) +{ + # reset filter definitions for each file + undef $linefilter; + undef $rangefilter_begin; + undef $rangefilter_end; + $fixthisps= $trytofixps; + $fixmsgprinted= 0; + + if (!$quiet) { print STDERR "Processing: $infname\n"; } + unless (open($infhandle,"<$infname")) + { # skip over this file + print STDERR "$prgname: Can't open $infname: $!\n"; + next PROCESSFILE; + } + + # buffer input from stdin into temporary file, because it has to be read twice + # one time for ghostscript processing, the second time for generating output + if ($infname eq '-') # input is stdin + { + $tmpfhandle=''; + open($tmpfhandle,">$tmpfname") or + die "Cannot open temporary file $tmpfname for writing: $!\n"; + } + else # input is not stdin + { + undef $tmpfhandle; + #if filename ends with $defaultext usually .ps or .prn, replace the extension with $defaultoutext + if ($infname =~ /\.$defaultext$/i) + { + $outfname= $infname; $outfname =~ s/\.$defaultext$/$defaultoutext/i; + } + else # otherwise simply append the extension $defaultoutext + { + $outfname= $infname . "$defaultoutext"; + } + if (!$forceoverwrite and -s "$outfname") + { + die "$prgname: Sorry, file named $outfname already exists,", + " will not overwrite it.\n", + " You will have to use the -f option, delete it or rename it", + " before running $prgname again.\n"; + } + else + { + open($outfhandle,">$outfname") or die "Can't open file $outfname for writing: $!\n"; + } + } #end else input is not stdin + + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + ## -- process input file -- + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + $linefilter= '^$'; #'# filter empty lines by default + while (<$infhandle>) + { + # get postscript and DSC version + if (/%!PS-Adobe-(\S+).*EPSF-(\S+)/) + { + $PSversion=$1; + $PSDSCversion=$2; + if (! ($PSversion =~ /\d+\.\d+/)) + { + $PSDSCversion="2.0"; + } + if (! ($PSDSCversion =~ /\d+\.\d+/)) + { + $PSDSCversion="2.0"; + } + } + + # check for existing BoundingBox parameters + if ( /^%%\s*BoundingBox:\s*(.*)/ && !defined($eBBllx) ) + { + $BBarg= $1; + # accept even negative and fractional BBs + if ( $BBarg =~ /(\-?\d+\.?\d*\s+){3,}\d+/ ) # ignore %% BoundingBox: (atend) comments + { + ($eBBllx,$eBBlly,$eBBurx,$eBBury,$dummy)= split /\s/,$BBarg; + #print STDERR "Existing BB: $eBBllx,$eBBlly,$eBBurx,$eBBury\n"; + if (int($eBBllx) < 0) { $translate_x= - int($eBBllx-0.5); } + if (int($eBBlly) < 0) { $translate_y= - int($eBBlly-0.5); } + + $xpixels= int((($eBBurx-$eBBllx) * $resolution)/72)+1; + $ypixels= int((($eBBury-$eBBlly) * $resolution)/72)+1; + if (!$ignoreBB) + { + $gpar= "-g${xpixels}x${ypixels}"; + # check for meaningful values + if (($xpixels <= 1) || ($ypixels <= 1)) + { + $gpar=""; undef $eBBllx; undef $eBBlly; + } + else + { + if (!$quiet) + { + print STDERR "Rendering with existing $_"; + if (int($eBBllx) < 0 || int($eBBlly) < 0) + { + print STDERR "WARNING: existing Bounding Box shows negative values - shifting\n"; + } + } + } + } #endif !$ignoreBB + } #endif $BBarg =~ + } + + + if ($fixthisps) # try to fix bad postscript code + { + # check for Windows 3.x output + if ( /^Win.*Dict/ ) + { + if (!$quiet && !$fixmsgprinted) + { print STDERR "Windows 3.5 generated Postscript file detected, fixing\n"; } + $linefilter= '^(EJ|RS)'; + $rangefilter_begin= '^statusdict'; + $rangefilter_end= 'cvx\ settransfer$'; #' + $fixmsgprinted= 1; # stop printing message + } + else + { + if ( /^%%Creator:\s*Wind.U\s*Xprinter/ ) + { + if (!$quiet && !$fixmsgprinted) + { print STDERR "Star/OpenOffice generated Postscript file detected, fixing\n"; } + $linefilter= '^rs'; + $fixmsgprinted= 1; # stop printing message + } + else + { + if ( $forcefixps || + /^\/NTPS/ || + /Creator:\s*(AdobePS|Pscript|.*Windows)/i ) #check for NT generated output + { + if (!$quiet && !$fixmsgprinted) + { + if ($forcefixps) + { + print STDERR "Postscript filtering requested, fixing\n"; + } + else + { + print STDERR "Windows generated Postscript file detected, fixing\n"; + } + } + $rangefilter_begin= '^((\[\{)|(featurebegin\{))$'; #' + $rangefilter_end= '^(\} stopped cleartomark|\}featurecleanup)'; + $exclude_rangefilter_begin= '^(?i)%%BeginNonPPDFeature'; #' + $exclude_rangefilter_end= '^(?i)%%EndNonPPDFeature'; + #$triggered_rangefilter_begin= ''; #' + #$triggered_rangefilter_end= ''; #' + $fixsearchpat='(^|\s)(initmatrix|initclip|initgraphics)(\s|$)'; + $fixreplacepat=' '; + $fixmsgprinted= 1; # stop printing message + } # end if NTPS + } #end else + } + } #end if trytofixps + + if (defined($tmpfhandle)) + { + print $tmpfhandle $_ or die "$prgname: Failure during writing to temporary file $tmpfname"; + } + + if (/^%%EOF\s*$/) + { + $totalEOFDSC++ + } + } #end while <$infhandle> + + if (defined($tmpfhandle)) + { + close($tmpfhandle); + } + else + { + $tmpfhandle= $infhandle; + $tmpfname= $infname; + } + + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + ## -- calculate the bounding box -- + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + if ($translate_x!=0 || $translate_y!=0) + { + $translation="$translate_x $translate_y translate"; + $translatecmd="-c $translation"; + } + else + { + $translation=""; + $translatecmd=""; + } + + if (!$quiet) + { + print STDERR "Calculating Bounding Box..."; + if ($opt_s) + { + print STDERR "using page size $opt_s..."; + } + } + + $rotatecmd=''; + if ($rotate ne '') + { + $rotatecmd="-c \"$rotate\"" + } + if ($bboxname ne '') + { + $cmdline="$ghostscriptname -dSAFER -dNOPAUSE -q $gpar -r$resolution -sDEVICE=$device -sOutputFile=- $translatecmd -f $tmpfname -c showpage -c quit | $bboxname -r $resolution"; + } + else + { + if (!$quiet) { + print STDERR "...using bbox device of $ghostscriptname..."; + } + $cmdline = "$ghostscriptname -dSAFER -dBATCH -dNOPAUSE -q $gpar -r$resolution -sDEVICE=bbox -sOutputFile=- -c \"/setpagedevice {pop} def\" $translatecmd -f $tmpfname -c quit 2>&1"; + } + + if ($debuggs) { print STDERR "\nCalling: $cmdline\n"; } + + # actual ghostscript call + $boundingbox=`$cmdline`; + if ($debuggs) { print STDERR "Call result: $boundingbox"; } + + # check result of gs call + if ($boundingbox !~ /^%%BoundingBox/m) + { + print STDERR "Error: Could not determine bounding box!\n", + "I suppose $ghostscriptname had some trouble interpreting the postscript-file\n"; + } + + $boundingbox =~ /^%%HiResBoundingBox:\s*(.*)/m; + if (defined($1)) # HiResBoundingBox given + { + ($hcBBllx,$hcBBlly,$hcBBurx,$hcBBury,$dummy)= split(/\s/,$1); + $hiresboundingbox="%%HiResBoundingBox: $hcBBllx $hcBBlly $hcBBurx $hcBBury\n"; + $cBBllx = floor($hcBBllx); + $cBBlly = floor($hcBBlly); + $cBBurx = ceil($hcBBurx); + $cBBury = ceil($hcBBury); + } + else + { #use normal BoundingBox + $boundingbox =~ /^%%.*BoundingBox:\s*(.*)/; + ($cBBllx,$cBBlly,$cBBurx,$cBBury,$dummy)= split(/\s/,$1); + } + # if loose BB should be performed by ps2eps + # apply changes to resulting bounding box if needed + if ($looseBB ne '') + { + if ($cBBllx > 0) { $cBBllx--; } + if ($cBBlly > 0) { $cBBlly--; } + $cBBurx++; $cBBury++; + } + # extend clipping box by 1 point + if ($clip) + { + if ($cBBllx > 0) { $cBBllx--; } + if ($cBBlly > 0) { $cBBlly--; } + $cBBurx++; $cBBury++; + } + if ($cBBllx < 0 || $cBBlly < 0) + { + if (!$quiet) + { + print STDERR "WARNING! Your drawing had a negative Bounding Box which is deprecated and may cause problems!. I'll shift it.\n"; + } + $translate_x= -int($cBBllx); + $translate_y= -int($cBBlly); + $cBBllx=0; + $cBBurx= $cBBurx + $translate_x; + $cBBlly=0; + $cBBury= $cBBury + $translate_y; + + $hcBBurx= $hcBBurx + $hcBBllx; + $hcBBury= $hcBBury + $hcBBlly; + $hcBBllx= 0; + $hcBBlly= 0; + + $hiresboundingbox="%%HiResBoundingBox: $hcBBllx $hcBBlly $hcBBurx $hcBBury\n"; + + $translation="$translate_x $translate_y translate"; + $translatecmd="-c \'$translation\'"; + } + $boundingbox = "%%BoundingBox: $cBBllx $cBBlly $cBBurx $cBBury\n"; + + if (!$quiet) { print STDERR "ready. $boundingbox" }; + + $before_startps= 1; + $inserted_prolog= 0; + $prolog_passed= 0; + + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + ## -- Create output file -- + ## %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + if (!$quiet) { print STDERR "Creating output file $outfname..."; } + + open($tmpfhandle,"<$tmpfname") or die "Cannot open file $tmpfname for reading"; + CREATEOUTPUT: + while (<$tmpfhandle>) + { + # check whether we are in a binary section + + $binarysection=(/^(%%BeginBinary)|(beginimage)\r?\n?$/ ... /^(%%EndBinary)|^(endimage)/) || + (/^(doNimage)|(doclutimage)\r?\n?$/ ... /(^|~> )Z\r?\n?$/) || # Pscript_Win_Dib_L2 5.0 0 + (/^beginjpeg / ... /~> endjpeg\r?\n?$/) || # Pscript_Win_Dib_L2 5.0 0 + (/^pdfIm/ ... /^%-EOD-/); + + if ( !$binarysection ) + { + s/\r?\n?$//; # remove CR and/or LF at end of line if not in binary section + } + + # check where magic Postscript header starts - skip leading binary stuff, e.g., HP PCL/PJL code + if ($before_startps) + { + if ( /%!/ ) # This is usually the smallest magic sequence + { # Note: Adobe Photoshop generated a binary heading, so ^ is not applicable + # %! may be part of a binary sequence, but then control characters follow + # so skip %! if non alphanumeric characters follow + if ( ! /%!.*[^\w]{2,}/ ) + { + # some heading without two control characters found + $before_startps= 0; + if (! /%!PS-Adobe.*/i) # some strange programs use other magics + { + print STDERR "** Warning **: Weird heading line -- ",$_," -- "; + } + } + } + next CREATEOUTPUT; + } + else # we are hopefully in regular postscript code now + { + # count %%EOFs as we want to know when we got the last EOF + if ( /^%%EOF\s*$/ ) + { + $seenEOF++; + } + + # We should insert our own prologue including the newly calculated BoundingBox + if (! $inserted_prolog) + { + print $outfhandle "%!PS-Adobe-$PSversion EPSF-$PSDSCversion\n"; + # check if we need to rotate + $transrotcmd=''; + if ($rotatecmd) + { + if ($rotate eq $rotright) + { + $transrotcmd="-$cBBlly $cBBurx translate"; + $boundingbox='%%BoundingBox: 0 0 ' . ($cBBury-$cBBlly) . ' ' . ($cBBurx-$cBBllx) . "\n"; + if ($hiresboundingbox ne "") + { + $hiresboundingbox='%%HiResBoundingBox: 0 0 ' . ($hcBBury-$hcBBlly) . ' ' . ($hcBBurx-$hcBBllx) . "\n"; + } + + } + elsif ($rotate eq $rotleft) + { + $transrotcmd="$cBBury -$cBBllx translate"; + $boundingbox='%%BoundingBox: 0 0 ' . ($cBBury-$cBBlly) . ' ' . ($cBBurx-$cBBllx) . "\n"; + if ($hiresboundingbox ne "") + { + $hiresboundingbox= '%%HiResBoundingBox: 0 0 ' . ($hcBBury-$hcBBlly) . ' ' . ($hcBBurx-$hcBBllx) . "\n"; + } + } + elsif ($rotate eq $rotupsidedown) + { + $transrotcmd="$cBBurx $cBBury translate"; + $boundingbox='%%BoundingBox: 0 0 ' . ($cBBurx-$cBBllx) . ' ' . ($cBBury-$cBBlly) . "\n"; + if ($hiresboundingbox ne "") + { + $hiresboundingbox='%%HiResBoundingBox: 0 0 ' . ($hcBBurx-$hcBBllx) . ' ' . ($hcBBury-$hcBBlly) . "\n"; + } + } + } + print $outfhandle $boundingbox; + if (!defined($hiresboundingbox)) + { + $nohires=1; + } + if (defined($hiresboundingbox) && !defined($nohires)) { print $outfhandle $hiresboundingbox; } + $inserted_prolog= 1; + redo CREATEOUTPUT; + } + else # already inserted_prolog + { + if (! $prolog_passed) + { + #ignore the following lines in the prologue + if ( /^%%(HiRes)?BoundingBox/ || + /^%%Pages/ || + /^%%BeginProlog/ || + /^%%EndProlog/ || + ($filterorientation && /^%%Orientation/) || + ($removeDSC && /^%%.*: \(atend\)/) || + ($removePreview && (/^%%BeginPreview/ ... /^%%EndPreview/)) ) + { + next CREATEOUTPUT; + } + else + { + if ( /^[^%].*/ || + /^%%EndComments/ ) # line is not a comment + { + #output postscript code for proper EPS file + if ($insertPScode) + { + print $outfhandle "%%EndComments\n", + "% EPSF created by ps2eps $ver[2]\n", + "%%BeginProlog\n"; + } + # Insert own postscript code for clipping + if ($clip) + { + if (!defined($nohires)) + { + printf $outfhandle "newpath %f %f moveto %f %f lineto %f %f lineto %f %f lineto closepath clip\n",$hcBBllx-0.1,$hcBBlly-0.1,$hcBBurx+0.1,$hcBBlly-0.1,$hcBBurx+0.1,$hcBBury+0.1,$hcBBllx-0.1,$hcBBury+0.1; + } + else + { + printf $outfhandle "newpath %d %d moveto %d %d lineto %d %d lineto %d %d lineto closepath clip\n",$cBBllx,$cBBlly,$cBBurx,$cBBlly,$cBBurx,$cBBury,$cBBllx,$cBBury; + } + } #endif clip + + if ($rotate ne '') + { + print $outfhandle "$transrotcmd\n"; + print $outfhandle "$rotate\n"; + } + if ($translation ne '') + { + print $outfhandle "$translation\n"; + } + + #insert surrounding postscript code + if ($insertPScode) + { + print $outfhandle "save\n", + "countdictstack\n", + "mark\n", + "newpath\n", + "/showpage {} def\n", + "/setpagedevice {pop} def\n", + "%%EndProlog\n", + "%%Page 1 1\n"; + } + $prolog_passed= 1; + if (/^%%EndComments/) { next CREATEOUTPUT; } + } #endif line is not a comment + } #end else + } #endif (we are in the prologue section) + else #we are in the main part of postscript file + { + #end of postscript file reached? + #Usually the DSC %%EOF signifies the end + if ( eof($tmpfhandle) || + ($ignoreEOFDSC == 0 && /^%%EOF\s*$/ && $seenEOF == $totalEOFDSC) + || ( $trailerseen && /^II\*\000.*/ ) + ) + { + #do not forget to print last line if not terminated by LF + if ( eof($tmpfhandle) && !/^$/ && !/^%%EOF\s*$/ ) # do not insert %%EOF twice + { + print $outfhandle $_,"\n"; + } + #add appropriate trailer + if ($insertPScode) + { + print $outfhandle "%%Trailer\n", + "cleartomark\n", + "countdictstack\n", + "exch sub { end } repeat\n", + "restore\n", + "%%EOF\n"; + } + last CREATEOUTPUT; + } # stop output + + # Trailer comment seen? + if ( /^%%Trailer\s*$/ ) + { + $trailerseen=1; + } + else + { + if (!/^\s*$/) #non empty lines follow + { + $trailerseen=0; + } + } + + # check for trigger + if (defined($triggerstring) && /^$triggerstring$/) + { + $trigger= 1; + }; + + # remove complete lines if one of the expression matches + if ( !$binarysection # only when not in binary section + && + ( + ($removePreview && (/^%%BeginPreview/ ... /^%%EndPreview/)) + || # no preview + (defined($rangefilter_begin) && + (/$rangefilter_begin/ ... /$rangefilter_end/) && + (!(/$exclude_rangefilter_begin/ ... /$exclude_rangefilter_end/)) + ) + || + (defined($triggered_rangefilter_begin) && defined($triggered_rangefilter_end) && + $trigger && + (/$triggered_rangefilter_begin/ ... /$triggered_rangefilter_end/) + ) + || + /$linefilter/ # lines by linefilter + || + ($removeDSC && (/^%( |!)(\w )+/ || /^%%([A-Za-z]+\s)/)) # any type of structured comment + || + ($removeADO && + (/^statusdict begin.*ProductName.*print product print.*flush end\r?\n?$/ || + /^\(%%\[\s*(Page:.*|LastPage)\s*\]%%\)\s*=\s*\w*\s*\r?\n?/ )) + || + /^$/ # empty lines + ) + ) + { + next CREATEOUTPUT; + } + + # replacement + if ( defined($fixsearchpat) ) + { + #if (/$fixsearchpat/) { print STDERR "**filter** before:",$_,"\n"; } + #if (s/$fixsearchpat/$fixreplacepat/) { print STDERR "**filter** after:",$_,"\n";} + s/$fixsearchpat/$fixreplacepat/; + } + + # sanity check for potential dangerous commands + if ( /(^|\s)(clear|erasepage|initmatrix|initclip|initgraphics|startjob|cleardictstack|setmatrix|setpagedevice|copypage|grestoreall|exitserver|quit)(\s|$)/ ) + { + $notsane= 1; + #print STDERR "Warning: dangerous command in line: ",$_,"\n"; + } + } # end else (this is main part) + + # Output the postscript line to result file + print $outfhandle $_; + + if (!$binarysection) + { + print $outfhandle "\n"; # terminate line with LF + } + } # end else prolog_passed + } # end else inserted_prolog + } # end while CREATEOUTPUT + + close($tmpfhandle); + + if ($tmpfname ne $infname) { unlink "$tmpfname"; } #remove temporary file + + close ($outfhandle); + + # print warning if magic sequence not found + if ( $before_startps ) + { + print STDERR "\n ** Error!! **: could not identify begin of postscript code in file $infname, please check header line!\n First line should start with %!. No output generated.\n"; + } + + if (!$quiet) { print STDERR "ready.\n"; } + if ($warnings and $notsane and !$quiet) + { + print STDERR "** Warning **: EPS-output for $infname is not sane, at least one\n", + "of the following commands was still present:\n", + "clear erasepage initmatrix initclip initgraphics startjob\n", + "cleardictstack setmatrix setpagedevice copypage grestoreall\n", + "exitserver quit\n"; + } +} #end while PROCESSFILE + +# ---- end of perl-script ------- diff --git a/Master/bin/sparc-solaris/ps2pk b/Master/bin/sparc-solaris/ps2pk Binary files differindex ed7aca17729..dc677a7ebcc 100755 --- a/Master/bin/sparc-solaris/ps2pk +++ b/Master/bin/sparc-solaris/ps2pk diff --git a/Master/bin/sparc-solaris/psbook b/Master/bin/sparc-solaris/psbook Binary files differindex bdf0242a16d..f3c09b696bd 100755 --- a/Master/bin/sparc-solaris/psbook +++ b/Master/bin/sparc-solaris/psbook diff --git a/Master/bin/sparc-solaris/psnup b/Master/bin/sparc-solaris/psnup Binary files differindex 3bc1ee59bf8..b56abff0b59 100755 --- a/Master/bin/sparc-solaris/psnup +++ b/Master/bin/sparc-solaris/psnup diff --git a/Master/bin/sparc-solaris/psresize b/Master/bin/sparc-solaris/psresize Binary files differindex b14afa5ca9f..b3478c43669 100755 --- a/Master/bin/sparc-solaris/psresize +++ b/Master/bin/sparc-solaris/psresize diff --git a/Master/bin/sparc-solaris/psselect b/Master/bin/sparc-solaris/psselect Binary files differindex 3b098defbce..db8ad904f20 100755 --- a/Master/bin/sparc-solaris/psselect +++ b/Master/bin/sparc-solaris/psselect diff --git a/Master/bin/sparc-solaris/pstops b/Master/bin/sparc-solaris/pstops Binary files differindex 6a54a90d732..c7224cb713a 100755 --- a/Master/bin/sparc-solaris/pstops +++ b/Master/bin/sparc-solaris/pstops diff --git a/Master/bin/sparc-solaris/purifyeps b/Master/bin/sparc-solaris/purifyeps new file mode 120000 index 00000000000..d6919b530ed --- /dev/null +++ b/Master/bin/sparc-solaris/purifyeps @@ -0,0 +1 @@ +../../texmf-dist/scripts/purifyeps/purifyeps
\ No newline at end of file diff --git a/Master/bin/sparc-solaris/svn-multi b/Master/bin/sparc-solaris/svn-multi new file mode 120000 index 00000000000..9f3e6f9d9b7 --- /dev/null +++ b/Master/bin/sparc-solaris/svn-multi @@ -0,0 +1 @@ +../../texmf-dist/scripts/svn-multi/svn-multi.pl
\ No newline at end of file diff --git a/Master/bin/sparc-solaris/synctex b/Master/bin/sparc-solaris/synctex Binary files differindex bbfd90825b1..90bd9401d06 100755 --- a/Master/bin/sparc-solaris/synctex +++ b/Master/bin/sparc-solaris/synctex diff --git a/Master/bin/sparc-solaris/t1dotlessj b/Master/bin/sparc-solaris/t1dotlessj Binary files differindex bfc76f264a7..2ed8425e057 100755 --- a/Master/bin/sparc-solaris/t1dotlessj +++ b/Master/bin/sparc-solaris/t1dotlessj diff --git a/Master/bin/sparc-solaris/t1lint b/Master/bin/sparc-solaris/t1lint Binary files differindex 7e1375b5e2e..b9463172101 100755 --- a/Master/bin/sparc-solaris/t1lint +++ b/Master/bin/sparc-solaris/t1lint diff --git a/Master/bin/sparc-solaris/t1rawafm b/Master/bin/sparc-solaris/t1rawafm Binary files differnew file mode 100755 index 00000000000..b565f31d13c --- /dev/null +++ b/Master/bin/sparc-solaris/t1rawafm diff --git a/Master/bin/sparc-solaris/t1reencode b/Master/bin/sparc-solaris/t1reencode Binary files differindex a652352cfe3..57545ebf82d 100755 --- a/Master/bin/sparc-solaris/t1reencode +++ b/Master/bin/sparc-solaris/t1reencode diff --git a/Master/bin/sparc-solaris/t1testpage b/Master/bin/sparc-solaris/t1testpage Binary files differindex 288952be3d3..b61ba93e5bc 100755 --- a/Master/bin/sparc-solaris/t1testpage +++ b/Master/bin/sparc-solaris/t1testpage diff --git a/Master/bin/sparc-solaris/t4ht b/Master/bin/sparc-solaris/t4ht Binary files differindex e87cecd5528..5a3e6c73e2d 100755 --- a/Master/bin/sparc-solaris/t4ht +++ b/Master/bin/sparc-solaris/t4ht diff --git a/Master/bin/sparc-solaris/tangle b/Master/bin/sparc-solaris/tangle Binary files differindex acf7e6e9d27..322b7cfdefd 100755 --- a/Master/bin/sparc-solaris/tangle +++ b/Master/bin/sparc-solaris/tangle diff --git a/Master/bin/sparc-solaris/tcdialog b/Master/bin/sparc-solaris/tcdialog Binary files differindex fb1342e92ce..ca5582a6b08 100755 --- a/Master/bin/sparc-solaris/tcdialog +++ b/Master/bin/sparc-solaris/tcdialog diff --git a/Master/bin/sparc-solaris/tex b/Master/bin/sparc-solaris/tex Binary files differindex 3fdc20de843..a06da00b8ee 100755 --- a/Master/bin/sparc-solaris/tex +++ b/Master/bin/sparc-solaris/tex diff --git a/Master/bin/sparc-solaris/tex4ht b/Master/bin/sparc-solaris/tex4ht Binary files differindex dcb6d607999..b60d1dd4c2a 100755 --- a/Master/bin/sparc-solaris/tex4ht +++ b/Master/bin/sparc-solaris/tex4ht diff --git a/Master/bin/sparc-solaris/texi2dvi b/Master/bin/sparc-solaris/texi2dvi deleted file mode 100755 index 877ea9599dd..00000000000 --- a/Master/bin/sparc-solaris/texi2dvi +++ /dev/null @@ -1,1791 +0,0 @@ -#! /bin/sh -# texi2dvi --- produce DVI (or PDF) files from Texinfo (or (La)TeX) sources. -# $Id: texi2dvi,v 1.133 2008/08/11 00:18:29 karl Exp $ -# -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, -# or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# -# Original author: Noah Friedman. -# -# Please send bug reports, etc. to bug-texinfo@gnu.org. -# If possible, please send a copy of the output of the script called with -# the `--debug' option when making a bug report. - -test -f /bin/ksh && test -z "$RUNNING_KSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; } -unset RUNNING_KSH - -# No failure shall remain unpunished. -set -e - -# This string is expanded by rcs automatically when this file is checked out. -rcs_revision='$Revision: 1.133 $' -rcs_version=`set - $rcs_revision; echo $2` -program=`echo $0 | sed -e 's!.*/!!'` - -build_mode=${TEXI2DVI_BUILD_MODE:-local} -build_dir=${TEXI2DVI_BUILD_DIRECTORY:-.} - -# Initialize variables for option overriding and otherwise. -# Don't use `unset' since old bourne shells don't have this command. -# Instead, assign them an empty value. -action=compile -batch=false # true for batch mode -debug=false -escape="\\" -expand= # t for expansion via makeinfo -includes= -line_error=true # Pass --file-line-error to TeX. -no_line_error=false # absolutely do not pass --file-line-error to TeX -oname= # --output -out_lang=dvi -quiet=false # by default let the tools' message be displayed -recode=false -set_language= -src_specials= -textra= # Extra TeX commands to insert in the input file. -txiprereq=19990129 # minimum texinfo.tex version with macro expansion -verb=false # true for verbose mode -translate_file= # name of charset translation file -recode_from= # if not empty, recode from this encoding to @documentencoding - -orig_pwd=`pwd` - -# We have to initialize IFS to space tab newline since we save and -# restore IFS and apparently POSIX allows stupid/broken behavior with -# empty-but-set IFS. -# http://lists.gnu.org/archive/html/automake-patches/2006-05/msg00008.html -# We need space, tab and new line, in precisely that order. And don't leave -# trailing blanks. -space=' ' -tab=' ' -newline=' -' -IFS="$space$tab$newline" - -# In case someone pedantic insists on using grep -E. -: ${EGREP=egrep} - -# Systems which define $COMSPEC or $ComSpec use semicolons to separate -# directories in TEXINPUTS -- except for Cygwin et al., where COMSPEC -# might be inherited, but : is used. -if test -n "$COMSPEC$ComSpec" \ - && uname | $EGREP -iv 'cygwin|mingw|djgpp' >/dev/null; then - path_sep=";" -else - path_sep=":" -fi - -# Pacify verbose cds. -CDPATH=${ZSH_VERSION+.}$path_sep - -# If $TEX is set to a directory, don't use it. -test -n "$TEX" && test -d "$TEX" && unset TEX - -# -## --------------------- ## -## Auxiliary functions. ## -## --------------------- ## - -# In case `local' is not supported by the shell, provide a function -# that simulates it by simply performing the assignments. This means -# that we must not expect `local' to work, i.e., we must not (i) rely -# on it during recursion, and (ii) have two local declarations of the -# same variable. (ii) is easy to check statically, and our test suite -# does make sure there is never twice a static local declaration of a -# variable. (i) cannot be checked easily, so just be careful. -# -# Note that since we might use a function simulating `local', we can -# no longer rely on the fact that no IFS-splitting is performed. So, -# while -# -# foo=$bar -# -# is fine (no IFS-splitting), never write -# -# local foo=$bar -# -# but rather -# -# local foo="$bar" -( - foo=bar - test_local () { - local foo=foo - } - test_local - test $foo = bar -) || local () { - case $1 in - *=*) eval "$1";; - esac -} - - -# cd_orig -# ------- -# Return to the original directory. -cd_orig () -{ - # In case $orig_pwd is on a different drive (for DOS). - cd / - - # Return to the original directory so that - # - the next file is processed in correct conditions - # - the temporary file can be removed - cd "$orig_pwd" || exit 1 -} - -# func_dirname FILE -# ----------------- -# Return the directory part of FILE. -func_dirname () -{ - dirname "$1" 2>/dev/null \ - || { echo "$1" | sed 's!/[^/]*$!!;s!^$!.!'; } -} - - -# absolute NAME -> ABS-NAME -# ------------------------- -# Return an absolute path to NAME. -absolute () -{ - case $1 in - [\\/]* | ?:[\\/]*) - # Absolute paths don't need to be expanded. - echo "$1" - ;; - *) local slashes - slashes=`echo "$1" | sed -n 's,.*[^/]\(/*\)$,\1,p'` - local rel - rel=$orig_pwd/`func_dirname "$1"` - if test -d "$rel"; then - (cd "$rel" 2>/dev/null && - local n - n=`pwd`/`basename "$1"`"$slashes" - echo "$n") - else - error 1 "not a directory: $rel" - fi - ;; - esac -} - - -# ensure_dir DIR1 DIR2... -# ----------------------- -# Make sure the directories exist. -ensure_dir () -{ - for dir - do - test -d "$dir" \ - || mkdir "$dir" \ - || error 1 "cannot create directory: $dir" - done -} - - -# error EXIT_STATUS LINE1 LINE2... -# -------------------------------- -# Report an error and exit with failure if EXIT_STATUS is non null. -error () -{ - local s="$1" - shift - report "$@" - if test "$s" != 0; then - exit $s - fi -} - - -# findprog PROG -# ------------- -# Return true if PROG is somewhere in PATH, else false. -findprog () -{ - local saveIFS="$IFS" - IFS=$path_sep # break path components at the path separator - for dir in $PATH; do - IFS=$saveIFS - # The basic test for an executable is `test -f $f && test -x $f'. - # (`test -x' is not enough, because it can also be true for directories.) - # We have to try this both for $1 and $1.exe. - # - # Note: On Cygwin and DJGPP, `test -x' also looks for .exe. On Cygwin, - # also `test -f' has this enhancement, bot not on DJGPP. (Both are - # design decisions, so there is little chance to make them consistent.) - # Thusly, it seems to be difficult to make use of these enhancements. - # - if { test -f "$dir/$1" && test -x "$dir/$1"; } || - { test -f "$dir/$1.exe" && test -x "$dir/$1.exe"; }; then - return 0 - fi - done - return 1 -} - -# report LINE1 LINE2... -# --------------------- -# Report some information on stderr. -report () -{ - for i in "$@" - do - echo >&2 "$0: $i" - done -} - - -# run COMMAND-LINE -# ---------------- -# Run the COMMAND-LINE verbosely, and catching errors as failures. -run () -{ - verbose "Running $@" - "$@" 2>&5 1>&2 || - error 1 "$1 failed" -} - - -# usage -# ----- -# Display usage and exit successfully. -usage () -{ - # We used to simply have `echo "$usage"', but coping with the - # changing behavior of `echo' is much harder than simply using a - # here-doc. - # - # echo '\noto' echo '\\noto' echo -e '\\noto' - # bash 3.1 \noto \\noto \noto - # bash 3.2 %oto \noto -e \noto - # - # where % denotes the eol character. - cat <<EOF -Usage: $program [OPTION]... FILE... - -Run each Texinfo or (La)TeX FILE through TeX in turn until all -cross-references are resolved, building all indices. The directory -containing each FILE is searched for included files. The suffix of FILE -is used to determine its language ((La)TeX or Texinfo). To process -(e)plain TeX files, set the environment variable LATEX=tex. - -In order to make texi2dvi a drop-in replacement of TeX/LaTeX in AUC-TeX, -the FILE may also be composed of the following simple TeX commands. - \`\\input{FILE}' the actual file to compile - \`\\nonstopmode' same as --batch - -Makeinfo is used to perform Texinfo macro expansion before running TeX -when needed. - -General options: - -b, --batch no interaction - -D, --debug turn on shell debugging (set -x) - -h, --help display this help and exit successfully - -o, --output=OFILE leave output in OFILE (implies --clean); - only one input FILE may be specified in this case - -q, --quiet no output unless errors (implies --batch) - -s, --silent same as --quiet - -v, --version display version information and exit successfully - -V, --verbose report on what is done - -TeX tuning: - -@ use @input instead of \input for preloaded Texinfo - --dvi output a DVI file [default] - --dvipdf output a PDF file via DVI (using dvipdf) - -e, -E, --expand force macro expansion using makeinfo - -I DIR search DIR for Texinfo files - -l, --language=LANG specify LANG for FILE, either latex or texinfo - --no-line-error do not pass --file-line-error to TeX - -p, --pdf use pdftex or pdflatex for processing - -r, --recode call recode before TeX to translate input - --recode-from=ENC recode from ENC to the @documentencoding - --src-specials pass --src-specials to TeX - -t, --command=CMD insert CMD in copy of input file - or --texinfo=CMD multiple values accumulate - --translate-file=FILE use given charset translation file for TeX - -Build modes: - --build=MODE specify the treatment of auxiliary files [$build_mode] - --tidy same as --build=tidy - -c, --clean same as --build=clean - --build-dir=DIR specify where the tidy compilation is performed; - implies --tidy; - defaults to TEXI2DVI_BUILD_DIRECTORY [$build_dir] - --mostly-clean remove the auxiliary files and directories - but not the output - -The MODE specifies where the TeX compilation takes place, and, as a -consequence, how auxiliary files are treated. The build mode -can also be set using the environment variable TEXI2DVI_BUILD_MODE. - -Valid MODEs are: - \`local' compile in the current directory, leaving all the auxiliary - files around. This is the traditional TeX use. - \`tidy' compile in a local *.t2d directory, where the auxiliary files - are left. Output files are copied back to the original file. - \`clean' same as \`tidy', but remove the auxiliary directory afterwards. - Every compilation therefore requires the full cycle. - -Using the \`tidy' mode brings several advantages: - - the current directory is not cluttered with plethora of temporary files. - - clutter can be even reduced using --build-dir=dir: all the *.t2d - directories are stored there. - - clutter can be reduced to zero using, e.g., --build-dir=/tmp/\$USER.t2d - or --build-dir=\$HOME/.t2d. - - the output file is updated after every succesful TeX run, for - sake of concurrent visualization of the output. In a \`local' build - the viewer stops during the whole TeX run. - - if the compilation fails, the previous state of the output file - is preserved. - - PDF and DVI compilation are kept in separate subdirectories - preventing any possibility of auxiliary file incompatibility. - -On the other hand, because \`tidy' compilation takes place in another -directory, occasionally TeX won't be able to find some files (e.g., when -using \\graphicspath): in that case use -I to specify the additional -directories to consider. - -The values of the BIBTEX, LATEX (or PDFLATEX), MAKEINDEX, MAKEINFO, -TEX (or PDFTEX), TEXINDEX, and THUMBPDF environment variables are used -to run those commands, if they are set. Any CMD strings are added -after @setfilename for Texinfo input, in the first line for LaTeX input. - -Email bug reports to <bug-texinfo@gnu.org>, -general questions and discussion to <help-texinfo@gnu.org>. -Texinfo home page: http://www.gnu.org/software/texinfo/ -EOF - exit 0 -} - - -# verbose WORD1 WORD2 -# ------------------- -# Report some verbose information. -verbose () -{ - if $verb; then - echo >&2 "$0: $@" - fi -} - - -# version -# ------- -# Display version info and exit succesfully. -version () -{ - cat <<EOF -texi2dvi (GNU Texinfo 4.12+) $rcs_version - -Copyright (C) 2008 Free Software Foundation, Inc. -License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> -This is free software: you are free to change and redistribute it. -There is NO WARRANTY, to the extent permitted by law. -EOF - exit 0 -} - - -## ---------------- ## -## Handling lists. ## -## ---------------- ## - - -# list_append LIST-NAME ELEM -# -------------------------- -# Set LIST-NAME to its former contents, with ELEM appended. -list_append () -{ - local la_l="$1" - shift - eval set X \$$la_l "$@" - shift - eval $la_l=\""$@"\" -} - - -# list_concat_dirs LIST-NAME DIR-LIST -# ----------------------------------- -# Append to LIST-NAME all the components (included empty) from -# the $path_sep separated list DIR-LIST. Make the paths absolute. -list_concat_dirs () -{ - local lcd_list="$1" - # Empty path components are meaningful to tex. We rewrite them as - # `EMPTY' so they don't get lost when we split on $path_sep. - # Hopefully no one will have an actual directory named EMPTY. - local replace_EMPTY="-e 's/^$path_sep/EMPTY$path_sep/g' \ - -e 's/$path_sep\$/${path_sep}EMPTY/g' \ - -e 's/$path_sep$path_sep/${path_sep}EMPTY:/g'" - save_IFS=$IFS - IFS=$path_sep - set x `echo "$2" | eval sed $replace_EMPTY`; shift - IFS=$save_IFS - local dir - for dir - do - case $dir in - EMPTY) - list_append $lcd_list "" - ;; - *) - if test -d $dir; then - dir=`absolute "$dir"` - list_append $lcd_list "$dir" - fi - ;; - esac - done -} - - -# list_prefix LIST-NAME SEP -> STRING -# ----------------------------------- -# Return a string that is composed of the LIST-NAME with each item -# preceded by SEP. -list_prefix () -{ - local lp_p="$2" - eval set X \$$1 - shift - local lp_res - for i - do - lp_res="$lp_res \"$lp_p\" \"$i\"" - done - echo "$lp_res" -} - -# list_infix LIST-NAME SEP -> STRING -# ---------------------------------- -# Same as list_prefix, but a separator. -list_infix () -{ - eval set X \$$1 - shift - local la_IFS="$IFS" - IFS=$path_sep - echo "$*" - IFS=$la_IFS -} - -# list_dir_to_abs LIST-NAME -# ------------------------- -# Convert the list to using only absolute dir names. -# Currently unused, but should replace absolute_filenames some day. -list_dir_to_abs () -{ - local ld_l="$1" - eval set X \$$ld_l - shift - local ld_res - for dir - do - dir=`absolute "$dir"` - test -d "$dir" || continue - ld_res="$ld_res \"$dir\"" - done - set X $ld_res; shift - eval $ld_l=\"$@\" -} - - -## ------------------------------ ## -## Language auxiliary functions. ## -## ------------------------------ ## - -# out_lang_tex -# ------------ -# Return the tex output language (DVI or PDF) for $OUT_LANG. -out_lang_tex () -{ - case $out_lang in - dvi | ps | dvipdf ) echo dvi;; - pdf ) echo $out_lang;; - html | info | text ) echo $out_lang;; - *) error 1 "$0: invalid out_lang: $1";; - esac -} - - -# out_lang_ext -# ------------ -# Return the extension for $OUT_LANG. -out_lang_ext () -{ - case $out_lang in - dvipdf ) echo pdf;; - dvi | html | info | pdf | ps | text ) echo $out_lang;; - *) error 1 "$0: invalid out_lang: $1";; - esac -} - - -## ------------------------- ## -## TeX auxiliary functions. ## -## ------------------------- ## - -# Save TEXINPUTS so we can construct a new TEXINPUTS path for each file. -# Likewise for bibtex and makeindex. -tex_envvars="BIBINPUTS BSTINPUTS DVIPSHEADERS INDEXSTYLE MFINPUTS MPINPUTS \ -TEXINPUTS TFMFONTS" -for var in $tex_envvars; do - eval ${var}_orig=\$$var - export $var -done - - -# absolute_filenames TEX-PATH -> TEX-PATH -# --------------------------------------- -# Convert relative paths to absolute paths, so we can run in another -# directory (e.g., in tidy build mode, or during the macro-support -# detection). Prepend ".". -absolute_filenames () -{ - # Empty path components are meaningful to tex. We rewrite them as - # `EMPTY' so they don't get lost when we split on $path_sep. - # Hopefully no one will have an actual directory named EMPTY. - local replace_empty="-e 's/^$path_sep/EMPTY$path_sep/g' \ - -e 's/$path_sep\$/${path_sep}EMPTY/g' \ - -e 's/$path_sep$path_sep/${path_sep}EMPTY:/g'" - local res - res=`echo "$1" | eval sed $replace_empty` - save_IFS=$IFS - IFS=$path_sep - set x $res; shift - res=. - for dir - do - case $dir in - EMPTY) - res=$res$path_sep - ;; - *) - if test -d "$dir"; then - res=$res$path_sep`absolute "$dir"` - else - # Even if $dir is not a directory, preserve it in the path. - # It might contain metacharacters that TeX will expand in - # turn, e.g., /some/path/{a,b,c}. This will not get the - # implicit absolutification of the path, but we can't help that. - res=$res$path_sep$dir - fi - ;; - esac - done - echo "$res" -} - - -# output_base_name FILE -# --------------------- -# The name of FILE, possibly renamed to satisfy --output. -output_base_name () -{ - case $oname in - '') echo "$1";; - *) local out_noext - out_noext=`echo "$oname" | sed 's/\.[^.]*$//'` - local file_ext - file_ext=`echo "$1" | sed 's/^.*\.//'` - echo "$out_noext.$file_ext" - ;; - esac -} - - -# move_to_dest FILE... -# -------------------- -# Move FILE to the place where the user expects it. Truly move it, that -# is, it must not remain in its build location unless that is also the -# output location. (Otherwise it might appear as an extra file in make -# distcheck.) -# -# FILE can be the principal output (in which case -o directly applies), or -# an auxiliary file with the same base name. -move_to_dest () -{ - local dest - local destfile - local destdir - local destbase - local sourcedir - local sourcebase - - for file - do - case $tidy:$oname in - true:) dest=$orig_pwd;; - false:) dest=;; - *:*) dest=`output_base_name "$file"`;; - esac - if test ! -f "$file"; then - error 1 "no such file or directory: $file" - fi - if test -n "$dest"; then - # We need to know whether $dest is a directory. - if test -d "$dest"; then - destdir=$dest - destfile=$dest/$file - else - destdir="`dirname $dest`" - destfile=$dest - fi - # We want to compare the source location and the output location, - # and if they are different, do the move. But if they are the - # same, we must preserve the source. Since we can't assume - # stat(1) or test -ef is available, resort to comparing the - # directory names, canonicalized with pwd. We can't use cmp -s - # since the output file might not actually change from run to run; - # e.g., TeX DVI output is timestamped to only the nearest minute. - destdir=`cd $destdir && pwd` - destbase=`basename $destfile` - # - sourcedir=`dirname $file` - sourcedir=`cd $sourcedir && pwd` - sourcebase=`basename $file` - # - if test "$sourcedir/$sourcebase" != "$destdir/$destbase"; then - verbose "Moving $file to $destfile" - rm -f "$destfile" - mv "$file" "$destfile" - fi - fi - done -} - - -## --------------------- ## -## Managing xref files. ## -## --------------------- ## - -# aux_file_p FILE -# --------------- -# Return with success with FILE is an aux file. -aux_file_p () -{ - test -f "$1" || return 1 - case $1 in - *.aux) return 0;; - *) return 1;; - esac -} - -# bibaux_file_p FILE -# ------------------ -# Return with success with FILE is an aux file containing citation -# requests. -bibaux_file_p () -{ - test -s "$1" || return 1 - if (grep '^\\bibstyle[{]' "$1" \ - && grep '^\\bibdata[{]' "$1" \ - ## The following line is suspicious: fails when there - ## are citations in sub aux files. We need to be - ## smarter in this case. - ## && grep '^\\citation[{]' "$f" - ) >&6 2>&1; - then - return 0 - fi - return 1 -} - -# index_file_p FILE -# ----------------- -# Return with success with FILE is an index file. -# When index.sty is used, there is a space before the brace. -index_file_p () -{ - test -f "$1" || return 1 - case `sed '1q' "$1"` in - "\\entry{"*|"\\indexentry{"*|"\\indexentry {"*) return 0;; - *) return 1;; - esac -} - -# xref_file_p FILE -# ---------------- -# Return with success if FILE is an xref file (indexes, tables and lists). -xref_file_p () -{ - test -f "$1" || return 1 - # If the file is not suitable to be an index or xref file, don't - # process it. It's suitable if the first character is a - # backslash or right quote or at, as long as the first line isn't - # \input texinfo. - case `sed '1q' "$1"` in - "\\input texinfo"*) return 1;; - [\\''@]*) return 0;; - *) return 1;; - esac -} - - -# generated_files_get FILENAME-NOEXT [PREDICATE-FILTER] -# ----------------------------------------------------- -# Return the list of files generated by the TeX compilation of FILENAME-NOEXT. -generated_files_get () -{ - local filter=true - if test -n "$2"; then - filter=$2 - fi - - # Gather the files created by TeX. - ( - if test -f "$1.log"; then - sed -n -e "s,^\\\\openout.* = \`\\(.*\\)'\\.,\\1,p" "$1.log" - fi - echo "$1.log" - ) | - # Depending on these files, infer outputs from other tools. - while read file; do - echo $file - case $in_lang in - texinfo) - # texindex: texinfo.cp -> texinfo.cps - if index_file_p $file; then - echo ${file}s - fi - ;; - latex) - if aux_file_p $file; then - # bibtex: *.aux -> *.bbl and *.blg. - echo $file | sed 's/^\(.*\)\.aux$/\1.bbl/' - echo $file | sed 's/^\(.*\)\.aux$/\1.blg/' - # -recorder: .fls - echo $file | sed 's/^\(.*\)\.aux$/\1.fls/' - fi - ;; - esac - done | - # Filter existing files matching the criterion. - # - # With an input file name containing a space, this produces a - # "command not found" message (and filtering is ineffective). - # The situation with a newline is presumably even worse. - while read file; do - if $filter "$file"; then - echo $file - fi - done | - sort | - # Some files are opened several times, e.g., listings.sty's *.vrb. - uniq -} - - -# xref_files_save -# --------------- -# Save the xref files. -xref_files_save () -{ - # Save copies of auxiliary files for later comparison. - xref_files_orig=`generated_files_get "$in_noext" xref_file_p` - if test -n "$xref_files_orig"; then - verbose "Backing up xref files: $xref_files_orig" - # The following line improves `cp $xref_files_orig "$work_bak"' - # by preserving the directory parts. Think of - # cp chap1/main.aux chap2/main.aux $work_bak. - # - # Users may have, e.g., --keep-old-files. Don't let this interfere. - # (Don't use unset for the sake of ancient shells.) - TAR_OPTIONS=; export TAR_OPTIONS - tar cf - $xref_files_orig | (cd "$work_bak" && tar xf -) - fi -} - - -# xref_files_changed -# ------------------ -# Whether the xref files were changed since the previous run. -xref_files_changed () -{ - # LaTeX (and the package changebar) report in the LOG file if it - # should be rerun. This is needed for files included from - # subdirs, since texi2dvi does not try to compare xref files in - # subdirs. Performing xref files test is still good since LaTeX - # does not report changes in xref files. - if grep "Rerun to get" "$in_noext.log" >&6 2>&1; then - return 0 - fi - - # If old and new lists don't at least have the same file list, - # then one file or another has definitely changed. - xref_files_new=`generated_files_get "$in_noext" xref_file_p` - verbose "Original xref files = $xref_files_orig" - verbose "New xref files = $xref_files_new" - if test "x$xref_files_orig" != "x$xref_files_new"; then - return 0 - fi - - # Compare each file until we find a difference. - for this_file in $xref_files_new; do - verbose "Comparing xref file `echo $this_file | sed 's|\./||g'` ..." - # cmp -s returns nonzero exit status if files differ. - if cmp -s "$this_file" "$work_bak/$this_file"; then :; else - verbose "xref file `echo $this_file | sed 's|\./||g'` differed ..." - if $debug; then - diff -u "$work_bak/$this_file" "$this_file" - fi - return 0 - fi - done - - # No change. - return 1 -} - - - -## ----------------------- ## -## Running the TeX suite. ## -## ----------------------- ## - - - -# run_tex () -# ---------- -# Run TeX as "$tex $in_input", taking care of errors and logs. -run_tex () -{ - case $in_lang:`out_lang_tex` in - latex:dvi) tex=${LATEX:-latex};; - latex:pdf) tex=${PDFLATEX:-pdflatex};; - texinfo:dvi) - # MetaPost also uses the TEX environment variable. If the user - # has set TEX=latex for that reason, don't bomb out. - case $TEX in - *latex) tex=tex;; # don't bother trying to find etex - *) tex=$TEX - esac;; - texinfo:pdf) tex=$PDFTEX;; - - *) error 1 "$0: $out_lang not supported for $in_lang";; - esac - - # Beware of aux files in subdirectories that require the - # subdirectory to exist. - case $in_lang:$tidy in - latex:true) - sed -n 's|^[ ]*\\include{\(.*\)/.*}.*|\1|p' "$in_input" | - sort -u | - while read d - do - ensure_dir "$work_build/$d" - done - ;; - esac - - # Note that this will be used via an eval: quote properly. - local cmd="$tex" - - # If possible, make TeX report error locations in GNU format. - if test "${tex_help:+set}" != set; then - # Go to a temporary directory to try --help, since old versions that - # don't accept --help will generate a texput.log. - tex_help_dir=$t2ddir/tex_help - ensure_dir "$tex_help_dir" - tex_help=`cd "$tex_help_dir" >&6 && $tex --help </dev/null 2>&1` - fi - if $no_line_error; then :; else - # The mk program and perhaps others want to parse TeX's - # original error messages. - case $line_error:$tex_help in - true:*file-line-error*) cmd="$cmd --file-line-error";; - esac - fi - - # Tell TeX about TCX file, if specified. - test -n "$translate_file" && cmd="$cmd --translate-file=$translate_file" - - # Tell TeX to make source specials (for backtracking from output to - # source, given a sufficiently smart editor), if specifed. - test -n "$src_specials" && cmd="$cmd $src_specials" - - # Tell TeX to be batch if requested. - if $batch; then - # \batchmode does not show terminal output at all, so we don't - # want that. And even in batch mode, TeX insists on having input - # from the user. Close its stdin to make it impossible. - cmd="$cmd </dev/null '${escape}nonstopmode' '${escape}input'" - fi - - # we'd like to handle arbitrary input file names, such as a~b.tex. - # This isn't a general way to do it :), though it does work, kind of. - # cmd="$cmd '${escape}catcode126=12 \input '" - - # TeX's \input does not (easily or reliably) support whitespace - # characters or other special characters in file names. Our intensive - # use of absolute file names makes this worse: the enclosing directory - # names may include white spaces. Improve the situation using a - # symbolic link to the filename in the current directory, in tidy mode - # only. Do not alter in_input. - # - # The filename is almost always tokenized using plain TeX conventions - # (the exception would be if the user made a texinfo.fmt file). Not - # all the plain TeX special characters cause trouble, but there's no - # harm in making the link. - # - case $tidy:`func_dirname "$in_input"` in - true:*["$space$tab$newline\"#\$%\\^_{}"]*) - _run_tex_file_name=`basename "$in_input"` - if test ! -f "$_run_tex_file_name"; then - # It might not be a file, clear it. - run rm -f "$_run_tex_file_name" - run ln -s "$in_input" - fi - cmd="$cmd '$_run_tex_file_name'" - ;; - - *) - cmd="$cmd '$in_input'" - ;; - esac - - verbose "$0: Running $cmd ..." - if eval "$cmd" >&5; then - case $out_lang in - dvi | pdf ) move_to_dest "$in_noext.$out_lang";; - esac - else - error 1 "$tex exited with bad status, quitting." - fi -} - -# run_bibtex () -# ------------- -# Run bibtex on current file. -# - If its input (AUX) exists. -# - If some citations are missing (LOG contains `Citation'). -# or the LOG complains of a missing .bbl -# -# Don't try to be too smart: -# -# 1. Running bibtex only if the bbl file exists and is older than -# the LaTeX file is wrong, since the document might include files -# that have changed. -# -# 3. Because there can be several AUX (if there are \include's), -# but a single LOG, looking for missing citations in LOG is -# easier, though we take the risk to match false messages. -run_bibtex () -{ - case $in_lang in - latex) bibtex=${BIBTEX:-bibtex};; - texinfo) return;; - esac - - # "Citation undefined" is for LaTeX, "Undefined citation" for btxmac.tex. - # The no .aux && \bibdata test is also for btxmac, in case it was the - # first run of a bibtex-using document. Otherwise, it's possible that - # bibtex would never be run. - if test -r "$in_noext.aux" \ - && test -r "$in_noext.log" \ - && (grep 'Warning:.*Citation.*undefined' "$in_noext.log" \ - || grep '.*Undefined citation' "$in_noext.log" \ - || grep 'No file .*\.bbl\.' "$in_noext.log") \ - || (grep 'No \.aux file' "$in_noext.log" \ - && grep '^\\bibdata' "$in_noext.aux") \ - >&6 2>&1; \ - then - for f in `generated_files_get "$in_noext" bibaux_file_p` - do - run $bibtex "$f" - done - fi -} - -# run_index () -# ------------ -# Run texindex (or makeindex) on current index files. If they already -# exist, and after running TeX a first time the index files don't -# change, then there's no reason to run TeX again. But we won't know -# that if the index files are out of date or nonexistent. -run_index () -{ - case $in_lang in - latex) texindex=${MAKEINDEX:-makeindex};; - texinfo) texindex=${TEXINDEX:-texindex};; - esac - index_files=`generated_files_get $in_noext index_file_p` - if test -n "$texindex" && test -n "$index_files"; then - run $texindex $index_files - fi -} - - -# run_thumbpdf () -# --------------- -run_thumbpdf () -{ - if test `out_lang_tex` = pdf \ - && test -r "$in_noext.log" \ - && grep 'thumbpdf\.sty' "$in_noext.log" >&6 2>&1; \ - then - thumbpdf=${THUMBPDF:-thumbpdf} - verbose "Running $thumbpdf $in_noext ..." - if $thumbpdf "$in_noext" >&5; then - run_tex - else - report "$thumbpdf exited with bad status." \ - "Ignoring its output." - fi - fi -} - - -# run_dvipdf FILE.dvi -# ------------------- -# Convert FILE.dvi to FILE.pdf. -run_dvipdf () -{ - # Find which dvi->pdf program is available. - if test -z "$dvipdf"; then - for i in "$DVIPDF" dvipdfmx dvipdfm dvipdf dvi2pdf dvitopdf; - do - if findprog $i; then - dvipdf=$i - fi - done - fi - # These tools have varying interfaces, some 'input output', others - # 'input -o output'. They all seem to accept 'input' only, - # outputting using the expected file name. - run $dvipdf "$1" - if test ! -f `echo "$1" | sed -e 's/\.dvi$/.pdf/'`; then - error 1 "$0: cannot find output file" - fi -} - -# run_tex_suite () -# ---------------- -# Run the TeX tools until a fix point is reached. -run_tex_suite () -{ - # Move to the working directory. - if $tidy; then - verbose "cd $work_build" - cd "$work_build" || exit 1 - fi - - # Count the number of cycles. - local cycle=0 - - while :; do - cycle=`expr $cycle + 1` - verbose "Cycle $cycle for $command_line_filename" - - xref_files_save - - # We run bibtex first, because I can see reasons for the indexes - # to change after bibtex is run, but I see no reason for the - # converse. - run_bibtex - run_index - run_core_conversion - - xref_files_changed || break - done - - # If we were using thumbpdf and producing PDF, then run thumbpdf - # and TeX one last time. - run_thumbpdf - - # Install the result if we didn't already (i.e., if the output is - # dvipdf or ps). - case $out_lang in - dvipdf) - run_dvipdf "$in_noext.`out_lang_tex`" - move_to_dest "$in_noext.`out_lang_ext`" - ;; - ps) - dvips -o "$in_noext.`out_lang_ext`" "$in_noext.`out_lang_tex`" - move_to_dest "$in_noext.`out_lang_ext`" - ;; - esac - - cd_orig -} - -## -------------------------------- ## -## TeX processing auxiliary tools. ## -## -------------------------------- ## - - -# A sed script that preprocesses Texinfo sources in order to keep the -# iftex sections only. We want to remove non TeX sections, and comment -# (with `@c texi2dvi') TeX sections so that makeinfo does not try to -# parse them. Nevertheless, while commenting TeX sections, don't -# comment @macro/@end macro so that makeinfo does propagate them. -# Unfortunately makeinfo --iftex --no-ifinfo doesn't work well enough -# (yet), makeinfo can't parse the TeX commands, so work around with sed. -# -comment_iftex=\ -'/^@tex/,/^@end tex/{ - s/^/@c texi2dvi/ -} -/^@iftex/,/^@end iftex/{ - s/^/@c texi2dvi/ - /^@c texi2dvi@macro/,/^@c texi2dvi@end macro/{ - s/^@c texi2dvi// - } -} -/^@ifnottex/,/^@end ifnottex/{ - s/^/@c (texi2dvi)/ -} -/^@ifinfo/,/^@end ifinfo/{ - /^@node/p - /^@menu/,/^@end menu/p - t - s/^/@c (texi2dvi)/ -} -s/^@ifnotinfo/@c texi2dvi@ifnotinfo/ -s/^@end ifnotinfo/@c texi2dvi@end ifnotinfo/' - -# Uncommenting is simple: Remove any leading `@c texi2dvi'. -uncomment_iftex='s/^@c texi2dvi//' - - -# run_makeinfo () -# --------------- -# Expand macro commands in the original source file using Makeinfo. -# Always use `end' footnote style, since the `separate' style -# generates different output (arguably this is a bug in -E). Discard -# main info output, the user asked to run TeX, not makeinfo. -run_makeinfo () -{ - test $in_lang = texinfo \ - || return 0 - - # Unless required by the user, makeinfo expansion is wanted only - # if texinfo.tex is too old. - if test "$expand" = t; then - makeinfo=${MAKEINFO:-makeinfo} - else - # Check if texinfo.tex performs macro expansion by looking for - # its version. The version is a date of the form YEAR-MO-DA. - # We don't need to use [0-9] to match the digits since anyway - # the comparison with $txiprereq, a number, will fail with non - # digits. - # Run in a temporary directory to avoid leaving files. - version_test_dir=$t2ddir/version_test - ensure_dir "$version_test_dir" - ( - cd "$version_test_dir" - echo '\input texinfo.tex @bye' >txiversion.tex - # Be sure that if tex wants to fail, it is not interactive: - # close stdin. - $TEX txiversion.tex </dev/null >txiversion.out 2>txiversion.err - ) - if test $? != 0; then - cat "$version_test_dir/txiversion.out" - cat "$version_test_dir/txiversion.err" >&2 - error 1 "texinfo.tex appears to be broken, quitting." - fi - eval `sed -n 's/^.*\[\(.*\)version \(....\)-\(..\)-\(..\).*$/txiformat=\1 txiversion="\2\3\4"/p' "$version_test_dir/txiversion.out"` - verbose "texinfo.tex preloaded as \`$txiformat', version is \`$txiversion' ..." - if test "$txiprereq" -le "$txiversion" >&6 2>&1; then - makeinfo= - else - makeinfo=${MAKEINFO:-makeinfo} - fi - # As long as we had to run TeX, offer the user this convenience: - if test "$txiformat" = Texinfo; then - escape=@ - fi - fi - - if test -n "$makeinfo"; then - # in_src: the file with macros expanded. - # Use the same basename to generate the same aux file names. - work_src=$workdir/src - ensure_dir "$work_src" - in_src=$work_src/$in_base - local miincludes - miincludes=`list_prefix includes -I` - verbose "Macro-expanding $command_line_filename to $in_src ..." - # eval $makeinfo because it might be defined as something complex - # (running missing) and then we end up with things like '"-I"', - # and "-I" (including the quotes) is not an option name. This - # happens with gettext 0.14.5, at least. - sed "$comment_iftex" "$command_line_filename" \ - | eval $makeinfo --footnote-style=end -I "$in_dir" $miincludes \ - -o /dev/null --macro-expand=- \ - | sed "$uncomment_iftex" >"$in_src" - # Continue only if everything succeeded. - if test $? -ne 0 \ - || test ! -r "$in_src"; then - verbose "Expansion failed, ignored..."; - else - in_input=$in_src - fi - fi -} - -# insert_commands () -# ------------------ -# Used most commonly for @finalout, @smallbook, etc. -insert_commands () -{ - local textra_cmd - case $in_lang in - latex) textra_cmd=1i;; - texinfo) textra_cmd='/^@setfilename/a';; - *) error 1 "internal error, unknown language: $in_lang";; - esac - - if test -n "$textra"; then - # _xtr. The file with the user's extra commands. - work_xtr=$workdir/xtr - in_xtr=$work_xtr/$in_base - ensure_dir "$work_xtr" - verbose "Inserting extra commands: $textra" - sed "$textra_cmd\\ -$textra" "$in_input" >"$in_xtr" - in_input=$in_xtr - fi -} - -# run_recode () -# ------------- -# If this is a Texinfo file with a specified input encoding, and -# recode is available, then recode to plain 7 bit Texinfo. -run_recode () -{ - local from - local to - - if test $in_lang = texinfo; then - pgm='s/^ *@documentencoding *\([^ ][^ ]*\) *$/\1/ - t found - d - :found - q' - encoding=`sed -e "$pgm" "$in_input"` - if $recode && test -n "$encoding" && findprog recode; then - if test -n "$recode_from"; then - from=$recode_from - to=$encoding - else - from=$encoding - to=$texinfo - fi - verbose "Recoding from $from to $to." - # _rcd. The Texinfo file recoded in 7bit. - work_rcd=$workdir/recode - in_rcd=$work_rcd/$in_base - ensure_dir "$work_rcd" - if recode "$encoding..$to" <"$in_input" >"$in_rcd" \ - && test -s "$in_rcd"; then - in_input=$in_rcd - else - verbose "Recoding failed, using original input." - fi - fi - fi -} - -# compute_language FILENAME -# ------------------------- -# Return the short string describing the language in which FILENAME -# is written: `texinfo' or `latex'. -compute_language () -{ - # If the user explicitly specified the language, use that. - # Otherwise, if the first line is \input texinfo, assume it's texinfo. - # Otherwise, guess from the file extension. - if test -n "$set_language"; then - echo $set_language - elif sed 1q "$1" | grep 'input texinfo' >&6; then - echo texinfo - else - # Get the type of the file (latex or texinfo) from the given language - # we just guessed, or from the file extension if not set yet. - case $1 in - *.ltx | *.tex | *.drv | *.dtx) echo latex;; - *) echo texinfo;; - esac - fi -} - - -# run_hevea (MODE) -# ---------------- -# Convert to HTML/INFO/TEXT. -# -# Don't pass `-noiso' to hevea: it's useless in HTML since anyway the -# charset is set to latin1, and troublesome in other modes since -# accented characters loose their accents. -# -# Don't pass `-o DEST' to hevea because in that case it leaves all its -# auxiliary files there too... Too bad, because it means we will need -# to handle images some day. -run_hevea () -{ - local hevea="${HEVEA:-hevea}" - local run_hevea="$hevea" - - case $1 in - html) ;; - text|info) run_hevea="$run_hevea -$1";; - *) error 1 "run_hevea: invalid argument: $1";; - esac - - # Compiling to the tmp directory enables to preserve a previous - # successful compilation. - run_hevea="$run_hevea -fix -O -o '$out_base'" - run_hevea="$run_hevea `list_prefix includes -I` -I '$orig_pwd' " - run_hevea="$run_hevea '$in_input'" - - if $debug; then - run_hevea="$run_hevea -v -v" - fi - - verbose "running $run_hevea" - if eval "$run_hevea" >&5; then - # hevea leaves trailing white spaces, this is annoying. - case $1 in text|info) - perl -pi -e 's/[ \t]+$//g' "$out_base"*;; - esac - case $1 in - html|text) move_to_dest "$out_base";; - info) # There can be foo.info-1, foo.info-2 etc. - move_to_dest "$out_base"*;; - esac - else - error 1 "$hevea exited with bad status, quitting." - fi -} - - -# run_core_conversion () -# ---------------------- -# Run the TeX (or HeVeA). -run_core_conversion () -{ - case $in_lang:`out_lang_tex` in - *:dvi|*:pdf) - run_tex;; - latex:html|latex:text|latex:info) - run_hevea $out_lang;; - *) - error 1 "invalid input/output combination: $in_lang/$out_lang";; - esac -} - - -# compile () -# ---------- -# Run the full compilation chain, from pre-processing to installation -# of the output at its expected location. -compile () -{ - # Source file might include additional sources. - # We want `.:$orig_pwd' before anything else. (We'll add `.:' later - # after all other directories have been turned into absolute paths.) - # `.' goes first to ensure that any old .aux, .cps, - # etc. files in ${directory} don't get used in preference to fresher - # files in `.'. Include orig_pwd in case we are in clean build mode, where - # we've cd'd to a temp directory. - txincludes=`list_infix includes $path_sep` - common="$orig_pwd$path_sep$in_dir$path_sep$txincludes$path_sep" - for var in $tex_envvars; do - eval val="\$common\$${var}_orig" - # Convert relative paths to absolute paths, so we can run in another - # directory (e.g., in clean build mode, or during the macro-support - # detection). ".:" is added here. - val=`absolute_filenames "$val"` - eval $var="\"$val\"" - export $var - eval verbose \"$var=\'\$${var}\'\" - done - - # --expand - run_makeinfo - - # --command, --texinfo - insert_commands - - # --recode - run_recode - - # Run until a fix point is reached. - run_tex_suite -} - - -# remove FILES -# ------------ -remove () -{ - verbose "Removing" "$@" - rm -rf "$@" -} - - -# mostly_clean -# ------------ -# Remove auxiliary files and directories. Changes the current directory. -mostly_clean () -{ - cd_orig - set X "$t2ddir" - shift - $tidy || { - local log="$work_build/$in_noext.log" - set X ${1+"$@"} "$log" `generated_files_get "$work_build/$in_noext"` - shift - } - remove ${1+"$@"} -} - - -# cleanup () -# ---------- -# Remove what should be removed according to options. -# Called at the end of each compilation cycle, and at the end of -# the script. Changes the current directory. -cleanup () -{ - case $build_mode in - local) cd_orig; remove "$t2ddir";; - clean) mostly_clean;; - tidy) ;; - esac -} - - - -## ---------------------- ## -## Command line parsing. ## -## ---------------------- ## - -# Push a token among the arguments that will be used to notice when we -# ended options/arguments parsing. -# Use "set dummy ...; shift" rather than 'set - ..." because on -# Solaris set - turns off set -x (but keeps set -e). -# Use ${1+"$@"} rather than "$@" because Digital Unix and Ultrix 4.3 -# still expand "$@" to a single argument (the empty string) rather -# than nothing at all. -arg_sep="$$--$$" -set dummy ${1+"$@"} "$arg_sep"; shift - -# -# Parse command line arguments. -while test x"$1" != x"$arg_sep"; do - - # Handle --option=value by splitting apart and putting back on argv. - case "$1" in - --*=*) - opt=`echo "$1" | sed -e 's/=.*//'` - val=`echo "$1" | sed -e 's/[^=]*=//'` - shift - set dummy "$opt" "$val" ${1+"$@"}; shift - ;; - esac - - # This recognizes --quark as --quiet. So what. - case "$1" in - -@ ) escape=@;; - # Silently and without documentation accept -b and --b[atch] as synonyms. - -b | --batch) batch=true;; - --build) shift; build_mode=$1;; - --build-dir) shift; build_dir=$1; build_mode=tidy;; - -c | --clean) build_mode=clean;; - -D | --debug) debug=true;; - --dvi) out_lang=dvi;; - --dvipdf) out_lang=dvipdf;; - -e | -E | --expand) expand=t;; - -h | --help) usage;; - --html) out_lang=html;; - -I) shift; list_concat_dirs includes "$1";; - --info) out_lang=info;; - -l | --lang | --language) shift; set_language=$1;; - --mostly-clean) action=mostly-clean;; - --no-line-error) no_line_error=true;; - -o | --out | --output) - shift - # Make it absolute, just in case we also have --clean, or whatever. - oname=`absolute "$1"`;; - -p | --pdf) out_lang=pdf;; - --ps) out_lang=ps;; - -q | -s | --quiet | --silent) quiet=true; batch=true;; - -r | --recode) recode=true;; - --recode-from) shift; recode=true; recode_from="$1";; - --src-specials) src_specials=--src-specials;; - -t | --texinfo | --command ) shift; textra="$textra\\ -"`echo "$1" | sed 's/\\\\/\\\\\\\\/g'`;; - --text) out_lang=text;; - --translate-file ) shift; translate_file="$1";; - --tidy) build_mode=tidy;; - -v | --vers*) version;; - -V | --verb*) verb=true;; - --) # What remains are not options. - shift - while test x"$1" != x"$arg_sep"; do - set dummy ${1+"$@"} "$1"; shift - shift - done - break;; - -*) - error 1 "Unknown or ambiguous option \`$1'." \ - "Try \`--help' for more information." - ;; - *) set dummy ${1+"$@"} "$1"; shift;; - esac - shift -done -# Pop the token -shift - -# $tidy: compile in a t2d directory. -# $clean: remove all the aux files. -case $build_mode in - local) clean=false; tidy=false;; - tidy) clean=false; tidy=true;; - clean) clean=true; tidy=true;; - *) error 1 "invalid build mode: $build_mode";; -esac - -# Interpret remaining command line args as filenames. -case $# in - 0) - error 2 "Missing file arguments." "Try \`--help' for more information." - ;; - 1) ;; - *) - if test -n "$oname"; then - error 2 "Can't use option \`--output' with more than one argument." - fi - ;; -esac - - -# We can't do much without tex. -# -if findprog ${TEX:-tex}; then :; else cat <<EOM -You don't have a working TeX binary (${TEX:-tex}) installed anywhere in -your PATH, and texi2dvi cannot proceed without one. If you want to use -this script, you'll need to install TeX (if you don't have it) or change -your PATH or TEX environment variable (if you do). See the --help -output for more details. - -For information about obtaining TeX, please see http://www.tug.org. If -you happen to be using Debian, you can get it with this command: - apt-get install tetex-bin -EOM - exit 1 -fi - - -# We want to use etex (or pdftex) if they are available, and the user -# didn't explicitly specify. We don't check for elatex and pdfelatex -# because (as of 2003), the LaTeX team has asked that new distributions -# use etex by default anyway. -# -# End up with the TEX and PDFTEX variables set to what we are going to use. -if test -z "$TEX"; then - if findprog etex; then TEX=etex; else TEX=tex; fi -fi -# -if test -z "$PDFTEX"; then - if findprog pdfetex; then PDFTEX=pdfetex; else PDFTEX=pdftex; fi -fi - - -# File descriptor usage: -# 0 standard input -# 1 standard output (--verbose messages) -# 2 standard error -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 5 tools output (turned off by --quiet) -# 6 tracing/debugging (set -x output, etc.) - - -# Main tools' output (TeX, etc.) that TeX users are used to seeing. -# -# If quiet, discard, else redirect to the message flow. -if $quiet; then - exec 5>/dev/null -else - exec 5>&1 -fi - - -# Enable tracing, and auxiliary tools output. -# -# Should be used where you'd typically use /dev/null to throw output -# away. But sometimes it is convenient to see that output (e.g., from -# a grep) to aid debugging. Especially debugging at distance, via the -# user. -if $debug; then - exec 6>&1 - set -x -else - exec 6>/dev/null -fi - -# - -# input_file_name_decode -# ---------------------- -# Decode COMMAND_LINE_FILENAME, and compute: -# - COMMAND_LINE_FILENAME clean of TeX commands -# - IN_DIR -# The directory to the input file, possibly absolute if needed. -# - IN_DIR_ABS -# The absolute directory of the input file. -# - IN_BASE -# The input file base name (no directory part). -# - IN_NOEXT -# The input file name without extensions (nor directory part). -# - IN_INPUT -# Defaults to COMMAND_LINE_FILENAME, but might change if the -# input is preprocessed (recode etc.). With directory, possibly absolute. -input_file_name_decode () -{ - # See if we are run from within AUC-Tex, in which case we are - # passed `\input{FOO.tex}' or even `\nonstopmode\input{FOO.tex}'. - case $command_line_filename in - *\\nonstopmode*) - batch=true;; - esac - case $command_line_filename in - *\\input{*}*) - # Let AUC-TeX error parser deal with line numbers. - line_error=false - command_line_filename=`\ - expr X"$command_line_filename" : X'.*input{\([^}]*\)}'` - ;; - esac - - # If the COMMAND_LINE_FILENAME is not absolute (e.g., --debug.tex), - # prepend `./' in order to avoid that the tools take it as an option. - echo "$command_line_filename" | $EGREP '^(/|[A-z]:/)' >&6 \ - || command_line_filename="./$command_line_filename" - - # See if the file exists. If it doesn't we're in trouble since, even - # though the user may be able to reenter a valid filename at the tex - # prompt (assuming they're attending the terminal), this script won't - # be able to find the right xref files and so forth. - test -r "$command_line_filename" || - error 1 "cannot read $command_line_filename, skipping." - - # Get the name of the current directory. - in_dir=`func_dirname "$command_line_filename"` - in_dir_abs=`absolute "$in_dir"` - # In a clean build, we `cd', so get an absolute file name. - if $tidy; then - in_dir=$in_dir_abs - fi - - # Strip directory part but leave extension. - in_base=`basename "$command_line_filename"` - # Strip extension. - in_noext=`echo "$in_base" | sed 's/\.[^.]*$//'` - - # The normalized file name to compile. Must always point to the - # file to actually compile (in case of recoding, macro-expansion etc.). - in_input=$in_dir/$in_base - - - # Compute the output file name. - if test x"$oname" != x; then - out_name=$oname - else - out_name=$in_noext.`out_lang_ext` - fi - out_dir=`func_dirname "$out_name"` - out_dir_abs=`absolute "$out_dir"` - out_base=`basename "$out_name"` - out_noext=`echo "$out_base" | sed 's/\.[^.]*$//'` -} - - -## -------------- ## -## TeXify files. ## -## -------------- ## - -for command_line_filename -do - verbose "Processing $command_line_filename ..." - - input_file_name_decode - - # `texinfo' or `latex'? - in_lang=`compute_language "$command_line_filename"` - - # An auxiliary directory used for all the auxiliary tasks involved - # in compiling this document. - case $build_dir in - '' | . ) t2ddir=$out_noext.t2d ;; - *) # Avoid collisions between multiple occurrences of the same - # file. The sed expression is fragile if the cwd has - # active characters. - t2ddir=$build_dir/`echo "$out_dir_abs/$out_noext.t2d" | - sed "s,^$orig_pwd/,," | - sed 's,/,!,g'` - esac - # Remove it at exit if clean mode. - trap "cleanup" 0 1 2 15 - - ensure_dir "$build_dir" "$t2ddir" - - # We will change directory, better work with an absolute path... - t2ddir=`absolute "$t2ddir"` - # Sometimes there are incompatibilities between auxiliary files for - # DVI and PDF. The contents can also change whether we work on PDF - # and/or DVI. So keep separate spaces for each. - workdir=$t2ddir/`out_lang_tex` - ensure_dir "$workdir" - - # _build. In a tidy build, where the auxiliary files are output. - if $tidy; then - work_build=$workdir/build - else - work_build=. - fi - - # _bak. Copies of the previous auxiliary files (another round is - # run if they differ from the new ones). - work_bak=$workdir/bak - - # Make those directories. - ensure_dir "$work_build" "$work_bak" - - case $action in - compile) - # Compile the document. - compile - cleanup - ;; - - mostly-clean) - mostly_clean - ;; - esac -done - -verbose "done." -exit 0 # exit successfully, not however we ended the loop. diff --git a/Master/bin/sparc-solaris/texi2pdf b/Master/bin/sparc-solaris/texi2pdf deleted file mode 100755 index a030a74ed9f..00000000000 --- a/Master/bin/sparc-solaris/texi2pdf +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# $Id: texi2pdf,v 1.2 2005/01/28 01:52:04 karl Exp $ -# Written by Thomas Esser. Public domain. -# Execute texi2dvi --pdf. - -test -f /bin/ksh && test -z "$RUNNING_KSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \ - && { RUNNING_KSH=true; export RUNNING_KSH; exec /bin/ksh $0 ${1+"$@"}; } -unset RUNNING_KSH - -test -f /bin/bsh && test -z "$RUNNING_BSH" \ - && { UNAMES=`uname -s`; test "x$UNAMES" = xAIX; } 2>/dev/null \ - && { RUNNING_BSH=true; export RUNNING_BSH; exec /bin/bsh $0 ${1+"$@"}; } -unset RUNNING_BSH - -# hack around a bug in zsh: -test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' - -texi2dvi --pdf ${1+"$@"} diff --git a/Master/bin/sparc-solaris/texindex b/Master/bin/sparc-solaris/texindex Binary files differdeleted file mode 100755 index 6285f3f3a23..00000000000 --- a/Master/bin/sparc-solaris/texindex +++ /dev/null diff --git a/Master/bin/sparc-solaris/texloganalyser b/Master/bin/sparc-solaris/texloganalyser new file mode 120000 index 00000000000..a0dd3486cd7 --- /dev/null +++ b/Master/bin/sparc-solaris/texloganalyser @@ -0,0 +1 @@ +../../texmf-dist/scripts/texloganalyser/texloganalyser
\ No newline at end of file diff --git a/Master/bin/sparc-solaris/tftopl b/Master/bin/sparc-solaris/tftopl Binary files differindex ae109e5cf17..0a492ab55e8 100755 --- a/Master/bin/sparc-solaris/tftopl +++ b/Master/bin/sparc-solaris/tftopl diff --git a/Master/bin/sparc-solaris/tie b/Master/bin/sparc-solaris/tie Binary files differindex f48d13221fa..cc60bc362f3 100755 --- a/Master/bin/sparc-solaris/tie +++ b/Master/bin/sparc-solaris/tie diff --git a/Master/bin/sparc-solaris/ttf2afm b/Master/bin/sparc-solaris/ttf2afm Binary files differindex 0eb852a236d..fa2382b421c 100755 --- a/Master/bin/sparc-solaris/ttf2afm +++ b/Master/bin/sparc-solaris/ttf2afm diff --git a/Master/bin/sparc-solaris/ttf2pk b/Master/bin/sparc-solaris/ttf2pk Binary files differindex cd49d254537..b40c26f9f1b 100755 --- a/Master/bin/sparc-solaris/ttf2pk +++ b/Master/bin/sparc-solaris/ttf2pk diff --git a/Master/bin/sparc-solaris/ttf2tfm b/Master/bin/sparc-solaris/ttf2tfm Binary files differindex e2d7de51fd9..05aebd53e0e 100755 --- a/Master/bin/sparc-solaris/ttf2tfm +++ b/Master/bin/sparc-solaris/ttf2tfm diff --git a/Master/bin/sparc-solaris/ttfdump b/Master/bin/sparc-solaris/ttfdump Binary files differnew file mode 100755 index 00000000000..ea3b4c433d7 --- /dev/null +++ b/Master/bin/sparc-solaris/ttfdump diff --git a/Master/bin/sparc-solaris/ttftotype42 b/Master/bin/sparc-solaris/ttftotype42 Binary files differindex 548d747bf6c..5893185a7d6 100755 --- a/Master/bin/sparc-solaris/ttftotype42 +++ b/Master/bin/sparc-solaris/ttftotype42 diff --git a/Master/bin/sparc-solaris/ulqda b/Master/bin/sparc-solaris/ulqda new file mode 120000 index 00000000000..8ca9386b37d --- /dev/null +++ b/Master/bin/sparc-solaris/ulqda @@ -0,0 +1 @@ +../../texmf-dist/scripts/ulqda/ulqda.pl
\ No newline at end of file diff --git a/Master/bin/sparc-solaris/updmap b/Master/bin/sparc-solaris/updmap index e09c817451b..a71378a01bc 100755 --- a/Master/bin/sparc-solaris/updmap +++ b/Master/bin/sparc-solaris/updmap @@ -774,7 +774,7 @@ cleanup() { rc=$1 $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \ - && { cd / && rm -rf "$tmpdir"; } + && { cd $orig_pwd && rm -rf "$tmpdir"; } (exit $rc); exit $rc } @@ -1323,6 +1323,7 @@ main() link_cmd="ln -s" copy_cmd="cp" copy=false + orig_pwd=`pwd` cfgparam= outputdirparam= diff --git a/Master/bin/sparc-solaris/vftovp b/Master/bin/sparc-solaris/vftovp Binary files differindex f820af62878..b2d29d74826 100755 --- a/Master/bin/sparc-solaris/vftovp +++ b/Master/bin/sparc-solaris/vftovp diff --git a/Master/bin/sparc-solaris/vptovf b/Master/bin/sparc-solaris/vptovf Binary files differindex 167eca7306d..98225a61a73 100755 --- a/Master/bin/sparc-solaris/vptovf +++ b/Master/bin/sparc-solaris/vptovf diff --git a/Master/bin/sparc-solaris/weave b/Master/bin/sparc-solaris/weave Binary files differindex 21276eeeb0b..cc34cdc6826 100755 --- a/Master/bin/sparc-solaris/weave +++ b/Master/bin/sparc-solaris/weave diff --git a/Master/bin/sparc-solaris/xdvi-motif b/Master/bin/sparc-solaris/xdvi-motif Binary files differindex 6a546254246..1d5e6aeb510 100755 --- a/Master/bin/sparc-solaris/xdvi-motif +++ b/Master/bin/sparc-solaris/xdvi-motif diff --git a/Master/bin/sparc-solaris/xdvipdfmx b/Master/bin/sparc-solaris/xdvipdfmx Binary files differindex c8b596c1233..77ee94f1a9d 100755 --- a/Master/bin/sparc-solaris/xdvipdfmx +++ b/Master/bin/sparc-solaris/xdvipdfmx diff --git a/Master/bin/sparc-solaris/xetex b/Master/bin/sparc-solaris/xetex Binary files differindex eaf12b4cf7c..276a5966d5d 100755 --- a/Master/bin/sparc-solaris/xetex +++ b/Master/bin/sparc-solaris/xetex diff --git a/Master/bin/sparc-solaris/xindy.mem b/Master/bin/sparc-solaris/xindy.mem Binary files differindex abe5c7a22fe..97ac00eaaa3 100644 --- a/Master/bin/sparc-solaris/xindy.mem +++ b/Master/bin/sparc-solaris/xindy.mem diff --git a/Master/bin/sparc-solaris/xindy.run b/Master/bin/sparc-solaris/xindy.run Binary files differindex 4c80111fb1c..85ac7d7c0d6 100755 --- a/Master/bin/sparc-solaris/xindy.run +++ b/Master/bin/sparc-solaris/xindy.run |