summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManoj Srivastava <srivasta@debian.org>2014-04-28 12:58:58 -0700
committerManoj Srivastava <srivasta@debian.org>2014-04-28 12:58:58 -0700
commit0a1f51622867ec21ea8a8756032fdeab13d74227 (patch)
tree9a20fe09e6b92435dad6219de978948f873d33f7
dist (1:3.5-36-2) unstable; urgency=low
* Updated translation for Brazilian Portuguese * Bug fix: "[INTL:pt_BR] Brazilian Portuguese debconf templates translation", thanks to Adriano Rafael Gomes (Closes: #685763). # imported from the archive
-rw-r--r--Artistic125
-rw-r--r--ChangeLog1457
-rwxr-xr-xConfigure4714
-rw-r--r--Credits112
-rw-r--r--Jmakefile39
-rw-r--r--Known_bugs14
-rw-r--r--MANIFEST739
-rwxr-xr-xMakefile.SH271
-rw-r--r--README138
-rw-r--r--Wishlist60
-rw-r--r--bin/Jmakefile42
-rwxr-xr-xbin/Makefile.SH241
-rwxr-xr-xbin/manicheck.SH82
-rw-r--r--bin/manicheck.man51
-rwxr-xr-xbin/manilist.SH483
-rw-r--r--bin/manilist.man332
-rwxr-xr-xbin/packinit.SH448
-rw-r--r--bin/packinit.man148
-rwxr-xr-xbin/perload648
-rwxr-xr-xbin/svn-revision62
-rw-r--r--debian/Config/README4
-rw-r--r--debian/Config/instruct3
-rw-r--r--debian/Config/mailauthor4
-rw-r--r--debian/Config/nomail0
-rw-r--r--debian/README.Debian21
-rw-r--r--debian/changelog585
-rw-r--r--debian/clean1
-rw-r--r--debian/compat1
-rwxr-xr-xdebian/config82
-rw-r--r--debian/config.over4
-rw-r--r--debian/control39
-rw-r--r--debian/copyright33
-rw-r--r--debian/dist.docs5
-rw-r--r--debian/dist.install2
-rw-r--r--debian/patches/0001-debcherry-fixup-patch.patch2479
-rw-r--r--debian/patches/0002-Fix-unsafe-use-of-symbolic-links-in-tmp.patch116
-rw-r--r--debian/patches/0003-Fixed-a-problem-caused-during-the-merge.patch27
-rw-r--r--debian/patches/0004-Fix-an-error-due-to-misintertpreting-.MT.patch26
-rw-r--r--debian/patches/series5
-rw-r--r--debian/po/POTFILES.in1
-rw-r--r--debian/po/cs.po61
-rw-r--r--debian/po/da.po54
-rw-r--r--debian/po/de.po63
-rw-r--r--debian/po/es.po77
-rw-r--r--debian/po/fr.po64
-rw-r--r--debian/po/it.po56
-rw-r--r--debian/po/ja.po61
-rw-r--r--debian/po/nl.po62
-rw-r--r--debian/po/pl.po55
-rw-r--r--debian/po/pt.po53
-rw-r--r--debian/po/pt_BR.po55
-rw-r--r--debian/po/ru.po56
-rw-r--r--debian/po/sk.po43
-rw-r--r--debian/po/sv.po60
-rw-r--r--debian/po/templates.pot48
-rw-r--r--debian/po/vi.po51
-rwxr-xr-xdebian/postinst472
-rwxr-xr-xdebian/postrm171
-rwxr-xr-xdebian/prerm129
-rwxr-xr-xdebian/rules85
-rw-r--r--debian/source/format1
-rw-r--r--debian/templates15
-rw-r--r--debian/watch6
-rw-r--r--dist.man317
-rwxr-xr-xinstall.SH218
-rw-r--r--jmake/Jmakefile53
-rwxr-xr-xjmake/Makefile.SH317
-rw-r--r--jmake/NOTES189
-rw-r--r--jmake/README70
-rwxr-xr-xjmake/bindex.SH185
-rw-r--r--jmake/files/Jmake.rules1888
-rw-r--r--jmake/files/Jmake.tmpl264
-rwxr-xr-xjmake/fixcpp.SH185
-rwxr-xr-xjmake/jmake.SH547
-rw-r--r--jmake/jmake.man518
-rwxr-xr-xjmake/jmkmf.SH106
-rw-r--r--jmake/jmkmf.man79
-rw-r--r--kit/Jmakefile46
-rwxr-xr-xkit/Makefile.SH266
-rw-r--r--kit/README35
-rwxr-xr-xkit/kitpost.SH237
-rw-r--r--kit/kitpost.man89
-rwxr-xr-xkit/kitsend.SH192
-rw-r--r--kit/kitsend.man42
-rw-r--r--kit/makeSH76
-rw-r--r--kit/makeSH.man46
-rwxr-xr-xkit/makedist.SH460
-rw-r--r--kit/makedist.man147
-rwxr-xr-xkit/manifake.SH51
-rw-r--r--kit/manifake.man46
-rw-r--r--lib/C/Jmakefile20
-rwxr-xr-xlib/C/Makefile.SH211
-rw-r--r--lib/C/fake/Jmakefile27
-rwxr-xr-xlib/C/fake/Makefile.SH172
-rw-r--r--lib/C/fake/dup2.C78
-rw-r--r--lib/C/fake/getopt.C133
-rw-r--r--lib/C/fake/rename.C45
-rw-r--r--lib/C/fake/scandir.C131
-rw-r--r--lib/C/fake/setsid.C64
-rw-r--r--lib/Jmakefile53
-rwxr-xr-xlib/Makefile.SH275
-rw-r--r--lib/errnolist.a52
-rw-r--r--lib/errnolist.mk42
-rw-r--r--lib/errnolist.sh44
-rw-r--r--lib/makedepend.sh169
-rw-r--r--lib/makedir.sh86
-rw-r--r--mcon/INTRO109
-rw-r--r--mcon/Jmakefile90
-rwxr-xr-xmcon/Makefile.SH432
-rw-r--r--mcon/NOTES174
-rw-r--r--mcon/README24
-rw-r--r--mcon/U/AAAAA.U46
-rw-r--r--mcon/U/Alpha_mieee.U41
-rw-r--r--mcon/U/Assert.U26
-rw-r--r--mcon/U/Begin.U39
-rw-r--r--mcon/U/Checkcc.U135
-rw-r--r--mcon/U/Chk_MANI.U88
-rw-r--r--mcon/U/Chk_whoami.U25
-rw-r--r--mcon/U/Compile.U63
-rw-r--r--mcon/U/Config_h.U114
-rw-r--r--mcon/U/Config_sh.U110
-rw-r--r--mcon/U/Configdir.U28
-rw-r--r--mcon/U/Cppsym.U286
-rw-r--r--mcon/U/Cross.U350
-rw-r--r--mcon/U/Csym.U111
-rw-r--r--mcon/U/End.U27
-rw-r--r--mcon/U/Extract.U106
-rw-r--r--mcon/U/Extractall.U51
-rw-r--r--mcon/U/Filexp.U69
-rw-r--r--mcon/U/Findhdr.U73
-rw-r--r--mcon/U/Finish.U141
-rw-r--r--mcon/U/GCC_pipe.U65
-rw-r--r--mcon/U/Getfile.U340
-rw-r--r--mcon/U/Guess.U248
-rw-r--r--mcon/U/Head.U282
-rw-r--r--mcon/U/Inhdr.U77
-rw-r--r--mcon/U/Init.U81
-rw-r--r--mcon/U/Inlibc.U64
-rw-r--r--mcon/U/Instruct.U116
-rw-r--r--mcon/U/Largefile.U74
-rw-r--r--mcon/U/Loc.U442
-rw-r--r--mcon/U/Loc_sed.U33
-rw-r--r--mcon/U/Magic_h.U43
-rw-r--r--mcon/U/MailAuthor.U192
-rw-r--r--mcon/U/MailList.U82
-rw-r--r--mcon/U/Mips.U69
-rw-r--r--mcon/U/Mkdirp.U51
-rw-r--r--mcon/U/Mksymlinks.U90
-rw-r--r--mcon/U/Myinit.U26
-rw-r--r--mcon/U/Myread.U199
-rw-r--r--mcon/U/Nothing.U19
-rw-r--r--mcon/U/Null.U20
-rw-r--r--mcon/U/Obsol_h.U28
-rw-r--r--mcon/U/Obsol_sh.U27
-rw-r--r--mcon/U/Oldconfig.U715
-rw-r--r--mcon/U/Oldsym.U72
-rw-r--r--mcon/U/Options.U363
-rw-r--r--mcon/U/Prefixit.U68
-rw-r--r--mcon/U/Prefixup.U38
-rw-r--r--mcon/U/Rcs.U34
-rw-r--r--mcon/U/Sendfile64.U36
-rw-r--r--mcon/U/Setvar.U50
-rw-r--r--mcon/U/Signal.U271
-rw-r--r--mcon/U/Tr.U103
-rw-r--r--mcon/U/Trylink.U110
-rw-r--r--mcon/U/Typedef.U63
-rw-r--r--mcon/U/Unix.U64
-rw-r--r--mcon/U/Warn.U57
-rw-r--r--mcon/U/Warn_v7EXT.U34
-rw-r--r--mcon/U/Warn_v7ND.U33
-rw-r--r--mcon/U/Whoa.U51
-rw-r--r--mcon/U/abortsig.U80
-rw-r--r--mcon/U/active.U50
-rw-r--r--mcon/U/afs.U55
-rw-r--r--mcon/U/alignbytes.U141
-rw-r--r--mcon/U/archlib.U125
-rw-r--r--mcon/U/archname.U76
-rw-r--r--mcon/U/baserev.U22
-rw-r--r--mcon/U/basicshell.U47
-rw-r--r--mcon/U/bin.U88
-rw-r--r--mcon/U/bitpbyte.U74
-rw-r--r--mcon/U/byteorder.U68
-rw-r--r--mcon/U/cc.U58
-rw-r--r--mcon/U/ccflags.U457
-rw-r--r--mcon/U/cf_email.U69
-rw-r--r--mcon/U/cf_name.U72
-rw-r--r--mcon/U/cf_who.U62
-rw-r--r--mcon/U/charorder.U143
-rw-r--r--mcon/U/charsize.U64
-rw-r--r--mcon/U/contains.U43
-rw-r--r--mcon/U/cpp_stuff.U157
-rw-r--r--mcon/U/cpp_trad.U41
-rw-r--r--mcon/U/cppfilecom.U204
-rw-r--r--mcon/U/cppstdin.U249
-rw-r--r--mcon/U/d_NOFILE.U189
-rw-r--r--mcon/U/d_NeWS.U102
-rw-r--r--mcon/U/d_PORTAR.U79
-rw-r--r--mcon/U/d_SHM_MAC.U141
-rw-r--r--mcon/U/d_access.U93
-rw-r--r--mcon/U/d_alarm.U46
-rw-r--r--mcon/U/d_arc4random.U40
-rw-r--r--mcon/U/d_attribut.U51
-rw-r--r--mcon/U/d_backtrace.U45
-rw-r--r--mcon/U/d_bcmp.U54
-rw-r--r--mcon/U/d_bcopy.U68
-rw-r--r--mcon/U/d_bfd_lib.U48
-rw-r--r--mcon/U/d_bindtxtcode.U38
-rw-r--r--mcon/U/d_brokstat.U75
-rw-r--r--mcon/U/d_bsdjmp.U85
-rw-r--r--mcon/U/d_built_bswap32.U35
-rw-r--r--mcon/U/d_built_bswap64.U35
-rw-r--r--mcon/U/d_built_clz.U37
-rw-r--r--mcon/U/d_built_ctz.U37
-rw-r--r--mcon/U/d_built_memcmp.U37
-rw-r--r--mcon/U/d_built_popcount.U36
-rw-r--r--mcon/U/d_byacc.U33
-rw-r--r--mcon/U/d_bzero.U54
-rw-r--r--mcon/U/d_casti32.U87
-rw-r--r--mcon/U/d_castneg.U143
-rw-r--r--mcon/U/d_cbrt.U42
-rw-r--r--mcon/U/d_charsprf.U52
-rw-r--r--mcon/U/d_chown.U49
-rw-r--r--mcon/U/d_chroot.U46
-rw-r--r--mcon/U/d_chsize.U42
-rw-r--r--mcon/U/d_ckeypad.U56
-rw-r--r--mcon/U/d_clock_getres.U38
-rw-r--r--mcon/U/d_clock_gettime.U38
-rw-r--r--mcon/U/d_closedir.U121
-rw-r--r--mcon/U/d_closefrom.U45
-rw-r--r--mcon/U/d_const.U69
-rw-r--r--mcon/U/d_crypt.U82
-rw-r--r--mcon/U/d_csh.U62
-rw-r--r--mcon/U/d_ctermid.U41
-rw-r--r--mcon/U/d_cuserid.U44
-rw-r--r--mcon/U/d_datastart_symbol.U64
-rw-r--r--mcon/U/d_dbl_dig.U61
-rw-r--r--mcon/U/d_debugging.U42
-rw-r--r--mcon/U/d_deflate.U42
-rw-r--r--mcon/U/d_devpoll.U52
-rw-r--r--mcon/U/d_difftime.U80
-rw-r--r--mcon/U/d_dirent_d_type.U51
-rw-r--r--mcon/U/d_dladdr.U42
-rw-r--r--mcon/U/d_dlerror.U50
-rw-r--r--mcon/U/d_dliterphdr.U44
-rw-r--r--mcon/U/d_dlopen.U49
-rw-r--r--mcon/U/d_dosuid.U169
-rw-r--r--mcon/U/d_drem.U45
-rw-r--r--mcon/U/d_dup2.U44
-rw-r--r--mcon/U/d_end_symbol.U37
-rw-r--r--mcon/U/d_eofpipe.U93
-rw-r--r--mcon/U/d_epoll.U51
-rw-r--r--mcon/U/d_etext_symbol.U37
-rw-r--r--mcon/U/d_euc2jis.U32
-rw-r--r--mcon/U/d_fast_assert.U85
-rw-r--r--mcon/U/d_fchmod.U47
-rw-r--r--mcon/U/d_fchown.U48
-rw-r--r--mcon/U/d_fcntl.U48
-rw-r--r--mcon/U/d_fd_set.U141
-rw-r--r--mcon/U/d_fdatasync.U41
-rw-r--r--mcon/U/d_ffs.U43
-rw-r--r--mcon/U/d_fgetpos.U42
-rw-r--r--mcon/U/d_flexfnam.U79
-rw-r--r--mcon/U/d_flock.U44
-rw-r--r--mcon/U/d_fmod.U44
-rw-r--r--mcon/U/d_fork.U47
-rw-r--r--mcon/U/d_fsetpos.U42
-rw-r--r--mcon/U/d_fsync.U41
-rw-r--r--mcon/U/d_ftime.U100
-rw-r--r--mcon/U/d_ftrncate.U46
-rw-r--r--mcon/U/d_gconvert.U147
-rw-r--r--mcon/U/d_getaddrinfo.U82
-rw-r--r--mcon/U/d_getcontext.U38
-rw-r--r--mcon/U/d_geteuid.U40
-rw-r--r--mcon/U/d_getgrps.U48
-rw-r--r--mcon/U/d_gethbynm.U42
-rw-r--r--mcon/U/d_gethent.U41
-rw-r--r--mcon/U/d_gethid.U44
-rw-r--r--mcon/U/d_gethname.U287
-rw-r--r--mcon/U/d_getifaddrs.U54
-rw-r--r--mcon/U/d_getinvent.U37
-rw-r--r--mcon/U/d_getlogin.U47
-rw-r--r--mcon/U/d_getnameinfo.U73
-rw-r--r--mcon/U/d_getopt.U46
-rw-r--r--mcon/U/d_getpagsz.U122
-rw-r--r--mcon/U/d_getpgid.U48
-rw-r--r--mcon/U/d_getpgrp.U83
-rw-r--r--mcon/U/d_getpgrp2.U46
-rw-r--r--mcon/U/d_getppid.U48
-rw-r--r--mcon/U/d_getprior.U47
-rw-r--r--mcon/U/d_getpwent.U42
-rw-r--r--mcon/U/d_getrlimit.U46
-rw-r--r--mcon/U/d_gettext.U37
-rw-r--r--mcon/U/d_getuid.U40
-rw-r--r--mcon/U/d_getwd.U48
-rw-r--r--mcon/U/d_gnugettext.U54
-rw-r--r--mcon/U/d_gnulibc.U98
-rw-r--r--mcon/U/d_group.U23
-rw-r--r--mcon/U/d_havetlib.U125
-rw-r--r--mcon/U/d_herror.U36
-rw-r--r--mcon/U/d_hidnet.U68
-rw-r--r--mcon/U/d_hstrerror.U37
-rw-r--r--mcon/U/d_htonl.U80
-rw-r--r--mcon/U/d_iconv.U47
-rw-r--r--mcon/U/d_ieee754.U88
-rw-r--r--mcon/U/d_inetaton.U48
-rw-r--r--mcon/U/d_inetd.U70
-rw-r--r--mcon/U/d_inflate.U42
-rw-r--r--mcon/U/d_initstate.U43
-rw-r--r--mcon/U/d_internet.U52
-rw-r--r--mcon/U/d_iptos.U94
-rw-r--r--mcon/U/d_ipv6.U91
-rw-r--r--mcon/U/d_isascii.U46
-rw-r--r--mcon/U/d_itimer.U46
-rw-r--r--mcon/U/d_keepsig.U81
-rw-r--r--mcon/U/d_kevent_udata.U49
-rw-r--r--mcon/U/d_killpg.U45
-rw-r--r--mcon/U/d_kqueue.U57
-rw-r--r--mcon/U/d_link.U44
-rw-r--r--mcon/U/d_linuxstd.U55
-rw-r--r--mcon/U/d_locale_charset.U39
-rw-r--r--mcon/U/d_locconv.U46
-rw-r--r--mcon/U/d_lockf.U51
-rw-r--r--mcon/U/d_lstat.U45
-rw-r--r--mcon/U/d_madvise.U43
-rw-r--r--mcon/U/d_mblen.U48
-rw-r--r--mcon/U/d_mbstowcs.U46
-rw-r--r--mcon/U/d_mbtowc.U47
-rw-r--r--mcon/U/d_memalign.U48
-rw-r--r--mcon/U/d_memccpy.U45
-rw-r--r--mcon/U/d_memchr.U44
-rw-r--r--mcon/U/d_memcmp.U45
-rw-r--r--mcon/U/d_memcpy.U46
-rw-r--r--mcon/U/d_memmove.U45
-rw-r--r--mcon/U/d_mempcpy.U51
-rw-r--r--mcon/U/d_memset.U47
-rw-r--r--mcon/U/d_mkdir.U48
-rw-r--r--mcon/U/d_mkfifo.U51
-rw-r--r--mcon/U/d_mktime.U44
-rw-r--r--mcon/U/d_mmap.U53
-rw-r--r--mcon/U/d_msem_lck.U42
-rw-r--r--mcon/U/d_msg.U45
-rw-r--r--mcon/U/d_msg_flags.U59
-rw-r--r--mcon/U/d_msgctl.U44
-rw-r--r--mcon/U/d_msgget.U45
-rw-r--r--mcon/U/d_msgrcv.U47
-rw-r--r--mcon/U/d_msgsnd.U44
-rw-r--r--mcon/U/d_msync.U49
-rw-r--r--mcon/U/d_munmap.U46
-rw-r--r--mcon/U/d_nanosleep.U38
-rw-r--r--mcon/U/d_newsadm.U72
-rw-r--r--mcon/U/d_nice.U46
-rw-r--r--mcon/U/d_nls.U45
-rw-r--r--mcon/U/d_nolnbuf.U99
-rw-r--r--mcon/U/d_normsig.U57
-rw-r--r--mcon/U/d_open3.U90
-rw-r--r--mcon/U/d_passwd.U23
-rw-r--r--mcon/U/d_pathconf.U83
-rw-r--r--mcon/U/d_pause.U47
-rw-r--r--mcon/U/d_perror.U53
-rw-r--r--mcon/U/d_pidcheck.U75
-rw-r--r--mcon/U/d_pipe.U47
-rw-r--r--mcon/U/d_poll.U64
-rw-r--r--mcon/U/d_popen.U42
-rw-r--r--mcon/U/d_portable.U71
-rw-r--r--mcon/U/d_posix_fadvise.U47
-rw-r--r--mcon/U/d_posix_memalign.U41
-rw-r--r--mcon/U/d_pread.U48
-rw-r--r--mcon/U/d_preadv.U48
-rw-r--r--mcon/U/d_psignal.U41
-rw-r--r--mcon/U/d_ptattr_setstack.U40
-rw-r--r--mcon/U/d_pwrite.U48
-rw-r--r--mcon/U/d_pwritev.U48
-rw-r--r--mcon/U/d_random.U40
-rw-r--r--mcon/U/d_raster.U57
-rw-r--r--mcon/U/d_rdchk.U42
-rw-r--r--mcon/U/d_readdir.U135
-rw-r--r--mcon/U/d_readlink.U49
-rw-r--r--mcon/U/d_recvmsg.U70
-rw-r--r--mcon/U/d_regcmp.U64
-rw-r--r--mcon/U/d_regcomp.U44
-rw-r--r--mcon/U/d_regparm.U48
-rw-r--r--mcon/U/d_rename.U43
-rw-r--r--mcon/U/d_rmdir.U45
-rw-r--r--mcon/U/d_rusage.U53
-rw-r--r--mcon/U/d_sa_interrupt.U37
-rw-r--r--mcon/U/d_safebcpy.U124
-rw-r--r--mcon/U/d_safemcpy.U127
-rw-r--r--mcon/U/d_sanemcmp.U88
-rw-r--r--mcon/U/d_sbrk.U44
-rw-r--r--mcon/U/d_scandir.U58
-rw-r--r--mcon/U/d_scannl.U74
-rw-r--r--mcon/U/d_sched_yield.U36
-rw-r--r--mcon/U/d_scorfl.U58
-rw-r--r--mcon/U/d_select.U61
-rw-r--r--mcon/U/d_sem.U45
-rw-r--r--mcon/U/d_semctl.U52
-rw-r--r--mcon/U/d_semget.U46
-rw-r--r--mcon/U/d_semop.U84
-rw-r--r--mcon/U/d_sendfile.U41
-rw-r--r--mcon/U/d_sendmsg.U70
-rw-r--r--mcon/U/d_setegid.U47
-rw-r--r--mcon/U/d_seteuid.U47
-rw-r--r--mcon/U/d_setgrps.U48
-rw-r--r--mcon/U/d_setlnbuf.U45
-rw-r--r--mcon/U/d_setlocale.U47
-rw-r--r--mcon/U/d_setpgid.U52
-rw-r--r--mcon/U/d_setpgrp.U96
-rw-r--r--mcon/U/d_setpgrp2.U47
-rw-r--r--mcon/U/d_setprior.U47
-rw-r--r--mcon/U/d_setproctitle.U45
-rw-r--r--mcon/U/d_setregid.U78
-rw-r--r--mcon/U/d_setreuid.U78
-rw-r--r--mcon/U/d_setrgid.U47
-rw-r--r--mcon/U/d_setrlimit.U47
-rw-r--r--mcon/U/d_setruid.U47
-rw-r--r--mcon/U/d_setsid.U48
-rw-r--r--mcon/U/d_sgndchr.U50
-rw-r--r--mcon/U/d_shm.U45
-rw-r--r--mcon/U/d_shmat.U147
-rw-r--r--mcon/U/d_shmctl.U44
-rw-r--r--mcon/U/d_shmdt.U42
-rw-r--r--mcon/U/d_shmget.U46
-rw-r--r--mcon/U/d_sigaction.U45
-rw-r--r--mcon/U/d_sigaltstack.U42
-rw-r--r--mcon/U/d_sigblock.U41
-rw-r--r--mcon/U/d_sighold.U41
-rw-r--r--mcon/U/d_siglist.U41
-rw-r--r--mcon/U/d_sigprocmask.U42
-rw-r--r--mcon/U/d_sigsetjmp.U104
-rw-r--r--mcon/U/d_sigsetmk.U43
-rw-r--r--mcon/U/d_sigvec.U99
-rw-r--r--mcon/U/d_sjis2jis.U32
-rw-r--r--mcon/U/d_sockaddr_in_sin_len.U53
-rw-r--r--mcon/U/d_sockaddr_un.U61
-rw-r--r--mcon/U/d_socker_get.U65
-rw-r--r--mcon/U/d_socket.U140
-rw-r--r--mcon/U/d_speedopt.U62
-rw-r--r--mcon/U/d_srandom.U39
-rw-r--r--mcon/U/d_stat.U45
-rw-r--r--mcon/U/d_statblks.U46
-rw-r--r--mcon/U/d_statfs.U50
-rw-r--r--mcon/U/d_statvfs.U39
-rw-r--r--mcon/U/d_stdstdio.U325
-rw-r--r--mcon/U/d_strcasestr.U37
-rw-r--r--mcon/U/d_strccmp.U49
-rw-r--r--mcon/U/d_strchr.U87
-rw-r--r--mcon/U/d_strcoll.U43
-rw-r--r--mcon/U/d_strcspn.U42
-rw-r--r--mcon/U/d_strctcpy.U53
-rw-r--r--mcon/U/d_strdup.U43
-rw-r--r--mcon/U/d_strerror.U117
-rw-r--r--mcon/U/d_strftime.U43
-rw-r--r--mcon/U/d_strlcat.U38
-rw-r--r--mcon/U/d_strlcpy.U38
-rw-r--r--mcon/U/d_strstr.U41
-rw-r--r--mcon/U/d_strtod.U48
-rw-r--r--mcon/U/d_strtok.U45
-rw-r--r--mcon/U/d_strtol.U46
-rw-r--r--mcon/U/d_strtoul.U48
-rw-r--r--mcon/U/d_strxfrm.U44
-rw-r--r--mcon/U/d_su_chown.U41
-rw-r--r--mcon/U/d_symlink.U45
-rw-r--r--mcon/U/d_sync_atomic.U42
-rw-r--r--mcon/U/d_syscall.U45
-rw-r--r--mcon/U/d_sysconf.U47
-rw-r--r--mcon/U/d_sysctl.U41
-rw-r--r--mcon/U/d_syslog.U45
-rw-r--r--mcon/U/d_system.U44
-rw-r--r--mcon/U/d_table.U45
-rw-r--r--mcon/U/d_tcgtpgrp.U48
-rw-r--r--mcon/U/d_tcstpgrp.U49
-rw-r--r--mcon/U/d_time.U66
-rw-r--r--mcon/U/d_times.U74
-rw-r--r--mcon/U/d_tminsys.U41
-rw-r--r--mcon/U/d_truncate.U46
-rw-r--r--mcon/U/d_ttyname.U47
-rw-r--r--mcon/U/d_tzmin.U53
-rw-r--r--mcon/U/d_tzname.U45
-rw-r--r--mcon/U/d_uctx_mctx.U44
-rw-r--r--mcon/U/d_uctx_mctx_gregs.U44
-rw-r--r--mcon/U/d_ulimit.U42
-rw-r--r--mcon/U/d_umask.U48
-rw-r--r--mcon/U/d_usendir.U79
-rw-r--r--mcon/U/d_usleep.U44
-rw-r--r--mcon/U/d_uwait.U123
-rw-r--r--mcon/U/d_vfork.U105
-rw-r--r--mcon/U/d_voidsig.U89
-rw-r--r--mcon/U/d_volatile.U79
-rw-r--r--mcon/U/d_vprintf.U81
-rw-r--r--mcon/U/d_vsnprintf.U47
-rw-r--r--mcon/U/d_wait3.U53
-rw-r--r--mcon/U/d_wait4.U52
-rw-r--r--mcon/U/d_waitpid.U48
-rw-r--r--mcon/U/d_wcstombs.U47
-rw-r--r--mcon/U/d_wctomb.U53
-rw-r--r--mcon/U/d_wifstat.U87
-rw-r--r--mcon/U/d_xdrs.U42
-rw-r--r--mcon/U/defeditor.U45
-rw-r--r--mcon/U/doublesize.U58
-rw-r--r--mcon/U/ebcdic.U58
-rw-r--r--mcon/U/enablenls.U61
-rw-r--r--mcon/U/errnolist.U106
-rw-r--r--mcon/U/etc.U42
-rw-r--r--mcon/U/fieldn.U82
-rw-r--r--mcon/U/filexp_path.U30
-rw-r--r--mcon/U/floatsize.U58
-rw-r--r--mcon/U/fpostype.U39
-rw-r--r--mcon/U/fpu.U73
-rw-r--r--mcon/U/gccvers.U110
-rw-r--r--mcon/U/gidtype.U61
-rw-r--r--mcon/U/groupstype.U63
-rw-r--r--mcon/U/h_fcntl.U23
-rw-r--r--mcon/U/h_sysfile.U23
-rw-r--r--mcon/U/i_alloca.U36
-rw-r--r--mcon/U/i_arpainet.U31
-rw-r--r--mcon/U/i_db.U146
-rw-r--r--mcon/U/i_dbm.U97
-rw-r--r--mcon/U/i_dirent.U146
-rw-r--r--mcon/U/i_dld.U34
-rw-r--r--mcon/U/i_dlfcn.U34
-rw-r--r--mcon/U/i_execinfo.U27
-rw-r--r--mcon/U/i_fcntl.U61
-rw-r--r--mcon/U/i_float.U35
-rw-r--r--mcon/U/i_gdbm.U46
-rw-r--r--mcon/U/i_grp.U31
-rw-r--r--mcon/U/i_iconv.U31
-rw-r--r--mcon/U/i_ifaddrs.U27
-rw-r--r--mcon/U/i_inttypes.U35
-rw-r--r--mcon/U/i_invent.U27
-rw-r--r--mcon/U/i_langinfo.U27
-rw-r--r--mcon/U/i_libcharset.U27
-rw-r--r--mcon/U/i_libintl.U27
-rw-r--r--mcon/U/i_limits.U33
-rw-r--r--mcon/U/i_linux_netlink.U29
-rw-r--r--mcon/U/i_linux_rtnetlink.U29
-rw-r--r--mcon/U/i_locale.U32
-rw-r--r--mcon/U/i_malloc.U31
-rw-r--r--mcon/U/i_math.U52
-rw-r--r--mcon/U/i_memory.U65
-rw-r--r--mcon/U/i_mswsock.U27
-rw-r--r--mcon/U/i_ndbm.U49
-rw-r--r--mcon/U/i_netdb.U27
-rw-r--r--mcon/U/i_neterrno.U65
-rw-r--r--mcon/U/i_netif.U27
-rw-r--r--mcon/U/i_netroute.U30
-rw-r--r--mcon/U/i_niin.U45
-rw-r--r--mcon/U/i_niip.U30
-rw-r--r--mcon/U/i_poll.U28
-rw-r--r--mcon/U/i_pthread.U26
-rw-r--r--mcon/U/i_pwd.U162
-rw-r--r--mcon/U/i_regex.U35
-rw-r--r--mcon/U/i_sched.U25
-rw-r--r--mcon/U/i_sfio.U32
-rw-r--r--mcon/U/i_stddef.U32
-rw-r--r--mcon/U/i_stdlib.U32
-rw-r--r--mcon/U/i_string.U62
-rw-r--r--mcon/U/i_sysdir.U34
-rw-r--r--mcon/U/i_sysfile.U60
-rw-r--r--mcon/U/i_sysioctl.U202
-rw-r--r--mcon/U/i_sysipc.U28
-rw-r--r--mcon/U/i_sysmman.U34
-rw-r--r--mcon/U/i_sysmount.U29
-rw-r--r--mcon/U/i_sysndir.U31
-rw-r--r--mcon/U/i_sysparam.U31
-rw-r--r--mcon/U/i_syspoll.U28
-rw-r--r--mcon/U/i_sysresrc.U34
-rw-r--r--mcon/U/i_sysselct.U39
-rw-r--r--mcon/U/i_syssem.U28
-rw-r--r--mcon/U/i_syssendfile.U27
-rw-r--r--mcon/U/i_syssock.U32
-rw-r--r--mcon/U/i_sysstat.U32
-rw-r--r--mcon/U/i_sysstatvfs.U29
-rw-r--r--mcon/U/i_syssysctl.U27
-rw-r--r--mcon/U/i_systable.U32
-rw-r--r--mcon/U/i_systimeb.U55
-rw-r--r--mcon/U/i_systimes.U31
-rw-r--r--mcon/U/i_systwgcf.U31
-rw-r--r--mcon/U/i_systypes.U34
-rw-r--r--mcon/U/i_sysun.U35
-rw-r--r--mcon/U/i_sysutsname.U27
-rw-r--r--mcon/U/i_sysvfs.U29
-rw-r--r--mcon/U/i_syswait.U34
-rw-r--r--mcon/U/i_termio.U134
-rw-r--r--mcon/U/i_time.U171
-rw-r--r--mcon/U/i_ucontext.U96
-rw-r--r--mcon/U/i_unistd.U31
-rw-r--r--mcon/U/i_utime.U31
-rw-r--r--mcon/U/i_values.U35
-rw-r--r--mcon/U/i_varhdr.U165
-rw-r--r--mcon/U/i_vfork.U40
-rw-r--r--mcon/U/i_whoami.U35
-rw-r--r--mcon/U/i_winsock2.U27
-rw-r--r--mcon/U/i_ws2tcpip.U27
-rw-r--r--mcon/U/i_zlib.U31
-rw-r--r--mcon/U/ilp.U116
-rw-r--r--mcon/U/inc.U39
-rw-r--r--mcon/U/install.U199
-rw-r--r--mcon/U/intsize.U89
-rw-r--r--mcon/U/ipc.U171
-rw-r--r--mcon/U/issymlink.U85
-rw-r--r--mcon/U/kernel.U63
-rw-r--r--mcon/U/lex.U67
-rw-r--r--mcon/U/lib.U54
-rw-r--r--mcon/U/libc.U405
-rw-r--r--mcon/U/libdbm.U47
-rw-r--r--mcon/U/libflex.U65
-rw-r--r--mcon/U/libnlist.U49
-rw-r--r--mcon/U/libnm.U45
-rw-r--r--mcon/U/libpth.U133
-rw-r--r--mcon/U/libs.U256
-rw-r--r--mcon/U/libyacc.U64
-rw-r--r--mcon/U/lintlib.U38
-rw-r--r--mcon/U/lns.U41
-rw-r--r--mcon/U/locale.U70
-rw-r--r--mcon/U/locdist.U174
-rw-r--r--mcon/U/longsize.U24
-rw-r--r--mcon/U/lseektype.U40
-rw-r--r--mcon/U/maildir.U41
-rw-r--r--mcon/U/mailer.U61
-rw-r--r--mcon/U/mailfile.U56
-rw-r--r--mcon/U/make.U60
-rw-r--r--mcon/U/mallocsrc.U181
-rw-r--r--mcon/U/man1dir.U147
-rw-r--r--mcon/U/man3dir.U158
-rw-r--r--mcon/U/manfmt.U118
-rw-r--r--mcon/U/mansrc.U150
-rw-r--r--mcon/U/mboxchar.U70
-rw-r--r--mcon/U/mkdep.U271
-rw-r--r--mcon/U/models.U214
-rw-r--r--mcon/U/modetype.U40
-rw-r--r--mcon/U/msgmerge_update.U29
-rw-r--r--mcon/U/myhostname.U284
-rw-r--r--mcon/U/n.U45
-rw-r--r--mcon/U/nametype.U134
-rw-r--r--mcon/U/nblock_io.U261
-rw-r--r--mcon/U/newslevel.U53
-rw-r--r--mcon/U/newslib.U61
-rw-r--r--mcon/U/newsspool.U52
-rw-r--r--mcon/U/nis.U180
-rw-r--r--mcon/U/nlist_pfx.U135
-rw-r--r--mcon/U/official.U47
-rw-r--r--mcon/U/orderlib.U95
-rw-r--r--mcon/U/orgname.U65
-rw-r--r--mcon/U/packadmin.U33
-rw-r--r--mcon/U/package.U56
-rw-r--r--mcon/U/pager.U59
-rw-r--r--mcon/U/patchlevel.U69
-rw-r--r--mcon/U/perlpath.U56
-rw-r--r--mcon/U/pidtype.U39
-rw-r--r--mcon/U/pkgsrc.U26
-rw-r--r--mcon/U/prefix.U80
-rw-r--r--mcon/U/prefshell.U60
-rw-r--r--mcon/U/privlib.U96
-rw-r--r--mcon/U/prototype.U117
-rw-r--r--mcon/U/ptrsize.U53
-rw-r--r--mcon/U/randbits.U83
-rw-r--r--mcon/U/randfunc.U164
-rw-r--r--mcon/U/rcs_branch.U43
-rw-r--r--mcon/U/registers.U103
-rw-r--r--mcon/U/rootid.U35
-rw-r--r--mcon/U/sbrksmart.U85
-rw-r--r--mcon/U/sbrktype.U44
-rw-r--r--mcon/U/scriptdir.U110
-rw-r--r--mcon/U/selecttype.U116
-rw-r--r--mcon/U/sh.U92
-rw-r--r--mcon/U/shm_for.U118
-rw-r--r--mcon/U/sig_name.U157
-rw-r--r--mcon/U/sitearch.U94
-rw-r--r--mcon/U/sitelib.U97
-rw-r--r--mcon/U/sizetype.U40
-rw-r--r--mcon/U/so.U50
-rw-r--r--mcon/U/sockopt.U88
-rw-r--r--mcon/U/spitshell.U107
-rw-r--r--mcon/U/src.U92
-rw-r--r--mcon/U/ssizetype.U91
-rw-r--r--mcon/U/startperl.U95
-rw-r--r--mcon/U/startsh.U50
-rw-r--r--mcon/U/stdchar.U40
-rw-r--r--mcon/U/sunscanf.U55
-rw-r--r--mcon/U/sysman.U50
-rw-r--r--mcon/U/trnl.U56
-rw-r--r--mcon/U/uidtype.U57
-rw-r--r--mcon/U/usenm.U144
-rw-r--r--mcon/U/usesocks.U46
-rw-r--r--mcon/U/usrinc.U54
-rw-r--r--mcon/U/vaproto.U65
-rw-r--r--mcon/U/voidflags.U180
-rw-r--r--mcon/U/warnflags.U55
-rw-r--r--mcon/U/yacc.U90
-rw-r--r--mcon/configure144
-rw-r--r--mcon/files/Internal.U20
-rw-r--r--mcon/files/README6
-rw-r--r--mcon/files/d_function.U31
-rw-r--r--mcon/files/dir.U47
-rw-r--r--mcon/files/file.U47
-rw-r--r--mcon/files/i_include.U32
-rw-r--r--mcon/files/keyword.U54
-rw-r--r--mcon/files/locate.U47
-rw-r--r--mcon/files/question.U58
-rw-r--r--mcon/files/rcshead.U15
-rw-r--r--mcon/files/shell.U68
-rw-r--r--mcon/files/type.U47
-rwxr-xr-xmcon/makegloss.SH217
-rw-r--r--mcon/man/Jmakefile22
-rwxr-xr-xmcon/man/Makefile.SH190
-rwxr-xr-xmcon/man/mconfig.SH2113
-rwxr-xr-xmcon/man/mlint.SH559
-rwxr-xr-xmcon/man/mxref.SH133
-rwxr-xr-xmcon/mconfig.SH190
-rwxr-xr-xmcon/mlint.SH139
-rwxr-xr-xmcon/mxref.SH149
-rw-r--r--mcon/pl/common.pl289
-rw-r--r--mcon/pl/configure.pl247
-rw-r--r--mcon/pl/cosmetic.pl110
-rw-r--r--mcon/pl/depend.pl138
-rw-r--r--mcon/pl/eval.pl300
-rw-r--r--mcon/pl/extract.pl109
-rw-r--r--mcon/pl/files.pl108
-rw-r--r--mcon/pl/gensym.pl22
-rw-r--r--mcon/pl/init.pl55
-rw-r--r--mcon/pl/lint.pl1428
-rw-r--r--mcon/pl/locate.pl153
-rw-r--r--mcon/pl/makefile.pl172
-rw-r--r--mcon/pl/obsolete.pl103
-rw-r--r--mcon/pl/order.pl42
-rw-r--r--mcon/pl/tsort.pl166
-rw-r--r--mcon/pl/wanted.pl263
-rw-r--r--mcon/pl/xref.pl67
-rw-r--r--mcon/pl/xwant.pl149
-rw-r--r--pat/Jmakefile62
-rwxr-xr-xpat/Makefile.SH297
-rw-r--r--pat/README120
-rwxr-xr-xpat/pat.SH154
-rw-r--r--pat/pat.man513
-rwxr-xr-xpat/patbase.SH122
-rw-r--r--pat/patchlevel.h34
-rwxr-xr-xpat/patcil.SH543
-rwxr-xr-xpat/patclean.SH185
-rwxr-xr-xpat/patcol.SH235
-rwxr-xr-xpat/patdiff.SH242
-rwxr-xr-xpat/patftp.SH118
-rwxr-xr-xpat/patindex.SH66
-rwxr-xr-xpat/patlog.SH388
-rwxr-xr-xpat/patmake.SH411
-rwxr-xr-xpat/patname.SH175
-rwxr-xr-xpat/patnotify.SH232
-rwxr-xr-xpat/patpost.SH179
-rwxr-xr-xpat/patsend.SH218
-rwxr-xr-xpat/patsnap.SH124
-rw-r--r--patchlevel.h5
-rw-r--r--pl/comment.pl46
-rw-r--r--pl/copyright.pl71
-rw-r--r--pl/editor.pl23
-rw-r--r--pl/fullname.pl49
-rw-r--r--pl/listedit.pl36
-rw-r--r--pl/logname.pl24
-rw-r--r--pl/makedir.pl29
-rw-r--r--pl/manifake.pl42
-rw-r--r--pl/newer.pl78
-rw-r--r--pl/package.pl40
-rw-r--r--pl/patseq.pl27
-rw-r--r--pl/profile.pl73
-rw-r--r--pl/rangeargs.pl48
-rw-r--r--pl/rcsargs.pl60
-rw-r--r--pl/snapshot.pl28
-rw-r--r--pl/tilde.pl25
-rw-r--r--pl/users.pl48
-rw-r--r--revision.h7
768 files changed, 78541 insertions, 0 deletions
diff --git a/Artistic b/Artistic
new file mode 100644
index 0000000..a05f9e8
--- /dev/null
+++ b/Artistic
@@ -0,0 +1,125 @@
+ The "Artistic License"
+
+ Preamble
+
+The intent of this document is to state the conditions under which a
+Package may be copied, such that the Copyright Holder maintains some
+semblance of artistic control over the development of the Package,
+while giving the users of the package the right to use and distribute
+the Package in a more-or-less customary fashion, plus the right to make
+reasonable modifications.
+
+It also grants you the rights to reuse parts of a Package in your own
+programs without transferring this License to those programs, provided
+that you meet some reasonable requirements.
+
+Definitions:
+
+ "Package" refers to the collection of files distributed by the
+ Copyright Holder, and derivatives of that collection of files
+ created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been
+ modified, or has been modified in accordance with the wishes
+ of the Copyright Holder as specified below.
+
+ "Copyright Holder" is whoever is named in the copyright or
+ copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing
+ this Package.
+
+ "Reasonable copying fee" is whatever you can justify on the
+ basis of media cost, duplication charges, time of people involved,
+ and so on. (You will not be required to justify it to the
+ Copyright Holder, but only to the computing community at large
+ as a market that must bear the fee.)
+
+ "Freely Available" means that no fee is charged for the item
+ itself, though there may be fees involved in handling the item.
+ It also means that recipients of the item may redistribute it
+ under the same conditions they received it.
+
+1. You may make and give away verbatim copies of the source form of the
+Standard Version of this Package without restriction, provided that you
+duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications
+derived from the Public Domain or from the Copyright Holder. A Package
+modified in such a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided
+that you insert a prominent notice in each changed file stating how and
+when you changed that file, and provided that you do at least ONE of the
+following:
+
+ a) place your modifications in the Public Domain or otherwise make them
+ Freely Available, such as by posting said modifications to Usenet or
+ an equivalent medium, or placing the modifications on a major archive
+ site such as uunet.uu.net, or by allowing the Copyright Holder to include
+ your modifications in the Standard Version of the Package.
+
+ b) use the modified Package only within your corporation or organization.
+
+ c) rename any non-standard executables so the names do not conflict
+ with standard executables, which must also be provided, and provide
+ a separate manual page for each non-standard executable that clearly
+ documents how it differs from the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or
+executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files,
+ together with instructions (in the manual page or equivalent) on where
+ to get the Standard Version.
+
+ b) accompany the distribution with the machine-readable source of
+ the Package with your modifications.
+
+ c) give non-standard executables non-standard names, and clearly
+ document the differences in manual pages (or equivalent), together
+ with instructions on where to get the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this
+Package. You may charge any fee you choose for support of this
+Package. You may not charge a fee for this Package itself. However,
+you may distribute this Package in aggregate with other (possibly
+commercial) programs as part of a larger (possibly commercial) software
+distribution provided that you do not advertise this Package as a
+product of your own.
+
+6. The scripts and library files supplied as input to or produced as
+output from the programs of this Package do not automatically fall
+under the copyright of this Package, but belong to whoever generated
+them, and may be sold commercially, and may be aggregated with this
+Package. If such scripts or library files are aggregated with this
+Package via the so-called "undump" or "unexec" methods of producing a
+binary executable image, then distribution of such an image shall
+neither be construed as a distribution of this Package nor shall it
+fall under the restrictions of Paragraphs 3 and 4, provided that you do
+not represent such an executable image as a Standard Version of this
+Package.
+
+7. You may reuse parts of this Package in your own programs, provided that
+you explicitly state where you got them from, in the source code (and, left
+to your courtesy, in the documentation), duplicating all the associated
+copyright notices and disclaimers. Besides your changes, if any, must be
+clearly marked as such. Parts reused that way will no longer fall under this
+license if, and only if, the name of your program(s) have no immediate
+connection with the name of the Package itself or its associated programs.
+You may then apply whatever restrictions you wish on the reused parts or
+choose to place them in the Public Domain--this will apply only within the
+context of your package.
+
+8. The name of the Copyright Holder may not be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+ The End
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..0726af4
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,1457 @@
+Fri Feb 28 17:48:41 MET 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
+
+. Description:
+
+ This huge set of patch results from an integration of the
+ perl5 units into the dist-3.0 package. A few improvements
+ of mine are also incorporated here, but this patch set should
+ mainly be credited to Andy Dougherty and Chip Salzenberg, who
+ have both assumed the perl5 Patch Pumpkin with success and brio.
+
+ I won't document most of the changes in detail. Only the obvious
+ ones were kept here. You can look closer to the patches themselves
+ to see what really changed. Especially the new units, since you
+ now have more symbols to check for in your C code...
+
+ Regenerated Configure with current set of units.
+
+ Added Perl Patch Pumpkin credits. Thanks to Andy Dougherty and
+ to Chip Salzenberg for their incredible contributions to
+ metaconfig.
+
+ Changed my email address and updated copyright dates
+
+ Added support for src.U. This means you can now run Configure
+ from a remote directory to separate the build directory and
+ the (possibly read-only) source tree.
+ Note that some of your private units may require some changes
+ due to that...
+
+ Removed support for NO_PROTOTYPE detection on SCO.
+
+ Added cute quoting trick for wild stringify support, which
+ allows non-ANSI stringification to occur.
+
+ Replaced .a with $_a all over the place.
+ Likewise for .o replaced by $_o.
+ You'll have to do that to your own private units.
+
+ Integrated new units from perl5. I will not document most
+ of the perl5-related changes here. People interested can
+ look at Andy's notes in the perl5 distribution.
+
+ New USE_BSD_GETPGRP to detect the getpgrp() flavour. The old
+ USE_BSDPGRP has been obsoleted in favor of USE_BSD_SETPGRP.
+ Indeed, setpgrp() and getpgrp() can have distinct flavors,
+ so we need two distinct tests for them.
+
+ Useless units dropped: d_group.U and d_passwd.U.
+
+ Mention that <poll.h> can be included if HAS_POLL defined.
+
+ Improved overlapping copy check.
+
+ Added support for Free_t, the type of free().
+
+ Don't use nm with the GNU C library.
+ Added support for Linux shared libs.
+
+ Don't prompt them if the void support is high enough for us
+ and don't ask for the include path unless they are on a MIPS.
+
+ Added the srcdir support to "configure" now that we have src.U.
+
+ Documented the running environment and the src.U unit in
+ the metaconfig man page. The $_a and $_o are also mentionned.
+ All the generated scripts must now start with a "$startsh"
+ to ensure proper shell execution.
+
+ New "create" and "empty" lint directives.
+
+ New -L option for metaxref to match metaconfig and metalint.
+
+ Documents contents of the message sent by patnotify:
+ we now let them know the patch priority and description.
+
+ Added a whole bunch of new units, mostly from the perl5 team.
+
+. Files changed:
+
+ * bin/packinit.SH: Fixed one wrong ':' comment in .package.
+
+ * jmake/files/Jmake.rules: Now handles USRINC for dependencies.
+ Smarter about dependencies computation.
+
+ * jmake/files/Jmake.tmpl: Lex path can now be configured.
+
+ * mcon/U/Begin.U: Added Extractall dependency.
+
+ * mcon/U/Config_sh.U, mcon/U/Oldsym.U, mcon/U/Extract.U,
+ mcon/U/patchlevel.U, mcon/U/MailAuthor.U, mcon/U/Chk_MANI.U,
+ mcon/U/Config_h.U: Added support for src.U.
+
+ * mcon/U/Configdir.U: Have README explicitly mention the package
+ name.
+
+ * mcon/U/make.U, mcon/U/d_strtoul.U, mcon/U/Unix.U,
+ mcon/U/d_inetaton.U, mcon/U/sitearch.U, mcon/U/d_sanemcmp.U,
+ mcon/U/i_locale.U, mcon/U/d_sigaction.U, mcon/U/d_getpgid.U,
+ mcon/U/src.U, mcon/U/sitelib.U, mcon/U/d_brokstat.U, mcon/U/man3dir.U,
+ , mcon/U/d_sigsetjmp.U, mcon/U/i_sysstat.U, mcon/U/d_strtod.U,
+ mcon/U/d_byacc.U, mcon/U/sh.U, mcon/U/Signal.U, mcon/U/d_gnulibc.U,
+ mcon/U/man1dir.U, mcon/U/Extractall.U, mcon/U/i_values.U,
+ mcon/U/i_sfio.U: Created.
+
+ * mcon/U/Getfile.U: Getfile script now begins with "startsh".
+
+ * mcon/U/Head.U: Make sure we unset CDPATH for shells that support
+ this. Improved Korn shell detection and handling.
+
+ * mcon/U/Instruct.U: Logname / whoami sequence rewritten to use case.
+
+ * mcon/U/Loc.U: Allow users to specify paths on the command line.
+ Will now substitute cp for ln if not supported.
+
+ * mcon/U/Myread.U: Myread script now starts with a "startsh".
+ Miscellaneous fixes.
+
+ * mcon/U/Oldconfig.U: Added support for src.U. New OSNAME define.
+ Can now sense new OSes.
+
+ * mcon/U/Options.U: Optdef.sh now starts with a "startsh". Moved
+ some code from Head.U.
+
+ * mcon/U/Whoa.U: Whoa script now starts with leading "startsh".
+
+ * mcon/U/afs.U: Can now explicitly tell Configure whether AFS is
+ running.
+
+ * mcon/U/archlib.U: Skip existence checks for archlib.
+
+ * mcon/U/archname.U: Changed the way the archname is mangled from
+ uname.
+
+ * mcon/U/byteorder.U: No longer ask the user if the test runs ok.
+
+ * mcon/U/ccflags.U: Removed support for NO_PROTOTYPE detection on
+ SCO. New locincpth variable. Added info on the "additional ld
+ flags" question.
+
+ * mcon/U/cf_who.U: New computation method avoiding use of temporary
+ file.
+
+ * mcon/U/cpp_stuff.U: Added cute quoting trick for wild stringify
+ support.
+
+ * mcon/U/d_bsdjmp.U, mcon/U/d_fd_set.U, mcon/U/models.U,
+ mcon/U/d_scannl.U, mcon/U/d_open3.U, mcon/U/d_closedir.U: Added ?F:
+ metalint hint.
+
+ * mcon/U/libs.U, mcon/U/libnm.U, mcon/U/libyacc.U, mcon/U/libflex.U,
+ mcon/U/libdbm.U, mcon/U/d_socket.U, mcon/U/d_normsig.U,
+ mcon/U/d_crypt.U: Replaced .a with $_a all over the place.
+
+ * mcon/U/d_csh.U: Added full_csh to preserve the full path even when
+ portable.
+
+ * mcon/U/d_dosuid.U: Moved unit to TOP via a ?Y: layout directive.
+ Tell them /dev/fd is not about floppy disks.
+
+ * mcon/U/d_gconvert.U: Integrated new unit from perl5.
+
+ * mcon/U/d_getpgrp.U: New USE_BSD_GETPGRP to detect the getpgrp()
+ flavour.
+
+ * mcon/U/d_group.U, mcon/U/d_passwd.U: Useless unit dropped.
+
+ * mcon/U/d_usendir.U, mcon/U/d_havetlib.U, mcon/U/errnolist.U:
+ Replaced .a with $_a all over the place. Likewise for .o replaced by
+ $_o.
+
+ * mcon/U/d_newsadm.U: Added Guess dependency.
+
+ * mcon/U/d_pidcheck.U: Replaced .o with $_o all over the place.
+ Added ?F: metalint hint.
+
+ * mcon/U/d_poll.U: Mention that <poll.h> can be included if HAS_POLL
+ defined.
+
+ * mcon/U/d_safebcpy.U, mcon/U/d_safemcpy.U: Improved overlapping copy
+ check. Comfort them if they have memmove. Added ?F: metalint hint.
+
+ * mcon/U/d_setpgid.U: Reworded symbol comments.
+
+ * mcon/U/d_setpgrp.U: Obsoleted USE_BSDGRP in favor of
+ USE_BSD_SETPGRP. Another unit now also defines a USE_BSD_GETPGRP.
+ Fallback for test program failure improved.
+
+ * mcon/U/d_sgndchr.U, mcon/U/d_wifstat.U: Added a ?F: metalint hint.
+
+ * mcon/U/d_sigvec.U: There is now a separate routine for sigaction().
+
+ * mcon/U/d_stdstdio.U: Merged with perl5's unit.
+
+ * mcon/U/d_syslog.U, mcon/U/mkdep.U: Replaced .o with $_o all over
+ the place.
+
+ * mcon/U/i_dbm.U: Added I_RPCSVC_DBM check.
+
+ * mcon/U/i_varhdr.U: Varargs script now starts with leading "startsh".
+
+ * mcon/U/intsize.U: Avoid prompting the user if the test runs ok.
+ Moved code from longsize.U into there. New tests for shortsize as
+ well.
+
+ * mcon/U/libc.U: Replaced .a with $_a all over the place. Added
+ support for HPUX-10 nm output.
+
+ * mcon/U/libnlist.U: Added usrinc and mips on the dependency line.
+ Make sure we call ./mips. Added a ?LINT: hint.
+
+ * mcon/U/libpth.U: New loclibpth variable.
+
+ * mcon/U/longsize.U: Code moved to intsize.U.
+
+ * mcon/U/mallocsrc.U: Added support for Free_t, the type of free().
+ Replaced .o with $_o all over the place.
+
+ * mcon/U/manfmt.U, mcon/U/mansrc.U: Don't ask for AFS when they
+ choose to not install pages.
+
+ * mcon/U/myhostname.U: Improved hostname lookup by using ypmatch when
+ NIS is used.
+
+ * mcon/U/nblock_io.U: Simplify here document for shells that can't
+ handle them well. Force use of "startsh" at the head of the
+ generated script. Added new files to the ?F: metalint hint.
+
+ * mcon/U/nis.U: Ensure suitable defaults for hostcat and friends.
+
+ * mcon/U/orderlib.U: Replaced .a with $_a all over the place.
+ Likewise for .o replaced by $_o. Now uses the ar located by Loc.U.
+
+ * mcon/U/randbits.U: Added <unistd.h> and <stdlib.h> to the C program
+ test.
+
+ * mcon/U/registers.U: Removed empty ?LINT lines.
+
+ * mcon/U/selecttype.U: Always include <sys/select.h> when available
+ for test.
+
+ * mcon/U/sig_name.U: Brand new algorithm for sig_name and (new!)
+ sig_num.
+
+ * mcon/U/spitshell.U: Removed useless chatter as this is now done
+ very early.
+
+ * mcon/U/ssizetype.U: Integrated perl5 concerns for mis-configured
+ sfio.
+
+ * mcon/U/startperl.U: Warn them if the #! line is too long for their
+ OS.
+
+ * mcon/U/startsh.U: Avoid needless chatter since this is now done
+ very early.
+
+ * mcon/U/usenm.U: Don't use nm with the GNU C library. Added support
+ for Linux shared libs.
+
+ * mcon/U/usrinc.U: Don't ask for the include path unless they are on
+ a MIPS.
+
+ * mcon/U/voidflags.U: Don't prompt them if the void support is high
+ enough for us.
+
+ * mcon/configure: Added the srcdir support now that we have src.U.
+ Random cleanup for nicer help message.
+
+ * mcon/man/mconfig.SH: Documents the running environment and the
+ src.U unit. Added warnings for $_a and $_o, as well as "startsh".
+
+ * mcon/man/mlint.SH: New "create" and "empty" lint directives.
+ Documented new messages.
+
+ * mcon/mxref.SH, mcon/man/mxref.SH: New -L option to match metaconfig
+ and metalint.
+
+ * mcon/pl/lint.pl: Added support for ?F: lines to monitor file usage.
+ Now honours "create" and "empty" lint directives.
+
+ * pat/pat.man: Documents contents of the message sent by patnotify.
+
+ * pat/patlog.SH: Typo fix.
+
+ * pat/patnotify.SH: Let them know the patch priority and description.
+
+Mon Sep 25 10:33:26 MET 1995 Raphael Manfredi <ram@hptnos02.grenoble.hp.com>
+
+. Description:
+
+ Smarter sed command to strip /usr/include dependencies in
+ jmake-generated Makfiles. Thanks to Ulrich Pfeifer
+ <pfeifer@buster.informatik.uni-dortmund.de> for contributing it.
+
+ In response to the discussion on dist-users, jmake will now force
+ macro definitions to the left in the generated Makefile, even
+ though they may be nicely formatted in the imake-style within
+ the Jmakefile itself (centered on the =).
+
+ Commented the purpose of the #un-def directive in the relevant
+ unit, since I tend to forget about this hack and almost considered
+ removing it without seeing the consequences. ;-)
+
+ Configure will now abort when a mandatory command is missing.
+ Indeed, Configure relies on such commands to perform its various
+ tasks, and a miss can have dreadful consequences, without the
+ end-users noticing it.
+
+ Protected option parsing code against 'echo -*' option failure.
+
+ Various units are now forced to the top of Configure, if possible.
+ This is mainly interactive questions. Note that dependencies are
+ still respected, i.e. all the units on which those depend will
+ come before, so the top-ness is a relative issue.
+
+ All possible install programs are now looked for, instead of
+ breaking the loop once one was found. Also, to optimize cache
+ access on AFS directories, the lookup is done on directories
+ first, then on programs instead of the other way round.
+
+ New ?Y: directive to change unit layout. You may specify a
+ TOP, DEFAULT or BOTTOM request on that line to respectively
+ force the unit to the earliest possible, default or latest
+ possible place in the Configure script, as dependencies
+ permit.
+
+ Symbols are now sorted according to the ?Y: layout directive.
+
+ If you use the MailAuthor.U unit, you will be interested by the
+ new -i option for patsend to add extra instructions for people
+ receiving mailed patches. patnotify also tells users how to directly
+ request for mailed patches. The patch making process now automatically
+ supply the -i when invoking patsend. Changes contributed by Graham
+ Stoney <greyham@research.canon.oz.au>.
+
+. Files changed:
+
+ * jmake/files/Jmake.rules: Smarter sed command to strip /usr/include
+ dependencies.
+
+ * jmake/jmake.SH: Will now force macro definitions to the left.
+
+ * mcon/U/Config_h.U: Commented the purpose of the #un-def directive.
+
+ * mcon/U/Loc.U: Commented the purpose of the #un-def directive.
+ Abort Configure run when mandatory command is missing.
+
+ * mcon/U/Options.U: Protected option parsing code against 'echo -*'
+ option failure.
+
+ * mcon/U/perlpath.U, mcon/U/manfmt.U, mcon/U/mansrc.U,
+ mcon/U/scriptdir.U, mcon/U/archlib.U, mcon/U/lib.U, mcon/U/privlib.U,
+ mcon/U/bin.U: Unit is now forced to the top of Configure, if possible.
+
+ * mcon/U/install.U: All possible install programs are now looked for.
+
+ * mcon/man/mconfig.SH, mcon/man/mlint.SH: Documented new ?Y:
+ directive. Fixed my e-mail address.
+
+ * mcon/pl/depend.pl, mcon/pl/init.pl, mcon/pl/lint.pl: New ?Y:
+ directive to change unit layout.
+
+ * mcon/pl/makefile.pl: Symbols are now sorted according to the ?Y:
+ layout directive.
+
+ * mcon/pl/xref.pl: Added empty p_layout stub for new ?Y: directives.
+
+ * pat/pat.man: New -i option for patsend to add extra instructions.
+
+ * pat/patmake.SH: Now calls patsend with -i to add more instructions.
+
+ * pat/patnotify.SH: Now tells users how to directly request for
+ mailed patches.
+
+ * pat/patsend.SH: New -i option to add more instructions for
+ end-users.
+
+Tue Jul 25 16:41:40 METDST 1995 Raphael Manfredi <ram@hptnos02.grenoble.hp.com>
+
+. Description:
+
+ pat/Jmakefile was missing an entry for the patlog program, which
+ prevented it from being installed, leading to chaos when patmake
+ was run.
+
+ New contributions from Ilya Zakharevich <ilya@math.ohio-state.edu>
+ to provide OS/2 support. Configure can now be run under OS/2 using
+ a ksh shell interpreter. Support for pdksh is undergoing, as far
+ as I understand.
+
+ The installation of script man pages can now cope with missing
+ files. The jmake rules used to require that all scripts or none
+ have .man files associated with them. From now on, the generated
+ Makefile will check for the manual page existence before trying
+ to install it.
+
+ The clobber target now removes the .config directory as well,
+ which is generated by Configure to cache various information
+ over runs. Since clobber is intended to make a clean distribution,
+ that directory must be removed at that stage.
+
+ All jmake error messages are now prefixed with the program name.
+
+ Re-arranged compile line to include ldflags before objects
+ within all the compile-link tests in the metaconfig units, since
+ some systems require that ld flags be specfied at that place.
+ The only exception to this being the -llib directive, which stays
+ at the end of the line (from Spider Boardman).
+
+ added SVR4-ish /opt directories to path list (ADO)
+
+ Added backslash escapes within evals in Typedef.U to prevent problems
+ when the assigned variables have space in them (such as 'int *')...
+
+ Force compile-link test for dl* routines since those symbols might lie
+ in crt0.o, and not in any other library (ADO)
+
+ Improved comments about the Gconvert macro and forced a compile-link
+ test since the gconvert routine may exist but be unusable because
+ it would refer to otherwise missing routines... Sigh! (ADO)
+
+ Made cc and ccflags optional dependencies in several units.
+
+ Added knowledge of the O_NONBLOCK symbol in d_open3.U (required for
+ non-blocking I/O support, which is now computed by the new nblock_io.U
+ unit).
+
+ Use findhdr to find <sys/shm.h>, to get the right one (ADO)
+
+ Typo fix on ?C: line for FILE_bufsiz in d_stdstdio.U.
+ Also fixed unbalanced parenthesis and check whether FILE_cnt
+ and FILE_ptr can be assigned to, i.e. may be used as lvalues. (ADO)
+
+ Typo fix, sytem -> system in d_time.U and d_times.U.
+
+ Conditionally use const in test programs for i_db.U (ADO)
+
+ Use setvar so hint file values can override our guesses in
+ i_pwd.U. (ADO)
+
+ Removed <> characters from comments, per metalint suggestion
+
+ Ensure ctrl-A characters are visible in prompt within the
+ mboxchar.U unit (WED)
+
+ Removed harmful spaces in assignment for selecttype.U.
+
+ Added <asm/signal.h> lookup for correct signal name lookup
+ under linux. That's probably as far as we'll get to support
+ those idiosyncracies.
+
+ Obsoleted KEEPALIVE in favor of CAN_KEEPALIVE for consistency
+ with the 3.0 naming scheme.
+
+ New metaconfig -G option to include a GNU configure-like
+ wrapper over the generated Configure script. That way,
+ people with a GNU background will be able to use (some) of
+ the GNU configure options to configure the package. The
+ wrapper computes suitable Configure options and then launches
+ that script.
+
+ Manual page for metaconfig now documents the new -G option,
+ includes an extended description of the Csym.U unit and
+ mentions what a compile-link test line should look like.
+
+ Metalint will now check : comments line for potential danger,
+ since those lines are really interpreted by the shell. Therefore,
+ unbalanced quotes could cause huge parts of the Configure script
+ to be ignored at run time, yielding weird results. Anyway,
+ metalint will tell you about them.
+
+ Two new files: a new unit, and the GNU configure-like wrapper.
+
+. Files changed:
+
+ * Jmakefile: Re-ordered macros, moving the install at the end.
+
+ * bin/packinit.man: Fixed a typo.
+
+ * jmake/files/Jmake.rules: Install of script man pages can now cope
+ with missing files. The clobber target now removes the .config
+ directory as well.
+
+ * jmake/jmake.SH: All error messages are now prefixed with the
+ program name.
+
+ * mcon/Jmakefile: Installs the GNU configure-like front-end to
+ Configure.
+
+ * mcon/U/Csym.U: Re-arranged compile line to include ldflags before
+ objects. Added quotes for OS/2 support.
+
+ * mcon/U/libs.U, mcon/U/Loc.U, mcon/U/Guess.U, mcon/U/Oldconfig.U,
+ mcon/U/libc.U: Now knows about OS/2 platforms.
+
+ * mcon/U/Head.U: Added SVR4-ish /opt directories to path list (ADO).
+ OS/2 platforms are using another path separator.
+
+ * mcon/U/Typedef.U: Added backslash escapes within evals to prevent
+ space problems.
+
+ * mcon/U/d_safebcpy.U, mcon/U/d_wifstat.U, mcon/U/d_setpgrp.U,
+ mcon/U/ccflags.U, mcon/U/d_safemcpy.U: Re-arranged compile line to
+ include ldflags before objects.
+
+ * mcon/U/d_dlerror.U, mcon/U/d_dlopen.U: Force compile-link test
+ since symbol might lie in crt0.o (ADO).
+
+ * mcon/U/d_gconvert.U: Improved comments about the Gconvert macro
+ (ADO). Force compile-link test since it may exist but be unusable
+ (ADO).
+
+ * mcon/U/d_volatile.U, mcon/U/d_sgndchr.U, mcon/U/d_scannl.U,
+ mcon/U/d_keepsig.U: Made cc and ccflags optional dependencies.
+
+ * mcon/U/d_open3.U: Added knowledge of the O_NONBLOCK symbol.
+
+ * mcon/U/d_shmat.U: Use findhdr to find <sys/shm.h>, to get the right
+ one (ADO).
+
+ * mcon/U/d_stdstdio.U: Typo fix on ?C: line for FILE_bufsiz. Fixed
+ unbalanced parenthesis (ADO). Check whether FILE_cnt and FILE_ptr
+ can be assigned to (ADO).
+
+ * mcon/U/d_times.U, mcon/U/d_time.U: Typo fix, sytem -> system.
+
+ * mcon/U/i_db.U: Conditionally use const in test programs (ADO).
+
+ * mcon/U/i_pwd.U: Use setvar so hint file values can override our
+ guesses (ADO).
+
+ * mcon/U/i_sysfile.U: Removed <> characters from comment, per
+ metalint suggestion.
+
+ * mcon/U/mboxchar.U: Ensure ctrl-A characters are visible in prompt
+ (WED).
+
+ * mcon/U/nblock_io.U, mcon/configure: Created.
+
+ * mcon/U/selecttype.U: Removed harmful spaces in assignment.
+
+ * mcon/U/sig_name.U: Added <asm/signal.h> lookup for linux.
+
+ * mcon/U/sockopt.U: Obsoleted KEEPALIVE in favor of CAN_KEEPALIVE for
+ consistency.
+
+ * mcon/man/mconfig.SH: Added extra nroff escapes at line heads to
+ keep leading dots. Documented new -G option. Extended description
+ of the Csym.U unit. Now mentions what a compile-link test line
+ should look like.
+
+ * mcon/man/mlint.SH: Added two new warnings for : comments lines in
+ Configure.
+
+ * mcon/mconfig.SH: New -G option.
+
+ * mcon/pl/cosmetic.pl: Added support for new -G option.
+
+ * mcon/pl/lint.pl: Will now check : comments line for potential
+ danger.
+
+ * pat/Jmakefile: Was missing an entry for the patlog program.
+
+Fri May 12 14:39:16 METDST 1995 Raphael Manfredi <ram@hptnos02.grenoble.hp.com>
+
+. Description:
+
+ Regenerated Configure with pre-release of PL54.
+
+ Updated my e-mail address in all manual pages. I had forgotten
+ about that in my previous patch.
+
+ Various fixes in units from Andy Dougherty. Thanks to him and
+ to the efficient perl5-porters team that strive to port perl5
+ to every possible existing platform on Earth, hence making
+ Configure more and more robust ;-). Here are Andy's fixes:
+
+ . split awk command onto two lines for older awks
+ . fixed C test program to bypasss gcc builtin type checks
+ . deleted tabs that caused some /bin/sh to core dump
+ . cleaned up and extended osvers for DEC OSF/1
+ . added MachTen detection
+ . protect against spaces in "uname -m" output
+ . extended for more intimate DB probing
+ . made more robust [ng]dbm units by checking both header
+ and libraries for features
+ . can now grok linux nm output with leading __IO
+ . added support for linux ELF output, using 'W' for alias
+ . now looks for <linux/signal.h> too
+ . ensure that ./mips always exists
+
+ Added -K option for experts. That Configure option should only
+ be used when you know what you are doing. The config.sh reload
+ logic now knows about new -K switch so that you now have to say:
+ Configure -dK
+ to get the old
+ Configure -d
+ behaviour.
+
+ Configure now checks for a valid C compiler and that the
+ specified ccflags and ldflags are coherent with the choice
+ of the C compiler. It aborts if the C compiler does not
+ work (since it might be used for feature testing), but only
+ offers to abort when a flag inconsistency is detected.
+ Contributed by Tye McQueen (again!).
+
+ Complete rewrite of d_stdstdio.U by Tye McQueen to fit modern
+ systems. The USE_STD_STDIO symbol has been obsoleted by the
+ new USE_STDIO_PTR symbol. Also, access to _ptr, _cnt and
+ _base fields in the FILE structure should be made only via the
+ new metaconfig macros FILE_ptr, FILE_cnt, etc...
+
+ Made sure only most recent version of shared lib is picked.
+ This is for systems where libc.so.3 and libc.so.13 might
+ co-exist. We really need to pick the second one, whereas the
+ previous alphabetic sort was picking the first.
+
+ Final "nm -p" check now uses xscan and xrun like everybody.
+ It used to do its checking manually. Using xscan and xrun allows
+ for the printing of the busy dots while scanning.
+
+ The patpost script will now add an explicit From: header line
+ pointing to the maintainer address, as configured in your
+ .package. This is to prevent broken inews to insert the hostname
+ where patpost is ran, which might not be visible from the outside.
+
+. Files changed:
+
+ * pat/pat.man, bin/packinit.man, jmake/jmake.man, kit/kitpost.man,
+ bin/manilist.man, kit/makedist.man, jmake/jmkmf.man, kit/manifake.man,
+ , dist.man: Updated my e-mail address.
+
+ * mcon/U/Cppsym.U: Split awk command onto two lines for older awks
+ (ADO).
+
+ * mcon/U/Csym.U: Fixed C test program to bypasss gcc builtin type
+ checks (ADO).
+
+ * mcon/U/Inhdr.U: Deleted tabs that caused some /bin/sh to core dump
+ (ADO).
+
+ * mcon/U/Oldconfig.U: Config.sh reload logic now knows about new -K
+ switch. Cleaned up and extended osvers for DEC OSF/1 (ADO). Added
+ MachTen detection (ADO).
+
+ * mcon/U/Options.U: Added -K option for experts.
+
+ * mcon/U/archname.U: Protect against spaces in "uname -m" output
+ (ADO).
+
+ * mcon/U/cc.U: May now abort Configure when cc does not work.
+
+ * mcon/U/ccflags.U: Now checks for cc/ccflags/ldflags coherency.
+
+ * mcon/U/d_casti32.U: Made sure cc and ccflags are conditional
+ dependencies.
+
+ * mcon/U/d_castneg.U: Made sure cc and ccflags are conditional
+ dependencies. Added improved test case for Interactive Unix.
+
+ * mcon/U/d_stdstdio.U: Complete rewrite by Tye McQueen to fit modern
+ systems.
+
+ * mcon/U/d_voidsig.U: Made cppflags dependency optional.
+
+ * mcon/U/i_db.U: Extended for more intimate DB probing (ADO).
+
+ * mcon/U/i_gdbm.U, mcon/U/i_ndbm.U, mcon/U/i_dbm.U: Made more robust
+ by checking both header and lib (ADO).
+
+ * mcon/U/libc.U: Made sure only most recent version of shared lib is
+ picked. Final "nm -p" check now uses xscan and xrun like everybody.
+ Can now grok linux nm output with lead __IO (ADO). Added support for
+ linux ELF output, using 'W' for alias (ADO).
+
+ * mcon/U/sig_name.U: Now looks for <linux/signal.h> too (ADO).
+
+ * mcon/U/usrinc.U: Ensure that ./mips always exists (ADO).
+
+ * mcon/man/mconfig.SH: Documented new -K switch for knowledgeable
+ users.
+
+ * pat/patpost.SH: Added explicit From: header line pointing to the
+ maintainer.
+
+Tue Mar 21 09:55:57 MET 1995 Raphael Manfredi <ram@hptnos02.grenoble.hp.com>
+
+. Description:
+
+ Regenerated Configure to reflect my email address change. I moved
+ from ACRI to HP, and my email is now: <ram@hptnos02.grenoble.hp.com>.
+ The "critical" nature of this patch is due to that mere fix.
+
+ Jmake was not working at all on HP-UX due to the way their cpp
+ systematically removes trailing backslashes in text. The new
+ fixcpp script is now a wrapper over cpp to first escape those
+ backslashes that should be preserved accross cpp before feeding
+ it with the text of the Jmakefile...
+
+ Suppressed extra argument to NormalProgramTarget call in jmake rules.
+
+ Definition of the paths variable in Head.U wrongly added spurious
+ ':' chars. Thanks to Karst Koymans <Karst.Koymans@phil.ruu.nl> for
+ pointing it out.
+
+ Swapped two first arguments of memcpy() calls for memcpy safe
+ overlapping copy tests. Indeed, the memcpy() calling sequence used
+ was the same as bcopy(), but the first two arguments should be
+ swapped to preserve the same semantics.
+
+ Continued fix for NeXT NIS/NetInfo handling, from Graham Stoney.
+
+ Two new files.
+
+. Files changed:
+
+ * jmake/Jmakefile: Now installs new fixcpp script in the private
+ libdir.
+
+ * jmake/files/Jmake.rules: Suppressed extra argument to
+ NormalProgramTarget call.
+
+ * jmake/fixcpp.SH, mcon/U/d_wifstat.U: Created.
+
+ * jmake/jmake.SH: Now invokes cpp through new fixcpp script. First
+ pass now skips cpp comments alltogether.
+
+ * mcon/U/Head.U: Definition of paths wrongly added spurious ':' chars.
+
+ * mcon/U/d_safemcpy.U: Swapped two first arguments of memcpy() calls.
+
+ * mcon/U/nis.U: Continued fix for NeXT NIS/NetInfo handling.
+
+Wed Feb 15 15:23:06 MET 1995 Raphael Manfredi <ram@acri.fr>
+
+. Description:
+
+ This patch only contains random cleanup and minor fixes that were
+ brought to my attention on the dist-users list.
+
+ Regenerated Configure with pre-release of 3.0 PL51, since it
+ was a little outdated.
+
+ Wayne Davison's changes:
+ . now clearer about how to edit config.sh at the end of Configure.
+ . Getfile was not working if ~'s allowed with d_portable on
+ . Instruct.U: author name now appears at the end of a paragraph
+
+ Andy Dougherty adapted osvers computation for AIX. He also
+ fixed mansrc.U where I had mistakenly duplicated /usr/local/man/man1.
+ He added /opt/man/man1 to the lookpath instead, a change originating
+ from Tye McQueen <tye@metronet.com>.
+
+ Architecture name is now computed by a separate unit. This allows
+ authors to precompute it in a hint file, while warning the user
+ when the machine's architecture name changes (because for instance
+ the OS was upgraded), preventing mistakes.
+
+ Now correctly handles NeXT using NIS rather than NetInfo, thanks
+ to a patch sent by Graham Stoney <greyham@research.canon.oz.au>.
+
+ One new file (unit archname.U).
+
+. Files changed:
+
+ * mcon/U/Finish.U: Now clearer about how to edit config.sh at the
+ prompt (WED).
+
+ * mcon/U/Getfile.U: Was not working if ~'s allowed with d_portable on
+ (WED).
+
+ * mcon/U/Instruct.U: Author name now appears at the end of the
+ paragraph (WED).
+
+ * mcon/U/Oldconfig.U: Adapted osvers computation for AIX (ADO).
+
+ * mcon/U/archlib.U: Architecture name is now computed by a separate
+ unit.
+
+ * mcon/U/archname.U: Created.
+
+ * mcon/U/mansrc.U: Was mistakenly duplicating /usr/local/man/man1
+ (ADO). Added /opt/man/man1 to the lookpath (ADO).
+
+ * mcon/U/nis.U: Now correctly handles NeXT using NIS rather than
+ NetInfo.
+
+Mon Jan 30 15:59:00 MET 1995 Raphael Manfredi <ram@acri.fr>
+
+. Description:
+
+ The dist-3.0 package now works with perl 5.0. I have made perl 5.0
+ the default perl on my machine and ran the whole set of pat* tools,
+ jmake and metaconfig without any trouble so far. However, you need
+ a patched-up version of perl 5.0 PL0, as explained in README.
+
+ This set of patches is mainly an integration of Wayne Davison's
+ changes for trn. His changes are flagged as WED.
+
+ Begin.U:
+ Avoid an empty rmlist: systems might choke on it (WED).
+
+ Config_h.U:
+ Typo fixes in leading config.h comment (WED).
+
+ Oldconfig.U:
+ Update code for myuname changed (WED).
+
+ Configure can now handle installation prefix changes. I have
+ slightly adapted the changes proposed by Wayne, introducing two
+ new special units (Prefixit.U and Prefixup.U) to factorize code.
+
+ d_attribut.U:
+ Test C program now includes <stdio.h> (WED)
+
+ page.U:
+ Ensure dflt gets initialized in case no pagers are found (WED)
+
+ prefix.U:
+ Save off previous prefix value in oldprefix if changed (WED)
+ Added the INSTALLPREFIX define for C programs to use (WED)
+
+ Archname is now systematically recomputed. This avoids problem when
+ the user changes his mind about the OS name.
+
+ Now looks for POSIX regcomp() routine, and for <regex.h>, thanks
+ to Sidney C. Smith <scsmith@cbda9.apgea.army.mil>.
+
+ New installmanfmt and AFS-lookup for formatted man pages, derived
+ from what is done for troffed man pages.
+
+ New prefixexp variable holding a fully expanded prefix, in case
+ they use ~name expansion in their prefix.
+
+ Documented new special units Prefixit.U and Prefixup.U.
+
+ Clean-up and workarounds for perl 5.0 PL0 port:
+ Removed old "do name()" routine call constructs.
+ Forgot to localize the spaces variable.
+ Random clean-up in &record_obsolete.
+
+ Three new files.
+
+. Files changed:
+
+ * mcon/U/Begin.U: Avoid an empty rmlist: systems might choke on it
+ (WED).
+
+ * mcon/U/Config_h.U: Typo fixes in leading config.h comment (WED).
+
+ * mcon/U/Oldconfig.U: Unit Options.U now exports file optdef.sh, not
+ a variable. Update code for myuname changed (WED).
+
+ * mcon/U/Options.U: This unit now exports file optdef.sh, not a
+ variable.
+
+ * mcon/U/i_regex.U, mcon/U/Prefixit.U, mcon/U/Prefixup.U: Created.
+
+ * mcon/U/archlib.U: Archname is now systematically recomputed. Can
+ now handle installation prefix changes (from WED).
+
+ * mcon/U/mansrc.U, mcon/U/scriptdir.U, mcon/U/lib.U, mcon/U/privlib.U,
+ , mcon/U/bin.U: Can now handle installation prefix changes (from WED).
+
+ * mcon/U/d_attribut.U: Test C program now includes <stdio.h> (WED).
+
+ * mcon/U/d_regcmp.U: Now looks for POSIX regcomp() routine.
+
+ * mcon/U/manfmt.U: New installmanfmt and AFS-lookup for formatted man
+ pages. Can now handle installation prefix changes (from WED).
+
+ * mcon/U/pager.U: Ensure dflt gets initialized in case no pagers are
+ found (WED).
+
+ * mcon/U/prefix.U: New prefixexp variable holding a fully expanded
+ prefix. Save off previous prefix value in oldprefix if changed
+ (WED). Added the INSTALLPREFIX define for C programs to use (WED).
+
+ * mcon/U/rootid.U: Now only prints a single empty line when
+ outputting something.
+
+ * mcon/man/mconfig.SH: Documented new special units Prefixit.U and
+ Prefixup.U.
+
+ * mcon/pl/configure.pl, mcon/pl/eval.pl: Removed old "do name()"
+ routine call constructs.
+
+ * mcon/pl/cosmetic.pl: Forgot to localize the spaces variable.
+
+ * mcon/pl/obsolete.pl: Random clean-up in &record_obsolete.
+
+Wed Jan 11 17:03:22 MET 1995 Raphael Manfredi <ram@acri.fr>
+
+. Description:
+
+ Regenerated Configure with pre-release of metaconfig PL45 to
+ benefit from the new install program lookup. From now on, the
+ supplied install.SH script will not be used if a BSD-compatible
+ install executable is found on your host (to accelerate the whole
+ install procedure).
+
+ Regenerated many Makefile.SH files with pre-release of jmake PL45
+ to correctly handle the new install and installdir configuration
+ variables.
+
+ Updated the Wishlist file.
+
+ New jmake macros. Also the MakeDirs macro was modified to benefit
+ from the information gathered by Configure concerning the way to
+ install nested directories (uses the new installdir variable).
+
+ As a consequence, Makefile.SH files now pre-compute INSTALL and
+ INSTALLDIR variables before substituting (concerns jmake-generated
+ makefiles).
+
+ Moved path stripping from d_portable.U to end of Configure. This
+ lets Configure use $vi and $perl, etc... set to their fully
+ qualified path name, hence making it easier for units to know
+ whether a particular program was located. Formerly, you had to
+ use $_vi, $_perl, etc... in case they asked for portability, which
+ stripped out executable paths.
+
+ New cc vs. cpp symbol checking, as well as more cpp symbols in
+ the attribute list. Configure will now try to determine separately
+ symbols defined by cpp and by the cc wrapper, letting you know about
+ what is defined and by whom. Thanks to Jarkko Hietaniemi for this
+ suggestion.
+
+ Added support for escaping answers to skip various checks in the
+ Getfile.U unit. For instance, you may now say:
+ fn='/fe~(foo)'
+ . ./getfile
+ and let them answer only fully qualified paths OR the string 'foo'.
+ You may supply a comma-separated list between the parenthesis. See
+ the manual page or the new install.U unit for more information.
+
+ Modified message issued after file expansion in the Getfile unit.
+
+ Protected various "sh -c" calls within backquotes for Linux and
+ SGI shells (to prevent an "ambiguous output redirection" message).
+ Thanks to Xavier Le Vourch for suggesting it.
+
+ Added & escape allowing user to turn on -d from the prompt. Several
+ people have expressed the need for such a feature, arguing that
+ once they have re-run a Configure script to fix the answer to a
+ particular question, they would like to have the remaining of the
+ script ran as if -d had been given to Configure. Well, they now
+ may reply '& -d' at the Myread prompt to turn -d on.
+
+ New -O option allowing -D and -U to override config.sh setttings.
+ This may be used to alter particular variables but still re-use
+ most of the previously guessed-at ones. Still, this may produce
+ inconsistencies and therefore is not the default behaviour (the
+ -D and -U switches have no effect by default if a previous config
+ file is loaded).
+
+ Therefore, file optdef.sh is no longer removed after sourcing from
+ the UU directory.
+
+ Changed gcc checking message to a more explicit one (WED)
+ Call ./mips instead of just mips (WED)
+ Use 'test -f' instead of 'test -r' for exec-only cat progs (WED)
+ Fixed typo in the d_attribut variable (ADO)
+
+ New unit install.U to locate BSD-compatible install programs.
+ New unit poll.U to check for the poll() routine availability.
+
+ Allows hint files to specify their own value for 'ranlib', to
+ overcome a bug in the NeXT ranlib program. Suggested by
+ Andreas Koenig <k@franz.ww.tu-berlin.de> on the perl5-porters
+ mailing list. Thanks!
+
+ Now sets sbrksmart to undef explicitly when lacking sbrk().
+ Forgot a cast when using return value from sbrk(). Both fixes
+ reported by Xavier Le Vourch <xavierl@eiffel.com>.
+
+ Now allows @if statements for the add.Config_sh unit inclusion.
+
+ Metaconfig will now tell users about possible extra file-extension
+ lookups they have requested via 'packinit'.
+
+. Files changed:
+
+ * jmake/files/Jmake.rules: New macros ShellScriptTargetExt and
+ SimpleShellScriptTargetExt. Directory installation is now made via
+ INSTALLDIR (Configure).
+
+ * jmake/files/Jmake.tmpl: Now pre-computes INSTALL and INSTALLDIR
+ variables.
+
+ * mcon/U/Config_sh.U: Moved path stripping from d_portable.U to end
+ of Configure.
+
+ * mcon/U/Cppsym.U: New cc vs. cpp symbol checking suggested by JHI.
+ Added more cpp symbols (JHI).
+
+ * mcon/U/Getfile.U: Added support for escaping answers to skip
+ various checks. Modified message issued after file expansion.
+
+ * mcon/U/Instruct.U: Now documents the & escape to turn -d on at the
+ read prompt.
+
+ * mcon/U/Loc.U: Protected "sh -c" within backquotes for Linux and
+ SGI. Added path lookup for the 'comm' program.
+
+ * mcon/U/Myread.U: Added & escape allowing user to turn on -d from
+ the prompt.
+
+ * mcon/U/Oldconfig.U: Added quotes around the INITPROG variable
+ (ADO). Allows variable overriding after config file loading.
+
+ * mcon/U/Options.U: New -O option allowing -D and -U to override
+ config.sh setttings. File optdef.sh is no longer removed after
+ sourcing.
+
+ * mcon/U/cc.U: Changed gcc checking message to a more explicit one
+ (WED).
+
+ * mcon/U/d_attribut.U: Fixed typo in the d_attribut variable (ADO).
+
+ * mcon/U/d_keepsig.U: Protected "sh -c" within backquotes for Linux
+ and SGI.
+
+ * mcon/U/install.U, mcon/U/d_poll.U: Created.
+
+ * mcon/U/d_portable.U: Executable path stripping moved to the end in
+ Config_sh.U.
+
+ * mcon/U/d_safebcpy.U: Added 'ldflags' to the test compile line (ADO).
+
+ * mcon/U/defeditor.U: Can now use the 'vi' variable since path
+ stripping is deferred.
+
+ * mcon/U/libpth.U: Call ./mips instead of just mips (WED).
+
+ * mcon/U/perlpath.U, mcon/U/mansrc.U, mcon/U/mailer.U: Can now use
+ Loc variables since path stripping is deferred.
+
+ * mcon/U/orderlib.U: Allows hint files to specify their own value for
+ 'ranlib'.
+
+ * mcon/U/sbrksmart.U: Now sets sbrksmart to undef explicitly when
+ lacking sbrk(). Forgot a cast when using return value from sbrk().
+
+ * mcon/U/spitshell.U: Use 'test -f' instead of 'test -r' for
+ exec-only cat progs (WED). Protected "sh -c" within backquotes for
+ Linux and SGI.
+
+ * mcon/U/voidflags.U: Cosmetic change to avoid spurious blank lines
+ when using -s.
+
+ * mcon/man/mconfig.SH: Documents new -O option and new Getfile escape
+ supports. Documents the & escape in Myread and the new cc symbol
+ lookup.
+
+ * mcon/pl/configure.pl: Now allows @if statements for the
+ add.Config_sh unit inclusion.
+
+ * mcon/pl/wanted.pl: Added % in front of hash table names for perl5's
+ each() (ADO). Tell users about possible extra file-extension lookups.
+
+Mon Oct 31 10:57:05 MET 1994 Raphael Manfredi <ram@acri.fr>
+
+. Description:
+
+ It used to be that option processing was done before Configure
+ initializations were performed, because Options was listed in
+ the dependency line of Init.U. However, this was wrong because
+ -D and -U command line switches were then unable to override any
+ default setting done in Myinit.U, which is counter-intuitive at
+ best. Thanks to Andras Salamon <andras@is.co.za> for pointing
+ this out.
+
+ I therefore created a new unit Begin.U, which clearly marks
+ the beginning of the configuration questions (so End.U now
+ has its pending unit). On that unit, we list Myinit followed
+ by Options on the ?MAKE: line, so that option processing
+ comes after user-defined or default initializations but before
+ the real interactive start (which is mandatory for a correct
+ Configure -h processing, for instance).
+
+ A few units were making use of variables set up in Options.U
+ and made visible. However, those did not need to list Options
+ in their ?MAKE: line due to the way metalint performs its visible
+ symbol lookup (by following dependencies recursively and implicitely
+ placing Init at the top). Since Options is no longer a dependency
+ of Init, Myread.U and Csym.U now explicitly mention Options in
+ their dependency line.
+
+ Also, the leading comment in Chk_MANI.U now explains how this
+ unit gets included into the Configure script. There used to be
+ an explaination there, but it was no longer accurate.
+
+ One new unit file (Begin.U).
+
+. Files changed:
+
+ * mcon/U/Begin.U: Created.
+
+ * mcon/U/Chk_MANI.U: Now lists Begin instead of Myinit in its
+ dependencies. Leading comment now explains how this unit is included.
+
+ * mcon/U/Myread.U, mcon/U/Csym.U: Added Options to the MAKE line
+ since it's no longer in Init.U.
+
+ * mcon/U/Init.U: Removed Options from MAKE to prevent Init overrides.
+ Option processing now done after Myinit thanks to new Begin.U. Moved
+ "Beginning of configuration questions" to Begin.U. Moved signal
+ trapping instruction to Begin.U as well.
+
+ * mcon/U/Myinit.U: Leading comment states this unit comes before
+ option processing.
+
+Sat Oct 29 19:05:42 MET 1994 Raphael Manfredi <ram@acri.fr>
+
+. Description:
+
+ I forgot to quote $@ to protect against "evil" characters.
+ Unfortunately, this causes Configure to output an error message
+ when calling the created 'tr' script (which it does all the time
+ given the leading '.' in PATH) with arguments like '\012'. The
+ final
+ exec tr $@
+ line causes a 'tr' failure because it does not understand the
+ arguments it is given. Saying
+ exec tr "$@"
+ fixes the problem since then the original quotes are "propagated"
+ to the new call.
+
+ The amazing thing is that I have tested this, but apparently the
+ simple Configure script I generated for that purpose did not make
+ use of the "tr '/012' ' '" construct. Hence I missed it. Sorry.
+
+. Files changed:
+
+ * mcon/U/Tr.U: Forgot to quote $@ to protect against "evil"
+ characters.
+
+Sat Oct 29 18:16:03 MET 1994 Raphael Manfredi <ram@acri.fr>
+
+. Description:
+
+ Regenerated Configure with metaconfig 3.0 PL35 to benefit from
+ the lattest enhancements. Unfortunately, I have not pre-installed
+ the patch relased before regenerating, so Configure is still behind
+ the current patchlevel. I hope you don't mind ;-)
+
+ The good news is: I've made sure all the scripts compile fine
+ with perl 5.0. This involved fixing an open precedence problem
+ in manilist, and some escapes in strings and regexps to make
+ sure all dangerous '@' are protected since they now interpolate.
+ I also fixed perload since perl5's packages are now introduced
+ by '::' instead of the single quote.
+
+ The bad news is: it's not guaranteed to work. At least with the
+ pre-release version of perl 5.0 I have, metaconfig (the dataloaded
+ version) fails, and I've not been able to narrow down the problem
+ to a small test-case so I don't know what's happening. The non
+ dataloaded version appears to be running fine, but if you get
+ strange problems, make sure you use perl 4.0 PL36 before sending
+ me a bug report. :-)
+
+ Added support for user-defined C and shell file extensions. This
+ was needed in perl5 for instance (.xs files are containing C
+ symbols and metaconfig should really look at those). Well, you
+ may now add as many extensions (C or SH) from within packinit.
+
+ Packinit also asks whether a ChangeLog file is to be managed.
+ This is a new feature relying on the new patlog script. If you
+ don't ask for a ChangeLog file, you should get the old behaviour.
+ If you do, well you will have to read the documentation to know
+ what changes it involves (mainly at the user-interface level when
+ running 'patmake', which now calls 'patlog'). Don't forget to
+ add ChangeLog to your MANIFEST.new before running patmake anyway.
+
+ Optionally, you can include the RCS logs within your ChangeLog
+ file, and they will follow the description (what you are reading
+ now) which normally appears within the Description: section of
+ the patch itself.
+
+ Packinit now creates new variables cext, shext, changelog and
+ changercs in the .package file to handle user-defined file extensions
+ and the ChangeLog file.
+
+ Added new RemoteDependency rule for jmake.
+
+ Don't use rootid as a variable, it is known by metaconfig and
+ results in having Configure compute the root uid when it's not
+ needed. Renamed it to rootmsgid to avoid this kind of problem.
+
+ Added ?F: lines in units creating files for metalint checking.
+ This incurred many small changes in units where things like
+ if usg; then
+ were written when in fact meaning:
+ if ./usg; then
+ Well, I know Configure sets '.' at the beginning of the PATH, but
+ since metalint now systematically warns about such abuse (provided
+ files are declared in the ?F: lines in the special unit defining
+ them), it was the only way to shut up metalint.
+
+ Metalint also now checks for variables used as ${var}.
+
+ Symbols ardent and titan are now looked at for cpp definition. (ADO)
+
+ Make sure ENV is unset before calling /bin/ksh. Not doing this
+ is known to produce strange results. For instance, if one has
+ a ~/.kshrc aliasing 'cd' to something else. Configure might
+ get confused and do the wrong thing. Not setting ENV ensures
+ no such startup file will be used. Of course, this does not
+ work if you say 'ksh Configure', but then you are supposed to
+ know what you are doing.
+
+ The loc script can now perform safe wildcard searching. (ADO)
+
+ The Oldconfig.U unit was merged with the version used for perl5's
+ Configure (ADO). Be careful if you use hints, the behaviour you
+ will now get might not be fully backward compatible. Since the
+ Author currently does not have any such package, he did not test
+ that specific feature. You have been warned. (But everything
+ should be fine).
+
+ Configure now protects variable definitions with spaces in them,
+ so that people saying:
+ Configure -D cc='cc -posix'
+ will get what they expect.
+
+ Added checks for secure setuid scripts. (Tye McQueen)
+
+ Spurious single quote in the lex.U unit could cause Configure
+ to crash, reported by Xavier Le Vourch <xavierl@eiffel.com>.
+ Indeed, the unit was saying something like
+ : .... and they'll ...
+ so the shell happily began to eat everything up to the next
+ single quote it could found, resulting in weird behaviours...
+
+ Now looks for shared libraries before anything else and
+ removed the old broken thislib/thatlib processing in libs.U.
+ This has been tested in the perl5 distribution and is believed
+ to be better than the previous scheme. (ADO)
+
+ New Tr unit to convert to/from lowercase. Whenever you need
+ to say:
+ tr '[A-Z]' '[a-z]'
+ or the other way round, add Tr in your dependency line and
+ say something like
+ ./tr '[A-Z]' '[a-z]'
+ i.e. you need to call a local tr script that will trap the
+ arguments and possibly call
+ tr '[:upper:]' '[:lower:]'
+ if your machine supports this. Otherwise, with a non-ascii
+ character set, you will get strange results (HP is know
+ to exercise this, thanks to Andreas Sahlbach
+ <a.sahlbach@tu-bs.de> for letting me know about it).
+
+ ranlib checking is more accurate now (ADO)
+
+ Newer RCS programs chop trailing spaces in log messages, and
+ that could cause 'patcil -s' to fail stripping the RSC logs.
+
+ separated V/E and v/e commands in the patcil built-in prompter.
+ The new 'v' command now edits the file being patcil'ed.
+ added hook for 'V' command (not implemented yet)
+ The 'e' and 'E' commands have retained their semantics.
+
+ 19 new files, mostly metaconfig units.
+
+. Files changed:
+
+ * bin/manilist.SH: Fixed open precedence problem for perl5.
+
+ * bin/packinit.SH: Added support for user-defined C and shell file
+ extensions. Now asks whether a ChangeLog file is to be managed.
+
+ * bin/packinit.man: Added new variables cext, shext, changelog and
+ changercs.
+
+ * bin/perload: Added minimal support for perl5 dataloading.
+
+ * dist.man: Mentions new patlog script and ChangeLog file.
+
+ * jmake/files/Jmake.rules: Added RemoteDependency rule.
+
+ * jmake/jmake.SH, pat/patnotify.SH, mcon/pl/depend.pl: Added various
+ escapes in strings for perl5 support.
+
+ * kit/kitpost.SH: Don't use rootid as a variable, it is known by
+ metaconfig.
+
+ * mcon/U/bitpbyte.U, mcon/U/d_NOFILE.U, mcon/U/mkdep.U,
+ mcon/U/d_PORTAR.U, mcon/U/alignbytes.U, mcon/U/byteorder.U,
+ mcon/U/Finish.U, mcon/U/nlist_pfx.U, mcon/U/charorder.U,
+ mcon/U/d_getpagsz.U, mcon/U/ptrsize.U, mcon/U/intsize.U,
+ mcon/U/Getfile.U, mcon/U/Extract.U, mcon/U/Myread.U, mcon/U/Whoa.U,
+ mcon/U/longsize.U, mcon/U/floatsize.U, mcon/U/Config_sh.U,
+ mcon/U/cppstdin.U, mcon/U/doublesize.U, mcon/U/Findhdr.U,
+ mcon/U/i_varhdr.U, mcon/U/charsize.U: Added ?F: line for metalint
+ file checking.
+
+ * mcon/U/Cppsym.U: Added ?F: line for metalint file checking. New
+ symbols ardent and titan (ADO).
+
+ * mcon/U/Filexp.U: Added ?F: line for metalint file checking. Added
+ HOME to the ?T: line since metalint now checks ${HOME}.
+
+ * mcon/U/Guess.U: Added ?F: line for metalint file checking. Call
+ ./xenix explicitly instead of relying on PATH.
+
+ * mcon/U/Head.U: Make sure ENV is unset before calling /bin/ksh.
+
+ * mcon/U/Setvar.U, mcon/U/Inhdr.U, mcon/U/Inlibc.U: Call ./whoa
+ explicitly instead of relying on PATH.
+
+ * mcon/U/Loc.U: Added ?F: line for metalint file checking. Be
+ careful and guard against wildcard searching (ADO).
+
+ * mcon/U/Oldconfig.U: Added ?F: line for metalint file checking.
+ Merged with the version used for perl5's Configure (ADO).
+
+ * mcon/U/Options.U: Ensure option definition file is removed before
+ appending. Protect variable definitions with spaces in them.
+
+ * pat/patlog.SH, mcon/U/Tr.U: Created.
+
+ * mcon/U/Typedef.U: Don't clobber visible 'val' variable, use
+ 'varval' instead.
+
+ * mcon/U/Warn_v7EXT.U, mcon/U/Warn_v7ND.U: Call ./v7 explicitly
+ instead of relying on PATH.
+
+ * mcon/U/abortsig.U, mcon/U/d_bsdjmp.U: Call ./usg explicitly
+ instead of relying on PATH.
+
+ * mcon/U/d_attribut.U, mcon/U/d_gconvert.U, mcon/U/d_drem.U,
+ mcon/U/d_locconv.U, mcon/U/d_mkfifo.U, mcon/U/d_fmod.U,
+ mcon/U/d_linuxstd.U, mcon/U/d_pathconf.U, mcon/U/archlib.U,
+ mcon/U/d_dlerror.U, mcon/U/d_sysconf.U, mcon/U/i_dld.U,
+ mcon/U/modetype.U: Created by ADO.
+
+ * mcon/U/cc.U: Detect gcc even when not called as 'gcc' (ADO).
+ Simplified gcc version checking (ADO). Added ?F: line for metalint
+ file checking.
+
+ * mcon/U/ccflags.U: Gcc versionning no longer relies on the C
+ compiler's name. Simplified check for gcc version checking (ADO).
+
+ * mcon/U/cpp_stuff.U: Now uses cppstdin instead of plain cpp for
+ consistency (ADO). Remove temporary files when done.
+
+ * mcon/U/d_casti32.U: Declare signal handler correctly (ADO).
+
+ * mcon/U/d_castneg.U: Don't forget to tell user about compilation
+ failures (ADO). Declare signal handler correctly using 'signal_t'
+ (ADO).
+
+ * mcon/U/d_closedir.U, mcon/U/d_safemcpy.U, mcon/U/d_isascii.U: Added
+ 'ldflags' to the test compile line (ADO).
+
+ * mcon/U/d_dosuid.U: Added checks for secure setuid scripts (Tye
+ McQueen).
+
+ * mcon/U/d_keepsig.U, mcon/U/d_eofpipe.U, mcon/U/d_normsig.U,
+ mcon/U/d_tzmin.U: Call ./bsd explicitly instead of relying on PATH.
+
+ * mcon/U/d_gethname.U: Call ./xenix explicitly instead of relying on
+ PATH.
+
+ * mcon/U/d_newsadm.U: Call ./eunice explicitly instead of relying on
+ PATH.
+
+ * mcon/U/d_setpgrp.U: Added 'ldflags' to the test compile line (ADO).
+ Call ./usg explicitly instead of relying on PATH.
+
+ * mcon/U/registers.U, mcon/U/shm_for.U, mcon/U/d_speedopt.U: Call
+ ./Cppsym explicitly instead of relying on PATH.
+
+ * mcon/U/d_time.U: Now uses new Typedef unit to compute type
+ information (ADO).
+
+ * mcon/U/groupstype.U: No longer uses Setvar to set 'groupstype'
+ (ADO). Typo fix in the word 'argument' (ADO).
+
+ * mcon/U/i_dirent.U: Failed scanning for 'd_namlen' with missing
+ <dirent.h> (ADO).
+
+ * mcon/U/i_neterrno.U: Forgot to initialize 'val' to an empty value
+ (ADO).
+
+ * mcon/U/i_termio.U: Call ./usg and ./Cppsym explicitly instead of
+ relying on PATH.
+
+ * mcon/U/lex.U: Spurious single quote could cause Configure to crash.
+ (reported by Xavier Le Vourch <xavierl@eiffel.com>.).
+
+ * mcon/U/libc.U: Now looks for shared libraries before anything else
+ (ADO). Added new nm output format (ADO).
+
+ * mcon/U/libs.U: Removed old broken thislib/thatlib processing (ADO).
+
+ * mcon/U/mailfile.U: The Loc unit was missing from the dependency
+ line.
+
+ * mcon/U/myhostname.U: Call ./xenix explicitly instead of relying on
+ PATH. Now uses new Tr unit to convert to/from lowercase.
+
+ * mcon/U/nametype.U: Call ./usg and ./bsd explicitly instead of
+ relying on PATH.
+
+ * mcon/U/orderlib.U: Now performs a real small compile for accurate
+ checks (ADO).
+
+ * mcon/U/package.U: Beware of non-ascii character sets when
+ translating case.
+
+ * mcon/U/pager.U: Replaced Myread by Getfile in the dependency line.
+
+ * mcon/U/prefshell.U: Added SHELL temporary since metalint now sees
+ ${SHELL}.
+
+ * mcon/U/so.U: Now tells user how he can suppress shared lib lookup
+ (ADO). Removed echo at the top, since it's now in the here-doc (ADO).
+
+ * mcon/U/ssizetype.U: Added ?F: line for metalint file checking.
+ Added 'ldflags' to the test compile line (ADO).
+
+ * mcon/man/mconfig.SH: Added nroff protection for lines beginning
+ with '.'. Documents new ?F: line for file declarations. Added
+ example showing how ./loc can be used.
+
+ * mcon/man/mlint.SH: Documents new ?F: lines and the related metalint
+ warnings. Removed statement in BUGS since all warnings may now be
+ shut.
+
+ * mcon/man/mxref.SH: The leading .TH was referring to metaconfig.
+
+ * mcon/pl/common.pl: Metaconfig and metaxref ignore ?F: lines from
+ now on.
+
+ * mcon/pl/files.pl: Added user-defined file extension support for
+ lookups.
+
+ * mcon/pl/lint.pl: Now extensively checks created files thanks to new
+ ?F: lines.
+
+ * mcon/pl/locate.pl: Misspelled a 'closedir' as a 'close' statement.
+
+ * pat/pat.SH: Now unlinks all the files created by patlog in bugs.
+
+ * pat/pat.man: Documents new patlog script and the files it uses.
+ The RCS layer section has been extended slightly.
+
+ * pat/patcil.SH: Now honors the VISUAL and EDITOR environment
+ variables. Newer RCS programs chop trailing spaces in log messages.
+ Separated V/E and v/e commands. New 'v' command to edit the file
+ being patcil'ed. Added hook for 'V' command (not implemented yet).
+
+ * pat/patmake.SH: A lot of setup is now performed by patlog. Added
+ various escapes in strings for perl5 support.
+
diff --git a/Configure b/Configure
new file mode 100755
index 0000000..f27fe64
--- /dev/null
+++ b/Configure
@@ -0,0 +1,4714 @@
+#! /bin/sh
+#
+# If these # comments don't work, trim them. Don't worry about any other
+# shell scripts, Configure will trim # comments from them for you.
+#
+# (If you are trying to port this package to a machine without sh,
+# I would suggest you have a look at the prototypical config_h.SH file
+# and edit it to reflect your system. Some packages may include samples
+# of config.h for certain machines, so you might look for one of those.)
+#
+# Yes, you may rip this off to use in other distribution packages. This
+# script belongs to the public domain and cannot be copyrighted.
+#
+# Note: this Configure script was generated automatically. Rather than
+# working with this copy of Configure, you may wish to get metaconfig.
+# The dist package (which contains metaconfig) is available via SVN:
+# svn co https://svn.sourceforge.net/svnroot/dist/trunk/dist
+
+# $Id: Head.U 41 2010-11-28 00:21:26Z rmanfredi $
+#
+# Generated on Tue Feb 7 19:02:16 RST 2012 [metaconfig 3.5-123]
+
+cat >c1$$ <<EOF
+ARGGGHHHH!!!!!
+
+SCO csh still thinks true is false. Write to SCO today and tell them that next
+year Configure ought to "rm /bin/csh" unless they fix their blasted shell. :-)
+
+(Actually, Configure ought to just patch csh in place. Hmm. Hmmmmm. All
+we'd have to do is go in and swap the && and || tokens, wherever they are.)
+
+[End of diatribe. We now return you to your regularly scheduled programming...]
+EOF
+cat >c2$$ <<EOF
+
+OOPS! You naughty creature! You didn't run Configure with sh!
+I will attempt to remedy the situation by running sh for you...
+EOF
+
+true || cat c1$$ c2$$
+true || exec sh $0 $argv:q
+
+(exit $?0) || cat c2$$
+(exit $?0) || exec sh $0 $argv:q
+rm -f c1$$ c2$$
+
+: compute my invocation name
+me=$0
+case "$0" in
+*/*)
+ me=`echo $0 | sed -e 's!.*/\(.*\)!\1!' 2>/dev/null`
+ test "$me" || me=$0
+ ;;
+esac
+
+: Proper separator for the PATH environment variable
+p_=:
+: On OS/2 this directory should exist if this is not floppy only system ":-]"
+if test -d c:/. ; then
+ if test -n "$OS2_SHELL"; then
+ p_=\;
+ PATH=`cmd /c "echo %PATH%" | tr '\\\\' / `
+ OS2_SHELL=`cmd /c "echo %OS2_SHELL%" | tr '\\\\' / | tr '[A-Z]' '[a-z]'`
+ elif test -n "$DJGPP"; then
+ case "X${MACHTYPE:-nonesuchmach}" in
+ *cygwin|*msys) ;;
+ *) p_=\; ;;
+ esac
+ fi
+fi
+
+: Proper PATH setting
+paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin'
+paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin"
+paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin"
+paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin"
+paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb"
+paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /usr/ccs/bin"
+paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib"
+paths="$paths /sbin /usr/sbin /usr/libexec"
+paths="$paths /system/gnu_library/bin"
+
+for p in $paths
+do
+ case "$p_$PATH$p_" in
+ *$p_$p$p_*) ;;
+ *) test -d $p && PATH=$PATH$p_$p ;;
+ esac
+done
+
+PATH=.$p_$PATH
+export PATH
+
+: shall we be using ksh?
+inksh=''
+needksh=''
+avoidksh=''
+newsh=/bin/ksh
+changesh=''
+if (PATH=.; alias -x) >/dev/null 2>&1; then
+ inksh=true
+fi
+if test -f /hp-ux -a -f /bin/ksh; then
+ needksh='to avoid sh bug in "here document" expansion'
+fi
+if test -d /usr/lpp -a -f /usr/bin/bsh -a -f /usr/bin/uname; then
+ if test X`/usr/bin/uname -v` = X4; then
+ avoidksh="to avoid AIX 4's /bin/sh"
+ newsh=/usr/bin/bsh
+ fi
+fi
+if test -f /osf_boot -a -f /usr/sbin/setld; then
+ if test X`/usr/bin/uname -s` = XOSF1; then
+ avoidksh="to avoid Digital UNIX' ksh"
+ newsh=/bin/sh
+ unset BIN_SH
+ fi
+fi
+case "$inksh/$needksh" in
+/[a-z]*)
+ ENV=''
+ changesh=true
+ reason="$needksh"
+ ;;
+esac
+case "$inksh/$avoidksh" in
+true/[a-z]*)
+ changesh=true
+ reason="$avoidksh"
+ ;;
+esac
+case "$inksh/$needksh-$avoidksh-" in
+true/--)
+ cat <<EOM
+(I see you are using the Korn shell. Some ksh's blow up on $me,
+mainly on older exotic systems. If yours does, try the Bourne shell instead.)
+EOM
+ ;;
+esac
+case "$changesh" in
+true)
+ export newsh
+ echo "(Feeding myself to $newsh $reason.)"
+ case "$0" in
+ Configure|*/Configure) exec $newsh $0 "$@";;
+ *) exec $newsh Configure "$@";;
+ esac
+ ;;
+esac
+
+: if needed, set CDPATH to a harmless value that is not chatty
+case "$CDPATH" in
+'') ;;
+*) case "$SHELL" in
+ *bash*) CDPATH='.' ;;
+ *) CDPATH='' ;;
+ esac
+ ;;
+esac
+
+: Configure runs within the UU subdirectory
+test -d UU || mkdir UU
+cd UU && rm -f ./*
+
+ccname=''
+ccversion=''
+from=''
+run=''
+targetarch=''
+to=''
+usecrosscompile=''
+d_bsd=''
+d_dos=''
+d_eunice=''
+d_linux=''
+d_os2=''
+d_windows=''
+d_xenix=''
+_exe=''
+eunicefix=''
+ar=''
+awk=''
+bash=''
+bison=''
+byacc=''
+cat=''
+chgrp=''
+chmod=''
+chown=''
+comm=''
+compress=''
+cp=''
+cpio=''
+cpp=''
+csh=''
+date=''
+echo=''
+egrep=''
+emacs=''
+expr=''
+find=''
+flex=''
+gcc=''
+gmake=''
+gmsgfmt=''
+grep=''
+gzip=''
+inews=''
+ksh=''
+less=''
+line=''
+lint=''
+ln=''
+lp=''
+lpr=''
+ls=''
+mail=''
+mailx=''
+make=''
+mkdir=''
+more=''
+msgfmt=''
+msgmerge=''
+mv=''
+nawk=''
+nm=''
+nroff=''
+perl=''
+pg=''
+pmake=''
+pr=''
+rm=''
+rmail=''
+sed=''
+sendmail=''
+shar=''
+sleep=''
+smail=''
+sort=''
+submit=''
+tail=''
+tar=''
+tbl=''
+tee=''
+test=''
+touch=''
+tr=''
+troff=''
+uname=''
+uniq=''
+uuname=''
+vi=''
+wc=''
+xgettext=''
+zcat=''
+zip=''
+incpath=''
+mips_type=''
+hint=''
+myuname=''
+osname=''
+osvers=''
+Author=''
+Date=''
+Header=''
+Id=''
+Locker=''
+Log=''
+RCSfile=''
+Revision=''
+Source=''
+State=''
+_a=''
+_o=''
+archobjs=''
+firstmakefile=''
+afs=''
+afsroot=''
+baserev=''
+ccflags=''
+cppflags=''
+ldflags=''
+lkflags=''
+locincpth=''
+optimize=''
+cf_email=''
+cf_by=''
+cf_time=''
+contains=''
+cpp_trad=''
+cpplast=''
+cppminus=''
+cpprun=''
+cppstdin=''
+d_portable=''
+defeditor=''
+gccosandvers=''
+gccversion=''
+install=''
+installdir=''
+issymlink=''
+glibpth=''
+libpth=''
+loclibpth=''
+plibpth=''
+xlibpth=''
+lns=''
+mailer=''
+make_set_make=''
+installmansrc=''
+manext=''
+mansrc=''
+mansrcexp=''
+mydomain=''
+myhostname=''
+phostname=''
+c=''
+n=''
+d_berknames=''
+d_passnames=''
+d_usgnames=''
+nametype=''
+groupcat=''
+hostcat=''
+passcat=''
+orgname=''
+package=''
+spackage=''
+pager=''
+patchlevel=''
+revision=''
+perlpath=''
+pkgsrc=''
+prefix=''
+prefixexp=''
+installprivlib=''
+privlib=''
+privlibexp=''
+installscript=''
+scriptdir=''
+scriptdirexp=''
+sh=''
+sharpbang=''
+shsharp=''
+spitshell=''
+src=''
+startperl=''
+startsh=''
+sysman=''
+trnl=''
+usrinc=''
+CONFIG=''
+
+: Initialize wide constants
+define='define'
+undef='undef'
+smallmach='pdp11 i8086 z8000 i80286 iAPX286'
+rmlist=''
+
+: We must find out about Eunice early
+eunicefix=':'
+if test -f /etc/unixtovms; then
+ eunicefix=/etc/unixtovms
+fi
+if test -f /etc/unixtovms.exe; then
+ eunicefix=/etc/unixtovms.exe
+fi
+
+: Set executable suffix now -- needed before hints available
+if test -f "/libs/version.library"; then
+ : Amiga OS
+ _exe=""
+elif test -f "/system/gnu_library/bin/ar.pm"; then
+ : Stratus VOS
+ _exe=".pm"
+elif test -n "$DJGPP"; then
+ : DOS DJGPP
+ _exe=".exe"
+elif test -d c:/. ; then
+ : OS/2 or cygwin
+ _exe=".exe"
+else
+ : All other UNIX systems
+ _exe=""
+fi
+
+ccname=''
+ccversion=''
+: Extra object files, if any, needed on this platform.
+archobjs=''
+bin='/usr/local/bin'
+cc='cc'
+: Possible local include directories to search.
+: Set locincpth to "" in a hint file to defeat local include searches.
+locincpth=""
+:
+: no include file wanted by default
+inclwanted=''
+
+: change the next line if compiling for Xenix/286 on Xenix/386
+xlibpth='/usr/lib/386 /lib/386'
+: Possible local library directories to search.
+loclibpth=""
+
+: general looking path for locating libraries
+glibpth="/lib /usr/lib $xlibpth"
+glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
+test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
+test -f /shlib/libc.so && glibpth="/shlib $glibpth"
+glibpth="$glibpth /lib32 /lib64 "`ls -1d /usr/lib/*-gnu 2>/dev/null`
+: Private path used by Configure to find libraries. Its value
+: is prepended to libpth. This variable takes care of special
+: machines, like the mips. Usually, it should be empty.
+plibpth=''
+
+: Find the basic shell for Bourne shell scripts
+case "$sh" in
+'')
+ case "$SYSTYPE" in
+ *bsd*|sys5*) xxx="/$SYSTYPE/bin/sh";;
+ *) xxx='/bin/sh';;
+ esac
+ if test -f "$xxx"; then
+ sh="$xxx"
+ else
+ : Build up a list and do a single loop so we can 'break' out.
+ pth=`echo $PATH | sed -e "s/$p_/ /g"`
+ for xxx in sh bash ksh pdksh ash; do
+ for p in $pth; do
+ try="$try ${p}/${xxx}"
+ done
+ done
+ for xxx in $try; do
+ if test -f "$xxx"; then
+ sh="$xxx"
+ break
+ elif test -f "$xxx$_exe"; then
+ sh="$xxx$_exe"
+ break
+ elif test -f "$xxx.exe"; then
+ sh="$xxx.exe"
+ break
+ fi
+ done
+ fi
+ ;;
+esac
+
+case "$sh" in
+'') cat >&2 <<EOM
+$me: Fatal Error: I can't find a Bourne Shell anywhere.
+
+Usually it's in /bin/sh. How did you even get this far?
+Please contact me (Raphael Manfredi) at Raphael_Manfredi@pobox.com and
+we'll try to straighten this all out.
+EOM
+ exit 1
+ ;;
+esac
+
+: see if sh knows # comments
+if `$sh -c '#' >/dev/null 2>&1`; then
+ shsharp=true
+ spitshell=cat
+ xcat=/bin/cat
+ test -f $xcat$_exe || xcat=/usr/bin/cat
+ if test ! -f $xcat$_exe; then
+ for p in `echo $PATH | sed -e "s/$p_/ /g"` $paths; do
+ if test -f $p/cat$_exe; then
+ xcat=$p/cat
+ break
+ fi
+ done
+ if test ! -f $xcat$_exe; then
+ echo "Can't find cat anywhere!"
+ exit 1
+ fi
+ fi
+ echo "#!$xcat" >sharp
+ $eunicefix sharp
+ chmod +x sharp
+ ./sharp > today 2>/dev/null
+ if test -s today; then
+ sharpbang='#!'
+ else
+ echo "#! $xcat" > sharp
+ $eunicefix sharp
+ chmod +x sharp
+ ./sharp > today 2>/dev/null
+ if test -s today; then
+ sharpbang='#! '
+ else
+ sharpbang=': use '
+ fi
+ fi
+else
+ echo " "
+ echo "Your $sh doesn't grok # comments--I will strip them later on."
+ shsharp=false
+ cd ..
+ echo "exec grep -v '^[ ]*#'" >spitshell
+ chmod +x spitshell
+ $eunicefix spitshell
+ spitshell=`pwd`/spitshell
+ cd UU
+ echo "I presume that if # doesn't work, #! won't work either!"
+ sharpbang=': use '
+fi
+rm -f sharp today
+
+: figure out how to guarantee sh startup
+case "$startsh" in
+'') startsh=${sharpbang}${sh} ;;
+*)
+esac
+cat >sharp <<EOSS
+$startsh
+set abc
+test "$?abc" != 1
+EOSS
+
+chmod +x sharp
+$eunicefix sharp
+if ./sharp; then
+ : echo "Yup, it does."
+else
+ echo "Hmm... '$startsh' does not guarantee sh startup..."
+ echo "You may have to fix up the shell scripts to make sure $sh runs them."
+fi
+rm -f sharp
+
+: Save command line options in file UU/cmdline.opt for later use in
+: generating config.sh.
+cat > cmdline.opt <<EOSH
+: Configure command line arguments.
+config_arg0='$0'
+config_args='$*'
+config_argc=$#
+EOSH
+argn=1
+args_exp=''
+args_sep=''
+for arg in "$@"; do
+ cat >>cmdline.opt <<EOSH
+config_arg$argn='$arg'
+EOSH
+ cat <<EOC | sed -e "s/'/'"'"'"'"'"'"'/g" > cmdl.opt
+$arg
+EOC
+ arg_exp=`cat cmdl.opt`
+ args_exp="$args_exp$args_sep'$arg_exp'"
+ argn=`expr $argn + 1`
+ args_sep=' '
+done
+rm -f cmdl.opt
+
+: produce awk script to parse command line options
+cat >options.awk <<'EOF'
+BEGIN {
+ optstr = "A:dD:eEf:hKOrsSU:V"; # getopt-style specification
+
+ len = length(optstr);
+ for (i = 1; i <= len; i++) {
+ c = substr(optstr, i, 1);
+ if (i < len) a = substr(optstr, i + 1, 1); else a = "";
+ if (a == ":") {
+ arg[c] = 1;
+ i++;
+ }
+ opt[c] = 1;
+ }
+}
+{
+ expect = 0;
+ str = $0;
+ if (substr(str, 1, 1) != "-") {
+ printf("'%s'\n", str);
+ next;
+ }
+ len = length($0);
+ for (i = 2; i <= len; i++) {
+ c = substr(str, i, 1);
+ if (!opt[c]) {
+ printf("-%s\n", substr(str, i));
+ next;
+ }
+ printf("-%s\n", c);
+ if (arg[c]) {
+ if (i < len)
+ printf("'%s'\n", substr(str, i + 1));
+ else
+ expect = 1;
+ next;
+ }
+ }
+}
+END {
+ if (expect)
+ print "?";
+}
+EOF
+
+: process the command line options
+set X `for arg in "$@"; do echo "X$arg"; done |
+ sed -e s/X// | awk -f options.awk`
+eval "set $*"
+shift
+rm -f options.awk
+
+: set up default values
+fastread=''
+reuseval=false
+config_sh=''
+alldone=''
+error=''
+silent=''
+extractsh=''
+override=''
+knowitall=''
+rm -f optdef.sh posthint.sh
+cat >optdef.sh <<EOS
+$startsh
+EOS
+
+
+: option parsing
+while test $# -gt 0; do
+ case "$1" in
+ -d) shift; fastread=yes;;
+ -e) shift; alldone=cont;;
+ -f)
+ shift
+ cd ..
+ if test -r "$1"; then
+ config_sh="$1"
+ else
+ echo "$me: cannot read config file $1." >&2
+ error=true
+ fi
+ cd UU
+ shift;;
+ -h) shift; error=true;;
+ -r) shift; reuseval=true;;
+ -s) shift; silent=true; realsilent=true;;
+ -E) shift; alldone=exit;;
+ -K) shift; knowitall=true;;
+ -O) shift; override=true;;
+ -S) shift; silent=true; extractsh=true;;
+ -D)
+ shift
+ case "$1" in
+ *=)
+ echo "$me: use '-U symbol=', not '-D symbol='." >&2
+ echo "$me: ignoring -D $1" >&2
+ ;;
+ *=*) echo "$1" | \
+ sed -e "s/'/'\"'\"'/g" -e "s/=\(.*\)/='\1'/" >> optdef.sh;;
+ *) echo "$1='define'" >> optdef.sh;;
+ esac
+ shift
+ ;;
+ -U)
+ shift
+ case "$1" in
+ *=) echo "$1" >> optdef.sh;;
+ *=*)
+ echo "$me: use '-D symbol=val', not '-U symbol=val'." >&2
+ echo "$me: ignoring -U $1" >&2
+ ;;
+ *) echo "$1='undef'" >> optdef.sh;;
+ esac
+ shift
+ ;;
+ -A)
+ shift
+ xxx=''
+ yyy="$1"
+ zzz=''
+ uuu=undef
+ case "$yyy" in
+ *=*) zzz=`echo "$yyy"|sed 's!=.*!!'`
+ case "$zzz" in
+ *:*) zzz='' ;;
+ *) xxx=append
+ zzz=" "`echo "$yyy"|sed 's!^[^=]*=!!'`
+ yyy=`echo "$yyy"|sed 's!=.*!!'` ;;
+ esac
+ ;;
+ esac
+ case "$xxx" in
+ '') case "$yyy" in
+ *:*) xxx=`echo "$yyy"|sed 's!:.*!!'`
+ yyy=`echo "$yyy"|sed 's!^[^:]*:!!'`
+ zzz=`echo "$yyy"|sed 's!^[^=]*=!!'`
+ yyy=`echo "$yyy"|sed 's!=.*!!'` ;;
+ *) xxx=`echo "$yyy"|sed 's!:.*!!'`
+ yyy=`echo "$yyy"|sed 's!^[^:]*:!!'` ;;
+ esac
+ ;;
+ esac
+ case "$xxx" in
+ append)
+ echo "$yyy=\"\${$yyy}$zzz\"" >> posthint.sh ;;
+ clear)
+ echo "$yyy=''" >> posthint.sh ;;
+ define)
+ case "$zzz" in
+ '') zzz=define ;;
+ esac
+ echo "$yyy='$zzz'" >> posthint.sh ;;
+ eval)
+ echo "eval \"$yyy=$zzz\"" >> posthint.sh ;;
+ prepend)
+ echo "$yyy=\"$zzz\${$yyy}\"" >> posthint.sh ;;
+ undef)
+ case "$zzz" in
+ '') zzz="$uuu" ;;
+ esac
+ echo "$yyy=$zzz" >> posthint.sh ;;
+ *) echo "$me: unknown -A command '$xxx', ignoring -A $1" >&2 ;;
+ esac
+ shift
+ ;;
+ -V) echo "$me generated by metaconfig 3.5-123." >&2
+ exit 0;;
+ --) break;;
+ -*) echo "$me: unknown option $1" >&2; shift; error=true;;
+ *) break;;
+ esac
+done
+
+case "$error" in
+true)
+ cat >&2 <<EOM
+Usage: $me [-dehrsEKOSV] [-f config.sh] [-D symbol] [-D symbol=value]
+ [-U symbol] [-U symbol=] [-A command:symbol...]
+ -d : use defaults for all answers.
+ -e : go on without questioning past the production of config.sh.
+ -f : specify an alternate default configuration file.
+ -h : print this help message and exit (with an error status).
+ -r : reuse C symbols value if possible (skips costly nm extraction).
+ -s : silent mode, only echoes questions and essential information.
+ -D : define symbol to have some value:
+ -D symbol symbol gets the value 'define'
+ -D symbol=value symbol gets the value 'value'
+ -E : stop at the end of questions, after having produced config.sh.
+ -K : do not use unless you know what you are doing.
+ -O : let -D and -U override definitions from loaded configuration file.
+ -S : perform variable substitutions on all .SH files (can mix with -f)
+ -U : undefine symbol:
+ -U symbol symbol gets the value 'undef'
+ -U symbol= symbol gets completely empty
+ -A : manipulate symbol after the platform specific hints have been applied:
+ -A symbol=value append " "value to symbol
+ -A append:symbol=value append value to symbol
+ -A define:symbol=value define symbol to have value
+ -A clear:symbol define symbol to be ''
+ -A define:symbol define symbol to be 'define'
+ -A eval:symbol=value define symbol to be eval of value
+ -A prepend:symbol=value prepend value to symbol
+ -A undef:symbol define symbol to be 'undef'
+ -A undef:symbol= define symbol to be ''
+ -V : print version number and exit (with a zero status).
+EOM
+ exit 1
+ ;;
+esac
+
+: Sanity checks
+case "$fastread$alldone" in
+yescont|yesexit) ;;
+*)
+ case "$extractsh" in
+ true) ;;
+ *)
+ if test ! -t 0; then
+ echo "Say 'sh Configure', not 'sh <Configure'"
+ exit 1
+ fi
+ ;;
+ esac
+ ;;
+esac
+
+exec 4>&1
+case "$silent" in
+true) exec 1>/dev/null;;
+esac
+
+: run the defines and the undefines, if any, but leave the file out there...
+touch optdef.sh
+. ./optdef.sh
+: create the posthint manipulation script and leave the file out there...
+touch posthint.sh
+
+: set package name
+package='dist'
+first=`echo $package | sed -e 's/^\(.\).*/\1/'`
+last=`echo $package | sed -e 's/^.\(.*\)/\1/'`
+case "`echo AbyZ | tr '[:lower:]' '[:upper:]' 2>/dev/null`" in
+ABYZ) spackage=`echo $first | tr '[:lower:]' '[:upper:]'`$last;;
+*) spackage=`echo $first | tr '[a-z]' '[A-Z]'`$last;;
+esac
+
+: script used to emulate mkdir -p
+cat >mkdirp <<EOS
+$startsh
+EOS
+cat >>mkdirp <<'EOS'
+name=$1;
+create="";
+while test $name; do
+ if test ! -d "$name"; then
+ create="$name $create"
+ name=`echo $name | sed -e "s|^[^/]*$||"`
+ name=`echo $name | sed -e "s|\(.*\)/.*|\1|"`
+ else
+ name=""
+ fi
+done
+for file in $create; do
+ mkdir $file
+done
+EOS
+chmod +x mkdirp
+$eunicefix mkdirp
+
+: Some greps do not return status, grrr.
+echo "grimblepritz" >grimble
+if grep blurfldyick grimble >/dev/null 2>&1 ; then
+ contains=contains
+elif grep grimblepritz grimble >/dev/null 2>&1 ; then
+ contains=grep
+else
+ contains=contains
+fi
+rm -f grimble
+: the following should work in any shell
+case "$contains" in
+contains*)
+ echo " "
+ echo "AGH! Grep doesn't return a status. Attempting remedial action."
+ cat >contains <<'EOSS'
+grep "$1" "$2" >.greptmp && cat .greptmp && test -s .greptmp
+EOSS
+chmod +x contains
+esac
+
+: Find the path to the source tree
+case "$src" in
+'') case "$0" in
+ */*)
+ src=`echo $0 | sed -e 's%/[^/][^/]*$%%'`
+ ;;
+ *) src='.';;
+ esac;;
+esac
+case "$src" in
+'') src=/
+ rsrc=/
+ ;;
+/*) rsrc="$src";;
+*) rsrc="../$src";;
+esac
+if test -f $rsrc/Configure && \
+ $contains "^package='$package'\$" $rsrc/Configure >/dev/null 2>&1
+then
+ : found it, so we are ok.
+else
+ rsrc=''
+ for src in . .. ../.. ../../.. ../../../..; do
+ if test -f ../$src/Configure && \
+ $contains "^package=$package$" ../$src/Configure >/dev/null 2>&1
+ then
+ rsrc=../$src
+ break
+ fi
+ done
+fi
+case "$rsrc" in
+'')
+ cat <<EOM >&4
+
+Sorry, I can't seem to locate the source dir for $package. Please start
+Configure with an explicit path -- i.e. /some/path/Configure.
+
+EOM
+ exit 1
+ ;;
+../.) rsrc='..';;
+*)
+ echo " "
+ echo "Sources for $package found in \"$src\"." >&4
+ ;;
+esac
+
+: script used to extract .SH files with variable substitutions
+cat >extract <<EOS
+CONFIG=true
+SRC="$src"
+TOP=`cd ..; pwd 2>/dev/null`
+EOS
+cat >>extract <<'EOS'
+echo "Doing variable substitutions on .SH files..."
+if test -f "$SRC/MANIFEST"; then
+ set x `awk '{print $1}' <$SRC/MANIFEST | grep '\.SH'`
+else
+ echo "(Looking for .SH files under the source directory.)"
+ set x `(cd "$SRC"; find . -name "*.SH" -print)`
+fi
+shift
+case $# in
+0) set x `(cd "$SRC"; echo *.SH)`; shift;;
+esac
+if test ! -f "$SRC/$1"; then
+ shift
+fi
+for file in $*; do
+ case "$SRC" in
+ ".")
+ case "$file" in
+ */*)
+ dir=`expr X$file : 'X\(.*\)/'`
+ file=`expr X$file : 'X.*/\(.*\)'`
+ (cd $dir && . ./$file)
+ ;;
+ *)
+ . ./$file
+ ;;
+ esac
+ ;;
+ *)
+ case "$file" in
+ */*)
+ dir=`expr X$file : 'X\(.*\)/'`
+ file=`expr X$file : 'X.*/\(.*\)'`
+ ./mkdirp $dir
+ sh <"$SRC/$dir/$file"
+ ;;
+ *)
+ sh <"$SRC/$file"
+ ;;
+ esac
+ ;;
+ esac
+done
+if test -f "$SRC/config_h.SH"; then
+ if test ! -f config.h; then
+ sh <"$SRC/config_h.SH"
+ fi
+fi
+EOS
+
+: extract files and exit if asked to do so
+case "$extractsh" in
+true)
+ case "$realsilent" in
+ true) ;;
+ *) exec 1>&4;;
+ esac
+ case "$config_sh" in
+ '') config_sh='config.sh';;
+ esac
+ echo " "
+ echo "Fetching answers from $config_sh..."
+ cd ..
+ . $config_sh
+ test "$override" && . ./optdef.sh
+ echo " "
+ . UU/extract
+ rm -rf UU
+ echo "Extraction done."
+ exit 0
+ ;;
+esac
+
+: Eunice requires " " instead of "", can you believe it
+echo " "
+: Here we go...
+echo "Beginning of configuration questions for $package."
+
+trap 'echo " "; test -d ../UU && rm -rf X $rmlist; exit 1' 1 2 3 15
+
+: first determine how to suppress newline on echo command
+echo " "
+echo "Checking echo to see how to suppress newlines..."
+(echo "hi there\c" ; echo " ") >.echotmp
+if $contains c .echotmp >/dev/null 2>&1 ; then
+ echo "...using -n."
+ n='-n'
+ c=''
+else
+ cat <<'EOM'
+...using \c
+EOM
+ n=''
+ c='\c'
+fi
+echo $n "The star should be here-->$c"
+echo '*'
+rm -f .echotmp
+
+: Now test for existence of everything in MANIFEST
+echo " "
+if test -f "$rsrc/MANIFEST"; then
+ echo "First let's make sure your kit is complete. Checking..." >&4
+ awk '$1 !~ /PACK[A-Z]+/ {print $1}' "$rsrc/MANIFEST" | \
+ (split -l 50 2>/dev/null || split -50)
+ rm -f missing
+ tmppwd=`pwd`
+ for filelist in x??; do
+ (cd "$rsrc"; ls `cat "$tmppwd/$filelist"` \
+ >/dev/null 2>>"$tmppwd/missing")
+ done
+ if test -s missing; then
+ cat missing >&4
+ cat >&4 <<'EOM'
+
+THIS PACKAGE SEEMS TO BE INCOMPLETE.
+
+You have the option of continuing the configuration process, despite the
+distinct possibility that your kit is damaged, by typing 'y'es. If you
+do, don't blame me if something goes wrong. I advise you to type 'n'o
+and contact the author (Raphael_Manfredi@pobox.com).
+
+EOM
+ echo $n "Continue? [n] $c" >&4
+ read ans
+ case "$ans" in
+ y*)
+ echo "Continuing..." >&4
+ rm -f missing
+ ;;
+ *)
+ echo "ABORTING..." >&4
+ kill $$
+ ;;
+ esac
+ else
+ echo "Looks good..."
+ fi
+else
+ echo "There is no MANIFEST file. I hope your kit is complete !"
+fi
+rm -f missing x??
+
+: Find the appropriate value for a newline for tr
+if test -n "$DJGPP"; then
+ trnl='\012'
+fi
+if test X"$trnl" = X; then
+ case "`echo foo | tr '\n' x 2>/dev/null`" in
+ foox) trnl='\n' ;;
+ esac
+fi
+if test X"$trnl" = X; then
+ case "`echo foo | tr '\012' x 2>/dev/null`" in
+ foox) trnl='\012' ;;
+ esac
+fi
+if test X"$trnl" = X; then
+ case "`echo foo | tr '\r\n' xy 2>/dev/null`" in
+ fooxy) trnl='\n\r' ;;
+ esac
+fi
+if test X"$trnl" = X; then
+ cat <<EOM >&2
+
+$me: Fatal Error: cannot figure out how to translate newlines with 'tr'.
+
+EOM
+ exit 1
+fi
+
+: compute the number of columns on the terminal for proper question formatting
+case "$COLUMNS" in
+'') COLUMNS='80';;
+esac
+
+: set up the echo used in my read
+myecho="case \"\$xxxm\" in
+'') echo $n \"\$rp $c\" >&4;;
+*) case \"\$rp\" in
+ '') echo $n \"[\$xxxm] $c\";;
+ *)
+ if test \`echo \"\$rp [\$xxxm] \" | wc -c\` -ge $COLUMNS; then
+ echo \"\$rp\" >&4
+ echo $n \"[\$xxxm] $c\" >&4
+ else
+ echo $n \"\$rp [\$xxxm] $c\" >&4
+ fi
+ ;;
+ esac;;
+esac"
+
+: now set up to do reads with possible shell escape and default assignment
+cat <<EOSC >myread
+$startsh
+xxxm=\$dflt
+$myecho
+ans='!'
+case "\$fastread" in
+yes) case "\$dflt" in
+ '') ;;
+ *) ans='';
+ case "\$silent-\$rp" in
+ true-) ;;
+ *) echo " " >&4;;
+ esac;;
+ esac;;
+*) case "\$silent" in
+ true) case "\$rp" in
+ '') ans='';;
+ esac;;
+ esac;;
+esac
+while expr "X\$ans" : "X!" >/dev/null; do
+ read answ
+ set x \$xxxm
+ shift
+ aok=''; eval "ans=\\"\$answ\\"" && aok=y
+ case "\$answ" in
+ "!")
+ sh 1>&4
+ echo " "
+ $myecho
+ ;;
+ !*)
+ set x \`expr "X\$ans" : "X!\(.*\)\$"\`
+ shift
+ sh 1>&4 -c "\$*"
+ echo " "
+ $myecho
+ ;;
+ "\$ans")
+ case "\$ans" in
+ \\&*)
+ set x \`expr "X\$ans" : "X&\(.*\)\$"\`
+ shift
+ case "\$1" in
+ -d)
+ fastread=yes
+ echo "(OK, I'll run with -d after this question.)" >&4
+ ;;
+ -*)
+ echo "*** Sorry, \$1 not supported yet." >&4
+ ;;
+ esac
+ $myecho
+ ans=!
+ ;;
+ esac;;
+ *)
+ case "\$aok" in
+ y)
+ echo "*** Substitution done -- please confirm."
+ xxxm="\$ans"
+ ans=\`echo $n "\$ans$c" | tr '$trnl' ' '\`
+ xxxm="\$ans"
+ ans=!
+ ;;
+ *)
+ echo "*** Error -- try again."
+ ans=!
+ ;;
+ esac
+ $myecho
+ ;;
+ esac
+ case "\$ans\$xxxm\$nostick" in
+ '')
+ ans=!
+ $myecho
+ ;;
+ esac
+done
+case "\$ans" in
+'') ans="\$xxxm";;
+esac
+EOSC
+
+: create .config dir to save info across Configure sessions
+test -d ../.config || mkdir ../.config
+cat >../.config/README <<EOF
+This directory created by Configure to save information that should
+persist across sessions for $package.
+
+You may safely delete it if you wish.
+EOF
+
+: general instructions
+needman=true
+firsttime=true
+user=`(logname) 2>/dev/null`
+case "$user" in
+'') user=`whoami 2>&1`;;
+esac
+if $contains "^$user\$" ../.config/instruct >/dev/null 2>&1; then
+ firsttime=false
+ echo " "
+ rp='Would you like to see the instructions?'
+ dflt=n
+ . ./myread
+ case "$ans" in
+ [yY]*) ;;
+ *) needman=false;;
+ esac
+fi
+if $needman; then
+ cat <<EOH
+
+This installation shell script will examine your system and ask you questions
+to determine how the dist package should be installed. If you get
+stuck on a question, you may use a ! shell escape to start a subshell or
+execute a command. Many of the questions will have default answers in square
+brackets; typing carriage return will give you the default.
+
+On some of the questions which ask for file or directory names you are allowed
+to use the ~name construct to specify the login directory belonging to "name",
+even if you don't have a shell which knows about that. Questions where this is
+allowed will be marked "(~name ok)".
+
+EOH
+ rp=''
+ dflt='Type carriage return to continue'
+ . ./myread
+ cat <<'EOH'
+
+The prompter used in this script allows you to use shell variables and
+backticks in your answers. You may use $1, $2, etc... to refer to the words
+in the default answer, as if the default line was a set of arguments given to a
+script shell. This means you may also use $* to repeat the whole default line,
+so you do not have to re-type everything to add something to the default.
+
+Everytime there is a substitution, you will have to confirm. If there is an
+error (e.g. an unmatched backtick), the default answer will remain unchanged
+and you will be prompted again.
+
+If you are in a hurry, you may run 'Configure -d'. This will bypass nearly all
+the questions and use the computed defaults (or the previous answers if there
+was already a config.sh file). Type 'Configure -h' for a list of options.
+You may also start interactively and then answer '& -d' at any prompt to turn
+on the non-interactive behaviour for the remainder of the execution.
+
+EOH
+ . ./myread
+ cat <<EOH
+
+Much effort has been expended to ensure that this shell script will run on any
+Unix system. If despite that it blows up on yours, your best bet is to edit
+Configure and run it again. If you can't run Configure for some reason,
+you'll have to generate a config.sh file by hand. Whatever problems you
+have, let me (Raphael_Manfredi@pobox.com) know how I blew it.
+
+This installation script affects things in two ways:
+
+1) it may do direct variable substitutions on some of the files included
+ in this kit.
+2) it builds a config.h file for inclusion in C programs. You may edit
+ any of these files as the need arises after running this script.
+
+If you make a mistake on a question, there is no easy way to back up to it
+currently. The easiest thing to do is to edit config.sh and rerun all the SH
+files. Configure will offer to let you do this before it runs the SH files.
+
+EOH
+ dflt='Type carriage return to continue'
+ . ./myread
+ case "$firsttime" in
+ true) echo $user >>../.config/instruct;;
+ esac
+fi
+
+: script used to emit important warnings
+cat >warn <<EOS
+$startsh
+if test \$# -gt 0; then
+ echo "\$@" >msg
+else
+ cat >msg
+fi
+echo "*** WARNING:" >&4
+sed -e 's/^/*** /' <msg >&4
+echo "*** " >&4
+cat msg >>config.msg
+echo " " >>config.msg
+rm -f msg
+EOS
+chmod +x warn
+$eunicefix warn
+
+: find out where common programs are
+echo " "
+echo "Locating common programs..." >&4
+cat <<EOSC >loc
+$startsh
+case \$# in
+0) exit 1;;
+esac
+thing=\$1
+shift
+dflt=\$1
+shift
+for dir in \$*; do
+ case "\$thing" in
+ .)
+ if test -d \$dir/\$thing; then
+ echo \$dir
+ exit 0
+ fi
+ ;;
+ *)
+ for thisthing in \$dir/\$thing; do
+ : just loop through to pick last item
+ done
+ if test -f \$thisthing; then
+ echo \$thisthing
+ exit 0
+ elif test -f \$thisthing$_exe; then
+ echo \$thisthing
+ exit 0
+ elif test -f \$dir/\$thing.exe; then
+ if test -n "$DJGPP"; then
+ echo \$dir/\$thing.exe
+ else
+ : on Eunice apparently
+ echo \$dir/\$thing
+ fi
+ exit 0
+ fi
+ ;;
+ esac
+done
+echo \$dflt
+exit 1
+EOSC
+chmod +x loc
+$eunicefix loc
+loclist="
+awk
+cat
+chgrp
+chmod
+chown
+cp
+echo
+expr
+grep
+make
+mkdir
+mv
+rm
+sed
+sort
+touch
+tr
+uniq
+"
+trylist="
+cpp
+date
+inews
+less
+line
+ln
+mail
+more
+nroff
+perl
+pg
+rmail
+sendmail
+smail
+test
+uname
+vi
+wc
+zcat
+"
+pth=`echo $PATH | sed -e "s/$p_/ /g"`
+pth="$pth /sbin /usr/sbin /lib /usr/lib /etc"
+for file in $loclist; do
+ eval xxx=\$$file
+ case "$xxx" in
+ /*|?:[\\/]*)
+ if test -f "$xxx"; then
+ : ok
+ else
+ ./warn "no $xxx -- ignoring your setting for $file." 4>&4
+ xxx=`./loc $file $file $pth`
+ fi
+ ;;
+ '') xxx=`./loc $file $file $pth`;;
+ *) xxx=`./loc $xxx $xxx $pth`;;
+ esac
+ eval $file=$xxx
+ eval _$file=$xxx
+ case "$xxx" in
+ /*)
+ echo $file is in $xxx.
+ ;;
+ ?:[\\/]*)
+ echo $file is in $xxx.
+ ;;
+ *)
+ echo "I don't know where '$file' is, and my life depends on it." >&4
+ echo "Go find a public domain implementation or fix your PATH!" >&4
+ exit 1
+ ;;
+ esac
+done
+echo " "
+echo "Don't worry if any of the following aren't found..."
+say=offhand
+for file in $trylist; do
+ eval xxx=\$$file
+ case "$xxx" in
+ /*|?:[\\/]*)
+ if test -f "$xxx"; then
+ : ok
+ else
+ ./warn "no $xxx -- ignoring your setting for $file." 4>&4
+ xxx=`./loc $file $file $pth`
+ fi
+ ;;
+ '') xxx=`./loc $file $file $pth`;;
+ *) xxx=`./loc $xxx $xxx $pth`;;
+ esac
+ eval $file=$xxx
+ eval _$file=$xxx
+ case "$xxx" in
+ /*)
+ echo $file is in $xxx.
+ ;;
+ ?:[\\/]*)
+ echo $file is in $xxx.
+ ;;
+ *)
+ echo "I don't see $file out there, $say."
+ say=either
+ ;;
+ esac
+done
+case "$egrep" in
+egrep$_exe|egrep)
+ echo "Substituting grep for egrep."
+ egrep=$grep
+ _egrep=$_grep
+ ;;
+esac
+case "$ln" in
+ln$_exe|ln)
+ echo "Substituting cp for ln."
+ ln=$cp
+ _ln=$_cp
+ ;;
+esac
+case "$make" in
+make$_exe|make)
+ case "$gmake" in
+ gmake)
+ echo "I can't find make or gmake, and my life depends on it." >&4
+ echo "Go find a public domain implementation or fix your PATH setting!" >&4
+ exit 1
+ ;;
+ esac
+ ;;
+esac
+case "$gmake" in
+gmake$_exe|gmake) ;;
+*)
+ if test -f "/system/gnu_library/bin/ar.pm"; then
+ : Stratus VOS
+ echo "Substituting gmake for make."
+ make=$gmake
+ _make=$_gmake
+ fi
+ ;;
+esac
+case "$test" in
+test|test$_exe)
+ echo "Hopefully test is built into your sh."
+ test=test
+ ;;
+*)
+ if `sh -c "PATH= test true" >/dev/null 2>&1`; then
+ echo "Using the test built into your sh."
+ test=test
+ _test=test
+ fi
+ ;;
+esac
+case "$echo" in
+echo|echo$_exe)
+ echo "Hopefully echo is built into your sh."
+ echo=echo
+ ;;
+'') ;;
+*)
+ echo " "
+echo "Checking compatibility between $_echo and builtin echo (if any)..." >&4
+ $echo $n "hi there$c" >foo1
+ echo $n "hi there$c" >foo2
+ if cmp foo1 foo2 >/dev/null 2>&1; then
+ echo "They are compatible. In fact, they may be identical."
+ else
+ case "$n" in
+ '-n') n='' c='\c';;
+ *) n='-n' c='';;
+ esac
+ cat <<FOO
+They are not compatible! You are probably running ksh on a non-USG system.
+I'll have to use $echo instead of the builtin, since Bourne shell doesn't
+have echo built in and we may have to run some Bourne shell scripts. That
+means I'll have to use '$n$c' to suppress newlines now. Life is ridiculous.
+
+FOO
+ $echo $n "The star should be here-->$c"
+ $echo "*"
+ fi
+ $rm -f foo1 foo2
+ ;;
+esac
+
+: generate the trygcc script for later perusal
+cat <<EOS >trygcc
+$startsh
+EOS
+cat <<'EOSC' >>trygcc
+case "$cc" in
+'') ;;
+*) $rm -f try try.*
+ $cat >try.c <<EOM
+int main(int argc, char *argv[]) {
+ (void) argc;
+ (void) argv;
+ return 0;
+}
+EOM
+ if $cc -o try $ccflags $ldflags try.c; then
+ :
+ else
+ echo "Uh-oh, the C compiler '$cc' doesn't seem to be working." >&4
+ despair=yes
+ trygcc=yes
+ case "$cc" in
+ *gcc*) trygcc=no ;;
+ esac
+ case "`$cc -v -c try.c 2>&1`" in
+ *gcc*) trygcc=no ;;
+ esac
+ if $test X"$trygcc" = Xyes; then
+ if gcc -o try -c try.c; then
+ echo " "
+ echo "You seem to have a working gcc, though." >&4
+ rp="Would you like to use it?"
+ dflt=y
+ if $test -f myread; then
+ . ./myread
+ else
+ if $test -f UU/myread; then
+ . ./UU/myread
+ else
+ echo "Cannot find myread, sorry. Aborting." >&2
+ exit 1
+ fi
+ fi
+ case "$ans" in
+ [yY]*) cc=gcc; ccname=gcc; ccflags=''; despair=no;
+ $cat *.cbu >checktmp 2>/dev/null
+ if $contains ccflags checktmp >/dev/null; then
+ ./warn 4>&4 <<EOM
+Any previous setting of the C compiler flags has been lost.
+It may be necessary to pass -Dcc=gcc to Configure right away.
+EOM
+ fi;;
+ esac
+ fi
+ fi
+ fi
+ $rm -f try try.*
+ ;;
+esac
+EOSC
+
+: generate the checkcc script for later perusal
+cat <<EOS >checkcc
+$startsh
+EOS
+cat <<'EOSC' >>checkcc
+case "$cc" in
+'') ;;
+*) $rm -f try try.*
+ $cat >try.c <<EOM
+int main(int argc, char *argv[]) {
+ (void) argc;
+ (void) argv;
+ return 0;
+}
+EOM
+ if $cc -o try $ccflags $ldflags try.c; then
+ :
+ else
+ if $test X"$despair" = Xyes; then
+ echo "Uh-oh, the C compiler '$cc' doesn't seem to be working." >&4
+ fi
+ $cat >&4 <<EOM
+You need to find a working C compiler.
+Either (purchase and) install the C compiler supplied by your OS vendor,
+or for a free C compiler try http://gcc.gnu.org/
+I cannot continue any further, aborting.
+EOM
+ exit 1
+ fi
+ $rm -f try try.*
+ ;;
+esac
+EOSC
+
+: determine whether symbolic links are supported
+echo " "
+$rm -f blurfl sym
+if $ln -s blurfl sym > /dev/null 2>&1 && $test -f sym; then
+ echo "Symbolic links are supported." >&4
+ lns="$ln -s"
+else
+ echo "Symbolic links are NOT supported." >&4
+ lns="$ln"
+fi
+$rm -f blurfl sym
+
+: determine whether symbolic links are supported
+echo " "
+case "$lns" in
+*"ln"*" -s")
+ echo "Checking how to test for symbolic links..." >&4
+ $lns blurfl sym
+ if $test "X$issymlink" = X; then
+ case "$newsh" in
+ '') sh -c "PATH= test -h sym" >/dev/null 2>&1 ;;
+ *) $newsh -c "PATH= test -h sym" >/dev/null 2>&1 ;;
+ esac
+ if test $? = 0; then
+ issymlink="test -h"
+ else
+ echo "Your builtin 'test -h' may be broken." >&4
+ case "$test" in
+ /*) ;;
+ *) pth=`echo $PATH | sed -e "s/$p_/ /g"`
+ for p in $pth
+ do
+ if test -f "$p/$test"; then
+ test="$p/$test"
+ break
+ fi
+ done
+ ;;
+ esac
+ case "$test" in
+ /*)
+ echo "Trying external '$test -h'." >&4
+ issymlink="$test -h"
+ if $test ! -h sym >/dev/null 2>&1; then
+ echo "External '$test -h' is broken, too." >&4
+ issymlink=''
+ fi
+ ;;
+ *) issymlink='' ;;
+ esac
+ fi
+ fi
+ if $test "X$issymlink" = X; then
+ if $test -L sym 2>/dev/null; then
+ issymlink="$test -L"
+ echo "The builtin '$test -L' worked." >&4
+ fi
+ fi
+ if $test "X$issymlink" != X; then
+ echo "You can test for symbolic links with '$issymlink'." >&4
+ else
+ echo "I do not know how you can test for symbolic links." >&4
+ fi
+ $rm -f blurfl sym
+ ;;
+*) echo "No symbolic links, so not testing for their testing..." >&4
+ ;;
+esac
+
+: define absolute package source directory
+case "$src" in
+/*) pkgsrc=$src;;
+*) pkgsrc=`cd $rsrc; pwd`;;
+esac
+
+: Duplicate the tree with symbolic links if -Dmksymlinks was supplied
+case "$mksymlinks" in
+$define|true|[yY]*)
+ echo " "
+ case "$src" in
+ ''|'.') echo "Cannot create symlinks in the original directory." >&4
+ exit 1
+ ;;
+ *) case "$lns:$issymlink" in
+ *"ln"*" -s:"*"test -"?)
+ echo "Creating the symbolic links..." >&4
+ echo "(First creating the subdirectories...)" >&4
+ cd ..
+ awk '{print $1}' $src/MANIFEST | grep / | sed 's:/[^/]*$::' | \
+ sort -u | while true
+ do
+ read dir
+ test -z "$dir" && break
+ ./UU/mkdirp $dir 2>/dev/null
+ if test -d $dir; then
+ : ok
+ else
+ echo "Failed to create '$dir'. Aborting." >&4
+ exit 1
+ fi
+ done
+ echo "(Now creating the symlinks...)" >&4
+ awk '{print $1}' $src/MANIFEST | while true; do
+ read filename
+ test -z "$filename" && break
+ if test -f $filename; then
+ if $issymlink $filename; then
+ rm -f $filename
+ fi
+ fi
+ if test -f $filename; then
+ echo "$filename already exists, not symlinking."
+ else
+ ln -s $pkgsrc/$filename $filename
+ fi
+ done
+ echo "(Checking current directory...)" >&4
+ cd UU
+ awk '$1 !~ /PACK[A-Z]+/ {print $1}' "$rsrc/MANIFEST" | \
+ (split -l 50 2>/dev/null || split -50)
+ rm -f missing
+ tmppwd=`pwd`
+ for filelist in x??; do
+ (cd ..; ls `cat "$tmppwd/$filelist"` \
+ >/dev/null 2>>"$tmppwd/missing")
+ done
+ if test -s missing; then
+ echo "Failed duplication of source tree. Aborting." >&4
+ exit 1
+ fi
+ ;;
+ *) echo "(I cannot figure out how to do symbolic links, ignoring!)" >&4
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+esac
+
+: see whether [:lower:] and [:upper:] are supported character classes
+echo " "
+case "`echo AbyZ | LC_ALL=C $tr '[:lower:]' '[:upper:]' 2>/dev/null`" in
+ABYZ)
+ echo "Good, your tr supports [:lower:] and [:upper:] to convert case." >&4
+ up='[:upper:]'
+ low='[:lower:]'
+ ;;
+*) # There is a discontinuity in EBCDIC between 'I' and 'J'
+ # (0xc9 and 0xd1), therefore that is a nice testing point.
+ if test "X$up" = X -o "X$low" = X; then
+ case "`echo IJ | LC_ALL=C $tr '[I-J]' '[i-j]' 2>/dev/null`" in
+ ij) up='[A-Z]'
+ low='[a-z]'
+ ;;
+ esac
+ fi
+ if test "X$up" = X -o "X$low" = X; then
+ case "`echo IJ | LC_ALL=C $tr I-J i-j 2>/dev/null`" in
+ ij) up='A-Z'
+ low='a-z'
+ ;;
+ esac
+ fi
+ if test "X$up" = X -o "X$low" = X; then
+ case "`echo IJ | od -x 2>/dev/null`" in
+ *C9D1*|*c9d1*)
+ echo "Hey, this might be EBCDIC." >&4
+ if test "X$up" = X -o "X$low" = X; then
+ case "`echo IJ | \
+ LC_ALL=C $tr '[A-IJ-RS-Z]' '[a-ij-rs-z]' 2>/dev/null`" in
+ ij) up='[A-IJ-RS-Z]'
+ low='[a-ij-rs-z]'
+ ;;
+ esac
+ fi
+ if test "X$up" = X -o "X$low" = X; then
+ case "`echo IJ | LC_ALL=C $tr A-IJ-RS-Z a-ij-rs-z 2>/dev/null`" in
+ ij) up='A-IJ-RS-Z'
+ low='a-ij-rs-z'
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ fi
+esac
+case "`echo IJ | LC_ALL=C $tr \"$up\" \"$low\" 2>/dev/null`" in
+ij)
+ echo "Using $up and $low to convert case." >&4
+ ;;
+*)
+ echo "I don't know how to translate letters from upper to lower case." >&4
+ echo "Your tr is not acting any way I know of." >&4
+ exit 1
+ ;;
+esac
+: set up the translation script tr, must be called with ./tr of course
+cat >tr <<EOSC
+$startsh
+case "\$1\$2" in
+'[A-Z][a-z]') LC_ALL=C exec $tr '$up' '$low';;
+'[a-z][A-Z]') LC_ALL=C exec $tr '$low' '$up';;
+esac
+LC_ALL=C exec $tr "\$@"
+EOSC
+chmod +x tr
+$eunicefix tr
+
+: setup for possible cross-compilation
+run=''
+to=:
+from=:
+usecrosscompile='undef'
+targetarch=''
+case "$usecrosscompile" in
+$define|true|[yY]*)
+ echo "Cross-compilation is not supported for this package." >&4
+ exit 1
+ ;;
+esac
+
+: Determine the name of the machine
+myuname=`$uname -a 2>/dev/null`
+$test -z "$myuname" && myuname=`hostname 2>/dev/null`
+myuname=`echo $myuname | $sed -e 's/^[^=]*=//' -e 's/\///g' | \
+ ./tr '[A-Z]' '[a-z]' | $tr $trnl ' '`
+newmyuname="$myuname"
+has_uname=
+$test -f "$uname" && has_uname=y
+
+: Guessing of the OS name -- half the following guesses are probably wrong...
+: If you have better tests or hints, please send them to the metaconfig
+: authors and to Raphael_Manfredi@pobox.com
+$test -f /irix && osname=irix
+$test -f /xenix && osname=sco_xenix
+$test -f /dynix && osname=dynix
+$test -f /dnix && osname=dnix
+$test -f /lynx.os && osname=lynxos
+$test -f /unicos && osname=unicos && osvers=`$uname -r`
+$test -f /unicosmk && osname=unicosmk && osvers=`$uname -r`
+$test -f /unicosmk.ar && osname=unicosmk && osvers=`$uname -r`
+$test -f /bin/mips && /bin/mips && osname=mips
+$test -d /NextApps && set X `hostinfo | $grep 'NeXT Mach.*:' | \
+ $sed -e 's/://' -e 's/\./_/'` && osname=next && osvers=$4
+$test -d /usr/apollo/bin && osname=apollo
+$test -f /etc/saf/_sactab && osname=svr4
+$test -d /usr/include/minix && osname=minix
+$test -f /system/gnu_library/bin/ar.pm && osname=vos
+if $test -d /MachTen -o -d /MachTen_Folder; then
+ osname=machten
+ if $test -x /sbin/version; then
+ osvers=`/sbin/version | $awk '{print $2}' |
+ $sed -e 's/[A-Za-z]$//'`
+ elif $test -x /usr/etc/version; then
+ osvers=`/usr/etc/version | $awk '{print $2}' |
+ $sed -e 's/[A-Za-z]$//'`
+ else
+ osvers="$2.$3"
+ fi
+fi
+$test -f /sys/posix.dll &&
+ $test -f /usr/bin/what &&
+ set X `/usr/bin/what /sys/posix.dll` &&
+ $test "$3" = UWIN &&
+ osname=uwin &&
+ osvers="$5"
+if $test "X$has_uname" != X; then
+ set X $myuname
+ shift
+ case "$5" in
+ fps*) osname=fps ;;
+ mips*)
+ case "$4" in
+ umips) osname=umips ;;
+ *) osname=mips ;;
+ esac;;
+ [23]100) osname=mips ;;
+ next*) osname=next ;;
+ i386*)
+ tmp=`/bin/uname -X 2>/dev/null|awk '/3\.2v[45]/{ print $(NF) }'`
+ if $test "$tmp" != "" -a "$3" = "3.2" -a -f '/etc/systemid'; then
+ osname='sco'
+ osvers=$tmp
+ elif $test -f /etc/kconfig; then
+ osname=isc
+ if $test "$lns" = "$ln -s"; then
+ osvers=4
+ elif $contains _SYSV3 /usr/include/stdio.h > /dev/null 2>&1 ; then
+ osvers=3
+ elif $contains _POSIX_SOURCE /usr/include/stdio.h > /dev/null 2>&1
+ then
+ osvers=2
+ fi
+ fi
+ tmp=''
+ ;;
+ pc*)
+ if $test -n "$DJGPP"; then
+ osname=dos
+ osvers=djgpp
+ fi
+ ;;
+ esac
+ case "$1" in
+ aix) osname=aix
+ tmp=`( (oslevel) 2>/dev/null || echo "not found") 2>&1`
+ case "$tmp" in
+ 'not found') osvers="$4"."$3" ;;
+ '<3240'|'<>3240') osvers=3.2.0 ;;
+ '=3240'|'>3240'|'<3250'|'<>3250') osvers=3.2.4 ;;
+ '=3250'|'>3250') osvers=3.2.5 ;;
+ *) osvers=$tmp;;
+ esac
+ ;;
+ bsd386) osname=bsd386
+ osvers=`$uname -r`
+ ;;
+ cygwin*) osname=cygwin
+ osvers=`echo "$3" | sed -e 's/\(.*\)(.*/\1/'`
+ ;;
+ mingw*) osname=mingw
+ osvers=`echo "$3" | sed -e 's/\(.*\)(.*/\1/'`
+ ;;
+ *dc.osx) osname=dcosx
+ osvers="$3"
+ ;;
+ dnix) osname=dnix
+ osvers="$3"
+ ;;
+ domainos) osname=apollo
+ osvers="$3"
+ ;;
+ dgux) osname=dgux
+ osvers="$3"
+ ;;
+ dynixptx*) osname=dynixptx
+ osvers=`echo "$4"|sed 's/^v//'`
+ ;;
+ freebsd) osname=freebsd
+ osvers="$3" ;;
+ genix) osname=genix ;;
+ hp*) osname=hpux
+ osvers=`echo "$3" | $sed 's,.*\.\([0-9]*\.[0-9]*\),\1,'`
+ ;;
+ irix*) osname=irix
+ case "$3" in
+ 4*) osvers=4 ;;
+ 5*) osvers=5 ;;
+ *) osvers="$3" ;;
+ esac
+ ;;
+ linux) osname=linux
+ case "$3" in
+ *) osvers="$3" ;;
+ esac
+ ;;
+ MiNT) osname=mint
+ ;;
+ netbsd*) osname=netbsd
+ osvers="$3"
+ ;;
+ news-os) osvers="$3"
+ case "$3" in
+ 4*) osname=newsos4 ;;
+ *) osname=newsos ;;
+ esac
+ ;;
+ next*) osname=next ;;
+ nonstop-ux) osname=nonstopux ;;
+ openbsd) osname=openbsd
+ osvers="$3"
+ ;;
+ POSIX-BC | posix-bc ) osname=posix-bc
+ osvers="$3"
+ ;;
+ powerux | power_ux | powermax_os | powermaxos | \
+ powerunix | power_unix) osname=powerux
+ osvers="$3"
+ ;;
+ qnx) osname=qnx
+ osvers="$4"
+ ;;
+ solaris) osname=solaris
+ case "$3" in
+ 5*) osvers=`echo $3 | $sed 's/^5/2/g'` ;;
+ *) osvers="$3" ;;
+ esac
+ ;;
+ sunos) osname=sunos
+ case "$3" in
+ 5*) osname=solaris
+ osvers=`echo $3 | $sed 's/^5/2/g'` ;;
+ *) osvers="$3" ;;
+ esac
+ ;;
+ titanos) osname=titanos
+ case "$3" in
+ 1*) osvers=1 ;;
+ 2*) osvers=2 ;;
+ 3*) osvers=3 ;;
+ 4*) osvers=4 ;;
+ *) osvers="$3" ;;
+ esac
+ ;;
+ ultrix) osname=ultrix
+ osvers="$3"
+ ;;
+ osf1|mls+) case "$5" in
+ alpha)
+ osname=dec_osf
+ osvers=`sizer -v | awk '{print $3}' | \
+ ./tr '[A-Z]' '[a-z]' | sed 's/^[xvt]//'`
+ case "$osvers" in
+ [1-9].[0-9]*) ;;
+ *) osvers=`echo "$3" | sed 's/^[xvt]//'` ;;
+ esac
+ ;;
+ hp*) osname=hp_osf1 ;;
+ mips) osname=mips_osf1 ;;
+ esac
+ ;;
+ unixware) osname=svr5
+ osvers="$4"
+ ;;
+ uts) osname=uts
+ osvers="$3"
+ ;;
+ vos) osvers="$3"
+ ;;
+ $2) case "$osname" in
+ *isc*) ;;
+ *freebsd*) ;;
+ svr*)
+ : svr4.x or possibly later
+ case "svr$3" in
+ ${osname}*)
+ osname=svr$3
+ osvers=$4
+ ;;
+ esac
+ case "$osname" in
+ svr4.0)
+ : Check for ESIX
+ if $test -f /stand/boot ; then
+ eval `$grep '^INITPROG=[a-z/0-9]*$' /stand/boot`
+ if $test -n "$INITPROG" -a -f "$INITPROG"; then
+ isesix=`strings -a $INITPROG | \
+ $grep 'ESIX SYSTEM V/386 Release 4.0'`
+ if $test -n "$isesix"; then
+ osname=esix4
+ fi
+ fi
+ fi
+ ;;
+ esac
+ ;;
+ *) if $test -f /etc/systemid; then
+ osname=sco
+ set `echo $3 | $sed 's/\./ /g'` $4
+ if $test -f $src/hints/sco_$1_$2_$3.sh; then
+ osvers=$1.$2.$3
+ elif $test -f $src/hints/sco_$1_$2.sh; then
+ osvers=$1.$2
+ elif $test -f $src/hints/sco_$1.sh; then
+ osvers=$1
+ fi
+ else
+ case "$osname" in
+ '') : Still unknown. Probably a generic Sys V.
+ osname="sysv"
+ osvers="$3"
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ ;;
+ *) case "$osname" in
+ '') : Still unknown. Probably a generic BSD.
+ osname="$1"
+ osvers="$3"
+ ;;
+ esac
+ ;;
+ esac
+else
+ if $test -f /vmunix -a -f $src/hints/news_os.sh; then
+ (what /vmunix | UU/tr '[A-Z]' '[a-z]') > UU/kernel.what 2>&1
+ if $contains news-os UU/kernel.what >/dev/null 2>&1; then
+ osname=news_os
+ fi
+ $rm -f UU/kernel.what
+ elif $test -d c:/.; then
+ set X $myuname
+ osname=os2
+ osvers="$5"
+ fi
+fi
+
+: Try to determine whether config.sh was made on this system
+case "$config_sh" in
+'')
+dflt=n
+case "$knowitall" in
+'')
+ if test -f ../config.sh; then
+ if $contains myuname= ../config.sh >/dev/null 2>&1; then
+ eval "`$grep myuname= ../config.sh`"
+ fi
+ if test "X$myuname" = "X$newmyuname"; then
+ dflt=y
+ fi
+ fi
+ ;;
+*) dflt=y;;
+esac
+
+saved_osname="$osname"
+saved_osvers="$osvers"
+tmp_n="$n"
+tmp_c="$c"
+tmp_sh="$sh"
+
+: Get old answers from config file if it was generated on the same system
+hint=default
+if $test -f ../config.sh; then
+ echo " "
+ rp="I see a config.sh file. Shall I use it to set the defaults?"
+ . ./myread
+ case "$ans" in
+ n*|N*) echo "OK, I'll ignore it."
+ mv ../config.sh ../config.sh.old
+ myuname="$newmyuname"
+ ;;
+ *) echo "Fetching default answers from your old config.sh file..." >&4
+ . ../config.sh
+ cp ../config.sh .
+ hint=previous
+ case "$dflt" in
+ n)
+ echo " "
+ rp="Do you want further invocations to use these defaults?"
+ . ./myread
+ case "$ans" in
+ y*|Y*) myuname="$newmyuname";;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+fi
+;;
+*)
+ echo " "
+ echo "Fetching default answers from $config_sh..." >&4
+ cd ..
+ cp $config_sh config.sh 2>/dev/null
+ chmod +w config.sh
+ . ./config.sh
+ cd UU
+ cp ../config.sh .
+ hint=previous
+ ;;
+esac
+case "$sh" in
+'') sh="$tmp_sh" ;;
+esac
+$test "$override" && . ./optdef.sh
+
+: Restore computed paths
+for file in $loclist $trylist; do
+ eval $file="\$_$file"
+done
+
+osname="$saved_osname"
+osvers="$saved_osvers"
+n="$tmp_n"
+c="$tmp_c"
+
+. ./checkcc
+case "$targetarch" in
+'') ;;
+*) hostarch=$osname
+ osname=`echo $targetarch|sed 's,^[^-]*-,,'`
+ osvers=''
+ ;;
+esac
+
+: Process their -A options
+. ./posthint.sh
+
+: Ask them to confirm the OS name
+cat << EOM
+
+Configure uses the operating system name and version to set some defaults.
+The default value is probably right if the name rings a bell. Otherwise,
+since spelling matters for me, either accept the default or answer "none"
+to leave it blank.
+
+EOM
+case "$osname" in
+ ''|' ')
+ case "$hintfile" in
+ ''|' '|none) dflt=none ;;
+ *) dflt=`echo $hintfile | $sed -e 's/\.sh$//' -e 's/_.*$//'` ;;
+ esac
+ ;;
+ *) dflt="$osname" ;;
+esac
+rp="Operating system name?"
+. ./myread
+case "$ans" in
+none) osname='' ;;
+*) osname=`echo "$ans" | $sed -e 's/[ ][ ]*/_/g' | ./tr '[A-Z]' '[a-z]'`;;
+esac
+echo " "
+case "$osvers" in
+ ''|' ')
+ case "$hintfile" in
+ ''|' '|none) dflt=none ;;
+ *) dflt=`echo $hintfile | $sed -e 's/\.sh$//' -e 's/^[^_]*//'`
+ dflt=`echo $dflt | $sed -e 's/^_//' -e 's/_/./g'`
+ case "$dflt" in
+ ''|' ') dflt=none ;;
+ esac
+ ;;
+ esac
+ ;;
+ *) dflt="$osvers" ;;
+esac
+rp="Operating system version?"
+. ./myread
+case "$ans" in
+none) osvers='' ;;
+*) osvers="$ans" ;;
+esac
+
+: who configured the system
+cf_time=`LC_ALL=C; LANGUAGE=C; export LC_ALL; export LANGUAGE; $date 2>&1`
+cf_by=`(logname) 2>/dev/null`
+case "$cf_by" in
+"")
+ cf_by=`(whoami) 2>/dev/null`
+ case "$cf_by" in
+ "") cf_by=unknown ;;
+ esac ;;
+esac
+
+: allow them to override the AFS root
+case "$afsroot" in
+'') afsroot=/afs ;;
+*) afsroot=$afsroot ;;
+esac
+
+: is AFS running?
+echo " "
+case "$afs" in
+$define|true) afs=true ;;
+$undef|false) afs=false ;;
+*) if $test -d $afsroot; then
+ afs=true
+ else
+ afs=false
+ fi
+ ;;
+esac
+if $afs; then
+ echo "AFS may be running... I'll be extra cautious then..." >&4
+else
+ echo "AFS does not seem to be running..." >&4
+fi
+
+: determine where manual pages are on this system
+echo " "
+case "$sysman" in
+'')
+ syspath='/usr/share/man/man1 /usr/man/man1'
+ syspath="$syspath /usr/man/mann /usr/man/manl /usr/man/local/man1"
+ syspath="$syspath /usr/man/u_man/man1 /usr/share/man/man1"
+ syspath="$syspath /usr/catman/u_man/man1 /usr/man/l_man/man1"
+ syspath="$syspath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1"
+ syspath="$syspath /usr/man/man.L /local/man/man1 /usr/local/man/man1"
+ sysman=`./loc . /usr/man/man1 $syspath`
+ ;;
+esac
+if $test -d "$sysman"; then
+ echo "System manual is in $sysman." >&4
+else
+ echo "Could not find manual pages in source form." >&4
+fi
+
+: decide how portable to be
+case "$d_portable" in
+"$define") dflt=y;;
+*) dflt=n;;
+esac
+$cat <<'EOH'
+
+I can set things up so that your shell scripts and binaries are more portable,
+at what may be a noticable cost in performance. In particular, if you
+ask to be portable, the following happens:
+
+ 1) Shell scripts will rely on the PATH variable rather than using
+ the paths derived above.
+ 2) ~username interpretations will be done at run time rather than
+ by Configure.
+
+EOH
+rp="Do you expect to run these scripts and binaries on multiple machines?"
+. ./myread
+case "$ans" in
+ y*) d_portable="$define"
+ ;;
+ *) d_portable="$undef" ;;
+esac
+
+: set up shell script to do ~ expansion
+cat >filexp <<EOSS
+$startsh
+: expand filename
+case "\$1" in
+ ~/*|~)
+ echo \$1 | $sed "s|~|\${HOME-\$LOGDIR}|"
+ ;;
+ ~*)
+ if $test -f /bin/csh; then
+ /bin/csh -f -c "glob \$1"
+ failed=\$?
+ echo ""
+ exit \$failed
+ else
+ name=\`$expr x\$1 : '..\([^/]*\)'\`
+ dir=\`$sed -n -e "/^\${name}:/{s/^[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:\([^:]*\).*"'\$'"/\1/" -e p -e q -e '}' </etc/passwd\`
+ if $test ! -d "\$dir"; then
+ me=\`basename \$0\`
+ echo "\$me: can't locate home directory for: \$name" >&2
+ exit 1
+ fi
+ case "\$1" in
+ */*)
+ echo \$dir/\`$expr x\$1 : '..[^/]*/\(.*\)'\`
+ ;;
+ *)
+ echo \$dir
+ ;;
+ esac
+ fi
+ ;;
+*)
+ echo \$1
+ ;;
+esac
+EOSS
+chmod +x filexp
+$eunicefix filexp
+
+: now set up to get a file name
+cat <<EOS >getfile
+$startsh
+EOS
+cat <<'EOSC' >>getfile
+tilde=''
+fullpath=''
+already=''
+skip=''
+none_ok=''
+exp_file=''
+nopath_ok=''
+orig_rp="$rp"
+orig_dflt="$dflt"
+case "$gfpth" in
+'') gfpth='.' ;;
+esac
+
+case "$fn" in
+*\(*)
+ : getfile will accept an answer from the comma-separated list
+ : enclosed in parentheses even if it does not meet other criteria.
+ expr "$fn" : '.*(\(.*\)).*' | $tr ',' $trnl >getfile.ok
+ fn=`echo $fn | sed 's/(.*)//'`
+ ;;
+esac
+
+case "$fn" in
+*:*)
+ loc_file=`expr $fn : '.*:\(.*\)'`
+ fn=`expr $fn : '\(.*\):.*'`
+ ;;
+esac
+
+case "$fn" in
+*~*) tilde=true;;
+esac
+case "$fn" in
+*/*) fullpath=true;;
+esac
+case "$fn" in
+*+*) skip=true;;
+esac
+case "$fn" in
+*n*) none_ok=true;;
+esac
+case "$fn" in
+*e*) exp_file=true;;
+esac
+case "$fn" in
+*p*) nopath_ok=true;;
+esac
+
+case "$fn" in
+*f*) type='File';;
+*d*) type='Directory';;
+*l*) type='Locate';;
+esac
+
+what="$type"
+case "$what" in
+Locate) what='File';;
+esac
+
+case "$exp_file" in
+'')
+ case "$d_portable" in
+ "$define") ;;
+ *) exp_file=true;;
+ esac
+ ;;
+esac
+
+cd ..
+while test "$type"; do
+ redo=''
+ rp="$orig_rp"
+ dflt="$orig_dflt"
+ case "$tilde" in
+ true) rp="$rp (~name ok)";;
+ esac
+ . UU/myread
+ if test -f UU/getfile.ok && \
+ $contains "^$ans\$" UU/getfile.ok >/dev/null 2>&1
+ then
+ value="$ans"
+ ansexp="$ans"
+ break
+ fi
+ case "$ans" in
+ none)
+ value=''
+ ansexp=''
+ case "$none_ok" in
+ true) type='';;
+ esac
+ ;;
+ *)
+ case "$tilde" in
+ '') value="$ans"
+ ansexp="$ans";;
+ *)
+ value=`UU/filexp $ans`
+ case $? in
+ 0)
+ if test "$ans" != "$value"; then
+ echo "(That expands to $value on this system.)"
+ fi
+ ;;
+ *) value="$ans";;
+ esac
+ ansexp="$value"
+ case "$exp_file" in
+ '') value="$ans";;
+ esac
+ ;;
+ esac
+ case "$fullpath" in
+ true)
+ case "$ansexp" in
+ /*) value="$ansexp" ;;
+ [a-zA-Z]:/*) value="$ansexp" ;;
+ [a-zA-Z]:\\*) value="$ansexp" ;;
+ *)
+ redo=true
+ case "$already" in
+ true)
+ echo "I shall only accept a full path name, as in /bin/ls." >&4
+ echo "Use a ! shell escape if you wish to check pathnames." >&4
+ ;;
+ *)
+ echo "Please give a full path name, starting with slash." >&4
+ case "$tilde" in
+ true)
+ echo "Note that using ~name is ok provided it expands well." >&4
+ already=true
+ ;;
+ esac
+ esac
+ ;;
+ esac
+ ;;
+ esac
+ case "$redo" in
+ '')
+ case "$type" in
+ File)
+ for fp in $gfpth; do
+ if test "X$fp" = X.; then
+ pf="$ansexp"
+ else
+ pf="$fp/$ansexp"
+ fi
+ if test -f "$pf"; then
+ type=''
+ elif test -r "$pf" || (test -h "$pf") >/dev/null 2>&1
+ then
+ echo "($value is not a plain file, but that's ok.)"
+ type=''
+ fi
+ if test X"$type" = X; then
+ value="$pf"
+ break
+ fi
+ done
+ ;;
+ Directory)
+ for fp in $gfpth; do
+ if test "X$fp" = X.; then
+ dir="$ans"
+ direxp="$ansexp"
+ else
+ dir="$fp/$ansexp"
+ direxp="$fp/$ansexp"
+ fi
+ if test -d "$direxp"; then
+ type=''
+ value="$dir"
+ break
+ fi
+ done
+ ;;
+ Locate)
+ if test -d "$ansexp"; then
+ echo "(Looking for $loc_file in directory $value.)"
+ value="$value/$loc_file"
+ ansexp="$ansexp/$loc_file"
+ fi
+ if test -f "$ansexp"; then
+ type=''
+ fi
+ case "$nopath_ok" in
+ true) case "$value" in
+ */*) ;;
+ *) echo "Assuming $value will be in people's path."
+ type=''
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+
+ case "$skip" in
+ true) type='';
+ esac
+
+ case "$type" in
+ '') ;;
+ *)
+ if test "$fastread" = yes; then
+ dflt=y
+ else
+ dflt=n
+ fi
+ rp="$what $value doesn't exist. Use that name anyway?"
+ . UU/myread
+ dflt=''
+ case "$ans" in
+ y*) type='';;
+ *) echo " ";;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+done
+cd UU
+ans="$value"
+rp="$orig_rp"
+dflt="$orig_dflt"
+rm -f getfile.ok
+test "X$gfpthkeep" != Xy && gfpth=""
+EOSC
+
+: determine root of directory hierarchy where package will be installed.
+case "$prefix" in
+'')
+ dflt=`./loc . /usr/local /usr/local /local /opt /usr`
+ ;;
+*)
+ dflt="$prefix"
+ ;;
+esac
+$cat <<EOM
+
+By default, $package will be installed in $dflt/bin, manual
+pages under $dflt/man, etc..., i.e. with $dflt as prefix for
+all installation directories. Typically set to /usr/local, but you
+may choose /usr if you wish to install $package among your system
+binaries. If you wish to have binaries under /bin but manual pages
+under /usr/local/man, that's ok: you will be prompted separately
+for each of the installation directories, the prefix being only used
+to set the defaults.
+
+EOM
+fn=d~
+rp='Installation prefix to use?'
+. ./getfile
+oldprefix=''
+case "$prefix" in
+'') ;;
+*)
+ case "$ans" in
+ "$prefix") ;;
+ *) oldprefix="$prefix";;
+ esac
+ ;;
+esac
+prefix="$ans"
+prefixexp="$ansexp"
+
+: set the prefixit variable, to compute a suitable default value
+prefixit='case "$3" in
+""|none)
+ case "$oldprefix" in
+ "") eval "$1=\"\$$2\"";;
+ *)
+ case "$3" in
+ "") eval "$1=";;
+ none)
+ eval "tp=\"\$$2\"";
+ case "$tp" in
+ ""|" ") eval "$1=\"\$$2\"";;
+ *) eval "$1=";;
+ esac;;
+ esac;;
+ esac;;
+*)
+ eval "tp=\"$oldprefix-\$$2-\""; eval "tp=\"$tp\"";
+ case "$tp" in
+ --|/*--|\~*--) eval "$1=\"$prefix/$3\"";;
+ /*-$oldprefix/*|\~*-$oldprefix/*)
+ eval "$1=\`echo \$$2 | sed \"s,^$oldprefix,$prefix,\"\`";;
+ *) eval "$1=\"\$$2\"";;
+ esac;;
+esac'
+
+: set the prefixup variable, to restore leading tilda escape
+prefixup='case "$prefixexp" in
+"$prefix") ;;
+*) eval "$1=\`echo \$$1 | sed \"s,^$prefixexp,$prefix,\"\`";;
+esac'
+
+: determine where manual pages go
+set mansrc mansrc none
+eval $prefixit
+$cat <<EOM
+
+$spackage has manual pages available in source form.
+EOM
+case "$nroff" in
+nroff)
+ echo "However, you don't have nroff, so they're probably useless to you."
+ case "$mansrc" in
+ '') mansrc="none";;
+ esac;;
+esac
+echo "If you don't want the manual sources installed, answer 'none'."
+case "$mansrc" in
+'')
+ lookpath="$prefixexp/share/man/man1 $prefixexp/man/man1"
+ lookpath="$lookpath $prefixexp/man/u_man/man1 $prefixexp/man/l_man/man1"
+ lookpath="$lookpath /usr/local/man/man1 /opt/man/man1 /usr/man/manl"
+ lookpath="$lookpath /usr/share/man/man1 /usr/local/share/man/man1"
+ lookpath="$lookpath /usr/man/local/man1 /usr/man/l_man/man1"
+ lookpath="$lookpath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1"
+ lookpath="$lookpath /usr/man/man.L"
+ mansrc=`./loc . $prefixexp/man/man1 $lookpath`
+ if $test -d "$mansrc"; then
+ dflt="$mansrc"
+ else
+ dflt="$sysman"
+ fi
+ set dflt
+ eval $prefixup
+ ;;
+' ') dflt=none;;
+*) dflt="$mansrc"
+ ;;
+esac
+echo " "
+fn=dn~
+rp='Where do the manual pages (source) go?'
+. ./getfile
+if test "X$mansrcexp" != "X$ansexp"; then
+ installmansrc=''
+fi
+mansrc="$ans"
+mansrcexp="$ansexp"
+case "$mansrc" in
+'') mansrc=' '
+ installmansrc='';;
+esac
+if $afs && $test "$mansrc"; then
+ $cat <<EOM
+
+Since you are running AFS, I need to distinguish the directory in which
+manual pages reside from the directory in which they are installed (and from
+which they are presumably copied to the former directory by occult means).
+
+EOM
+ case "$installmansrc" in
+ '') dflt=`echo $mansrcexp | sed 's#^/afs/#/afs/.#'`;;
+ *) dflt="$installmansrc";;
+ esac
+ fn=de~
+ rp='Where will man pages be installed?'
+ . ./getfile
+ installmansrc="$ans"
+else
+ installmansrc="$mansrcexp"
+fi
+
+case "$mansrc" in
+' ') manext='0';;
+*l) manext=l;;
+*n) manext=n;;
+*o) manext=l;;
+*p) manext=n;;
+*C) manext=C;;
+*L) manext=L;;
+*L1) manext=L1;;
+*) manext=1;;
+esac
+
+: determine where private executables go
+set dflt privlib lib/$package
+eval $prefixit
+$cat <<EOM
+
+There are some auxiliary files for $package that need to be put into a
+private library directory that is accessible by everyone.
+
+EOM
+fn=d~+
+rp='Pathname where the private library files will reside?'
+. ./getfile
+if $test "X$privlibexp" != "X$ansexp"; then
+ installprivlib=''
+fi
+privlib="$ans"
+privlibexp="$ansexp"
+if $afs; then
+ $cat <<EOM
+
+Since you are running AFS, I need to distinguish the directory in which
+private files reside from the directory in which they are installed (and from
+which they are presumably copied to the former directory by occult means).
+
+EOM
+ case "$installprivlib" in
+ '') dflt=`echo $privlibexp | sed 's#^/afs/#/afs/.#'`;;
+ *) dflt="$installprivlib";;
+ esac
+ fn=de~
+ rp='Where will private files be installed?'
+ . ./getfile
+ installprivlib="$ans"
+else
+ installprivlib="$privlibexp"
+fi
+
+: determine where public executable scripts go
+set scriptdir scriptdir
+eval $prefixit
+case "$scriptdir" in
+'')
+ dflt="$bin"
+ : guess some guesses
+ $test -d /usr/share/scripts && dflt=/usr/share/scripts
+ $test -d /usr/share/bin && dflt=/usr/share/bin
+ $test -d /usr/local/script && dflt=/usr/local/script
+ $test -d $prefixexp/script && dflt=$prefixexp/script
+ set dflt
+ eval $prefixup
+ ;;
+*) dflt="$scriptdir"
+ ;;
+esac
+$cat <<EOM
+
+Some installations have a separate directory just for executable scripts so
+that they can mount it across multiple architectures but keep the scripts in
+one spot. You might, for example, have a subdirectory of /usr/share for this.
+Or you might just lump your scripts in with all your other executables.
+
+EOM
+fn=d~
+rp='Where do you keep publicly executable scripts?'
+. ./getfile
+if $test "X$ansexp" != "X$scriptdirexp"; then
+ installscript=''
+fi
+scriptdir="$ans"
+scriptdirexp="$ansexp"
+if $afs; then
+ $cat <<EOM
+
+Since you are running AFS, I need to distinguish the directory in which
+scripts reside from the directory in which they are installed (and from
+which they are presumably copied to the former directory by occult means).
+
+EOM
+ case "$installscript" in
+ '') dflt=`echo $scriptdirexp | sed 's#^/afs/#/afs/.#'`;;
+ *) dflt="$installscript";;
+ esac
+ fn=de~
+ rp='Where will public scripts be installed?'
+ . ./getfile
+ installscript="$ans"
+else
+ installscript="$scriptdirexp"
+fi
+
+: preserve RCS keywords in files with variable substitution, grrr
+Header='$Header'
+Id='$Id'
+Log='$Log'
+
+: Define several unixisms.
+: Hints files or command line option can be used to override them.
+case "$_a" in
+'') _a='.a';;
+esac
+case "$_o" in
+'') _o='.o';;
+esac
+
+: set the base revision
+baserev=3.5
+
+: make some quick guesses about what we are up against
+echo " "
+$echo $n "Hmm... $c"
+echo exit 1 >bsd
+echo exit 1 >usg
+echo exit 1 >v7
+echo exit 1 >osf1
+echo exit 1 >eunice
+echo exit 1 >xenix
+echo exit 1 >venix
+echo exit 1 >os2
+echo exit 1 >gnu
+echo exit 1 >linux
+echo exit 1 >dos
+echo exit 1 >windows
+d_bsd="$undef"
+d_linux="$undef"
+d_dos="$undef"
+d_os2="$undef"
+d_windows="$undef"
+$cat /usr/include/signal.h /usr/include/sys/signal.h >foo 2>/dev/null
+if test -f /osf_boot || $contains 'OSF/1' /usr/include/ctype.h >/dev/null 2>&1
+then
+ echo "Looks kind of like an OSF/1 system, but we'll see..."
+ echo exit 0 >osf1
+elif test `echo abc | $tr a-z A-Z` = Abc ; then
+ xxx=`./loc addbib blurfl $pth`
+ if $test -f $xxx; then
+ echo "Looks kind of like a USG system with BSD features, but we'll see..."
+ echo exit 0 >bsd
+ echo exit 0 >usg
+ else
+ if $contains SIGTSTP foo >/dev/null 2>&1 ; then
+ echo "Looks kind of like an extended USG system, but we'll see..."
+ else
+ echo "Looks kind of like a USG system, but we'll see..."
+ fi
+ echo exit 0 >usg
+ fi
+elif $contains SIGTSTP foo >/dev/null 2>&1 ; then
+ echo "Looks kind of like a BSD system, but we'll see..."
+ d_bsd="$define"
+ echo exit 0 >bsd
+elif
+ $rm --version 2>/dev/null >foo;
+ $contains "Free Software Foundation" foo >/dev/null
+then
+ xxx=`uname`
+ echo exit 0 >gnu
+ echo "Looks kind of like a GNU/$xxx system, but we'll see..."
+ if $test X$xxx = XLinux; then
+ d_linux="$define"
+ echo exit 0 >linux
+ fi
+else
+ echo "Looks kind of like a Version 7 system, but we'll see..."
+ echo exit 0 >v7
+fi
+case "$eunicefix" in
+*unixtovms*)
+ $cat <<'EOI'
+There is, however, a strange, musty smell in the air that reminds me of
+something...hmm...yes...I've got it...there's a VMS nearby, or I'm a Blit.
+EOI
+ echo exit 0 >eunice
+ d_eunice="$define"
+: it so happens the Eunice I know will not run shell scripts in Unix format
+ ;;
+*)
+ echo " "
+ echo "Congratulations. You aren't running Eunice."
+ d_eunice="$undef"
+ ;;
+esac
+if test -d c:/.; then
+ case "X${MACHTYPE:-nonesuchmach}" in
+ *cygwin) echo " "; echo "Hah!... you're running under Cygwin!";;
+ *msys) echo " "; echo "Hah!... you're running under MinGW!";;
+ esac
+ case "X${MACHTYPE:-nonesuchmach}" in
+ *cygwin|*msys)
+ echo exit 0 >windows
+ d_windows="$define"
+ ;;
+ esac
+fi
+case "$p_" in
+:) ;;
+*)
+ $cat <<'EOI'
+I have the feeling something is not exactly right, however...don't tell me...
+EOI
+ if test -n "$DJGPP"; then
+ echo exit 0 >dos
+ d_dos="$define"
+ else
+ $cat <<'EOI'
+lemme think...does HAL ring a bell?...no, of course, you're only running OS/2!
+EOI
+ echo exit 0 >os2
+ d_os2="$define"
+ fi
+ ;;
+esac
+if test -f /xenix; then
+ echo "Actually, this looks more like a XENIX system..."
+ echo exit 0 >xenix
+ d_xenix="$define"
+else
+ echo " "
+ echo "It's not Xenix..."
+ d_xenix="$undef"
+fi
+chmod +x xenix
+$eunicefix xenix
+if test -f /venix; then
+ echo "Actually, this looks more like a VENIX system..."
+ echo exit 0 >venix
+else
+ echo " "
+ if ./xenix; then
+ : null
+ else
+ echo "Nor is it Venix..."
+ fi
+fi
+chmod +x bsd usg v7 osf1 eunice xenix venix dos os2 gnu linux windows
+$eunicefix bsd usg v7 osf1 eunice xenix venix dos os2 gnu linux windows
+$rm -f foo
+
+: What should the include directory be ?
+echo " "
+$echo $n "Hmm... $c"
+incpath=''
+mips_type=''
+if $test -f /bin/mips && /bin/mips; then
+ echo "Looks like a MIPS system..."
+ $cat >usr.c <<'EOCP'
+#ifdef SYSTYPE_BSD43
+/bsd43
+#endif
+EOCP
+ if cc -E usr.c > usr.out && $contains / usr.out >/dev/null 2>&1; then
+ dflt='/bsd43/usr/include'
+ incpath='/bsd43'
+ mips_type='BSD 4.3'
+ else
+ mips_type='System V'
+ fi
+ $rm -f usr.c usr.out
+ echo "and you're compiling with the $mips_type compiler and libraries."
+ echo "exit 0" >mips
+else
+ echo "Doesn't look like a MIPS system."
+ echo "exit 1" >mips
+fi
+chmod +x mips
+$eunicefix mips
+
+: What should the include directory be ?
+echo " "
+dflt='/usr/include'
+case "$usrinc" in
+'') dflt="$incpath/usr/include";;
+*) dflt="$usrinc";;
+esac
+fn=d/
+rp='Where are the include files you want to use?'
+. ./getfile
+usrinc="$ans"
+
+: see if we have to deal with yellow pages, now NIS.
+if $test -d /usr/etc/yp || $test -d /etc/yp || $test -d /usr/lib/yp; then
+ if $test -f /usr/etc/nibindd; then
+ echo " "
+ echo "I'm fairly confident you're on a NeXT."
+ echo " "
+ rp='Do you get the hosts file via NetInfo?'
+ dflt=y
+ case "$hostcat" in
+ nidump*) ;;
+ '') ;;
+ *) dflt=n;;
+ esac
+ . ./myread
+ case "$ans" in
+ y*) hostcat='nidump hosts .';;
+ *) case "$hostcat" in
+ nidump*) hostcat='';;
+ esac
+ ;;
+ esac
+ fi
+ case "$hostcat" in
+ nidump*) ;;
+ *)
+ case "$hostcat" in
+ *ypcat*) dflt=y;;
+ '') if $contains '^\+' /etc/passwd >/dev/null 2>&1; then
+ dflt=y
+ else
+ dflt=n
+ fi;;
+ *) dflt=n;;
+ esac
+ echo " "
+ rp='Are you getting the hosts file via yellow pages?'
+ . ./myread
+ case "$ans" in
+ y*) hostcat='ypcat hosts';;
+ *) hostcat='cat /etc/hosts';;
+ esac
+ ;;
+ esac
+fi
+case "$hostcat" in
+'') hostcat=':'
+ $test -f /etc/hosts && hostcat='cat /etc/hosts';;
+esac
+case "$groupcat" in
+'') groupcat=':'
+ $test -f /etc/group && groupcat='cat /etc/group';;
+esac
+case "$passcat" in
+'') passcat=':'
+ $test -f /etc/passwd && passcat='cat /etc/passwd';;
+esac
+
+: now get the host name
+echo " "
+echo "Figuring out host name..." >&4
+case "$myhostname" in
+'') cont=true
+ echo 'Maybe "hostname" will work...'
+ if tans=`sh -c hostname 2>&1` ; then
+ myhostname=$tans
+ phostname=hostname
+ cont=''
+ fi
+ ;;
+*) cont='';;
+esac
+if $test "$cont"; then
+ if ./xenix; then
+ echo 'Oh, dear. Maybe "/etc/systemid" is the key...'
+ if tans=`cat /etc/systemid 2>&1` ; then
+ myhostname=$tans
+ phostname='cat /etc/systemid'
+ echo "Whadyaknow. Xenix always was a bit strange..."
+ cont=''
+ fi
+ elif $test -r /etc/systemid; then
+ echo "(What is a non-Xenix system doing with /etc/systemid?)"
+ fi
+fi
+if $test "$cont"; then
+ echo 'No, maybe "uuname -l" will work...'
+ if tans=`sh -c 'uuname -l' 2>&1` ; then
+ myhostname=$tans
+ phostname='uuname -l'
+ else
+ echo 'Strange. Maybe "uname -n" will work...'
+ if tans=`sh -c 'uname -n' 2>&1` ; then
+ myhostname=$tans
+ phostname='uname -n'
+ else
+ echo 'Oh well, maybe I can mine it out of whoami.h...'
+ if tans=`sh -c $contains' sysname $usrinc/whoami.h' 2>&1` ; then
+ myhostname=`echo "$tans" | $sed 's/^.*"\(.*\)"/\1/'`
+ phostname="sed -n -e '"'/sysname/s/^.*\"\\(.*\\)\"/\1/{'"' -e p -e q -e '}' <$usrinc/whoami.h"
+ else
+ case "$myhostname" in
+ '') echo "Does this machine have an identity crisis or something?"
+ phostname='';;
+ *)
+ echo "Well, you said $myhostname before..."
+ phostname='echo $myhostname';;
+ esac
+ fi
+ fi
+ fi
+fi
+case "$myhostname" in
+'') myhostname=noname ;;
+esac
+: you do not want to know about this
+set $myhostname
+myhostname=$1
+
+: verify guess
+if $test "$myhostname" ; then
+ dflt=y
+ rp='Your host name appears to be "'$myhostname'".'" Right?"
+ . ./myread
+ case "$ans" in
+ y*) ;;
+ *) myhostname='';;
+ esac
+fi
+
+: bad guess or no guess
+while $test "X$myhostname" = X ; do
+ dflt=''
+ rp="Please type the (one word) name of your host:"
+ . ./myread
+ myhostname="$ans"
+done
+
+: translate upper to lower if necessary
+case "$myhostname" in
+*[A-Z]*)
+ echo "(Normalizing case in your host name)"
+ myhostname=`echo $myhostname | ./tr '[A-Z]' '[a-z]'`
+ ;;
+esac
+
+case "$myhostname" in
+*.*)
+ dflt=`expr "X$myhostname" : "X[^.]*\(\..*\)"`
+ myhostname=`expr "X$myhostname" : "X\([^.]*\)\."`
+ echo "(Trimming domain name from host name--host name is now $myhostname)"
+ ;;
+*) case "$mydomain" in
+ '')
+ {
+ test "X$hostcat" = "Xypcat hosts" &&
+ ypmatch "$myhostname" hosts 2>/dev/null |\
+ $sed -e 's/[ ]*#.*//; s/$/ /' > hosts && \
+ $test -s hosts
+ } || {
+ $hostcat | $sed -n -e "s/[ ]*#.*//; s/\$/ /
+ /[ ]$myhostname[ . ]/p" > hosts
+ }
+ tmp_re="[ . ]"
+ $test x`$awk "/[0-9].*[ ]$myhostname$tmp_re/ { sum++ }
+ END { print sum }" hosts` = x1 || tmp_re="[ ]"
+ dflt=.`$awk \
+ "/[0-9].*[ ]$myhostname$tmp_re/ {for(i=2; i<=NF;i++) print \\\$i}" \
+ hosts | $sort | $uniq | \
+ $sed -n -e "s/$myhostname\.\([-a-zA-Z0-9_.]\)/\1/p"`
+ case `$echo X$dflt` in
+ X*\ *) echo "(Several hosts in /etc/hosts matched hostname)"
+ dflt=.
+ ;;
+ X.)
+ if $test -f /etc/hosts; then
+ echo "(You do not have fully-qualified names in /etc/hosts)"
+ else
+ echo "(I cannot locate a hosts database anywhere)"
+ fi
+ ;;
+ esac
+ case "$dflt" in
+ .)
+ tans=`./loc resolv.conf X /etc /usr/etc`
+ if $test -f "$tans"; then
+ echo "(Attempting domain name extraction from $tans)"
+ dflt=.`$sed -n -e 's/ / /g' \
+ -e 's/^search *\([^ ]*\).*/\1/p' $tans \
+ | ./tr '[A-Z]' '[a-z]' 2>/dev/null`
+ case "$dflt" in
+ .) dflt=.`$sed -n -e 's/ / /g' \
+ -e 's/^domain *\([^ ]*\).*/\1/p' $tans \
+ | ./tr '[A-Z]' '[a-z]' 2>/dev/null`
+ ;;
+ esac
+ fi
+ ;;
+ esac
+ case "$dflt" in
+ .) echo "(No help from resolv.conf either -- attempting clever guess)"
+ dflt=.`sh -c domainname 2>/dev/null`
+ case "$dflt" in
+ '') dflt='.';;
+ .nis.*|.yp.*|.main.*) dflt=`echo $dflt | $sed -e 's/^\.[^.]*//'`;;
+ esac
+ ;;
+ esac
+ case "$dflt$osname" in
+ .os390)
+ file="//'SYS1.TCPPARMS(TCPDATA)'"
+ echo "(Attempting domain name extraction from $file)"
+ dflt=.`awk '/^DOMAINORIGIN/ {print $2}' "$file" 2>/dev/null`
+ ;;
+ esac
+ case "$dflt" in
+ .) echo "(Lost all hope -- silly guess then)"
+ dflt='.nonet'
+ ;;
+ esac
+ $rm -f hosts
+ ;;
+ *) dflt="$mydomain";;
+ esac;;
+esac
+echo " "
+rp="What is your domain name?"
+. ./myread
+tans="$ans"
+case "$ans" in
+'') ;;
+.*) ;;
+*) tans=".$tans";;
+esac
+mydomain="$tans"
+
+: translate upper to lower if necessary
+case "$mydomain" in
+*[A-Z]*)
+ echo "(Normalizing case in your domain name)"
+ mydomain=`echo $mydomain | ./tr '[A-Z]' '[a-z]'`
+ ;;
+esac
+
+: a little sanity check here
+case "$phostname" in
+'') ;;
+*)
+ case `$phostname | ./tr '[A-Z]' '[a-z]'` in
+ $myhostname$mydomain|$myhostname) ;;
+ *)
+ case "$phostname" in
+ sed*)
+ echo "(That doesn't agree with your whoami.h file, by the way.)"
+ ;;
+ *)
+ echo "(That doesn't agree with your $phostname command, by the way.)"
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+esac
+
+: determine the e-mail address of the user who is running us
+$cat <<EOM
+
+I need to get your e-mail address in Internet format if possible, i.e.
+something like user@host.domain. Please answer accurately since I have
+no easy means to double check it. The default value provided below
+is most probably close to reality but may not be valid from outside
+your organization...
+
+EOM
+cont=x
+while test "$cont"; do
+ case "$cf_email" in
+ '') dflt="$cf_by@$myhostname$mydomain";;
+ *) dflt="$cf_email";;
+ esac
+ rp='What is your e-mail address?'
+ . ./myread
+ cf_email="$ans"
+ case "$cf_email" in
+ *@*.*) cont='' ;;
+ *)
+ rp='Address does not look like an Internet one. Use it anyway?'
+ case "$fastread" in
+ yes) dflt=y ;;
+ *) dflt=n ;;
+ esac
+ . ./myread
+ case "$ans" in
+ y*) cont='' ;;
+ *) echo " " ;;
+ esac
+ ;;
+ esac
+done
+
+: how do we get traditional cpp semantics?
+echo " "
+echo "Checking to see how to get traditional cpp semantics..." >&4
+$cat >foo.c <<'EOF'
+#define A(x) x
+#define B(y) y
+A(a)B(b)
+EOF
+if $cpp foo.c >foo.cpp; $contains ab foo.cpp >/dev/null 2>&1; then
+ echo "Plain '$cpp' works just fine."
+ cpp_trad="$cpp"
+elif $cpp -traditional foo.c >foo.cpp; \
+ $contains ab foo.cpp >/dev/null 2>&1; then
+ echo "We'll use '$cpp -traditional' to get proper semantics."
+ cpp_trad="$cpp -traditional"
+else
+ echo "I don't know how to get traditional semantics with '$cpp'." >&4
+ cpp_trad="$cpp"
+fi
+$rm -f foo.c foo.cpp
+
+: Check whether they have gcc in any guise.
+echo " "
+echo "Checking for GNU cc in disguise and/or its version number..." >&4
+$cat >try.c <<EOM
+int main(void) {
+#ifdef __GNUC__
+gcc_version_major __GNUC__
+#ifdef __GNUC_MINOR__
+gcc_version_minor __GNUC__
+#endif
+#ifdef __GNUC_PATCHLEVEL__
+gcc_version_patchlevel __GNUC_PATCHLEVEL__
+#endif
+#endif
+}
+EOM
+if $cc -E try.c > try 2>&1
+then
+ gccversion=`$grep gcc_version_major try |
+ sed 's/^.*gcc_version_major[\t ]*//'`
+ case "$gccversion" in
+ '') echo "You are not using GNU cc." ;;
+ *) echo "You are using GNU cc $gccversion."
+ ccname=gcc
+ ;;
+ esac
+else
+ gccversion=''
+fi
+$rm -f try try.*
+case "$gccversion" in
+1*) cpp=`./loc gcc-cpp $cpp $pth` ;;
+esac
+case "$gccversion" in
+'') gccosandvers='' ;;
+*) gccshortvers=`echo "$gccversion"|sed 's/ .*//'`
+ gccosandvers=`$cc -v 2>&1 | \
+ $grep '/specs$'|sed "s!.*/[^-/]*-[^-/]*-\([^-/]*\)/$gccshortvers/specs!\1!"`
+ gccshortvers=''
+ case "$gccosandvers" in
+ $osname) gccosandvers='' ;; # linux gccs seem to have no linux osvers, grr
+ $osname$osvers) ;; # looking good
+ $osname*) cat <<EOM >&4
+
+*** WHOA THERE!!! ***
+
+ Your gcc has not been compiled for the exact release of
+ your operating system ($gccosandvers versus $osname$osvers).
+
+ In general it is a good idea to keep gcc synchronized with
+ the operating system because otherwise serious problems
+ may ensue when trying to compile software, like Perl.
+
+ I'm trying to be optimistic here, though, and will continue.
+ If later during the configuration and build icky compilation
+ problems appear (headerfile conflicts being the most common
+ manifestation), I suggest reinstalling the gcc to match
+ your operating system release.
+
+EOM
+ ;;
+ *) gccosandvers='' ;; # failed to parse, better be silent
+ esac
+ ;;
+esac
+case "$ccname" in
+'') ccname="$cc" ;;
+esac
+
+: gcc 3.1 complains about adding -Idirectories that it already knows about,
+: so we will take those off from locincpth.
+case "$gccversion" in
+3*)
+ echo "main(){}">try.c
+ for incdir in `$cc -v -c try.c 2>&1 | \
+ sed '1,/^#include <\.\.\.>/d;/^End of search list/,$d;s/^ //'` ; do
+ locincpth=`echo $locincpth | sed s!$incdir!!`
+ done
+ $rm -f try try.*
+esac
+
+: see how we invoke the C preprocessor
+echo " "
+echo "Now, how can we feed standard input to your C preprocessor..." >&4
+cat <<'EOT' >testcpp.c
+#define ABC abc
+#define XYZ xyz
+ABC.XYZ
+EOT
+cd ..
+if $test ! -f cppstdin; then
+ echo "$startsh" >cppstdin
+if $test "X$osname" = "Xaix" -a "X$gccversion" = X; then
+ echo 'cat >.$$.c; rm -f .$$.u; '"$cc"' ${1+"$@"} -M -c .$$.c 2>/dev/null; \
+ test -s .$$.u && \
+ awk '"'"'$2 ~ /\.h$/ { print "# 0 \""$2"\"" }'"'"' .$$.u; \
+ rm -f .$$.o .$$.u; '"$cc"' -E ${1+"$@"} .$$.c; rm .$$.c' >> cppstdin
+else
+ echo 'cat >.$$.c; '"$cc"' -E ${1+"$@"} .$$.c; rm .$$.c' >>cppstdin
+fi; else
+ echo "Keeping your $hint cppstdin wrapper."
+fi
+chmod 755 cppstdin
+$eunicefix cppstdin
+wrapper=`pwd`/cppstdin
+ok='false'
+cd UU
+
+if $test "X$cppstdin" != "X" && \
+ $cppstdin $cppminus <testcpp.c >testcpp.out 2>&1 && \
+ $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1
+then
+ echo "You used to use $cppstdin $cppminus so we'll use that again."
+ case "$cpprun" in
+ '') echo "But let's see if we can live without a wrapper..." ;;
+ *)
+ if $cpprun $cpplast <testcpp.c >testcpp.out 2>&1 && \
+ $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1
+ then
+ echo "(And we'll use $cpprun $cpplast to preprocess directly.)"
+ ok='true'
+ else
+ echo "(However, $cpprun $cpplast does not work, let's see...)"
+ fi
+ ;;
+ esac
+else
+ case "$cppstdin" in
+ '') ;;
+ *)
+ echo "Good old $cppstdin $cppminus does not seem to be of any help..."
+ ;;
+ esac
+fi
+
+if $ok; then
+ : nothing
+elif echo 'Maybe "'"$cc"' -E" will work...'; \
+ $cc -E <testcpp.c >testcpp.out 2>&1; \
+ $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+ echo "Yup, it does."
+ x_cpp="$cc -E"
+ x_minus='';
+elif echo 'Nope...maybe "'"$cc"' -E -" will work...'; \
+ $cc -E - <testcpp.c >testcpp.out 2>&1; \
+ $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+ echo "Yup, it does."
+ x_cpp="$cc -E"
+ x_minus='-';
+elif echo 'Nope...maybe "'"$cc"' -P" will work...'; \
+ $cc -P <testcpp.c >testcpp.out 2>&1; \
+ $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+ echo "Yipee, that works!"
+ x_cpp="$cc -P"
+ x_minus='';
+elif echo 'Nope...maybe "'"$cc"' -P -" will work...'; \
+ $cc -P - <testcpp.c >testcpp.out 2>&1; \
+ $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+ echo "At long last!"
+ x_cpp="$cc -P"
+ x_minus='-';
+elif echo 'No such luck, maybe "'$cpp'" will work...'; \
+ $cpp <testcpp.c >testcpp.out 2>&1; \
+ $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+ echo "It works!"
+ x_cpp="$cpp"
+ x_minus='';
+elif echo 'Nixed again...maybe "'$cpp' -" will work...'; \
+ $cpp - <testcpp.c >testcpp.out 2>&1; \
+ $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+ echo "Hooray, it works! I was beginning to wonder."
+ x_cpp="$cpp"
+ x_minus='-';
+elif echo 'Uh-uh. Time to get fancy. Trying a wrapper...'; \
+ $wrapper <testcpp.c >testcpp.out 2>&1; \
+ $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+ x_cpp="$wrapper"
+ x_minus=''
+ echo "Eureka!"
+else
+ dflt=''
+ rp="No dice. I can't find a C preprocessor. Name one:"
+ . ./myread
+ x_cpp="$ans"
+ x_minus=''
+ $x_cpp <testcpp.c >testcpp.out 2>&1
+ if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
+ echo "OK, that will do." >&4
+ else
+echo "Sorry, I can't get that to work. Go find one and rerun Configure." >&4
+ exit 1
+ fi
+fi
+
+case "$ok" in
+false)
+ cppstdin="$x_cpp"
+ cppminus="$x_minus"
+ cpprun="$x_cpp"
+ cpplast="$x_minus"
+ set X $x_cpp
+ shift
+ case "$1" in
+ "$cpp")
+ echo "Perhaps can we force $cc -E using a wrapper..."
+ if $wrapper <testcpp.c >testcpp.out 2>&1; \
+ $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1
+ then
+ echo "Yup, we can."
+ cppstdin="$wrapper"
+ cppminus='';
+ else
+ echo "Nope, we'll have to live without it..."
+ fi
+ ;;
+ esac
+ case "$cpprun" in
+ "$wrapper")
+ cpprun=''
+ cpplast=''
+ ;;
+ esac
+ ;;
+esac
+
+case "$cppstdin" in
+"$wrapper"|'cppstdin') ;;
+*) $rm -f $wrapper;;
+esac
+$rm -f testcpp.c testcpp.out
+
+: Set private lib path
+case "$plibpth" in
+'') if ./mips; then
+ plibpth="$incpath/usr/lib /usr/local/lib /usr/ccs/lib"
+ fi;;
+esac
+case "$libpth" in
+' ') dlist='';;
+'') dlist="$loclibpth $plibpth $glibpth";;
+*) dlist="$libpth";;
+esac
+
+: Now check and see which directories actually exist, avoiding duplicates
+libpth=''
+for xxx in $dlist
+do
+ if $test -d $xxx; then
+ case " $libpth " in
+ *" $xxx "*) ;;
+ *) libpth="$libpth $xxx";;
+ esac
+ fi
+done
+$cat <<'EOM'
+
+Some systems have incompatible or broken versions of libraries. Among
+the directories listed in the question below, please remove any you
+know not to be holding relevant libraries, and add any that are needed.
+Say "none" for none.
+
+EOM
+case "$libpth" in
+'') dflt='none';;
+*)
+ set X $libpth
+ shift
+ dflt=${1+"$@"}
+ ;;
+esac
+rp="Directories to use for library searches?"
+. ./myread
+case "$ans" in
+none) libpth=' ';;
+*) libpth="$ans";;
+esac
+
+: determine optimize, if desired, or use for debug flag also
+case "$optimize" in
+' '|$undef) dflt='none';;
+'')
+ case "$gccversion" in
+ '') dflt='-O';;
+ *) dflt='-O2 -g';;
+ esac
+ ;;
+*) dflt="$optimize";;
+esac
+case "$gccversion" in
+'') $cat <<EOH
+
+Some C compilers have problems with their optimizers. By default, $package
+compiles with the -O flag to use the optimizer. Alternately, you might want
+to use the symbolic debugger, which uses the -g flag (on traditional Unix
+systems). Either flag can be specified here. To use neither flag, specify
+the word "none".
+
+EOH
+ ;;
+*) $cat <<EOH
+
+With the GNU C compiler, it is possible to supply both -O2 and -g flags, to
+be able to reasonably optimize, whilst retaining the ability to use a
+symbolic debugger. Either flag can be specified here. To use neither flag,
+specify the word "none".
+
+EOH
+ ;;
+esac
+rp="What optimizer/debugger flag should be used?"
+. ./myread
+optimize="$ans"
+case "$optimize" in
+'none') optimize=" ";;
+esac
+
+dflt=''
+: We will not override a previous value, but we might want to
+: augment a hint file
+case "$hint" in
+default|recommended)
+ case "$gccversion" in
+ 1*) dflt='-fpcc-struct-return' ;;
+ esac
+ case "$gccversion" in
+ 2*) if test -d /etc/conf/kconfig.d &&
+ $contains _POSIX_VERSION $usrinc/sys/unistd.h >/dev/null 2>&1
+ then
+ dflt="$dflt -posix"
+ fi
+ ;;
+ esac
+ case "$gccversion" in
+ 1*|2*) dflt="$dflt -Wall";;
+ *) dflt="$dflt -W -Wall -Wformat=2 -Wshadow";;
+ esac
+ ;;
+esac
+
+case "$mips_type" in
+*BSD*|'') inclwanted="$locincpth $usrinc";;
+*) inclwanted="$locincpth $inclwanted $usrinc/bsd";;
+esac
+for thisincl in $inclwanted; do
+ if $test -d $thisincl; then
+ if $test x$thisincl != x$usrinc; then
+ case "$dflt" in
+ *$thisincl*);;
+ *) dflt="$dflt -I$thisincl";;
+ esac
+ fi
+ fi
+done
+
+inctest='if $contains $2 $usrinc/$1 >/dev/null 2>&1; then
+ xxx=true;
+elif $contains $2 $usrinc/sys/$1 >/dev/null 2>&1; then
+ xxx=true;
+else
+ xxx=false;
+fi;
+if $xxx; then
+ case "$dflt" in
+ *$2*);;
+ *) dflt="$dflt -D$2";;
+ esac;
+fi'
+
+if ./osf1; then
+ set signal.h __LANGUAGE_C__; eval $inctest
+else
+ set signal.h LANGUAGE_C; eval $inctest
+fi
+
+case "$hint" in
+default|recommended) dflt="$dflt $ccflags" ;;
+*) dflt="$ccflags";;
+esac
+
+case "$dflt" in
+''|' ') dflt=none;;
+esac
+$cat <<EOH
+
+Your C compiler may want other flags. For this question you should include
+-I/whatever and -DWHATEVER flags and any other flags used by the C compiler,
+but you should NOT include libraries or ld flags like -lwhatever.
+
+To use no flags, specify the word "none".
+
+EOH
+set X $dflt
+shift
+dflt=${1+"$@"}
+rp="Any additional cc flags?"
+. ./myread
+case "$ans" in
+none) ccflags='';;
+*) ccflags="$ans";;
+esac
+
+: the following weeds options from ccflags that are of no interest to cpp
+cppflags="$ccflags"
+case "$gccversion" in
+1*) cppflags="$cppflags -D__GNUC__"
+esac
+case "$mips_type" in
+'');;
+*BSD*) cppflags="$cppflags -DSYSTYPE_BSD43";;
+esac
+case "$cppflags" in
+'');;
+*)
+ echo " "
+ echo "Let me guess what the preprocessor flags are..." >&4
+ set X $cppflags
+ shift
+ cppflags=''
+ $cat >cpp.c <<'EOM'
+#define BLURFL foo
+
+BLURFL xx LFRULB
+EOM
+ previous=''
+ for flag in $*
+ do
+ case "$flag" in
+ -*) ftry="$flag";;
+ *) ftry="$previous $flag";;
+ esac
+ if $cppstdin -DLFRULB=bar $ftry $cppminus <cpp.c \
+ >cpp1.out 2>/dev/null && \
+ $cpprun -DLFRULB=bar $ftry $cpplast <cpp.c \
+ >cpp2.out 2>/dev/null && \
+ $contains 'foo.*xx.*bar' cpp1.out >/dev/null 2>&1 && \
+ $contains 'foo.*xx.*bar' cpp2.out >/dev/null 2>&1
+ then
+ cppflags="$cppflags $ftry"
+ previous=''
+ else
+ previous="$flag"
+ fi
+ done
+ set X $cppflags
+ shift
+ cppflags=${1+"$@"}
+ case "$cppflags" in
+ *-*) echo "They appear to be: $cppflags";;
+ esac
+ $rm -f cpp.c cpp?.out
+ ;;
+esac
+
+: flags used in final linking phase
+case "$ldflags" in
+'') if ./venix; then
+ dflt='-i -z'
+ else
+ dflt=''
+ fi
+ case "$ccflags" in
+ *-posix*) dflt="$dflt -posix" ;;
+ esac
+ ;;
+*) dflt="$ldflags";;
+esac
+
+: Try to guess additional flags to pick up local libraries.
+for thislibdir in $libpth; do
+ case " $loclibpth " in
+ *" $thislibdir "*)
+ case "$dflt " in
+ *"-L$thislibdir "*) ;;
+ *) dflt="$dflt -L$thislibdir" ;;
+ esac
+ ;;
+ esac
+done
+
+case "$dflt" in
+'') dflt='none' ;;
+*) set X $dflt; shift; dflt="$@";;
+esac
+
+$cat <<EOH
+
+Your C linker may need flags. For this question you should
+include -L/whatever and any other flags used by the C linker, but you
+should NOT include libraries like -lwhatever.
+
+Make sure you include the appropriate -L/path flags if your C linker
+does not normally search all of the directories you specified above,
+namely
+ $libpth
+To use no flags, specify the word "none".
+
+EOH
+
+rp="Any additional ld flags (NOT including libraries)?"
+. ./myread
+case "$ans" in
+none) ldflags='';;
+*) ldflags="$ans";;
+esac
+rmlist="$rmlist pdp11"
+
+: coherency check
+echo " "
+echo "Checking your choice of C compiler and flags for coherency..." >&4
+set X $cc $optimize $ccflags $ldflags -o try try.c
+shift
+$cat >try.msg <<EOM
+I've tried to compile and run a simple program with:
+
+ $*
+ ./try
+
+and I got the following output:
+
+EOM
+$cat > try.c <<'EOF'
+int main() { return 0; }
+EOF
+dflt=y
+if sh -c "$cc $optimize $ccflags $ldflags -o try try.c" >>try.msg 2>&1; then
+ if sh -c './try' >>try.msg 2>&1; then
+ dflt=n
+ else
+ echo "The program compiled OK, but exited with status $?." >>try.msg
+ rp="You have a problem. Shall I abort Configure"
+ dflt=y
+ fi
+else
+ echo "I can't compile the test program." >>try.msg
+ rp="You have a BIG problem. Shall I abort Configure"
+ dflt=y
+fi
+case "$dflt" in
+y)
+ $cat try.msg >&4
+ case "$knowitall" in
+ '')
+ echo "(The supplied flags might be incorrect with this C compiler.)"
+ ;;
+ *) dflt=n;;
+ esac
+ echo " "
+ . ./myread
+ case "$ans" in
+ n*|N*) ;;
+ *) echo "Ok. Stopping Configure." >&4
+ exit 1
+ ;;
+ esac
+ ;;
+n) echo "OK, that should do.";;
+esac
+$rm -f try try.* core
+
+: determine default editor
+echo " "
+case "$defeditor" in
+'')
+ case "$vi" in
+ */*) dflt="$vi";;
+ *) dflt=/usr/ucb/vi;;
+ esac
+ ;;
+*) dflt="$defeditor"
+ ;;
+esac
+fn=f/
+rp="What is the default editor on your system?"
+. ./getfile
+defeditor="$ans"
+
+: locate a BSD compatible install program
+echo " "
+echo "Looking for a BSD-compatible install program..." >&4
+creatdir=''
+case "$install" in
+'')
+ tryit=''
+ for dir in $pth; do
+ for file in ginstall installbsd scoinst install; do
+ if $test -f $dir/$file; then
+ tryit="$tryit $dir/$file"
+ fi
+ done
+ done
+ $cat >try.c <<EOC
+int main()
+{
+ printf("OK\n");
+ exit(0);
+}
+EOC
+ if $cc -o try try.c >/dev/null 2>&1; then
+ cp try try.ns
+ strip try >/dev/null 2>&1
+ else
+ echo "(I can't seem to compile a trivial C program -- bypassing.)"
+ echo "try" >try
+ cp try try.ns
+ fi
+ $cat >tryinst <<EOS
+$startsh
+$rm -rf foo d
+\$1 -d foo/bar
+$mkdir d
+\$1 -c -m 764 try.ns d
+\$1 -c -s -m 642 try.ns d/try
+EOS
+ chmod +x tryinst
+ $eunicefix tryinst
+ dflt=''
+ either=''
+ for prog in $tryit; do
+ $echo $n "Checking $prog... $c"
+ ./tryinst $prog >/dev/null 2>&1
+ if $test -d foo/bar; then
+ creatdir="$prog -d"
+ fi
+ (ls -l d/try >try.ls; ls -l d/try.ns >tryno.ls) 2>/dev/null
+ try_wc=`($wc -c try | $awk '{ print $1}') 2>/dev/null`
+ tryns_wc=`($wc -c try.ns | $awk '{ print $1}') 2>/dev/null`
+ d_try_wc=`($wc -c d/try | $awk '{ print $1}') 2>/dev/null`
+ d_tryns_wc=`($wc -c d/try.ns | $awk '{ print $1}') 2>/dev/null`
+ if ($test "X$try_wc" = "X$d_try_wc" && \
+ $test "X$tryns_wc" = "X$d_tryns_wc" && \
+ $contains 'rwxrw-r--' tryno.ls && \
+ $contains 'rw-r---w-' try.ls) >/dev/null 2>&1
+ then
+ dflt="$prog"
+ echo "ok, that will do."
+ break
+ fi
+ echo "not good$either."
+ either=' either'
+ $rm -f try*.ls
+ done
+ $rm -rf foo d tryinst try try*.ls try.*
+ case "$dflt" in
+ '')
+ echo "Hopefully, $package comes with its own install script!"
+ dflt='./install'
+ ;;
+ esac
+ ;;
+*) dflt="$install";;
+esac
+$cat <<EOM
+
+I will be requiring a BSD-compatible install program (one that allows
+options like -s to strip executables or -m to specify a file mode) to
+install $package.
+
+If the question below contains a fully qualified default path, then it
+is probably ok. If it is an unqualified name such as 'install', then it
+means I was unable to find out a good install program I could use. If
+you know of one, please tell me about it. If the default is './install',
+then I shall be using the install script supplied with $package.
+
+EOM
+fn='/fe~(install,./install)'
+rp='Which install program shall I use?'
+. ./getfile
+install="$ans"
+
+: how can we create nested directories?
+echo " "
+echo "Ok, let's see how we can create nested directories..." >&4
+case "$installdir" in
+'')
+ $mkdir -p foo/bar >/dev/null 2>&1
+ if $test -d foo/bar; then
+ echo "Great, we can build them using 'mkdir -p'."
+ creatdir='mkdir -p'
+ else
+ case "$creatdir" in
+ '')
+ if eval "$install -d foo/bar"; $test -d foo/bar; then
+ creatdir="install -d"
+ echo "It looks like '$creatdir' will do it for us."
+ fi
+ ;;
+ *)
+ eval "$creatdir foo/bar" >/dev/null 2>&1
+ if $test -d foo/bar; then
+ echo "Ah! We can use '$creatdir' to do just that."
+ else
+ creatdir=''
+ fi
+ ;;
+ esac
+ fi
+ $rm -rf foo
+ case "$creatdir" in
+ '')
+ echo "Heck! Another ancient system lacking the comfort of modern ones!"
+ echo "You can thank $package for bringing you its own install script!"
+ installdir='./install -d'
+ ;;
+ *) installdir="$creatdir";;
+ esac
+ ;;
+*) echo "As you already told me, '$installdir' should work.";;
+esac
+
+: determine the name of a reasonable mailer
+case "$mailer" in
+'')
+ if $test -f "$sendmail"; then
+ dflt="$sendmail"
+ elif $test -f "$smail"; then
+ dflt="$smail"
+ elif $test -f "$rmail"; then
+ dflt="$rmail"
+ elif $test -f /bin/mail; then
+ dflt=/bin/mail
+ else
+ dflt=$mail
+ fi
+ ;;
+*) dflt="$mailer";;
+esac
+$cat <<EOM
+
+I need the full pathname of the program used to deliver mail on your system.
+A typical answer would be /usr/lib/sendmail or /bin/rmail, but you may choose
+any other program, as long as it can be fed from standard input and will
+honour any user-supplied headers.
+
+EOM
+fn=f
+rp='Mail transport agent to be used?'
+. ./getfile
+mailer="$ans"
+
+: find out how to find out full name
+case "$d_berknames" in
+"$define")
+ dflt=y;;
+"$undef")
+ dflt=n;;
+*)
+ if ./bsd; then
+ dflt=y
+ elif ./xenix; then
+ dflt=y
+ else
+ dflt=n
+ fi
+ ;;
+esac
+$cat <<'EOM'
+
+Does your /etc/passwd file keep full names in Berkeley/V7 format (name first
+thing after ':' in GCOS field)? In that case, a typical entry in the password
+file looks like this:
+
+ guest:**paswword**:10:100:Mister Guest User:/usr/users:/bin/sh
+ ^^^^^^^^^^^^^^^^^
+EOM
+rp="Berkeley/V7 format for full name in /etc/passwd?"
+. ./myread
+case "$ans" in
+y*) d_passnames="$define"
+ d_berknames="$define"
+ d_usgnames="$undef"
+ nametype=bsd
+ ;;
+*)
+ case "$d_usgnames" in
+ "$define") dflt=y;;
+ "$undef") dflt=n;;
+ *)
+ if ./usg; then
+ dflt=y
+ else
+ dflt=n
+ fi
+ ;;
+ esac
+$cat <<'EOM'
+
+Does your passwd file keep full names in USG format (name sandwiched between a
+'-' and a '(')? In that case, a typical entry in the password file looks like
+this:
+
+ guest:**paswword**:10:100:000-Mister Guest User(000):/usr/users:/bin/sh
+ ^^^^^^^^^^^^^^^^^
+EOM
+ rp="USG format for full name in /etc/passwd?"
+ . ./myread
+ case "$ans" in
+ n*) echo "Full name will be taken from ~/.fullname"
+ d_passnames="$undef"
+ d_berknames="$undef"
+ d_usgnames="$undef"
+ nametype=other
+ ;;
+ *)
+ d_passnames="$define"
+ d_berknames="$undef"
+ d_usgnames="$define"
+ nametype=usg
+ ;;
+ esac;;
+esac
+
+: get organization name
+longshots='/local/src /usr/src/new /usr/src/local /usr/local/src'
+case "$orgname" in
+'') if xxx=`./loc news/src/defs.h x $longshots`; then
+ dflt=`$sed -n 's/^.*MYORG[ ]*"\(.*\)".*$/\1/p' $xxx`
+ else
+ dflt=''
+ fi
+ ;;
+*) dflt="$orgname";;
+esac
+$cat << 'EOH'
+
+Please type the name of your organization as you want it to appear on the
+Organization line of outgoing articles. (It's nice if this also specifies
+your location. Your city name is probably sufficient if well known.)
+For example:
+
+ University of Southern North Dakota, Hoople
+
+You may also put the name of a file, as long as it begins with a slash.
+For example:
+
+ /etc/organization
+
+EOH
+orgname=""
+while test "X$orgname" = "X"; do
+ rp='Organization:'
+ . ./myread
+ orgname="$ans"
+done
+
+: locate the preferred pager for this system
+fn=f/
+case "$pager" in
+'')
+ dflt=''
+ case "$pg" in
+ /*) dflt=$pg;;
+ [a-zA-Z]:/*) dflt=$pg;;
+ esac
+ case "$more" in
+ /*) dflt=$more;;
+ [a-zA-Z]:/*) dflt=$more;;
+ esac
+ case "$less" in
+ /*) dflt=$less;;
+ [a-zA-Z]:/*) dflt=$less;;
+ esac
+ case "$dflt" in
+ '') dflt=/usr/ucb/more;;
+ esac
+ ;;
+*) dflt="$pager"
+ fn="f/($pager)"
+ ;;
+esac
+echo " "
+rp='What pager is used on your system?'
+. ./getfile
+pager="$ans"
+
+: get the patchlevel / revision
+echo " "
+echo "Getting the current patchlevel / revision..." >&4
+if $test -r $rsrc/patchlevel.h;then
+ patchlevel=`awk \
+ '/^#[ ]*define[ ][ ]*PATCHLEVEL/ {print $3}' \
+ < $rsrc/patchlevel.h`
+else
+ patchlevel=0
+fi
+if $test -r $rsrc/revision.h;then
+ revision=`awk \
+ '/^#[ ]*define[ ][ ]*REVISION/ {print $3}' \
+ < $rsrc/revision.h`
+ case "$revision" in
+ '"$Revision:')
+ revision=`awk \
+ '/^#[ ]*define[ ][ ]*REVISION/ {print $4}' \
+ < $rsrc/revision.h`
+ ;;
+ esac
+else
+ revision=0
+fi
+case "$revision" in
+0) echo "(You have $package $baserev PL$patchlevel.)" ;;
+*)
+ case "$patchlevel" in
+ 0) echo "(You have $package $baserev-$revision)";;
+ *) echo "(You have $package $baserev-$revision PL$patchlevel)";;
+ esac
+ ;;
+esac
+
+: determine perl absolute location
+case "$perlpath" in
+'')
+ if test -f /usr/bin/perl; then
+ dflt=/usr/bin/perl
+ else
+ case "$perl" in
+ */*) dflt="$perl";;
+ *) dflt=/usr/bin/perl;;
+ esac
+ fi
+ ;;
+*) dflt="$perlpath"
+ ;;
+esac
+echo " "
+fn=f~/
+rp="Where is perl located on your system?"
+. ./getfile
+perlpath="$ans"
+
+: figure out how to guarantee perl startup
+case "$sharpbang" in
+*!)
+ $cat >xtry <<EOP
+#!$perlpath
+system("exit 0");
+EOP
+ chmod a+x xtry
+ if ./xtry >/dev/null 2>&1; then
+ $cat <<EOH
+
+I can use the #! construct to start perl on your system. This will make
+startup of perl scripts faster, but may cause problems if you want to share
+those scripts and perl is not in a standard place (/usr/bin/perl) on all your
+platforms. The alternative is to force a shell by starting the script with a
+single ':' character.
+
+EOH
+ pdflt=y
+ else
+ $cat <<EOH
+
+I could use the #! construct to start perl on your system, but using
+ #!$perlpath
+would be too long for your kernel to grok. Indeed, most systems do
+limit the size of the leading #! string to 32 characters.
+
+EOH
+ pdflt=n
+ fi
+ $rm -f xtry
+ case "$startperl" in
+ *!*) dflt=y;;
+ '') case "$d_portable" in
+ "$define") dflt=n;;
+ *) dflt=$pdflt;;
+ esac;;
+ *) dflt=n;;
+ esac
+ rp='Shall I use #! to start up perl?'
+ . ./myread
+ case "$ans" in
+ y*|Y*) startperl="#!$perlpath";;
+ *) startperl=": # use perl";;
+ esac;;
+*) startperl=": # use perl";;
+esac
+
+: end of configuration questions
+echo " "
+echo "End of configuration questions."
+
+: back to where it started
+if test -d ../UU; then
+ cd ..
+fi
+
+: configuration may be unconditionally patched via a 'config.arch' file
+if $test -f config.arch; then
+ echo "I see a config.arch file, loading it." >&4
+ . ./config.arch
+fi
+
+: configuration may be patched via a 'config.over' file
+if $test -f config.over; then
+ echo " "
+ dflt=y
+ rp='I see a config.over file. Do you wish to load it?'
+ . UU/myread
+ case "$ans" in
+ n*) echo "OK, I'll ignore it.";;
+ *) . ./config.over
+ echo "Configuration override changes have been loaded."
+ ;;
+ esac
+fi
+
+: in case they want portability, strip down executable paths
+case "$d_portable" in
+"$define")
+ echo " "
+ echo "Stripping down executable paths..." >&4
+ xsed=$sed
+ for file in $loclist $trylist; do
+ eval sfile="\$$file"
+ sfile=`echo $sfile | $xsed -e 's,.*/\(.*\),\1,'`
+ eval $file="$sfile"
+ done
+ ;;
+esac
+
+: create config.sh file
+echo " "
+echo "Creating config.sh..." >&4
+$spitshell <<EOT >config.sh
+$startsh
+#
+# This file was produced by running the Configure script. It holds all the
+# definitions figured out by Configure. Should you modify one of these values,
+# do not forget to propagate your changes by running "Configure -der". You may
+# instead choose to run each of the .SH files by yourself, or "Configure -S".
+#
+
+# Package name : $package
+# Source directory : $src
+# Configuration time: $cf_time
+# Configured by : $cf_by
+# Target system : $myuname
+
+EOT
+$test -f UU/cmdline.opt && $cat UU/cmdline.opt >> config.sh
+$spitshell <<EOT >>config.sh
+
+Author='$Author'
+Date='$Date'
+Header='$Header'
+Id='$Id'
+Locker='$Locker'
+Log='$Log'
+RCSfile='$RCSfile'
+Revision='$Revision'
+Source='$Source'
+State='$State'
+_a='$_a'
+_exe='$_exe'
+_o='$_o'
+afs='$afs'
+afsroot='$afsroot'
+ar='$ar'
+archobjs='$archobjs'
+awk='$awk'
+baserev='$baserev'
+bash='$bash'
+bison='$bison'
+byacc='$byacc'
+c='$c'
+cat='$cat'
+ccflags='$ccflags'
+ccname='$ccname'
+ccversion='$ccversion'
+cf_by='$cf_by'
+cf_email='$cf_email'
+cf_time='$cf_time'
+chgrp='$chgrp'
+chmod='$chmod'
+chown='$chown'
+comm='$comm'
+compress='$compress'
+contains='$contains'
+cp='$cp'
+cpio='$cpio'
+cpp='$cpp'
+cpp_trad='$cpp_trad'
+cppflags='$cppflags'
+cpplast='$cpplast'
+cppminus='$cppminus'
+cpprun='$cpprun'
+cppstdin='$cppstdin'
+csh='$csh'
+d_berknames='$d_berknames'
+d_bsd='$d_bsd'
+d_dos='$d_dos'
+d_eunice='$d_eunice'
+d_linux='$d_linux'
+d_os2='$d_os2'
+d_passnames='$d_passnames'
+d_portable='$d_portable'
+d_usgnames='$d_usgnames'
+d_windows='$d_windows'
+d_xenix='$d_xenix'
+date='$date'
+defeditor='$defeditor'
+echo='$echo'
+egrep='$egrep'
+emacs='$emacs'
+eunicefix='$eunicefix'
+expr='$expr'
+find='$find'
+firstmakefile='$firstmakefile'
+flex='$flex'
+from='$from'
+gcc='$gcc'
+gccosandvers='$gccosandvers'
+gccversion='$gccversion'
+glibpth='$glibpth'
+gmake='$gmake'
+gmsgfmt='$gmsgfmt'
+grep='$grep'
+groupcat='$groupcat'
+gzip='$gzip'
+hint='$hint'
+hostcat='$hostcat'
+incpath='$incpath'
+inews='$inews'
+install='$install'
+installdir='$installdir'
+installmansrc='$installmansrc'
+installprivlib='$installprivlib'
+installscript='$installscript'
+issymlink='$issymlink'
+ksh='$ksh'
+ldflags='$ldflags'
+less='$less'
+libpth='$libpth'
+line='$line'
+lint='$lint'
+lkflags='$lkflags'
+ln='$ln'
+lns='$lns'
+locincpth='$locincpth'
+loclibpth='$loclibpth'
+lp='$lp'
+lpr='$lpr'
+ls='$ls'
+mail='$mail'
+mailer='$mailer'
+mailx='$mailx'
+make='$make'
+make_set_make='$make_set_make'
+manext='$manext'
+mansrc='$mansrc'
+mansrcexp='$mansrcexp'
+mips_type='$mips_type'
+mkdir='$mkdir'
+more='$more'
+msgfmt='$msgfmt'
+msgmerge='$msgmerge'
+mv='$mv'
+mydomain='$mydomain'
+myhostname='$myhostname'
+myuname='$myuname'
+n='$n'
+nametype='$nametype'
+nawk='$nawk'
+nm='$nm'
+nroff='$nroff'
+optimize='$optimize'
+orgname='$orgname'
+osname='$osname'
+osvers='$osvers'
+package='$package'
+pager='$pager'
+passcat='$passcat'
+patchlevel='$patchlevel'
+perl='$perl'
+perlpath='$perlpath'
+pg='$pg'
+phostname='$phostname'
+pkgsrc='$pkgsrc'
+plibpth='$plibpth'
+pmake='$pmake'
+pr='$pr'
+prefix='$prefix'
+prefixexp='$prefixexp'
+privlib='$privlib'
+privlibexp='$privlibexp'
+revision='$revision'
+rm='$rm'
+rmail='$rmail'
+run='$run'
+scriptdir='$scriptdir'
+scriptdirexp='$scriptdirexp'
+sed='$sed'
+sendmail='$sendmail'
+sh='$sh'
+shar='$shar'
+sharpbang='$sharpbang'
+shsharp='$shsharp'
+sleep='$sleep'
+smail='$smail'
+sort='$sort'
+spackage='$spackage'
+spitshell='$spitshell'
+src='$src'
+startperl='$startperl'
+startsh='$startsh'
+submit='$submit'
+sysman='$sysman'
+tail='$tail'
+tar='$tar'
+targetarch='$targetarch'
+tbl='$tbl'
+tee='$tee'
+test='$test'
+to='$to'
+touch='$touch'
+tr='$tr'
+trnl='$trnl'
+troff='$troff'
+uname='$uname'
+uniq='$uniq'
+usecrosscompile='$usecrosscompile'
+usrinc='$usrinc'
+uuname='$uuname'
+vi='$vi'
+wc='$wc'
+xgettext='$xgettext'
+xlibpth='$xlibpth'
+zcat='$zcat'
+zip='$zip'
+EOT
+
+: add special variables
+$test -f $src/patchlevel.h && \
+awk '/^#define/ {printf "%s=%s\n",$2,$3}' $src/patchlevel.h >>config.sh
+$test -f $src/revision.h && \
+sed -ne 's/^#define \([A-Za-z0-9_]*\) ".*: \([0-9]*\).*"/\1=\2/p' \
+ < $src/revision.h >>config.sh
+echo "CONFIG=true" >>config.sh
+
+: propagate old symbols
+if $test -f UU/config.sh; then
+ <UU/config.sh $sort | $uniq >UU/oldconfig.sh
+ $sed -n 's/^\([a-zA-Z_0-9]*\)=.*/\1/p' \
+ config.sh config.sh UU/oldconfig.sh |\
+ $sort | $uniq -u >UU/oldsyms
+ set X `cat UU/oldsyms`
+ shift
+ case $# in
+ 0) ;;
+ *)
+ cat <<EOM
+Hmm...You had some extra variables I don't know about...I'll try to keep 'em...
+EOM
+ echo ": Variables propagated from previous config.sh file." >>config.sh
+ for sym in `cat UU/oldsyms`; do
+ echo " Propagating $hint variable "'$'"$sym..."
+ eval 'tmp="$'"${sym}"'"'
+ echo "$tmp" | \
+ sed -e "s/'/'\"'\"'/g" -e "s/^/$sym='/" -e "s/$/'/" >>config.sh
+ done
+ ;;
+ esac
+fi
+
+: Finish up by extracting the .SH files
+case "$alldone" in
+exit)
+ $rm -rf UU
+ echo "Extraction done."
+ exit 0
+ ;;
+cont)
+ ;;
+'')
+ dflt=''
+ nostick=true
+ $cat <<EOM
+
+If you'd like to make any changes to the config.sh file before I begin
+to configure things, do it as a shell escape now (e.g. !vi config.sh).
+
+EOM
+ rp="Press return or use a shell escape to edit config.sh:"
+ . UU/myread
+ nostick=''
+ case "$ans" in
+ '') ;;
+ *) : in case they cannot read
+ sh 1>&4 -c "$ans";;
+ esac
+ ;;
+esac
+
+: if this fails, just run all the .SH files by hand
+. ./config.sh
+
+echo " "
+exec 1>&4
+pwd=`pwd`
+. ./UU/extract
+cd "$pwd"
+
+if $contains '^depend:' [Mm]akefile >/dev/null 2>&1; then
+ dflt=y
+ case "$silent" in
+ true) ;;
+ *)
+ $cat <<EOM
+
+Now you need to generate make dependencies by running "$make depend".
+You might prefer to run it in background: "$make depend > makedepend.out &"
+It can take a while, so you might not want to run it right now.
+
+EOM
+ ;;
+ esac
+ rp="Run $make depend now?"
+ . UU/myread
+ case "$ans" in
+ y*)
+ $make depend && echo "Now you must run '$make'."
+ ;;
+ *)
+ echo "You must run '$make depend' then '$make'."
+ ;;
+ esac
+elif test -f [Mm]akefile; then
+ echo " "
+ echo "Now you must run a $make."
+else
+ echo "Configure done."
+fi
+
+if $test -f Policy.sh; then
+ $cat <<EOM
+
+If you compile $package on a different machine or from a different object
+directory, copy the Policy.sh file from this object directory to the
+new one before you run Configure -- this will help you with most of
+the policy defaults.
+
+EOM
+fi
+if $test -f UU/config.msg; then
+ echo "Hmm. I also noted the following information while running:"
+ echo " "
+ $cat UU/config.msg >&4
+fi
+$rm -f kit*isdone ark*isdone
+$rm -rf UU
+
+: End of Configure
+
diff --git a/Credits b/Credits
new file mode 100644
index 0000000..af26e33
--- /dev/null
+++ b/Credits
@@ -0,0 +1,112 @@
+INTRO
+
+This version of dist has been written by Raphael Manfredi based on
+previous work from Larry Wall and Harlan Stenn.
+
+HISTORY
+
+I started working on this in September 1990 while I was still a student
+at the Ecole des Mines de Saint-Etienne, France. From then on, I worked
+during two years at ISE (building the Eiffel 3.0 compiler -- the run-time
+part and code generation). Since I chose to use metaconfig for the run-time
+library, which is written in plain C, I had the chance to continue improving
+the whole dist package.
+
+By the end of 1991, I contacted Harlan Stenn <harlan@mumps.pfcs.com> who had
+been working separately on his own dist version. I started the painful merge.
+At the same time, I started releasing alpha version of dist 3.0.
+
+In 1992, I started a parallel project: mailagent. The dist 2.0 release upon
+which this work is based included a simple perl script called mailagent, whose
+sole job was to filter out @SH commands to automatically mail patches to some
+people. I liked the idea of having a perl mail filter and so I extended
+mailagent up to the point where it became really big and only marginally
+dist-related. I released it on the net (comp.sources.misc) on July 1992, after
+7 months of hard work.
+
+In March 1993, I left ISE and returned to France to join ACRI. The dist 3.0
+package was "almost" finished by that time, but the documentation was no
+longer accurate and needed a lot of work. My new job does not give me enough
+free time, so things have been longer than I expected.
+
+In July 1993, under the pressure of many of my alpha testers, I decided to
+go into the final process, sacrifying nights and week ends to finish up what
+turns out to have been a 3 years process...
+
+CREDITS
+
+My first thanks will go to Larry Wall <lwall@netlabs.com> who wrote perl
+and dist 2.0 in the first place. I would never have dived into dist 2.0
+if it had not been written in perl.
+
+During my work, I had the chance to benefit some useful comments and
+contributions from Craig Kolb <craig@weedeater.math.yale.edu> who
+has been the very first user of metaconfig (with a rather pre-historic
+version). He used it on its rayshade 4.0 release (a ray tracing program).
+
+Then of course, many thanks are due to my co-worker, Harlan Stenn
+<harlan@mumps.pfcs.com>. Although I did the integration of his work all by
+myself, I have found many good ideas in his early work. For instance, he wrote
+the first implementation of the metalint program, something I could not live
+without today! His remarks, comments and encouragements have always been
+appreciated, even though we did not always agree on the same things at the
+same time...
+
+Then I would like to thank the many contributors to the metaconfig units.
+I hope I'm not forgetting anybody! Here they come, in alphabetical order:
+(sorted on the first name)
+
+ Andy Dougherty <doughera@lafcol.lafayette.edu>
+ Craig Kolb <craig@weedeater.math.yale.edu>
+ Graham Stoney <greyham@research.canon.oz.au>
+ Harlan Stenn <harlan@mumps.pfcs.com>
+ Jan Djarv <Jan.Djarv@sa.erisoft.se>
+ Larry Wall <lwall@netlabs.com>
+ Ralf E. Stranzenbach <ralf@reswi.en.open.de>
+ Scott Grosch <garath@engin.umich.edu>
+ Syd Weinstein <syd@dsi.com>
+ Thomas Neumann <tom@smart.bo.open.de>
+ Wayne Davison <davison@borland.com>
+
+If I forgot your name, please let me know, and accept my apologies (not
+necessarily in that order ;-).
+
+Finally, thank you Shigeya Suzuki <shigeya@foretune.co.jp> for hosting the
+dist-users mailing list. Send mail to majordomo@foretune.co.jp to subscribe.
+
+ Raphael Manfredi <ram@acri.fr>
+ Lyon, France, August 1993
+
+[This section added by subsequent patches]
+
+PATCHES
+
+I'm grateful to the following people for sending me patches and/or reporting
+bugs and giving me some suggestions (sorted on the first name):
+
+ Andy Dougherty <andy@crystal.phys.lafayette.edu>
+ Graham Stoney <greyham@research.canon.oz.au>
+ Ilya Zakharevich <ilya@math.ohio-state.edu>
+ Jarkko Hietaniemi <jhi@snakemail.hut.fi>
+ Joseph H Buehler <jhpb@sarto.gaithersburg.md.us>
+ Keith Walker <kew@timesink.spk.wa.us>
+ Scott Presnell <srp@cgl.ucsf.edu>
+ Wayne Davison <davison@borland.com>
+
+Due to a mistake of mine, changes from Wayne Davison were flagged 'WAD',
+but his middle initial being an 'E', new ones are now flagged as 'WED'.
+Sorry Wayne, I did not know. We don't use middle initials here in Europe.
+
+Special thanks to the perl5 Patch Pumpkin Holders (in chronological order):
+
+ Andy Dougherty <andy@crystal.phys.lafayette.edu>
+ Chip Salzenberg <chip@atlantic.net>
+
+for their wonderful creativity. Perl5 is by far the largest metaconfig
+customer with the widest audience, so Configure got run on a variety
+of new platforms requiring specific fixes... which they provided,
+thereby greatly enhancing the metaconfig "portability database".
+
+ Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
+ Grenoble, France, February 1997
+
diff --git a/Jmakefile b/Jmakefile
new file mode 100644
index 0000000..c9d3c3f
--- /dev/null
+++ b/Jmakefile
@@ -0,0 +1,39 @@
+/*
+ * Main Jmakefile for dist 3.0
+ */
+
+;# $Id: Jmakefile 48 2010-11-28 23:05:09Z rmanfredi $
+;#
+;# Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+;#
+;# You may redistribute only under the terms of the Artistic Licence,
+;# as specified in the README file that comes with the distribution.
+;# You may reuse parts of this distribution only within the terms of
+;# that same Artistic Licence; a copy of which may be found at the root
+;# of the source tree for dist 4.0.
+;#
+;# $Log: Jmakefile,v $
+;# Revision 3.0.1.2 1995/07/25 13:29:41 ram
+;# patch56: re-ordered macros, moving the install at the end
+;#
+;# Revision 3.0.1.1 1994/01/24 13:42:41 ram
+;# patch16: added dependency generation stage
+;#
+;# Revision 3.0 1993/08/18 12:03:53 ram
+;# Baseline for dist 3.0 netwide release.
+;#
+
+all:: /* So that default target is not clobber! */
+
+SetSubdirs(bin mcon jmake pat kit lib)
+DependSubdirs()
+AddedByConfigure(install)
+
+InstallManPage(dist,$(MANSRC))
+
+all:: revision.h
+
+.FORCE:
+
+revision.h: .FORCE
+ $(TOP)/bin/svn-revision $(TOP) $@
diff --git a/Known_bugs b/Known_bugs
new file mode 100644
index 0000000..b5c6180
--- /dev/null
+++ b/Known_bugs
@@ -0,0 +1,14 @@
+Here are some known bugs that I plan to fix soon.
+
++ Patname ought to ask for a log message for the symbolic number.
+
++ A unit name is always wanted by Configure. Hence in a unit d_waitpid, if
+you write:
+
+ @if WAITPID || d_waitpid
+ .....
+ @end
+
+then the <....> part of the code will always be loaded even if no shell
+script references d_waitpid or C code references WAITPID.
+
diff --git a/MANIFEST b/MANIFEST
new file mode 100644
index 0000000..d3d2050
--- /dev/null
+++ b/MANIFEST
@@ -0,0 +1,739 @@
+Artistic The Artistic Licence
+ChangeLog Where changes are recorded.
+Configure Portability tool
+Credits Traditional "thank you" list
+Jmakefile Description of the main Makefile
+Known_bugs A list of known bugs
+MANIFEST This list of files
+Makefile.SH A makefile to run subsidiary makefiles
+README Basic instructions
+Wishlist Features I would like to add
+bin/ Some binary tools
+bin/Jmakefile Generic makefile description for bin
+bin/Makefile.SH Jmake-generated configured makefile
+bin/manicheck.SH Check manifest accuracy
+bin/manicheck.man Manual page for manicheck
+bin/manilist.SH Produces reports based on manifest
+bin/manilist.man Manual page for manilist
+bin/packinit.SH Creates a .package file describing your package
+bin/packinit.man Manual page for packinit
+bin/perload Build dynamically loaded perl scripts
+bin/svn-revision Updates the top "revision.h" file if needed
+dist.man Introduction to dist
+install.SH Installation script with a BSD-like syntax
+jmake/ Where makefile generator is stored
+jmake/Jmakefile High level makefile description for jmake
+jmake/Makefile.SH Generated makefile for jmake
+jmake/NOTES Quick description of the internal syntax
+jmake/README Welcome to jmake
+jmake/bindex.SH Script to build an index of rules
+jmake/files/ Where rules for jmake are held
+jmake/files/Jmake.rules Generic rules for jmake
+jmake/files/Jmake.tmpl Template used by jmake to produce Makefile.SH
+jmake/fixcpp.SH Wrapper around cpp to fix buggy backslash hanling
+jmake/jmake.SH The makefile generator
+jmake/jmake.man Manual page for jmake
+jmake/jmkmf.SH Wrapper for jmake
+jmake/jmkmf.man Manual page for jmkmf
+kit/ Where distribution tools are stored
+kit/Jmakefile Jmake's description of kit builder's makefile
+kit/Makefile.SH Builds kit builder
+kit/README Instructions on makedist
+kit/kitpost.SH Post shell archive kits
+kit/kitpost.man Manual page for kitpost
+kit/kitsend.SH Mail shell archive kits
+kit/kitsend.man Manual page for kitsend
+kit/makeSH Does most of turning a script into an SH file
+kit/makeSH.man Manual page for same
+kit/makedist.SH Makes a set of kits in the current directory
+kit/makedist.man Manual page for same
+kit/manifake.SH Makes a MANIFEST.new file out of a MANIFEST
+kit/manifake.man Manual page for same
+lib/ Some library support files
+lib/C/ Some useful C routines
+lib/C/Jmakefile Generic makefile for C lib routines
+lib/C/Makefile.SH Produces Makefile for C lib routines
+lib/C/fake/ Fake implementations of real routines
+lib/C/fake/Jmakefile Generic makefile for faked C routines
+lib/C/fake/Makefile.SH Jmake-generated configured makefile
+lib/C/fake/dup2.C A dup2() replacement
+lib/C/fake/getopt.C A getopt() replacement
+lib/C/fake/rename.C A rename() replacement for files
+lib/C/fake/scandir.C A scandir() replacement
+lib/C/fake/setsid.C A setsid() pale imitation
+lib/Jmakefile Generic makefile description for lib
+lib/Makefile.SH Jmake-generated configured makefile
+lib/errnolist.a Awk script to build sys_errnolist[]
+lib/errnolist.mk Rule files to add for errnolist.c
+lib/errnolist.sh Script to build errnolist.c
+lib/makedepend.sh Script to make dependecies, Larry Wall's way
+lib/makedir.sh Emulates 'mkdir -p'
+mcon/ Where metaconfig tools are stored
+mcon/INTRO Quick introduction for newcommers
+mcon/Jmakefile The file used by jmake to produce the Makefile
+mcon/Makefile.SH Builds metaconfig
+mcon/NOTES Documents the changes in metaconfig
+mcon/README Instructions on using metaconfig
+mcon/U/ Holds Units for metaconfig
+mcon/U/AAAAA.U Does magic before Head.U
+mcon/U/Alpha_mieee.U Can -mieee be passed to cc?
+mcon/U/Assert.U Generates the "static_assert.h" file for tests
+mcon/U/Begin.U "Beginning of configuration questions"
+mcon/U/Checkcc.U A unit for checking the C compiler for sanity
+mcon/U/Chk_MANI.U MANIFEST checks
+mcon/U/Chk_whoami.U A unit which checks for conflicts
+mcon/U/Compile.U Unit for performing compile and link tests
+mcon/U/Config_h.U Makes config.h.SH--bizarrity here
+mcon/U/Config_sh.U Makes config.sh
+mcon/U/Configdir.U Creates .config directory to store persistent info
+mcon/U/Cppsym.U Makes program to test for cpp symbols
+mcon/U/Cross.U Unit for cross-compiling support
+mcon/U/Csym.U Determines whether C symbol is defined
+mcon/U/End.U "End of configuration questions"
+mcon/U/Extract.U .SH file extraction
+mcon/U/Extractall.U Support for the -S Configure option
+mcon/U/Filexp.U Makes program to do tilde expansion
+mcon/U/Findhdr.U Locate header files
+mcon/U/Finish.U A unit which always goes last
+mcon/U/GCC_pipe.U Is the -pipe option supported by gcc?
+mcon/U/Getfile.U Get file/directory name
+mcon/U/Guess.U Hazard guesses as to overall philosophy
+mcon/U/Head.U First unit, does "#!/bin/sh" et al
+mcon/U/Inhdr.U Defines a look-for-header function
+mcon/U/Init.U Magically gathers ?Init: lines from other units
+mcon/U/Inlibc.U Defines an is-in-libc? function
+mcon/U/Instruct.U Prints instructions
+mcon/U/Largefile.U Which cc flags are required for large file support?
+mcon/U/Loc.U Look for common programs
+mcon/U/Loc_sed.U Full path of sed interpreter, even when portable
+mcon/U/Magic_h.U Makes confmagic.h--bizarrity here
+mcon/U/MailAuthor.U Offers user to register himself
+mcon/U/MailList.U Offers user to subscribe to users list
+mcon/U/Mips.U Are we on a MIPS system?
+mcon/U/Mkdirp.U Unit producing shell script to "mkdir -p"
+mcon/U/Mksymlinks.U Unit to generate symlink to source tree
+mcon/U/Myinit.U For copying to private U directories
+mcon/U/Myread.U Makes program to do read with shell escape
+mcon/U/Nothing.U For empty dependencies
+mcon/U/Null.U Zeroes out variables. Probably unnecessary
+mcon/U/Obsol_h.U Warnings about obsolete C symbols
+mcon/U/Obsol_sh.U Warnings about obsolete shell symbols
+mcon/U/Oldconfig.U Looks for old config.sh file
+mcon/U/Oldsym.U Try to propagate symbols
+mcon/U/Options.U Configure option parsing
+mcon/U/Prefixit.U Fixes path prefix in variables in case it changed
+mcon/U/Prefixup.U Fixes vars with path prefix using ~name expansion
+mcon/U/Rcs.U Some stupid redefinitions to keep RCS happy
+mcon/U/Sendfile64.U Is sendfile() working with the largefile flags?
+mcon/U/Setvar.U Set a variable with some sanity checks
+mcon/U/Signal.U Utilities for sig_name.U
+mcon/U/Tr.U Builds a tr script to handle lower and upper classes
+mcon/U/Trylink.U Compiles and links a test program
+mcon/U/Typedef.U Defines a typedef lookup function
+mcon/U/Unix.U Common UNIX settings and assumptions
+mcon/U/Warn.U Summarizes warnings emitted during Configure run
+mcon/U/Warn_v7EXT.U V7 has some ideosyncracies
+mcon/U/Warn_v7ND.U V7 has no O_NDELAY read
+mcon/U/Whoa.U Warning function
+mcon/U/abortsig.U Which signal is sent by abort()?
+mcon/U/active.U Find the news active file
+mcon/U/afs.U Look whether AFS is running or not
+mcon/U/alignbytes.U Check for alignment constraints
+mcon/U/archlib.U Where architecture-dependent files are installed
+mcon/U/archname.U Computes the architecture name (cpu-osname)
+mcon/U/baserev.U Base revision of package
+mcon/U/basicshell.U Which basic shell is available
+mcon/U/bin.U Find where to install public executables
+mcon/U/bitpbyte.U Computes the number of bits in a byte
+mcon/U/byteorder.U Computes the byte order (big-endian?)
+mcon/U/cc.U Which C compiler should be used?
+mcon/U/ccflags.U Any additional C flags?
+mcon/U/cf_email.U Computes user's e-mail address
+mcon/U/cf_name.U Computes user's full name
+mcon/U/cf_who.U Who configured the system, where and when
+mcon/U/charorder.U Character order within a byte
+mcon/U/charsize.U What is the size of "char"?
+mcon/U/contains.U Makes status-returning grep
+mcon/U/cpp_stuff.U Some cpp stuff
+mcon/U/cpp_trad.U Checks how to get traditional cpp behaviour
+mcon/U/cppfilecom.U Running cpp while preserving C comments
+mcon/U/cppstdin.U Check how to invoke the C pre-processor
+mcon/U/d_NOFILE.U Maximum # of file descriptors
+mcon/U/d_NeWS.U Old NeWS stuff
+mcon/U/d_PORTAR.U Do we know about portable archives?
+mcon/U/d_SHM_MAC.U SHMLBA macro stuff
+mcon/U/d_access.U Do we have access()?
+mcon/U/d_alarm.U Do we have alarm()?
+mcon/U/d_arc4random.U Do we have arc4random()?
+mcon/U/d_attribut.U Checks wether your cc groks __attribute__
+mcon/U/d_backtrace.U Do we have backtrace()?
+mcon/U/d_bcmp.U Do we have bcmp() or memcmp()?
+mcon/U/d_bcopy.U Do we have bcopy() or memcpy()?
+mcon/U/d_bfd_lib.U Is the BFD library available?
+mcon/U/d_bindtxtcode.U Do we have bind_textdomain_codeset()?
+mcon/U/d_brokstat.U Check whether stat() macros are broken
+mcon/U/d_bsdjmp.U Do we have BSD _setjmp() and _longjmp()?
+mcon/U/d_built_bswap32.U Is __builtin_bswap32() available?
+mcon/U/d_built_bswap64.U Is __builtin_bswap64() available?
+mcon/U/d_built_clz.U Is __builtin_clz() available?
+mcon/U/d_built_ctz.U Is __builtin_ctz() available?
+mcon/U/d_built_memcmp.U Is __builtin_memcmp() available?
+mcon/U/d_built_popcount.U Is __builtin_popcount() available?
+mcon/U/d_byacc.U Is byacc available?
+mcon/U/d_bzero.U Do we have bzero() or memset()?
+mcon/U/d_casti32.U Can the compiler cast large flots to 32-bit ints?
+mcon/U/d_castneg.U Can the C compiler cast negative to unsigned?
+mcon/U/d_cbrt.U Do we have cubic root cbrt()?
+mcon/U/d_charsprf.U How is sprintf() defined?
+mcon/U/d_chown.U Do we have chown()?
+mcon/U/d_chroot.U Do we have chroot()?
+mcon/U/d_chsize.U Size of a char
+mcon/U/d_ckeypad.U Do we have the curses keypad()?
+mcon/U/d_clock_getres.U Do we have clock_getres()?
+mcon/U/d_clock_gettime.U Do we have clock_gettime()?
+mcon/U/d_closedir.U Do we have closedir()?
+mcon/U/d_closefrom.U Do we have closefrom()?
+mcon/U/d_const.U Can cc grok the const keyword?
+mcon/U/d_crypt.U Does crypt() exist?
+mcon/U/d_csh.U csh path
+mcon/U/d_ctermid.U Do we have ctermid()?
+mcon/U/d_cuserid.U Do we have cuserid()?
+mcon/U/d_datastart_symbol.U Whether linker defines the "__data_start" symbol
+mcon/U/d_dbl_dig.U Is DBL_DIG defined in <limits.h> or <float.h>?
+mcon/U/d_debugging.U Conditionally defines -DDEBUGGING
+mcon/U/d_deflate.U Do we have zlib's deflate()?
+mcon/U/d_devpoll.U Can we use /dev/poll?
+mcon/U/d_difftime.U Do we have difftime()?
+mcon/U/d_dirent_d_type.U Does struct dirent has a member d_type?
+mcon/U/d_dladdr.U Do we have dladdr()?
+mcon/U/d_dlerror.U Do we have dlerror()?
+mcon/U/d_dliterphdr.U Do we have dl_iterate_phdr()?
+mcon/U/d_dlopen.U Do we have dlopen()?
+mcon/U/d_dosuid.U Do they want setuid emulation?
+mcon/U/d_drem.U Do we have drem()?
+mcon/U/d_dup2.U Do we have dup2()?
+mcon/U/d_end_symbol.U Whether linker defines the "end" symbol
+mcon/U/d_eofpipe.U Will EOF be seen on closed pipes?
+mcon/U/d_epoll.U Can we use epoll_xxx() routines?
+mcon/U/d_etext_symbol.U Whether linker defines the "etext" symbol
+mcon/U/d_euc2jis.U Do we have euc2jis()?
+mcon/U/d_fast_assert.U Can we use fast assertions?
+mcon/U/d_fchmod.U Do we have fchmod()?
+mcon/U/d_fchown.U Do we have fchown()?
+mcon/U/d_fcntl.U Do we have fcntl()?
+mcon/U/d_fd_set.U Do we have the fd set manipulation macros?
+mcon/U/d_fdatasync.U Do we have fdatasync()?
+mcon/U/d_ffs.U Do we have ffs()?
+mcon/U/d_fgetpos.U Do we have fgetpos()?
+mcon/U/d_flexfnam.U Long filenames?
+mcon/U/d_flock.U Do we have flock()?
+mcon/U/d_fmod.U Do we have fmod()?
+mcon/U/d_fork.U Do we have fork()?
+mcon/U/d_fsetpos.U Do we have fsetpos()?
+mcon/U/d_fsync.U Do we have fsync()?
+mcon/U/d_ftime.U Do we have ftime()?
+mcon/U/d_ftrncate.U Do we have ftruncate()?
+mcon/U/d_gconvert.U Do we have gconvert() or gcvt()?
+mcon/U/d_getaddrinfo.U Do we have etaddrinfo()?
+mcon/U/d_getcontext.U Do we have getcontext()?
+mcon/U/d_geteuid.U Do we have geteuid()?
+mcon/U/d_getgrps.U Do we have getgroups()?
+mcon/U/d_gethbynm.U Do we have gethostbyname()?
+mcon/U/d_gethent.U Do we have gethostent()?
+mcon/U/d_gethid.U Do we have gethostid()?
+mcon/U/d_gethname.U What is the C function to get host name?
+mcon/U/d_getifaddrs.U Do we have getifaddrs() and freeifaddrs()?
+mcon/U/d_getinvent.U Do we have getinvent()?
+mcon/U/d_getlogin.U Do we have getlogin()?
+mcon/U/d_getnameinfo.U Do we have getnameinfo()?
+mcon/U/d_getopt.U Do we have getopt()?
+mcon/U/d_getpagsz.U Computes system's page size
+mcon/U/d_getpgid.U Do we have getpgid()?
+mcon/U/d_getpgrp.U Do we have getpgrp()?
+mcon/U/d_getpgrp2.U Do we have getpgrp2()? (DG/UX)
+mcon/U/d_getppid.U Do we have getppid()?
+mcon/U/d_getprior.U Do we have getpriority()?
+mcon/U/d_getpwent.U How is passwd info gotten?
+mcon/U/d_getrlimit.U Do we have getrlimit()?
+mcon/U/d_gettext.U Checks whether gettext() is available
+mcon/U/d_gettext.U Do we have gettext()?
+mcon/U/d_getuid.U Do we have getuid()?
+mcon/U/d_getwd.U Do we have getwd()?
+mcon/U/d_gnugettext.U Do we have GNU gettext()?
+mcon/U/d_gnulibc.U Are we using the GNU C library?
+mcon/U/d_group.U Do we have group()?
+mcon/U/d_havetlib.U Where is termlib?
+mcon/U/d_herror.U Do we have herror()?
+mcon/U/d_hidnet.U Do hiddennet stuff?
+mcon/U/d_hstrerror.U Do we have hstrerror()?
+mcon/U/d_htonl.U Do we have htonl() and friends?
+mcon/U/d_iconv.U Do we have iconv()?
+mcon/U/d_ieee754.U De we have IEEE-754 floats?
+mcon/U/d_inetaton.U Do we have inet_aton()?
+mcon/U/d_inetd.U Should internet communication be done via inetd?
+mcon/U/d_inflate.U Do we have zlib's inflate()?
+mcon/U/d_initstate.U Do we have initstate()?
+mcon/U/d_internet.U Use internet addresses?
+mcon/U/d_iptos.U Do we have IP TOS support?
+mcon/U/d_ipv6.U Do we have IPv6 support?
+mcon/U/d_isascii.U Do we have isascii()?
+mcon/U/d_itimer.U Do we have setitimer()?
+mcon/U/d_keepsig.U Will signal handlers need to be rearmed?
+mcon/U/d_kevent_udata.U Is udata within struct kevent an integer?
+mcon/U/d_killpg.U Do we have killpg()?
+mcon/U/d_kqueue.U Do we have kqueue()?
+mcon/U/d_link.U Do we have link()?
+mcon/U/d_linuxstd.U Do we have Linux standard I/O structures?
+mcon/U/d_locale_charset.U Do we have locale_charset()?
+mcon/U/d_locconv.U Do we have localeconv()?
+mcon/U/d_lockf.U Do we have lockf()?
+mcon/U/d_lstat.U Do we have lstat()?
+mcon/U/d_madvise.U Do we have madvise()?
+mcon/U/d_mblen.U Do we have mblen()?
+mcon/U/d_mbstowcs.U Do we have mbstowcs()?
+mcon/U/d_mbtowc.U Do we have mbtowc()?
+mcon/U/d_memalign.U Do we have memalign()?
+mcon/U/d_memccpy.U Do we have memccpy()?
+mcon/U/d_memchr.U Do we have memchr()?
+mcon/U/d_memcmp.U Do we have memcmp()?
+mcon/U/d_memcpy.U Do we have memcpy()?
+mcon/U/d_memmove.U Do we have memmove()?
+mcon/U/d_mempcpy.U Do we have mempcpy()?
+mcon/U/d_memset.U Do we have memset()?
+mcon/U/d_mkdir.U Do we have mkdir()?
+mcon/U/d_mkfifo.U Do we have mkfifo()?
+mcon/U/d_mktime.U Do we have mktime()?
+mcon/U/d_mmap.U Do we have mmap()?
+mcon/U/d_msem_lck.U Do we have msem_lock()?
+mcon/U/d_msg.U Do we have full msg(2) support?
+mcon/U/d_msg_flags.U Does struct msghdr have a msg_flags member?
+mcon/U/d_msgctl.U Do we have msgctl()?
+mcon/U/d_msgget.U Do we have msgget()?
+mcon/U/d_msgrcv.U Do we have msgrcv()?
+mcon/U/d_msgsnd.U Do we have msgsnd()?
+mcon/U/d_msync.U Do we have msync()?
+mcon/U/d_munmap.U Do we have munmap()?
+mcon/U/d_nanosleep.U Do we have nanosleep()?
+mcon/U/d_newsadm.U Who is news administrator?
+mcon/U/d_nice.U Do we have nice()?
+mcon/U/d_nls.U Do we support NLS?
+mcon/U/d_nolnbuf.U Is stdout line buffered?
+mcon/U/d_normsig.U signal() vs sigset()
+mcon/U/d_open3.U Do we have the 3 arguments form for open()?
+mcon/U/d_passwd.U Do we have passwd()?
+mcon/U/d_pathconf.U Do we have pathconf()?
+mcon/U/d_pause.U Do we have pause()?
+mcon/U/d_perror.U Do we have perror()?
+mcon/U/d_pidcheck.U Is kill(pid, 0) allowed for PID checks?
+mcon/U/d_pipe.U Do we have pipe()?
+mcon/U/d_poll.U Do we have poll()?
+mcon/U/d_popen.U Do we have popen()?
+mcon/U/d_portable.U How portable do we want to be?
+mcon/U/d_posix_fadvise.U Do we have posix_fadvise()?
+mcon/U/d_posix_memalign.U Do we have posix_memalign()?
+mcon/U/d_pread.U Do we have pread()?
+mcon/U/d_preadv.U Do we have preadv()?
+mcon/U/d_psignal.U Do we have psignal()?
+mcon/U/d_ptattr_setstack.U Do we have pthread_attr_setstack()?
+mcon/U/d_pwrite.U Do we have pwrite()?
+mcon/U/d_pwritev.U Do we have pwritev()?
+mcon/U/d_random.U Do we have random()?
+mcon/U/d_raster.U Is this a Raster Tech machine?
+mcon/U/d_rdchk.U Is rdchk() there to check for input?
+mcon/U/d_readdir.U Do we have readdir()?
+mcon/U/d_readlink.U Do we have readlink()?
+mcon/U/d_recvmsg.U Do we have recvmsg()?
+mcon/U/d_regcmp.U Do we have regcmp() or re_comp()?
+mcon/U/d_regcomp.U Do we have POSIX regcomp()?
+mcon/U/d_regparm.U Can we use __attribute__((__regparm__(n)))?
+mcon/U/d_rename.U Do we have rename()?
+mcon/U/d_rmdir.U Do we have rmdir()?
+mcon/U/d_rusage.U Do we have getrusage()?
+mcon/U/d_sa_interrupt.U Can SA_INTERRUPT be used in sigaction()?
+mcon/U/d_safebcpy.U Can bcopy() handle overlapping blocks?
+mcon/U/d_safemcpy.U Can memcpy() handle overlapping blocks?
+mcon/U/d_sanemcmp.U Can we compare 8th bit in chars with memcmp()?
+mcon/U/d_sbrk.U Do we have sbrk()?
+mcon/U/d_scandir.U Do we have scandir()?
+mcon/U/d_scannl.U Does scanf() groks '\n' correctly?
+mcon/U/d_sched_yield.U Do we have sched_yield()?
+mcon/U/d_scorfl.U Keep scoreboards by full name?
+mcon/U/d_select.U Do we have select()?
+mcon/U/d_sem.U Do we have full sem(2) support?
+mcon/U/d_semctl.U Do we have d_semctl()?
+mcon/U/d_semget.U Do we have semget()?
+mcon/U/d_semop.U Do we have semop()?
+mcon/U/d_sendfile.U Do we have sendfile()?
+mcon/U/d_sendmsg.U Do we have sendmsg()?
+mcon/U/d_setegid.U Do we have setegid()?
+mcon/U/d_seteuid.U Do we have seteuid()?
+mcon/U/d_setgrps.U Do we have setgroups()?
+mcon/U/d_setlnbuf.U Do we have setlinebuf()?
+mcon/U/d_setlocale.U Do we have setlocale()?
+mcon/U/d_setpgid.U Do we have setpgid()?
+mcon/U/d_setpgrp.U Do we have setpgrp()?
+mcon/U/d_setpgrp2.U Do we have setpgrp2()? (DG/UX)
+mcon/U/d_setprior.U Do we have setpriority()?
+mcon/U/d_setproctitle.U Do we have setproctitle()?
+mcon/U/d_setregid.U Do we have setregid()?
+mcon/U/d_setreuid.U Do we have setreuid()?
+mcon/U/d_setrgid.U Do we have setrgid()?
+mcon/U/d_setrlimit.U Do we have setrlimit()?
+mcon/U/d_setruid.U Do we have setruid()?
+mcon/U/d_setsid.U Do we have setsid()?
+mcon/U/d_sgndchr.U Are chars signed?
+mcon/U/d_shm.U Do we have full shm(2) support?
+mcon/U/d_shmat.U Do we have shmat()?
+mcon/U/d_shmctl.U Do we have shmctl()?
+mcon/U/d_shmdt.U Do we have shmdt()?
+mcon/U/d_shmget.U Do we have shmget()?
+mcon/U/d_sigaction.U Do we have sigaction()?
+mcon/U/d_sigaltstack.U Do we have sigaltstack()?
+mcon/U/d_sigblock.U Do we have sigblock()?
+mcon/U/d_sighold.U Do we have sighold()?
+mcon/U/d_siglist.U Do we have sys_siglist[]?
+mcon/U/d_sigprocmask.U Do we have sigprocmask()?
+mcon/U/d_sigsetjmp.U Do we have sigsetjmp()?
+mcon/U/d_sigsetmk.U Do we have sigsetmask()?
+mcon/U/d_sigvec.U BSD reliable signals supported?
+mcon/U/d_sjis2jis.U Do we have sjis2jis()?
+mcon/U/d_sockaddr_in_sin_len.U Is there a sin_len within struct sockaddr_in?
+mcon/U/d_sockaddr_un.U Is struct sockaddr_un available?
+mcon/U/d_socker_get.U Has socker_get() to listen to privileged ports?
+mcon/U/d_socket.U BSD socket interface supported?
+mcon/U/d_speedopt.U Optimize speed vs memory?
+mcon/U/d_srandom.U Do we have srandom()?
+mcon/U/d_stat.U Do we have stat()?
+mcon/U/d_statblks.U Does stat know about blksize and blocks?
+mcon/U/d_statfs.U Do we have statfs()?
+mcon/U/d_statvfs.U Do we have statvfs()?
+mcon/U/d_stdstdio.U How standard is stdio?
+mcon/U/d_strcasestr.U Do we have strcasestr()?
+mcon/U/d_strccmp.U Do we have strcasecmp()?
+mcon/U/d_strchr.U Use strchr() or index()?
+mcon/U/d_strcoll.U Do we have strcoll()?
+mcon/U/d_strcspn.U Do we have strcspn()?
+mcon/U/d_strctcpy.U Do we do struct copies?
+mcon/U/d_strdup.U Do we have strdup()?
+mcon/U/d_strerror.U Do we have strerror()?
+mcon/U/d_strftime.U Do we have strftime()?
+mcon/U/d_strlcat.U Do we have strlcat()?
+mcon/U/d_strlcpy.U Do we have strlcpy()?
+mcon/U/d_strstr.U Do we have strtr()?
+mcon/U/d_strtod.U Do we have strtod()?
+mcon/U/d_strtok.U Do we have strtok()?
+mcon/U/d_strtol.U Do we have strtol()?
+mcon/U/d_strtoul.U Do we have strtoul()?
+mcon/U/d_strxfrm.U Do we have strxfrm()?
+mcon/U/d_su_chown.U Do we need to be root to do a chown?
+mcon/U/d_symlink.U Does symlink() exist?
+mcon/U/d_sync_atomic.U Are __sync_synchronize() and friends available?
+mcon/U/d_syscall.U Do we have syscall()?
+mcon/U/d_sysconf.U Do we have sysconf()?
+mcon/U/d_sysctl.U Do we have sysctl()?
+mcon/U/d_syslog.U Do we have syslog()?
+mcon/U/d_system.U Do we have system()?
+mcon/U/d_table.U De we have table()?
+mcon/U/d_tcgtpgrp.U Do we have tcgetpgrp()?
+mcon/U/d_tcstpgrp.U Do we have tcsetpgrp()?
+mcon/U/d_time.U Do we have time()?
+mcon/U/d_times.U Do we have a times() function?
+mcon/U/d_tminsys.U Is struct tm in <sys/time.h>?
+mcon/U/d_truncate.U Do we have truncate()?
+mcon/U/d_tzmin.U Do we use tz_minuteswest?
+mcon/U/d_tzname.U Do we have tzname[]?
+mcon/U/d_uctx_mctx.U Do we have a uc_mcontext field in struct ucontext?
+mcon/U/d_uctx_mctx_gregs.U Do we have uc_mcontext.gregs[] in struct ucontext?
+mcon/U/d_ulimit.U Do we have ulimit()?
+mcon/U/d_umask.U Do we have umask()?
+mcon/U/d_usendir.U Use our own ndir routines?
+mcon/U/d_usleep.U Do we have usleep()?
+mcon/U/d_uwait.U Is there a 'union wait' declaration around here?
+mcon/U/d_vfork.U vfork() vs fork()
+mcon/U/d_voidsig.U How is signal() declared?
+mcon/U/d_volatile.U Does our C compiler support "volatile"?
+mcon/U/d_vprintf.U Do we have vprintf()?
+mcon/U/d_vsnprintf.U Do we have vsnprintf()?
+mcon/U/d_wait3.U Do we have wait3()?
+mcon/U/d_wait4.U Do we have wait4()?
+mcon/U/d_waitpid.U Do we have waitpid() system call?
+mcon/U/d_wcstombs.U Do we have wcstombs()?
+mcon/U/d_wctomb.U Do we have wctomb()?
+mcon/U/d_wifstat.U Can we safely use WIFEXITED() and friends?
+mcon/U/d_xdrs.U Do we have XDR serialization routines?
+mcon/U/defeditor.U Find default editor
+mcon/U/doublesize.U What is the size of "double"?
+mcon/U/ebcdic.U Check for an EBCDIC system
+mcon/U/enablenls.U Shall we enable NLS?
+mcon/U/errnolist.U See if we need our own .c to get sys_errnolist[]
+mcon/U/etc.U Where administrative executable should go
+mcon/U/fieldn.U Compute included filename position in cpp output
+mcon/U/filexp_path.U Finds location of filexp made by Filexp.U
+mcon/U/floatsize.U What is the size of "float"?
+mcon/U/fpostype.U What is the type for file positions?
+mcon/U/fpu.U What kind of Sun fpu is in use?
+mcon/U/gccvers.U Computes the version of the GCC compiler
+mcon/U/gidtype.U What is the type of gids?
+mcon/U/groupstype.U What is the type for groups in getgroups()?
+mcon/U/h_fcntl.U Do we need to include fcntl.h?
+mcon/U/h_sysfile.U Do we need to include sys/file.h?
+mcon/U/i_alloca.U Shall we include <alloca.h>?
+mcon/U/i_arpainet.U Shall we include <arpa/inet.h>?
+mcon/U/i_db.U Shall we include <db.h>?
+mcon/U/i_dbm.U Shall we include <dbm.h>?
+mcon/U/i_dirent.U Shall we include <dirent.h>
+mcon/U/i_dld.U Shall we include <dld.h>?
+mcon/U/i_dlfcn.U Shall we include <dlfcn.h>?
+mcon/U/i_execinfo.U Shall we include <execinfo.h>?
+mcon/U/i_fcntl.U Shall we include <fcntl.h>?
+mcon/U/i_float.U Shall we include <float.h>?
+mcon/U/i_gdbm.U Shall we include <gdbm.h>?
+mcon/U/i_grp.U Shall we include <grp.h>?
+mcon/U/i_iconv.U Shall we include <iconv.h>?
+mcon/U/i_ifaddrs.U Shall we include <ifaddrs.h>?
+mcon/U/i_inttypes.U Shall we include <inttypes.h>?
+mcon/U/i_invent.U Shall we include <invent.h>?
+mcon/U/i_langinfo.U Shall we include <langinfo.h>?
+mcon/U/i_libcharset.U Shall we include <libcharset.h>?
+mcon/U/i_libintl.U Shall we include <libintl.h>?
+mcon/U/i_limits.U Shall we include <limits.h>?
+mcon/U/i_linux_netlink.U Shall we include <linux/netlink.h>?
+mcon/U/i_linux_rtnetlink.U Shall we include <linux/rtnetlink.h>?
+mcon/U/i_locale.U Shall we include <locale.h>?
+mcon/U/i_malloc.U Shall we include <malloc.h>?
+mcon/U/i_math.U Shall we include <math.h>?
+mcon/U/i_memory.U Shall we include <memory.h>?
+mcon/U/i_mswsock.U Shall we include <Mswsock.h>?
+mcon/U/i_ndbm.U Shall we include <ndbm.h>?
+mcon/U/i_netdb.U Shall we include <netdb.h>?
+mcon/U/i_neterrno.U Shall we include <net/errno.h>?
+mcon/U/i_netif.U Shall we include <net/if.h>?
+mcon/U/i_netroute.U Can we include <net/route.h>?
+mcon/U/i_niin.U Shall we include <netinet/in.h>?
+mcon/U/i_niip.U Shall we include <netinet/ip.h>?
+mcon/U/i_poll.U Shall we include <poll.h>?
+mcon/U/i_pthread.U Shall we include <pthread.h>?
+mcon/U/i_pwd.U Shall we include <pwd.h>?
+mcon/U/i_regex.U Shall we include <regex.h>?
+mcon/U/i_sched.U Shall we include <sched.h>?
+mcon/U/i_sfio.U Shall we include <sfio.h>?
+mcon/U/i_stddef.U Shall we include <stddef.h>?
+mcon/U/i_stdlib.U Shall we include <stdlib.h>?
+mcon/U/i_string.U <string.h> or <strings.h>?
+mcon/U/i_sysdir.U Shall we include <sys/dir.h>?
+mcon/U/i_sysfile.U Do we need <sys/file.h>?
+mcon/U/i_sysioctl.U Include <sys/ioctl.h> or <sgtty.h>?
+mcon/U/i_sysipc.U Shall we include <sys/ipc.h>?
+mcon/U/i_sysmman.U Do we have to include <sys/mman.h>?
+mcon/U/i_sysmount.U Shall we include <sys/mount.h>?
+mcon/U/i_sysndir.U Shall we include <sys/ndir.h>?
+mcon/U/i_sysparam.U Shall we include <sys/param.h>?
+mcon/U/i_syspoll.U Shall we include <sys/poll.h>?
+mcon/U/i_sysresrc.U Shall we include <sys/resource.h>?
+mcon/U/i_sysselct.U Shall we include <sys/select.h>?
+mcon/U/i_syssem.U Shall we include <sys/sem.h>?
+mcon/U/i_syssendfile.U Shall we include <sys/sendfile.h>?
+mcon/U/i_syssock.U Shall we include <sys/socket.h>?
+mcon/U/i_sysstat.U Shall we include <sys/stat.h>
+mcon/U/i_sysstatvfs.U Shall we include <sys/statvfs.h>?
+mcon/U/i_syssysctl.U Shall we include <sys/sysctl.h>?
+mcon/U/i_systable.U De we have to include <sys/table.h>?
+mcon/U/i_systimeb.U Is struct timeb defined in <sys/timeb.h>?
+mcon/U/i_systimes.U Shall we include <sys/times.h>?
+mcon/U/i_systwgcf.U Shall we include <sys/twg_config.h>?
+mcon/U/i_systypes.U Do we have to include <sys/types.h>?
+mcon/U/i_sysun.U Shall we include <sys/un.h>?
+mcon/U/i_sysutsname.U Shall we include <sys/utsname.h>?
+mcon/U/i_sysvfs.U Shall we include <sys/vfs.h>?
+mcon/U/i_syswait.U Is there a <sys/wait.h>?
+mcon/U/i_termio.U Include <termio.h> or <sgtty.h>?
+mcon/U/i_time.U Which time.h should we include?
+mcon/U/i_ucontext.U Shall we include <ucontext.h>
+mcon/U/i_unistd.U Include <unistd.h>?
+mcon/U/i_utime.U Include <utime.h>?
+mcon/U/i_values.U Shall we include <values.h>
+mcon/U/i_varhdr.U Choose between <varargs.h> and <stdarg.h>
+mcon/U/i_vfork.U Include <vfork.h>?
+mcon/U/i_whoami.U Include <whoami.h>?
+mcon/U/i_winsock2.U Shall we include <Winsock2.h>?
+mcon/U/i_ws2tcpip.U Shall we include <Ws2tcpip.h>?
+mcon/U/i_zlib.U Shall we include <zlib.h>?
+mcon/U/ilp.U Supported integer-long-pointer architecture.
+mcon/U/inc.U Where to put public include files?
+mcon/U/install.U Look for a BSD-compatible install
+mcon/U/intsize.U What is the size of "int"?
+mcon/U/ipc.U Choose IPC mechanism
+mcon/U/issymlink.U How to test for symlink status from the shell
+mcon/U/kernel.U Compute the kernel pathname
+mcon/U/lex.U Use lex or flex?
+mcon/U/lib.U Where to put public library files ?
+mcon/U/libc.U Where is libc?
+mcon/U/libdbm.U Look for a suitable dbm library
+mcon/U/libflex.U Locate flex library
+mcon/U/libnlist.U Locate an nlist library
+mcon/U/libnm.U New math library?
+mcon/U/libpth.U Set path to locate libraries
+mcon/U/libs.U Optional libraries?
+mcon/U/libyacc.U Locate yacc library
+mcon/U/lintlib.U Where lint library should be placed
+mcon/U/lns.U Are symbolic links supported by ln?
+mcon/U/locale.U Configuration of I18N files
+mcon/U/locdist.U Find distribution names for news
+mcon/U/longsize.U What is the size of "long"?
+mcon/U/lseektype.U What is the type of lseek()?
+mcon/U/maildir.U Where is mail spooled
+mcon/U/mailer.U What delivers mail?
+mcon/U/mailfile.U What filename in maildir?
+mcon/U/make.U Does make set the $(MAKE) macro?
+mcon/U/mallocsrc.U Use malloc included in kit?
+mcon/U/man1dir.U Where to put traditional section 1 manpage sources
+mcon/U/man3dir.U Where to put traditional section 3 manpage sources
+mcon/U/manfmt.U Formatted man directories
+mcon/U/mansrc.U Where to put manual pages source
+mcon/U/mboxchar.U How to determine if file is mailbox
+mcon/U/mkdep.U How to generate makefile dependencies?
+mcon/U/models.U Large vs small, split I&D, etc
+mcon/U/modetype.U What is the type for file modes?
+mcon/U/msgmerge_update.U Does msgmerge --update work?
+mcon/U/myhostname.U How to determine hostname from shell
+mcon/U/n.U How to suppress newline with echo
+mcon/U/nametype.U How to get user's fullname
+mcon/U/nblock_io.U Support for non-blocking I/O
+mcon/U/newslevel.U What version of news are we running?
+mcon/U/newslib.U Where is the news library?
+mcon/U/newsspool.U Where is news spooled?
+mcon/U/nis.U Do we have to deal with NIS (former YP)?
+mcon/U/nlist_pfx.U nlist() related stuff
+mcon/U/official.U Are we making an official build with no local ref?
+mcon/U/orderlib.U Shall we order components libraries?
+mcon/U/orgname.U What is the organizaton name?
+mcon/U/packadmin.U E-mail address of the package administrator
+mcon/U/package.U Gets package name from .package magically
+mcon/U/pager.U What's the pager, more or less?
+mcon/U/patchlevel.U Grab current patchlevel out of patchlevel.h
+mcon/U/perlpath.U The full path of perl
+mcon/U/pidtype.U What is the type of a PID?
+mcon/U/pkgsrc.U Computes the absolute package source directory
+mcon/U/prefix.U Installation prefix setting (none, /usr/local)
+mcon/U/prefshell.U Preferred user shell
+mcon/U/privlib.U Where is the private library?
+mcon/U/prototype.U Do we support prototypes?
+mcon/U/ptrsize.U What is the size of a pointer?
+mcon/U/randbits.U How many bits in rand()?
+mcon/U/randfunc.U Which random number function shall we use?
+mcon/U/rcs_branch.U Does RCS know about the -b switch?
+mcon/U/registers.U How many register declarations to use
+mcon/U/rootid.U Root user id
+mcon/U/sbrksmart.U Can sbrk() be used to release core?
+mcon/U/sbrktype.U What is the return type of sbrk()?
+mcon/U/scriptdir.U Where to put public scripts
+mcon/U/selecttype.U What type for select() file bitfields?
+mcon/U/sh.U Where the shell is located
+mcon/U/shm_for.U More shared memory stuff
+mcon/U/sig_name.U Signal names
+mcon/U/sitearch.U Where user-installed arch-dependant files should go
+mcon/U/sitelib.U Where user-installed regular library files should go
+mcon/U/sizetype.U What is the type for byte size?
+mcon/U/so.U Shared object extension
+mcon/U/sockopt.U Check for socket options
+mcon/U/spitshell.U Shell comment stripper, maybe
+mcon/U/src.U Build and source tree separation support
+mcon/U/ssizetype.U What is the signed type for byte size?
+mcon/U/startperl.U Do we start perl with #! or what?
+mcon/U/startsh.U How to guarantee sh startup
+mcon/U/stdchar.U Are chars unsigned in stdio?
+mcon/U/sunscanf.U Is this Sun's version of scanf()?
+mcon/U/sysman.U Where is the man(1) located?
+mcon/U/trnl.U Finds appropriate value for a newline in tr
+mcon/U/uidtype.U What is the type of uids?
+mcon/U/usenm.U Shall we use the costly nm extraction?
+mcon/U/usesocks.U Defines USE_SOCKS when SOCKS is to be used
+mcon/U/usrinc.U Where are include files located?
+mcon/U/vaproto.U How do we prototype varargs, with ...?
+mcon/U/voidflags.U How supported is void?
+mcon/U/warnflags.U Any additional cc warning flags?
+mcon/U/yacc.U Which compiler-compiler to use?
+mcon/configure GNU configure-like wrapper to metaconfig's Configure
+mcon/files/ Templates for new units
+mcon/files/Internal.U Template for special units with internal symbols
+mcon/files/README Why those templates are here...
+mcon/files/d_function.U Template for C defines
+mcon/files/dir.U Template to get a directory
+mcon/files/file.U Template get a file
+mcon/files/i_include.U Template for include files
+mcon/files/keyword.U Template for keyword checking
+mcon/files/locate.U Template to locate a file
+mcon/files/question.U Template for setvar questions
+mcon/files/rcshead.U Template for unit head
+mcon/files/shell.U Template for non-setvar questions
+mcon/files/type.U Template for type lookup
+mcon/makegloss.SH Extracts Glossary from Unit files
+mcon/man/ Manual pages for metaconfig et al.
+mcon/man/Jmakefile Generic makefile description for manual pages
+mcon/man/Makefile.SH Jmake-generated makefile for manual pages
+mcon/man/mconfig.SH Manual page for metaconfig
+mcon/man/mlint.SH Manual page for metalint
+mcon/man/mxref.SH Manual page for metaxref
+mcon/mconfig.SH Writes Configure scripts for you
+mcon/mlint.SH Lints metaconfig units
+mcon/mxref.SH Builds symbol cross-reference files
+mcon/pl/ Perl library for metaconfig et al.
+mcon/pl/common.pl Common control lines extraction
+mcon/pl/configure.pl Generates Configure
+mcon/pl/cosmetic.pl Some cosmetic fixes
+mcon/pl/depend.pl Metaconfig-only dependencies
+mcon/pl/eval.pl Built-in interpreter
+mcon/pl/extract.pl Dependency extractor engine
+mcon/pl/files.pl Extracts files from MANIFEST.new
+mcon/pl/gensym.pl Dynamic symbol generator
+mcon/pl/init.pl Initialization of dependency control array
+mcon/pl/lint.pl Lint-only dependencies
+mcon/pl/locate.pl Locate units
+mcon/pl/makefile.pl Builds temporary Makefiles
+mcon/pl/obsolete.pl Deals with obsolete symbols
+mcon/pl/order.pl Re-order units within Configure
+mcon/pl/tsort.pl Topological sort
+mcon/pl/wanted.pl Set up Wanted file
+mcon/pl/xref.pl Metaxref-only dependencies
+mcon/pl/xwant.pl Metaxref symbol extraction
+pat/ Where patching tools are stored
+pat/Jmakefile High level makefile description for pat
+pat/Makefile.SH Makefile for pat tools
+pat/README Instructions for patch/developping tools
+pat/pat.SH Check in, do diffs, make patch, send it
+pat/pat.man Manual page for patch tools
+pat/patbase.SH To set the base for future differences
+pat/patchlevel.h Prototypical patchlevel.h
+pat/patcil.SH Check in the latest changes
+pat/patclean.SH Check in latest changes and remove files
+pat/patcol.SH Check out working file
+pat/patdiff.SH Find the differences since last patch
+pat/patftp.SH Put patches in ftp pub directory
+pat/patindex.SH Create an index of patches sent out
+pat/patlog.SH Handles the ChangeLog file
+pat/patmake.SH Put together a patch file
+pat/patname.SH Assign symbolic name to a revision
+pat/patnotify.SH Notifies that new patches have been released
+pat/patpost.SH Send patches via news
+pat/patsend.SH Sends patches via mail
+pat/patsnap.SH Builds RCS snapshot file
+patchlevel.h The current patchlevel for dist
+pl/ Directory for public perl libraries
+pl/comment.pl Perl library to find comment in front of $Log
+pl/copyright.pl Perl library to expand copyright
+pl/editor.pl Perl library to compute suitable editor name
+pl/fullname.pl Perl library to get full name
+pl/listedit.pl Perl library to edit list of items
+pl/logname.pl Perl library to get login name
+pl/makedir.pl Perl library to emulate 'mkdir -p'
+pl/manifake.pl Perl library to build a MANIFEST.new if none found
+pl/newer.pl Perl library to Find files newer than patchlevel.h
+pl/package.pl Perl library to read .package
+pl/patseq.pl Perl library to compute issued patch sequence
+pl/profile.pl Perl library to get ~/.dist_profile
+pl/rangeargs.pl Perl library to expand number lists
+pl/rcsargs.pl Perl library to expand rcs filename lists
+pl/snapshot.pl Perl library to parse RCS snapshot file
+pl/tilde.pl Perl library to perform ~name expansion
+pl/users.pl Perl library to parse users file
+revision.h The current SVN revision number for dist
diff --git a/Makefile.SH b/Makefile.SH
new file mode 100755
index 0000000..3d204eb
--- /dev/null
+++ b/Makefile.SH
@@ -0,0 +1,271 @@
+: Makefile.SH generated from Jmake.tmpl and Jmakefile [jmake 3.5-119]
+: $X-Id: Jmake.tmpl 69 2011-01-09 13:57:07Z rmanfredi $
+
+case $CONFIG in
+'')
+ if test -f config.sh; then TOP=.;
+ elif test -f ../config.sh; then TOP=..;
+ elif test -f ../../config.sh; then TOP=../..;
+ elif test -f ../../../config.sh; then TOP=../../..;
+ elif test -f ../../../../config.sh; then TOP=../../../..;
+ else
+ echo "Can't find config.sh."; exit 1
+ fi
+ . $TOP/config.sh
+ ;;
+esac
+case "$0" in
+*/*) cd `expr X$0 : 'X\(.*\)/'` ;;
+esac
+CURRENT=.
+DIR=`echo $CURRENT/ | sed -e 's/\.\///g'`
+echo "Extracting ${DIR}Makefile (with variable substitutions)"
+
+INSTALL=`echo $install | sed -e 's,\./i,\$(TOP)/i,'`
+INSTALLDIR=`echo $installdir | sed -e 's,\./i,\$(TOP)/i,'`
+DATE=`date`
+
+$spitshell >Makefile <<!GROK!THIS!
+########################################################################
+# Makefile generated from Makefile.SH on $DATE
+
+SHELL = /bin/sh
+JMAKE = jmake
+TOP = .
+CURRENT = $CURRENT
+DIR = $DIR
+INSTALL = $INSTALL
+INSTALLDIR = $INSTALLDIR
+
+########################################################################
+# Parameters set by Configure -- edit config.sh if changes are needed
+
+CTAGS = ctags
+JCPPFLAGS = $cppflags
+L = $manext
+MANSRC = $installmansrc
+MV = $mv
+RM = $rm -f
+
+########################################################################
+# Automatically generated parameters -- do not edit
+
+SUBDIRS = bin mcon jmake pat kit lib
+
+!GROK!THIS!
+$spitshell >>Makefile <<'!NO!SUBS!'
+########################################################################
+# Jmake rules for building libraries, programs, scripts, and data files
+# $X-Id: Jmake.rules 106 2011-11-25 20:36:12Z rmanfredi $
+
+########################################################################
+# Start of Jmakefile
+
+# $X-Id: Jmakefile 48 2010-11-28 23:05:09Z rmanfredi $
+#
+# Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+#
+# You may redistribute only under the terms of the Artistic Licence,
+# as specified in the README file that comes with the distribution.
+# You may reuse parts of this distribution only within the terms of
+# that same Artistic Licence; a copy of which may be found at the root
+# of the source tree for dist 4.0.
+#
+# $X-Log: Jmakefile,v $
+# Revision 3.0.1.2 1995/07/25 13:29:41 ram
+# patch56: re-ordered macros, moving the install at the end
+#
+# Revision 3.0.1.1 1994/01/24 13:42:41 ram
+# patch16: added dependency generation stage
+#
+# Revision 3.0 1993/08/18 12:03:53 ram
+# Baseline for dist 3.0 netwide release.
+#
+
+all::
+
+depend:: sub_depend
+
+sub_depend::
+ @case '${MFLAGS}' in *[ik]*) set +e;; esac; \
+ for i in $(SUBDIRS) ;\
+ do \
+ (cd $$i ; echo "Depending" "in $(DIR)$$i..."; \
+ $(MAKE) $(MFLAGS) depend) || exit 1; \
+ done
+
+local_clobber::
+ $(RM) install
+
+local_install.man:: dist.man
+ @case '${MFLAGS}' in *[i]*) set +e;; esac; \
+ (set -x; test -d $(INSTALL_PREFIX)$(MANSRC) || \
+ $(INSTALLDIR) $(INSTALL_PREFIX)$(MANSRC)); \
+ $(INSTALL) -c -m 444 dist.man $(INSTALL_PREFIX)$(MANSRC)/dist.$(L)
+
+local_deinstall.man::
+ $(RM) $(INSTALL_PREFIX)$(MANSRC)/dist.$(L)
+
+all:: revision.h
+
+.FORCE:
+
+revision.h: .FORCE
+ $(TOP)/bin/svn-revision $(TOP) $@
+
+########################################################################
+# Common rules for all Makefiles -- do not edit
+
+all::
+
+clean: sub_clean local_clean
+realclean: sub_realclean local_realclean
+clobber: sub_clobber local_clobber
+
+local_clean::
+ if test -f core; then $(RM) core; fi
+ $(RM) *~ *.o
+
+local_realclean:: local_clean
+ $(RM) -r UU
+
+local_clobber:: local_realclean
+ $(RM) config.sh config.h
+ $(RM) -r .config
+ $(RM) Makefile
+
+install:: local_install sub_install
+ @exit 0
+
+install.man:: maybe_install.man sub_install.man
+deinstall:: sub_deinstall local_deinstall
+deinstall.man:: sub_deinstall.man maybe_deinstall.man
+
+install.man-yes: local_install.man
+install.man-no:
+deinstall.man-yes: local_deinstall.man
+deinstall.man-no:
+
+!NO!SUBS!
+case "$installmansrc" in
+'') man=no;;
+*) man=yes;;
+esac
+$spitshell >>Makefile <<!GROK!THIS!
+maybe_install.man: install.man-$man
+maybe_deinstall.man: deinstall.man-$man
+!GROK!THIS!
+$spitshell >>Makefile <<'!NO!SUBS!'
+
+Makefile.SH: Jmakefile
+ -@if test -f $(TOP)/.package; then \
+ if test -f Makefile.SH; then \
+ echo " $(RM) Makefile.SH~; $(MV) Makefile.SH Makefile.SH~"; \
+ $(RM) Makefile.SH~; $(MV) Makefile.SH Makefile.SH~; \
+ fi; \
+ echo " $(JMAKE) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT)" ; \
+ $(JMAKE) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT) ; \
+ else touch $@; fi
+
+Makefile: Makefile.SH
+ /bin/sh Makefile.SH
+
+tags::
+ $(CTAGS) -w *.[ch]
+ $(CTAGS) -xw *.[ch] > tags
+
+local_clobber::
+ $(RM) tags
+
+depend::
+
+########################################################################
+# Rules for building in sub-directories -- do not edit
+
+subdirs:
+ @case '${MFLAGS}' in *[ik]*) set +e;; esac; \
+ for i in $(SUBDIRS) ;\
+ do \
+ (cd $$i ; echo $(VERB) "in $(DIR)$$i..."; \
+ $(MAKE) $(MFLAGS) $(FLAGS) $(TARGET)) || exit 1; \
+ done
+
+sub_install::
+ @$(MAKE) subdirs TARGET=install VERB="Installing" FLAGS=
+
+sub_deinstall::
+ @$(MAKE) subdirs TARGET=deinstall VERB="Deinstalling" FLAGS=
+ @echo "Back to $(CURRENT) for "deinstall...
+
+sub_install.man::
+ @$(MAKE) subdirs TARGET=install.man VERB="Installing man pages" FLAGS=
+
+sub_deinstall.man::
+ @$(MAKE) subdirs TARGET=deinstall.man VERB="Deinstalling man pages" FLAGS=
+ @echo "Back to $(CURRENT) for "deinstall.man...
+
+sub_clean::
+ @$(MAKE) subdirs TARGET=clean VERB="Cleaning" FLAGS=
+ @echo "Back to $(CURRENT) for "clean...
+
+sub_realclean::
+ @$(MAKE) subdirs TARGET=realclean VERB="Real cleaning" FLAGS=
+ @echo "Back to $(CURRENT) for "realclean...
+
+sub_clobber::
+ @$(MAKE) subdirs TARGET=clobber VERB="Clobbering" FLAGS=
+ @echo "Back to $(CURRENT) for "clobber...
+
+tag::
+ @case '${MFLAGS}' in *[ik]*) set +e;; esac; \
+ for i in $(SUBDIRS) ;\
+ do \
+ (cd $$i ; echo "Tagging" "in $(DIR)$$i..."; \
+ $(MAKE) $(MFLAGS) tag) || exit 1; \
+ done
+
+Makefiles::
+ @case '${MFLAGS}' in *[ik]*) set +e;; esac; \
+ for i in $(SUBDIRS);\
+ do \
+ echo "Making "Makefiles" in $(DIR)$$i..."; \
+ (cd $$i || exit 1; \
+ if test ! -f Makefile; then /bin/sh Makefile.SH; fi; \
+ $(MAKE) $(MFLAGS) Makefiles) || exit 1;\
+ done
+
+Makefiles.SH:: Makefile.SH
+ @case '${MFLAGS}' in *[ik]*) set +e;; esac; \
+ for i in $(SUBDIRS);\
+ do \
+ case "$(DIR)$$i/" in \
+ */*/*/*/) newtop=../../../..;; \
+ */*/*/) newtop=../../..;; \
+ */*/) newtop=../..;; \
+ */) newtop=..;; \
+ esac; \
+ case "$(TOP)" in \
+ /*) newtop="$(TOP)" ;; \
+ esac; \
+ echo "Making Makefiles.SH in $(DIR)$$i..."; \
+ (cd $$i || exit 1; \
+ if test -f Jmakefile; then \
+ $(MAKE) $(MFLAGS) -f ../Makefile \
+ Makefile TOP=$$newtop CURRENT=$(DIR)$$i && \
+ $(MAKE) $(MFLAGS) Makefiles.SH; \
+ fi; \
+ ) || exit 1; \
+ done
+
+all::
+ @$(MAKE) subdirs TARGET=all VERB="Making all" FLAGS=
+
+local_install::
+local_deinstall::
+local_install.man::
+local_deinstall.man::
+
+!NO!SUBS!
+chmod 644 Makefile
+$eunicefix Makefile
+
diff --git a/README b/README
new file mode 100644
index 0000000..8417c81
--- /dev/null
+++ b/README
@@ -0,0 +1,138 @@
+ dist 4.0
+ ** Alpha version **
+
+ Copyright (c) 1988, Larry Wall
+ Copyright (c) 1990-1992, Harlan Stenn
+ Copyright (c) 1991-1997, Raphael Manfredi
+ Copyright (c) 2004-2006, Raphael Manfredi
+
+------------------------------------------------------------------------
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the Artistic License, a copy of which can be
+ found with this package.
+
+ 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
+ Artistic License for more details.
+------------------------------------------------------------------------
+
+This version of dist requires you to have at least perl 4.0 PL36.
+It has also been ported to work with perl 5.0 PL0, provided you have
+at least integrated patches 0a-0h, issued by Andy Dougherty and made
+available at the following ftp sites:
+
+ ftp.demon.co.uk:/pub/perl/db/perl5.000-p0a-p0h.tar.gz
+ ftp.funet.fi:/pub/languages/perl/ports/perl5/perl5.000-p0a-p0h.tar.gz
+
+Please read all the directions below before you proceed any further, and
+then follow them carefully.
+
+After you have unpacked your kit, you should have all the files listed
+in MANIFEST.
+
+========================================================================
+ It's not the way I wrote it, but the
+ way you play it makes it sound a lot better.
+ -- Camille Saint-Saens (French composer)
+
+The dist package consists of four parts:
+
+ 1) The Configure generator (metaconfig) and its supporting files.
+ 2) The distribution kit maker (makedist) and its supporting files.
+ 3) The patch distribution system (pat*) and its supporting files.
+ 4) The Makefile generator (jmake) and its supporting files.
+
+Each of these can be used separately from the others. Before you can
+use any of those, however, the directory containing your package (not this
+package) must be initialized by putting a .package file into it. This
+can be done by running packinit in that directory.
+
+There is a mailing list hosted in Japan and set up by Shigeya Suzuki
+<shigeya@foretune.co.jp>, for discussion about the dist package as a
+whole. It's a good place to ask questions (or answer them) and to
+send your patches. I will post official patches to the net, as well
+as to the dist-users list.
+
+To send a mail to the list, address it to <dist-users@foretune.co.jp>.
+To subscribe, send a mail to <majordomo@foretune.co.jp>. If you don't
+know how to use majordomo, the syntax of the subscribe command is:
+
+ subscribe dist-users [address]
+
+where the address part is optional. You may unsubscribe automatically
+at any time by sending:
+
+ unsubscribe dist-users
+
+If you have a problem with this version of dist, it is recommended that
+you subscribe to the list, then send a description of your problem to it.
+If you send mail to me personally, I may not be able to answer in a
+timely fashion.
+
+This mailing list has low traffic (a few articles per week, typically),
+and it is expected to remain so, with a high signal/noise ratio.
+
+Notes:
+
+ If you are running on a system with <= 14 char filenames, don't
+ distribute any files with filenames longer than 12 chars (with the
+ exception of patchlevel.h), so that there will be room for a
+ 2-digit extension indicating patch number in your bugs direcory.
+ This includes .SH files, so any shell script built by a .SH file
+ should be 9 characters or less. On systems with flexfilenames you
+ don't have to worry about it.
+
+ This package has been designed on top of dist 2.0, which has been
+ written by Larry Wall <lwall@netlabs.com>.
+========================================================================
+
+INSTALLATION
+
+1) Run Configure. This will figure out various things about your
+system. After it has completed, it will produce config.h and config.sh.
+
+You might possibly have to trim # comments from the front of Configure
+if your shell doesn't handle them, but all other comments will be taken
+care of.
+
+2) Run make.
+
+3) If make succeeded, you may wish to do "make install install.man". Be
+sure your rights are correct (if you install manual pages, you may need
+super-user privileges). By not running "make install.man", you avoid the
+installation of the manual pages.
+
+4) Read the manual entry before running.
+
+5) IMPORTANT! Communicate any problem and suggested patches to me,
+ram@hptnos02.grenoble.hp.com (Raphael Manfredi), so we can keep this
+distribution in sync. If you have a problem, there will be someone else
+who had it or will have it too...
+
+If possible, send me patches such that the patch program will apply
+them. Context diffs are the best, then normal diffs. Do not send ed
+scripts, I have probably changed my copy since the version you got.
+
+6) After everything is installed, you can do make clobber. This will
+clean up everything and let you re-distribute this kit, without
+carrying useless files. You should keep this distribution intact, so
+that future patches will be applyable.
+
+7) I have an automatic patch sender. Send me the following mail:
+
+ Subject: Command
+ @SH mailhelp PATH
+
+and you'll get instructions (PATH stands for YOUR e-mail address, either
+in INTERNET or in bang notation). I would recommend you to get all the
+issued patches before you start making some modifications on this
+package.
+
+8) If you wish to deinstall the package, you may run "make deinstall".
+A separate "make deinstall.man" will remove the manual pages. Be sure
+the makefiles are correctly set before running any deinstall target.
+On USG systems, some executable have a chance to remain despite the
+deinstall (text file busy...).
+
+ Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
diff --git a/Wishlist b/Wishlist
new file mode 100644
index 0000000..81bbb8c
--- /dev/null
+++ b/Wishlist
@@ -0,0 +1,60 @@
+*** List of wishes for dist version 3.0 ***
+
+=======================================================================
+If you wish to implement one of the following, you're welcome :-). In
+that case, please let me know about it. I will probably integrate your
+changes in my version (after some sanity checks, because I can't
+maintain something I don't understand).
+
+This list has no priority order whatsoever, so you may pick up one of
+the following suggestion and start working on it. In that case, you
+may want to get all the official patches for dist 3.0 first and make
+sure nobody is already working on that topic.
+=======================================================================
+
+*** jmake
+
+Make the names used more uniform. For instance, 'Simple' appears in
+many rules, but with different meanings, thus making the Jmakefile
+harder to understand at a first glance.
+
+Allow per-system compilation rules, so that objects and source file
+do not inter-mix but are kept in separate directories.
+
+*** metaconfig
+
+Write some "generic" templates for writing new units, so that the user
+only needs to fill up some fields. For instance, there could be a
+template for d_* and i_* units. [That's done, they are under mcon/files.
+Now I only need to write the generator on top of them]
+
+Make Configure know about cross-compiling.
+
+Make Configure know about VPATH for separate object directory, with
+proper support from jmake.
+
+Implement the ?I: and ?L: lines. The ?I: fills in inclwanted for you,
+while ?L: fills in the libswanted variable. For instance, when using
+a socket() call, one may need to look at -lbsd. If d_socket.U lists
+'bsd' within its ?L: line, then the libswanted variable will be
+correctly set. [Note: there are some hooks for this already]
+
+Build a library of PD routines that may be otherwise missing on
+some older systems, eg: getopt(). Those routines will be automagically
+added to the package by relying on ?P: lines, something like:
+
+ ?P:getopt (HAS_GETOPT): getopt.c
+
+which would include getopt.c in the package (under some PD dir)
+when getopt is used and HAS_GETOPT is *not* used within the sources,
+in order to achieve transparent implementation.
+
+*** metalint
+
+Process '@' pre-processor lines, and signal mismatches, unrecognized
+commands, etc... Also warn when testing wantedness of unknown symbols
+or obsolete ones, etc...
+
+*** pat tools
+
+Clean that stuff.
diff --git a/bin/Jmakefile b/bin/Jmakefile
new file mode 100644
index 0000000..a3cf78b
--- /dev/null
+++ b/bin/Jmakefile
@@ -0,0 +1,42 @@
+/*
+ * Jmakefile for bin subdirectory.
+ */
+
+;# $Id: Jmakefile 48 2010-11-28 23:05:09Z rmanfredi $
+;#
+;# Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+;#
+;# You may redistribute only under the terms of the Artistic Licence,
+;# as specified in the README file that comes with the distribution.
+;# You may reuse parts of this distribution only within the terms of
+;# that same Artistic Licence; a copy of which may be found at the root
+;# of the source tree for dist 4.0.
+;#
+;# $Log: Jmakefile,v $
+;# Revision 3.0.1.1 1994/01/24 13:42:53 ram
+;# patch16: added dependency generation stage
+;#
+;# Revision 3.0 1993/08/18 12:04:00 ram
+;# Baseline for dist 3.0 netwide release.
+;#
+
+BINPL = packinit manilist
+BIN = manicheck $(BINPL)
+
+ShellScriptTarget($(BIN))
+
+BINSH = \
+|expand f!$(BINPL)!
+ !f.SH \
+-expand \\
+
+depend:: local_depend
+local_depend::
+ ($(SED) '/^# DO NOT DELETE/q' Makefile && \
+ grep '^\$$grep' $(BINSH) | \
+ $(SED) -e "s/^.*' \([^ ]*\) >>[ ]*\([^ ]*\)/\2: \1/" \
+ ) > Makefile.new
+ cp Makefile Makefile.bak
+ cp Makefile.new Makefile
+ $(RM) Makefile.new
+
diff --git a/bin/Makefile.SH b/bin/Makefile.SH
new file mode 100755
index 0000000..89aaec1
--- /dev/null
+++ b/bin/Makefile.SH
@@ -0,0 +1,241 @@
+: Makefile.SH generated from Jmake.tmpl and Jmakefile [jmake 3.5-43]
+: $X-Id: Jmake.tmpl 47 2010-11-28 22:23:13Z rmanfredi $
+
+case $CONFIG in
+'')
+ if test -f config.sh; then TOP=.;
+ elif test -f ../config.sh; then TOP=..;
+ elif test -f ../../config.sh; then TOP=../..;
+ elif test -f ../../../config.sh; then TOP=../../..;
+ elif test -f ../../../../config.sh; then TOP=../../../..;
+ else
+ echo "Can't find config.sh."; exit 1
+ fi
+ . $TOP/config.sh
+ ;;
+esac
+case "$0" in
+*/*) cd `expr X$0 : 'X\(.*\)/'` ;;
+esac
+CURRENT=bin
+DIR=`echo $CURRENT/ | sed -e 's/\.\///g'`
+echo "Extracting ${DIR}Makefile (with variable substitutions)"
+
+INSTALL=`echo $install | sed -e 's,\./i,\$(TOP)/i,'`
+INSTALLDIR=`echo $installdir | sed -e 's,\./i,\$(TOP)/i,'`
+DATE=`date`
+
+$spitshell >Makefile <<!GROK!THIS!
+########################################################################
+# Makefile generated from Makefile.SH on $DATE
+
+SHELL = /bin/sh
+JMAKE = jmake
+TOP = ..
+CURRENT = $CURRENT
+DIR = $DIR
+INSTALL = $INSTALL
+INSTALLDIR = $INSTALLDIR
+
+########################################################################
+# Parameters set by Configure -- edit config.sh if changes are needed
+
+CTAGS = ctags
+JCPPFLAGS = $cppflags
+L = $manext
+MANSRC = $installmansrc
+MV = $mv
+RM = $rm -f
+SCRIPTDIR = $installscript
+SED = $sed
+
+########################################################################
+# Automatically generated parameters -- do not edit
+
+SCRIPTS = \$(BIN)
+
+!GROK!THIS!
+$spitshell >>Makefile <<'!NO!SUBS!'
+########################################################################
+# Jmake rules for building libraries, programs, scripts, and data files
+# $X-Id: Jmake.rules 18 2006-12-27 10:35:09Z rmanfredi $
+
+########################################################################
+# Start of Jmakefile
+
+# $X-Id: Jmakefile 48 2010-11-28 23:05:09Z rmanfredi $
+#
+# Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+#
+# You may redistribute only under the terms of the Artistic Licence,
+# as specified in the README file that comes with the distribution.
+# You may reuse parts of this distribution only within the terms of
+# that same Artistic Licence; a copy of which may be found at the root
+# of the source tree for dist 4.0.
+#
+# $X-Log: Jmakefile,v $
+# Revision 3.0.1.1 1994/01/24 13:42:53 ram
+# patch16: added dependency generation stage
+#
+# Revision 3.0 1993/08/18 12:04:00 ram
+# Baseline for dist 3.0 netwide release.
+#
+
+BINPL = packinit manilist
+BIN = manicheck $(BINPL)
+
+all:: $(BIN)
+
+local_realclean::
+ $(RM) $(BIN)
+
+manicheck: manicheck.SH
+ /bin/sh manicheck.SH
+
+packinit: packinit.SH
+ /bin/sh packinit.SH
+
+manilist: manilist.SH
+ /bin/sh manilist.SH
+
+
+local_install:: $(SCRIPTS) $(LSCRIPTS)
+ @case '${MFLAGS}' in *[i]*) set +e;; esac; \
+ (set -x; test -d $(INSTALL_PREFIX)$(SCRIPTDIR) || \
+ $(INSTALLDIR) $(INSTALL_PREFIX)$(SCRIPTDIR)); \
+ for file in $(SCRIPTS) $(LSCRIPTS); do \
+ (set -x; \
+ $(INSTALL) -c -m 555 $$file $(INSTALL_PREFIX)$(SCRIPTDIR)) || \
+ exit 1; \
+ done
+
+local_deinstall::
+ @for file in $(SCRIPTS) $(LSCRIPTS); do \
+ case '${MFLAGS}' in *[i]*) set +e;; esac; \
+ (set -x; $(RM) $(INSTALL_PREFIX)$(SCRIPTDIR)/$$file); \
+ done
+
+local_install.man::
+ @case '${MFLAGS}' in *[i]*) set +e;; esac; \
+ (set -x; test -d $(INSTALL_PREFIX)$(MANSRC) || \
+ $(INSTALLDIR) $(INSTALL_PREFIX)$(MANSRC)); \
+ for file in $(SCRIPTS); do \
+ if test -f $$file.man; then \
+ (set -x; \
+ $(INSTALL) -c -m 444 $$file.man \
+ $(INSTALL_PREFIX)$(MANSRC)/$$file.$(L)) || \
+ exit 1; \
+ fi; \
+ done
+
+local_deinstall.man::
+ case '${MFLAGS}' in *[i]*) set +e;; esac; \
+ for file in $(SCRIPTS); do \
+ (set -x; $(RM) $(INSTALL_PREFIX)$(MANSRC)/$$file.$(L)); \
+ done
+
+BINSH = \
+ packinit.SH \
+ manilist.SH
+
+depend:: local_depend
+local_depend::
+ ($(SED) '/^# DO NOT DELETE/q' Makefile && \
+ grep '^\$$grep' $(BINSH) | \
+ $(SED) -e "s/^.*' \([^ ]*\) >>[ ]*\([^ ]*\)/\2: \1/" \
+ ) > Makefile.new
+ cp Makefile Makefile.bak
+ cp Makefile.new Makefile
+ $(RM) Makefile.new
+
+########################################################################
+# Common rules for all Makefiles -- do not edit
+
+all::
+
+clean: local_clean
+realclean: local_realclean
+clobber: local_clobber
+
+local_clean::
+ if test -f core; then $(RM) core; fi
+ $(RM) *~ *.o
+
+local_realclean:: local_clean
+
+local_clobber:: local_realclean
+ $(RM) Makefile config.sh
+
+install:: local_install
+install.man:: maybe_install.man
+deinstall:: local_deinstall
+deinstall.man:: maybe_deinstall.man
+
+install.man-yes: local_install.man
+install.man-no:
+deinstall.man-yes: local_deinstall.man
+deinstall.man-no:
+
+!NO!SUBS!
+case "$installmansrc" in
+'') man=no;;
+*) man=yes;;
+esac
+$spitshell >>Makefile <<!GROK!THIS!
+maybe_install.man: install.man-$man
+maybe_deinstall.man: deinstall.man-$man
+!GROK!THIS!
+$spitshell >>Makefile <<'!NO!SUBS!'
+
+Makefile.SH: Jmakefile
+ -@if test -f $(TOP)/.package; then \
+ if test -f Makefile.SH; then \
+ echo " $(RM) Makefile.SH~; $(MV) Makefile.SH Makefile.SH~"; \
+ $(RM) Makefile.SH~; $(MV) Makefile.SH Makefile.SH~; \
+ fi; \
+ echo " $(JMAKE) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT)" ; \
+ $(JMAKE) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT) ; \
+ else touch $@; fi
+
+Makefile: Makefile.SH
+ /bin/sh Makefile.SH
+
+tags::
+ $(CTAGS) -w *.[ch]
+ $(CTAGS) -xw *.[ch] > tags
+
+local_clobber::
+ $(RM) tags
+
+depend::
+
+########################################################################
+# Empty rules for directories with no sub-directories -- do not edit
+
+local_install::
+ @echo "install in $(CURRENT) done."
+
+local_deinstall::
+ @echo "deinstall in $(CURRENT) done."
+
+local_install.man::
+ @echo "install.man in $(CURRENT) done."
+
+local_deinstall.man::
+ @echo "deinstall.man in $(CURRENT) done."
+
+Makefiles::
+
+Makefiles.SH::
+
+########################################################################
+# Dependencies generated by make depend
+# DO NOT DELETE THIS LINE -- make depend relies on it
+
+# Put nothing here or make depend will gobble it up
+.FORCE_DEPEND::
+ @echo "You must run 'make depend' in $(TOP) first."; exit 1
+!NO!SUBS!
+chmod 644 Makefile
+$eunicefix Makefile
+
diff --git a/bin/manicheck.SH b/bin/manicheck.SH
new file mode 100755
index 0000000..de59a9b
--- /dev/null
+++ b/bin/manicheck.SH
@@ -0,0 +1,82 @@
+case $CONFIG in
+'')
+ if test -f config.sh; then TOP=.;
+ elif test -f ../config.sh; then TOP=..;
+ elif test -f ../../config.sh; then TOP=../..;
+ elif test -f ../../../config.sh; then TOP=../../..;
+ elif test -f ../../../../config.sh; then TOP=../../../..;
+ else
+ echo "Can't find config.sh."; exit 1
+ fi
+ . $TOP/config.sh
+ ;;
+esac
+case "$0" in
+*/*) cd `expr X$0 : 'X\(.*\)/'` ;;
+esac
+echo "Extracting bin/manicheck (with variable substitutions)"
+$spitshell >manicheck <<!GROK!THIS!
+$startsh
+!GROK!THIS!
+$spitshell >>manicheck <<'!NO!SUBS!'
+# $Id: manicheck.SH 1 2006-08-24 12:32:52Z rmanfredi $
+#
+# Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+#
+# You may redistribute only under the terms of the Artistic Licence,
+# as specified in the README file that comes with the distribution.
+# You may reuse parts of this distribution only within the terms of
+# that same Artistic Licence; a copy of which may be found at the root
+# of the source tree for dist 4.0.
+#
+# Original Author: Harlan Stenn <harlan@mumps.pfcs.com>
+#
+# $Log: manicheck.SH,v $
+# Revision 3.0.1.1 1993/08/19 06:41:51 ram
+# patch1: leading config.sh searching was not aborting properly
+#
+# Revision 3.0 1993/08/18 12:04:02 ram
+# Baseline for dist 3.0 netwide release.
+#
+
+find . ! -type d -print | sed -e '
+s|^./||
+/RCS\//d
+/UU\//d
+/core$/d
+/\.bak$/d
+/\.orig$/d
+' | sort > check.present
+
+manifest=''
+if test -r MANIFEST.new; then
+ manifest='MANIFEST.new'
+else
+ if test -r MANIFEST; then
+ manifest='MANIFEST'
+ else
+ echo "No MANIFEST.new or MANIFEST file--don't know what to look for."
+ fi
+fi
+
+awk '{print $1}' $manifest | sort > check.expected
+
+comm -23 check.expected check.present > check.want
+comm -13 check.expected check.present > check.extra
+
+rm -f check.expected check.present
+
+if test -s check.want; then
+ echo "Some files listed in $manifest are missing; see check.want."
+else
+ rm check.want
+fi
+
+if test -s check.extra; then
+ echo "Some files not listed in $manifest are present; see check.extra."
+else
+ rm check.extra
+fi
+!NO!SUBS!
+chmod 755 manicheck
+$eunicefix manicheck
diff --git a/bin/manicheck.man b/bin/manicheck.man
new file mode 100644
index 0000000..96c71ab
--- /dev/null
+++ b/bin/manicheck.man
@@ -0,0 +1,51 @@
+.\" $Id: manicheck.man 3 2006-08-25 21:39:07Z rmanfredi $
+.\"
+.\" Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+.\"
+.\" You may redistribute only under the terms of the Artistic Licence,
+.\" as specified in the README file that comes with the distribution.
+.\" You may reuse parts of this distribution only within the terms of
+.\" that same Artistic Licence; a copy of which may be found at the root
+.\" of the source tree for dist 4.0.
+.\"
+.\" $Log: manicheck.man,v $
+.\" Revision 3.0 1993/08/18 12:04:02 ram
+.\" Baseline for dist 3.0 netwide release.
+.\"
+.\"
+.TH MANICHECK 1 ram
+.SH NAME
+manicheck \- check manifest accuracy
+.SH SYNOPSIS
+.B manicheck
+.SH DESCRIPTION
+.I Manicheck
+compares the files listed in your MANIFEST.new (or MANIFEST if that file
+is not present) with the files within your distribution. It will report
+files listed in the manifest but not present or files missing from your
+manifest file.
+.SH FILES
+.I Manicheck
+produces the following temporary files:
+.TP 20
+.PD 0
+check.expected
+lists filenames from manifest
+.TP
+check.present
+lists all potential source files
+.PD
+.PP
+If MANIFEST is not 100% accurate, the following files may be created:
+.TP 20
+.PD 0
+check.extra
+files not listed in manifest
+.TP
+check.want
+files missing from manifest
+.PD
+.SH AUTHOR
+Harlan Stenn <harlan@mumps.pfcs.com>
+.SH "SEE ALSO"
+manifake(1), makedist(1), manilist(1).
diff --git a/bin/manilist.SH b/bin/manilist.SH
new file mode 100755
index 0000000..42972ef
--- /dev/null
+++ b/bin/manilist.SH
@@ -0,0 +1,483 @@
+case $CONFIG in
+'')
+ if test -f config.sh; then TOP=.;
+ elif test -f ../config.sh; then TOP=..;
+ elif test -f ../../config.sh; then TOP=../..;
+ elif test -f ../../../config.sh; then TOP=../../..;
+ elif test -f ../../../../config.sh; then TOP=../../../..;
+ else
+ echo "Can't find config.sh."; exit 1
+ fi
+ . $TOP/config.sh
+ ;;
+esac
+case "$0" in
+*/*) cd `expr X$0 : 'X\(.*\)/'` ;;
+esac
+echo "Extracting bin/manilist (with variable substitutions)"
+$spitshell >manilist <<!GROK!THIS!
+$startperl
+ eval 'exec perl -S \$0 \${1+"\$@"}'
+ if \$running_under_some_shell;
+
+# $Id: manilist.SH 31 2010-03-06 20:15:24Z rmanfredi $
+#
+# Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+#
+# You may redistribute only under the terms of the Artistic Licence,
+# as specified in the README file that comes with the distribution.
+# You may reuse parts of this distribution only within the terms of
+# that same Artistic Licence; a copy of which may be found at the root
+# of the source tree for dist 4.0.
+#
+# $Log: manilist.SH,v $
+# Revision 3.0.1.3 1994/10/29 15:42:42 ram
+# patch36: fixed open precedence problem for perl5
+#
+# Revision 3.0.1.2 1994/01/24 13:52:33 ram
+# patch16: added ~/.dist_profile awareness
+#
+# Revision 3.0.1.1 1993/08/19 06:41:52 ram
+# patch1: leading config.sh searching was not aborting properly
+#
+# Revision 3.0 1993/08/18 12:04:03 ram
+# Baseline for dist 3.0 netwide release.
+#
+
+\$version = '$VERSION';
+\$pl = '$PATCHLEVEL';
+!GROK!THIS!
+$spitshell >>manilist <<'!NO!SUBS!'
+
+# This script scans the MANIFEST.new file and builds some reports.
+
+# The output can be somewhat changed to produce other kind of reports.
+# The format is specified with a leading set of activation character, followed
+# by a ':', and then a set of formatting macros. The leading characters tell
+# when a report line shall be issued:
+# a: all files (shortcut for 'ix')
+# A: all files but the excluded ones
+# f: report for files only
+# d: report for directories only
+# m: report for files/directories found in the MANIFEST.new
+# n: report for files/directories not found in the MANIFEST.new
+# i: included files are listed
+# x: excluded files are listed
+# Then a set of macros introduced by %:
+# %c: the leading one character code defined as follows:
+# . if the file is up to date (i.e. not newer than patchlevel.h)
+# - if the file is present in the manifest but is missing
+# > if the file has changed since last patch.
+# + if the file is not present in the manifest but exists
+# o if the file is not listed but exists and is older than patchlevel.h
+# x if the file in manifest and exists but was excluded
+# ? if the file in manifest but was excluded and does not exist
+# %n: the name of the file (its path from the top directory)
+# %t: time stamp of last modification
+# %d: description from MANIFEST.new file, if any
+# %s: size of the file, in bytes
+
+$format = 'A:%c %n';
+
+# By default, only the source files whith the following extensions are reported
+# (but a -a option will report ALL the files, and a -i option can specify some
+# other extensions as well).
+# .sh .SH .c .h .l .y .man
+
+@include = ('.sh', '.SH', '.c', '.h', '.l', '.y', '.man');
+
+# By default, the following extensions are excluded from the list. More
+# exclusions can be added with the -x option:
+# ^core .o .bak .rej .new .old .orig ,v
+
+@exclude = ('^core', '.o', '.bak', '.rej', '.new', '.old', '.orig', ',v');
+
+# The column separator character (or string) is used to separate each formatted
+# column on the output. Formatting is requested by adding a '|' character in
+# the format string. A new separator can be specified via the -C option.
+# The maximum column size is fixed by the -L.
+
+$col_separator = ' ';
+$col_size = '';
+
+&profile; # Read ~/.dist_profile
+require 'getopts.pl';
+require 'stat.pl';
+&usage unless &Getopts('abcdhntVi:f:p:s:w:x:C:L:I:X:');
+
+&usage if $opt_h;
+if ($opt_V) {
+ print "manilist $version PL$pl\n";
+ exit 0;
+}
+
+# Go to the top of the package, and update any file name given as argument
+# by prepending the needed path. The process then performs a chdir to the
+# top.
+unless ($opt_b) {
+ chop($pwd = `pwd`) unless -f '.package';
+ until (-f '.package') {
+ die "No .package file! Run packinit.\n" unless $pwd;
+ chdir '..' || die "Can't cd ..\n";
+ $pwd =~ s|(.*)/(.*)|$1|;
+ $prefix = $2 . '/' . $prefix;
+ }
+ if ($prefix) {
+ for (@ARGV) {
+ s/^\.$/$prefix/ && next;
+ s/^/$prefix/ unless m|^[-/]|;
+ }
+ }
+}
+
+# We now are at the top level
+
+# Build up the file hierarchy filter in @filter
+foreach $entry (@ARGV) {
+ $entry =~ s|/$||; # Remove final / in directory names
+ if (-d $entry) {
+ push(@filter, "d:$entry");
+ } elsif (-f $entry) {
+ push(@filter, "f:$entry");
+ } else {
+ die "$entry: No such file or directory.\n";
+ }
+}
+
+$prefix = '.' unless $prefix;
+($top = $prefix) =~ s|/$||;
+$top = '.' if $opt_t; # Start from top, not from original dir
+@ARGV = ($top) unless @ARGV;
+
+if ($opt_n) { # "manifest" files are found by scanning the directory
+ open(MANIFEST, "find @ARGV -print|") || die "Can't run find: $!\n";
+ while (<MANIFEST>) {
+ chop;
+ s|^./||;
+ push(@manifest, $_);
+ }
+ close MANIFEST;
+} else {
+ $MANIFEST = $opt_f;
+ $MANIFEST = 'MANIFEST.new' unless $opt_f;
+ open(MANIFEST, $MANIFEST) || die "Can't open $MANIFEST: $!\n";
+ while (<MANIFEST>) {
+ chop;
+ s|^./||;
+ s|^(\S+)||;
+ local($name) = $1;
+ push(@manifest, $name);
+ m|^\s+(\d+)*\s*(.*)| && ($comment{$name} = $2);
+ }
+ close MANIFEST;
+}
+
+# If we have to compare the files in the MANIFEST with the actual files on
+# the file system, then grab them...
+if ($opt_c && !$opt_n) {
+ open(FILES, "find @ARGV -print|") || die "Can't run find: $!\n";
+ while (<FILES>) {
+ chop;
+ s|^./||;
+ push(@files, $_);
+ }
+ close FILES;
+}
+
+# If there is a patchlevel.h file, get its time stamp.
+$pl_mtime = 0;
+$pl_mtime = (stat('patchlevel.h'))[$ST_MTIME] if -f 'patchlevel.h';
+
+# Dealing with command-line options
+$format = $opt_p if $opt_p;
+$col_separator = $opt_C if $opt_C;
+$col_size = $opt_L if $opt_L;
+unless ($opt_p) { # -p may be used as a shortcut for -w and -s
+ local($which) = ($format =~ /^(\w+):/);
+ local($string) = ($format =~ /^\w+:(.*)/);
+ $which = $opt_w if $opt_w;
+ $string = $opt_s if $opt_s;
+ $format = "$which:$string";
+}
+@include = split(' ', $opt_I) if $opt_I; # First reset included with -I
+@exclude = split(' ', $opt_X) if $opt_X; # and excluded with -X
+push(@include, split(' ', $opt_i)) if $opt_i; # before applying additions
+push(@exclude, split(' ', $opt_x)) if $opt_x;
+&mode_opt; # Compute $mode_xxx variables
+&init_functions; # Compile &included and &excluded
+
+# Option -d requests dumping of inclusion and exclusion lists on stderr
+if ($opt_d) {
+ print STDERR "Included: ", join(' ', @include), "\n";
+ print STDERR "Excluded: ", join(' ', @exclude), "\n";
+}
+
+@manifest = sort @manifest;
+@files = sort @files if defined(@files);
+
+# Build up the %manifest array so that we quickly know whether a file is in the
+# manifest or not.
+foreach (@manifest) {
+ ++$manifest{$_};
+}
+
+# Now loop other the files held in @manifest and perform your job...
+foreach $mani (@manifest) {
+ if ($opt_c && !$opt_n) { # Check MANIFEST with actual files on disk
+ for (;;) {
+ $disk = $files[0]; # Next file coming up
+ last unless $disk;
+ last if $disk gt $mani; # Past the current point
+ shift(@files); # Remove the file from list
+ last if $disk eq $mani; # Reached the manifest point
+ # This means the file is before the current MANIFEST point
+ &report($disk); # File exists and not in MANIFEST
+ }
+ }
+ &report($mani);
+}
+
+&flush_report; # Flush the @Report array if formatting is needed
+
+# Print usage and exit with a non-zero status
+sub usage {
+ print STDERR <<EOH;
+Usage: manilist [-abcdhnptV] [-i ext] [-f manifest] [-p format] [-s string]
+ [-w which] [-x ext] [-C separator] [-I included] [-L colsize]
+ [-X excluded] [files]
+ -a : report for all the files, regardless of (dis)allowed extensions.
+ -b : take current directory as base top (do not look for .package).
+ -c : check files against those in manifest and report differences.
+ -d : dump include and exclude lists on stderr.
+ -f : specify an alternate MANIFEST.new file.
+ -h : print this help message.
+ -i : specify a new extension to be included in the list of scanned files.
+ -n : do not use any MANIFEST file, rather scan directories for files.
+ -p : set new printing format (default is '$format'), shortcut for -s and -w.
+ -s : set string to be printed (with escapes) for each file on report.
+ -t : start from top directory, regardless of current dir.
+ -w : give leading letter(s) for printing format (file selection on report).
+ -x : give a new extension to be excluded from the list of scanned files.
+ -C : specify column separator (replaces '|' in format string).
+ -I : override default include list (space separated).
+ -L : specify maximum column size before truncation (',' separated).
+ -V : print version number.
+ -X : override default exclude list (space separated).
+EOH
+ exit 1;
+}
+
+# Set up $mode_xxx variables, where xxx is one of the options which may be set
+# in the printing mode. For instance, $mode_i is true if and only if 'i' is
+# mentionnned in the printing mode.
+sub mode_opt {
+ local($fmt) = $format;
+ $fmt =~ s/^(\w+)://;
+ local($mode) = $1;
+ $mode .= 'ix' if $mode =~ /a/;
+ local($mode_eval) = '';
+ foreach (split(//, $mode)) {
+ $mode_eval .= "\$mode_$_ = 1;"
+ }
+ eval $mode_eval;
+ chop($@) && die "Can't set mode variables: $@.\n";
+}
+
+# Write a report about a file, either on stdout or into @Report if some
+# formatting post-processing is needed (aligned on '|' characters in the
+# report format string).
+sub report {
+ local($file) = @_;
+ return unless &report_wanted($file);
+
+ local($fmt) = $format;
+ local($postproc) = 0; # Do we need formatting post-processing ?
+ $fmt =~ s/^\w+://;
+ $fmt =~ s/\|/\02/g && ($postproc = 1); # Formatted colum separator
+
+ # If neither 'd' nor 'f' is specified, then all the files are candidate
+ # for report. Specifying 'df' is the same, but is less efficient.
+ if (($mode_d || $mode_f) && -e $file) { # File exists on disk
+ return if -f _ && !$mode_f;
+ return if -d _ && !$mode_d;
+ }
+
+ # Mode 'm' and 'n', if present, respectively ask for a report when a file
+ # is in the manifest and when a file is not in the manifest. Not specifying
+ # any of those modes is the same as specifying both of them.
+ local($in_mani) = defined $manifest{$file};
+ if ($mode_m || $mode_n) {
+ return if $in_mani && !$mode_m;
+ return if !$in_mani && !$mode_n;
+ }
+
+ # Mode 'i' and 'x' are used to control included and excluded files. By
+ # default all the files not excluded are reported. Specifying 'x' also asks
+ # for excluded files. The 'i' restricts the report to included files.
+ local($included) = $mode_i ? &included($file) : 1;
+ local($excluded) = &excluded($file);
+ if (!$included || $excluded) {
+ return if !$mode_x && $excluded;
+ return if ($mode_i && !$included) && !$excluded;
+ }
+
+ local($c_macro);
+ local($mtime) = (stat($file))[$ST_MTIME];
+ if ($in_mani) { # File in MANIFEST
+ if (-e $file) { # And file exists
+ $c_macro = '.' if $mtime <= $pl_mtime;
+ $c_macro = '>' if $mtime > $pl_mtime;
+ $c_macro = 'x' if &excluded($file);
+ } else {
+ $c_macro = '-';
+ $c_macro = '?' if &excluded($file);
+ }
+ } else { # File not in MANIFEST
+ if (-e $file) { # And file exists
+ $c_macro = $mtime < $pl_mtime ? 'o' : '+';
+ } else {
+ return if -l $file;
+ warn "$file seems to have been removed...\n";
+ }
+ }
+
+ # Perform the macro substitution
+ $fmt =~ s/%%/\0/g; # Escape %%
+ $fmt =~ s/%/\01/g; # Transform %, in case substitution add some
+ $fmt =~ s/\01c/$c_macro/g; # %c is the code
+ $fmt =~ s/\01n/$file/g; # %n is the file name
+ $fmt =~ s/\01t/&fstamp/ge; # %t is the time stamp
+ $fmt =~ s/\01s/&fsize/ge; # %s is the file size, in bytes
+ $fmt =~ s/\01d/&mdesc/ge; # %d is the manifest description
+ $fmt =~ s/\01/%/g; # All other %'s are left undisturbed
+
+ print "$fmt\n" unless $postproc;
+ push(@Report, $fmt) if $postproc;
+}
+
+# Format and flush report on stdout. Columns are aligned on what was originally
+# a '|' character in the format string, translated into a ^B by the reporting
+# routine.
+sub flush_report {
+ return unless @Report; # Early return if nothing to be done
+ local(@length); # Stores maximum length for each field
+ local(@max); # Maximum allowed column sizes
+ local($i);
+ local($report);
+ local($len);
+ local(@fields);
+ @max = split(',', $col_size);
+ foreach $report (@Report) { # First pass: compute fields lengths
+ $i = 0;
+ foreach (split(/\02/, $report)) {
+ $len = length($_);
+ $length[$i] = $length[$i] < $len ? $len : $length[$i];
+ $i++;
+ }
+ }
+ for ($i = 0; $i < @length; $i++) { # Adapt to maximum specified length
+ $length[$i] = $max[$i] if $max[$i] > 0 && $length[$i] > $max[$i];
+ }
+ foreach $report (@Report) { # Second pass: formats each line
+ @fields = split(/\02/, $report);
+ $i = 0;
+ foreach (@fields) {
+ $len = length($_);
+ if ($max[$i] > 0 && $len > $max[$i]) {
+ $_ = substr($_, 0, $max[$i]); # Truncate field
+ } else {
+ $_ .= ' ' x ($length[$i] - $len); # Pad with blanks
+ }
+ $i++;
+ }
+ print join($col_separator, @fields), "\n";
+ }
+}
+
+# The following macro subsitution functions are called with $file set
+
+# Return the modification time on file
+sub fstamp {
+ (stat($file))[$ST_MTIME];
+}
+
+# Return the file size, in bytes
+sub fsize {
+ (stat($file))[$ST_SIZE];
+}
+
+# Return the description from the MANIFEST file, if any
+sub mdesc {
+ return '' unless defined $comment{$file};
+ $comment{$file};
+}
+
+# Do we have to report informations on the specified file?
+sub report_wanted {
+ return 1 unless @filter;
+ local($file) = @_;
+ local($filter);
+ foreach (@filter) {
+ $filter = $_; # Work on a copy
+ if ($filter =~ s/^d://) {
+ return 1 if $file =~ m|^$filter(/[^/]*)*|;
+ } else {
+ $filter =~ s/^f://;
+ return 1 if $filter eq $file;
+ }
+ }
+ return 0;
+}
+
+# Build up the 'included' and 'excluded' functions which return true if a file
+# is in the include or exclude set.
+sub init_functions {
+ &build_function('included', *include, 1);
+ &build_function('excluded', *exclude, 0);
+}
+
+# Build a function which returns true if a given name is found in the array
+# list of regular expression. Each regular expression is applied on the file
+# name, anchored at the end. False is returned only if none of the expressions
+# match. The purpose of building such a function dynamically is to avoid the
+# costly pattern recompilation every time.
+sub build_function {
+ local($name) = shift(@_); # The name of the function to be built
+ local(*array) = shift(@_); # The extension array we have to check with
+ local($dflt) = shift(@_); # Default value when -a is used
+ local($fn) = &q(<<EOF); # Function being built.
+:sub $name {
+: return $dflt if \$opt_a; # All files are included, none excluded.
+: local(\$_) = \@_;
+: study;
+EOF
+ foreach (@array) {
+ $ext = $_; # Work on a copy
+ # Convert shell-style globbing into perl's RE meta-characters
+ $ext =~ s/\./\\./g; # Escape .
+ $ext =~ s/\?/./g; # ? turns into .
+ $ext =~ s/\*/.*/g; # And * turns into .*
+ $fn .= &q(<<EOL);
+: return 1 if /$ext\$/;
+EOL
+ }
+ $fn .= &q(<<EOF);
+: 0; # None of the extensions can be applied to the file
+:}
+EOF
+ eval $fn;
+ chop($@) && die "Can't compile '$name':\n$fn\n$@.\n";
+}
+
+# Remove ':' quotations in front of the lines
+sub q {
+ local($_) = @_;
+ s/^://gm;
+ $_;
+}
+
+!NO!SUBS!
+$grep -v '^;#' ../pl/tilde.pl >> manilist
+$grep -v '^;#' ../pl/profile.pl >> manilist
+chmod 755 manilist
+$eunicefix manilist
diff --git a/bin/manilist.man b/bin/manilist.man
new file mode 100644
index 0000000..5d51c53
--- /dev/null
+++ b/bin/manilist.man
@@ -0,0 +1,332 @@
+.\" $Id: manilist.man 3 2006-08-25 21:39:07Z rmanfredi $
+.\"
+.\" Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+.\"
+.\" You may redistribute only under the terms of the Artistic Licence,
+.\" as specified in the README file that comes with the distribution.
+.\" You may reuse parts of this distribution only within the terms of
+.\" that same Artistic Licence; a copy of which may be found at the root
+.\" of the source tree for dist 4.0.
+.\"
+.\" $Log: manilist.man,v $
+.\" Revision 3.0.1.3 1995/05/12 11:57:31 ram
+.\" patch54: updated my e-mail address
+.\"
+.\" Revision 3.0.1.2 1994/01/24 13:52:55 ram
+.\" patch16: typo fix
+.\"
+.\" Revision 3.0.1.1 1993/08/24 12:11:02 ram
+.\" patch3: typo fix
+.\"
+.\" Revision 3.0 1993/08/18 12:04:04 ram
+.\" Baseline for dist 3.0 netwide release.
+.\"
+.\"
+.TH MANILIST 1 ram
+.SH NAME
+manilist \- report status of files in a source directory
+.SH SYNOPSIS
+.B manilist
+[
+.B \-abcdhnptV
+] [
+.B \-i
+.I extension
+] [
+.B \-f
+.I manifest
+] [
+.B \-p
+.I format
+] [
+.B \-s
+.I string
+] [
+.B \-w
+.I which
+] [
+.B \-x
+.I extension
+] [
+.B \-C
+.I separator
+] [
+.B \-I
+.I included
+] [
+.B \-L
+.I colsize
+] [
+.B \-X
+.I excluded
+] [
+.I files or directories
+]
+.SH DESCRIPTION
+.I Manilist
+scans a source directory and produces a report on the status of each file:
+whether it is up-to-date or not with respect to
+.I patchlevel.h ,
+if it is missing from MANIFEST.new, and some other useful information which
+may be dynamically configured. It can be use to maintain a MANIFEST.new file,
+produce a detailed listing and status of a group of directories, etc... The
+rich set of options concur to make \fImanilist\fR a perfect low-level tool.
+.PP
+Under its simplest invocation form at the top level directory of a package,
+with no arguments, \fImanilist\fR will scan the MANIFEST.new and produce
+a report on the status of each file listed there. Each line starts with a
+single character flag which indicates the state of the file, followed by the
+name of the file.
+.PP
+What happens in fact is more complex than that. \fIManilist\fR scans the
+MANIFEST.new file and then loops over all the files listed there. Internally,
+\fImanilist\fR maintains an inclusion and an exclusion list, both specifying
+extensions for files. For instance, the inclusion list could be ('.c', '.h')
+and the exclusion ('.o', ',v') so that C sources are included and object
+or RCS files excluded. By default, all files but those excluded are used.
+Some other selections may be applied at this stage, as will be explained later
+on. For those files which pass this selection process, a report is issued
+according to a report \fIformat\fR, which by default is "\fIA:%c %n\fR".
+The letter \fIA\fR (or anything before the initial ':' character is the
+file selection specification we've been talking about. The remaining is the
+formatting, a string which is printed as-is, modulo some escape sequences.
+It so happens that \fI%c\fR is the character flag and \fI%n\fR is the name
+of the current file.
+.PP
+Generally speaking, \fImanilist\fR should be regarded as a tool which emits
+configurable reports on a set of files, selectively picking them among a list
+or by directly scanning the directories to see what's out there...
+.PP
+By specifying a set of directories or files as arguments on the command line,
+you restrict the scanning area, limiting to reports concerning those files
+or directories. If you do not specify any, manilist restricts its report to
+the current directory and its subdirectories, unless the \fB\-t\fR option is
+given.
+.SH OPTIONS
+.I Manilist
+recognizes the following options:
+.TP 15
+.B \-a
+Make a report for \fIall\fR the files, regardless of what is specified by
+the \fIincluded\fR and \fIexcluded\fR suffix lists.
+.TP
+.B \-b
+Assume current directory is the base (root) of the package tree. When this
+option is not specified, \fImanilist\fR will look for a \fI.package\fR file
+to indicate the root directory of the package (also called the top) and
+complain if it does not find it.
+.TP
+.B \-c
+Check files against those listed in MANIFEST.new (or whatever file specified
+via the \fB\-f\fR option) and report discrepancies via the \fI%c\fR macro.
+.TP
+.B \-d
+Dump included and excluded suffix lists on stderr, extensions being space
+separated. A good way to know the default lists is to run: \fImanilist
+\-f /dev/null \-bd.
+.TP
+.B \-f\fI manifest
+Specify an alternate manifest file, the default being to use MANIFEST.new.
+.TP
+.B \-h
+Print the usage help message and exit.
+.TP
+.B \-i\fI extensions
+Add new extensions to the included suffix list. The \fIextensions\fR argument
+must list the suffixes separated by spaces, as in \fB\-i\fI '.ph .pl'\fR to add
+both \fI.ph\fR and \fI.pl\fR to the existing suffixes. Note that the argument
+needs to be quoted to protect spaces against shell interpretation.
+.TP
+.B \-n
+Do not use any manifest file. Rather scan the directories and act as with all
+the files there were already listed in a manifest.
+.TP
+.B \-p\fI format
+Set the new printing format, which has the form \fIselection\fR:\fIstring\fR,
+with \fIselection\fR being a list of single letters specifying which files
+from the manifest are to be used for reports, and \fIstring\fR being a
+message to print as report, with some macro substitutions. It is also possible
+to have column formatting by specifying a '|' inside the string to delimit
+the different columns you wish to see. See also \fB\-C\fR and \fB\-L\fR for
+more formatting parameters.
+.TP
+.B \-s\fI string
+Specify the \fIstring\fR part of the printing format (see \fB\-p\fR for a
+general description of the \fIformat\fR). Available macros are listed further
+down the manual page.
+.TP
+.B \-t
+Start from the top directory (the root directory of the distribution) regardless
+of the current directory. There must be a \fI.package\fR file to indicate
+what the top directory is.
+.TP
+.B \-w\fI selection
+Specifiy the \fIselection\fR part of the printing format. Available selections
+will be discussed later.
+.TP
+.B \-x\fI extensions
+Add new extensions to the excluded suffix list. The \fIextensions\fR argument
+must list the suffixes separated by spaces, as in \fB\-x\fI '.s .p'\fR to add
+both \fI.s\fR and \fI.p\fR to the existing list. Note that the argument
+needs to be quoted to protect spaces against shell interpretation.
+.TP
+.B \-C\fI separator
+Give the column separator, which is to be used in place of the '|' character
+in the report format string. By default, it is a single space.
+.TP
+.B \-I\fI included
+Specify a new list of suffixes to be included in the reports. This overrides
+the original default list (whereas \fB\-i\fR is used to \fIadd\fR suffixes to
+the list). Suffixes must be space separated.
+.TP
+.B \-L\fI colsize
+When using column formatting (the '|' character being used to denote columns),
+this option may be used to specify the maximum column width, separating each
+width by a single ','. Leaving a width unspecified does not impose any limit
+on its width. For instance, if the format string is \fI%n|%d|%t\fR, one could
+limit the middle column (descriptions from MANIFEST.new) to 40 characters and
+the name column (first one) to 15 characters, leaving the last one with no
+imposed limits, by using \fB\-L\fI 15,40,\fR.
+.TP
+.B \-V
+Print version number and exit.
+.TP
+.B \-X\fI excluded
+Specify a new list of suffixes to be excluded in the reports. This overrides
+the original default list (whereas \fB\-x\fR is used to \fIadd\fR suffixes to
+the list). Suffixes must be space separated.
+.SH USING FORMATS
+The flexibility of \fImanilist\fR is brought by its use of a dynamic formatting
+string for providing its reports. It is possible to specify a format via the
+\fB\-p\fR option or just parts of it: the text string via \fB\-s\fR and the
+file selection with \fB\-w\fR.
+.SS "File Selection"
+.PP
+The leading part of the formatting string tells \fImanilist\fR which files you
+wish to see in the final report. Available selectors are:
+.sp
+.PD 0
+.TP 5
+.B A
+All the files but the excluded ones (i.e. those files whose suffix is listed
+in the exclusion list). This is the default action.
+.TP
+.B a
+All the files included and/or excluded (shortcut for \fIix\fR). Note that files
+which are neither included nor excluded will not appear in the report.
+.TP
+.B d
+Report only for directories.
+.TP
+.B f
+Report only for files.
+.TP
+.B i
+Only included files are listed.
+.TP
+.B m
+Only those files or directories found in the manifest are listed.
+.TP
+.B n
+Only those files or directories \fInot\fR found in the manifest are listed.
+.TP
+.B x
+Only excluded files are listed.
+.PD
+.PP
+When you specify more than one letter, the resulting report depends on the
+nature of the selection. For \fId\fR, \fIf\fR, \fIm\fR and \fIn\fR, a logical
+union is performed. This means specifying \fIfd\fR or \fImn\fR is the same
+as not specifying anything, but it's less efficient since \fImanilist\fR is
+forced to perform the checks it would otherwise bypass. The \fIi\fR and \fIx\fR
+selectors are special: by default, all the files not excluded are reported.
+Specifying \fIx\fR also asks for excluded files. Specifying \fIi\fR restricts
+the report to the included files. Using both at the same time (\fIix\fR) will
+force a report for files which are included or excluded.
+.SS "Macro Substitution"
+.PP
+The string part of the report format can make use of the following macros:
+.sp
+.PD 0
+.TP 5
+%c
+A character coding the status of the file.
+.TP
+%d
+Description from the manifest file, if any.
+.TP
+%n
+Name of the file (its path from the top directory).
+.TP
+%s
+Size of the file, in bytes.
+.TP
+%t
+Time stamp of the last modification.
+.PD
+.SS "File Status"
+.PP
+The \fI%c\fR macro, giving a single character coding the file status, can
+expand into one of the following.
+.PD 0
+.TP 5
+\&.
+The file is up to date (not newer than \fIpatchlevel.h\fR).
+.TP
+-
+The file is present in the manifest but is missing.
+.TP
+>
+The file has been modified since last patch (newer than \fIpatchlevel.h\fR).
+.TP
++
+The file exists but is not listed in the manifest.
+.TP
+o
+The file exists but is not listed in the manifest and is older than
+\fIpatchlevel.h\fR
+.TP
+x
+The file is listed in the manifest and exists, but has been excluded. Naturally,
+this will appear in the report only if the \fIx\fR selector is given in the
+report format.
+.TP
+?
+The file is listed in the manifest, does not exist, and was excluded.
+.PD
+.SH EXAMPLES
+The command
+.in +5
+.nf
+.sp
+\fImanilist -ct -p 'ni:%n'\fR
+.sp
+.fi
+.in -5
+will list all the source files from your distribution which are not listed
+in your MANIFEST.new file. Note that this includes only "source" files, that
+is to say files whose extension is listed in the inclusion list.
+If you do not wish this restriction, replace the formatting string with
+\fIn:%n\fR (only the excluded files will not appear).
+.PP
+To build an initial MANIFEST file, use:
+.in +5
+.nf
+.sp
+\fImanilist -n -p 'Af:%n' > MANIFEST\fR
+.sp
+.fi
+.in -5
+from the top directory. You will eventually want to fill in descriptions for
+each file listed in the manifest.
+.SH FILES
+.PD 0
+.TP 20
+MANIFEST.new
+Default manifest file, listing files and giving a small description for each
+of them.
+.PD
+.SH AUTHOR
+Raphael Manfredi <ram@hptnos02.grenoble.hp.com>
+.SH "SEE ALSO"
+manifake(1), makedist(1), pat(1).
diff --git a/bin/packinit.SH b/bin/packinit.SH
new file mode 100755
index 0000000..aed01b3
--- /dev/null
+++ b/bin/packinit.SH
@@ -0,0 +1,448 @@
+case $CONFIG in
+'')
+ if test -f config.sh; then TOP=.;
+ elif test -f ../config.sh; then TOP=..;
+ elif test -f ../../config.sh; then TOP=../..;
+ elif test -f ../../../config.sh; then TOP=../../..;
+ elif test -f ../../../../config.sh; then TOP=../../../..;
+ else
+ echo "Can't find config.sh."; exit 1
+ fi
+ . $TOP/config.sh
+ ;;
+esac
+case "$0" in
+*/*) cd `expr X$0 : 'X\(.*\)/'` ;;
+esac
+echo "Extracting bin/packinit (with variable substitutions)"
+cat >packinit <<!GROK!THIS!
+#! /usr/bin/perl
+# feed this into perl
+ eval 'exec perl -S \$0 \${1+"\$@"}'
+ if \$running_under_some_shell;
+
+# $Id: packinit.SH 31 2010-03-06 20:15:24Z rmanfredi $
+#
+# Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+#
+# You may redistribute only under the terms of the Artistic Licence,
+# as specified in the README file that comes with the distribution.
+# You may reuse parts of this distribution only within the terms of
+# that same Artistic Licence; a copy of which may be found at the root
+# of the source tree for dist 4.0.
+#
+# $Log: packinit.SH,v $
+# Revision 3.0.1.4 1997/02/28 14:55:14 ram
+# patch61: fixed one wrong ':' comment in .package
+#
+# Revision 3.0.1.3 1994/10/29 15:43:49 ram
+# patch36: added support for user-defined C and shell file extensions
+# patch36: now asks whether a ChangeLog file is to be managed
+#
+# Revision 3.0.1.2 1994/01/24 13:54:07 ram
+# patch16: can now configure mailing list knowledge from packinit
+#
+# Revision 3.0.1.1 1993/08/19 06:41:53 ram
+# patch1: leading config.sh searching was not aborting properly
+#
+# Revision 3.0 1993/08/18 12:04:05 ram
+# Baseline for dist 3.0 netwide release.
+#
+
+\$orgname='$orgname';
+\$myhostname='$myhostname';
+\$mydomain='$mydomain';
+\$nametype='$nametype';
+!GROK!THIS!
+cat >>packinit <<'!NO!SUBS!'
+
+print <<EOM;
+
+This program designates the current directory as the top level directory
+of a package on which you want to use the programs metaconfig, makedist,
+or the patch generation programs. It will not damage the current directory
+in any way except to create a .package file.
+
+EOM
+
+$mypackver = 3.036; # Base revision number plus patchlevel
+
+if (-f '.package') {
+ &readpackage;
+ if ($packver > $mypackver) {
+ die "This .package file was produced by a newer packinit than I am.\n".
+ "Please find a packinit of version $packver or greater.\n";
+ }
+} elsif (-f '../.package' || -f '../../.package' || -f '../../../.package') {
+ die "Run in top level directory only.\n";
+}
+
+# Now set up to do reads with possible shell escape.
+sub myread {
+ ($rp,$dflt) = @_;
+ $rp .= " [$dflt]";
+ print "$rp ";
+ $ans='!';
+ while ($ans =~ /^!/) {
+ $ans = <STDIN>;
+ chop($ans);
+ if ($ans eq '!') {
+ system '/bin/sh';
+ print "\n$rp ";
+ } elsif ($ans =~ s/^!//) {
+ system '/bin/sh', '-c', $ans;
+ print "\n$rp ";
+ }
+ }
+ $ans = $dflt if $ans eq '';
+ $ans = '' if $ans eq 'none';
+ $ans;
+}
+
+$dflt = $package;
+($dflt) = (`pwd | tr "[A-Z]" "[a-z]"` =~ m|.*/(.*)|) unless $package;
+
+print <<EOM;
+Your package will be known by some name, which should be a single word.
+Generally it is the name of the chief executable program.
+
+EOM
+$package = &myread('What is the name of your package?',$dflt);
+
+if ($baserev ne '') {
+ $dflt=$baserev;
+} else {
+ print "\n";
+ $dflt='';
+ print "Checking RCS files for current version...";
+ @rcs = <RCS/*,v *,v>;
+ $rcs = shift(@rcs);
+ if (! -f $rcs) {
+ $rcs = shift(@rcs);
+ if (! -f $1) {
+ print "I don't see any RCS files there (yet).";
+ $dflt='1.1';
+ }
+ }
+ $revs=0;
+ if ($dflt eq '') {
+ $rlog = `rlog $rcs`;
+ ($dflt) = ($rlog =~ /\nhead:\s*(\d+\.\d+)/);
+ $rlog = `rlog -r$dflt.1- -r$dflt.2- -r$dflt.3- -r$dflt.4- $rcs`;
+ ($revs) = ($rlog =~ /selected revisions:\s*([\d.]+)/);
+ $dflt='1.1' if $dflt eq '';
+ }
+
+ print <<EOM;
+
+To use the patch generating portion of the system, you must have RCS. You
+must begin with a freshly checked-in trunk revision (n.n) and choose a branch
+number for patches. The trunk revision upon which the patch branch is based
+is called the base revision.
+
+EOM
+
+ if ($revs > 1) {
+ print <<EOM;
+(The current revision ($dflt) has branches--you may have to check in a new
+trunk revision, or use patbase to mark the base revisions.)
+EOM
+ ($first,$second) = split(/\./,$dflt);
+ ++$second;
+ $dflt="$first.$second";
+ }
+}
+
+print "\n";
+$foo = &myread('What is or will be the base revision number?', $dflt);
+if ($baserev ne $foo) {
+ $baserev = $foo;
+ $ftpdir = ''; # invalidate ftp directory on version change
+}
+
+print "\n";
+$dflt = ($patchbranch ne '' ? $patchbranch : 1);
+$patchbranch =
+ &myread('What branch number do you want to use for patches?', $dflt);
+
+$dflt = $cext eq '' ? 'none' : $cext;
+print <<EOM;
+
+Metaconfig will lookup for files listed in MANIFEST.new to scan for
+known symbols. If you have non-standard extensions containing some
+C symbols, you may wish to list them there, separating them with white
+spaces and using shell regular expressions, such as '.xs .p .t' to let
+metaconfig know about them. Say "none" for none.
+
+EOM
+$cext = &myread('Additional file extensions to identify C files?', $dflt);
+$cext = '' if $cext eq 'none';
+
+$dflt = $shext eq '' ? 'none' : $shext;
+print <<EOM;
+
+Likewise, metaconfig needs to know about the files containing at least
+some shell symbols. Automatic symbol substitution will be performed on
+the .SH files only, but you may want metaconfig to scan other files as
+well, provided you ensure proper variable substitutions by your own
+means. Please add extensions using shell-style regexps. Say "none" if
+no specific file extensions are used.
+
+EOM
+$shext = &myread('Additional file extensions to identify SH files?', $dflt);
+$shext = '' if $shext eq 'none';
+
+$dflt = $copyright eq ' ' ? 'n' : 'y';
+print <<'EOM';
+
+If you wish, you may use a generic copyright. This is appropriate if all
+your source file have to be distributed under the same conditions. Using
+this facility means you will not be able to change the copyright notice
+between patches (i.e. while in the same version number). All you need to
+do is write a copyright file containing the proper copyright notice, and
+then use @COPYRIGHT@ within your source code (before any RCS marker). That
+will be extended to the full copyright, preserving any leading comment.
+
+EOM
+$use_copyright = &myread('Do you wish to use a generic copyright?', $dflt);
+if ($use_copyright =~ /^y/i) {
+ print "\n";
+ $copyright = '' if $copyright eq ' '; # They changed their mind!
+ $dflt = $copyright || 'COPYRIGHT';
+ $copyright = &myread('What file do you wish to store it in?', $dflt);
+} else {
+ $copyright = ' '; # Remember they don't want it
+}
+
+if ($use_copyright =~ /^y/i) {
+ $ans = 'yes'; # Yes, use our own diff (have to expand copyright)
+} else {
+ print "\n";
+ $dflt = ($mydiff eq '' ? 'n' : 'y');
+ $ans = &myread(
+ 'Do you want to use your own diff (rather than rcsdiff -c) for patches?',
+ $dflt);
+}
+if ($ans =~ /^n/i) {
+ $mydiff='';
+} else {
+ print "\n";
+ $dflt = $mydiff || 'diff -c';
+ $mydiff = &myread('What diff command do you want to use?', $dflt);
+}
+
+$dflt = $changelog eq ' ' ? 'n' : 'y';
+print <<'EOM';
+
+I can set up things so that a ChangeLog file is maintained automatically.
+This file will contain the description which is filled in into every issued
+patches, and optionally, the list of RCS logs for each modified file. The
+ChangeLog file is sorted in reverse order of issued patches, i.e. the most
+recent changes are at the top of the file.
+
+EOM
+$use_changelog = &myread('Do you wish me to maintain a ChangeLog file?', $dflt);
+if ($use_changelog =~ /^y/i) {
+ print "\n";
+ $changelog = '' if $changelog eq ' '; # They changed their mind!
+ $dflt = $changelog || 'ChangeLog';
+ $changelog = &myread('What file do you wish to store changes in?', $dflt);
+ $dflt = $changercs ? 'y' : 'n';
+ print "\n";
+ $ans = &myread('Do you wish to include RCS logs as well?', $dflt);
+ $changercs = $ans =~ /^y/i;
+} else {
+ $changelog = ' '; # Remember they don't want it
+ $changercs = 0;
+}
+
+print <<EOM;
+
+Over the lifetime of the $package package, people will want to request
+distribution kits and patches. In particular, automatically generated
+patches will say where to get previous patches from.
+
+EOM
+$logname = &getlogname;
+$dflt = $maintname || &getfullname($logname);
+$maintname = &myread('Who should requests be sent to (full name)?', $dflt);
+
+print <<EOM;
+
+Now you need to give a one-line network mailing address for $maintname.
+It does not need to be parseable by machine, but can be of the form:
+
+ {name1,name2,name3}!myhost!myname
+
+ or
+
+ myname\@myhost.domain
+
+EOM
+$dflt = $maintloc || "$logname\@$myhostname$mydomain";
+$maintloc = &myread('What is the network mailing address?', $dflt);
+
+print "\n";
+$dflt = $ftpsite ? 'y' : 'n';
+$ans = &myread(
+ 'Will you put patches where they can be acquired by anonymous FTP?',$dflt);
+if ($ans =~ /^n/i) {
+ $ftpsite='';
+} else {
+ print "\n";
+ $dflt = $ftpsite;
+ ($dflt = $maintloc) =~ s/.*@([^\s,()]*).*/$1/ unless $dflt;
+ $ftpsite = &myread('What is the Internet sitename for that?',$dflt);
+}
+
+print <<EOM;
+
+If you have mailagent installed (posted in comp.sources.misc), you may choose
+to distribute patches via e-mail and have all the issued patches mention
+this, as well as instructions telling how to get those (missing) patches.
+
+EOM
+$dflt = $mailagent eq 'true' ? 'y' : 'n';
+$mailagent = &myread(
+ 'Do you wish to let people retrieve patches via mailagent?', $dflt);
+$mailagent = ($mailagent =~ /^y/i) ? 'true' : 'false';
+
+print "\n";
+$dflt = $list_users eq 'true' ? 'y' : 'n';
+$list_users = &myread(
+ "Do you have a mailing list set up for $package users?", $dflt);
+$list_users = ($list_users =~ /^y/i) ? 'true' : 'false';
+
+if ($list_users eq 'true') {
+ print "\n";
+ $dflt = $list_name || "$package-users";
+ $list_name = &myread('How is the mailing list named?', $dflt);
+
+ print <<EOM;
+
+The $list_name mailing list is now to be defined in terms of e-mail
+addresses where users can send messages to the whole list (that's the
+mailing list address) or send administrative requests to subscribe or
+unsubscribe among other things (that's the administrative mailing
+address). Usually, this last address will turn out to be that of a
+mailing list manager program like majordomo or listserv.
+
+EOM
+ $dflt = $list_addr || "$list_name\@$myhostname$mydomain";
+ $list_addr = &myread('What is Internet mailing list address?', $dflt);
+
+ print "\n";
+ ($list_domain) = $list_addr =~ /^[\w-]+\@(.*)/;
+ $list_domain = "$myhostname$mydomain" unless $list_domain;
+ $dflt = $list_request || "$list_name-request\@$list_domain";
+ $list_request = &myread('What is administrative mailing address?', $dflt);
+
+ %mlm = (
+ 'majordomo',
+ "subscribe $list_name \$cf_email;unsubscribe $list_name \$cf_email",
+ 'listserv',
+ "SUBSCRIBE $package \$cf_name;UNSUBSCRIBE $package",
+ 'human',
+ "subscribe $list_name \$cf_email;unsubscribe $list_name \$cf_email",
+ );
+
+ print "\n";
+ ($dflt) = $list_request =~ /^([\w-]+)\@/;
+ $dflt =~ tr/A-Z/a-z/;
+ $list_cmds = $mlm{$dflt};
+ $dflt = 'human' if $list_cmds eq '';
+ $old_list_manager = $list_manager;
+ $list_manager = &myread(
+ 'What type of mailing list manager are you using?', $dflt);
+ $list_manager =~ tr/A-Z/a-z/;
+ $list_sub = $list_unsub = '' if $old_list_manager ne $list_manager;
+
+ $list_cmds = $mlm{$list_manager};
+ $list_cmds = $mlm{'human'} if $list_cmds eq '';
+ @list_cmds = split(/;/, $list_cmds);
+
+ print <<'EOM';
+
+In the next two questions, you may use the following variables in your
+answers:
+
+ $cf_email e-mail address of the user
+ $cf_name full name of the user
+
+Those variables will be set by Configure prior sending the requests to
+the administrative mailing list address.
+
+EOM
+ $dflt = $list_sub || $list_cmds[0];
+ $list_sub = &myread('Subscribe command?', $dflt);
+ print "\n";
+ $dflt = $list_unsub || $list_cmds[1];
+ $list_unsub = &myread('Unsubscribe command?', $dflt);
+}
+
+print "\n";
+$dflt = $orgname || $ENV{'ORGANIZATION'};
+$orgname = &myread('Organization:',$dflt);
+$orgname = &tilda_expand($orgname); # Can specify filename with ~user
+
+print "\n";
+$dflt = $newsgroups || 'comp.sources.bugs';
+$newsgroups = &myread('Newsgroup(s) to post patches to:', $dflt);
+
+print "\n";
+$dflt = $recipients || 'source-archives@mirror.TMC.COM';
+$recipients = &myread('Recipient(s) to send patches to:',$dflt);
+
+if ($ftpsite) {
+ print "\n";
+ $dflt = $ftpdir || "/usr/spool/ftp/pub/$package.$baserev/patches";
+ $ftpdir = &myread('FTP directory to copy patches to:',$dflt);
+} else {
+ $ftpdir = '';
+}
+
+print "\nCreating .package...\n";
+open(PACKAGE, '>.package') || die "Can't create .package";
+chop($date = `date`);
+print PACKAGE <<EOF;
+: This file was created by running packinit on $date.
+: Do not hand edit -- run packinit again if changes are to be made.
+packver='$mypackver'
+: Basic variables
+package=$package
+baserev=$baserev
+patchbranch=$patchbranch
+copyright='$copyright'
+mydiff='$mydiff'
+maintname='$maintname'
+maintloc='$maintloc'
+ftpsite='$ftpsite'
+orgname='$orgname'
+newsgroups='$newsgroups'
+recipients='$recipients'
+ftpdir='$ftpdir'
+mailagent='$mailagent'
+changelog='$changelog'
+changercs=$changercs
+: File lookup extensions
+cext='$cext'
+shext='$shext'
+: Mailing list variables
+list_users='$list_users'
+list_name='$list_name'
+list_addr='$list_addr'
+list_request='$list_request'
+list_manager='$list_manager'
+list_sub='$list_sub'
+list_unsub='$list_unsub'
+: Derivative variables -- do not change
+revbranch=\"\$baserev.\$patchbranch\"
+EOF
+
+!NO!SUBS!
+$grep -v '^;#' ../pl/package.pl >>packinit
+$grep -v '^;#' ../pl/logname.pl >>packinit
+$grep -v '^;#' ../pl/fullname.pl >>packinit
+$grep -v '^;#' ../pl/tilde.pl >>packinit
+chmod 755 packinit
+$eunicefix packinit
diff --git a/bin/packinit.man b/bin/packinit.man
new file mode 100644
index 0000000..bfadfe4
--- /dev/null
+++ b/bin/packinit.man
@@ -0,0 +1,148 @@
+.\" $Id: packinit.man 3 2006-08-25 21:39:07Z rmanfredi $
+.\"
+.\" Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+.\"
+.\" You may redistribute only under the terms of the Artistic Licence,
+.\" as specified in the README file that comes with the distribution.
+.\" You may reuse parts of this distribution only within the terms of
+.\" that same Artistic Licence; a copy of which may be found at the root
+.\" of the source tree for dist 4.0.
+.\"
+.\" $Log: packinit.man,v $
+.\" Revision 3.0.1.4 1995/07/25 13:31:38 ram
+.\" patch56: fixed a typo
+.\"
+.\" Revision 3.0.1.3 1995/05/12 11:57:38 ram
+.\" patch54: updated my e-mail address
+.\"
+.\" Revision 3.0.1.2 1994/10/29 15:45:17 ram
+.\" patch36: added new variables cext, shext, changelog and changercs
+.\"
+.\" Revision 3.0.1.1 1994/01/24 13:54:31 ram
+.\" patch16: now documents variables set in .package by packinit
+.\"
+.\" Revision 3.0 1993/08/18 12:04:06 ram
+.\" Baseline for dist 3.0 netwide release.
+.\"
+.\"
+.TH PACKINIT 1 ram
+.SH NAME
+packinit \- initialize or update your .package file
+.SH SYNOPSIS
+.B packinit
+.SH DESCRIPTION
+.B Packinit
+will create (or update) a \fI.package\fR file, so that all the
+.B dist
+tools can be smart and know some basic things about your package,
+such as its revision number, or the e-mail address of its maintainer.
+.PP
+.I Packinit
+should be run from the top level directory of your package, before
+using any other \fIdist\fR tool. Later on, you may rerun it to
+update some of its values.
+.I Packinit
+will create a single file and leave the remaining of
+your directory undisturbed.
+.SH VARIABLES
+.I Packinit
+defines the following variables in your \fI.package\fR file:
+.TP 15
+.PD 0
+baserev
+The baseline revision number.
+.TP
+cext
+The list (space separated) of file extensions identifying potential holders of
+C symbols. This is added to the default .[chyl] extension lookup.
+Shell-style patterns may be used.
+.TP
+changelog
+The name of the \fIChangeLog\fR file managed by \fIpatlog\fR.
+.TP
+changercs
+Boolean stating whether RCS logs are to be made part of \fIChangeLog\fR.
+.TP
+copyright
+Name of the file used for Copyright expansion.
+.TP
+ftpdir
+Directory where patches are located on the FTP site.
+.TP
+ftpsite
+Name of the FTP site where patches may be retrieved from.
+.TP
+list_addr
+Address of the package mailing list where users may post messages to.
+.TP
+list_manager
+Type of list manager attached to the list administrative request address.
+.TP
+list_name
+Name of the package users mailing list.
+.TP
+list_request
+Address where subscribe and unsubscribe requests for the package mailing
+list should be sent to.
+.TP
+list_sub
+Format of the subscribe requests.
+.TP
+list_unsub
+Format of the unsubscribe requests.
+.TP
+list_users
+A boolean string set to 'true' when there is a mailing list set up for
+discussion about the package.
+.TP
+mailagent
+A boolean string set to 'true' when people are allowed to retrieve
+patches via mailagent \fI@SH mailpatch\fR commands.
+.TP
+maintloc
+E-mail address of the package maintainer, preferably in Internet format.
+.TP
+maintname
+Full name of the package maintainer.
+.TP
+mydiff
+Name of the \fIdiff\fR program to be used when computing a patch.
+.TP
+newsgroups
+Newsgroup list where new patches should be posted to, empty for no
+postings.
+.TP
+orgname
+Full name of the organization where the package maitainer resides, or
+path to a file containing that name.
+.TP
+package
+Name of the package.
+.TP
+packver
+Version of the \fIpackinit\fR program that built the \fI.package\fR file.
+.TP
+patchbranch
+Name of the RCS branch used to store subsequent updates of a file after
+a baseline has been released.
+.TP
+recipients
+People who should be sent newly issued patches.
+.TP
+shext
+The list (space separated) of file extensions identifying potential holders of
+shell symbols. This is added to the default .SH extension lookup.
+Shell-style patterns may be used. Note that only .SH extensions are looked
+up by Configure for automatic shell extraction with variable substitutions,
+no matter what this variable is set to.
+.PD
+.SH FILE
+.TP 15
+\&.package
+File holding all the package-related values
+.SH AUTHORS
+Larry Wall <lwall@netlabs.com> (version 2.0)
+.br
+Raphael Manfredi <ram@hptnos02.grenoble.hp.com>
+.SH "SEE ALSO"
+dist(7).
diff --git a/bin/perload b/bin/perload
new file mode 100755
index 0000000..e9e5544
--- /dev/null
+++ b/bin/perload
@@ -0,0 +1,648 @@
+#! /usr/bin/perl
+'/bin/true' && eval 'exec perl -S $0 "$@"'
+ if $running_under_some_shell;
+'di';
+'ig00';
+
+#
+# This perl script is its own manual page [generated by wrapman]
+#
+
+# $Id: perload,v 3.0.1.1 1994/10/29 15:45:36 ram Exp ram $
+#
+# Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+#
+# You may redistribute only under the terms of the Artistic Licence,
+# as specified in the README file that comes with the distribution.
+# You may reuse parts of this distribution only within the terms of
+# that same Artistic Licence; a copy of which may be found at the root
+# of the source tree for dist 4.0.
+#
+# $Log: perload,v $
+# Revision 3.0.1.1 1994/10/29 15:45:36 ram
+# patch36: added minimal support for perl5 dataloading
+#
+# Revision 3.0 1993/08/18 12:04:06 ram
+# Baseline for dist 3.0 netwide release.
+#
+
+# Replace each function definition in a loading section by two stubs and
+# reject the definition into the DATA part of the script if in a dataload
+# section or into a FILE if in an autoload section.
+
+$in_load = 0; # In a loading section
+$autoload = ''; # Name of autoloaded file
+$has_invocation_stub = 0; # True if we detect a #! stub
+$current_package = 'main'; # Current package
+$init_emitted = 0; # True when dataloading stamp was emitted
+$in_function = 0;
+
+use Getopt::Std;
+getopts("ot");
+
+while (<>) {
+ if ($. == 1 && /^(:|#).*perl/) { # Invocation stub
+ $has_invocation_stub = 1;
+ print;
+ next;
+ }
+ if ($. <= 3 && $has_invocation_stub) {
+ print;
+ next;
+ }
+ if (/^\s*$/) {
+ &flush_comment;
+ print unless $in_function;
+ print if $in_function && !$in_load;
+ if ($in_function && $in_load) {
+ push(@Data, "\n") unless $autoload;
+ $Auto{$autoload} .= "\n" if $autoload;
+ }
+ next;
+ }
+ if (/^\s*;?#/) {
+ if (/#\s*perload on/i) { # Enter a loading section
+ print unless /:$/;
+ $in_load = 1;
+ next;
+ }
+ if (/#\s*perload off/i) { # End a loading section
+ print unless /:$/;
+ $in_load = 0;
+ next;
+ }
+ if (/#\s*autoload (\S+)/i) { # Enter autoloading section
+ print unless /:$/;
+ push(@autoload, $autoload); # Directives may be nested
+ $autoload = $1;
+ $in_load += 2;
+ next;
+ }
+ if (/#\s*offload/i) { # End autoloading section
+ print unless /:$/;
+ $autoload = pop(@autoload); # Revert to previously active file
+ $in_load -= 2;
+ next;
+ }
+ &emit_init unless $init_emitted;
+ push(@Comment, $_) unless $in_function;
+ print if $in_function && !$in_load;
+ next unless $in_function;
+ push(@Data, $_) unless $autoload;
+ $Auto{$autoload} .= $_ if $autoload;
+ next;
+ }
+ &emit_init unless $init_emitted;
+ /^package (\S+)\s*;/ && ($current_package = $1);
+ unless ($in_load) {
+ &flush_comment;
+ print;
+ next;
+ }
+ # We are in a loading section
+ if (/^sub\s+([\w']+)\s*\{(.*)/) {
+ die "line $.: function $1 defined within another function.\n"
+ if $in_function;
+ # Silently ignore one-line functions
+ if (/\}/) {
+ &flush_comment;
+ print;
+ next;
+ }
+ $comment = $2;
+ $in_function = 1;
+ $function = $1;
+ ($fn_package, $fn_basename) = $function =~ /^(\w+)'(\w+)/;
+ unless ($fn_package) {
+ $fn_package = $current_package;
+ $fn_basename = $function;
+ }
+ die "line $.: duplicate routine ${fn_package}::$fn_basename\n"
+ if $Seen{"${fn_package}::$fn_basename"}++;
+ # Keep leading function comment
+ foreach (@Comment) {
+ push(@Data, $_) unless $autoload;
+ $Auto{$autoload} .= $_ if $autoload;
+ }
+ @Comment = ();
+ # Change package context for correct compilation: the name is visible
+ # within the original function package while the body of the function
+ # is compiled within the current package.
+ $declaration = "sub $fn_package" . "'load_$fn_basename {$comment\n";
+ $package_context = "\tpackage $current_package;\n";
+ if ($autoload) {
+ $Auto{$autoload} .= $declaration . $package_context;
+ } else {
+ push(@Data, $declaration, $package_context);
+ }
+ # Emit stubs
+ print "sub $fn_package", "'$fn_basename";
+ print " { &auto_$fn_package", "'$fn_basename; }\n";
+ print "sub auto_$fn_package", "'$fn_basename { ";
+ print '&main\'dataload' unless $autoload;
+ print '&main\'autoload(' . "'$autoload'" . ', @_)' if $autoload;
+ print "; }\n";
+ next;
+ }
+ unless ($in_function) {
+ &flush_comment;
+ print;
+ next;
+ }
+ # We are in a loading section and inside a function body
+ push(@Data, $_) unless $autoload;
+ $Auto{$autoload} .= $_ if $autoload;
+ $in_function = 0 if /^\}/;
+ if (/^\}/) {
+ push(@Data, "\n") unless $autoload;
+ $Auto{$autoload} .= "\n" if $autoload;
+ }
+}
+
+@auto = keys %Auto;
+if (@auto > 0) {
+ print &q(<<'EOC');
+:# Load the calling function from file and call it. This function is called
+:# only once per file to be loaded.
+:sub main'autoload {
+: local($__file__) = shift(@_);
+: local($__packname__) = (caller(1))[3];
+: $__packname__ =~ s/::/'/;
+: local($__rpackname__) = $__packname__;
+: local($__saved__) = $@;
+: $__rpackname__ =~ s/^auto_//;
+: &perload'load_from_file($__file__);
+: $__rpackname__ =~ s/'/'load_/;
+: $@ = $__saved__; # Restore value $@ had on entrance
+: &$__rpackname__(@_); # Call newly loaded function
+:}
+:
+:# Load file and compile it, substituing the second stub function with the
+:# loaded ones. Location of the file uses the @AUTO array.
+:sub perload'load_from_file {
+: package perload;
+: local($file) = @_; # File to be loaded
+: local($body) = ' ' x 1024; # Pre-extent
+: local($load) = ' ' x 256; # Loading operations
+: # Avoid side effects by protecting special variables which will be
+: # changed by the autoloading operation.
+: local($., $_, $@);
+: $body = '';
+: $load = '';
+: &init_auto unless defined(@'AUTO); # Make sure we have a suitable @AUTO
+: &locate_file unless -f "$file"; # Locate file if relative path
+: open(FILE, $file) ||
+: die "Can't load $'__rpackname__ from $file: $!\n";
+: while (<FILE>) {
+: $load .= '*auto_' . $1 . '\'' . $2 . '= *' . $1 . '\'' . "load_$2;\n"
+: if (/^sub\s+(\w+)'load_(\w+)\s*\{/);
+: $body .= $_;
+: }
+: close FILE;
+EOC
+ if ($opt_t) {
+ print &q(<<'EOC');
+: # Untaint body when running setuid
+: $body =~ /^([^\0]*)/;
+: # No need to untaint $load, as it was built using trusted variables
+: eval $1 . $load;
+EOC
+ } else {
+ print &q(<<'EOC');
+: eval $body . $load;
+EOC
+ }
+ print &q(<<'EOC');
+: chop($@) && die "$@, while parsing code of $file.\n";
+:}
+:
+:# Initialize the @AUTO array. Attempt defining it by using the AUTOLIB
+:# environment variable if set, otherwise look in auto/ first, then in the
+:# current directory.
+:sub perload'init_auto {
+: if (defined $ENV{'AUTOLIB'} && $ENV{'AUTOLIB'}) {
+: @AUTO = split(':', $ENV{'AUTOLIB'});
+: } else {
+: @AUTO = ('auto', '.');
+: }
+:}
+:
+:# Locate to-be-loaded file held in $file by looking through the @AUTO array.
+:# This variable, defined in 'load_from_file', is modified as a side effect.
+:sub perload'locate_file {
+: package perload;
+: local($fullpath);
+: foreach $dir (@'AUTO) {
+: $fullpath = $dir . '/' . $file;
+: last if -f "$fullpath";
+: $fullpath = '';
+: }
+: $file = $fullpath if $fullpath; # Update var from 'load_from_file'
+:}
+:
+EOC
+}
+
+if (@Data > 0) {
+ print &q(<<'EOC');
+:# Load the calling function from DATA segment and call it. This function is
+:# called only once per routine to be loaded.
+:sub main'dataload {
+: local($__packname__) = (caller(1))[3];
+: $__packname__ =~ s/::/'/;
+: local($__rpackname__) = $__packname__;
+: local($__at__) = $@;
+: $__rpackname__ =~ s/^auto_//;
+: &perload'load_from_data($__rpackname__);
+: local($__fun__) = "$__rpackname__";
+: $__fun__ =~ s/'/'load_/;
+: eval "*$__packname__ = *$__fun__;"; # Change symbol table entry
+: die $@ if $@; # Should not happen
+: $@ = $__at__; # Restore value $@ had on entrance
+: &$__fun__; # Call newly loaded function
+:}
+:
+:# Load function name given as argument, fatal error if not existent
+:sub perload'load_from_data {
+: package perload;
+: local($pos) = $Datapos{$_[0]}; # Offset within DATA
+: # Avoid side effects by protecting special variables which will be changed
+: # by the dataloading operation.
+: local($., $_, $@);
+: $pos = &fetch_function_code unless $pos;
+: die "Function $_[0] not found in data section.\n" unless $pos;
+: die "Cannot seek to $pos into data section.\n"
+: unless seek(main'DATA, $pos, 0);
+: local($/) = "\n}";
+: local($body) = scalar(<main'DATA>);
+: die "End of file found while loading $_[0].\n" unless $body =~ /^\}$/m;
+EOC
+ if ($opt_t) {
+ print &q(<<'EOC');
+: # Untaint body when running setuid
+: $body =~ /^([^\0]*)/;
+: # Now we may safely eval it without getting an insecure dependency
+: eval $1; # Load function into perl space
+EOC
+ } else {
+ print &q(<<'EOC');
+: eval $body; # Load function into perl space
+EOC
+ }
+ print &q(<<'EOC');
+: chop($@) && die "$@, while parsing code of $_[0].\n";
+:}
+:
+EOC
+ print &q(<<'EOC') unless $opt_o;
+:# Parse text after the END token and record defined loadable functions (i.e.
+:# those whose name starts with load_) into the %Datapos array. Such function
+:# definitions must be left adjusted. Stop as soon as the function we want
+:# has been found.
+:sub perload'fetch_function_code {
+: package perload;
+: local($pos) = tell main'DATA;
+: local($in_function) = 0;
+: local($func_name);
+: local($., $_);
+: while (<main'DATA>) {
+: if (/^sub\s+(\w+)'load_(\w+)\s*\{/) {
+: die "DATA line $.: function $1'$2 defined within $func_name.\n"
+: if $in_function;
+: $func_name = $1 . '\'' . $2;
+: $Datapos{$func_name} = $pos;
+: $in_function = 1;
+: next;
+: }
+: $in_function = 0 if /^\}/;
+: next if $in_function;
+: return $pos if $func_name eq $_[0];
+: $pos = tell main'DATA;
+: }
+: 0; # Function not found
+:}
+:
+EOC
+ print &q(<<'EOC') if $opt_o;
+:# This function is called only once, and fills in the %Datapos array with
+:# the offset of each of the dataloaded routines held in the data section.
+:sub perload'fetch_function_code {
+: package perload;
+: local($start) = 0;
+: local($., $_);
+: while (<main'DATA>) { # First move to start of offset table
+: next if /^#/;
+: last if /^$/ && ++$start > 2; # Skip two blank line after end token
+: }
+: $start = tell(main'DATA); # Offsets in table are relative to here
+: local($key, $value);
+: while (<main'DATA>) { # Load the offset table
+: last if /^$/; # Ends with a single blank line
+: ($key, $value) = split(' ');
+: $Datapos{$key} = $value + $start;
+: }
+: $Datapos{$_[0]}; # All that pain to get this offset...
+:}
+:
+EOC
+ print &q(<<'EOC');
+:#
+:# The perl compiler stops here.
+:#
+:
+:__END__
+:
+:#
+:# Beyond this point lie functions we may never compile.
+:#
+:
+EOC
+ # Option -o directs us to optimize the function location by emitting an
+ # offset table, which lists all the position within DATA for each possible
+ # dataloaded routine.
+ if ($opt_o) {
+ print &q(<<'EOC');
+:#
+:# DO NOT CHANGE A IOTA BEYOND THIS COMMENT!
+:# The following table lists offsets of functions within the data section.
+:# Should modifications be needed, change original code and rerun perload
+:# with the -o option to regenerate a proper offset table.
+:#
+:
+EOC
+ $trailing_message = &q(<<'EOC');
+:
+:#
+:# End of offset table and beginning of dataloading section.
+:#
+:
+EOC
+ $pos = 0; # Offset relative to this point (start of table)
+ foreach (@Data) {
+ $Datapos{"$1\'$2"} = $pos - $now
+ if /^sub\s+(\w+)'load_(\w+)\s*\{/; # } for vi
+ $pos += length;
+ }
+ @poskeys = keys %Datapos; # Array of routine names (fully qualified)
+
+ # Write out a formatted table, each entry stored on $entry bytes and
+ # formatted with the $format string.
+ ($entry, $format) = &get_format(*poskeys);
+
+ # The total size occupied by the table is the size of one item times
+ # the number of items plus the final trailing message at the end of
+ # the table.
+ $table_size = $entry * @poskeys + length($trailing_message);
+
+ # Output formatted table
+ foreach (sort @poskeys) {
+ printf($format, $_, $table_size + $Datapos{$_});
+ }
+ print $trailing_message;
+ }
+
+ # Output code for each dataloaded function
+ foreach (@Data) {
+ print;
+ }
+ print &q(<<'EOC');
+:#
+:# End of dataloading section.
+:#
+:
+EOC
+}
+
+if (@auto > 0) {
+ mkdir('auto',0755) unless -d 'auto';
+ foreach $file (@auto) {
+ unless (open(AUTO, ">auto/$file")) {
+ warn "Can't create auto/$file: $!\n";
+ next;
+ }
+ print AUTO &q(<<'EOC');
+:# This file was generated by perload
+:
+EOC
+ print AUTO $Auto{$file};
+ close AUTO;
+ }
+}
+
+# Compute optimum format for routine offset table, returning both the size of
+# each entry and the formating string for printf.
+sub get_format {
+ local(*names) = @_;
+ local($name_len) = 0;
+ local($max_len) = 0;
+ foreach (@names) {
+ $name_len = length;
+ $max_len = $name_len if $name_len > $max_len;
+ }
+ # The size of each entry (preceded by one tab, followed by 12 chars)
+ $name_len = $max_len + 1 + 12;
+ ($name_len, "\t%${max_len}s %10d\n");
+}
+
+sub emit_init {
+ print &q(<<'EOC');
+:#
+:# This perl program uses dynamic loading [generated by perload]
+:#
+:
+:$ENV{LC_ALL} = 'C';
+:
+EOC
+ $init_emitted = 1;
+}
+
+sub flush_comment {
+ print @Comment if @Comment > 0;
+ @Comment = ();
+}
+
+sub q {
+ local($_) = @_;
+ s/^://gm;
+ $_;
+}
+
+#
+# These next few lines are legal in both perl and nroff.
+#
+
+.00; # finish .ig
+
+'di \" finish diversion--previous line must be blank
+.nr nl 0-1 \" fake up transition to first page again
+.nr % 0 \" start at page 1
+'; __END__ \" the perl compiler stops here
+
+.\"
+.\" From here on it's a standard manual page.
+.\"
+
+.TH PERLOAD 1 "June 20, 1992"
+.AT 3
+.SH NAME
+perload \- builds up autoloaded and dataloaded perl scripts
+.SH SYNOPSIS
+.B perload
+[ \fB\-ot\fR ]
+[ \fIfile\fR ]
+.SH DESCRIPTION
+.I Perload
+takes a perl script as argument (or from stdin if no argument is supplied)
+and prints out on stdout an equivalent script set-up to perform autoloading
+or dataloading. The translation is directed by special comments within the
+original script. Using dynamic loading can drastically improve start-up
+performances, both in time and in memory, as perl does not need to compile
+the whole script nor store its whole compiled form in memory.
+.PP
+.I Autoloading
+delays compilation of some functions until they are needed. The code for these
+functions is loaded dynamically at run-time. The atomicity of loading is a
+file, which means that putting more than one function into a file will cause
+all these functions to be loaded and compiled as soon as one among them is
+needed.
+.PP
+.I Dataloading
+is a form of autoloading where no extra file are needed. The script carries
+all the functions whose compilation is to be delayed in its data segment
+(in the \fIperl\fR sense, i.e. they are accessible via the DATA filehandle).
+The scripts parses the data segment and extracts only the code for the needed
+subroutine, which means granularity is better than with autloading.
+.PP
+It is possible for a single script to use both autoloading and dataloading at
+the same time. However, it should be noted that a script using only dataloading
+is self contained and can be moved or shared accross different platforms without
+fear. On the contrary, a script using only autoloading relies on some externally
+provided files. Sharing this script among different platforms requires sharing
+of these external files. The script itself cannot be redistributed without
+also giving the extra files holding the autoloaded functions.
+.PP
+The major drawback with dataloading is that the DATA filehandle cannot be used
+for anything else and may result in code duplication when two scripts could
+share the same pieces of code. Autoloading appears as the perfect solution in
+this case since two scripts may freely share the same functions without
+actually duplicating them on the disk (hence saving some precious disk blocks
+:-).
+.SH CRITERIA
+Functions to be dataloaded or autoloaded must meet the following layout
+criteria:
+.TP 5
+\-
+They must not be one-line functions like \fIsub sorter { $a <=> $b }\fR.
+Those functions are simply output verbatim, as they are already so
+small that it would not be worth to dynamically load them,
+.TP
+\-
+The first line must be of the form \fIsub routine_name {\fR, with an optional
+comment allowed after the '{'.
+.TP
+\-
+The function definition must end with a single '}' character left aligned.
+.TP
+\-
+Package directives outside any function must be left aligned.
+.PP
+All the above restrictions should not be source of a problem if "standard"
+writing style is used. There are also some name restrictions: the package
+name \fIperload\fR is reserved, as is the \fI@AUTO\fR array when autoloading
+is used. Packages must not start with \fIauto_\fR, as this is prepended to
+user's package names when building the stubs. Furthermore, the subroutines
+names \fImain'autoload\fR and
+\fImain'dataload\fR must not be used by the original script. Again, these
+should not cause any grief.
+.SH DIRECTIVES
+The translation performed by
+.I Perload
+is driven by some special comment directives placed directly within the code.
+Ending those directives with a ':' character will actually prevent them from
+being output into the produced script. Case is irrelevant for all the directives
+and the comment need not be left-aligned, although it must be the first
+non-space item on the line.
+.PP
+The following directives are available:
+.TP 10
+# Perload ON
+Turns on the \fIperload\fR processing. Any function definition which meets
+the criteria listed in the previous section will be replaced by two stubs and
+its actual definition will be rejected into the data segment (default) or a
+file when inside an autoloading section.
+.TP
+# Perload OFF
+Turns off any processing. The script is written as-is on the standard output.
+.TP
+# Autoload \fIpath\fR
+Requests autoloading from file \fIpath\fR, which may be an absolute path or
+a relative path. The file will be located at run-time using the @AUTO array
+if a non-absolute path is supplied or if the file does not exist as listed.
+Autoloading directives may be nested.
+.TP
+# Offload \fIpath\fR
+The argument is not required. The directive ends the previous autoloading
+directive (the inmost one). This does not turn off the \fIperload\fR processing
+though. The \fIpath\fR name is optional here (in fact, it has only a comment
+value).
+.SH OPTIONS
+Perload accepts only two options. Using \fB\-o\fR is meaningful only when
+dataloading is used. It outputs an offset table which lists the relative
+offset of the dataloaded functions within the data section. This will spare
+perl the run-time parsing needed to locate the function, and results in an good
+speed gain. However, it has one major drawback: it prevents people from
+actually modifying the source beyond the start of the table. But anything
+before can be freely edited, which is particulary useful when tailoring the
+script.
+.PP
+This option should not be used when editing of functions within the data
+section is necessary for whatever reason. When \fB\-o\fR is used, any
+change in the dataloaded function must be committed by re-running perload
+on the original script.
+.PP
+The other option \fB\-t\fR is to be used when producing a script which is
+going to run setuid. The body of the loaded function is untainted before being
+fed to eval, which slightly slows down loading (the first time the function is
+called), but avoids either an insecure dependency report or weird warnings from
+taintperl stating something is wrong (which is the behaviour with 4.0 PL35).
+.SH FILES
+.TP 10
+auto
+the subdirectory where all produced autoloaded files are written.
+.SH ENVIRONMENT
+No environment variables are used by \fIperload\fR. However, the autoloaded
+version of the script pays attention to the \fIAUTOLIB\fR variable as a colon
+separated set of directories where the to-be-loaded files are to be found
+when a non-absolute path was specified. If the \fIAUTOLIB\fR variable is not
+set, the default value 'auto:.' is used (i.e. look first in the auto/
+subdirectory, then in the current directory.
+.SH CAVEAT
+Special care is required when using an autoloading script, especially when
+executed by the super-user: it would be very easy for someone to leave a
+special version of a routine to be loaded, in the hope the super-user (or
+another suitable target) executes the autoloaded version of the script with
+some \fIad hoc\fR changes...
+.PP
+The directory holding the to-be-loaded files should therefore be protected
+against unauthorized access, and no file should have write permission on them.
+The directory itself should not be world-writable either, or someone might
+substitute his own version.
+It should also be considered wise to manually set the @AUTO variable to a
+suitable value within the script itself.
+.PP
+The \fB\-o\fR option uses \fIperl\fR's special variable \fI$/\fR with a
+multi-character value. I suspect this did not work with versions of \fIperl\fR
+prior to 4.0, so any script using this optimized form of dataloading will not
+be 100% backward compatible.
+.SH AUTHOR
+Raphael Manfredi <ram@acri.fr>
+.SH CREDITS
+Valuable input came from Wayne H. Scott <wscott@ecn.purdue.edu>. He is
+merely the author of the optimizing offset table (\fB\-o\fR option).
+.PP
+.I Perload
+is based on an article from Tom Christiansen <tchrist@convex.com>,
+.I Autoloading in Perl,
+explaining the concept of dataloading and giving a basic implementation.
+.SH "SEE ALSO"
+perl(1).
diff --git a/bin/svn-revision b/bin/svn-revision
new file mode 100755
index 0000000..c698135
--- /dev/null
+++ b/bin/svn-revision
@@ -0,0 +1,62 @@
+#!/bin/sh
+
+#
+# $Id: svn-revision 12303 2006-11-11 08:11:46Z cbiere $
+#
+# Copyright (c) 2006, Raphael Manfredi
+#
+# You may redistribute only under the terms of the Artistic Licence,
+# as specified in the README file that comes with the distribution.
+# You may reuse parts of this distribution only within the terms of
+# that same Artistic Licence; a copy of which may be found at the root
+# of the source tree for dist 4.0.
+#
+# Computes SVN current revision number, if possible, emitting it in
+# the form of a #define for C perusal.
+#
+
+LC_ALL=C
+export LC_ALL
+
+TOP="$1"
+FILE="$2"
+
+if [ "x$FILE" = x ]; then
+ FILE="&1"
+ oldrev=''
+else
+ oldrev=`grep REVISION "$FILE" 2>/dev/null | head -n1 | cut -d' ' -f4`
+fi
+
+if test -d "$TOP/.svn"; then
+ revnum=`svn info "$TOP" 2>/dev/null | grep '^Revision' | head -n1 | cut -d' ' -f2`
+else
+ revnum="$oldrev" # keep as is
+fi
+
+if [ "x$revnum" = "x$oldrev" ]; then
+ exit 0
+fi
+
+{
+stamp=`date +"%Y-%m-%d %H:%M:%d %z"`
+cat <<EOF
+/*
+ * THIS FILE IS AUTOMATICALLY GENERATED -- DO NOT EDIT
+ *
+ * Generated by $0.
+ */
+
+EOF
+
+if [ "x$revnum" = x ]; then
+ echo '/* Subversion information not available */'
+else
+ XRev='$Revision'
+ cat <<EOF
+#define REVISION "$XRev: $revnum \$"
+EOF
+fi
+
+} > "$FILE"
+
diff --git a/debian/Config/README b/debian/Config/README
new file mode 100644
index 0000000..943361f
--- /dev/null
+++ b/debian/Config/README
@@ -0,0 +1,4 @@
+This directory created by Configure to save information that should
+persist across sessions.
+
+You may safely delete it if you wish.
diff --git a/debian/Config/instruct b/debian/Config/instruct
new file mode 100644
index 0000000..b0acbd3
--- /dev/null
+++ b/debian/Config/instruct
@@ -0,0 +1,3 @@
+srivasta
+root
+debian
diff --git a/debian/Config/mailauthor b/debian/Config/mailauthor
new file mode 100644
index 0000000..98a391c
--- /dev/null
+++ b/debian/Config/mailauthor
@@ -0,0 +1,4 @@
+/* dist-3.0 - 18 Aug 1993 */
+
+#define VERSION 3.0
+#define PATCHLEVEL 70
diff --git a/debian/Config/nomail b/debian/Config/nomail
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/debian/Config/nomail
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 0000000..9a3b35d
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,21 @@
+This is Debian GNU/Linux's prepackaged version of Raphael Manfredi's
+dist program.
+
+This version of dist was put together by Manoj Srivastava
+<srivasta@debian.org>, from the sources distributed directly by
+the author, Raphael Manfredi <ram@hptnos02.grenoble.hp.com>.
+
+The changes in this package are essentially the addition of support for
+the Debian package maintenance scheme, by adding various debian.* files.
+The changes in the default configuration are using the pager /bin/more,
+and using /usr/bin/ae as the default editor, since these programs are
+guaranteed to be present in any debian system. The other changes are
+to ensure that a .config directory is present, so that no mail message
+is sent to the maintainer while building the debian package. An over-
+ride file is also used to ensure that installation occurs into a local
+debian-tmp directory, required to build the debianized version.
+
+See the README file for more information
+arch-tag: 29b82916-9188-446f-aa1c-b0cf69566464
+
+
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..d7b63e6
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,585 @@
+dist (1:3.5-36-2) unstable; urgency=low
+
+ * Updated translation for Brazilian Portuguese
+ * Bug fix: "[INTL:pt_BR] Brazilian Portuguese debconf templates
+ translation", thanks to Adriano Rafael Gomes (Closes: #685763).
+
+ -- Manoj Srivastava <srivasta@debian.org> Mon, 28 Apr 2014 12:58:58 -0700
+
+dist (1:3.5-36-1) unstable; urgency=low
+
+ * New upstream release
+ * Moved to a new build system.
+
+ -- Manoj Srivastava <srivasta@debian.org> Sun, 27 Apr 2014 21:07:57 -0700
+
+dist (1:3.5-30-3.3) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Add Build-Depends-Indep on libperl4-corelibs-perl too (Closes: #724051)
+
+ -- Dominic Hargreaves <dom@earth.li> Sun, 29 Sep 2013 16:42:02 +0100
+
+dist (1:3.5-30-3.2) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Add Depends on libperl4-corelibs-perl (Closes: #658949)
+ * Add Slovak Debconf translation (Closes: #661140)
+
+ -- Dominic Hargreaves <dom@earth.li> Mon, 23 Apr 2012 18:43:28 +0100
+
+dist (1:3.5-30-3.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Fix pending l10n issues. Debconf translations:
+ - Danish (Joe Hansen). Closes: #633397
+ - Polish (Michał Kułach). Closes: #660883
+ - Italian (Beatrice Torracca). Closes: #661357
+
+ -- Christian Perrier <bubulle@debian.org> Wed, 29 Feb 2012 08:08:13 +0100
+
+dist (1:3.5-30-3) unstable; urgency=low
+
+ * Bug fix: "postinst fails if debconf question skipped", thanks to Aaron
+ M. Ucko (Closes: #553627).
+
+ -- Manoj Srivastava <srivasta@debian.org> Sun, 01 Nov 2009 21:27:39 -0600
+
+dist (1:3.5-30-2) unstable; urgency=low
+
+ * Told lintian not to parse old changelogs.
+
+ -- Manoj Srivastava <srivasta@debian.org> Sat, 31 Oct 2009 03:48:50 -0500
+
+dist (1:3.5-30-1) unstable; urgency=low
+
+ * [cfb9a7d]: [topic--man-fixes]: Fix man page comment schema The
+ commenting scheme used in the man pages was three consecutive single
+ quotes (`'''') at the beginning of a line. his works, but `gtroff'
+ gives a warning about an undefined macro (namely `'''), which is
+ harmless, but irritating. To avoid this, this commit changes the
+ schema to start the line with `.\"' which causes the line to be
+ treated as an undefined request and thus ignored completely.
+ * New upstream bug fixing release (fixes jmake makefile)
+
+ -- Manoj Srivastava <srivasta@debian.org> Fri, 30 Oct 2009 16:35:30 -0500
+
+dist (1:3.5-29-2) unstable; urgency=low
+
+ * Fixed race conditions in the rules file, and added a facility to
+ override parallel builds.
+ * Update the standards version, and link to GPL-2 in the copyright file.
+
+ -- Manoj Srivastava <srivasta@debian.org> Thu, 16 Apr 2009 13:23:59 -0500
+
+dist (1:3.5-29-1) unstable; urgency=low
+
+ * New upstream release.
+ - Append $ccflags so that it can override the defaults assuming the compiler
+ picks the last choice as GCC does.
+ - Use the preprocessor output to detect the GCC version instead of executing
+ the compiled binary which is unsuitable for cross-compiling.
+ - Make sure Instruct depends on Begin to move Begin ahead of any
+ question asked by Configure.
+ - Panic if a routine is defined more than once.
+
+ -- Manoj Srivastava <srivasta@debian.org> Tue, 25 Nov 2008 19:46:03 -0600
+
+dist (1:3.5-17-2) unstable; urgency=high
+
+ * If a script uses a temp file which is created in /tmp, then an
+ attacker can create symlink with the same name in this directory in
+ order to destroy or rewrite some system or user files. Symlink attack
+ may also lead not only to the data desctruction but to denial of
+ service as well. Creating files with rand or pid to randomize the file
+ names is not adequate to protect the system. We now use File::Temp to
+ safely create the temporary files as needed. This closes a grave bug.
+ There are no code changes in this version, apart from the bug fix.
+ Closes: #496412
+ * Updated the Standards version. (No changes)
+
+ -- Manoj Srivastava <srivasta@debian.org> Fri, 29 Aug 2008 22:28:31 -0500
+
+dist (1:3.5-17-1) unstable; urgency=low
+
+ * New upstream release
+ - SVN revision number is now automatically generated in "revision.h".
+ The old patchlevel information is no longer used, and <PATCHLEVEL>
+ is deprecated in unit files, replaced by <REVISION>.
+ - Added automatic SVN revision computation in "revision.h".
+ - Removed last instance of $*, no longer supported in Perl 5.10.
+ - Perl 5.10 no longer supports "$*" anywhere... even in the initial
+ exec line meant to be parsed by the shell...
+ - Reset CDPATH to avoid pdksh's emission of the chosen dir on "cd".
+ - Applied diff from H.Merijn Brand to keep it working with perl 5.10,
+ which no longer supports the old $* perl4 variable to request
+ multiline matching.
+ - Linux does not like ^M as line endings: cpp 4.1.x complains. Try
+ with ^A, hoping it will continue to work on HP-UX.
+ - Added InstallProgramNoStrip() to request installation of a program
+ without stripping the debugging symbols.
+ - Applied patch from Christian Biere, which adds "-Wshadow" to gcc 3.x
+ flags.
+ - Taught metaxref to use MANIFEST if MANIFEST.new is missing.
+ - Added I_SYS_POLL and I_POLL since we cannot rely on HAS_POLL being
+ enough to include <poll.h>.
+ - Do not list special unit "Mcc" as being made.
+ - Removed stale Mcc dependency.
+ - Default to "-O2 -g" when using gcc.
+ - This starts the dist-3.5 baseline.
+ - Regenerated all Makefile.SH files.
+ - Removed obsoleted ">VAR" lines requesting that the symbol be
+ included. Jmake from 3.5 is now smart enough to figure this out by
+ itself.
+ - Added keyword expansion.
+ - InstallTarget() now uses :: targets.
+ Default empty rule for all makefiles is now called "all" instead of
+ "emptyrule" because if there is nothing to be done, GNU make prints
+ the target name and "emptyrule" is not pretty.
+ - Advertise SVN's repository for dist in every generated Configure
+ script.
+ - Fixed Jmakefile: there's no need to request manual inclusion of
+ symbols. The MakeDirectories() target was using @! instead of proper
+ @@ terminator to introduce the commands.
+ - Let metaconfig use the MANIFEST file if there is no MANIFEST.new.
+ The MANIFEST.new file is necessary when using the "pat" tools, but
+ not when running metaconfig by itself.
+ - Added keyword substitution property.
+ - Updated copyright date.
+ * Recorded the VCS repository location for this package (newly moved to
+ a public git repo)
+ * Move to the new, make -j friendly targets in debian/rules.
+
+ -- Manoj Srivastava <srivasta@debian.org> Fri, 30 May 2008 14:42:47 -0500
+
+dist (3.70-33) unstable; urgency=low
+
+ * Bug fix: "dist: [INTL:ru] Russian translation for debconf messages",
+ thanks to Yuri Kozlov (Closes: #457216).
+
+ -- Manoj Srivastava <srivasta@debian.org> Thu, 21 Feb 2008 13:31:28 -0600
+
+dist (3.70-32) unstable; urgency=low
+
+ * Bug fix: "dist: invokes split(1) with invalid arguments", thanks to
+ Ari Johnson. Typo fix. (Closes: #413132).
+ * Bug fix: "dist: [INTL:pt] Portuguese translation for debconf
+ messages", thanks to Traduz - Portuguese Translation Team
+ (Closes: #416804).
+ * Added debian/control headers XS-VCS-Arch and XS-VCS-Browse
+
+ -- Manoj Srivastava <srivasta@debian.org> Tue, 17 Apr 2007 16:33:11 -0500
+
+dist (3.70-31) unstable; urgency=low
+
+ * Bug fix: "dist: Spanish debconf translation", thanks to César Gómez
+ Martín (Closes: #367279).
+
+ -- Manoj Srivastava <srivasta@debian.org> Tue, 6 Jun 2006 16:05:14 -0500
+
+dist (3.70-30) unstable; urgency=low
+
+ * Bug fix: "dist: [INTL:sv] Swedish debconf templates translation",
+ thanks to Daniel Nylander (Closes: #333064).
+
+ -- Manoj Srivastava <srivasta@debian.org> Thu, 20 Oct 2005 23:08:07 -0500
+
+dist (3.70-29) unstable; urgency=low
+
+ * Add a dependency on debconf, since there is no way to determine if we
+ have a functional debconf infrastructure available.
+
+ -- Manoj Srivastava <srivasta@debian.org> Mon, 8 Aug 2005 13:32:43 -0500
+
+dist (3.70-28) unstable; urgency=low
+
+ * Bug fix: "INTL:vi", thanks to Clytie Siddall (Closes: #313556).
+ * Bug fix: "[l10n] Initial Czech translation of dist debconf messages",
+ thanks to Miroslav Kure (Closes: #315834).
+
+ -- Manoj Srivastava <srivasta@debian.org> Sat, 9 Jul 2005 13:41:49 -0500
+
+dist (3.70-27) unstable; urgency=low
+
+ * Bug fix: "dist: Japanese po-debconf template translation (ja.po)",
+ thanks to Hideki Yamane (Closes: #258769).
+
+ -- Manoj Srivastava <srivasta@debian.org> Wed, 21 Jul 2004 16:39:15 -0500
+
+dist (3.70-26) unstable; urgency=low
+
+ * Bug fix: "[INTL:nl] updated Dutch po-debconf translation", thanks to
+ Luk Claes (Closes: #256182).
+
+ -- Manoj Srivastava <srivasta@debian.org> Fri, 25 Jun 2004 10:29:01 -0500
+
+dist (3.70-25) unstable; urgency=low
+
+ * Bug fix: "dist: Please add German translation of the debconf
+ templates", thanks to Erik Schanze (Closes: #252350).
+ * Bug fix: "[INTL:nl] new Dutch po-debconf translation", thanks to Luk
+ Claes (Closes: #250234).
+
+ -- Manoj Srivastava <srivasta@debian.org> Tue, 22 Jun 2004 18:54:52 -0500
+
+dist (3.70-24) unstable; urgency=low
+
+ * remember to actually change the name of the debconf question.
+
+ -- Manoj Srivastava <srivasta@debian.org> Mon, 19 Apr 2004 01:57:00 -0500
+
+dist (3.70-23) unstable; urgency=low
+
+ * Bug fix: "dist: [INTL:fr] French debconf templates translation",
+ thanks to Christian Perrier (Closes: #244046).
+ * Bug fix: "dist: postinst fails if /etc/news/organization not present",
+ thanks to Nick Leverton. The problem was unregistering from the
+ debconf question too early; it should only be done in the postinst
+ _after_ we have the information we need. (Closes: #243021).
+
+ -- Manoj Srivastava <srivasta@debian.org> Sun, 18 Apr 2004 17:44:51 -0500
+
+dist (3.70-22) unstable; urgency=low
+
+ * Forgot to run debconf-updatepo
+
+ -- Manoj Srivastava <srivasta@debian.org> Mon, 5 Apr 2004 19:47:52 -0500
+
+dist (3.70-21) unstable; urgency=low
+
+ * Fixed spelling. closes: Bug#242265
+ * Bug fix: "dist: French debconf templates translation", thanks to Eric
+ (Closes: #239609).
+ * Bug fix: "dist: Please follow debconf recommandations for template
+ namespace",. thanks to Denis Barbier. I am not fully confident of the
+ solution -- since we need to phase out the share/ question, and only
+ ask the new shared/ question; but, should the old answer already
+ exist, we should not trouble the user any more. This is messy.
+ (Closes: #238224).
+
+ -- Manoj Srivastava <srivasta@debian.org> Mon, 5 Apr 2004 15:39:02 -0500
+
+dist (3.70-20) unstable; urgency=low
+
+ * Hmm. There were glitches in the new debconf mecanism -- recreated
+ stuff with po2debconf.
+
+ -- Manoj Srivastava <srivasta@debian.org> Sat, 13 Mar 2004 18:45:15 -0600
+
+dist (3.70-19) unstable; urgency=low
+
+ * Moved to new debconf handling common files.
+ * Bug fix: "dist: Please switch to gettext-based debconf templates",
+ thanks to Martin Quinson (Closes: #237440).
+
+ -- Manoj Srivastava <srivasta@debian.org> Fri, 12 Mar 2004 12:54:21 -0600
+
+dist (3.70-18) unstable; urgency=low
+
+ * Converted to the new build system.
+ * Added debconf support to for setting up /etc/news/organization
+
+ -- Manoj Srivastava <srivasta@debian.org> Mon, 1 Dec 2003 21:11:37 -0600
+
+dist (3.70-17) unstable; urgency=low
+
+ * Chk_MANI.U uses 'split -50', which is an obsolete form and is
+ disallowed when running under _POSIX2_VERSION=200112. Thanks to Colin
+ Watson for the fix. closes: Bug#204840
+ * Upgraded to latest policy version. No changes.
+ * The behaviour of do followed by a bareword has changed in perl 5.8.0
+ -- it now ensure that the bareword is not a keyword. dist fell a foul
+ of this since it has a routine called format, which is a
+ keyword. Again, thanks to Colin Watson for the fix. closes: Bug#204839
+ * The build process did not stop for the above errors -- it should; so
+ expanded on Colin's patch to try and fix this.
+
+ -- Manoj Srivastava <srivasta@debian.org> Sun, 10 Aug 2003 13:50:29 -0500
+
+dist (3.70-16) unstable; urgency=low
+
+ * Sigh. Add the depends in the right place. closes: Bug#189571
+
+ -- Manoj Srivastava <srivasta@debian.org> Sat, 19 Apr 2003 23:19:26 -0500
+
+dist (3.70-15) unstable; urgency=low
+
+ * Depend on sharutils for uudecode etc. closes: Bug#189571
+
+ -- Manoj Srivastava <srivasta@debian.org> Fri, 18 Apr 2003 15:35:03 -0500
+
+dist (3.70-14) unstable; urgency=low
+
+ * No longer provide /usr/doc symlink. Update to latest policy version.
+
+ -- Manoj Srivastava <srivasta@debian.org> Mon, 11 Nov 2002 23:14:48 -0600
+
+dist (3.70-13) unstable; urgency=low
+
+ * Fix lintian warnings.
+
+ -- Manoj Srivastava <srivasta@debian.org> Sat, 26 Jan 2002 00:18:01 -0600
+
+dist (3.70-12) unstable; urgency=low
+
+ * Do not run install-docs -r in prerm, since we do not install any in
+ the first place. closes: Bug#69567
+
+ -- Manoj Srivastava <srivasta@debian.org> Mon, 21 Aug 2000 09:34:45 -0500
+
+dist (3.70-11) frozen unstable; urgency=low
+
+ * Use absolute links when related links would not work, for the
+ /usr/doc/latex2tml symlink.
+ * Added a dependency on fileutiles >=4.0, since the package would fail
+ to install with older fileutils.
+
+ -- Manoj Srivastava <srivasta@debian.org> Tue, 28 Mar 2000 02:52:59 -0600
+
+dist (3.70-10) frozen unstable; urgency=low
+
+ * Fixed an upgrade bug when /usr/doc happens to be a symlink, and does
+ not point to /usr/share/doc. A couple of people were bitten by this.
+
+ -- Manoj Srivastava <srivasta@debian.org> Mon, 28 Feb 2000 22:27:05 -0600
+
+dist (3.70-9) frozen unstable; urgency=low
+
+ * The postinst was vulnerable to being affected by symlinks (if, for
+ some reason, the prerm failed). This has happended for latex2html; and
+ created a grave bug.
+ * There was a bug in the postinst in a case statement, that caused
+ installation to fail for certain situations.
+ * Also fixed an lintian warning
+
+ -- Manoj Srivastava <srivasta@debian.org> Tue, 8 Feb 2000 14:51:11 -0600
+
+dist (3.70-8) frozen unstable; urgency=low
+
+ * Modified postinst to redirect the output of grep away. closes: Bug#44351
+
+ -- Manoj Srivastava <srivasta@debian.org> Tue, 25 Jan 2000 16:25:24 -0600
+
+dist (3.70-7) unstable; urgency=low
+
+ * Added a dependency for perl5, rather than just perl, to conform to the
+ new policy. Unfortunately, this make lintian very angry ;-) Also
+ upgraded to Standards version 3.0.0.0 (put lots of stuff in
+ /usr/share)
+
+ -- Manoj Srivastava <srivasta@debian.org> Wed, 7 Jul 1999 12:06:43 -0500
+
+dist (3.70-6) frozen unstable; urgency=low
+
+ * Changed the changelog file to changelog.Debian (not .debian)
+
+ -- Manoj Srivastava <srivasta@debian.org> Tue, 7 Apr 1998 01:55:43 -0500
+
+dist (3.70-5) unstable; urgency=low
+
+ * Gave packinit a proper #! line. This shuts up lintian.
+
+ -- Manoj Srivastava <srivasta@debian.org> Sun, 8 Mar 1998 15:16:46 -0600
+
+dist (3.70-4) unstable; urgency=low
+
+ * Make sure the man pages are compressed.
+ * Ensure that symlinks exist for all the scripts documented in pat.1
+ * Upgraded to 2.4.0.0
+ * This should fix all the concerns of lintian
+
+ -- Manoj Srivastava <srivasta@debian.org> Mon, 9 Feb 1998 23:18:07 -0600
+
+dist (3.70-3) unstable; urgency=low
+
+ * Make sure the copyright file is not compressed. closes:Bug#14394.
+
+ -- Manoj Srivastava <srivasta@debian.org> Wed, 5 Nov 1997 11:33:10 -0600
+
+dist (3.70-2) unstable; urgency=low
+
+ * Fixed some minor typos
+ * Improved the clean command.
+ * Handle all the @%$& problem with introducing more than one level of
+ directories and the inability of diff/patch to reconstruct the sources
+ by tarring, gzipping, and uuencoding the directory debian/Config.
+
+ -- Manoj Srivastava <srivasta@debian.org> Fri, 9 May 1997 17:23:50 -0501
+
+dist (3.70-1) unstable; urgency=low
+
+ * Huge set of patches results from an integration of the perl5 units
+ into the dist-3.0 package. The upstream fixes include:
+ * regenerated with current set of units
+ * added Perl Patch Pumpkin credits
+ * changed my email address and updated copyright dates
+ * fixed one wrong ':' comment in .package
+ * now handles USRINC for dependencies
+ * smarter about dependencies computation
+ * lex path can now be configured
+ * added Extractall dependency
+ * added support for src.U
+ * have README explicitly mention the package name
+ * created
+ * getfile script now begins with "startsh"
+ * make sure we unset CDPATH for shells that support this
+ * improved Korn shell detection and handling
+ * logname / whoami sequence rewritten to use case
+ * allow users to specify paths on the command line
+ * will now substitute cp for ln if not supported
+ * myread script now starts with a "startsh"
+ * miscellaneous fixes
+ * new OSNAME define
+ * can now sense new OSes
+ * optdef.sh now starts with a "startsh"
+ * moved some code from Head.U
+ * whoa script now starts with leading "startsh"
+ * can now explicitly tell Configure whether AFS is running
+ * skip existence checks for archlib
+ * changed the way the archname is mangled from uname
+ * no longer ask the user if the test runs ok
+ * removed support for NO_PROTOTYPE detection on SCO
+ * new locincpth variable
+ * added info on the "additional ld flags" question
+ * new computation method avoiding use of temporary file
+ * added cute quoting trick for wild stringify support
+ * added ?F: metalint hint
+ * replaced .a with $_a all over the place
+ * added full_csh to preserve the full path even when portable
+ * moved unit to TOP via a ?Y: layout directive
+ * tell them /dev/fd is not about floppy disks
+ * integrated new unit from perl5
+ * new USE_BSD_GETPGRP to detect the getpgrp() flavour
+ * useless unit dropped.
+ * likewise for .o replaced by $_o
+ * added Guess dependency
+ * replaced .o with $_o all over the place
+ * mention that <poll.h> can be included if HAS_POLL defined
+ * improved overlapping copy check
+ * comfort them if they have memmove
+ * reworded symbol comments
+ * obsoleted USE_BSDGRP in favor of USE_BSD_SETPGRP
+ * another unit now also defines a USE_BSD_GETPGRP
+ * fallback for test program failure improved
+ * added a ?F: metalint hint
+ * there is now a separate routine for sigaction()
+ * merged with perl5's unit
+ * added I_RPCSVC_DBM check
+ * varargs script now starts with leading "startsh"
+ * avoid prompting the user if the test runs ok
+ * moved code from longsize.U into there
+ * new tests for shortsize as well
+ * added support for HPUX-10 nm output
+ * added usrinc and mips on the dependency line
+ * make sure we call ./mips
+ * added a ?LINT: hint
+ * new loclibpth variable
+ * code moved to intsize.U
+ * added support for Free_t, the type of free()
+ * don't ask for AFS when they choose to not install pages
+ * improved hostname lookup by using ypmatch when NIS is used
+ * simplify here document for shells that can't handle them well
+ * force use of "startsh" at the head of the generated script
+ * added new files to the ?F: metalint hint
+ * ensure suitable defaults for hostcat and friends
+ * now uses the ar located by Loc.U
+ * added <unistd.h> and <stdlib.h> to the C program test
+ * removed empty ?LINT lines
+ * always include <sys/select.h> when available for test
+ * brand new algorithm for sig_name and (new!) sig_num
+ * removed useless chatter as this is now done very early
+ * integrated perl5 concerns for mis-configured sfio
+ * warn them if the #! line is too long for their OS
+ * avoid needless chatter since this is now done very early
+ * don't use nm with the GNU C library
+ * added support for Linux shared libs
+ * don't ask for the include path unless they are on a MIPS
+ * don't prompt them if the void support is high enough for us
+ * added the srcdir support now that we have src.U
+ * random cleanup for nicer help message
+ * documents the running environment and the src.U unit
+ * added warnings for $_a and $_o, as well as "startsh"
+ * new "create" and "empty" lint directives
+ * documented new messages
+ * new -L option to match metaconfig and metalint
+ * added support for ?F: lines to monitor file usage
+ * now honours "create" and "empty" lint directives
+ * documents contents of the message sent by patnotify
+ * let them know the patch priority and description
+ * Added a whole bunch of new units
+
+ -- Manoj Srivastava <srivasta@debian.org> Fri, 28 Feb 1997 14:14:07 -0600
+
+dist (3.60-9) unstable; urgency=low
+
+ * Removed frozen from the section list.
+
+ -- Manoj Srivastava <srivasta@debian.org> Sat, 15 Feb 1997 14:18:05 -0600
+
+dist (3.60-8) frozen unstable; urgency=low
+
+ * Moved to standards version 2.1.2.2
+ * Removed extra root checks
+ * Added error messages to failed root check
+
+ -- Manoj Srivastava <srivasta@debian.org> Thu, 13 Feb 1997 14:38:47 -0600
+
+dist (3.60-7) frozen unstable; urgency=low
+
+ * Changed to the new packaging format.
+
+ -- Manoj Srivastava <srivasta@debian.org> Thu, 14 Nov 1996 11:29:28 -0600
+
+Old Changelog:
+
+dist (3.60-6) unstable; urgency=low
+
+ * Added the architecture field to the package file name.
+ * point to /usr/doc/copright/Artistic rather than install
+ our own copy.
+ * Fixed a problem with the nis.U unit which left the symbols
+ hostcat, groupcat, and passcat empty if it did not detect
+ yellow pages on the system.
+
+ -- Manoj Srivastava <srivasta@debian.org>
+
+dist (3.60-5) unstable; urgency=low
+
+ * moved the man page for dist from section 1 to section 7,
+ which is more suitable anyway since dist is not an executable
+ but a meta name. This fixes Bug#2661.
+ * edited manpages to refer to dist.7 rather than dist.1
+
+ -- Manoj Srivastava <srivasta@debian.org>
+
+dist (3.60-4) unstable; urgency=low
+
+ * Added architecture header in control
+ * added section header
+ * merged the package revision header into the revision header.
+ * cleaned up the debian.rules.
+ * added the Changelog.
+ * Fixed the description field not to include multiple contiguous
+ spaces
+
+ -- Manoj Srivastava <srivasta@debian.org>
+
+dist (3.60-3) unstable; urgency=low
+
+ * Use /etc/news/organization instead of /etc/organization
+ Please note that people who installed mailagent-3.44-1
+ and/or dist-3.60-2 shall have to remove /etc/organization
+ manually after upgrading both packages.
+
+ -- Manoj Srivastava <srivasta@debian.org>
+
+dist (3.60-2) unstable; urgency=low
+
+ * Installed debian.README under /usr/doc/c2man
+ * Added to the dist target in debian.rules
+
+dist (3.60-1) unstable; urgency=low
+
+ * Added debian.* files
+
+ -- Manoj Srivastava <srivasta@debian.org>
diff --git a/debian/clean b/debian/clean
new file mode 100644
index 0000000..49e7049
--- /dev/null
+++ b/debian/clean
@@ -0,0 +1 @@
+config.over
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/config b/debian/config
new file mode 100755
index 0000000..92b72b1
--- /dev/null
+++ b/debian/config
@@ -0,0 +1,82 @@
+#!/bin/sh
+# -*- Mode: Sh -*-
+# config ---
+# Author : Manoj Srivastava ( srivasta@glaurung.green-gryphon.com )
+# Created On : Fri Oct 31 21:53:31 2003
+# Created On Node : glaurung.green-gryphon.com
+# Last Modified By : Manoj Srivastava
+# Last Modified On : Tue Dec 2 21:36:50 2003
+# Last Machine Used: glaurung.green-gryphon.com
+# Update Count : 13
+# Status : Unknown, Use with caution!
+# HISTORY :
+# Description :
+# arch-tag: 1c40a2eb-f28c-41b5-a423-671be2e816ed
+#
+
+set -e
+
+case "$1" in
+ configure)
+ # Configure this package. If the package must prompt the user for
+ # information, do it here.
+ if [ ! -e /etc/news/organization ]; then
+ if [ -e /usr/share/debconf/confmodule ]; then
+ . /usr/share/debconf/confmodule
+ db_capb
+ ok=''
+ # See if the old shared question still exists.
+ if db_get share/news/organization; then
+ if [ "X$RET" != "X" ]; then
+ ok=1
+ break
+ fi
+ fi
+ while [ ! "$ok" ]; do
+ retval=$(db_input low shared/news/organization) || true
+ if [ "$retval" = "30 question skipped" ]; then
+ ok=1
+ fi
+ db_go || true
+ db_get shared/news/organization
+ if [ "X$RET" != "X" ]; then
+ ok=1
+ break
+ fi
+ done
+ fi
+ fi
+
+ ;;
+ reconfigure)
+ if [ ! -e /etc/news/organization ]; then
+ if [ -e /usr/share/debconf/confmodule ]; then
+ . /usr/share/debconf/confmodule
+ db_capb
+ ok=''
+ # See if the old shared question still exists.
+ if db_get share/news/organization; then
+ if [ "X$RET" != "X" ]; then
+ ok=1
+ break
+ fi
+ fi
+ while [ ! "$ok" ]; do
+ retval=$(db_input low shared/news/organization) || true
+ if [ "$retval" = "30 question skipped" ]; then
+ ok=1
+ fi
+ db_go || true
+ db_get shared/news/organization
+ if [ "X$RET" != "X" ]; then
+ ok=1
+ break
+ fi
+ done
+ fi
+ fi
+ ;;
+ *) echo "$0: didn't understand being called with \`$1'" 1>&2
+ exit 0;;
+esac
+
diff --git a/debian/config.over b/debian/config.over
new file mode 100644
index 0000000..4bf5ea3
--- /dev/null
+++ b/debian/config.over
@@ -0,0 +1,4 @@
+thisdir=`pwd`
+installmansrc=$thisdir/debian/tmp/usr/share/man/man1
+installprivlib=$thisdir/debian/tmp/usr/share/dist
+installscript=$thisdir/debian/tmp/usr/bin
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..efc1789
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,39 @@
+Source: dist
+VCS-Git: git://anonscm.debian.org/users/srivasta/debian/dist.git
+VCS-Browser: http://anonscm.debian.org/gitweb/?p=users/srivasta/debian/dist.git
+Section: devel
+Priority: optional
+Maintainer: Manoj Srivastava <srivasta@debian.org>
+Standards-Version: 3.9.5.0
+Build-Depends-Indep: debhelper (>= 9.0.0), sharutils, po-debconf,
+ gettext, dpkg-dev (>= 1.16.0),
+ libperl4-corelibs-perl | perl (<< 5.12.3-7)
+
+
+
+
+Package: dist
+Architecture: all
+Depends: perl, debconf (>= 1.2.0) | debconf-2.0,
+ ${misc:Depends}, libperl4-corelibs-perl | perl (<< 5.12.3-7)
+Description: Tools for developing, maintaining and distributing software
+ The dist package is a set of tools meant to ease the construction
+ and maintenance of portable software.
+ .
+ The first component is the Configure script generator, metaconfig, which
+ automatically builds the Configure script from your sources. Ideally,
+ the end-user receiving your source code will simply have to read
+ your README file, run the Configure script (which is self-documented),
+ and then run make.
+ .
+ The second component is the Makefile.SH generator, which is a generic
+ configured Makefile, reusing some of the information figured out
+ by Configure, and a generic Jmakefile description.
+ .
+ The third component is the RCS aware package generator, which is
+ used when it's time to build up the shell archives used to distribute
+ your program.
+ .
+ The fourth and latest component is the patch generator, used to
+ make updates of your sources, which can later be applied on the
+ original distribution by using the patch program.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..e77dabf
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,33 @@
+ dist 3.0
+
+ Copyright © 1988, Larry Wall
+ Copyright © 1990-1992, Harlan Stenn
+ Copyright © 1991-1997, 2004-2006, Raphael Manfredi
+
+------------------------------------------------------------------------
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the Artistic License, a copy of which can be
+ found with this package.
+
+ 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
+ Artistic License for more details.
+------------------------------------------------------------------------
+
+The Debian specific changes are © 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2008 Manoj Srivastava
+<srivasta@debian.org>, and distributed under the terms of the GNU
+General Public License, version 2.
+
+On Debian GNU/Linux systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL-2'.
+
+ A copy of the GNU General Public License is also available at
+ <URL:http://www.gnu.org/copyleft/gpl.html>. You may also obtain
+ it by writing to the Free Software Foundation, Inc., 51 Franklin
+ St, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+Manoj Srivastava <srivasta@debian.org>
+arch-tag: d4250e44-a0e0-4ee0-adb9-2bd74f6eeb27
diff --git a/debian/dist.docs b/debian/dist.docs
new file mode 100644
index 0000000..64250d5
--- /dev/null
+++ b/debian/dist.docs
@@ -0,0 +1,5 @@
+Credits
+README
+Wishlist
+Known_bugs
+debian/README.Debian
diff --git a/debian/dist.install b/debian/dist.install
new file mode 100644
index 0000000..ead77d0
--- /dev/null
+++ b/debian/dist.install
@@ -0,0 +1,2 @@
+/usr/share usr
+/usr/bin usr
diff --git a/debian/patches/0001-debcherry-fixup-patch.patch b/debian/patches/0001-debcherry-fixup-patch.patch
new file mode 100644
index 0000000..ed010dd
--- /dev/null
+++ b/debian/patches/0001-debcherry-fixup-patch.patch
@@ -0,0 +1,2479 @@
+From f4bf4be5bfb731b218b247f89c9ff8bd2c2833d9 Mon Sep 17 00:00:00 2001
+From: Manoj Srivastava <srivasta@golden-gryphon.com>
+Date: Sun, 27 Apr 2014 22:02:31 -0700
+Subject: [PATCH 1/4] debcherry fixup patch
+
+3033685 [fix-man-page-typo]: Fix man page typos.
+ - no changes against upstream or conflicts
+f749bdf [master[: First step towards moving to a new build system.
+ - no changes against upstream or conflicts
+cfb9a7d [topic--man-fixes]: Fix man page comment schema
+ - extra changes or conflicts
+4e1b636 Added the debian submodule.
+ - extra changes or conflicts
+20c4ead Fix the buggy invocation of split
+ - extra changes or conflicts
+48d7579 Incorporate previous changes to dist
+ - extra changes or conflicts
+371472d Initial import of upstream branch
+ - extra changes or conflicts
+---
+ ChangeLog | 38 ++++----
+ MANIFEST | 2 +-
+ bin/manicheck.man | 30 +++---
+ bin/manilist.man | 48 +++++-----
+ bin/packinit.SH | 1 +
+ bin/packinit.man | 56 +++++------
+ bin/perload | 8 +-
+ dist.man | 70 +++++++-------
+ jmake/bindex.SH | 2 +-
+ jmake/files/Jmake.rules | 10 +-
+ jmake/fixcpp.SH | 2 +-
+ jmake/jmake.SH | 2 +-
+ jmake/jmake.man | 92 +++++++++---------
+ jmake/jmkmf.man | 34 +++----
+ kit/kitpost.man | 34 +++----
+ kit/kitsend.man | 34 +++----
+ kit/makeSH.man | 30 +++---
+ kit/makedist.man | 54 +++++------
+ kit/manifake.man | 34 +++----
+ mcon/Jmakefile | 2 +-
+ mcon/Makefile.SH | 2 +-
+ mcon/NOTES | 2 +-
+ mcon/U/Configdir.U | 2 +-
+ mcon/U/Finish.U | 2 +-
+ mcon/U/Guess.U | 2 +-
+ mcon/U/Head.U | 2 +-
+ mcon/U/Inhdr.U | 2 +-
+ mcon/U/Inlibc.U | 2 +-
+ mcon/U/Setvar.U | 2 +-
+ mcon/U/Warn_v7EXT.U | 2 +-
+ mcon/U/Warn_v7ND.U | 2 +-
+ mcon/U/abortsig.U | 2 +-
+ mcon/U/afs.U | 2 +-
+ mcon/U/bin.U | 2 +-
+ mcon/U/ccflags.U | 2 +-
+ mcon/U/d_bsdjmp.U | 2 +-
+ mcon/U/d_eofpipe.U | 2 +-
+ mcon/U/d_gethname.U | 2 +-
+ mcon/U/d_keepsig.U | 2 +-
+ mcon/U/d_newsadm.U | 2 +-
+ mcon/U/d_normsig.U | 2 +-
+ mcon/U/d_setpgrp.U | 2 +-
+ mcon/U/d_speedopt.U | 2 +-
+ mcon/U/d_tzmin.U | 2 +-
+ mcon/U/d_vfork.U | 4 +-
+ mcon/U/i_termio.U | 2 +-
+ mcon/U/myhostname.U | 2 +-
+ mcon/U/nametype.U | 2 +-
+ mcon/U/nis.U | 12 +++
+ mcon/U/registers.U | 2 +-
+ mcon/U/sbrksmart.U | 2 +-
+ mcon/U/shm_for.U | 2 +-
+ mcon/U/sysman.U | 2 +-
+ mcon/U/uidtype.U | 2 +-
+ mcon/U/voidflags.U | 2 +-
+ mcon/U/yacc.U | 2 +-
+ mcon/man/mconfig.SH | 248 ++++++++++++++++++++++++------------------------
+ mcon/man/mlint.SH | 102 ++++++++++----------
+ mcon/man/mxref.SH | 58 +++++------
+ pat/pat.man | 102 ++++++++++----------
+ 60 files changed, 595 insertions(+), 582 deletions(-)
+
+diff --git a/ChangeLog b/ChangeLog
+index 3dce502..0726af4 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -61,7 +61,7 @@ Fri Feb 28 17:48:41 MET 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.co
+
+ Added the srcdir support to "configure" now that we have src.U.
+
+- Documented the runnning environment and the src.U unit in
++ Documented the running environment and the src.U unit in
+ the metaconfig man page. The $_a and $_o are also mentionned.
+ All the generated scripts must now start with a "$startsh"
+ to ensure proper shell execution.
+@@ -90,7 +90,7 @@ Fri Feb 28 17:48:41 MET 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.co
+ mcon/U/patchlevel.U, mcon/U/MailAuthor.U, mcon/U/Chk_MANI.U,
+ mcon/U/Config_h.U: Added support for src.U.
+
+- * mcon/U/Configdir.U: Have README explicitely mention the package
++ * mcon/U/Configdir.U: Have README explicitly mention the package
+ name.
+
+ * mcon/U/make.U, mcon/U/d_strtoul.U, mcon/U/Unix.U,
+@@ -123,7 +123,7 @@ Fri Feb 28 17:48:41 MET 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.co
+
+ * mcon/U/Whoa.U: Whoa script now starts with leading "startsh".
+
+- * mcon/U/afs.U: Can now explicitely tell Configure whether AFS is
++ * mcon/U/afs.U: Can now explicitly tell Configure whether AFS is
+ running.
+
+ * mcon/U/archlib.U: Skip existence checks for archlib.
+@@ -265,7 +265,7 @@ Fri Feb 28 17:48:41 MET 1997 Raphael Manfredi <Raphael_Manfredi@grenoble.hp.co
+ * mcon/configure: Added the srcdir support now that we have src.U.
+ Random cleanup for nicer help message.
+
+- * mcon/man/mconfig.SH: Documents the runnning environment and the
++ * mcon/man/mconfig.SH: Documents the running environment and the
+ src.U unit. Added warnings for $_a and $_o, as well as "startsh".
+
+ * mcon/man/mlint.SH: New "create" and "empty" lint directives.
+@@ -969,7 +969,7 @@ Wed Jan 11 17:03:22 MET 1995 Raphael Manfredi <ram@acri.fr>
+ Andreas Koenig <k@franz.ww.tu-berlin.de> on the perl5-porters
+ mailing list. Thanks!
+
+- Now sets sbrksmart to undef explicitely when lacking sbrk().
++ Now sets sbrksmart to undef explicitly when lacking sbrk().
+ Forgot a cast when using return value from sbrk(). Both fixes
+ reported by Xavier Le Vourch <xavierl@eiffel.com>.
+
+@@ -1038,7 +1038,7 @@ Wed Jan 11 17:03:22 MET 1995 Raphael Manfredi <ram@acri.fr>
+ * mcon/U/orderlib.U: Allows hint files to specify their own value for
+ 'ranlib'.
+
+- * mcon/U/sbrksmart.U: Now sets sbrksmart to undef explicitely when
++ * mcon/U/sbrksmart.U: Now sets sbrksmart to undef explicitly when
+ lacking sbrk(). Forgot a cast when using return value from sbrk().
+
+ * mcon/U/spitshell.U: Use 'test -f' instead of 'test -r' for
+@@ -1083,7 +1083,7 @@ Mon Oct 31 10:57:05 MET 1994 Raphael Manfredi <ram@acri.fr>
+ in their ?MAKE: line due to the way metalint performs its visible
+ symbol lookup (by following dependencies recursively and implicitely
+ placing Init at the top). Since Options is no longer a dependency
+- of Init, Myread.U and Csym.U now explicitely mention Options in
++ of Init, Myread.U and Csym.U now explicitly mention Options in
+ their dependency line.
+
+ Also, the leading comment in Chk_MANI.U now explains how this
+@@ -1302,12 +1302,12 @@ Sat Oct 29 18:16:03 MET 1994 Raphael Manfredi <ram@acri.fr>
+ HOME to the ?T: line since metalint now checks ${HOME}.
+
+ * mcon/U/Guess.U: Added ?F: line for metalint file checking. Call
+- ./xenix explicitely instead of relying on PATH.
++ ./xenix explicitly instead of relying on PATH.
+
+ * mcon/U/Head.U: Make sure ENV is unset before calling /bin/ksh.
+
+ * mcon/U/Setvar.U, mcon/U/Inhdr.U, mcon/U/Inlibc.U: Call ./whoa
+- explicitely instead of relying on PATH.
++ explicitly instead of relying on PATH.
+
+ * mcon/U/Loc.U: Added ?F: line for metalint file checking. Be
+ careful and guard against wildcard searching (ADO).
+@@ -1323,10 +1323,10 @@ Sat Oct 29 18:16:03 MET 1994 Raphael Manfredi <ram@acri.fr>
+ * mcon/U/Typedef.U: Don't clobber visible 'val' variable, use
+ 'varval' instead.
+
+- * mcon/U/Warn_v7EXT.U, mcon/U/Warn_v7ND.U: Call ./v7 explicitely
++ * mcon/U/Warn_v7EXT.U, mcon/U/Warn_v7ND.U: Call ./v7 explicitly
+ instead of relying on PATH.
+
+- * mcon/U/abortsig.U, mcon/U/d_bsdjmp.U: Call ./usg explicitely
++ * mcon/U/abortsig.U, mcon/U/d_bsdjmp.U: Call ./usg explicitly
+ instead of relying on PATH.
+
+ * mcon/U/d_attribut.U, mcon/U/d_gconvert.U, mcon/U/d_drem.U,
+@@ -1358,19 +1358,19 @@ Sat Oct 29 18:16:03 MET 1994 Raphael Manfredi <ram@acri.fr>
+ McQueen).
+
+ * mcon/U/d_keepsig.U, mcon/U/d_eofpipe.U, mcon/U/d_normsig.U,
+- mcon/U/d_tzmin.U: Call ./bsd explicitely instead of relying on PATH.
++ mcon/U/d_tzmin.U: Call ./bsd explicitly instead of relying on PATH.
+
+- * mcon/U/d_gethname.U: Call ./xenix explicitely instead of relying on
++ * mcon/U/d_gethname.U: Call ./xenix explicitly instead of relying on
+ PATH.
+
+- * mcon/U/d_newsadm.U: Call ./eunice explicitely instead of relying on
++ * mcon/U/d_newsadm.U: Call ./eunice explicitly instead of relying on
+ PATH.
+
+ * mcon/U/d_setpgrp.U: Added 'ldflags' to the test compile line (ADO).
+- Call ./usg explicitely instead of relying on PATH.
++ Call ./usg explicitly instead of relying on PATH.
+
+ * mcon/U/registers.U, mcon/U/shm_for.U, mcon/U/d_speedopt.U: Call
+- ./Cppsym explicitely instead of relying on PATH.
++ ./Cppsym explicitly instead of relying on PATH.
+
+ * mcon/U/d_time.U: Now uses new Typedef unit to compute type
+ information (ADO).
+@@ -1384,7 +1384,7 @@ Sat Oct 29 18:16:03 MET 1994 Raphael Manfredi <ram@acri.fr>
+ * mcon/U/i_neterrno.U: Forgot to initialize 'val' to an empty value
+ (ADO).
+
+- * mcon/U/i_termio.U: Call ./usg and ./Cppsym explicitely instead of
++ * mcon/U/i_termio.U: Call ./usg and ./Cppsym explicitly instead of
+ relying on PATH.
+
+ * mcon/U/lex.U: Spurious single quote could cause Configure to crash.
+@@ -1398,10 +1398,10 @@ Sat Oct 29 18:16:03 MET 1994 Raphael Manfredi <ram@acri.fr>
+ * mcon/U/mailfile.U: The Loc unit was missing from the dependency
+ line.
+
+- * mcon/U/myhostname.U: Call ./xenix explicitely instead of relying on
++ * mcon/U/myhostname.U: Call ./xenix explicitly instead of relying on
+ PATH. Now uses new Tr unit to convert to/from lowercase.
+
+- * mcon/U/nametype.U: Call ./usg and ./bsd explicitely instead of
++ * mcon/U/nametype.U: Call ./usg and ./bsd explicitly instead of
+ relying on PATH.
+
+ * mcon/U/orderlib.U: Now performs a real small compile for accurate
+diff --git a/MANIFEST b/MANIFEST
+index ffd22b5..d3d2050 100644
+--- a/MANIFEST
++++ b/MANIFEST
+@@ -150,7 +150,7 @@ mcon/U/cc.U Which C compiler should be used?
+ mcon/U/ccflags.U Any additional C flags?
+ mcon/U/cf_email.U Computes user's e-mail address
+ mcon/U/cf_name.U Computes user's full name
+-mcon/U/cf_who.U Who configured the sytem, where and when
++mcon/U/cf_who.U Who configured the system, where and when
+ mcon/U/charorder.U Character order within a byte
+ mcon/U/charsize.U What is the size of "char"?
+ mcon/U/contains.U Makes status-returning grep
+diff --git a/bin/manicheck.man b/bin/manicheck.man
+index 3419a03..96c71ab 100644
+--- a/bin/manicheck.man
++++ b/bin/manicheck.man
+@@ -1,18 +1,18 @@
+-''' $Id: manicheck.man 3 2006-08-25 21:39:07Z rmanfredi $
+-'''
+-''' Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+-'''
+-''' You may redistribute only under the terms of the Artistic Licence,
+-''' as specified in the README file that comes with the distribution.
+-''' You may reuse parts of this distribution only within the terms of
+-''' that same Artistic Licence; a copy of which may be found at the root
+-''' of the source tree for dist 4.0.
+-'''
+-''' $Log: manicheck.man,v $
+-''' Revision 3.0 1993/08/18 12:04:02 ram
+-''' Baseline for dist 3.0 netwide release.
+-'''
+-'''
++.\" $Id: manicheck.man 3 2006-08-25 21:39:07Z rmanfredi $
++.\"
++.\" Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
++.\"
++.\" You may redistribute only under the terms of the Artistic Licence,
++.\" as specified in the README file that comes with the distribution.
++.\" You may reuse parts of this distribution only within the terms of
++.\" that same Artistic Licence; a copy of which may be found at the root
++.\" of the source tree for dist 4.0.
++.\"
++.\" $Log: manicheck.man,v $
++.\" Revision 3.0 1993/08/18 12:04:02 ram
++.\" Baseline for dist 3.0 netwide release.
++.\"
++.\"
+ .TH MANICHECK 1 ram
+ .SH NAME
+ manicheck \- check manifest accuracy
+diff --git a/bin/manilist.man b/bin/manilist.man
+index a2efb86..5d51c53 100644
+--- a/bin/manilist.man
++++ b/bin/manilist.man
+@@ -1,27 +1,27 @@
+-''' $Id: manilist.man 3 2006-08-25 21:39:07Z rmanfredi $
+-'''
+-''' Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+-'''
+-''' You may redistribute only under the terms of the Artistic Licence,
+-''' as specified in the README file that comes with the distribution.
+-''' You may reuse parts of this distribution only within the terms of
+-''' that same Artistic Licence; a copy of which may be found at the root
+-''' of the source tree for dist 4.0.
+-'''
+-''' $Log: manilist.man,v $
+-''' Revision 3.0.1.3 1995/05/12 11:57:31 ram
+-''' patch54: updated my e-mail address
+-'''
+-''' Revision 3.0.1.2 1994/01/24 13:52:55 ram
+-''' patch16: typo fix
+-'''
+-''' Revision 3.0.1.1 1993/08/24 12:11:02 ram
+-''' patch3: typo fix
+-'''
+-''' Revision 3.0 1993/08/18 12:04:04 ram
+-''' Baseline for dist 3.0 netwide release.
+-'''
+-'''
++.\" $Id: manilist.man 3 2006-08-25 21:39:07Z rmanfredi $
++.\"
++.\" Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
++.\"
++.\" You may redistribute only under the terms of the Artistic Licence,
++.\" as specified in the README file that comes with the distribution.
++.\" You may reuse parts of this distribution only within the terms of
++.\" that same Artistic Licence; a copy of which may be found at the root
++.\" of the source tree for dist 4.0.
++.\"
++.\" $Log: manilist.man,v $
++.\" Revision 3.0.1.3 1995/05/12 11:57:31 ram
++.\" patch54: updated my e-mail address
++.\"
++.\" Revision 3.0.1.2 1994/01/24 13:52:55 ram
++.\" patch16: typo fix
++.\"
++.\" Revision 3.0.1.1 1993/08/24 12:11:02 ram
++.\" patch3: typo fix
++.\"
++.\" Revision 3.0 1993/08/18 12:04:04 ram
++.\" Baseline for dist 3.0 netwide release.
++.\"
++.\"
+ .TH MANILIST 1 ram
+ .SH NAME
+ manilist \- report status of files in a source directory
+diff --git a/bin/packinit.SH b/bin/packinit.SH
+index d0e6d9f..aed01b3 100755
+--- a/bin/packinit.SH
++++ b/bin/packinit.SH
+@@ -16,6 +16,7 @@ case "$0" in
+ esac
+ echo "Extracting bin/packinit (with variable substitutions)"
+ cat >packinit <<!GROK!THIS!
++#! /usr/bin/perl
+ # feed this into perl
+ eval 'exec perl -S \$0 \${1+"\$@"}'
+ if \$running_under_some_shell;
+diff --git a/bin/packinit.man b/bin/packinit.man
+index 97fe728..bfadfe4 100644
+--- a/bin/packinit.man
++++ b/bin/packinit.man
+@@ -1,30 +1,30 @@
+-''' $Id: packinit.man 3 2006-08-25 21:39:07Z rmanfredi $
+-'''
+-''' Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+-'''
+-''' You may redistribute only under the terms of the Artistic Licence,
+-''' as specified in the README file that comes with the distribution.
+-''' You may reuse parts of this distribution only within the terms of
+-''' that same Artistic Licence; a copy of which may be found at the root
+-''' of the source tree for dist 4.0.
+-'''
+-''' $Log: packinit.man,v $
+-''' Revision 3.0.1.4 1995/07/25 13:31:38 ram
+-''' patch56: fixed a typo
+-'''
+-''' Revision 3.0.1.3 1995/05/12 11:57:38 ram
+-''' patch54: updated my e-mail address
+-'''
+-''' Revision 3.0.1.2 1994/10/29 15:45:17 ram
+-''' patch36: added new variables cext, shext, changelog and changercs
+-'''
+-''' Revision 3.0.1.1 1994/01/24 13:54:31 ram
+-''' patch16: now documents variables set in .package by packinit
+-'''
+-''' Revision 3.0 1993/08/18 12:04:06 ram
+-''' Baseline for dist 3.0 netwide release.
+-'''
+-'''
++.\" $Id: packinit.man 3 2006-08-25 21:39:07Z rmanfredi $
++.\"
++.\" Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
++.\"
++.\" You may redistribute only under the terms of the Artistic Licence,
++.\" as specified in the README file that comes with the distribution.
++.\" You may reuse parts of this distribution only within the terms of
++.\" that same Artistic Licence; a copy of which may be found at the root
++.\" of the source tree for dist 4.0.
++.\"
++.\" $Log: packinit.man,v $
++.\" Revision 3.0.1.4 1995/07/25 13:31:38 ram
++.\" patch56: fixed a typo
++.\"
++.\" Revision 3.0.1.3 1995/05/12 11:57:38 ram
++.\" patch54: updated my e-mail address
++.\"
++.\" Revision 3.0.1.2 1994/10/29 15:45:17 ram
++.\" patch36: added new variables cext, shext, changelog and changercs
++.\"
++.\" Revision 3.0.1.1 1994/01/24 13:54:31 ram
++.\" patch16: now documents variables set in .package by packinit
++.\"
++.\" Revision 3.0 1993/08/18 12:04:06 ram
++.\" Baseline for dist 3.0 netwide release.
++.\"
++.\"
+ .TH PACKINIT 1 ram
+ .SH NAME
+ packinit \- initialize or update your .package file
+@@ -145,4 +145,4 @@ Larry Wall <lwall@netlabs.com> (version 2.0)
+ .br
+ Raphael Manfredi <ram@hptnos02.grenoble.hp.com>
+ .SH "SEE ALSO"
+-dist(1).
++dist(7).
+diff --git a/bin/perload b/bin/perload
+index 4dc77c2..e9e5544 100755
+--- a/bin/perload
++++ b/bin/perload
+@@ -1,4 +1,4 @@
+-: # feed this into perl
++#! /usr/bin/perl
+ '/bin/true' && eval 'exec perl -S $0 "$@"'
+ if $running_under_some_shell;
+ 'di';
+@@ -478,9 +478,9 @@ sub q {
+ .nr % 0 \" start at page 1
+ '; __END__ \" the perl compiler stops here
+
+-'''
+-''' From here on it's a standard manual page.
+-'''
++.\"
++.\" From here on it's a standard manual page.
++.\"
+
+ .TH PERLOAD 1 "June 20, 1992"
+ .AT 3
+diff --git a/dist.man b/dist.man
+index ebb8ccb..da0e60e 100644
+--- a/dist.man
++++ b/dist.man
+@@ -1,37 +1,37 @@
+-''' $Id: dist.man 3 2006-08-25 21:39:07Z rmanfredi $
+-'''
+-''' Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+-'''
+-''' You may redistribute only under the terms of the Artistic Licence,
+-''' as specified in the README file that comes with the distribution.
+-''' You may reuse parts of this distribution only within the terms of
+-''' that same Artistic Licence; a copy of which may be found at the root
+-''' of the source tree for dist 4.0.
+-'''
+-''' $Log: dist.man,v $
+-''' Revision 3.0.1.6 1995/05/12 11:57:53 ram
+-''' patch54: updated my e-mail address
+-'''
+-''' Revision 3.0.1.5 1994/10/29 15:46:03 ram
+-''' patch36: mentions new patlog script and ChangeLog file
+-'''
+-''' Revision 3.0.1.4 1994/05/06 13:54:17 ram
+-''' patch23: extended copyright notice to 1994
+-''' patch23: new script kitpost
+-'''
+-''' Revision 3.0.1.3 1994/01/24 13:55:41 ram
+-''' patch16: documents profile and its components
+-'''
+-''' Revision 3.0.1.2 1993/11/10 17:31:03 ram
+-''' patch14: added mention for new confmagic.h file
+-'''
+-''' Revision 3.0.1.1 1993/08/24 12:12:00 ram
+-''' patch3: added entries for patnotify and patsnap
+-'''
+-''' Revision 3.0 1993/08/18 12:04:07 ram
+-''' Baseline for dist 3.0 netwide release.
+-'''
+-'''
++.\" $Id: dist.man 3 2006-08-25 21:39:07Z rmanfredi $
++.\"
++.\" Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
++.\"
++.\" You may redistribute only under the terms of the Artistic Licence,
++.\" as specified in the README file that comes with the distribution.
++.\" You may reuse parts of this distribution only within the terms of
++.\" that same Artistic Licence; a copy of which may be found at the root
++.\" of the source tree for dist 4.0.
++.\"
++.\" $Log: dist.man,v $
++.\" Revision 3.0.1.6 1995/05/12 11:57:53 ram
++.\" patch54: updated my e-mail address
++.\"
++.\" Revision 3.0.1.5 1994/10/29 15:46:03 ram
++.\" patch36: mentions new patlog script and ChangeLog file
++.\"
++.\" Revision 3.0.1.4 1994/05/06 13:54:17 ram
++.\" patch23: extended copyright notice to 1994
++.\" patch23: new script kitpost
++.\"
++.\" Revision 3.0.1.3 1994/01/24 13:55:41 ram
++.\" patch16: documents profile and its components
++.\"
++.\" Revision 3.0.1.2 1993/11/10 17:31:03 ram
++.\" patch14: added mention for new confmagic.h file
++.\"
++.\" Revision 3.0.1.1 1993/08/24 12:12:00 ram
++.\" patch3: added entries for patnotify and patsnap
++.\"
++.\" Revision 3.0 1993/08/18 12:04:07 ram
++.\" Baseline for dist 3.0 netwide release.
++.\"
++.\"
+ .de Ex \" Start of Example
+ .sp
+ .in +5
+@@ -42,7 +42,7 @@
+ .in -5
+ .fi
+ ..
+-.TH DIST 1 ram
++.TH DIST 7 ram
+ .SH NAME
+ dist \- introduction to dist
+ .SH DESCRIPTION
+diff --git a/jmake/bindex.SH b/jmake/bindex.SH
+index ca73f5e..ee45b2e 100755
+--- a/jmake/bindex.SH
++++ b/jmake/bindex.SH
+@@ -20,7 +20,7 @@ $startperl
+ !GROK!THIS!
+ $spitshell >>bindex <<'!NO!SUBS!'
+ eval 'exec perl -S $0 ${1+"$@"}'
+- if $runnning_under_some_shell;
++ if $running_under_some_shell;
+
+ # $Id: bindex.SH 31 2010-03-06 20:15:24Z rmanfredi $
+ #
+diff --git a/jmake/files/Jmake.rules b/jmake/files/Jmake.rules
+index 8877f17..0b0c02d 100644
+--- a/jmake/files/Jmake.rules
++++ b/jmake/files/Jmake.rules
+@@ -512,7 +512,7 @@ local_deinstall.man:: @@\
+ */
+ #define LinkFileList(step,list,dir,sub) @!\
+ step:: list @@\
+- @case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
++ @case '${MFLAGS}' in *[i]*) set +e;; *) set -e;; esac; \ @@\
+ echo " cd" dir; cd dir; for i in list; do (set -x; $(LN) sub/$$i .); done
+
+
+@@ -1191,7 +1191,7 @@ local_realclean:: @@\
+ */
+ #define CommonSubdirsRule(dirs) @!\
+ subdirs: @@\
+- @case '${MFLAGS}' in *[ik]*) set +e;; esac; \ @@\
++ @case '${MFLAGS}' in *[ik]*) set +e;; *) set -e;; esac; \ @@\
+ for i in dirs ;\ @@\
+ do \ @@\
+ (cd $$i ; echo $(VERB) "in $(DIR)$$i..."; \ @@\
+@@ -1205,7 +1205,7 @@ subdirs: @@\
+ */
+ #define NamedTargetSubdirsRule(dirs,name,verb,flags) @!\
+ name:: @@\
+- @case '${MFLAGS}' in *[ik]*) set +e;; esac; \ @@\
++ @case '${MFLAGS}' in *[ik]*) set +e;; *) set -e;; esac; \ @@\
+ for i in dirs ;\ @@\
+ do \ @@\
+ (cd $$i ; echo verb "in $(DIR)$$i..."; \ @@\
+@@ -1449,7 +1449,7 @@ MakeLintSubdirs(dirs,lintlib)
+ */
+ #define MakeMakeSubdirs(target) @!\
+ target:: @@\
+- @case '${MFLAGS}' in *[ik]*) set +e;; esac; \ @@\
++ @case '${MFLAGS}' in *[ik]*) set +e;; *) set -e;; esac; \ @@\
+ for i in $(SUBDIRS);\ @@\
+ do \ @@\
+ echo "Making "target" in $(DIR)$$i..."; \ @@\
+@@ -1468,7 +1468,7 @@ target:: @@\
+ */
+ #define MakeMakefilesSH() @!\
+ Makefiles.SH:: Makefile.SH @@\
+- @case '${MFLAGS}' in *[ik]*) set +e;; esac; \ @@\
++ @case '${MFLAGS}' in *[ik]*) set +e;; *) set -e;; esac; \ @@\
+ for i in $(SUBDIRS);\ @@\
+ do \ @@\
+ case "$(DIR)$$i/" in \ @@\
+diff --git a/jmake/fixcpp.SH b/jmake/fixcpp.SH
+index 092a4ca..fa816f4 100755
+--- a/jmake/fixcpp.SH
++++ b/jmake/fixcpp.SH
+@@ -19,7 +19,7 @@ echo "Extracting jmake/fixcpp (with variable substitutions)"
+ $spitshell >fixcpp <<!GROK!THIS!
+ $startperl
+ eval 'exec perl -S \$0 \${1+"\$@"}'
+- if \$runnning_under_some_shell;
++ if \$running_under_some_shell;
+
+ # $Id: fixcpp.SH 42 2010-11-28 18:15:13Z rmanfredi $
+ #
+diff --git a/jmake/jmake.SH b/jmake/jmake.SH
+index 392952f..6f97180 100755
+--- a/jmake/jmake.SH
++++ b/jmake/jmake.SH
+@@ -19,7 +19,7 @@ echo "Extracting jmake/jmake (with variable substitutions)"
+ $spitshell >jmake <<!GROK!THIS!
+ $startperl
+ eval 'exec perl -S \$0 \${1+"\$@"}'
+- if \$runnning_under_some_shell;
++ if \$running_under_some_shell;
+
+ # $Id: jmake.SH 47 2010-11-28 22:23:13Z rmanfredi $
+ #
+diff --git a/jmake/jmake.man b/jmake/jmake.man
+index afd5e65..5f577e6 100644
+--- a/jmake/jmake.man
++++ b/jmake/jmake.man
+@@ -1,28 +1,28 @@
+-''' $Id: jmake.man 47 2010-11-28 22:23:13Z rmanfredi $
+-'''
+-''' Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+-'''
+-''' You may redistribute only under the terms of the Artistic Licence,
+-''' as specified in the README file that comes with the distribution.
+-''' You may reuse parts of this distribution only within the terms of
+-''' that same Artistic Licence; a copy of which may be found at the root
+-''' of the source tree for dist 4.0.
+-'''
+-''' $Log: jmake.man,v $
+-''' Revision 3.0.1.3 2004/08/22 09:01:55 ram
+-''' patch71: renamed |test as |case as the construct has its syntax
+-''' patch71: added |subst section to allow variable substitutions
+-'''
+-''' Revision 3.0.1.2 2004/08/21 23:19:52 ram
+-''' patch71: added '|shell' section to emit verbatim code in Makefile.SH
+-''' patch71: new '|test' to conditionally generate Makefile sections
+-'''
+-''' Revision 3.0.1.1 1995/05/12 11:57:58 ram
+-''' patch54: updated my e-mail address
+-'''
+-''' Revision 3.0 1993/08/18 12:04:18 ram
+-''' Baseline for dist 3.0 netwide release.
+-'''
++.\" $Id: jmake.man 47 2010-11-28 22:23:13Z rmanfredi $
++.\"
++.\" Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
++.\"
++.\" You may redistribute only under the terms of the Artistic Licence,
++.\" as specified in the README file that comes with the distribution.
++.\" You may reuse parts of this distribution only within the terms of
++.\" that same Artistic Licence; a copy of which may be found at the root
++.\" of the source tree for dist 4.0.
++.\"
++.\" $Log: jmake.man,v $
++.\" Revision 3.0.1.3 2004/08/22 09:01:55 ram
++.\" patch71: renamed |test as |case as the construct has its syntax
++.\" patch71: added |subst section to allow variable substitutions
++.\"
++.\" Revision 3.0.1.2 2004/08/21 23:19:52 ram
++.\" patch71: added '|shell' section to emit verbatim code in Makefile.SH
++.\" patch71: new '|test' to conditionally generate Makefile sections
++.\"
++.\" Revision 3.0.1.1 1995/05/12 11:57:58 ram
++.\" patch54: updated my e-mail address
++.\"
++.\" Revision 3.0 1993/08/18 12:04:18 ram
++.\" Baseline for dist 3.0 netwide release.
++.\"
+ .TH JMAKE 1 ram
+ .SH NAME
+ jmake \- a generic makefile builder
+@@ -195,16 +195,16 @@ Available commands are:
+ |rule: <text>: same as before, with a leading tab.
+ .sp
+ .IP \(bu
+-|skip: skips text until a line starting with '-skip' is found.
++|skip: skips text until a line starting with '\-skip' is found.
+ .sp
+ .IP \(bu
+ |subst: begins section where lines will be subject to variable substitution,
+-until '-subst' is found. This means that when the Makefile.SH is run, all
++until '\-subst' is found. This means that when the Makefile.SH is run, all
+ instances of $var within the \fIsubst\fR section will be substituted by the
+ shell.
+ .sp
+ .IP \(bu
+-|shell: emits section until matching '-shell' as-is in the generated
++|shell: emits section until matching '\-shell' as-is in the generated
+ Makefile.SH. This can be useful to prepare \fI|case\fR sections. It is
+ not allowed to nest \fIshell\fR sections.
+ .sp
+@@ -213,15 +213,15 @@ not allowed to nest \fIshell\fR sections.
+ its leading '$' sign) and a case-style pattern, for instance the string
+ "var in f*". It will generate the corresponding "case" test in the
+ Makefile.SH on the "$var" value and only if this test is true will the
+-section until the matching '-case' be generated in the Makefile when
++section until the matching '\-case' be generated in the Makefile when
+ Makefile.SH is run. It is possible to nest \fIcase\fR sections freely.
+ .sp
+ .IP \(bu
+-|expand <pattern>: expand lines until '-expand' with <pattern>. A
++|expand <pattern>: expand lines until '\-expand' with <pattern>. A
+ complete example is shown below.
+ .sp
+ .IP \(bu
+-|once <symbol>: text up to '-once' appears only the first time.
++|once <symbol>: text up to '\-once' appears only the first time.
+ .sp
+ .PP
+ The '|' commands cannot be nested, unless otherwise noted.
+@@ -239,7 +239,7 @@ Here is a way to implement a logical OR:
+ ?SYMBOL:text /* Keeps text if SYMBOL */
+ %SYMBOL:|skip
+ %TOKEN:text /* Keeps text if not TOKEN */
+--skip
++\-skip
+ .fi
+ .in -5
+ .sp
+@@ -256,7 +256,7 @@ not (p or q) <=> not p and not q
+ /* Implements SYMBOL or not TOKEN (attempt #2) */
+ %SYMBOL:?TOKEN:|skip
+ text /* If SYMBOL or not TOKEN */
+--skip
++\-skip
+ .sp
+ .in -5
+ .fi
+@@ -273,7 +273,7 @@ an example first:
+ |expand a!foo bar! b!yes no!
+ !a::
+ echo !a, !b
+--expand
++\-expand
+ .fi
+ .in -5
+ .sp
+@@ -302,7 +302,7 @@ It is defined in \fIJmake.rules\fR as:
+ #define Expand(rule, pattern) @!\\
+ |expand pattern @!\\
+ rule @!\\
+--expand
++\-expand
+ .sp
+ .in -5
+ .fi
+@@ -316,7 +316,7 @@ A = foo bar
+
+ #define Rule @!\\
+ $(DIR)/!a^^.o: !a^^.o @@\\
+- $(CC) -c !a^^.c @@\\
++ $(CC) \-c !a^^.c @@\\
+ $(MV) !a^^.o $(DIR)
+
+ Expand(Rule, a!$(A)!)
+@@ -328,11 +328,11 @@ which will generate in \fIMakefile.SH\fR:
+ .in +5
+ .nf
+ $(DIR)/foo.o: foo.o
+- $(CC) -c foo.c
++ $(CC) \-c foo.c
+ $(MV) foo.o $(DIR)
+
+ $(DIR)/bar.o: bar.o
+- $(CC) -c bar.c
++ $(CC) \-c bar.c
+ $(MV) bar.o $$(DIR)
+ .sp
+ .in -5
+@@ -349,7 +349,7 @@ values for the \fBfirst\fR parameter. If other parameters have less
+ substitution values, they will get void ones.
+ .sp
+ .PP
+-It is possible to add a regular expression at the end of '-expand'. This
++It is possible to add a regular expression at the end of '\-expand'. This
+ regular expression will be removed from the final set of expansion at the
+ end of each line. It is also possible to do substitutions in the expanded
+ item, by using the syntax (if 'f' is the expanded variable)
+@@ -371,11 +371,11 @@ SRC = foo.c bar.c
+ OBJ = \\
+ |expand f!$(SRC)!
+ !f:\\.c=\\.o \\
+--expand \\\\
++\-expand \\\\
+ INC = \\
+ |expand f!$(OBJ)!
+ !f:\\.o=\\.h \\
+--expand \\\\
++\-expand \\\\
+ .fi
+ .in -5
+ .sp
+@@ -398,7 +398,7 @@ as backslash, point, etc...
+ .sp
+ .PP
+ The \fIonce\fR command is tagged with a name. The first time the name
+-appears, the once construct is ignored and the text up to '-once' will
++appears, the once construct is ignored and the text up to '\-once' will
+ be copied in the generated Makefile.SH. However, future occurences of
+ the same name will be ignored (\fIonce\fR will behave like \fIskip\fR).
+ .sp
+@@ -408,7 +408,7 @@ Example:
+ .nf
+ |once this_is_a_name
+ <text>
+--once
++\-once
+ .sp
+ .in -5
+ .fi
+@@ -423,7 +423,7 @@ in the Makefile.SH. For instance, the following section in the Jmakefile:
+ case "$d_usegtk1" in
+ define) glib=1; gtk=1;;
+ esac
+--shell
++\-shell
+ .sp
+ .in -5
+ .fi
+@@ -440,7 +440,7 @@ parts of the Makefile only when building for GTK1 using glib-1.x:
+ |case glib in 1
+ display:
+ echo "Building for glib-1.x"
+--case
++\-case
+ .sp
+ .in -5
+ .fi
+@@ -482,7 +482,7 @@ User-defined variables:
+ .sp
+ The user may define CFLAGS, LDFLAGS or DPFLAGS as additional flags to be used
+ in C compilation, linking phase or depend target. It is thus possible to add
+-some extra flags such as -I or libraries for Makefiles in specific
++some extra flags such as \-I or libraries for Makefiles in specific
+ sub-directories.
+ .sp
+ .PD
+diff --git a/jmake/jmkmf.man b/jmake/jmkmf.man
+index 60595e3..4411f2f 100644
+--- a/jmake/jmkmf.man
++++ b/jmake/jmkmf.man
+@@ -1,20 +1,20 @@
+-''' $Id: jmkmf.man 3 2006-08-25 21:39:07Z rmanfredi $
+-'''
+-''' Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+-'''
+-''' You may redistribute only under the terms of the Artistic Licence,
+-''' as specified in the README file that comes with the distribution.
+-''' You may reuse parts of this distribution only within the terms of
+-''' that same Artistic Licence; a copy of which may be found at the root
+-''' of the source tree for dist 4.0.
+-'''
+-''' $Log: jmkmf.man,v $
+-''' Revision 3.0.1.1 1995/05/12 11:58:03 ram
+-''' patch54: updated my e-mail address
+-'''
+-''' Revision 3.0 1993/08/18 12:04:20 ram
+-''' Baseline for dist 3.0 netwide release.
+-'''
++.\" $Id: jmkmf.man 3 2006-08-25 21:39:07Z rmanfredi $
++.\"
++.\" Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
++.\"
++.\" You may redistribute only under the terms of the Artistic Licence,
++.\" as specified in the README file that comes with the distribution.
++.\" You may reuse parts of this distribution only within the terms of
++.\" that same Artistic Licence; a copy of which may be found at the root
++.\" of the source tree for dist 4.0.
++.\"
++.\" $Log: jmkmf.man,v $
++.\" Revision 3.0.1.1 1995/05/12 11:58:03 ram
++.\" patch54: updated my e-mail address
++.\"
++.\" Revision 3.0 1993/08/18 12:04:20 ram
++.\" Baseline for dist 3.0 netwide release.
++.\"
+ .TH JMKMF 1 ram
+ .SH NAME
+ jmkmf \- runs jmake with the correct options
+diff --git a/kit/kitpost.man b/kit/kitpost.man
+index e840525..6777e5e 100644
+--- a/kit/kitpost.man
++++ b/kit/kitpost.man
+@@ -1,20 +1,20 @@
+-''' $Id: kitpost.man 3 2006-08-25 21:39:07Z rmanfredi $
+-'''
+-''' Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+-'''
+-''' You may redistribute only under the terms of the Artistic Licence,
+-''' as specified in the README file that comes with the distribution.
+-''' You may reuse parts of this distribution only within the terms of
+-''' that same Artistic Licence; a copy of which may be found at the root
+-''' of the source tree for dist 4.0.
+-'''
+-''' $Log: kitpost.man,v $
+-''' Revision 3.0.1.2 1995/05/12 11:58:09 ram
+-''' patch54: updated my e-mail address
+-'''
+-''' Revision 3.0.1.1 1994/05/06 13:55:01 ram
+-''' patch23: created
+-'''
++.\" $Id: kitpost.man 3 2006-08-25 21:39:07Z rmanfredi $
++.\"
++.\" Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
++.\"
++.\" You may redistribute only under the terms of the Artistic Licence,
++.\" as specified in the README file that comes with the distribution.
++.\" You may reuse parts of this distribution only within the terms of
++.\" that same Artistic Licence; a copy of which may be found at the root
++.\" of the source tree for dist 4.0.
++.\"
++.\" $Log: kitpost.man,v $
++.\" Revision 3.0.1.2 1995/05/12 11:58:09 ram
++.\" patch54: updated my e-mail address
++.\"
++.\" Revision 3.0.1.1 1994/05/06 13:55:01 ram
++.\" patch23: created
++.\"
+ .TH KITSEND 1 ram
+ .SH NAME
+ kitpost \- posts distribution kits
+diff --git a/kit/kitsend.man b/kit/kitsend.man
+index 0bcfb0f..3915dd7 100644
+--- a/kit/kitsend.man
++++ b/kit/kitsend.man
+@@ -1,20 +1,20 @@
+-''' $Id: kitsend.man 3 2006-08-25 21:39:07Z rmanfredi $
+-'''
+-''' Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+-'''
+-''' You may redistribute only under the terms of the Artistic Licence,
+-''' as specified in the README file that comes with the distribution.
+-''' You may reuse parts of this distribution only within the terms of
+-''' that same Artistic Licence; a copy of which may be found at the root
+-''' of the source tree for dist 4.0.
+-'''
+-''' $Log: kitsend.man,v $
+-''' Revision 3.0.1.1 1994/05/06 14:00:11 ram
+-''' patch23: documented new -V and -h options
+-'''
+-''' Revision 3.0 1993/08/18 12:04:26 ram
+-''' Baseline for dist 3.0 netwide release.
+-'''
++.\" $Id: kitsend.man 3 2006-08-25 21:39:07Z rmanfredi $
++.\"
++.\" Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
++.\"
++.\" You may redistribute only under the terms of the Artistic Licence,
++.\" as specified in the README file that comes with the distribution.
++.\" You may reuse parts of this distribution only within the terms of
++.\" that same Artistic Licence; a copy of which may be found at the root
++.\" of the source tree for dist 4.0.
++.\"
++.\" $Log: kitsend.man,v $
++.\" Revision 3.0.1.1 1994/05/06 14:00:11 ram
++.\" patch23: documented new -V and -h options
++.\"
++.\" Revision 3.0 1993/08/18 12:04:26 ram
++.\" Baseline for dist 3.0 netwide release.
++.\"
+ .TH KITSEND 1 ram
+ .SH NAME
+ kitsend \- sends distribution kits
+diff --git a/kit/makeSH.man b/kit/makeSH.man
+index 5995cfe..ef8ed89 100644
+--- a/kit/makeSH.man
++++ b/kit/makeSH.man
+@@ -1,18 +1,18 @@
+-''' $Id: makeSH.man 3 2006-08-25 21:39:07Z rmanfredi $
+-'''
+-''' Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+-'''
+-''' You may redistribute only under the terms of the Artistic Licence,
+-''' as specified in the README file that comes with the distribution.
+-''' You may reuse parts of this distribution only within the terms of
+-''' that same Artistic Licence; a copy of which may be found at the root
+-''' of the source tree for dist 4.0.
+-'''
+-''' $Log: makeSH.man,v $
+-''' Revision 3.0 1993/08/18 12:04:27 ram
+-''' Baseline for dist 3.0 netwide release.
+-'''
+-'''
++.\" $Id: makeSH.man 3 2006-08-25 21:39:07Z rmanfredi $
++.\"
++.\" Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
++.\"
++.\" You may redistribute only under the terms of the Artistic Licence,
++.\" as specified in the README file that comes with the distribution.
++.\" You may reuse parts of this distribution only within the terms of
++.\" that same Artistic Licence; a copy of which may be found at the root
++.\" of the source tree for dist 4.0.
++.\"
++.\" $Log: makeSH.man,v $
++.\" Revision 3.0 1993/08/18 12:04:27 ram
++.\" Baseline for dist 3.0 netwide release.
++.\"
++.\"
+ .TH MAKESH 1 LOCAL
+ .SH NAME
+ makeSH \- a .SH script maker
+diff --git a/kit/makedist.man b/kit/makedist.man
+index 8312a92..52ffa3d 100644
+--- a/kit/makedist.man
++++ b/kit/makedist.man
+@@ -1,25 +1,25 @@
+ .rn '' }`
+-''' $Id: makedist.man 3 2006-08-25 21:39:07Z rmanfredi $
+-'''
+-''' Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+-'''
+-''' You may redistribute only under the terms of the Artistic Licence,
+-''' as specified in the README file that comes with the distribution.
+-''' You may reuse parts of this distribution only within the terms of
+-''' that same Artistic Licence; a copy of which may be found at the root
+-''' of the source tree for dist 4.0.
+-'''
+-''' $Log: makedist.man,v $
+-''' Revision 3.0.1.2 1995/05/12 11:58:16 ram
+-''' patch54: updated my e-mail address
+-'''
+-''' Revision 3.0.1.1 1994/05/06 14:00:50 ram
+-''' patch23: now mentions kitpost and kitsend
+-'''
+-''' Revision 3.0 1993/08/18 12:04:31 ram
+-''' Baseline for dist 3.0 netwide release.
+-'''
+-'''
++.\" $Id: makedist.man 3 2006-08-25 21:39:07Z rmanfredi $
++.\"
++.\" Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
++.\"
++.\" You may redistribute only under the terms of the Artistic Licence,
++.\" as specified in the README file that comes with the distribution.
++.\" You may reuse parts of this distribution only within the terms of
++.\" that same Artistic Licence; a copy of which may be found at the root
++.\" of the source tree for dist 4.0.
++.\"
++.\" $Log: makedist.man,v $
++.\" Revision 3.0.1.2 1995/05/12 11:58:16 ram
++.\" patch54: updated my e-mail address
++.\"
++.\" Revision 3.0.1.1 1994/05/06 14:00:50 ram
++.\" patch23: now mentions kitpost and kitsend
++.\"
++.\" Revision 3.0 1993/08/18 12:04:31 ram
++.\" Baseline for dist 3.0 netwide release.
++.\"
++.\"
+ .de Sh
+ .br
+ .ne 5
+@@ -31,11 +31,11 @@
+ .if t .sp .5v
+ .if n .sp
+ ..
+-'''
+-''' Set up \*(-- to give an unbreakable dash;
+-''' string Tr holds user defined translation string.
+-''' Bell System Logo is used as a dummy character.
+-'''
++.\"
++.\" Set up \*(-- to give an unbreakable dash;
++.\" string Tr holds user defined translation string.
++.\" Bell System Logo is used as a dummy character.
++.\"
+ .ie n \{\
+ .tr \(*W-\*(Tr
+ .ds -- \(*W-
+@@ -100,7 +100,7 @@ automatically split in smaller parts. Only the first 11 characters of the file
+ will be kept though, and \fImakedist\fR will abort if two distinct files are
+ to be split and have the same 11 first characters in their names. The split
+ files will automatically be reconstructed at the end of the archive extraction
+-by runnning a script generated in PACKNOTES.
++by running a script generated in PACKNOTES.
+ .PP
+ You may then mail your kits via \fIkitsend\fR or post them with \fIkitpost\fR.
+ .SH OPTIONS
+diff --git a/kit/manifake.man b/kit/manifake.man
+index bb39d75..f5df926 100644
+--- a/kit/manifake.man
++++ b/kit/manifake.man
+@@ -1,20 +1,20 @@
+-''' $Id: manifake.man 3 2006-08-25 21:39:07Z rmanfredi $
+-'''
+-''' Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+-'''
+-''' You may redistribute only under the terms of the Artistic Licence,
+-''' as specified in the README file that comes with the distribution.
+-''' You may reuse parts of this distribution only within the terms of
+-''' that same Artistic Licence; a copy of which may be found at the root
+-''' of the source tree for dist 4.0.
+-'''
+-''' $Log: manifake.man,v $
+-''' Revision 3.0.1.1 1995/05/12 11:58:21 ram
+-''' patch54: updated my e-mail address
+-'''
+-''' Revision 3.0 1993/08/18 12:04:33 ram
+-''' Baseline for dist 3.0 netwide release.
+-'''
++.\" $Id: manifake.man 3 2006-08-25 21:39:07Z rmanfredi $
++.\"
++.\" Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
++.\"
++.\" You may redistribute only under the terms of the Artistic Licence,
++.\" as specified in the README file that comes with the distribution.
++.\" You may reuse parts of this distribution only within the terms of
++.\" that same Artistic Licence; a copy of which may be found at the root
++.\" of the source tree for dist 4.0.
++.\"
++.\" $Log: manifake.man,v $
++.\" Revision 3.0.1.1 1995/05/12 11:58:21 ram
++.\" patch54: updated my e-mail address
++.\"
++.\" Revision 3.0 1993/08/18 12:04:33 ram
++.\" Baseline for dist 3.0 netwide release.
++.\"
+ .TH MANIFAKE 1 ram
+ .SH NAME
+ manifake \- creates a MANIFEST.new out of a MANIFEST file
+diff --git a/mcon/Jmakefile b/mcon/Jmakefile
+index b5579cd..7eafa32 100644
+--- a/mcon/Jmakefile
++++ b/mcon/Jmakefile
+@@ -20,7 +20,7 @@
+ ;# patch16: added dependency generation stage
+ ;#
+ ;# Revision 3.0.1.2 1993/11/02 10:40:01 ram
+-;# patch14: now invokes perload explicitely via perl executable
++;# patch14: now invokes perload explicitly via perl executable
+ ;#
+ ;# Revision 3.0.1.1 1993/08/25 08:46:44 ram
+ ;# patch6: split unit installation to avoid shell command line overflow
+diff --git a/mcon/Makefile.SH b/mcon/Makefile.SH
+index 54a10b6..64b62d5 100755
+--- a/mcon/Makefile.SH
++++ b/mcon/Makefile.SH
+@@ -81,7 +81,7 @@ $spitshell >>Makefile <<'!NO!SUBS!'
+ # patch16: added dependency generation stage
+ #
+ # Revision 3.0.1.2 1993/11/02 10:40:01 ram
+-# patch14: now invokes perload explicitely via perl executable
++# patch14: now invokes perload explicitly via perl executable
+ #
+ # Revision 3.0.1.1 1993/08/25 08:46:44 ram
+ # patch6: split unit installation to avoid shell command line overflow
+diff --git a/mcon/NOTES b/mcon/NOTES
+index b6762e0..542910f 100644
+--- a/mcon/NOTES
++++ b/mcon/NOTES
+@@ -144,7 +144,7 @@ For instance, d_const.U writes:
+ ?C:HASCONST ~ %<:
+
+ so that the HASCONST hype is loaded iff the unit (%<) is wanted. This is why
+-the ?H: lines are also explicitely tied to the wanted-ness of the d_const
++the ?H: lines are also explicitly tied to the wanted-ness of the d_const
+ symbol, by writing:
+
+ ?H:?%<:#$d_const HASCONST /**/
+diff --git a/mcon/U/Configdir.U b/mcon/U/Configdir.U
+index f9a6c00..6833542 100644
+--- a/mcon/U/Configdir.U
++++ b/mcon/U/Configdir.U
+@@ -10,7 +10,7 @@
+ ?RCS:
+ ?RCS: $Log: Configdir.U,v $
+ ?RCS: Revision 3.0.1.1 1997/02/28 14:58:36 ram
+-?RCS: patch61: have README explicitely mention the package name
++?RCS: patch61: have README explicitly mention the package name
+ ?RCS:
+ ?RCS: Revision 3.0 1993/08/18 12:04:49 ram
+ ?RCS: Baseline for dist 3.0 netwide release.
+diff --git a/mcon/U/Finish.U b/mcon/U/Finish.U
+index da3da8e..2848f2b 100644
+--- a/mcon/U/Finish.U
++++ b/mcon/U/Finish.U
+@@ -74,7 +74,7 @@ esac
+
+ ?X:
+ ?X: Turn silent mode off from now on (we want a verbose file extraction).
+-?X: This means we have to explicitely test for '$silent' from now on to
++?X: This means we have to explicitly test for '$silent' from now on to
+ ?X: strip off any verbose messages.
+ ?X:
+ echo " "
+diff --git a/mcon/U/Guess.U b/mcon/U/Guess.U
+index 6f6e6b4..4080a17 100644
+--- a/mcon/U/Guess.U
++++ b/mcon/U/Guess.U
+@@ -14,7 +14,7 @@
+ ?RCS:
+ ?RCS: Revision 3.0.1.4 1994/10/29 15:53:55 ram
+ ?RCS: patch36: added ?F: line for metalint file checking
+-?RCS: patch36: call ./xenix explicitely instead of relying on PATH
++?RCS: patch36: call ./xenix explicitly instead of relying on PATH
+ ?RCS:
+ ?RCS: Revision 3.0.1.3 1993/12/15 08:14:35 ram
+ ?RCS: patch15: variable d_bsd was not always set properly
+diff --git a/mcon/U/Head.U b/mcon/U/Head.U
+index b0acc81..568597b 100644
+--- a/mcon/U/Head.U
++++ b/mcon/U/Head.U
+@@ -234,7 +234,7 @@ true/[a-z]*)
+ ;;
+ esac
+ ?X: Warn them if they use ksh on other systems, which are those where
+-?X: we don't need ksh nor want to avoid it explicitely, yet are using it.
++?X: we don't need ksh nor want to avoid it explicitly, yet are using it.
+ case "$inksh/$needksh-$avoidksh-" in
+ true/--)
+ cat <<EOM
+diff --git a/mcon/U/Inhdr.U b/mcon/U/Inhdr.U
+index 3891138..2c1f176 100644
+--- a/mcon/U/Inhdr.U
++++ b/mcon/U/Inhdr.U
+@@ -13,7 +13,7 @@
+ ?RCS: patch54: deleted tabs that caused some /bin/sh to core dump (ADO)
+ ?RCS:
+ ?RCS: Revision 3.0.1.1 1994/10/29 15:55:01 ram
+-?RCS: patch36: call ./whoa explicitely instead of relying on PATH
++?RCS: patch36: call ./whoa explicitly instead of relying on PATH
+ ?RCS:
+ ?RCS: Revision 3.0 1993/08/18 12:05:01 ram
+ ?RCS: Baseline for dist 3.0 netwide release.
+diff --git a/mcon/U/Inlibc.U b/mcon/U/Inlibc.U
+index 802ff57..2a7fea3 100644
+--- a/mcon/U/Inlibc.U
++++ b/mcon/U/Inlibc.U
+@@ -10,7 +10,7 @@
+ ?RCS:
+ ?RCS: $Log: Inlibc.U,v $
+ ?RCS: Revision 3.0.1.1 1994/10/29 15:55:08 ram
+-?RCS: patch36: call ./whoa explicitely instead of relying on PATH
++?RCS: patch36: call ./whoa explicitly instead of relying on PATH
+ ?RCS:
+ ?RCS: Revision 3.0 1993/08/18 12:05:03 ram
+ ?RCS: Baseline for dist 3.0 netwide release.
+diff --git a/mcon/U/Setvar.U b/mcon/U/Setvar.U
+index 05cf856..924c930 100644
+--- a/mcon/U/Setvar.U
++++ b/mcon/U/Setvar.U
+@@ -10,7 +10,7 @@
+ ?RCS:
+ ?RCS: $Log: Setvar.U,v $
+ ?RCS: Revision 3.0.1.1 1994/10/29 15:58:28 ram
+-?RCS: patch36: call ./whoa explicitely instead of relying on PATH
++?RCS: patch36: call ./whoa explicitly instead of relying on PATH
+ ?RCS:
+ ?RCS: Revision 3.0 1993/08/18 12:05:16 ram
+ ?RCS: Baseline for dist 3.0 netwide release.
+diff --git a/mcon/U/Warn_v7EXT.U b/mcon/U/Warn_v7EXT.U
+index b669172..4a451ba 100644
+--- a/mcon/U/Warn_v7EXT.U
++++ b/mcon/U/Warn_v7EXT.U
+@@ -10,7 +10,7 @@
+ ?RCS:
+ ?RCS: $Log: Warn_v7EXT.U,v $
+ ?RCS: Revision 3.0.1.1 1994/10/29 16:01:42 ram
+-?RCS: patch36: call ./v7 explicitely instead of relying on PATH
++?RCS: patch36: call ./v7 explicitly instead of relying on PATH
+ ?RCS:
+ ?RCS: Revision 3.0 1993/08/18 12:05:17 ram
+ ?RCS: Baseline for dist 3.0 netwide release.
+diff --git a/mcon/U/Warn_v7ND.U b/mcon/U/Warn_v7ND.U
+index eed3edc..d3255fe 100644
+--- a/mcon/U/Warn_v7ND.U
++++ b/mcon/U/Warn_v7ND.U
+@@ -10,7 +10,7 @@
+ ?RCS:
+ ?RCS: $Log: Warn_v7ND.U,v $
+ ?RCS: Revision 3.0.1.1 1994/10/29 16:01:46 ram
+-?RCS: patch36: call ./v7 explicitely instead of relying on PATH
++?RCS: patch36: call ./v7 explicitly instead of relying on PATH
+ ?RCS:
+ ?RCS: Revision 3.0 1993/08/18 12:05:18 ram
+ ?RCS: Baseline for dist 3.0 netwide release.
+diff --git a/mcon/U/abortsig.U b/mcon/U/abortsig.U
+index 392e28e..37af2ae 100644
+--- a/mcon/U/abortsig.U
++++ b/mcon/U/abortsig.U
+@@ -10,7 +10,7 @@
+ ?RCS:
+ ?RCS: $Log: abortsig.U,v $
+ ?RCS: Revision 3.0.1.1 1994/10/29 16:02:19 ram
+-?RCS: patch36: call ./usg explicitely instead of relying on PATH
++?RCS: patch36: call ./usg explicitly instead of relying on PATH
+ ?RCS:
+ ?RCS: Revision 3.0 1993/08/18 12:05:20 ram
+ ?RCS: Baseline for dist 3.0 netwide release.
+diff --git a/mcon/U/afs.U b/mcon/U/afs.U
+index c1cf0b7..d1e6dc5 100644
+--- a/mcon/U/afs.U
++++ b/mcon/U/afs.U
+@@ -10,7 +10,7 @@
+ ?RCS:
+ ?RCS: $Log: afs.U,v $
+ ?RCS: Revision 3.0.1.2 1997/02/28 15:23:06 ram
+-?RCS: patch61: can now explicitely tell Configure whether AFS is running
++?RCS: patch61: can now explicitly tell Configure whether AFS is running
+ ?RCS:
+ ?RCS: Revision 3.0.1.1 1993/08/24 12:24:43 ram
+ ?RCS: patch3: created
+diff --git a/mcon/U/bin.U b/mcon/U/bin.U
+index da5212f..60f8992 100644
+--- a/mcon/U/bin.U
++++ b/mcon/U/bin.U
+@@ -39,7 +39,7 @@
+ ?S:.
+ ?S:installbin:
+ ?S: This variable is the same as binexp unless AFS is running in which case
+-?S: the user is explicitely prompted for it. This variable should always
++?S: the user is explicitly prompted for it. This variable should always
+ ?S: be used in your makefiles for maximum portability.
+ ?S:.
+ ?C:BIN:
+diff --git a/mcon/U/ccflags.U b/mcon/U/ccflags.U
+index 4cbb80a..93a01c9 100644
+--- a/mcon/U/ccflags.U
++++ b/mcon/U/ccflags.U
+@@ -33,7 +33,7 @@
+ ?RCS: patch23: magically added cc flags now only done the first time
+ ?RCS:
+ ?RCS: Revision 3.0.1.3 1993/09/13 15:58:29 ram
+-?RCS: patch10: explicitely mention -DDEBUG just in case they need it (WAD)
++?RCS: patch10: explicitly mention -DDEBUG just in case they need it (WAD)
+ ?RCS: patch10: removed all the "tans" variable usage (WAD)
+ ?RCS:
+ ?RCS: Revision 3.0.1.2 1993/08/27 14:39:38 ram
+diff --git a/mcon/U/d_bsdjmp.U b/mcon/U/d_bsdjmp.U
+index ec11cf9..071ad35 100644
+--- a/mcon/U/d_bsdjmp.U
++++ b/mcon/U/d_bsdjmp.U
+@@ -13,7 +13,7 @@
+ ?RCS: patch61: added ?F: metalint hint
+ ?RCS:
+ ?RCS: Revision 3.0.1.1 1994/10/29 16:09:09 ram
+-?RCS: patch36: call ./usg explicitely instead of relying on PATH
++?RCS: patch36: call ./usg explicitly instead of relying on PATH
+ ?RCS:
+ ?RCS: Revision 3.0 1993/08/18 12:05:45 ram
+ ?RCS: Baseline for dist 3.0 netwide release.
+diff --git a/mcon/U/d_eofpipe.U b/mcon/U/d_eofpipe.U
+index ab75282..f17e2ae 100644
+--- a/mcon/U/d_eofpipe.U
++++ b/mcon/U/d_eofpipe.U
+@@ -10,7 +10,7 @@
+ ?RCS:
+ ?RCS: $Log: d_eofpipe.U,v $
+ ?RCS: Revision 3.0.1.1 1994/10/29 16:12:40 ram
+-?RCS: patch36: call ./bsd explicitely instead of relying on PATH
++?RCS: patch36: call ./bsd explicitly instead of relying on PATH
+ ?RCS:
+ ?RCS: Revision 3.0 1993/08/18 12:05:57 ram
+ ?RCS: Baseline for dist 3.0 netwide release.
+diff --git a/mcon/U/d_gethname.U b/mcon/U/d_gethname.U
+index a44da38..e9e4560 100644
+--- a/mcon/U/d_gethname.U
++++ b/mcon/U/d_gethname.U
+@@ -10,7 +10,7 @@
+ ?RCS:
+ ?RCS: $Log: d_gethname.U,v $
+ ?RCS: Revision 3.0.1.1 1994/10/29 16:13:00 ram
+-?RCS: patch36: call ./xenix explicitely instead of relying on PATH
++?RCS: patch36: call ./xenix explicitly instead of relying on PATH
+ ?RCS:
+ ?RCS: Revision 3.0 1993/08/18 12:06:11 ram
+ ?RCS: Baseline for dist 3.0 netwide release.
+diff --git a/mcon/U/d_keepsig.U b/mcon/U/d_keepsig.U
+index e2a1d6a..f99016b 100644
+--- a/mcon/U/d_keepsig.U
++++ b/mcon/U/d_keepsig.U
+@@ -16,7 +16,7 @@
+ ?RCS: patch45: protected "sh -c" within backquotes for Linux and SGI
+ ?RCS:
+ ?RCS: Revision 3.0.1.2 1994/10/29 16:13:59 ram
+-?RCS: patch36: call ./bsd explicitely instead of relying on PATH
++?RCS: patch36: call ./bsd explicitly instead of relying on PATH
+ ?RCS:
+ ?RCS: Revision 3.0.1.1 1993/10/16 13:48:47 ram
+ ?RCS: patch12: comment for SIGNALS_KEPT was the other way round
+diff --git a/mcon/U/d_newsadm.U b/mcon/U/d_newsadm.U
+index ca454de..23eb1a1 100644
+--- a/mcon/U/d_newsadm.U
++++ b/mcon/U/d_newsadm.U
+@@ -13,7 +13,7 @@
+ ?RCS: patch61: added Guess dependency
+ ?RCS:
+ ?RCS: Revision 3.0.1.1 1994/10/29 16:14:33 ram
+-?RCS: patch36: call ./eunice explicitely instead of relying on PATH
++?RCS: patch36: call ./eunice explicitly instead of relying on PATH
+ ?RCS:
+ ?RCS: Revision 3.0 1993/08/18 12:06:42 ram
+ ?RCS: Baseline for dist 3.0 netwide release.
+diff --git a/mcon/U/d_normsig.U b/mcon/U/d_normsig.U
+index 2d5f426..1b0a8ba 100644
+--- a/mcon/U/d_normsig.U
++++ b/mcon/U/d_normsig.U
+@@ -13,7 +13,7 @@
+ ?RCS: patch61: replaced .a with $_a all over the place
+ ?RCS:
+ ?RCS: Revision 3.0.1.1 1994/10/29 16:14:48 ram
+-?RCS: patch36: call ./bsd explicitely instead of relying on PATH
++?RCS: patch36: call ./bsd explicitly instead of relying on PATH
+ ?RCS:
+ ?RCS: Revision 3.0 1993/08/18 12:06:44 ram
+ ?RCS: Baseline for dist 3.0 netwide release.
+diff --git a/mcon/U/d_setpgrp.U b/mcon/U/d_setpgrp.U
+index a1dbfd6..b11d2d6 100644
+--- a/mcon/U/d_setpgrp.U
++++ b/mcon/U/d_setpgrp.U
+@@ -19,7 +19,7 @@
+ ?RCS:
+ ?RCS: Revision 3.0.1.1 1994/10/29 16:15:37 ram
+ ?RCS: patch36: added 'ldflags' to the test compile line (ADO)
+-?RCS: patch36: call ./usg explicitely instead of relying on PATH
++?RCS: patch36: call ./usg explicitly instead of relying on PATH
+ ?RCS:
+ ?RCS: Revision 3.0 1993/08/18 12:07:09 ram
+ ?RCS: Baseline for dist 3.0 netwide release.
+diff --git a/mcon/U/d_speedopt.U b/mcon/U/d_speedopt.U
+index af57b99..07e68e8 100644
+--- a/mcon/U/d_speedopt.U
++++ b/mcon/U/d_speedopt.U
+@@ -10,7 +10,7 @@
+ ?RCS:
+ ?RCS: $Log: d_speedopt.U,v $
+ ?RCS: Revision 3.0.1.1 1994/10/29 16:15:51 ram
+-?RCS: patch36: call ./Cppsym explicitely instead of relying on PATH
++?RCS: patch36: call ./Cppsym explicitly instead of relying on PATH
+ ?RCS:
+ ?RCS: Revision 3.0 1993/08/18 12:07:27 ram
+ ?RCS: Baseline for dist 3.0 netwide release.
+diff --git a/mcon/U/d_tzmin.U b/mcon/U/d_tzmin.U
+index f268a1b..b738f9e 100644
+--- a/mcon/U/d_tzmin.U
++++ b/mcon/U/d_tzmin.U
+@@ -10,7 +10,7 @@
+ ?RCS:
+ ?RCS: $Log: d_tzmin.U,v $
+ ?RCS: Revision 3.0.1.1 1994/10/29 16:16:58 ram
+-?RCS: patch36: call ./bsd explicitely instead of relying on PATH
++?RCS: patch36: call ./bsd explicitly instead of relying on PATH
+ ?RCS:
+ ?RCS: Revision 3.0 1993/08/18 12:07:49 ram
+ ?RCS: Baseline for dist 3.0 netwide release.
+diff --git a/mcon/U/d_vfork.U b/mcon/U/d_vfork.U
+index 96410e7..fd59147 100644
+--- a/mcon/U/d_vfork.U
++++ b/mcon/U/d_vfork.U
+@@ -19,7 +19,7 @@
+ ?RCS: patch27: modified to avoid spurious Whoa warnings (ADO)
+ ?RCS:
+ ?RCS: Revision 3.0.1.3 1994/05/06 14:59:09 ram
+-?RCS: patch23: now explicitely ask whether vfork() should be used (ADO)
++?RCS: patch23: now explicitly ask whether vfork() should be used (ADO)
+ ?RCS:
+ ?RCS: Revision 3.0.1.2 1993/10/16 13:49:39 ram
+ ?RCS: patch12: added magic for vfork()
+@@ -40,7 +40,7 @@
+ ?S:usevfork:
+ ?S: This variable is set to true when the user accepts to use vfork.
+ ?S: It is set to false when no vfork is available or when the user
+-?S: explicitely requests not to use vfork.
++?S: explicitly requests not to use vfork.
+ ?S:.
+ ?C:HAS_VFORK (VFORK):
+ ?C: This symbol, if defined, indicates that vfork() exists.
+diff --git a/mcon/U/i_termio.U b/mcon/U/i_termio.U
+index c53cc1e..4d43bd7 100644
+--- a/mcon/U/i_termio.U
++++ b/mcon/U/i_termio.U
+@@ -10,7 +10,7 @@
+ ?RCS:
+ ?RCS: $Log: i_termio.U,v $
+ ?RCS: Revision 3.0.1.4 1994/10/29 16:20:54 ram
+-?RCS: patch36: call ./usg and ./Cppsym explicitely instead of relying on PATH
++?RCS: patch36: call ./usg and ./Cppsym explicitly instead of relying on PATH
+ ?RCS:
+ ?RCS: Revision 3.0.1.3 1994/08/29 16:26:38 ram
+ ?RCS: patch32: don't include all three I_* symbols in config.h
+diff --git a/mcon/U/myhostname.U b/mcon/U/myhostname.U
+index fd6115c..45bb671 100644
+--- a/mcon/U/myhostname.U
++++ b/mcon/U/myhostname.U
+@@ -13,7 +13,7 @@
+ ?RCS: patch61: improved hostname lookup by using ypmatch when NIS is used
+ ?RCS:
+ ?RCS: Revision 3.0.1.2 1994/10/29 16:25:43 ram
+-?RCS: patch36: call ./xenix explicitely instead of relying on PATH
++?RCS: patch36: call ./xenix explicitly instead of relying on PATH
+ ?RCS: patch36: now uses new Tr unit to convert to/from lowercase
+ ?RCS:
+ ?RCS: Revision 3.0.1.1 1994/06/20 07:06:20 ram
+diff --git a/mcon/U/nametype.U b/mcon/U/nametype.U
+index 72e036d..c00c5f7 100644
+--- a/mcon/U/nametype.U
++++ b/mcon/U/nametype.U
+@@ -10,7 +10,7 @@
+ ?RCS:
+ ?RCS: $Log: nametype.U,v $
+ ?RCS: Revision 3.0.1.3 1994/10/29 16:26:09 ram
+-?RCS: patch36: call ./usg and ./bsd explicitely instead of relying on PATH
++?RCS: patch36: call ./usg and ./bsd explicitly instead of relying on PATH
+ ?RCS:
+ ?RCS: Revision 3.0.1.2 1994/08/29 16:36:48 ram
+ ?RCS: patch32: fixed typo: /etc/password -> /etc/passwd (WED)
+diff --git a/mcon/U/nis.U b/mcon/U/nis.U
+index 3bbcab9..7ed806e 100644
+--- a/mcon/U/nis.U
++++ b/mcon/U/nis.U
+@@ -165,4 +165,16 @@ case "$passcat" in
+ '') passcat=':'
+ $test -f /etc/passwd && passcat='cat /etc/passwd';;
+ esac
++case "$hostcat" in
++'') hostcat='cat /etc/hosts';;
++*) ;;
++esac
++case "$groupcat" in
++'') groupcat='cat /etc/group';;
++*) ;;
++esac
++case "$passcat" in
++'') passcat='cat /etc/passwd';;
++*) ;;
++esac
+
+diff --git a/mcon/U/registers.U b/mcon/U/registers.U
+index 29a1d5d..c3197bd 100644
+--- a/mcon/U/registers.U
++++ b/mcon/U/registers.U
+@@ -13,7 +13,7 @@
+ ?RCS: patch61: removed empty ?LINT lines
+ ?RCS:
+ ?RCS: Revision 3.0.1.1 1994/10/29 16:28:33 ram
+-?RCS: patch36: call ./Cppsym explicitely instead of relying on PATH
++?RCS: patch36: call ./Cppsym explicitly instead of relying on PATH
+ ?RCS:
+ ?RCS: Revision 3.0 1993/08/18 12:09:41 ram
+ ?RCS: Baseline for dist 3.0 netwide release.
+diff --git a/mcon/U/sbrksmart.U b/mcon/U/sbrksmart.U
+index 40ed078..5484af1 100644
+--- a/mcon/U/sbrksmart.U
++++ b/mcon/U/sbrksmart.U
+@@ -10,7 +10,7 @@
+ ?RCS:
+ ?RCS: $Log: sbrksmart.U,v $
+ ?RCS: Revision 3.0.1.2 1995/01/11 15:35:41 ram
+-?RCS: patch45: now sets sbrksmart to undef explicitely when lacking sbrk()
++?RCS: patch45: now sets sbrksmart to undef explicitly when lacking sbrk()
+ ?RCS: patch45: forgot a cast when using return value from sbrk()
+ ?RCS:
+ ?RCS: Revision 3.0.1.1 1994/01/24 14:16:45 ram
+diff --git a/mcon/U/shm_for.U b/mcon/U/shm_for.U
+index 5461257..c2c7c3a 100644
+--- a/mcon/U/shm_for.U
++++ b/mcon/U/shm_for.U
+@@ -10,7 +10,7 @@
+ ?RCS:
+ ?RCS: $Log: shm_for.U,v $
+ ?RCS: Revision 3.0.1.1 1994/10/29 16:28:37 ram
+-?RCS: patch36: call ./Cppsym explicitely instead of relying on PATH
++?RCS: patch36: call ./Cppsym explicitly instead of relying on PATH
+ ?RCS:
+ ?RCS: Revision 3.0 1993/08/18 12:09:46 ram
+ ?RCS: Baseline for dist 3.0 netwide release.
+diff --git a/mcon/U/sysman.U b/mcon/U/sysman.U
+index 5c38d0b..8a010ad 100644
+--- a/mcon/U/sysman.U
++++ b/mcon/U/sysman.U
+@@ -10,7 +10,7 @@
+ ?RCS:
+ ?RCS: $Log: sysman.U,v $
+ ?RCS: Revision 3.0.1.2 1994/06/20 07:08:43 ram
+-?RCS: patch30: now explicitely states that /usr/man/man1 is the default
++?RCS: patch30: now explicitly states that /usr/man/man1 is the default
+ ?RCS: patch30: added /usr/local/man/man1 to the search list
+ ?RCS:
+ ?RCS: Revision 3.0.1.1 1993/09/13 16:13:50 ram
+diff --git a/mcon/U/uidtype.U b/mcon/U/uidtype.U
+index f34e581..e5d60ba 100644
+--- a/mcon/U/uidtype.U
++++ b/mcon/U/uidtype.U
+@@ -17,7 +17,7 @@
+ ?RCS:
+ ?RCS: Revision 3.0.1.1 1994/05/13 15:28:27 ram
+ ?RCS: patch27: made conform to its gidtype.U companion
+-?RCS: patch27: question now explicitely mentions getuid()
++?RCS: patch27: question now explicitly mentions getuid()
+ ?RCS:
+ ?RCS: Revision 3.0 1993/08/18 12:09:56 ram
+ ?RCS: Baseline for dist 3.0 netwide release.
+diff --git a/mcon/U/voidflags.U b/mcon/U/voidflags.U
+index e970bfc..5bcf0aa 100644
+--- a/mcon/U/voidflags.U
++++ b/mcon/U/voidflags.U
+@@ -29,7 +29,7 @@
+ ?S:defvoidused:
+ ?S: This variable contains the default value of the VOIDUSED symbol (15).
+ ?S:.
+-?X: Exceptionally, we have to explicitely alias the symbol name for
++?X: Exceptionally, we have to explicitly alias the symbol name for
+ ?X: config_h.SH, otherwise the comment would not appear.
+ ?C:VOIDFLAGS ~ %<:
+ ?C: This symbol indicates how much support of the void type is given by this
+diff --git a/mcon/U/yacc.U b/mcon/U/yacc.U
+index 63a4678..60b466d 100644
+--- a/mcon/U/yacc.U
++++ b/mcon/U/yacc.U
+@@ -74,7 +74,7 @@ esac
+ $cat <<EOH
+
+ Your yacc program may need extra flags to normally process the parser sources.
+-Do NOT specify any -d or -v flags here, since those are explicitely known
++Do NOT specify any -d or -v flags here, since those are explicitly known
+ by the various Makefiles. However, if your machine has strange/undocumented
+ options (like -Sr# on SCO to specify the maximum number of grammar rules), then
+ please add them here. To use no flags, specify the word "none".
+diff --git a/mcon/man/mconfig.SH b/mcon/man/mconfig.SH
+index 12ca4f9..7013904 100755
+--- a/mcon/man/mconfig.SH
++++ b/mcon/man/mconfig.SH
+@@ -18,88 +18,88 @@ echo "Extracting mcon/man/metaconfig.$manext (with variable substitutions)"
+ $rm -f metaconfig.$manext
+ $spitshell >metaconfig.$manext <<!GROK!THIS!
+ .TH METACONFIG $manext "Version $VERSION PL$PATCHLEVEL"
+-''' @(#) Manual page for metaconfig
+-'''
+-''' $Id: mconfig.SH 25 2008-05-28 11:19:25Z rmanfredi $
+-'''
+-''' Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+-'''
+-''' You may redistribute only under the terms of the Artistic Licence,
+-''' as specified in the README file that comes with the distribution.
+-''' You may reuse parts of this distribution only within the terms of
+-''' that same Artistic Licence; a copy of which may be found at the root
+-''' of the source tree for dist 4.0.
+-'''
+-''' $Log: mconfig.SH,v $
+-''' Revision 3.0.1.17 1997/02/28 16:29:31 ram
+-''' patch61: documents the runnning environment and the src.U unit
+-''' patch61: added warnings for $_a and $_o, as well as "startsh"
+-'''
+-''' Revision 3.0.1.16 1995/09/25 09:17:48 ram
+-''' patch59: documented new ?Y: directive
+-''' patch59: fixed my e-mail address
+-'''
+-''' Revision 3.0.1.15 1995/07/25 14:18:24 ram
+-''' patch56: added extra nroff escapes at line heads to keep leading dots
+-''' patch56: documented new -G option
+-''' patch56: extended description of the Csym.U unit
+-''' patch56: now mentions what a compile-link test line should look like
+-'''
+-''' Revision 3.0.1.14 1995/05/12 12:25:02 ram
+-''' patch54: documented new -K switch for knowledgeable users
+-'''
+-''' Revision 3.0.1.13 1995/01/30 14:46:39 ram
+-''' patch49: documented new special units Prefixit.U and Prefixup.U
+-'''
+-''' Revision 3.0.1.12 1995/01/11 15:39:16 ram
+-''' patch45: documents new -O option and new Getfile escape supports
+-''' patch45: documents the & escape in Myread and the new cc symbol lookup
+-'''
+-''' Revision 3.0.1.11 1994/10/29 16:32:38 ram
+-''' patch36: added nroff protection for lines beginning with '.'
+-''' patch36: documents new ?F: line for file declarations
+-''' patch36: added example showing how ./loc can be used
+-'''
+-''' Revision 3.0.1.10 1994/08/29 16:33:40 ram
+-''' patch32: documented new Typedef.U unit for typedef lookup
+-'''
+-''' Revision 3.0.1.9 1994/06/20 07:10:14 ram
+-''' patch30: added -L option for easier unit testing
+-''' patch30: new -D and -U options supported by Configure
+-'''
+-''' Revision 3.0.1.8 1994/05/13 15:29:16 ram
+-''' patch27: now understands macro definitions in ?H: lines
+-'''
+-''' Revision 3.0.1.7 1994/05/06 15:19:25 ram
+-''' patch23: documented the new 'p' option in Getfile.U
+-'''
+-''' Revision 3.0.1.6 1994/01/24 14:19:47 ram
+-''' patch16: symbols defined in a unit can be tagged "internal use only"
+-''' patch16: documents new MailList.U special unit
+-''' patch16: new general <\$variable> macro substitution
+-'''
+-''' Revision 3.0.1.5 1993/10/16 13:51:50 ram
+-''' patch12: new option -M to activate ?M: lines
+-''' patch12: documents new ?M: lines format
+-''' patch12: new internal Makefile command cm_h_weed for ?M: support
+-''' patch12: documents usage for new confmagic.h file
+-'''
+-''' Revision 3.0.1.4 1993/09/09 11:50:35 ram
+-''' patch9: lots of typo fixes and abusive variable substitution problems
+-'''
+-''' Revision 3.0.1.3 1993/08/30 08:53:51 ram
+-''' patch8: wrongly stated that patchlevel.h should not be part of MANIFEST.new
+-'''
+-''' Revision 3.0.1.2 1993/08/24 12:13:32 ram
+-''' patch3: typo fixes
+-'''
+-''' Revision 3.0.1.1 1993/08/19 06:42:23 ram
+-''' patch1: leading config.sh searching was not aborting properly
+-'''
+-''' Revision 3.0 1993/08/18 12:10:14 ram
+-''' Baseline for dist 3.0 netwide release.
+-'''
+-'''
++.\" @(#) Manual page for metaconfig
++.\"
++.\" $Id: mconfig.SH 25 2008-05-28 11:19:25Z rmanfredi $
++.\"
++.\" Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
++.\"
++.\" You may redistribute only under the terms of the Artistic Licence,
++.\" as specified in the README file that comes with the distribution.
++.\" You may reuse parts of this distribution only within the terms of
++.\" that same Artistic Licence; a copy of which may be found at the root
++.\" of the source tree for dist 4.0.
++.\"
++.\" $Log: mconfig.SH,v $
++.\" Revision 3.0.1.17 1997/02/28 16:29:31 ram
++.\" patch61: documents the running environment and the src.U unit
++.\" patch61: added warnings for $_a and $_o, as well as "startsh"
++.\"
++.\" Revision 3.0.1.16 1995/09/25 09:17:48 ram
++.\" patch59: documented new ?Y: directive
++.\" patch59: fixed my e-mail address
++.\"
++.\" Revision 3.0.1.15 1995/07/25 14:18:24 ram
++.\" patch56: added extra nroff escapes at line heads to keep leading dots
++.\" patch56: documented new -G option
++.\" patch56: extended description of the Csym.U unit
++.\" patch56: now mentions what a compile-link test line should look like
++.\"
++.\" Revision 3.0.1.14 1995/05/12 12:25:02 ram
++.\" patch54: documented new -K switch for knowledgeable users
++.\"
++.\" Revision 3.0.1.13 1995/01/30 14:46:39 ram
++.\" patch49: documented new special units Prefixit.U and Prefixup.U
++.\"
++.\" Revision 3.0.1.12 1995/01/11 15:39:16 ram
++.\" patch45: documents new -O option and new Getfile escape supports
++.\" patch45: documents the & escape in Myread and the new cc symbol lookup
++.\"
++.\" Revision 3.0.1.11 1994/10/29 16:32:38 ram
++.\" patch36: added nroff protection for lines beginning with '.'
++.\" patch36: documents new ?F: line for file declarations
++.\" patch36: added example showing how ./loc can be used
++.\"
++.\" Revision 3.0.1.10 1994/08/29 16:33:40 ram
++.\" patch32: documented new Typedef.U unit for typedef lookup
++.\"
++.\" Revision 3.0.1.9 1994/06/20 07:10:14 ram
++.\" patch30: added -L option for easier unit testing
++.\" patch30: new -D and -U options supported by Configure
++.\"
++.\" Revision 3.0.1.8 1994/05/13 15:29:16 ram
++.\" patch27: now understands macro definitions in ?H: lines
++.\"
++.\" Revision 3.0.1.7 1994/05/06 15:19:25 ram
++.\" patch23: documented the new 'p' option in Getfile.U
++.\"
++.\" Revision 3.0.1.6 1994/01/24 14:19:47 ram
++.\" patch16: symbols defined in a unit can be tagged "internal use only"
++.\" patch16: documents new MailList.U special unit
++.\" patch16: new general <\$variable> macro substitution
++.\"
++.\" Revision 3.0.1.5 1993/10/16 13:51:50 ram
++.\" patch12: new option -M to activate ?M: lines
++.\" patch12: documents new ?M: lines format
++.\" patch12: new internal Makefile command cm_h_weed for ?M: support
++.\" patch12: documents usage for new confmagic.h file
++.\"
++.\" Revision 3.0.1.4 1993/09/09 11:50:35 ram
++.\" patch9: lots of typo fixes and abusive variable substitution problems
++.\"
++.\" Revision 3.0.1.3 1993/08/30 08:53:51 ram
++.\" patch8: wrongly stated that patchlevel.h should not be part of MANIFEST.new
++.\"
++.\" Revision 3.0.1.2 1993/08/24 12:13:32 ram
++.\" patch3: typo fixes
++.\"
++.\" Revision 3.0.1.1 1993/08/19 06:42:23 ram
++.\" patch1: leading config.sh searching was not aborting properly
++.\"
++.\" Revision 3.0 1993/08/18 12:10:14 ram
++.\" Baseline for dist 3.0 netwide release.
++.\"
++.\"
+ .de Ex \" Start of Example
+ .sp
+ .in +5
+@@ -304,7 +304,7 @@ formats allowed:
+ ?X: A contrived example
+ ?X:
+ ?MAKE:d_one two: three +four Five
+-?MAKE: -pick add \$@ %<
++?MAKE: \-pick add \$@ %<
+ ?Y:DEFAULT
+ ?S:d_one:
+ ?S: First shell symbol, conditionally defines ONE.
+@@ -365,10 +365,10 @@ of general interest.
+ .PP
+ Notes for writing .U files:
+ .IP * 5
+-Always use "rm -f" because there are systems where rm is interactive by
++Always use "rm \-f" because there are systems where rm is interactive by
+ default.
+ .IP *
+-Do not use "set -- ..." because '--' does not work with every shell. Use
++Do not use "set \-\- ..." because '\-\-' does not work with every shell. Use
+ "set x ...; shift".
+ .IP *
+ Do not use "unset ENV" since unset is not fully portable. Say "ENV=''"
+@@ -377,7 +377,7 @@ instead.
+ Always use echo " " (with a space) because of Eunice systems.
+ .IP *
+ Only use \fBtest\fR with \-r, \-w, \-f or \-d since those are the only
+-portable switches. In particular, avoid "test -x".
++portable switches. In particular, avoid "test \-x".
+ .IP *
+ Use only programs that came with V7, so that you know everyone has them.
+ .IP *
+@@ -417,7 +417,7 @@ Use the \fI\$_o\fR and \fI\$_a\fR variables instead (see Unix.U).
+ .IP *
+ When doing a compile-link-execute test, always write it like this:
+ .Ex
+-\$\&cc \$\&ccflags \$\&ldflags try.c -o try \$\&libs
++\$\&cc \$\&ccflags \$\&ldflags try.c \-o try \$\&libs
+ .Ef
+ because some systems require that linking flags be specified before
+ the compiled target (with the exception of trailing linking libraries).
+@@ -459,9 +459,9 @@ UU/*
+ config.sh
+ config.h
+ .Ef
+-'''
+-''' O p t i o n s
+-'''
++.\"
++.\" O p t i o n s
++.\"
+ .SH OPTIONS
+ The following options are recognized by \fImetaconfig\fR:
+ .TP 15
+@@ -514,7 +514,7 @@ not be lost when facing a new distribution.
+ .TP
+ \fB\-L\fI dir\fR
+ Override default library location. Normally only useful for metaconfig
+-maintainers to locally use the units being developped instead of the
++maintainers to locally use the units being developed instead of the
+ publicly available ones. The \fIdir\fR specified is the one containing the
+ units \fIU\fR directory.
+ .TP
+@@ -528,14 +528,14 @@ option permanently.
+ .TP
+ .B \-V
+ Print version number and exit.
+-'''
+-''' T u t o r i a l
+-'''
++.\"
++.\" T u t o r i a l
++.\"
+ .SH TUTORIAL
+ This (long) section is an introduction to \fImetaconfig\fR, in which we will
+ learn all the basics. If you already know how to use \fImetaconfig\fR, you
+ may safely skip to the next section.
+-'''
++.\"
+ .SS Overview
+ .PP
+ Usually when you want to get some source package to compile on a given
+@@ -550,8 +550,8 @@ some standard trial, guessing and messing around with system includes and
+ types.
+ .PP
+ However, despite all his talent, the author cannot possibly know that
+-some system has a broken system call, or that some sytem structure lacks
+-one otherwise standard field, or simply wheter a given include file exists
++some system has a broken system call, or that some system structure lacks
++one otherwise standard field, or simply whether a given include file exists
+ or not. And I'm not considering the implicit assumptions, like the type
+ returned by the \fImalloc()\fR function or the presence of the \fIrename()\fR
+ system call to name a few. But that knowledge is necessary to achieve real
+@@ -588,7 +588,7 @@ unit being responsible for defining a small number of shell and/or C
+ symbols. Units are assembled together at the final stage, honoring
+ the dependency graph (one unit may need the result of several other
+ units which are then placed before in the script).
+-'''
++.\"
+ .SS Symbols
+ .PP
+ Symbols are the most important thing in the \fImetaconfig\fR world. They
+@@ -613,7 +613,7 @@ paragraph could sound. In a C file, you need to include the Configure-produced
+ \fIconfig.h\fR file, and you must wrap your shell script or Makefile in a .SH
+ file and you may reference the shell symbol only in the variable
+ substitution part of that .SH file. More on this later.
+-'''
++.\"
+ .SS Source Files
+ .PP
+ Symbols may only appear in a limited set of source files, because
+@@ -631,7 +631,7 @@ substitutions apply. Actually, \fIconfig.h\fR is produced by running the
+ \fImetaconfig\fR-produced \fIconfig_h.SH\fR file, again using variable
+ substitution. So we're going to look at that a little more closely since
+ this is the heart of the whole \fIconfiguration\fR scheme...
+-'''
++.\"
+ .SS Variable Substitution
+ .PP
+ There is shell construct called \fIhere document\fR which enables a
+@@ -648,7 +648,7 @@ unless the identifier is surrounded by single quotes. For instance:
+ .Ex
+ var='first'
+ tar='second'
+-echo "--> first here document:"
++echo "\--> first here document:"
+ cat <<EOM
+ var='\$var'
+ tar='\$\&tar'
+@@ -672,7 +672,7 @@ echo \$\&tar
+ .Ef
+ The first here document has its content interpreted whilst the second
+ one is output as-is. Both are useful in a .SH script, as we are about to see.
+-'''
++.\"
+ .SS Using .SH Scripts
+ .PP
+ A .SH script is usually produced by running the \fIMakeSH\fR script other
+@@ -811,7 +811,7 @@ stored as a 64 bits quantity, \fIconfig.sh\fR will set \fIintsize\fR to
+ On this machine, the int type is 8 bytes
+ .Ef
+ which is correct. Congratulations! We have just configured a shell script!!
+-'''
++.\"
+ .SS Producing config.h
+ .PP
+ We can now have a look at the way \fIconfig.h\fR is produced out of
+@@ -965,7 +965,7 @@ configured C code, since \fImetaconfig\fR will know that you need
+ those symbols and will generate a suitable \fIconfig_h.SH\fR file as
+ well as all the necessary code in \fIConfigure\fR to compute a
+ proper value for them (by assigning values to associated shell variables).
+-'''
++.\"
+ .SS Running Metaconfig
+ .PP
+ Let's focus on the \fImetaconfig\fR program for a while to understand how
+@@ -1026,7 +1026,7 @@ required are removed and a second Makefile is generated. This time, we know
+ about all the units and their respective orders, optional units having been
+ removed and default values computed for their shell symbols. The \fIConfigure\fR
+ script can then be generated, along with \fIconfig_h.SH\fR. We're done.
+-'''
++.\"
+ .SS Conventions
+ .PP
+ Proper conventions needs to be followed to make the whole process sound.
+@@ -1056,7 +1056,7 @@ answer in \fI\$dflt\fR and places the user answer in \fI\$ans\fR. This is
+ not documented in this manual page: you have to go and look at the unit
+ itself to understand which variables are used and how the unit is to be
+ used.
+-'''
++.\"
+ .SS Using The Glossary
+ .PP
+ The Glossary file is automatically produced by the \fImakegloss\fR script,
+@@ -1071,7 +1071,7 @@ about \fImetaconfig\fR to do so quickly and efficiently. However, never
+ forget to properly document your work in the ?S: and ?C: lines, or other
+ people will not be able to reuse it. Remember about the time where you
+ had only the Glossary and this manual page to get started.
+-'''
++.\"
+ .SS Conclusion
+ .PP
+ Now that you know the \fImetaconfig\fR basics, you should read the
+@@ -1082,7 +1082,7 @@ commands you are allowed to use.
+ .SH REFERENCE
+ This section documents the internals of \fImetaconfig\fR, basically the
+ unit syntax, the special units you should know about and the hint files.
+-'''
++.\"
+ .SS General Unit Syntax
+ .PP
+ A metaconfig unit is divided into two distinct parts. The header section
+@@ -1166,7 +1166,7 @@ the C symbol will be controlled, i.e. if the \fIalias\fR symbol is wanted,
+ then that C symbol will be written in the \fIconfig_h.SH\fR file. Usually,
+ the alias is just '%<' (stands for the unit's name) and there is also
+ a ?W: line mapping a C symbol to the \fIalias\fR. Also the relevant parts
+-of the ?H: lines are explicitely protected by a '?%<' condition. See
++of the ?H: lines are explicitly protected by a '?%<' condition. See
+ the symbol aliasing paragraph for more details.
+ The remaining of the line is the optional \fIobsolete symbol list\fR,
+ which lists old equivalents for the new \fIsymbol_name\fR.
+@@ -1290,7 +1290,7 @@ hints that can be used.
+ ?INIT:\fIinitialization code\fR
+ The initialization code specified by this line will be loaded at the top
+ of the \fIConfigure\fR script provided the unit is needed.
+-'''
++.\"
+ .SS C Symbol Aliasing
+ .PP
+ Sometimes it is not possible to rely on \fImetaconfig\fR's own default
+@@ -1370,7 +1370,7 @@ It simply tries to compile a sample C program using the \fIconst\fR keyword.
+ If it can, then it will define \fI\$\&d_const\fR via the \fI\$\&setvar\fR
+ fonction (defined by the \fISetvar.U\fR unit). See the paragraph about
+ special units for more details.
+-'''
++.\"
+ .SS Make Commands
+ .PP
+ On the ?MAKE: command line, you may write a shell command to be executed as-is
+@@ -1435,7 +1435,7 @@ As a side note, \fImetaconfig\fR generates a \fI-cond\fR command internally
+ to deal with conditional dependencies. You should not use it by yourself,
+ but you will see it if scanning the generated \fIMakefile\fR in the \fI.MT\fR
+ directory.
+-'''
++.\"
+ .SS Hardwired Macros
+ .PP
+ The following macros are recognized by the \fIwipe\fR command and subsituted
+@@ -1478,7 +1478,7 @@ which is replaced at Configure-generation time by the value of \fIvariable\fR
+ taken from your \fI.package\fR file. Eventually, the old hardwired macro
+ format will disappear, and <\$baserev> will replace <BASEREV> in all the
+ supplied units.
+-'''
++.\"
+ .SS Special Units
+ .PP
+ The following special units are used to factorize code and provide higher
+@@ -1507,7 +1507,7 @@ check whether a given C symbol is defined or not. A typical use is:
+ set symbol result [-fva] [previous]
+ eval \$\&csym
+ .Ef
+-That will set the \fIresult\fR variable to 'true' if the
++That will set the \fIresult\fR variable to 'true' if the
+ function [-f],
+ variable [-v] or
+ array [-a]
+@@ -1642,7 +1642,7 @@ argument specifies the file to be located, the second argument is what
+ will be returned if the search fails, and the reamining arguments are a
+ list of directories where the file is to be searched. For instance:
+ .Ex
+-dflt=\`./loc sendmail.cf X /usr/lib /var/adm/sendmail /lib\`
++dflt=\`./loc sendmail.cf X /usr/lib /var/lib/sendmail /lib\`
+ .Ef
+ would set \fI\$dflt\fR to \fIX\fR if no \fIsendmail.cf\fR file was found
+ under the listed directories, or something like \fI/usr/lib/sendmail.cf\fR
+@@ -1718,7 +1718,7 @@ to an empty string if the prefix changed, to \fI\$var\fR otherwise.
+ .TP
+ Prefixup.U
+ The intent of thit unit is similar to that of Prefixit.U, i.e. it helps
+-fixing the default string to accomodate prefix changes. However, the shell
++fixing the default string to accommodate prefix changes. However, the shell
+ variable \fI\$prefixup\fR, when evaluated, will only restore ~name expansions,
+ should prefix use such an escape mechanism. Use it as:
+ .Ex
+@@ -1768,7 +1768,7 @@ This unit produces the \fIwhoa\fR script, which emits a warning when the
+ its old previous value held in \fI\$was\fR. Upon return, \fI\$td\fR and
+ \fI\$tu\fR hold the proper value to \fIdefine\fR or \fIundef\fR the variable.
+ See examples in \fIInlibc.U\fR.
+-'''
++.\"
+ .SS Builtin Pre-processor
+ .PP
+ Each unit to be included in \fIConfigure\fR is ran through a built-in
+@@ -1868,7 +1868,7 @@ done
+ .Ef
+ and have an extra loop trying two successive values for the \fIs_timezone\fR
+ variable, but only if needed.
+-'''
++.\"
+ .SS Obsolete Symbols
+ .PP
+ Obsolete symbols are preserved to ease the transition with older
+@@ -1882,7 +1882,7 @@ The lifetime for obsolete symbols is one full revision, i.e. they will
+ be removed when the next base revision is issued (patch upgrades do not
+ count of course). Therefore, it is wise to translate your sources and
+ start using the new symbols as soon as possible.
+-'''
++.\"
+ .SS Configure Hints
+ .PP
+ It may happen that the internal configuration logic makes the wrong choices.
+@@ -1932,7 +1932,7 @@ Note that you don't have to provide \fIall\fR the hints known by
+ possible choice. The heuristic tests ran to compute the possible hint
+ candidates are flaky. If you have new values or different tests, please send
+ them to me...
+-'''
++.\"
+ .SS Overriding Choices
+ .PP
+ If you create a \fIconfig.over\fR file in the top level directory,
+@@ -1943,7 +1943,7 @@ you a chance to patch the values stored in there.
+ This is distinct from the hints approach in that it is a local file, which
+ the user is free to create for his own usage. You should not provide such
+ a file yourself, but let the user know about this possibility.
+-'''
++.\"
+ .SS Configure Options
+ .PP
+ The \fIConfigure\fR script may be called with some options specified on the
+@@ -2015,7 +2015,7 @@ possible to use '\fB-U\fI symbol\fR' which will set \fIsymbol\fR to 'undef'.
+ Print the version number of the \fImetaconfig\fR that generated this
+ .I Configure
+ script and exit.
+-'''
++.\"
+ .SS Running Environment
+ Upon starting, \fIConfigure\fR creates a local \fIUU\fR directory and runs
+ from there. The directory is removed when Configure ends, but this means
+@@ -2044,7 +2044,7 @@ When running \fIConfigure\fR remotely, the .SH files are extracted in the
+ build directory, not in the source tree. However, it requires some kind of
+ a \fImake\fR support to be able to compile things in a build directory whilst
+ the sources lie elsewhere.
+-'''
++.\"
+ .SS Using Magic Redefinitions
+ .PP
+ By making use of the \fB\-M\fR switch, some magic remappings may take place
+@@ -2064,7 +2064,7 @@ on \fImemcpy()\fR if no \fIbcopy()\fR is available locally, or transform
+ bother about the \fIHAS_VFORK\fR symbol.
+ .PP
+ This configuration magic is documented in the Glossary file.
+-'''
++.\"
+ .SS Unit Templates
+ .PP
+ There is a set of unit templates in the \fImetaconfig\fR source directory,
+diff --git a/mcon/man/mlint.SH b/mcon/man/mlint.SH
+index c842f4f..62740b2 100755
+--- a/mcon/man/mlint.SH
++++ b/mcon/man/mlint.SH
+@@ -18,54 +18,54 @@ echo "Extracting mcon/man/metalint.$manext (with variable substitutions)"
+ $rm -f metalint.$manext
+ $spitshell >metalint.$manext <<!GROK!THIS!
+ .TH METALINT $manext "Version $VERSION PL$PATCHLEVEL"
+-''' @(#) Manual page for metalint
+-'''
+-''' $Id: mlint.SH 1 2006-08-24 12:32:52Z rmanfredi $
+-'''
+-''' Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+-'''
+-''' You may redistribute only under the terms of the Artistic Licence,
+-''' as specified in the README file that comes with the distribution.
+-''' You may reuse parts of this distribution only within the terms of
+-''' that same Artistic Licence; a copy of which may be found at the root
+-''' of the source tree for dist 4.0.
+-'''
+-''' $Log: mlint.SH,v $
+-''' Revision 3.0.1.9 1997/02/28 16:30:25 ram
+-''' patch61: new "create" and "empty" lint directives
+-''' patch61: documented new messages
+-'''
+-''' Revision 3.0.1.8 1995/09/25 09:18:07 ram
+-''' patch59: documented new ?Y: directive
+-''' patch59: fixed my e-mail address
+-'''
+-''' Revision 3.0.1.7 1995/07/25 14:18:51 ram
+-''' patch56: added two new warnings for : comments lines in Configure
+-'''
+-''' Revision 3.0.1.6 1994/10/29 16:33:56 ram
+-''' patch36: documents new ?F: lines and the related metalint warnings
+-''' patch36: removed statement in BUGS since all warnings may now be shut
+-'''
+-''' Revision 3.0.1.5 1994/05/06 15:20:30 ram
+-''' patch23: added -L switch to override public unit repository path
+-''' patch23: two new warnings concerning last unit lines
+-'''
+-''' Revision 3.0.1.4 1994/01/24 14:20:39 ram
+-''' patch16: can now easily suppress warning about made "special units"
+-'''
+-''' Revision 3.0.1.3 1993/11/10 17:37:39 ram
+-''' patch14: documents stale ?M: dependency check
+-'''
+-''' Revision 3.0.1.2 1993/10/16 13:52:23 ram
+-''' patch12: added support for ?M: lines and fixed some typos
+-'''
+-''' Revision 3.0.1.1 1993/08/19 06:42:24 ram
+-''' patch1: leading config.sh searching was not aborting properly
+-'''
+-''' Revision 3.0 1993/08/18 12:10:15 ram
+-''' Baseline for dist 3.0 netwide release.
+-'''
+-'''
++.\" @(#) Manual page for metalint
++.\"
++.\" $Id: mlint.SH 1 2006-08-24 12:32:52Z rmanfredi $
++.\"
++.\" Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
++.\"
++.\" You may redistribute only under the terms of the Artistic Licence,
++.\" as specified in the README file that comes with the distribution.
++.\" You may reuse parts of this distribution only within the terms of
++.\" that same Artistic Licence; a copy of which may be found at the root
++.\" of the source tree for dist 4.0.
++.\"
++.\" $Log: mlint.SH,v $
++.\" Revision 3.0.1.9 1997/02/28 16:30:25 ram
++.\" patch61: new "create" and "empty" lint directives
++.\" patch61: documented new messages
++.\"
++.\" Revision 3.0.1.8 1995/09/25 09:18:07 ram
++.\" patch59: documented new ?Y: directive
++.\" patch59: fixed my e-mail address
++.\"
++.\" Revision 3.0.1.7 1995/07/25 14:18:51 ram
++.\" patch56: added two new warnings for : comments lines in Configure
++.\"
++.\" Revision 3.0.1.6 1994/10/29 16:33:56 ram
++.\" patch36: documents new ?F: lines and the related metalint warnings
++.\" patch36: removed statement in BUGS since all warnings may now be shut
++.\"
++.\" Revision 3.0.1.5 1994/05/06 15:20:30 ram
++.\" patch23: added -L switch to override public unit repository path
++.\" patch23: two new warnings concerning last unit lines
++.\"
++.\" Revision 3.0.1.4 1994/01/24 14:20:39 ram
++.\" patch16: can now easily suppress warning about made "special units"
++.\"
++.\" Revision 3.0.1.3 1993/11/10 17:37:39 ram
++.\" patch14: documents stale ?M: dependency check
++.\"
++.\" Revision 3.0.1.2 1993/10/16 13:52:23 ram
++.\" patch12: added support for ?M: lines and fixed some typos
++.\"
++.\" Revision 3.0.1.1 1993/08/19 06:42:24 ram
++.\" patch1: leading config.sh searching was not aborting properly
++.\"
++.\" Revision 3.0 1993/08/18 12:10:15 ram
++.\" Baseline for dist 3.0 netwide release.
++.\"
++.\"
+ .SH NAME
+ metalint \- a metaconfig unit consistency checker
+ .SH SYNOPSIS
+@@ -104,7 +104,7 @@ Silent mode.
+ .TP
+ \fB\-L\fI dir\fR
+ Override default library location. Normally only useful for metaconfig
+-maintainers to locally check the units being developped instead of the
++maintainers to locally check the units being developed instead of the
+ publicly available ones. The \fIdir\fR specified is the one containing the
+ units \fIU\fR directory.
+ .TP
+@@ -219,7 +219,7 @@ The variable was already made visible as read-write by another unit.
+ The variable was already made visible as read-only by another unit.
+ .TP
+ "(?W) variable '\$xxx' already wanted."
+-Variable is already wanted, there is no need to explicitely ask for it here.
++Variable is already wanted, there is no need to explicitly ask for it here.
+ .TP
+ "(?W) variable '\$xxx' also locally defined."
+ A wanted variable would conflict with a locally defined variable and could
+@@ -400,7 +400,7 @@ dependency information. Use the \fIextern\fR lint hint to suppress this message.
+ A file listed as a private UU file is not created by the special unit.
+ Creation is detected by seing an explicit shell redirection to the file,
+ not by an implicit creation (such as a C compilation would for instance).
+-All special units should create only shell scripts explicitely anyway so this
++All special units should create only shell scripts explicitly anyway so this
+ message cannot be suppressed via a lint hint.
+ .TP
+ "local file 'xxx' may override the one set by 'unit.U'."
+diff --git a/mcon/man/mxref.SH b/mcon/man/mxref.SH
+index 0b7ec6f..acbdf8b 100755
+--- a/mcon/man/mxref.SH
++++ b/mcon/man/mxref.SH
+@@ -18,35 +18,35 @@ echo "Extracting mcon/man/metaxref.$manext (with variable substitutions)"
+ $rm -f metaxref.$manext
+ $spitshell >metaxref.$manext <<!GROK!THIS!
+ .TH METAXREF $manext "Version $VERSION PL$PATCHLEVEL"
+-''' @(#) Manual page for metaxref
+-'''
+-''' $Id: mxref.SH 1 2006-08-24 12:32:52Z rmanfredi $
+-'''
+-''' Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi
+-'''
+-''