This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Populate metaconfig branch.
[metaconfig.git] / U / README.dist
CommitLineData
959f3c4c
JH
1
2 Perl5 Metaconfig Units
3
4 Copyright (c) 1996-1998, Andy Dougherty
5 All rights reserved.
6
7These units are the ones I used to build Configure and config_h.SH
8in the Perl5 distribution.
9
10The Configure script and config_h.SH file in the Perl distribution are
11generated by a program called metaconfig. To run metaconfig, you will
12need the full dist 3.0 distribution, maintained by Raphael Manfredi.
13As of this writing, the current version is dist3.0, patchlevel 70.
14Dist version dist-3.0@70.tar.gz is available on CPAN (the Comprehensive
15Perl Archive Network) as
16<http://www.perl.com/perl/CPAN/authors/id/RAM/dist-3.0@70.tar.gz>.
17
18Instructions:
19
201. Unpack the full perl5 sources. Execute the following command
21
22 chmod +w Configure config_h.SH Porting/Glossary Porting/config*
23
242. Unpack the archive containing this file in the perl5 source
25 directory. This will create a directory 'U' under the perl5
26 sources. That directory will contain the metaconfig units for perl5.
27 This will also create two files in the perl5 source tree:
28 MANIFEST.new and .package.
29
303. Apply any patches to perl in the perl_patches/ directory.
31 (This may well be empty.)
32
334. Obtain and install dist-3.0pl70.
34
354. Apply any patches to dist under the dist_patches subdirectory.
36
375. From your main perl5 source directory, run packinit to
38 regenerate the .package file. IMPORTANT: Change the name and
39 address of the maintainer to your own name and address. I don't
40 want bug reports intended for you coming to me.
41
426. From your main perl5 source directory, run
43
44 metaconfig -m
45
467. Edit U/mkglossary to point to your dist-3.0pl70 location.
47 (See comments at the top.)
48
498. Run the U/mksample script to update the contents of the Porting/
50 subdirectory.
51
529. Let me know about any changes, corrections, or enhancements.
53
54Things to watch out for:
55
561. The Configure in 5.005 is a hand-patched version of that supplied
57 with perl5.004_74 or so. Most of the patches had to do with
58 supporting MPE/iX and EBCDIC systems. I have re-integrated most
59 of the changes back into metaconfig, but I don't really undertand
60 why MPE/iX needed some of the patches, so I may have missed
61 something important. I did try to flag questionable changes in
62 the individual units.
63
642. Future support of better random number generators should probably
65 start with the randfunc.U unit included here. It's currently
66 broken, but well commented and probably a good place to start.
67
68Descriptions:
69
70The units and other related files have been broken up into the following
71directories:
72
73acl/
74 This is an old patch to begin to detect and use ACL (access
75 control list) file protection schemes.
76
77compline/
78 These are similar to the standard units, but I have modified them
79 to have a more uniform compile command line, usually using the new
80 Compile.U unit. I have submitted these for inclusion into the
81 regular dist distribution. (The ccflags.U unit is actually
82 perl-specific since it mentions -DDEBUGGING and -DPOSIX_SOURCE,
83 but that's the only place it is perl-specific.)
84
85dist_patches/
86 These are patches to dist that must be applied before it is built
87 and installed. I have submitted these for inclusion in the
88 regular dist distribution.
89
90modified/
91 These are modified versions of the standard units. Also included in
92 this directory are new units that are clearly derived from existing
93 units. I have submitted these for inclusion in the regular dist
94 distribution.
95
96perl/
97 These are specific to perl. Some are heavily derived from
98 original dist units, and are marked as such. Others are original.
99
100perl_patches/
101 These are patches to the perl source. This directory
102 should ordinarily be empty, but there may have been drift between
103 the standard version of perl and the one associated with these
104 units.
105
106protos/
107 These are units modified to use the new Hasproto.U or Protochk.U
108 units to check for prototypes. I have submitted these for inclusion
109 into the regular dist distribution.
110
111target/
112 This is the very, very beginning of cross-compiler support.
113 It doesn't work yet, and many standard units will need
114 modification.
115
116typedefs/
117 These are standard units modified to use the modified Typedef.U
118 unit to check for typedefs. (The modified Typdef.U includes a
119 function to avoid unnecessary prompts if the typdef being searched
120 for exists.) I have submitted these for inclusion into the
121 regular dist distribution.
122
123threads/
124 These are specific to threading perl.
125
126Copyright Information:
127
128Unless otherwise indicated, the files contained in this
129distribution are:
130
131 Copyright (c) 1996-1998, Andy Dougherty
132
133The following licensing terms apply to all files contained in
134this distribution:
135
136You may distribute the files contained in this distribution
137under the terms of either
138
139 a) the "Artistic License" which comes with Perl, or
140
141 b) the "Artistic License" which comes with dist, or
142
143 c) the GNU General Public License as published by the Free
144 Software Foundation; either version 1, or (at your option) any
145 later version (see the file "Copying" that comes with the
146 Perl distribution).
147
148Which one to use is your choice.
149
150The units in the "modified" directory have been derived from units
151associated with the metaconfig program of Raphael Manfredi's "dist"
152distribution. These units list Raphael Manfredi as the Copyright holder.
153dist is distributed under a modified version of the Perl Artistic License.
154Clause 7 of this modified license as contained in dist-3.0-pl60 provides:
155
156 7. You may reuse parts of this Package in your own programs, provided
157 that you explicitly state where you got them from, in the source code
158 (and, left to your courtesy, in the documentation), duplicating
159 all the associated copyright notices and disclaimers. Besides
160 your changes, if any, must be clearly marked as such. Parts reused
161 that way will no longer fall under this license if, and only if,
162 the name of your program(s) have no immediate connection with the
163 name of the Package itself or its associated programs. You may then
164 apply whatever restrictions you wish on the reused parts or choose
165 to place them in the Public Domain--this will apply only within the
166 context of your package.
167
168In accordance with this clause, the versions of these units
169contained here are made available under the same terms as the
170rest of the units.
171
172If you have any questions about the use of these units or about
173the differences between these units and the standard versions, please
174feel free to ask.
175
176 Andy Dougherty doughera@lafayette.edu
177 Dept. of Physics
178 Lafayette College
179 Easton, PA 18042-1782