home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sources.misc
- From: Raphael Manfredi <ram@acri.fr>
- Subject: v39i082: dist-3.0 - Configure script generator and related tools, Patch09
- Message-ID: <1993Sep9.133734.24058@sparky.sterling.com>
- X-Md4-Signature: 394f5a0fc6fe439df19f43f1ec966cef
- Sender: kent@sparky.sterling.com (Kent Landfield)
- Organization: Advanced Computer Research Institute, Lyon, France
- Date: Thu, 9 Sep 1993 13:37:34 GMT
- Approved: kent@sparky.sterling.com
-
- Submitted-by: Raphael Manfredi <ram@acri.fr>
- Posting-number: Volume 39, Issue 82
- Archive-name: dist-3.0/patch09
- Environment: UNIX, Perl, RCS
- Patch-To: dist-3.0: Volume 39, Issue 5-32
-
- [The latest patch for dist version 3.0 is #9.]
-
- System: dist version 3.0
- Patch #: 9
- Priority: LOW
- Subject: one of the known bugs has been fixed
- Subject: mention low traffic on mailing list
- Subject: added two more wishes for metaconfig
- Subject: volatile definition was swapped over with undef
- Subject: lots of typo fixes and abusive variable substitution problems
- Subject: now skips the 'users' file when computing newest file list
- Date: Thu Sep 09 13:51:19 MET DST 1993
- From: Raphael Manfredi <ram@acri.fr>
-
- Description:
- One of the known bugs has been fixed, so the Known_bugs file has
- been updated accordingly.
-
- The README file now mentions low traffic on the dist-users mailing
- list, in case new subscribers wonder why they aren't getting any
- mail messages from the list from time to time...
-
- Added two more wishes for metaconfig in the wishlist. I'd like to
- find the time to implement them soon, but I've been having little
- control over my free time lately... (sigh)
-
- Volatile definition was swapped over with undef, i.e. it would be
- undef when it needed to be defined and vice-versa...
-
- Lots of typo fixes and abusive variable substitution problems in
- the metaconfig manual page.
-
- Now skips the 'users' file when computing newest file list. That
- file is created and maintained by the mailagent when procesing
- the @SH package requests (mailed out automatically by Configure).
-
-
- Fix: From rn, say "| patch -p -N -d DIR", where DIR is your dist source
- directory. Outside of rn, say "cd DIR; patch -p -N <thisarticle".
- If you don't have the patch program, apply the following by hand,
- or get patch (version 2.0, latest patchlevel).
-
- After patching:
- Configure -ders
- make
- make install
- make install.man
-
- If patch indicates that patchlevel is the wrong version, you may need
- to apply one or more previous patches, or the patch may already
- have been applied. See the patchlevel.h file to find out what has or
- has not been applied. In any event, don't continue with the patch.
-
- If you are missing previous patches they can be obtained from me:
-
- Raphael Manfredi <ram@acri.fr>
-
- If you send a mail message of the following form it will greatly speed
- processing:
-
- Subject: Command
- @SH mailpatch PATH dist 3.0 LIST
- ^ note the c
-
- where PATH is a return path FROM ME TO YOU either in Internet notation,
- or in bang notation from some well-known host, and LIST is the number
- of one or more patches you need, separated by spaces, commas, and/or
- hyphens. Saying 35- says everything from 35 to the end.
-
- To get some more detailed instructions, send me the following mail:
-
- Subject: Command
- @SH mailhelp PATH
-
-
- Index: patchlevel.h
- Prereq: 8
- 4c4
- < #define PATCHLEVEL 8
- ---
- > #define PATCHLEVEL 9
-
- Index: mcon/man/mconfig.SH
- Prereq: 3.0.1.3
- *** mcon/man/mconfig.SH.old Thu Sep 9 13:51:16 1993
- --- mcon/man/mconfig.SH Thu Sep 9 13:51:17 1993
- ***************
- *** 20,26 ****
- .TH METACONFIG $manext "Version $VERSION PL$PATCHLEVEL"
- ''' @(#) Manual page for metaconfig
- '''
- ! ''' $Id: mconfig.SH,v 3.0.1.3 1993/08/30 08:53:51 ram Exp $
- '''
- ''' Copyright (c) 1991-1993, Raphael Manfredi
- '''
- --- 20,26 ----
- .TH METACONFIG $manext "Version $VERSION PL$PATCHLEVEL"
- ''' @(#) Manual page for metaconfig
- '''
- ! ''' $Id: mconfig.SH,v 3.0.1.4 1993/09/09 11:50:35 ram Exp $
- '''
- ''' Copyright (c) 1991-1993, Raphael Manfredi
- '''
- ***************
- *** 31,36 ****
- --- 31,39 ----
- ''' of the source tree for dist 3.0.
- '''
- ''' $Log: mconfig.SH,v $
- + ''' 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
- '''
- ***************
- *** 312,318 ****
- and default evaluation. The general form is
- .Ex
- case "$grimble" in
- ! '') dflt=452;;
- *) dflt="$grimble";;
- esac
- rp='How many grimbles do you have?'
- --- 315,321 ----
- and default evaluation. The general form is
- .Ex
- case "$grimble" in
- ! \&'') dflt=452;;
- *) dflt="$grimble";;
- esac
- rp='How many grimbles do you have?'
- ***************
- *** 566,572 ****
- \fIintsize.SH\fR file that looks like this:
- .Ex
- case \$CONFIG in
- ! '')
- if test -f config.sh; then TOP=.;
- elif test -f ../config.sh; then TOP=..;
- elif test -f ../../config.sh; then TOP=../..;
- --- 569,575 ----
- \fIintsize.SH\fR file that looks like this:
- .Ex
- case \$CONFIG in
- ! \&'')
- if test -f config.sh; then TOP=.;
- elif test -f ../config.sh; then TOP=..;
- elif test -f ../../config.sh; then TOP=../..;
- ***************
- *** 653,659 ****
- and removing the now useless comments added by \fImakeSH\fR, we get:
- .Ex
- case \$CONFIG in
- ! '')
- if test -f config.sh; then TOP=.;
- elif test -f ../config.sh; then TOP=..;
- elif test -f ../../config.sh; then TOP=../..;
- --- 656,662 ----
- and removing the now useless comments added by \fImakeSH\fR, we get:
- .Ex
- case \$CONFIG in
- ! \&'')
- if test -f config.sh; then TOP=.;
- elif test -f ../config.sh; then TOP=..;
- elif test -f ../../config.sh; then TOP=../..;
- ***************
- *** 703,709 ****
- really happens:
- .Ex
- case \$CONFIG in
- ! '')
- if test -f config.sh; then TOP=.;
- elif test -f ../config.sh; then TOP=..;
- elif test -f ../../config.sh; then TOP=../..;
- --- 706,712 ----
- really happens:
- .Ex
- case \$CONFIG in
- ! \&'')
- if test -f config.sh; then TOP=.;
- elif test -f ../config.sh; then TOP=..;
- elif test -f ../../config.sh; then TOP=../..;
- ***************
- *** 923,930 ****
- .PP
- Special units sometimes reserve themselves some pre-defined variable and
- return "results" in other well-known variables. For instance, the \fImyread\fR
- ! script produced by Myread.U expects the prompt in \fI$rp\fR, the default
- ! 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.
- --- 926,933 ----
- .PP
- Special units sometimes reserve themselves some pre-defined variable and
- return "results" in other well-known variables. For instance, the \fImyread\fR
- ! script produced by Myread.U expects the prompt in \fI\$rp\fR, the default
- ! 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.
- ***************
- *** 1065,1076 ****
- Ties up the destiny of the shell symbols with that of the C symbols: if any
- of the C symbols listed is wanted, then all the shell symbols are marked
- as wanted. Useful to force inclusion of a unit (shell symbol list set to
- ! '%<') when the presence of some C symbol is detected. The shell symbol list
- may be left empty, to benefit from the side effect of C symbol location
- within the builtin pre-processor (symbol being \fIdefined\fR for that
- pre-processor if located in the source). To look for patterns with a space
- in them, you need to quote the C symbols within simple quotes, as in
- ! 'struct timezone'.
- .TP
- ?V:\fIread-only symbols\fR:\fIread-write symbols\fR
- This is a \fImetalint\fR hint and should be used only in special units
- --- 1068,1079 ----
- Ties up the destiny of the shell symbols with that of the C symbols: if any
- of the C symbols listed is wanted, then all the shell symbols are marked
- as wanted. Useful to force inclusion of a unit (shell symbol list set to
- ! \&'%<') when the presence of some C symbol is detected. The shell symbol list
- may be left empty, to benefit from the side effect of C symbol location
- within the builtin pre-processor (symbol being \fIdefined\fR for that
- pre-processor if located in the source). To look for patterns with a space
- in them, you need to quote the C symbols within simple quotes, as in
- ! \&'struct timezone'.
- .TP
- ?V:\fIread-only symbols\fR:\fIread-write symbols\fR
- This is a \fImetalint\fR hint and should be used only in special units
- ***************
- *** 1120,1126 ****
- Here are the relevant parts of the d_const.U unit:
- .Ex
- ?MAKE:d_const: cat cc ccflags Setvar
- ! ?MAKE: -pick add $@ %<
- ?S:d_const:
- ?S: This variable conditionally defines the HASCONST symbol, which
- ?S: indicates to the C program that this C compiler knows about the
- --- 1123,1129 ----
- Here are the relevant parts of the d_const.U unit:
- .Ex
- ?MAKE:d_const: cat cc ccflags Setvar
- ! ?MAKE: -pick add \$@ %<
- ?S:d_const:
- ?S: This variable conditionally defines the HASCONST symbol, which
- ?S: indicates to the C program that this C compiler knows about the
- ***************
- *** 1169,1175 ****
- ?H: line defining \fIHASCONST\fR is implicitely guarded by '?HASCONST'.
- Therefore, we must add the explicit '?%<' constraint to tell \fImetaconfig\fR
- that those lines should be included in \fIconfig_h.SH\fR whenever the
- ! '%<' symbol gets wanted (%< refers to the unit's name, here \fId_const\fR).
- .PP
- That's almost perfect, because the ?W: line will want \fId_const\fR whenever
- \fIconst\fR is used, then the ?H: lines will get included in the
- --- 1172,1178 ----
- ?H: line defining \fIHASCONST\fR is implicitely guarded by '?HASCONST'.
- Therefore, we must add the explicit '?%<' constraint to tell \fImetaconfig\fR
- that those lines should be included in \fIconfig_h.SH\fR whenever the
- ! \&'%<' symbol gets wanted (%< refers to the unit's name, here \fId_const\fR).
- .PP
- That's almost perfect, because the ?W: line will want \fId_const\fR whenever
- \fIconst\fR is used, then the ?H: lines will get included in the
- ***************
- *** 1337,1355 ****
- To use this unit, \fI\$rp\fR and \fI\$dflt\fR must hold the question and the
- default answer, which will be passed as-is to the \fImyread\fR script
- (see forthcoming \fIMyread.U\fR). The \fI\$fn\fR variable controls the
- ! operation and the result is returned into \fI$ans\fR.
- .sp
- To locate a file or directory, put 'f' or 'd' in \fI$fn\fR. If a '~' appears,
- then ~name substitution is allowed. If a '/' appears, only absolute pathnames
- are accepted and ~name subsitutions are always expanded before returning.
- If '+' is specified, existence checks are skipped. If 'n'
- ! appears within \fI$fn\fR, then the user is allowed to answer 'none'.
- .sp
- Usually, unless you asked for portability, ~name substitution occurs when
- requested. However, there are some times you wish to bypass portability and
- force the substitution. You may use the 'e' letter (expand) to do that.
- .sp
- ! If the special 'l' (locate) type is used, then the \fI$fn\fR variable must
- end with a ':', followed by a file basename. If the answer is a directory,
- the file basename will be appended before testing for file existence. This
- is useful in locate-style questions like this:
- --- 1340,1358 ----
- To use this unit, \fI\$rp\fR and \fI\$dflt\fR must hold the question and the
- default answer, which will be passed as-is to the \fImyread\fR script
- (see forthcoming \fIMyread.U\fR). The \fI\$fn\fR variable controls the
- ! operation and the result is returned into \fI\$ans\fR.
- .sp
- To locate a file or directory, put 'f' or 'd' in \fI$fn\fR. If a '~' appears,
- then ~name substitution is allowed. If a '/' appears, only absolute pathnames
- are accepted and ~name subsitutions are always expanded before returning.
- If '+' is specified, existence checks are skipped. If 'n'
- ! appears within \fI\$fn\fR, then the user is allowed to answer 'none'.
- .sp
- Usually, unless you asked for portability, ~name substitution occurs when
- requested. However, there are some times you wish to bypass portability and
- force the substitution. You may use the 'e' letter (expand) to do that.
- .sp
- ! If the special 'l' (locate) type is used, then the \fI\$fn\fR variable must
- end with a ':', followed by a file basename. If the answer is a directory,
- the file basename will be appended before testing for file existence. This
- is useful in locate-style questions like this:
- ***************
- *** 1514,1520 ****
- and \fIConfigure\fR will contain hint-dependent code only if there is
- a \fIhints\fR directory in the package's top level directory. Note that
- tests are ran from within the '\fI.MT\fR' directory, hence the needed
- ! '../' in the test.
- .PP
- The pre-processor can also be used to avoid putting useless code when
- a symbol is not defined. Units defining more than one symbol can be
- --- 1517,1523 ----
- and \fIConfigure\fR will contain hint-dependent code only if there is
- a \fIhints\fR directory in the package's top level directory. Note that
- tests are ran from within the '\fI.MT\fR' directory, hence the needed
- ! \&'../' in the test.
- .PP
- The pre-processor can also be used to avoid putting useless code when
- a symbol is not defined. Units defining more than one symbol can be
- ***************
- *** 1609,1616 ****
- which will always remap \fIvfork\fR on \fIfork\fR (see \fId_vfork.U). When
- running on SGI systems for the first time, \fIConfigure\fR will detect that
- there is an \fIhints/sgi.sh\fR file, and that we are on an IRIX machine
- ! (the kernel name is /irix), therefore it will propose \fIsgi\fR as a possible
- ! hint. If the user accepts it, and since the \fI\$\&d_vfork\fR value is modified
- via the \fI$\&setvar\fR call, a \fIwhoa!\fR will be emitted to warn that we
- are about to override the value computed by \fIConfigure\fR.
- .PP
- --- 1612,1620 ----
- which will always remap \fIvfork\fR on \fIfork\fR (see \fId_vfork.U). When
- running on SGI systems for the first time, \fIConfigure\fR will detect that
- there is an \fIhints/sgi.sh\fR file, and that we are on an IRIX machine
- ! (the kernel name is often /irix), therefore it will propose \fIsgi\fR as a
- ! possible hint.
- ! If the user accepts it, and since the \fI\$\&d_vfork\fR value is modified
- via the \fI$\&setvar\fR call, a \fIwhoa!\fR will be emitted to warn that we
- are about to override the value computed by \fIConfigure\fR.
- .PP
-
- Index: Wishlist
- *** Wishlist.old Thu Sep 9 13:51:13 1993
- --- Wishlist Thu Sep 9 13:51:13 1993
- ***************
- *** 26,34 ****
- 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 need only to write the generator on top of them]
-
- Make Configure know about cross-compiling.
-
- *** metalint
-
- --- 26,50 ----
- 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.
- +
- + 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
-
-
- Index: mcon/U/d_volatile.U
- Prereq: 3.0
- *** mcon/U/d_volatile.U.old Thu Sep 9 13:51:14 1993
- --- mcon/U/d_volatile.U Thu Sep 9 13:51:14 1993
- ***************
- *** 1,4 ****
- ! ?RCS: $Id: d_volatile.U,v 3.0 1993/08/18 12:07:57 ram Exp $
- ?RCS:
- ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
- ?RCS:
- --- 1,4 ----
- ! ?RCS: $Id: d_volatile.U,v 3.0.1.1 1993/09/09 11:49:51 ram Exp $
- ?RCS:
- ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
- ?RCS:
- ***************
- *** 9,14 ****
- --- 9,17 ----
- ?RCS: of the source tree for dist 3.0.
- ?RCS:
- ?RCS: $Log: d_volatile.U,v $
- + ?RCS: Revision 3.0.1.1 1993/09/09 11:49:51 ram
- + ?RCS: patch9: volatile definition was swapped over with undef
- + ?RCS:
- ?RCS: Revision 3.0 1993/08/18 12:07:57 ram
- ?RCS: Baseline for dist 3.0 netwide release.
- ?RCS:
- ***************
- *** 56,65 ****
- }
- EOCP
- if $cc -c $ccflags try.c >/dev/null 2>&1 ; then
- ! val="$undef"
- echo "Yup, it does."
- else
- ! val="$define"
- echo "Nope, it doesn't."
- fi
- set d_volatile
- --- 59,68 ----
- }
- EOCP
- if $cc -c $ccflags try.c >/dev/null 2>&1 ; then
- ! val="$define"
- echo "Yup, it does."
- else
- ! val="$undef"
- echo "Nope, it doesn't."
- fi
- set d_volatile
-
- Index: pl/newer.pl
- Prereq: 3.0
- *** pl/newer.pl.old Thu Sep 9 13:51:18 1993
- --- pl/newer.pl Thu Sep 9 13:51:18 1993
- ***************
- *** 1,4 ****
- ! ;# $Id: newer.pl,v 3.0 1993/08/18 12:10:56 ram Exp $
- ;#
- ;# Copyright (c) 1991-1993, Raphael Manfredi
- ;#
- --- 1,4 ----
- ! ;# $Id: newer.pl,v 3.0.1.1 1993/09/09 11:51:07 ram Exp $
- ;#
- ;# Copyright (c) 1991-1993, Raphael Manfredi
- ;#
- ***************
- *** 9,14 ****
- --- 9,17 ----
- ;# of the source tree for dist 3.0.
- ;#
- ;# $Log: newer.pl,v $
- + ;# Revision 3.0.1.1 1993/09/09 11:51:07 ram
- + ;# patch9: now skips the 'users' file when computing newest file list
- + ;#
- ;# Revision 3.0 1993/08/18 12:10:56 ram
- ;# Baseline for dist 3.0 netwide release.
- ;#
- ***************
- *** 34,39 ****
- --- 37,43 ----
- next if m|^Wanted$|;
- next if m|^.package$|;
- next if m|^bugs|;
- + next if m|^users$|;
- next if m|^UU/|;
- next if m|^RCS/|;
- next if m|/RCS/|;
-
- Index: Known_bugs
- *** Known_bugs.old Thu Sep 9 13:51:10 1993
- --- Known_bugs Thu Sep 9 13:51:10 1993
- ***************
- *** 12,17 ****
- then the <....> part of the code will always be loaded even if no shell
- script references d_waitpid or C code references WAITPID.
-
- - + When a patch is issued and is split in more than one file, the temporary
- - files left in the bugs/ subdirectory will not be cleaned-up properly the
- - next time a patch is issued.
- --- 12,14 ----
-
- Index: README
- *** README.old Thu Sep 9 13:51:12 1993
- --- README Thu Sep 9 13:51:12 1993
- ***************
- *** 62,67 ****
- --- 62,70 ----
- 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
-
- Index: Credits
- *** Credits.old Thu Sep 9 13:51:09 1993
- --- Credits Thu Sep 9 13:51:09 1993
- ***************
- *** 87,90 ****
- --- 87,91 ----
- Graham Stoney <greyham@research.canon.oz.au>
- Joseph H Buehler <jhpb@sarto.gaithersburg.md.us>
- Keith Walker <kew@timesink.spk.wa.us>
- + Scott Presnell <srp@cgl.ucsf.edu>
-
-
- *** End of Patch 9 ***
-
- exit 0 # Just in case...
-