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