This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
metaconfig unit changes for #17522.
[metaconfig.git] / dist-3.0at70b / ChangeLog
1 Fri Feb 28 17:48:41 MET 1997   Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
2
3 . Description:
4
5         This huge set of patch results from an integration of the
6         perl5 units into the dist-3.0 package. A few improvements
7         of mine are also incorporated here, but this patch set should
8         mainly be credited to Andy Dougherty and Chip Salzenberg, who
9         have both assumed the perl5 Patch Pumpkin with success and brio.
10
11         I won't document most of the changes in detail. Only the obvious
12         ones were kept here. You can look closer to the patches themselves
13         to see what really changed. Especially the new units, since you
14         now have more symbols to check for in your C code...
15
16         Regenerated Configure with current set of units.
17
18         Added Perl Patch Pumpkin credits. Thanks to Andy Dougherty and
19         to Chip Salzenberg for their incredible contributions to
20         metaconfig.
21
22         Changed my email address and updated copyright dates
23
24         Added support for src.U. This means you can now run Configure
25         from a remote directory to separate the build directory and
26         the (possibly read-only) source tree.
27         Note that some of your private units may require some changes
28         due to that...
29
30         Removed support for NO_PROTOTYPE detection on SCO.
31
32         Added cute quoting trick for wild stringify support, which
33         allows non-ANSI stringification to occur.
34
35         Replaced .a with $_a all over the place.
36         Likewise for .o replaced by $_o.
37         You'll have to do that to your own private units.
38
39         Integrated new units from perl5. I will not document most
40         of the perl5-related changes here. People interested can
41         look at Andy's notes in the perl5 distribution.
42
43         New USE_BSD_GETPGRP to detect the getpgrp() flavour. The old
44         USE_BSDPGRP has been obsoleted in favor of USE_BSD_SETPGRP.
45         Indeed, setpgrp() and getpgrp() can have distinct flavors,
46         so we need two distinct tests for them.
47
48         Useless units dropped: d_group.U and d_passwd.U.
49
50         Mention that <poll.h> can be included if HAS_POLL defined.
51
52         Improved overlapping copy check.
53
54         Added support for Free_t, the type of free().
55
56         Don't use nm with the GNU C library.
57         Added support for Linux shared libs.
58
59         Don't prompt them if the void support is high enough for us
60         and don't ask for the include path unless they are on a MIPS.
61
62         Added the srcdir support to "configure" now that we have src.U.
63
64         Documented the runnning environment and the src.U unit in
65         the metaconfig man page. The $_a and $_o are also mentionned.
66         All the generated scripts must now start with a "$startsh"
67         to ensure proper shell execution.
68
69         New "create" and "empty" lint directives.
70
71         New -L option for metaxref to match metaconfig and metalint.
72
73         Documents contents of the message sent by patnotify:
74         we now let them know the patch priority and description.
75
76         Added a whole bunch of new units, mostly from the perl5 team.
77
78 . Files changed:
79
80         * bin/packinit.SH: Fixed one wrong ':' comment in .package.
81
82         * jmake/files/Jmake.rules: Now handles USRINC for dependencies. 
83         Smarter about dependencies computation.
84
85         * jmake/files/Jmake.tmpl: Lex path can now be configured.
86
87         * mcon/U/Begin.U: Added Extractall dependency.
88
89         * mcon/U/Config_sh.U, mcon/U/Oldsym.U, mcon/U/Extract.U,
90         mcon/U/patchlevel.U, mcon/U/MailAuthor.U, mcon/U/Chk_MANI.U,
91         mcon/U/Config_h.U: Added support for src.U.
92
93         * mcon/U/Configdir.U: Have README explicitely mention the package
94         name.
95
96         * mcon/U/make.U, mcon/U/d_strtoul.U, mcon/U/Unix.U,
97         mcon/U/d_inetaton.U, mcon/U/sitearch.U, mcon/U/d_sanemcmp.U,
98         mcon/U/i_locale.U, mcon/U/d_sigaction.U, mcon/U/d_getpgid.U,
99         mcon/U/src.U, mcon/U/sitelib.U, mcon/U/d_brokstat.U, mcon/U/man3dir.U,
100         , mcon/U/d_sigsetjmp.U, mcon/U/i_sysstat.U, mcon/U/d_strtod.U,
101         mcon/U/d_byacc.U, mcon/U/sh.U, mcon/U/Signal.U, mcon/U/d_gnulibc.U,
102         mcon/U/man1dir.U, mcon/U/Extractall.U, mcon/U/i_values.U,
103         mcon/U/i_sfio.U: Created.
104
105         * mcon/U/Getfile.U: Getfile script now begins with "startsh".
106
107         * mcon/U/Head.U: Make sure we unset CDPATH for shells that support
108         this.  Improved Korn shell detection and handling.
109
110         * mcon/U/Instruct.U: Logname / whoami sequence rewritten to use case.
111
112         * mcon/U/Loc.U: Allow users to specify paths on the command line. 
113         Will now substitute cp for ln if not supported.
114
115         * mcon/U/Myread.U: Myread script now starts with a "startsh". 
116         Miscellaneous fixes.
117
118         * mcon/U/Oldconfig.U: Added support for src.U.  New OSNAME define. 
119         Can now sense new OSes.
120
121         * mcon/U/Options.U: Optdef.sh now starts with a "startsh".  Moved
122         some code from Head.U.
123
124         * mcon/U/Whoa.U: Whoa script now starts with leading "startsh".
125
126         * mcon/U/afs.U: Can now explicitely tell Configure whether AFS is
127         running.
128
129         * mcon/U/archlib.U: Skip existence checks for archlib.
130
131         * mcon/U/archname.U: Changed the way the archname is mangled from
132         uname.
133
134         * mcon/U/byteorder.U: No longer ask the user if the test runs ok.
135
136         * mcon/U/ccflags.U: Removed support for NO_PROTOTYPE detection on
137         SCO.  New locincpth variable.  Added info on the "additional ld
138         flags" question.
139
140         * mcon/U/cf_who.U: New computation method avoiding use of temporary
141         file.
142
143         * mcon/U/cpp_stuff.U: Added cute quoting trick for wild stringify
144         support.
145
146         * mcon/U/d_bsdjmp.U, mcon/U/d_fd_set.U, mcon/U/models.U,
147         mcon/U/d_scannl.U, mcon/U/d_open3.U, mcon/U/d_closedir.U: Added ?F:
148         metalint hint.
149
150         * mcon/U/libs.U, mcon/U/libnm.U, mcon/U/libyacc.U, mcon/U/libflex.U,
151         mcon/U/libdbm.U, mcon/U/d_socket.U, mcon/U/d_normsig.U,
152         mcon/U/d_crypt.U: Replaced .a with $_a all over the place.
153
154         * mcon/U/d_csh.U: Added full_csh to preserve the full path even when
155         portable.
156
157         * mcon/U/d_dosuid.U: Moved unit to TOP via a ?Y: layout directive. 
158         Tell them /dev/fd is not about floppy disks.
159
160         * mcon/U/d_gconvert.U: Integrated new unit from perl5.
161
162         * mcon/U/d_getpgrp.U: New USE_BSD_GETPGRP to detect the getpgrp()
163         flavour.
164
165         * mcon/U/d_group.U, mcon/U/d_passwd.U: Useless unit dropped.
166
167         * mcon/U/d_usendir.U, mcon/U/d_havetlib.U, mcon/U/errnolist.U:
168         Replaced .a with $_a all over the place.  Likewise for .o replaced by
169         $_o.
170
171         * mcon/U/d_newsadm.U: Added Guess dependency.
172
173         * mcon/U/d_pidcheck.U: Replaced .o with $_o all over the place. 
174         Added ?F: metalint hint.
175
176         * mcon/U/d_poll.U: Mention that <poll.h> can be included if HAS_POLL
177         defined.
178
179         * mcon/U/d_safebcpy.U, mcon/U/d_safemcpy.U: Improved overlapping copy
180         check.  Comfort them if they have memmove.  Added ?F: metalint hint.
181
182         * mcon/U/d_setpgid.U: Reworded symbol comments.
183
184         * mcon/U/d_setpgrp.U: Obsoleted USE_BSDGRP in favor of
185         USE_BSD_SETPGRP.  Another unit now also defines a USE_BSD_GETPGRP. 
186         Fallback for test program failure improved.
187
188         * mcon/U/d_sgndchr.U, mcon/U/d_wifstat.U: Added a ?F: metalint hint.
189
190         * mcon/U/d_sigvec.U: There is now a separate routine for sigaction().
191
192         * mcon/U/d_stdstdio.U: Merged with perl5's unit.
193
194         * mcon/U/d_syslog.U, mcon/U/mkdep.U: Replaced .o with $_o all over
195         the place.
196
197         * mcon/U/i_dbm.U: Added I_RPCSVC_DBM check.
198
199         * mcon/U/i_varhdr.U: Varargs script now starts with leading "startsh".
200
201         * mcon/U/intsize.U: Avoid prompting the user if the test runs ok. 
202         Moved code from longsize.U into there.  New tests for shortsize as
203         well.
204
205         * mcon/U/libc.U: Replaced .a with $_a all over the place.  Added
206         support for HPUX-10 nm output.
207
208         * mcon/U/libnlist.U: Added usrinc and mips on the dependency line. 
209         Make sure we call ./mips.  Added a ?LINT: hint.
210
211         * mcon/U/libpth.U: New loclibpth variable.
212
213         * mcon/U/longsize.U: Code moved to intsize.U.
214
215         * mcon/U/mallocsrc.U: Added support for Free_t, the type of free(). 
216         Replaced .o with $_o all over the place.
217
218         * mcon/U/manfmt.U, mcon/U/mansrc.U: Don't ask for AFS when they
219         choose to not install pages.
220
221         * mcon/U/myhostname.U: Improved hostname lookup by using ypmatch when
222         NIS is used.
223
224         * mcon/U/nblock_io.U: Simplify here document for shells that can't
225         handle them well.  Force use of "startsh" at the head of the
226         generated script.  Added new files to the ?F: metalint hint.
227
228         * mcon/U/nis.U: Ensure suitable defaults for hostcat and friends.
229
230         * mcon/U/orderlib.U: Replaced .a with $_a all over the place. 
231         Likewise for .o replaced by $_o.  Now uses the ar located by Loc.U.
232
233         * mcon/U/randbits.U: Added <unistd.h> and <stdlib.h> to the C program
234         test.
235
236         * mcon/U/registers.U: Removed empty ?LINT lines.
237
238         * mcon/U/selecttype.U: Always include <sys/select.h> when available
239         for test.
240
241         * mcon/U/sig_name.U: Brand new algorithm for sig_name and (new!)
242         sig_num.
243
244         * mcon/U/spitshell.U: Removed useless chatter as this is now done
245         very early.
246
247         * mcon/U/ssizetype.U: Integrated perl5 concerns for mis-configured
248         sfio.
249
250         * mcon/U/startperl.U: Warn them if the #! line is too long for their
251         OS.
252
253         * mcon/U/startsh.U: Avoid needless chatter since this is now done
254         very early.
255
256         * mcon/U/usenm.U: Don't use nm with the GNU C library.  Added support
257         for Linux shared libs.
258
259         * mcon/U/usrinc.U: Don't ask for the include path unless they are on
260         a MIPS.
261
262         * mcon/U/voidflags.U: Don't prompt them if the void support is high
263         enough for us.
264
265         * mcon/configure: Added the srcdir support now that we have src.U. 
266         Random cleanup for nicer help message.
267
268         * mcon/man/mconfig.SH: Documents the runnning environment and the
269         src.U unit.  Added warnings for $_a and $_o, as well as "startsh".
270
271         * mcon/man/mlint.SH: New "create" and "empty" lint directives. 
272         Documented new messages.
273
274         * mcon/mxref.SH, mcon/man/mxref.SH: New -L option to match metaconfig
275         and metalint.
276
277         * mcon/pl/lint.pl: Added support for ?F: lines to monitor file usage.
278         Now honours "create" and "empty" lint directives.
279
280         * pat/pat.man: Documents contents of the message sent by patnotify.
281
282         * pat/patlog.SH: Typo fix.
283
284         * pat/patnotify.SH: Let them know the patch priority and description.
285
286 Mon Sep 25 10:33:26 MET 1995   Raphael Manfredi <ram@hptnos02.grenoble.hp.com>
287
288 . Description:
289
290         Smarter sed command to strip /usr/include dependencies in
291         jmake-generated Makfiles. Thanks to Ulrich Pfeifer
292         <pfeifer@buster.informatik.uni-dortmund.de> for contributing it.
293
294         In response to the discussion on dist-users, jmake will now force
295         macro definitions to the left in the generated Makefile, even
296         though they may be nicely formatted in the imake-style within
297         the Jmakefile itself (centered on the =).
298
299         Commented the purpose of the #un-def directive in the relevant
300         unit, since I tend to forget about this hack and almost considered
301         removing it without seeing the consequences. ;-)
302
303         Configure will now abort when a mandatory command is missing.
304         Indeed, Configure relies on such commands to perform its various
305         tasks, and a miss can have dreadful consequences, without the
306         end-users noticing it.
307
308         Protected option parsing code against 'echo -*' option failure.
309
310         Various units are now forced to the top of Configure, if possible.
311         This is mainly interactive questions. Note that dependencies are
312         still respected, i.e. all the units on which those depend will
313         come before, so the top-ness is a relative issue.
314
315         All possible install programs are now looked for, instead of
316         breaking the loop once one was found. Also, to optimize cache
317         access on AFS directories, the lookup is done on directories
318         first, then on programs instead of the other way round.
319
320         New ?Y: directive to change unit layout. You may specify a
321         TOP, DEFAULT or BOTTOM request on that line to respectively
322         force the unit to the earliest possible, default or latest
323         possible place in the Configure script, as dependencies
324         permit.
325
326         Symbols are now sorted according to the ?Y: layout directive.
327
328         If you use the MailAuthor.U unit, you will be interested by the
329         new -i option for patsend to add extra instructions for people
330         receiving mailed patches. patnotify also tells users how to directly
331         request for mailed patches. The patch making process now automatically
332         supply the -i when invoking patsend. Changes contributed by Graham
333         Stoney <greyham@research.canon.oz.au>.
334
335 . Files changed:
336
337         * jmake/files/Jmake.rules: Smarter sed command to strip /usr/include
338         dependencies.
339
340         * jmake/jmake.SH: Will now force macro definitions to the left.
341
342         * mcon/U/Config_h.U: Commented the purpose of the #un-def directive.
343
344         * mcon/U/Loc.U: Commented the purpose of the #un-def directive. 
345         Abort Configure run when mandatory command is missing.
346
347         * mcon/U/Options.U: Protected option parsing code against 'echo -*'
348         option failure.
349
350         * mcon/U/perlpath.U, mcon/U/manfmt.U, mcon/U/mansrc.U,
351         mcon/U/scriptdir.U, mcon/U/archlib.U, mcon/U/lib.U, mcon/U/privlib.U,
352         mcon/U/bin.U: Unit is now forced to the top of Configure, if possible.
353
354         * mcon/U/install.U: All possible install programs are now looked for.
355
356         * mcon/man/mconfig.SH, mcon/man/mlint.SH: Documented new ?Y:
357         directive.  Fixed my e-mail address.
358
359         * mcon/pl/depend.pl, mcon/pl/init.pl, mcon/pl/lint.pl: New ?Y:
360         directive to change unit layout.
361
362         * mcon/pl/makefile.pl: Symbols are now sorted according to the ?Y:
363         layout directive.
364
365         * mcon/pl/xref.pl: Added empty p_layout stub for new ?Y: directives.
366
367         * pat/pat.man: New -i option for patsend to add extra instructions.
368
369         * pat/patmake.SH: Now calls patsend with -i to add more instructions.
370
371         * pat/patnotify.SH: Now tells users how to directly request for
372         mailed patches.
373
374         * pat/patsend.SH: New -i option to add more instructions for
375         end-users.
376
377 Tue Jul 25 16:41:40 METDST 1995   Raphael Manfredi <ram@hptnos02.grenoble.hp.com>
378
379 . Description:
380
381         pat/Jmakefile was missing an entry for the patlog program, which
382         prevented it from being installed, leading to chaos when patmake
383         was run.
384
385         New contributions from Ilya Zakharevich <ilya@math.ohio-state.edu>
386         to provide OS/2 support. Configure can now be run under OS/2 using
387         a ksh shell interpreter. Support for pdksh is undergoing, as far
388         as I understand.
389
390         The installation of script man pages can now cope with missing
391         files. The jmake rules used to require that all scripts or none
392         have .man files associated with them. From now on, the generated
393         Makefile will check for the manual page existence before trying
394         to install it.
395
396         The clobber target now removes the .config directory as well,
397         which is generated by Configure to cache various information
398         over runs. Since clobber is intended to make a clean distribution,
399         that directory must be removed at that stage.
400
401         All jmake error messages are now prefixed with the program name.
402
403         Re-arranged compile line to include ldflags before objects
404         within all the compile-link tests in the metaconfig units, since
405         some systems require that ld flags be specfied at that place.
406         The only exception to this being the -llib directive, which stays
407         at the end of the line (from Spider Boardman).
408
409         added SVR4-ish /opt directories to path list (ADO)
410
411         Added backslash escapes within evals in Typedef.U to prevent problems
412         when the assigned variables have space in them (such as 'int *')...
413
414         Force compile-link test for dl* routines since those symbols might lie
415         in crt0.o, and not in any other library (ADO)
416
417         Improved comments about the Gconvert macro and forced a compile-link
418         test since the gconvert routine may exist but be unusable because
419         it would refer to otherwise missing routines... Sigh! (ADO)
420
421         Made cc and ccflags optional dependencies in several units.
422
423         Added knowledge of the O_NONBLOCK symbol in d_open3.U (required for
424         non-blocking I/O support, which is now computed by the new nblock_io.U
425         unit).
426
427         Use findhdr to find <sys/shm.h>, to get the right one (ADO)
428
429         Typo fix on ?C: line for FILE_bufsiz in d_stdstdio.U.
430         Also fixed unbalanced parenthesis and check whether FILE_cnt
431         and FILE_ptr can be assigned to, i.e. may be used as lvalues. (ADO)
432
433         Typo fix, sytem -> system in d_time.U and d_times.U.
434
435         Conditionally use const in test programs for i_db.U (ADO)
436
437         Use setvar so hint file values can override our guesses in
438         i_pwd.U. (ADO)
439
440         Removed <> characters from comments, per metalint suggestion
441
442         Ensure ctrl-A characters are visible in prompt within the
443         mboxchar.U unit (WED)
444
445         Removed harmful spaces in assignment for selecttype.U.
446
447         Added <asm/signal.h> lookup for correct signal name lookup
448         under linux. That's probably as far as we'll get to support
449         those idiosyncracies.
450
451         Obsoleted KEEPALIVE in favor of CAN_KEEPALIVE for consistency
452         with the 3.0 naming scheme.
453
454         New metaconfig -G option to include a GNU configure-like
455         wrapper over the generated Configure script. That way,
456         people with a GNU background will be able to use (some) of
457         the GNU configure options to configure the package. The
458         wrapper computes suitable Configure options and then launches
459         that script.
460
461         Manual page for metaconfig now documents the new -G option,
462         includes an extended description of the Csym.U unit and
463         mentions what a compile-link test line should look like.
464
465         Metalint will now check : comments line for potential danger,
466         since those lines are really interpreted by the shell. Therefore,
467         unbalanced quotes could cause huge parts of the Configure script
468         to be ignored at run time, yielding weird results. Anyway,
469         metalint will tell you about them.
470
471         Two new files: a new unit, and the GNU configure-like wrapper.
472
473 . Files changed:
474
475         * Jmakefile: Re-ordered macros, moving the install at the end.
476
477         * bin/packinit.man: Fixed a typo.
478
479         * jmake/files/Jmake.rules: Install of script man pages can now cope
480         with missing files.  The clobber target now removes the .config
481         directory as well.
482
483         * jmake/jmake.SH: All error messages are now prefixed with the
484         program name.
485
486         * mcon/Jmakefile: Installs the GNU configure-like front-end to
487         Configure.
488
489         * mcon/U/Csym.U: Re-arranged compile line to include ldflags before
490         objects.  Added quotes for OS/2 support.
491
492         * mcon/U/libs.U, mcon/U/Loc.U, mcon/U/Guess.U, mcon/U/Oldconfig.U,
493         mcon/U/libc.U: Now knows about OS/2 platforms.
494
495         * mcon/U/Head.U: Added SVR4-ish /opt directories to path list (ADO). 
496         OS/2 platforms are using another path separator.
497
498         * mcon/U/Typedef.U: Added backslash escapes within evals to prevent
499         space problems.
500
501         * mcon/U/d_safebcpy.U, mcon/U/d_wifstat.U, mcon/U/d_setpgrp.U,
502         mcon/U/ccflags.U, mcon/U/d_safemcpy.U: Re-arranged compile line to
503         include ldflags before objects.
504
505         * mcon/U/d_dlerror.U, mcon/U/d_dlopen.U: Force compile-link test
506         since symbol might lie in crt0.o (ADO).
507
508         * mcon/U/d_gconvert.U: Improved comments about the Gconvert macro
509         (ADO).  Force compile-link test since it may exist but be unusable
510         (ADO).
511
512         * mcon/U/d_volatile.U, mcon/U/d_sgndchr.U, mcon/U/d_scannl.U,
513         mcon/U/d_keepsig.U: Made cc and ccflags optional dependencies.
514
515         * mcon/U/d_open3.U: Added knowledge of the O_NONBLOCK symbol.
516
517         * mcon/U/d_shmat.U: Use findhdr to find <sys/shm.h>, to get the right
518         one (ADO).
519
520         * mcon/U/d_stdstdio.U: Typo fix on ?C: line for FILE_bufsiz.  Fixed
521         unbalanced parenthesis (ADO).  Check whether FILE_cnt and FILE_ptr
522         can be assigned to (ADO).
523
524         * mcon/U/d_times.U, mcon/U/d_time.U: Typo fix, sytem -> system.
525
526         * mcon/U/i_db.U: Conditionally use const in test programs (ADO).
527
528         * mcon/U/i_pwd.U: Use setvar so hint file values can override our
529         guesses (ADO).
530
531         * mcon/U/i_sysfile.U: Removed <> characters from comment, per
532         metalint suggestion.
533
534         * mcon/U/mboxchar.U: Ensure ctrl-A characters are visible in prompt
535         (WED).
536
537         * mcon/U/nblock_io.U, mcon/configure: Created.
538
539         * mcon/U/selecttype.U: Removed harmful spaces in assignment.
540
541         * mcon/U/sig_name.U: Added <asm/signal.h> lookup for linux.
542
543         * mcon/U/sockopt.U: Obsoleted KEEPALIVE in favor of CAN_KEEPALIVE for
544         consistency.
545
546         * mcon/man/mconfig.SH: Added extra nroff escapes at line heads to
547         keep leading dots.  Documented new -G option.  Extended description
548         of the Csym.U unit.  Now mentions what a compile-link test line
549         should look like.
550
551         * mcon/man/mlint.SH: Added two new warnings for : comments lines in
552         Configure.
553
554         * mcon/mconfig.SH: New -G option.
555
556         * mcon/pl/cosmetic.pl: Added support for new -G option.
557
558         * mcon/pl/lint.pl: Will now check : comments line for potential
559         danger.
560
561         * pat/Jmakefile: Was missing an entry for the patlog program.
562
563 Fri May 12 14:39:16 METDST 1995   Raphael Manfredi <ram@hptnos02.grenoble.hp.com>
564
565 . Description:
566
567         Regenerated Configure with pre-release of PL54.
568
569         Updated my e-mail address in all manual pages. I had forgotten
570         about that in my previous patch.
571
572         Various fixes in units from Andy Dougherty. Thanks to him and
573         to the efficient perl5-porters team that strive to port perl5
574         to every possible existing platform on Earth, hence making
575         Configure more and more robust ;-). Here are Andy's fixes:
576
577         . split awk command onto two lines for older awks
578         . fixed C test program to bypasss gcc builtin type checks
579         . deleted tabs that caused some /bin/sh to core dump
580         . cleaned up and extended osvers for DEC OSF/1
581         . added MachTen detection
582         . protect against spaces in "uname -m" output
583         . extended for more intimate DB probing
584         . made more robust [ng]dbm units by checking both header
585           and libraries for features
586         . can now grok linux nm output with leading __IO
587         . added support for linux ELF output, using 'W' for alias
588         . now looks for <linux/signal.h> too
589         . ensure that ./mips always exists
590
591         Added -K option for experts. That Configure option should only
592         be used when you know what you are doing. The config.sh reload
593         logic now knows about new -K switch so that you now have to say:
594                 Configure -dK
595         to get the old
596                 Configure -d
597         behaviour.
598
599         Configure now checks for a valid C compiler and that the
600         specified ccflags and ldflags are coherent with the choice
601         of the C compiler. It aborts if the C compiler does not
602         work (since it might be used for feature testing), but only
603         offers to abort when a flag inconsistency is detected.
604         Contributed by Tye McQueen (again!).
605
606         Complete rewrite of d_stdstdio.U by Tye McQueen to fit modern
607         systems. The USE_STD_STDIO symbol has been obsoleted by the
608         new USE_STDIO_PTR symbol. Also, access to _ptr, _cnt and
609         _base fields in the FILE structure should be made only via the
610         new metaconfig macros FILE_ptr, FILE_cnt, etc...
611
612         Made sure only most recent version of shared lib is picked.
613         This is for systems where libc.so.3 and libc.so.13 might
614         co-exist. We really need to pick the second one, whereas the
615         previous alphabetic sort was picking the first.
616
617         Final "nm -p" check now uses xscan and xrun like everybody.
618         It used to do its checking manually. Using xscan and xrun allows
619         for the printing of the busy dots while scanning.
620
621         The patpost script will now add an explicit From: header line
622         pointing to the maintainer address, as configured in your
623         .package. This is to prevent broken inews to insert the hostname
624         where patpost is ran, which might not be visible from the outside.
625
626 . Files changed:
627
628         * pat/pat.man, bin/packinit.man, jmake/jmake.man, kit/kitpost.man,
629         bin/manilist.man, kit/makedist.man, jmake/jmkmf.man, kit/manifake.man,
630         , dist.man: Updated my e-mail address.
631
632         * mcon/U/Cppsym.U: Split awk command onto two lines for older awks
633         (ADO).
634
635         * mcon/U/Csym.U: Fixed C test program to bypasss gcc builtin type
636         checks (ADO).
637
638         * mcon/U/Inhdr.U: Deleted tabs that caused some /bin/sh to core dump
639         (ADO).
640
641         * mcon/U/Oldconfig.U: Config.sh reload logic now knows about new -K
642         switch.  Cleaned up and extended osvers for DEC OSF/1 (ADO).  Added
643         MachTen detection (ADO).
644
645         * mcon/U/Options.U: Added -K option for experts.
646
647         * mcon/U/archname.U: Protect against spaces in "uname -m" output
648         (ADO).
649
650         * mcon/U/cc.U: May now abort Configure when cc does not work.
651
652         * mcon/U/ccflags.U: Now checks for cc/ccflags/ldflags coherency.
653
654         * mcon/U/d_casti32.U: Made sure cc and ccflags are conditional
655         dependencies.
656
657         * mcon/U/d_castneg.U: Made sure cc and ccflags are conditional
658         dependencies.  Added improved test case for Interactive Unix.
659
660         * mcon/U/d_stdstdio.U: Complete rewrite by Tye McQueen to fit modern
661         systems.
662
663         * mcon/U/d_voidsig.U: Made cppflags dependency optional.
664
665         * mcon/U/i_db.U: Extended for more intimate DB probing (ADO).
666
667         * mcon/U/i_gdbm.U, mcon/U/i_ndbm.U, mcon/U/i_dbm.U: Made more robust
668         by checking both header and lib (ADO).
669
670         * mcon/U/libc.U: Made sure only most recent version of shared lib is
671         picked.  Final "nm -p" check now uses xscan and xrun like everybody. 
672         Can now grok linux nm output with lead __IO (ADO).  Added support for
673         linux ELF output, using 'W' for alias (ADO).
674
675         * mcon/U/sig_name.U: Now looks for <linux/signal.h> too (ADO).
676
677         * mcon/U/usrinc.U: Ensure that ./mips always exists (ADO).
678
679         * mcon/man/mconfig.SH: Documented new -K switch for knowledgeable
680         users.
681
682         * pat/patpost.SH: Added explicit From: header line pointing to the
683         maintainer.
684
685 Tue Mar 21 09:55:57 MET 1995   Raphael Manfredi <ram@hptnos02.grenoble.hp.com>
686
687 . Description:
688
689         Regenerated Configure to reflect my email address change. I moved
690         from ACRI to HP, and my email is now: <ram@hptnos02.grenoble.hp.com>.
691         The "critical" nature of this patch is due to that mere fix.
692
693         Jmake was not working at all on HP-UX due to the way their cpp
694         systematically removes trailing backslashes in text. The new
695         fixcpp script is now a wrapper over cpp to first escape those
696         backslashes that should be preserved accross cpp before feeding
697         it with the text of the Jmakefile...
698
699         Suppressed extra argument to NormalProgramTarget call in jmake rules.
700
701         Definition of the paths variable in Head.U wrongly added spurious
702         ':' chars. Thanks to Karst Koymans <Karst.Koymans@phil.ruu.nl> for
703         pointing it out.
704
705         Swapped two first arguments of memcpy() calls for memcpy safe
706         overlapping copy tests. Indeed, the memcpy() calling sequence used
707         was the same as bcopy(), but the first two arguments should be
708         swapped to preserve the same semantics.
709
710         Continued fix for NeXT NIS/NetInfo handling, from Graham Stoney.
711
712         Two new files.
713
714 . Files changed:
715
716         * jmake/Jmakefile: Now installs new fixcpp script in the private
717         libdir.
718
719         * jmake/files/Jmake.rules: Suppressed extra argument to
720         NormalProgramTarget call.
721
722         * jmake/fixcpp.SH, mcon/U/d_wifstat.U: Created.
723
724         * jmake/jmake.SH: Now invokes cpp through new fixcpp script.  First
725         pass now skips cpp comments alltogether.
726
727         * mcon/U/Head.U: Definition of paths wrongly added spurious ':' chars.
728
729         * mcon/U/d_safemcpy.U: Swapped two first arguments of memcpy() calls.
730
731         * mcon/U/nis.U: Continued fix for NeXT NIS/NetInfo handling.
732
733 Wed Feb 15 15:23:06 MET 1995   Raphael Manfredi <ram@acri.fr>
734
735 . Description:
736
737         This patch only contains random cleanup and minor fixes that were
738         brought to my attention on the dist-users list.
739
740         Regenerated Configure with pre-release of 3.0 PL51, since it
741         was a little outdated.
742
743         Wayne Davison's changes:
744         . now clearer about how to edit config.sh at the end of Configure.
745         . Getfile was not working if ~'s allowed with d_portable on
746         . Instruct.U: author name now appears at the end of a paragraph
747
748         Andy Dougherty adapted osvers computation for AIX. He also
749         fixed mansrc.U where I had mistakenly duplicated /usr/local/man/man1.
750         He added /opt/man/man1 to the lookpath instead, a change originating
751         from Tye McQueen <tye@metronet.com>.
752
753         Architecture name is now computed by a separate unit. This allows
754         authors to precompute it in a hint file, while warning the user
755         when the machine's architecture name changes (because for instance
756         the OS was upgraded), preventing mistakes.
757
758         Now correctly handles NeXT using NIS rather than NetInfo, thanks
759         to a patch sent by Graham Stoney <greyham@research.canon.oz.au>.
760
761         One new file (unit archname.U).
762
763 . Files changed:
764
765         * mcon/U/Finish.U: Now clearer about how to edit config.sh at the
766         prompt (WED).
767
768         * mcon/U/Getfile.U: Was not working if ~'s allowed with d_portable on
769         (WED).
770
771         * mcon/U/Instruct.U: Author name now appears at the end of the
772         paragraph (WED).
773
774         * mcon/U/Oldconfig.U: Adapted osvers computation for AIX (ADO).
775
776         * mcon/U/archlib.U: Architecture name is now computed by a separate
777         unit.
778
779         * mcon/U/archname.U: Created.
780
781         * mcon/U/mansrc.U: Was mistakenly duplicating /usr/local/man/man1
782         (ADO).  Added /opt/man/man1 to the lookpath (ADO).
783
784         * mcon/U/nis.U: Now correctly handles NeXT using NIS rather than
785         NetInfo.
786
787 Mon Jan 30 15:59:00 MET 1995   Raphael Manfredi <ram@acri.fr>
788
789 . Description:
790
791         The dist-3.0 package now works with perl 5.0. I have made perl 5.0
792         the default perl on my machine and ran the whole set of pat* tools,
793         jmake and metaconfig without any trouble so far. However, you need
794         a patched-up version of perl 5.0 PL0, as explained in README.
795
796         This set of patches is mainly an integration of Wayne Davison's
797         changes for trn. His changes are flagged as WED.
798
799         Begin.U:
800           Avoid an empty rmlist: systems might choke on it (WED).
801
802         Config_h.U:
803           Typo fixes in leading config.h comment (WED).
804
805         Oldconfig.U:
806           Update code for myuname changed (WED).
807
808         Configure can now handle installation prefix changes. I have
809         slightly adapted the changes proposed by Wayne, introducing two
810         new special units (Prefixit.U and Prefixup.U) to factorize code.
811
812         d_attribut.U:
813           Test C program now includes <stdio.h> (WED)
814
815         page.U:
816           Ensure dflt gets initialized in case no pagers are found (WED)
817
818         prefix.U:
819           Save off previous prefix value in oldprefix if changed (WED)
820           Added the INSTALLPREFIX define for C programs to use (WED)
821
822         Archname is now systematically recomputed. This avoids problem when
823         the user changes his mind about the OS name.
824
825         Now looks for POSIX regcomp() routine, and for <regex.h>, thanks
826         to Sidney C. Smith <scsmith@cbda9.apgea.army.mil>.
827
828         New installmanfmt and AFS-lookup for formatted man pages, derived
829         from what is done for troffed man pages.
830
831         New prefixexp variable holding a fully expanded prefix, in case
832         they use ~name expansion in their prefix.
833
834         Documented new special units Prefixit.U and Prefixup.U.
835
836         Clean-up and workarounds for perl 5.0 PL0 port:
837           Removed old "do name()" routine call constructs.
838           Forgot to localize the spaces variable.
839           Random clean-up in &record_obsolete.
840
841         Three new files.
842
843 . Files changed:
844
845         * mcon/U/Begin.U: Avoid an empty rmlist: systems might choke on it
846         (WED).
847
848         * mcon/U/Config_h.U: Typo fixes in leading config.h comment (WED).
849
850         * mcon/U/Oldconfig.U: Unit Options.U now exports file optdef.sh, not
851         a variable.  Update code for myuname changed (WED).
852
853         * mcon/U/Options.U: This unit now exports file optdef.sh, not a
854         variable.
855
856         * mcon/U/i_regex.U, mcon/U/Prefixit.U, mcon/U/Prefixup.U: Created.
857
858         * mcon/U/archlib.U: Archname is now systematically recomputed.  Can
859         now handle installation prefix changes (from WED).
860
861         * mcon/U/mansrc.U, mcon/U/scriptdir.U, mcon/U/lib.U, mcon/U/privlib.U,
862         , mcon/U/bin.U: Can now handle installation prefix changes (from WED).
863
864         * mcon/U/d_attribut.U: Test C program now includes <stdio.h> (WED).
865
866         * mcon/U/d_regcmp.U: Now looks for POSIX regcomp() routine.
867
868         * mcon/U/manfmt.U: New installmanfmt and AFS-lookup for formatted man
869         pages.  Can now handle installation prefix changes (from WED).
870
871         * mcon/U/pager.U: Ensure dflt gets initialized in case no pagers are
872         found (WED).
873
874         * mcon/U/prefix.U: New prefixexp variable holding a fully expanded
875         prefix.  Save off previous prefix value in oldprefix if changed
876         (WED).  Added the INSTALLPREFIX define for C programs to use (WED).
877
878         * mcon/U/rootid.U: Now only prints a single empty line when
879         outputting something.
880
881         * mcon/man/mconfig.SH: Documented new special units Prefixit.U and
882         Prefixup.U.
883
884         * mcon/pl/configure.pl, mcon/pl/eval.pl: Removed old "do name()"
885         routine call constructs.
886
887         * mcon/pl/cosmetic.pl: Forgot to localize the spaces variable.
888
889         * mcon/pl/obsolete.pl: Random clean-up in &record_obsolete.
890
891 Wed Jan 11 17:03:22 MET 1995   Raphael Manfredi <ram@acri.fr>
892
893 . Description:
894
895         Regenerated Configure with pre-release of metaconfig PL45 to
896         benefit from the new install program lookup. From now on, the
897         supplied install.SH script will not be used if a BSD-compatible
898         install executable is found on your host (to accelerate the whole
899         install procedure).
900
901         Regenerated many Makefile.SH files with pre-release of jmake PL45
902         to correctly handle the new install and installdir configuration
903         variables.
904
905         Updated the Wishlist file.
906
907         New jmake macros. Also the MakeDirs macro was modified to benefit
908         from the information gathered by Configure concerning the way to
909         install nested directories (uses the new installdir variable).
910
911         As a consequence, Makefile.SH files now pre-compute INSTALL and
912         INSTALLDIR variables before substituting (concerns jmake-generated
913         makefiles).
914
915         Moved path stripping from d_portable.U to end of Configure. This
916         lets Configure use $vi and $perl, etc... set to their fully
917         qualified path name, hence making it easier for units to know
918         whether a particular program was located. Formerly, you had to
919         use $_vi, $_perl, etc... in case they asked for portability, which
920         stripped out executable paths.
921
922         New cc vs. cpp symbol checking, as well as more cpp symbols in
923         the attribute list. Configure will now try to determine separately
924         symbols defined by cpp and by the cc wrapper, letting you know about
925         what is defined and by whom. Thanks to Jarkko Hietaniemi for this
926         suggestion.
927
928         Added support for escaping answers to skip various checks in the
929         Getfile.U unit. For instance, you may now say:
930                 fn='/fe~(foo)'
931                 . ./getfile
932         and let them answer only fully qualified paths OR the string 'foo'.
933         You may supply a comma-separated list between the parenthesis. See
934         the manual page or the new install.U unit for more information.
935
936         Modified message issued after file expansion in the Getfile unit.
937
938         Protected various "sh -c" calls within backquotes for Linux and
939         SGI shells (to prevent an "ambiguous output redirection" message).
940         Thanks to Xavier Le Vourch for suggesting it.
941
942         Added & escape allowing user to turn on -d from the prompt. Several
943         people have expressed the need for such a feature, arguing that
944         once they have re-run a Configure script to fix the answer to a
945         particular question, they would like to have the remaining of the
946         script ran as if -d had been given to Configure. Well, they now
947         may reply '& -d' at the Myread prompt to turn -d on.
948
949         New -O option allowing -D and -U to override config.sh setttings.
950         This may be used to alter particular variables but still re-use
951         most of the previously guessed-at ones. Still, this may produce
952         inconsistencies and therefore is not the default behaviour (the
953         -D and -U switches have no effect by default if a previous config
954         file is loaded).
955
956         Therefore, file optdef.sh is no longer removed after sourcing from
957         the UU directory.
958
959         Changed gcc checking message to a more explicit one (WED)
960         Call ./mips instead of just mips (WED)
961         Use 'test -f' instead of 'test -r' for exec-only cat progs (WED)
962         Fixed typo in the d_attribut variable (ADO)
963
964         New unit install.U to locate BSD-compatible install programs.
965         New unit poll.U to check for the poll() routine availability.
966
967         Allows hint files to specify their own value for 'ranlib', to
968         overcome a bug in the NeXT ranlib program. Suggested by
969         Andreas Koenig <k@franz.ww.tu-berlin.de> on the perl5-porters
970         mailing list. Thanks!
971
972         Now sets sbrksmart to undef explicitely when lacking sbrk().
973         Forgot a cast when using return value from sbrk(). Both fixes
974         reported by Xavier Le Vourch <xavierl@eiffel.com>.
975
976         Now allows @if statements for the add.Config_sh unit inclusion.
977
978         Metaconfig will now tell users about possible extra file-extension
979         lookups they have requested via 'packinit'.
980
981 . Files changed:
982
983         * jmake/files/Jmake.rules: New macros ShellScriptTargetExt and
984         SimpleShellScriptTargetExt.  Directory installation is now made via
985         INSTALLDIR (Configure).
986
987         * jmake/files/Jmake.tmpl: Now pre-computes INSTALL and INSTALLDIR
988         variables.
989
990         * mcon/U/Config_sh.U: Moved path stripping from d_portable.U to end
991         of Configure.
992
993         * mcon/U/Cppsym.U: New cc vs. cpp symbol checking suggested by JHI. 
994         Added more cpp symbols (JHI).
995
996         * mcon/U/Getfile.U: Added support for escaping answers to skip
997         various checks.  Modified message issued after file expansion.
998
999         * mcon/U/Instruct.U: Now documents the & escape to turn -d on at the
1000         read prompt.
1001
1002         * mcon/U/Loc.U: Protected "sh -c" within backquotes for Linux and
1003         SGI.  Added path lookup for the 'comm' program.
1004
1005         * mcon/U/Myread.U: Added & escape allowing user to turn on -d from
1006         the prompt.
1007
1008         * mcon/U/Oldconfig.U: Added quotes around the INITPROG variable
1009         (ADO).  Allows variable overriding after config file loading.
1010
1011         * mcon/U/Options.U: New -O option allowing -D and -U to override
1012         config.sh setttings.  File optdef.sh is no longer removed after
1013         sourcing.
1014
1015         * mcon/U/cc.U: Changed gcc checking message to a more explicit one
1016         (WED).
1017
1018         * mcon/U/d_attribut.U: Fixed typo in the d_attribut variable (ADO).
1019
1020         * mcon/U/d_keepsig.U: Protected "sh -c" within backquotes for Linux
1021         and SGI.
1022
1023         * mcon/U/install.U, mcon/U/d_poll.U: Created.
1024
1025         * mcon/U/d_portable.U: Executable path stripping moved to the end in
1026         Config_sh.U.
1027
1028         * mcon/U/d_safebcpy.U: Added 'ldflags' to the test compile line (ADO).
1029
1030         * mcon/U/defeditor.U: Can now use the 'vi' variable since path
1031         stripping is deferred.
1032
1033         * mcon/U/libpth.U: Call ./mips instead of just mips (WED).
1034
1035         * mcon/U/perlpath.U, mcon/U/mansrc.U, mcon/U/mailer.U: Can now use
1036         Loc variables since path stripping is deferred.
1037
1038         * mcon/U/orderlib.U: Allows hint files to specify their own value for
1039         'ranlib'.
1040
1041         * mcon/U/sbrksmart.U: Now sets sbrksmart to undef explicitely when
1042         lacking sbrk().  Forgot a cast when using return value from sbrk().
1043
1044         * mcon/U/spitshell.U: Use 'test -f' instead of 'test -r' for
1045         exec-only cat progs (WED).  Protected "sh -c" within backquotes for
1046         Linux and SGI.
1047
1048         * mcon/U/voidflags.U: Cosmetic change to avoid spurious blank lines
1049         when using -s.
1050
1051         * mcon/man/mconfig.SH: Documents new -O option and new Getfile escape
1052         supports.  Documents the & escape in Myread and the new cc symbol
1053         lookup.
1054
1055         * mcon/pl/configure.pl: Now allows @if statements for the
1056         add.Config_sh unit inclusion.
1057
1058         * mcon/pl/wanted.pl: Added % in front of hash table names for perl5's
1059         each() (ADO).  Tell users about possible extra file-extension lookups.
1060
1061 Mon Oct 31 10:57:05 MET 1994   Raphael Manfredi <ram@acri.fr>
1062
1063 . Description:
1064
1065         It used to be that option processing was done before Configure
1066         initializations were performed, because Options was listed in
1067         the dependency line of Init.U. However, this was wrong because
1068         -D and -U command line switches were then unable to override any
1069         default setting done in Myinit.U, which is counter-intuitive at
1070         best. Thanks to Andras Salamon <andras@is.co.za> for pointing
1071         this out.
1072
1073         I therefore created a new unit Begin.U, which clearly marks
1074         the beginning of the configuration questions (so End.U now
1075         has its pending unit). On that unit, we list Myinit followed
1076         by Options on the ?MAKE: line, so that option processing
1077         comes after user-defined or default initializations but before
1078         the real interactive start (which is mandatory for a correct
1079         Configure -h processing, for instance).
1080
1081         A few units were making use of variables set up in Options.U
1082         and made visible. However, those did not need to list Options
1083         in their ?MAKE: line due to the way metalint performs its visible
1084         symbol lookup (by following dependencies recursively and implicitely
1085         placing Init at the top). Since Options is no longer a dependency
1086         of Init, Myread.U and Csym.U now explicitely mention Options in
1087         their dependency line.
1088
1089         Also, the leading comment in Chk_MANI.U now explains how this
1090         unit gets included into the Configure script. There used to be
1091         an explaination there, but it was no longer accurate.
1092
1093         One new unit file (Begin.U).
1094
1095 . Files changed:
1096
1097         * mcon/U/Begin.U: Created.
1098
1099         * mcon/U/Chk_MANI.U: Now lists Begin instead of Myinit in its
1100         dependencies.  Leading comment now explains how this unit is included.
1101
1102         * mcon/U/Myread.U, mcon/U/Csym.U: Added Options to the MAKE line
1103         since it's no longer in Init.U.
1104
1105         * mcon/U/Init.U: Removed Options from MAKE to prevent Init overrides.
1106         Option processing now done after Myinit thanks to new Begin.U.  Moved
1107         "Beginning of configuration questions" to Begin.U.  Moved signal
1108         trapping instruction to Begin.U as well.
1109
1110         * mcon/U/Myinit.U: Leading comment states this unit comes before
1111         option processing.
1112
1113 Sat Oct 29 19:05:42 MET 1994   Raphael Manfredi <ram@acri.fr>
1114
1115 . Description:
1116
1117         I forgot to quote $@ to protect against "evil" characters.
1118         Unfortunately, this causes Configure to output an error message
1119         when calling the created 'tr' script (which it does all the time
1120         given the leading '.' in PATH) with arguments like '\012'. The
1121         final
1122                 exec tr $@
1123         line causes a 'tr' failure because it does not understand the
1124         arguments it is given. Saying
1125                 exec tr "$@"
1126         fixes the problem since then the original quotes are "propagated"
1127         to the new call.
1128
1129         The amazing thing is that I have tested this, but apparently the
1130         simple Configure script I generated for that purpose did not make
1131         use of the "tr '/012' ' '" construct. Hence I missed it. Sorry.
1132
1133 . Files changed:
1134
1135         * mcon/U/Tr.U: Forgot to quote $@ to protect against "evil"
1136         characters.
1137
1138 Sat Oct 29 18:16:03 MET 1994   Raphael Manfredi <ram@acri.fr>
1139
1140 . Description:
1141
1142         Regenerated Configure with metaconfig 3.0 PL35 to benefit from
1143         the lattest enhancements. Unfortunately, I have not pre-installed
1144         the patch relased before regenerating, so Configure is still behind
1145         the current patchlevel. I hope you don't mind ;-)
1146
1147         The good news is: I've made sure all the scripts compile fine
1148         with perl 5.0. This involved fixing an open precedence problem
1149         in manilist, and some escapes in strings and regexps to make
1150         sure all dangerous '@' are protected since they now interpolate.
1151         I also fixed perload since perl5's packages are now introduced
1152         by '::' instead of the single quote.
1153
1154         The bad news is: it's not guaranteed to work. At least with the
1155         pre-release version of perl 5.0 I have, metaconfig (the dataloaded
1156         version) fails, and I've not been able to narrow down the problem
1157         to a small test-case so I don't know what's happening. The non
1158         dataloaded version appears to be running fine, but if you get
1159         strange problems, make sure you use perl 4.0 PL36 before sending
1160         me a bug report. :-)
1161
1162         Added support for user-defined C and shell file extensions. This
1163         was needed in perl5 for instance (.xs files are containing C
1164         symbols and metaconfig should really look at those). Well, you
1165         may now add as many extensions (C or SH) from within packinit.
1166
1167         Packinit also asks whether a ChangeLog file is to be managed.
1168         This is a new feature relying on the new patlog script. If you
1169         don't ask for a ChangeLog file, you should get the old behaviour.
1170         If you do, well you will have to read the documentation to know
1171         what changes it involves (mainly at the user-interface level when
1172         running 'patmake', which now calls 'patlog'). Don't forget to
1173         add ChangeLog to your MANIFEST.new before running patmake anyway.
1174
1175         Optionally, you can include the RCS logs within your ChangeLog
1176         file, and they will follow the description (what you are reading
1177         now) which normally appears within the Description: section of
1178         the patch itself.
1179
1180         Packinit now creates new variables cext, shext, changelog and
1181         changercs in the .package file to handle user-defined file extensions
1182         and the ChangeLog file.
1183
1184         Added new RemoteDependency rule for jmake.
1185
1186         Don't use rootid as a variable, it is known by metaconfig and
1187         results in having Configure compute the root uid when it's not
1188         needed. Renamed it to rootmsgid to avoid this kind of problem.
1189
1190         Added ?F: lines in units creating files for metalint checking.
1191         This incurred many small changes in units where things like
1192                 if usg; then
1193         were written when in fact meaning:
1194                 if ./usg; then
1195         Well, I know Configure sets '.' at the beginning of the PATH, but
1196         since metalint now systematically warns about such abuse (provided
1197         files are declared in the ?F: lines in the special unit defining
1198         them), it was the only way to shut up metalint.
1199
1200         Metalint also now checks for variables used as ${var}.
1201
1202         Symbols ardent and titan are now looked at for cpp definition. (ADO)
1203
1204         Make sure ENV is unset before calling /bin/ksh. Not doing this
1205         is known to produce strange results. For instance, if one has
1206         a ~/.kshrc aliasing 'cd' to something else. Configure might
1207         get confused and do the wrong thing. Not setting ENV ensures
1208         no such startup file will be used. Of course, this does not
1209         work if you say 'ksh Configure', but then you are supposed to
1210         know what you are doing.
1211
1212         The loc script can now perform safe wildcard searching. (ADO)
1213
1214         The Oldconfig.U unit was merged with the version used for perl5's
1215         Configure (ADO). Be careful if you use hints, the behaviour you
1216         will now get might not be fully backward compatible. Since the
1217         Author currently does not have any such package, he did not test
1218         that specific feature. You have been warned. (But everything
1219         should be fine).
1220
1221         Configure now protects variable definitions with spaces in them,
1222         so that people saying:
1223                 Configure -D cc='cc -posix'
1224         will get what they expect.
1225
1226         Added checks for secure setuid scripts. (Tye McQueen)
1227
1228         Spurious single quote in the lex.U unit could cause Configure
1229         to crash, reported by Xavier Le Vourch <xavierl@eiffel.com>.
1230         Indeed, the unit was saying something like
1231                 : .... and they'll ...
1232         so the shell happily began to eat everything up to the next
1233         single quote it could found, resulting in weird behaviours...
1234
1235         Now looks for shared libraries before anything else and
1236         removed the old broken thislib/thatlib processing in libs.U.
1237         This has been tested in the perl5 distribution and is believed
1238         to be better than the previous scheme. (ADO)
1239
1240         New Tr unit to convert to/from lowercase. Whenever you need
1241         to say:
1242                 tr '[A-Z]' '[a-z]'
1243         or the other way round, add Tr in your dependency line and
1244         say something like
1245                 ./tr '[A-Z]' '[a-z]'
1246         i.e. you need to call a local tr script that will trap the
1247         arguments and possibly call
1248                 tr '[:upper:]' '[:lower:]'
1249         if your machine supports this. Otherwise, with a non-ascii
1250         character set, you will get strange results (HP is know
1251         to exercise this, thanks to Andreas Sahlbach
1252         <a.sahlbach@tu-bs.de> for letting me know about it).
1253
1254         ranlib checking is more accurate now (ADO)
1255
1256         Newer RCS programs chop trailing spaces in log messages, and
1257         that could cause 'patcil -s' to fail stripping the RSC logs.
1258
1259         separated V/E and v/e commands in the patcil built-in prompter.
1260         The new 'v' command now edits the file being patcil'ed.
1261         added hook for 'V' command (not implemented yet)
1262         The 'e' and 'E' commands have retained their semantics.
1263
1264         19 new files, mostly metaconfig units.
1265
1266 . Files changed:
1267
1268         * bin/manilist.SH: Fixed open precedence problem for perl5.
1269
1270         * bin/packinit.SH: Added support for user-defined C and shell file
1271         extensions.  Now asks whether a ChangeLog file is to be managed.
1272
1273         * bin/packinit.man: Added new variables cext, shext, changelog and
1274         changercs.
1275
1276         * bin/perload: Added minimal support for perl5 dataloading.
1277
1278         * dist.man: Mentions new patlog script and ChangeLog file.
1279
1280         * jmake/files/Jmake.rules: Added RemoteDependency rule.
1281
1282         * jmake/jmake.SH, pat/patnotify.SH, mcon/pl/depend.pl: Added various
1283         escapes in strings for perl5 support.
1284
1285         * kit/kitpost.SH: Don't use rootid as a variable, it is known by
1286         metaconfig.
1287
1288         * mcon/U/bitpbyte.U, mcon/U/d_NOFILE.U, mcon/U/mkdep.U,
1289         mcon/U/d_PORTAR.U, mcon/U/alignbytes.U, mcon/U/byteorder.U,
1290         mcon/U/Finish.U, mcon/U/nlist_pfx.U, mcon/U/charorder.U,
1291         mcon/U/d_getpagsz.U, mcon/U/ptrsize.U, mcon/U/intsize.U,
1292         mcon/U/Getfile.U, mcon/U/Extract.U, mcon/U/Myread.U, mcon/U/Whoa.U,
1293         mcon/U/longsize.U, mcon/U/floatsize.U, mcon/U/Config_sh.U,
1294         mcon/U/cppstdin.U, mcon/U/doublesize.U, mcon/U/Findhdr.U,
1295         mcon/U/i_varhdr.U, mcon/U/charsize.U: Added ?F: line for metalint
1296         file checking.
1297
1298         * mcon/U/Cppsym.U: Added ?F: line for metalint file checking.  New
1299         symbols ardent and titan (ADO).
1300
1301         * mcon/U/Filexp.U: Added ?F: line for metalint file checking.  Added
1302         HOME to the ?T: line since metalint now checks ${HOME}.
1303
1304         * mcon/U/Guess.U: Added ?F: line for metalint file checking.  Call
1305         ./xenix explicitely instead of relying on PATH.
1306
1307         * mcon/U/Head.U: Make sure ENV is unset before calling /bin/ksh.
1308
1309         * mcon/U/Setvar.U, mcon/U/Inhdr.U, mcon/U/Inlibc.U: Call ./whoa
1310         explicitely instead of relying on PATH.
1311
1312         * mcon/U/Loc.U: Added ?F: line for metalint file checking.  Be
1313         careful and guard against wildcard searching (ADO).
1314
1315         * mcon/U/Oldconfig.U: Added ?F: line for metalint file checking. 
1316         Merged with the version used for perl5's Configure (ADO).
1317
1318         * mcon/U/Options.U: Ensure option definition file is removed before
1319         appending.  Protect variable definitions with spaces in them.
1320
1321         * pat/patlog.SH, mcon/U/Tr.U: Created.
1322
1323         * mcon/U/Typedef.U: Don't clobber visible 'val' variable, use
1324         'varval' instead.
1325
1326         * mcon/U/Warn_v7EXT.U, mcon/U/Warn_v7ND.U: Call ./v7 explicitely
1327         instead of relying on PATH.
1328
1329         * mcon/U/abortsig.U, mcon/U/d_bsdjmp.U: Call ./usg explicitely
1330         instead of relying on PATH.
1331
1332         * mcon/U/d_attribut.U, mcon/U/d_gconvert.U, mcon/U/d_drem.U,
1333         mcon/U/d_locconv.U, mcon/U/d_mkfifo.U, mcon/U/d_fmod.U,
1334         mcon/U/d_linuxstd.U, mcon/U/d_pathconf.U, mcon/U/archlib.U,
1335         mcon/U/d_dlerror.U, mcon/U/d_sysconf.U, mcon/U/i_dld.U,
1336         mcon/U/modetype.U: Created by ADO.
1337
1338         * mcon/U/cc.U: Detect gcc even when not called as 'gcc' (ADO). 
1339         Simplified gcc version checking (ADO).  Added ?F: line for metalint
1340         file checking.
1341
1342         * mcon/U/ccflags.U: Gcc versionning no longer relies on the C
1343         compiler's name.  Simplified check for gcc version checking (ADO).
1344
1345         * mcon/U/cpp_stuff.U: Now uses cppstdin instead of plain cpp for
1346         consistency (ADO).  Remove temporary files when done.
1347
1348         * mcon/U/d_casti32.U: Declare signal handler correctly (ADO).
1349
1350         * mcon/U/d_castneg.U: Don't forget to tell user about compilation
1351         failures (ADO).  Declare signal handler correctly using 'signal_t'
1352         (ADO).
1353
1354         * mcon/U/d_closedir.U, mcon/U/d_safemcpy.U, mcon/U/d_isascii.U: Added
1355         'ldflags' to the test compile line (ADO).
1356
1357         * mcon/U/d_dosuid.U: Added checks for secure setuid scripts (Tye
1358         McQueen).
1359
1360         * mcon/U/d_keepsig.U, mcon/U/d_eofpipe.U, mcon/U/d_normsig.U,
1361         mcon/U/d_tzmin.U: Call ./bsd explicitely instead of relying on PATH.
1362
1363         * mcon/U/d_gethname.U: Call ./xenix explicitely instead of relying on
1364         PATH.
1365
1366         * mcon/U/d_newsadm.U: Call ./eunice explicitely instead of relying on
1367         PATH.
1368
1369         * mcon/U/d_setpgrp.U: Added 'ldflags' to the test compile line (ADO).
1370         Call ./usg explicitely instead of relying on PATH.
1371
1372         * mcon/U/registers.U, mcon/U/shm_for.U, mcon/U/d_speedopt.U: Call
1373         ./Cppsym explicitely instead of relying on PATH.
1374
1375         * mcon/U/d_time.U: Now uses new Typedef unit to compute type
1376         information (ADO).
1377
1378         * mcon/U/groupstype.U: No longer uses Setvar to set 'groupstype'
1379         (ADO).  Typo fix in the word 'argument' (ADO).
1380
1381         * mcon/U/i_dirent.U: Failed scanning for 'd_namlen' with missing
1382         <dirent.h> (ADO).
1383
1384         * mcon/U/i_neterrno.U: Forgot to initialize 'val' to an empty value
1385         (ADO).
1386
1387         * mcon/U/i_termio.U: Call ./usg and ./Cppsym explicitely instead of
1388         relying on PATH.
1389
1390         * mcon/U/lex.U: Spurious single quote could cause Configure to crash.
1391         (reported by Xavier Le Vourch <xavierl@eiffel.com>.).
1392
1393         * mcon/U/libc.U: Now looks for shared libraries before anything else
1394         (ADO).  Added new nm output format (ADO).
1395
1396         * mcon/U/libs.U: Removed old broken thislib/thatlib processing (ADO).
1397
1398         * mcon/U/mailfile.U: The Loc unit was missing from the dependency
1399         line.
1400
1401         * mcon/U/myhostname.U: Call ./xenix explicitely instead of relying on
1402         PATH.  Now uses new Tr unit to convert to/from lowercase.
1403
1404         * mcon/U/nametype.U: Call ./usg and ./bsd explicitely instead of
1405         relying on PATH.
1406
1407         * mcon/U/orderlib.U: Now performs a real small compile for accurate
1408         checks (ADO).
1409
1410         * mcon/U/package.U: Beware of non-ascii character sets when
1411         translating case.
1412
1413         * mcon/U/pager.U: Replaced Myread by Getfile in the dependency line.
1414
1415         * mcon/U/prefshell.U: Added SHELL temporary since metalint now sees
1416         ${SHELL}.
1417
1418         * mcon/U/so.U: Now tells user how he can suppress shared lib lookup
1419         (ADO).  Removed echo at the top, since it's now in the here-doc (ADO).
1420
1421         * mcon/U/ssizetype.U: Added ?F: line for metalint file checking. 
1422         Added 'ldflags' to the test compile line (ADO).
1423
1424         * mcon/man/mconfig.SH: Added nroff protection for lines beginning
1425         with '.'.  Documents new ?F: line for file declarations.  Added
1426         example showing how ./loc can be used.
1427
1428         * mcon/man/mlint.SH: Documents new ?F: lines and the related metalint
1429         warnings.  Removed statement in BUGS since all warnings may now be
1430         shut.
1431
1432         * mcon/man/mxref.SH: The leading .TH was referring to metaconfig.
1433
1434         * mcon/pl/common.pl: Metaconfig and metaxref ignore ?F: lines from
1435         now on.
1436
1437         * mcon/pl/files.pl: Added user-defined file extension support for
1438         lookups.
1439
1440         * mcon/pl/lint.pl: Now extensively checks created files thanks to new
1441         ?F: lines.
1442
1443         * mcon/pl/locate.pl: Misspelled a 'closedir' as a 'close' statement.
1444
1445         * pat/pat.SH: Now unlinks all the files created by patlog in bugs.
1446
1447         * pat/pat.man: Documents new patlog script and the files it uses. 
1448         The RCS layer section has been extended slightly.
1449
1450         * pat/patcil.SH: Now honors the VISUAL and EDITOR environment
1451         variables.  Newer RCS programs chop trailing spaces in log messages. 
1452         Separated V/E and v/e commands.  New 'v' command to edit the file
1453         being patcil'ed.  Added hook for 'V' command (not implemented yet).
1454
1455         * pat/patmake.SH: A lot of setup is now performed by patlog.  Added
1456         various escapes in strings for perl5 support.
1457