Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

perl 5.000

[editor's note: this commit combines approximate 4 months of furious
releases of Andy Dougherty and Larry Wall - see pod/perlhist.pod for
details.  Andy notes that;
 
Alas neither my "Irwin AccuTrack" nor my DC 600A quarter-inch cartridge 
backup tapes from that era seem to be readable anymore.  I guess 13 years 
exceeds the shelf life for that backup technology :-(.
]
  • Loading branch information...
commit a0d0e21ea6ea90a22318550944fe6cb09ae10cda 1 parent 85e6fe8
Larry Wall authored
Showing with 15,322 additions and 26,153 deletions.
  1. 0  x2p/all → .dotest/last
  2. +0 −16 .package
  3. +0 −8 Bugs/delocalglob
  4. +0 −6 Bugs/localenv
  5. +54 −10 Changes
  6. +3,244 −1,750 Configure
  7. 0  { → Doc}/perl5-notes
  8. +2 −12 EXTERN.h
  9. +0 −13 HelpWanted
  10. +2 −12 INTERN.h
  11. +332 −281 MANIFEST
  12. +0 −493 MANIFEST.new
  13. +0 −311 Makefile
  14. +177 −197 Makefile.SH
  15. +0 −296 NDBM_File.c
  16. +0 −271 ODBM_File.c
  17. +0 −25 Obsolete
  18. +0 −3,605 POSIX.c
  19. +45 −43 README
  20. +0 −146 README.Conf
  21. +0 −151 README.ncr
  22. +0 −34 README.uport
  23. +232 −0 README.vms
  24. +0 −53 README.xenix
  25. +0 −296 SDBM_File.c
  26. +19 −28 Todo
  27. +0 −71 U/Extensions.U
  28. +0 −153 U/Guess.U
  29. +0 −252 U/Loc.U
  30. +0 −369 U/Oldconfig.U
  31. +0 −15 U/README.U
  32. +0 −57 U/alignbytes.U
  33. +0 −111 U/cc.U
  34. +0 −236 U/ccflags.U
  35. +0 −77 U/d_casti32.U
  36. +0 −76 U/d_htonl.U
  37. +0 −50 U/d_isascii.U
  38. +0 −70 U/d_readdir.U
  39. +0 −81 U/d_safebcpy.U
  40. +0 −82 U/d_safemcpy.U
  41. +0 −30 U/d_setlocale.U
  42. +0 −54 U/d_shmat.U
  43. +0 −113 U/d_strerror.U
  44. +0 −56 U/d_vfork.U
  45. +0 −230 U/dlsrc.U
  46. +0 −54 U/gidtype.U
  47. +0 −51 U/groupstype.U
  48. +0 −27 U/i_dlfcn.U
  49. +0 −50 U/i_net_errno.U
  50. +0 −134 U/i_pwd.U
  51. +0 −37 U/i_sdbm.U
  52. +0 −128 U/i_sgtty.U
  53. +0 −117 U/i_termio.U
  54. +0 −64 U/i_termios.U
  55. +0 −34 U/i_vfork.U
  56. +0 −288 U/libc.U
  57. +0 −74 U/libpth.U
  58. +0 −131 U/libs.U
  59. +0 −60 U/libyacc.U
  60. +0 −21 U/lns.U
  61. +0 −10 U/loc_sed.U
  62. +0 −108 U/mallocsrc.U
  63. +0 −115 U/prototype.U
  64. +0 −86 U/sig_name.U
  65. +0 −148 U/voidflags.U
  66. +0 −81 U/yacc.U
  67. +0 −361 Wanted
  68. +22 −1 XSUB.h
  69. +0 −48 atarist/FILES
  70. +0 −186 atarist/README.ST
  71. +0 −120 atarist/RESULTS
  72. +0 −282 atarist/atarist.c
  73. +0 −912 atarist/config.h
  74. +0 −98 atarist/echo.c
  75. +0 −77 atarist/explain
  76. +0 −460 atarist/makefile.sm
  77. +0 −465 atarist/makefile.st
  78. +0 −382 atarist/osbind.pl
  79. +0 −182 atarist/perldb.diff
  80. +0 −45 atarist/perlglob.c
  81. +0 −15 atarist/test/binhandl
  82. +0 −5 atarist/test/ccon
  83. +0 −124 atarist/test/dbm
  84. +0 −4 atarist/test/err
  85. +0 −28 atarist/test/gdbm
  86. +0 −4 atarist/test/glob
  87. +0 −5 atarist/test/osexample.pl
  88. +0 −174 atarist/test/pi.pl
  89. +0 −16 atarist/test/printenv
  90. +0 −3  atarist/test/readme
  91. +0 −12 atarist/test/sig
  92. +0 −12 atarist/test/tbinmode
  93. +0 −9 atarist/usersub.c
  94. +0 −1  atarist/usub/README.ATARI
  95. +0 −704 atarist/usub/acurses.mus
  96. +0 −17 atarist/usub/makefile.st
  97. +0 −30 atarist/usub/usersub.c
  98. +0 −507 atarist/wildmat.c
  99. +3 −28 autosplit
  100. +212 −151 av.c
  101. +16 −22 av.h
  102. +0 −35 bar
  103. +0 −20 bench/fib
  104. +0 −1  byacc
  105. +0 −1,071 c2ph
  106. +1 −1  c2ph.SH
  107. +0 −79 cflags
  108. +47 −24 cflags.SH
  109. +700 −446 config.H
  110. +0 −353 config.sh
  111. +0 −895 config_c++.h
  112. +663 −406 config_h.SH
  113. +104 −11 configpm
  114. +18 −56 cop.h
  115. +0 −1  cppstdin
  116. +9 −10 cv.h
  117. +52 −51 deb.c
  118. +0 −54 dl.c
  119. +0 −56 dl_sunos.c
  120. +124 −220 doio.c
  121. +163 −135 doop.c
  122. +13 −0 dosish.h
  123. +28 −33 dump.c
  124. +0 −9 eg/relink
  125. +0 −9 eg/rename
  126. +0 −138 eg/unuc.pats
  127. +104 −0 eg/wrapsuid
  128. +0 −37 emacs/perldb.pl
  129. +976 −872 embed.h
  130. +1 −1  embed_h.SH
  131. +0 −318 eval
  132. +0 −3,048 eval.c.save
  133. +248 −0 ext/DB_File/DB_File.pm
  134. +945 −0 ext/DB_File/DB_File.xs
  135. +6 −0 ext/DB_File/DB_File_BS
  136. +207 −0 ext/DB_File/Makefile.SH
  137. +39 −0 ext/DB_File/typemap
  138. +257 −0 ext/DynaLoader/DynaLoader.doc
  139. +243 −0 ext/DynaLoader/DynaLoader.pm
  140. +185 −0 ext/DynaLoader/Makefile.SH
  141. +53 −0 ext/DynaLoader/README
  142. +582 −0 ext/DynaLoader/dl_aix.xs
  143. +173 −0 ext/DynaLoader/dl_dld.xs
  144. +201 −0 ext/DynaLoader/dl_dlopen.xs
  145. +101 −0 ext/DynaLoader/dl_hpux.xs
  146. +213 −0 ext/DynaLoader/dl_next.xs
  147. +19 −0 ext/DynaLoader/dl_none.xs
  148. +324 −0 ext/DynaLoader/dl_vms.xs
  149. +85 −0 ext/DynaLoader/dlutils.c
  150. +51 −0 ext/Fcntl/Fcntl.pm
  151. +181 −0 ext/Fcntl/Fcntl.xs
  152. +4 −0 ext/Fcntl/MANIFEST
  153. +207 −0 ext/Fcntl/Makefile.SH
  154. +47 −0 ext/GDBM_File/GDBM_File.pm
  155. +218 −0 ext/GDBM_File/GDBM_File.xs
  156. +213 −0 ext/GDBM_File/Makefile.SH
  157. 0  ext/{dbm → GDBM_File}/typemap
  158. +213 −0 ext/NDBM_File/Makefile.SH
  159. +11 −0 ext/NDBM_File/NDBM_File.pm
  160. +70 −0 ext/NDBM_File/NDBM_File.xs
  161. +25 −0 ext/NDBM_File/typemap
  162. +213 −0 ext/ODBM_File/Makefile.SH
  163. +11 −0 ext/ODBM_File/ODBM_File.pm
  164. +18 −11 ext/{dbm → ODBM_File}/ODBM_File.xs
  165. +25 −0 ext/ODBM_File/typemap
  166. +207 −0 ext/POSIX/Makefile.SH
  167. +1,023 −0 ext/POSIX/POSIX.pm
  168. +634 −56 ext/{posix → POSIX}/POSIX.xs
  169. +13 −0 ext/POSIX/typemap
  170. +0 −114 ext/README
  171. +216 −0 ext/SDBM_File/Makefile.SH
  172. +11 −0 ext/SDBM_File/SDBM_File.pm
  173. +71 −0 ext/SDBM_File/SDBM_File.xs
  174. 0  ext/{dbm → SDBM_File}/sdbm/CHANGES
  175. 0  ext/{dbm → SDBM_File}/sdbm/COMPARE
  176. +30 −11 ext/{dbm → SDBM_File}/sdbm/Makefile.SH
  177. 0  ext/{dbm → SDBM_File}/sdbm/README
  178. 0  ext/{dbm → SDBM_File}/sdbm/README.too
  179. 0  ext/{dbm → SDBM_File}/sdbm/biblio
  180. 0  ext/{dbm → SDBM_File}/sdbm/dba.c
  181. 0  ext/{dbm → SDBM_File}/sdbm/dbd.c
  182. 0  ext/{dbm → SDBM_File}/sdbm/dbe.1
  183. 0  ext/{dbm → SDBM_File}/sdbm/dbe.c
  184. 0  ext/{dbm → SDBM_File}/sdbm/dbm.c
  185. 0  ext/{dbm → SDBM_File}/sdbm/dbm.h
  186. 0  ext/{dbm → SDBM_File}/sdbm/dbu.c
  187. 0  ext/{dbm → SDBM_File}/sdbm/grind
  188. 0  ext/{dbm → SDBM_File}/sdbm/hash.c
  189. 0  ext/{dbm → SDBM_File}/sdbm/linux.patches
  190. 0  ext/{dbm → SDBM_File}/sdbm/makefile.sdbm
  191. +2 −0  ext/{dbm → SDBM_File}/sdbm/pair.c
  192. 0  ext/{dbm → SDBM_File}/sdbm/pair.h
  193. 0  ext/{dbm → SDBM_File}/sdbm/readme.ms
  194. 0  ext/{dbm → SDBM_File}/sdbm/readme.ps
  195. 0  ext/{dbm → SDBM_File}/sdbm/sdbm.3
  196. 0  ext/{dbm → SDBM_File}/sdbm/sdbm.c
  197. +16 −23 ext/{dbm → SDBM_File}/sdbm/sdbm.h
  198. 0  ext/{dbm → SDBM_File}/sdbm/tune.h
  199. 0  ext/{dbm → SDBM_File}/sdbm/util.c
  200. +25 −0 ext/SDBM_File/typemap
  201. +207 −0 ext/Socket/Makefile.SH
  202. +116 −0 ext/Socket/Socket.pm
Sorry, we could not display the entire diff because too many files (905) changed.
0  x2p/all → .dotest/last
View
File renamed without changes
16 .package
View
@@ -1,16 +0,0 @@
-: basic variables
-package=perl5
-baserev=5.0
-patchbranch=1
-mydiff='diff -c'
-maintname='Larry Wall'
-maintloc='lwall@netlabs.com'
-ftpsite=''
-orgname='NetLabs, Inc.'
-newsgroups='comp.lang.perl'
-recipients=''
-ftpdir=''
-
-: derivative variables--do not change
-revbranch="$baserev.$patchbranch"
-packver='1'
8 Bugs/delocalglob
View
@@ -1,8 +0,0 @@
-#!./perl
-$foo = GOOD;
-{
- local(*foo) = \$bar;
- $bar = BAR;
- print $foo;
-}
-print $foo;
6 Bugs/localenv
View
@@ -1,6 +0,0 @@
-{
- local(%ENV);
- $ENV{OOPS} = OOPS;
- system 'echo NOT $OOPS';
-}
-system 'echo $OOPS';
64 Changes
View
@@ -47,8 +47,6 @@ New things
Lexical scoping available via "my". eval can see the current lexical
variables.
- Saying "package;" requires explicit package name on global symbols.
-
The preferred package delimiter is now :: rather than '.
tie/untie are now preferred to dbmopen/dbmclose. Multiple DBM
@@ -58,10 +56,8 @@ New things
New "and" and "or" operators work just like && and || but with
a precedence lower than comma, so they work better with list operators.
- New functions include: abs(), chr(), uc(), ucfirst(), lc(), lcfirst()
-
- require with a bare word now does an immediate require at compile time.
- So "require POSIX" is equivalent to "BEGIN { require 'POSIX.pm' }".
+ New functions include: abs(), chr(), uc(), ucfirst(), lc(), lcfirst(),
+ chomp(), glob()
require with a number checks to see that the version of Perl that is
currently running is at least that number.
@@ -86,15 +82,53 @@ New things
routine, which will be called if a non-existent subroutine is called in
that package.
- There is now a pragma mechanism, using the keywords "aver" and "deny".
- Current pragmas are "integer" and "strict". Unrecognized pragmas
- are ignored.
+ Several previously added features have been subsumed under the new
+ keywords "use" and "no". Saying "use Module LIST" is short for
+ BEGIN { require Module; import Module LIST; }
+ The "no" keyword is identical except that it calls "unimport" instead.
+ The earlier pragma mechanism now uses this mechanism, and two new
+ modules have been added to the library to implement "use integer"
+ and variations of "use strict vars, refs, subs".
+
+ Variables may now be interpolated literally into a pattern by prefixing
+ them with \Q, which works just like \U, but backwhacks non-alphanumerics
+ instead. There is also a corresponding quotemeta function.
+
+ Any quantifier in a regular expression may now be followed by a ? to
+ indicate that the pattern is supposed to match as little as possible.
+
+ Pattern matches may now be followed by an m or s modifier to explicitly
+ request multiline or singleline semantics. An s modifier makes . match
+ newline.
+
+ Patterns may now contain \A to match only at the beginning of the string,
+ and \Z to match only at the end. These differ from ^ and $ in that
+ they ignore multiline semantics. In addition, \G matches where the
+ last interation of m//g or s///g left off.
+
+ Non-backreference-producing parens of various sorts may now be
+ indicated by placing a ? directly after the opening parenthesis,
+ followed by a character that indicates the purpose of the parens.
+ An :, for instance, indicates simple grouping. (?:a|b|c) will
+ match any of a, b or c without producing a backreference. It does
+ "eat" the input. There are also assertions which do not eat the
+ input but do lookahead for you. (?=stuff) indicates that the next
+ thing must be "stuff". (?!nonsense) indicates that the next thing
+ must not be "nonsense".
+
+ The negation operator now treats non-numeric strings specially.
+ A -"text" is turned into "-text", so that -bareword is the same
+ as "-bareword". If the string already begins with a + or -, it
+ is flipped to the other sign.
Incompatibilities
-----------------
@ now always interpolates an array in double-quotish strings. Some programs
may now need to use backslash to protect any @ that shouldn't interpolate.
+ Ordinary variables starting with underscore are no longer forced into
+ package main.
+
s'$lhs'$rhs' now does no interpolation on either side. It used to
interplolate $lhs but not $rhs.
@@ -111,7 +145,7 @@ Incompatibilities
You can't do a goto into a block that is optimized away. Darn.
It is no longer syntactically legal to use whitespace as the name
- of a variable.
+ of a variable, or as a delimiter for any kind of quote construct.
Some error messages will be different.
@@ -135,3 +169,13 @@ Incompatibilities
The comma operator in a scalar context is now guaranteed to give a
scalar context to its arguments.
+
+ The ** operator now binds more tightly than unary minus.
+
+ Setting $#array lower now discards array elements so that destructors
+ work reasonably.
+
+ delete is not guaranteed to return the old value for tied arrays,
+ since this capability may be onerous for some modules to implement.
+
+ Attempts to set $1 through $9 now result in a run-time error.
4,994 Configure
View
3,244 additions, 1,750 deletions not shown
0  perl5-notes → Doc/perl5-notes
View
File renamed without changes
14 EXTERN.h
View
@@ -1,20 +1,10 @@
-/* $RCSfile: EXTERN.h,v $$Revision: 4.1 $$Date: 92/08/07 17:18:03 $
+/* EXTERN.h
*
- * Copyright (c) 1991, Larry Wall
+ * Copyright (c) 1991-1994, Larry Wall
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
- * $Log: EXTERN.h,v $
- * Revision 4.1 92/08/07 17:18:03 lwall
- * Stage 6 Snapshot
- *
- * Revision 4.0.1.1 91/06/07 10:10:32 lwall
- * patch4: new copyright notice
- *
- * Revision 4.0 91/03/20 00:58:26 lwall
- * 4.0 baseline.
- *
*/
#undef EXT
13 HelpWanted
View
@@ -1,13 +0,0 @@
-Anything in Todo that strikes your fancy and I agree to the design of
-
-Configure support
- Dynamic loading
- libperl.so
- Drop-in module directories
-
-Test suite enhancement
- POSIX
-
-Extension interface
- Documentation
- xvarpp
14 INTERN.h
View
@@ -1,20 +1,10 @@
-/* $RCSfile: INTERN.h,v $$Revision: 4.1 $$Date: 92/08/07 17:18:04 $
+/* INTERN.h
*
- * Copyright (c) 1991, Larry Wall
+ * Copyright (c) 1991-1994, Larry Wall
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
- * $Log: INTERN.h,v $
- * Revision 4.1 92/08/07 17:18:04 lwall
- * Stage 6 Snapshot
- *
- * Revision 4.0.1.1 91/06/07 10:10:42 lwall
- * patch4: new copyright notice
- *
- * Revision 4.0 91/03/20 00:58:35 lwall
- * 4.0 baseline.
- *
*/
#undef EXT
613 MANIFEST
View
@@ -1,73 +1,37 @@
Artistic The "Artistic License"
-Configure Portability tool
+Changes Differences between Perl 4 and Perl 5
+Configure Portability tool
Copying The GNU General Public License
+Doc/perl5-notes Samples of new functionality
EXTERN.h Included before foreign .h files
INTERN.h Included before domestic .h files
MANIFEST This list of files
Makefile.SH A script that generates Makefile
README The Instructions
-README.ncr Special instructions for NCR
-README.uport Special instructions for Microports
-README.xenix Special instructions for Xenix
-XSUB.h
-atarist/FILES
-atarist/README.ST
-atarist/RESULTS
-atarist/atarist.c
-atarist/config.h
-atarist/echo.c
-atarist/explain
-atarist/makefile.sm
-atarist/makefile.st
-atarist/osbind.pl
-atarist/perldb.diff
-atarist/perlglob.c
-atarist/test/binhandl
-atarist/test/ccon
-atarist/test/dbm
-atarist/test/err
-atarist/test/gdbm
-atarist/test/gdbm.t
-atarist/test/glob
-atarist/test/osexample.pl
-atarist/test/pi.pl
-atarist/test/printenv
-atarist/test/readme
-atarist/test/sig
-atarist/test/tbinmode
-atarist/usersub.c
-atarist/usub/README.ATARI
-atarist/usub/acurses.mus
-atarist/usub/makefile.st
-atarist/usub/usersub.c
-atarist/wildmat.c
-autosplit
-av.c
-av.h
-bar.pm
+README.vms Notes about VMS
+Todo The Wishlist
+XSUB.h Include file for extension subroutines
+autosplit Splits up autoloader functions
+av.c Array value code
+av.h Array value header
c2ph.SH program to translate dbx stabs to perl
c2ph.doc documentation for c2ph
cflags.SH A script that emits C compilation flags per file
-client A client to test sockets
config.H Sample config.h
config_h.SH Produces config.h
configpm Produces lib/Config.pm
-cop.h
-cv.h
-deb.c
-dlperl/Makefile
-dlperl/dlperl.c
-dlperl/dlperl.doc
-dlperl/dlperl.man
-dlperl/usersub.c
+cop.h Control operator header
+cv.h Code value header
+deb.c Debugging routines
doSH Script to run all the *.SH files
doio.c I/O operations
doop.c Support code for various operations
-dosish.h
+dosish.h Some defines for MS/DOSish machines
dump.c Debugging output
eg/ADB An adb wrapper to put in your crash dir
eg/README Intro to example perl scripts
eg/changes A program to list recently changed files
+eg/client A sample client
eg/down A program to do things to subdirectories
eg/dus A program to do du -s on non-mounted dirs
eg/findcp A find wrapper that implements a -cp switch
@@ -93,86 +57,109 @@ eg/scan/scan_ps Scan for process anomalies
eg/scan/scan_sudo Scan for sudo anomalies
eg/scan/scan_suid Scan for setuid anomalies
eg/scan/scanner An anomaly reporter
+eg/server A sample server
eg/shmkill A program to remove unused shared memory
eg/sysvipc/README Intro to Sys V IPC examples
eg/sysvipc/ipcmsg Example of SYS V IPC message queues
eg/sysvipc/ipcsem Example of Sys V IPC semaphores
eg/sysvipc/ipcshm Example of Sys V IPC shared memory
eg/travesty A program to print travesties of its input text
-eg/unuc.pats
-eg/uudecode
+eg/unuc Un-uppercases an all-uppercase text
+eg/uudecode A version of uudecode
eg/van/empty A program to empty the trashcan
eg/van/unvanish A program to undo what vanish does
eg/van/vanexp A program to expire vanished files
eg/van/vanish A program to put files in a trashcan
eg/who A sample who program
-emacs/cperl-mode
-emacs/emacs19
+eg/wrapsuid A setuid script wrapper generator
+emacs/cperl-mode An alternate perl-mode
+emacs/emacs19 Notes about emacs 19
emacs/perl-mode.el Emacs major mode for perl
emacs/perldb.el Emacs debugging
emacs/perldb.pl Emacs debugging
emacs/tedstuff Some optional patches
-embed_h.SH
-ext/README
-ext/curses/Makefile
-ext/curses/bsdcurses.mus
-ext/curses/curses.mus
-ext/curses/pager
-ext/dbm/GDBM_File.xs GDBM extension
-ext/dbm/Makefile
-ext/dbm/NDBM_File.xs NDBM extension
-ext/dbm/ODBM_File.xs ODBM extension
-ext/dbm/SDBM_File.xs SDBM extension
-ext/dbm/sdbm/CHANGES
-ext/dbm/sdbm/COMPARE
-ext/dbm/sdbm/Makefile.SH
-ext/dbm/sdbm/README.too
-ext/dbm/sdbm/biblio
-ext/dbm/sdbm/dba.c
-ext/dbm/sdbm/dbd.c
-ext/dbm/sdbm/dbe.1
-ext/dbm/sdbm/dbe.c
-ext/dbm/sdbm/dbm.c
-ext/dbm/sdbm/dbm.h
-ext/dbm/sdbm/dbu.c
-ext/dbm/sdbm/grind
-ext/dbm/sdbm/hash.c
-ext/dbm/sdbm/linux.patches
-ext/dbm/sdbm/makefile.sdbm
-ext/dbm/sdbm/pair.c
-ext/dbm/sdbm/pair.h
-ext/dbm/sdbm/readme.ms
-ext/dbm/sdbm/readme.ps
-ext/dbm/sdbm/sdbm.3
-ext/dbm/sdbm/sdbm.c
-ext/dbm/sdbm/sdbm.h
-ext/dbm/sdbm/tune.h
-ext/dbm/sdbm/util.c
-ext/dbm/typemap
-ext/dl/dl_hpux.c Dynamic loading for HPUX.
-ext/dl/dl_next.c Dynamic loading for NeXT
-ext/dl/dl_sunos.c Dynamic loading for SunOS 4.1.?
-ext/dl/eg/Makefile
-ext/dl/eg/Makefile.att
-ext/dl/eg/main.c
-ext/dl/eg/test.c
-ext/dl/eg/test1.c
-ext/man2mus
-ext/mus
-ext/posix/POSIX.xs
-ext/posix/typemap
-ext/typemap
-ext/typemap.oi
-ext/typemap.xlib
-ext/typemap.xpm
-ext/xsubpp
-ext/xvarpp
+embed.h Maps symbols to safer names
+embed_h.SH Produces embed.h
+ext/DB_File/DB_File.pm Berkeley DB extension Perl module
+ext/DB_File/DB_File.xs Berkeley DB extension external subroutines
+ext/DB_File/DB_File_BS Berkeley DB extension mkbootstrap fodder
+ext/DB_File/Makefile.SH Berkeley DB extension makefile writer
+ext/DB_File/typemap Berkeley DB extension interface types
+ext/DynaLoader/DynaLoader.doc Dynamic Loader specification
+ext/DynaLoader/DynaLoader.pm Dynamic Loader perl module
+ext/DynaLoader/Makefile.SH Dynamic Loader makefile writer
+ext/DynaLoader/README Dynamic Loader notes and intro
+ext/DynaLoader/dl_aix.xs AIX implementation
+ext/DynaLoader/dl_dld.xs GNU dld style implementation
+ext/DynaLoader/dl_dlopen.xs BSD/SunOS4&5 dlopen() style implementation
+ext/DynaLoader/dl_hpux.xs HP-UX implementation
+ext/DynaLoader/dl_next.xs Next implementation
+ext/DynaLoader/dl_none.xs Stub implementation
+ext/DynaLoader/dl_vms.xs VMS implementation
+ext/DynaLoader/dlutils.c Dynamic loader utilities for dl_*.xs files
+ext/Fcntl/Fcntl.pm Fcntl extension Perl module
+ext/Fcntl/Fcntl.xs Fcntl extension external subroutines
+ext/Fcntl/MANIFEST Fcntl extension file list
+ext/Fcntl/Makefile.SH Fcntl extension makefile writer
+ext/GDBM_File/GDBM_File.pm GDBM extension Perl module
+ext/GDBM_File/GDBM_File.xs GDBM extension external subroutines
+ext/GDBM_File/Makefile.SH GDBM extension makefile writer
+ext/GDBM_File/typemap GDBM extension interface types
+ext/NDBM_File/Makefile.SH NDBM extension makefile writer
+ext/NDBM_File/NDBM_File.pm NDBM extension Perl module
+ext/NDBM_File/NDBM_File.xs NDBM extension external subroutines
+ext/NDBM_File/typemap NDBM extension interface types
+ext/ODBM_File/Makefile.SH ODBM extension makefile writer
+ext/ODBM_File/ODBM_File.pm ODBM extension Perl module
+ext/ODBM_File/ODBM_File.xs ODBM extension external subroutines
+ext/ODBM_File/typemap ODBM extension interface types
+ext/POSIX/Makefile.SH POSIX extension makefile writer
+ext/POSIX/POSIX.pm POSIX extension Perl module
+ext/POSIX/POSIX.xs POSIX extension external subroutines
+ext/POSIX/typemap POSIX extension interface types
+ext/SDBM_File/Makefile.SH SDBM extension makefile writer
+ext/SDBM_File/SDBM_File.pm SDBM extension Perl module
+ext/SDBM_File/SDBM_File.xs SDBM extension external subroutines
+ext/SDBM_File/sdbm/CHANGES SDBM kit
+ext/SDBM_File/sdbm/COMPARE SDBM kit
+ext/SDBM_File/sdbm/Makefile.SH SDBM kit
+ext/SDBM_File/sdbm/README SDBM kit
+ext/SDBM_File/sdbm/README.too SDBM kit
+ext/SDBM_File/sdbm/biblio SDBM kit
+ext/SDBM_File/sdbm/dba.c SDBM kit
+ext/SDBM_File/sdbm/dbd.c SDBM kit
+ext/SDBM_File/sdbm/dbe.1 SDBM kit
+ext/SDBM_File/sdbm/dbe.c SDBM kit
+ext/SDBM_File/sdbm/dbm.c SDBM kit
+ext/SDBM_File/sdbm/dbm.h SDBM kit
+ext/SDBM_File/sdbm/dbu.c SDBM kit
+ext/SDBM_File/sdbm/grind SDBM kit
+ext/SDBM_File/sdbm/hash.c SDBM kit
+ext/SDBM_File/sdbm/linux.patches SDBM kit
+ext/SDBM_File/sdbm/makefile.sdbm SDBM kit
+ext/SDBM_File/sdbm/pair.c SDBM kit
+ext/SDBM_File/sdbm/pair.h SDBM kit
+ext/SDBM_File/sdbm/readme.ms SDBM kit
+ext/SDBM_File/sdbm/readme.ps SDBM kit
+ext/SDBM_File/sdbm/sdbm.3 SDBM kit
+ext/SDBM_File/sdbm/sdbm.c SDBM kit
+ext/SDBM_File/sdbm/sdbm.h SDBM kit
+ext/SDBM_File/sdbm/tune.h SDBM kit
+ext/SDBM_File/sdbm/util.c SDBM kit
+ext/SDBM_File/typemap SDBM extension interface types
+ext/Socket/Makefile.SH Socket extension makefile writer
+ext/Socket/Socket.pm Socket extension Perl module
+ext/Socket/Socket.xs Socket extension external subroutines
+ext/typemap Extension interface types
+ext/util/extliblist Used by extension Makefile.SH to make lib lists
+ext/util/make_ext Used by Makefile to execute extension Makefiles
+ext/util/mkbootstrap Turns ext/*/*_BS into bootstrap info
+ext/xsubpp External subroutine preprocessor
form.h Public declarations for the above
-gettest A little script to test the get* routines
-global.sym
-gv.c
-gv.h
-h2ph.SH A thing to turn C .h file into perl .ph files
+global.sym Symbols that need hiding when embedded
+gv.c Glob value code
+gv.h Glob value header
+h2ph.SH A thing to turn C .h files into perl .ph files
h2pl/README How to turn .ph files into .pl files
h2pl/cbreak.pl cbreak routines using .ph
h2pl/cbreak2.pl cbreak routines using .pl
@@ -181,209 +168,246 @@ h2pl/eg/sys/errno.pl Sample translated errno.pl
h2pl/eg/sys/ioctl.pl Sample translated ioctl.pl
h2pl/eg/sysexits.pl Sample translated sysexits.pl
h2pl/getioctlsizes Program to extract types from ioctl.h
-h2pl/mksizes Program to make %sizeof array.
+h2pl/mksizes Program to make %sizeof array
h2pl/mkvars Program to make .pl from .ph files
h2pl/tcbreak cbreak test routine using .ph
h2pl/tcbreak2 cbreak test routine using .pl
+h2xs Program to make .xs files from C header files
handy.h Handy definitions
-hints/3b1.sh
-hints/3b1cc
-hints/3b2.sh
-hints/aix_rs.sh
-hints/aix_rt.sh
-hints/altos486.sh
-hints/apollo_C6_7.sh
-hints/apollo_C6_8.sh
-hints/aux.sh
-hints/cray.sh
-hints/dec_osf_1.sh
-hints/dec_osf_2.sh
-hints/dec_osf_3.sh
-hints/dgux.sh
-hints/dnix.sh
-hints/dynix.sh
-hints/fps.sh
-hints/genix.sh
-hints/greenhills.sh
-hints/hp9000_300.sh
-hints/hp9000_400.sh
-hints/hp9000_700.sh
-hints/hp9000_800.sh
-hints/hpux.sh
-hints/i386.sh
-hints/isc_3_2_2.sh
-hints/isc_3_2_3.sh
-hints/mc6000.sh
-hints/mips.sh
-hints/mpc.sh
-hints/ncr_tower.sh
-hints/next.sh
-hints/next_3_2.sh
-hints/opus.sh
-hints/osf1.sh
-hints/sco_2_3_0.sh
-hints/sco_2_3_1.sh
-hints/sco_2_3_2.sh
-hints/sco_2_3_3.sh
-hints/sco_2_3_4.sh
-hints/sco_3.sh
-hints/sgi.sh
-hints/solaris_2_0.sh
-hints/solaris_2_1.sh
-hints/solaris_2_2.sh
-hints/solaris_2_3.sh
-hints/stellar.sh
-hints/sunos_3_4.sh
-hints/sunos_3_5.sh
-hints/sunos_4_0_1.sh
-hints/sunos_4_0_2.sh
-hints/sunos_4_1_2.sh
-hints/sunos_4_1_3.sh
-hints/svr4.sh
-hints/ti1500.sh
-hints/titan.sh
-hints/ultrix_1.sh
-hints/ultrix_3.sh
-hints/ultrix_4.sh
-hints/unisysdynix.sh
-hints/utekv.sh
-hints/uts.sh
-hints/vax.sh
-hv.c
-hv.h
-hvdbm.h
+hints/3b1.sh Hints for named architecture
+hints/3b1cc Hints for named architecture
+hints/README.hints Hints for named architecture
+hints/aix.sh Hints for named architecture
+hints/altos486.sh Hints for named architecture
+hints/apollo.sh Hints for named architecture
+hints/aux.sh Hints for named architecture
+hints/bsd386.sh Hints for named architecture
+hints/dec_osf.sh Hints for named architecture
+hints/dgux.sh Hints for named architecture
+hints/dnix.sh Hints for named architecture
+hints/dynix.sh Hints for named architecture
+hints/esix4.sh Hints for named architecture
+hints/fps.sh Hints for named architecture
+hints/freebsd.sh Hints for named architecture
+hints/genix.sh Hints for named architecture
+hints/greenhills.sh Hints for named architecture
+hints/hpux_9.sh Hints for named architecture
+hints/i386.sh Hints for named architecture
+hints/irix_4.sh Hints for named architecture
+hints/irix_5.sh Hints for named architecture
+hints/isc.sh Hints for named architecture
+hints/isc_2.sh Hints for named architecture
+hints/linux.sh Hints for named architecture
+hints/mips.sh Hints for named architecture
+hints/mpc.sh Hints for named architecture
+hints/ncr_tower.sh Hints for named architecture
+hints/netbsd.sh Hints for named architecture
+hints/next_3_2.sh Hints for named architecture
+hints/opus.sh Hints for named architecture
+hints/sco_2_3_0.sh Hints for named architecture
+hints/sco_2_3_1.sh Hints for named architecture
+hints/sco_2_3_2.sh Hints for named architecture
+hints/sco_2_3_3.sh Hints for named architecture
+hints/sco_2_3_4.sh Hints for named architecture
+hints/sco_3.sh Hints for named architecture
+hints/solaris_2.sh Hints for named architecture
+hints/stellar.sh Hints for named architecture
+hints/sunos_4_0.sh Hints for named architecture
+hints/sunos_4_1.sh Hints for named architecture
+hints/svr4.sh Hints for named architecture
+hints/ti1500.sh Hints for named architecture
+hints/titanos.sh Hints for named architecture
+hints/ultrix_4.sh Hints for named architecture
+hints/unicos.sh Hints for named architecture
+hints/unisysdynix.sh Hints for named architecture
+hints/utekv.sh Hints for named architecture
+hints/uts.sh Hints for named architecture
+hv.c Hash value code
+hv.h Hash value header
installperl Perl script to do "make install" dirty work
-interp.sym
+interp.sym Interpreter specific symbols to hide in a struct
ioctl.pl Sample ioctl.pl
-keywords.h
-lib/AutoLoader.pm
-lib/English.pm
-lib/Exporter.pm
-lib/FOOBAR.pm
-lib/FileHandle.pm
-lib/Hostname.pm
-lib/NDBM_File.pm
-lib/POSIX.pm
-lib/SDBM_File.pm
+keywords.h The keyword numbers
+keywords.pl Program to write keywords.h
+lib/AnyDBM_File.pm Perl module to emulate dbmopen
+lib/AutoLoader.pm Autoloader base class
+lib/AutoSplit.pm A module to split up autoload functions
+lib/Benchmark.pm A module to time pieces of code and such
+lib/Carp.pm Error message base class
+lib/Cwd.pm Various cwd routines (getcwd, fastcwd, chdir)
+lib/English.pm Readable aliases for short variables
+lib/Env.pm Map environment into ordinary variables
+lib/Exporter.pm Exporter base class
+lib/ExtUtils/MakeMaker.pm Write Makefiles for extensions
+lib/File/Basename.pm A module to emulate the basename program
+lib/File/CheckTree.pm Perl module supporting wholesale file mode validation
+lib/File/Find.pm Routines to do a find
+lib/FileHandle.pm FileHandle methods
+lib/Shell.pm A module to make AUTOLOADEed system() calls
+lib/Getopt/Long.pm A module to fetch command options (GetOptions)
+lib/Getopt/Std.pm A module to fetch command options (getopt, getopts)
+lib/I18N/Collate.pm Routines to do strxfrm-based collation
+lib/IPC/Open2.pm Open a two-ended pipe
+lib/IPC/Open3.pm Open a three-ended pipe!
+lib/Math/BigInt.pm An arbitrary precision integer arithmetic package
+lib/Math/BigFloat.pm An arbitrary precision floating-point arithmetic package
+lib/Math/Complex.pm A Complex package
+lib/Net/Ping.pm Ping methods
+lib/Search/Dict.pm A module to do binary search on dictionaries
+lib/Sys/Hostname.pm Hostname methods
+lib/Sys/Syslog.pm Perl module supporting syslogging
+lib/Term/Cap.pm Perl module supporting termcap usage
+lib/Term/Complete.pm A command completion subroutine
+lib/Test/Harness.pm A test harness
+lib/Text/Abbrev.pm An abbreviation table builder
+lib/Text/ParseWords.pm Perl module to split words on arbitrary delimiter
+lib/Text/Soundex.pm Perl module to implement Soundex
+lib/Text/Tabs.pm Do expand and unexpand
+lib/TieHash.pm Base class for tied hashes
+lib/Time/Local.pm Reverse translation of localtime, gmtime
lib/abbrev.pl An abbreviation table builder
lib/assert.pl assertion and panic with stack trace
lib/bigfloat.pl An arbitrary precision floating point package
lib/bigint.pl An arbitrary precision integer arithmetic package
lib/bigrat.pl An arbitrary precision rational arithmetic package
lib/cacheout.pl Manages output filehandles when you need too many
+lib/chat2.inter A chat2 with interaction
lib/chat2.pl Randal's famous expect-ish routines
lib/complete.pl A command completion subroutine
lib/ctime.pl A ctime workalike
-lib/dotsh.pl.art
+lib/dotsh.pl Code to "dot" in a shell script
lib/dumpvar.pl A variable dumper
lib/exceptions.pl catch and throw routines
lib/fastcwd.pl a faster but more dangerous getcwd
lib/find.pl A find emulator--used by find2perl
lib/finddepth.pl A depth-first find emulator--used by find2perl
lib/flush.pl Routines to do single flush
-lib/ftp.pl
-lib/getcwd.pl a getcwd() emulator
+lib/ftp.pl FTP code
+lib/getcwd.pl A getcwd() emulator
lib/getopt.pl Perl library supporting option parsing
lib/getopts.pl Perl library supporting option parsing
-lib/hostname.pl
+lib/hostname.pl Old hostname code
lib/importenv.pl Perl routine to get environment into variables
+lib/integer.pm For "use integer"
+lib/less.pm For "use less"
lib/look.pl A "look" equivalent
lib/newgetopt.pl A perl library supporting long option parsing
-lib/open2.pl
-lib/open3.pl
-lib/perldb.pl Perl debugging routines
+lib/open2.pl Open a two-ended pipe
+lib/open3.pl Open a three-ended pipe
+lib/perl5db.pl Perl debugging routines
lib/pwd.pl Routines to keep track of PWD environment variable
-lib/quotewords.pl.art
lib/shellwords.pl Perl library to split into words with shell quoting
-lib/soundex.pl.art
+lib/sigtrap.pm For trapping an abort and giving traceback
lib/stat.pl Perl library supporting stat function
+lib/strict.pm For "use strict"
+lib/subs.pm Declare overriding subs
lib/syslog.pl Perl library supporting syslogging
-lib/tainted.pl
+lib/tainted.pl Old code for tainting
lib/termcap.pl Perl library supporting termcap usage
lib/timelocal.pl Perl library supporting inverse of localtime, gmtime
lib/validate.pl Perl library supporting wholesale file mode validation
makedepend.SH Precursor to makedepend
makedir.SH Precursor to makedir
-makefile.lib make libperl.a
malloc.c A version of malloc you might not want
-mg.c
-mg.h
-miniperlmain.c Basic perl w/o dynamic loading or extensions.
-msdos/Changes.dds Expanation of MS-DOS patches by Diomidis Spinellis
-msdos/Makefile MS-DOS makefile
-msdos/README.msdos Compiling and usage information
-msdos/Wishlist.dds My wishlist
-msdos/chdir.c A chdir that can change drives
-msdos/config.h Definitions for msdos
-msdos/dir.h MS-DOS header for directory access functions
-msdos/directory.c MS-DOS directory access functions.
-msdos/eg/crlf.bat Convert files from unix to MS-DOS line termination
-msdos/eg/drives.bat List the system drives and their characteristics
-msdos/eg/lf.bat Convert files from MS-DOS to Unix line termination
-msdos/glob.c A command equivalent to csh glob
-msdos/msdos.c MS-DOS ioctl, sleep, gete?[gu]if, spawn, aspawn
-msdos/popen.c My_popen and my_pclose for MS-DOS
-msdos/usage.c How to invoke perl under MS-DOS
-opcode.h
-opcode.pl
-os2/Makefile Makefile for OS/2
-os2/README.OS2 Notes for OS/2
-os2/a2p.cs Compiler script for a2p
-os2/a2p.def Linker defs for a2p
-os2/alarm.c An implementation of alarm()
-os2/alarm.h Header file for same
-os2/config.h Configuration file for OS/2
-os2/crypt.c
-os2/dir.h Directory header
-os2/director.c Directory routines
-os2/eg/alarm.pl Example of alarm code
-os2/eg/os2.pl Sample script for OS/2
-os2/eg/syscalls.pl Example of syscall on OS/2
-os2/glob.c Globbing routines
-os2/makefile Make file
-os2/mktemp.c Mktemp() using TMP
-os2/os2.c Unix compatibility functions
-os2/perl.bad names of protect-only API calls for BIND
-os2/perl.cs Compiler script for perl
-os2/perl.def Linker defs for perl
-os2/perldb.dif Changes to make the debugger work
-os2/perlglob.bad names of protect-only API calls for BIND
-os2/perlglob.cs Compiler script for perlglob
-os2/perlglob.def Linker defs for perlglob
-os2/perlsh.cmd Poor man's shell for os2
-os2/popen.c Code for opening pipes
-os2/s2p.cmd s2p as command file
-os2/selfrun.bat A self running perl script for DOS
-os2/selfrun.cmd Example of extproc feature
-os2/suffix.c Code for creating backup filenames
-os2/tests.dif
+mg.c Magic code
+mg.h Magic header
+miniperlmain.c Basic perl w/o dynamic loading or extensions
+mv-if-diff Script to mv a file if it changed
+myconfig Prints summary of the current configuration
+op.c Opcode syntax tree code
+op.h Opcode syntax tree header
+opcode.h Automatically generated opcode header
+opcode.pl Opcode header generatore
patchlevel.h The current patch level of perl
perl.c main()
perl.h Global declarations
-perl.man The manual page(s)
+perl_exp.SH Creates list of exported symbols for AIX.
perlsh A poor man's perl shell
-perly.c
-perly.c.byacc
-perly.c.diff
-perly.c.yacc
+perly.c A byacc'ed perly.y
+perly.c.diff Fixup perly.c to allow recursion
perly.fixer A program to remove yacc stack limitations
-perly.h.yacc
+perly.h The header file for perly.c
perly.y Yacc grammar for perl
-perly.y.save
+pl2pm A pl to pm translator
+pod/Makefile Make pods into something else
+pod/modpods/Abbrev.pod Doc for Abbrev.pm
+pod/modpods/AnyDBMFile.pod Doc for AnyDBMFile.pm
+pod/modpods/AutoLoader.pod Doc for AutoLoader.pm
+pod/modpods/AutoSplit.pod Doc for AutoSplit.pm
+pod/modpods/Basename.pod Doc for Basename.pm
+pod/modpods/Benchmark.pod Doc for Benchmark.pm
+pod/modpods/Carp.pod Doc for Carp.pm
+pod/modpods/CheckTree.pod Doc for CheckTree.pm
+pod/modpods/Collate.pod Doc for Collate.pm
+pod/modpods/Config.pod Doc for Config.pm
+pod/modpods/Cwd.pod Doc for Cwd.pm
+pod/modpods/DB_File.pod Doc for File.pm
+pod/modpods/Dynaloader.pod Doc for Dynaloader.pm
+pod/modpods/English.pod Doc for English.pm
+pod/modpods/Env.pod Doc for Env.pm
+pod/modpods/Exporter.pod Doc for Exporter.pm
+pod/modpods/Fcntl.pod Doc for Fcntl.pm
+pod/modpods/FileHandle.pod Doc for FileHandle.pm
+pod/modpods/Find.pod Doc for Find.pm
+pod/modpods/Finddepth.pod Doc for Finddepth.pm
+pod/modpods/GetOptions.pod Doc for GetOptions.pm
+pod/modpods/Getopt.pod Doc for Getopt.pm
+pod/modpods/MakeMaker.pod Doc for MakeMaker.pm
+pod/modpods/Open2.pod Doc for Open2.pm
+pod/modpods/Open3.pod Doc for Open3.pm
+pod/modpods/POSIX.pod Doc for POSIX.pm
+pod/modpods/Ping.pod Doc for Ping.pm
+pod/modpods/Socket.pod Doc for Socket.pm
+pod/modpods/integer.pod Doc for integer.pm
+pod/modpods/less.pod Doc for less.pm
+pod/modpods/sigtrap.pod Doc for sigtrap.pm
+pod/modpods/strict.pod Doc for strict.pm
+pod/modpods/subs.pod Doc for subs.pm
+pod/perl.pod Top level perl man page
+pod/perlapi.pod XS api info
+pod/perlbook.pod Book info
+pod/perlbot.pod Object-oriented Bag o' Tricks
+pod/perlcall.pod Callback info
+pod/perldata.pod Data structure info
+pod/perldebug.pod Debugger info
+pod/perldiag.pod Diagnostic info
+pod/perlembed.pod Embedding info
+pod/perlform.pod Format info
+pod/perlfunc.pod Function info
+pod/perlguts.pod Internals info
+pod/perlipc.pod IPC info
+pod/perlmod.pod Module info
+pod/perlobj.pod Object info
+pod/perlop.pod Operator info
+pod/perlovl.pod Overloading info
+pod/perlpod.pod Pod info
+pod/perlre.pod Regular expression info
+pod/perlref.pod References info
+pod/perlrun.pod Execution info
+pod/perlsec.pod Security info
+pod/perlstyle.pod Style info
+pod/perlsub.pod Subroutine info
+pod/perlsyn.pod Syntax info
+pod/perltrap.pod Trap info
+pod/perlvar.pod Variable info
+pod/pod2html Translator to turn pod into HTML
+pod/pod2man Translator to turn pod into manpage
+pod/splitman Splits perlfunc into multiple man pages
pp.c Push/Pop code
pp.h Push/Pop code defs
-proto.h
-protos
+pp_ctl.c Push/Pop code for control flow
+pp_hot.c Push/Pop code for heavily used opcodes
+pp_sys.c Push/Pop code for system interaction
+proto.h Prototypes
regcomp.c Regular expression compiler
regcomp.h Private declarations for above
regexec.c Regular expression evaluator
regexp.h Public declarations for the above
-scope.c
-scope.h
-server A server to test sockets
-sortfunc
-sv.c
-sv.h
+run.c The interpreter loop
+scope.c Scope entry and exit code
+scope.h Scope entry and exit header
+sv.c Scalar value code
+sv.h Scalar value header
t/README Instructions for regression tests
t/TEST The regression tester
t/base/cond.t See if conditionals work
@@ -411,10 +435,18 @@ t/io/inplace.t See if inplace editing works
t/io/pipe.t See if secure pipes work
t/io/print.t See if print commands work
t/io/tell.t See if file seeking works
-t/lib/bigint.t
-t/lib/english.t
-t/lib/ndbm.t
-t/lib/sdbm.t
+t/lib/anydbm.t See if AnyDBM_File works
+t/lib/bigint.t See if bigint.pl works
+t/lib/db-btree.t See if DB_File works
+t/lib/db-hash.t See if DB_File works
+t/lib/db-recno.t See if DB_File works
+t/lib/english.t See if English works
+t/lib/gdbm.t See if GDBM_File works
+t/lib/ndbm.t See if NDBM_File works
+t/lib/odbm.t See if ODBM_File works
+t/lib/posix.t See if POSIX works
+t/lib/sdbm.t See if SDBM_File works
+t/lib/soundex.t See if Soundex works
t/op/append.t See if . works
t/op/array.t See if array operations work
t/op/auto.t See if autoincrement et all work
@@ -437,18 +469,21 @@ t/op/join.t See if join works
t/op/list.t See if array lists work
t/op/local.t See if local works
t/op/magic.t See if magic variables work
+t/op/misc.t See if miscellaneous bugs have been fixed
t/op/mkdir.t See if mkdir works
-t/op/my.t
+t/op/my.t See if lexical scoping works
t/op/oct.t See if oct and hex work
t/op/ord.t See if ord works
t/op/pack.t See if pack and unpack work
t/op/pat.t See if esoteric patterns work
t/op/push.t See if push and pop work
+t/op/quotemeta.t See if quotemeta works
+t/op/rand.t See if rand works
t/op/range.t See if .. works
t/op/re_tests Input file for op.regexp
t/op/read.t See if read() works
t/op/readdir.t See if readdir() works
-t/op/ref.t
+t/op/ref.t See if refs and objects work
t/op/regexp.t See if regular expressions work
t/op/repeat.t See if x operator works
t/op/sleep.t See if sleep works
@@ -457,20 +492,35 @@ t/op/split.t See if split works
t/op/sprintf.t See if sprintf works
t/op/stat.t See if stat works
t/op/study.t See if study works
-t/op/subst.t
+t/op/subst.t See if substitution works
t/op/substr.t See if substr works
t/op/time.t See if time functions work
t/op/undef.t See if undef works
t/op/unshift.t See if unshift works
t/op/vec.t See if vectors work
t/op/write.t See if write works
-taint.c
+t/re_tests Regular expressions for regexp.t
+taint.c Tainting code
toke.c The tokener
-unixish.h
-usersub.c User supplied (possibly proprietary) subroutines
+unixish.h Defines that are assumed on Unix
util.c Utility routines
util.h Public declarations for the above
-writemain.SH Generate perlmain.c from miniperlmain.c+extensions.
+vms/config.vms VMS port
+vms/descrip.mms VMS port
+vms/genconfig.pl VMS port
+vms/genopt.com VMS port
+vms/gen_shrfls.pl VMS port
+vms/makefile. VMS port
+vms/mms2make.pl VMS port
+vms/perlshr.c VMS port
+vms/perlvms.pod VMS port
+vms/sockadapt.c VMS port
+vms/sockadapt.h VMS port
+vms/test.com VMS port
+vms/vms.c VMS port
+vms/vmsish.h VMS port
+vms/writemain.pl VMS port
+writemain.SH Generate perlmain.c from miniperlmain.c+extensions
x2p/EXTERN.h Same as above
x2p/INTERN.h Same as above
x2p/Makefile.SH Precursor to Makefile
@@ -483,7 +533,7 @@ x2p/find2perl.SH A find to perl translator
x2p/handy.h Handy definitions
x2p/hash.c Associative arrays again
x2p/hash.h Public declarations for the above
-x2p/malloc.c
+x2p/malloc.c Malloc code
x2p/s2p.SH Sed to perl translator
x2p/s2p.man Manual page for sed to perl translator
x2p/str.c String handling package
@@ -491,3 +541,4 @@ x2p/str.h Public declarations for the above
x2p/util.c Utility routines
x2p/util.h Public declarations for the above
x2p/walk.c Parse tree walker
+xf A script to translate Perl 4 symbols to Perl 5
493 MANIFEST.new
View
@@ -1,493 +0,0 @@
-Artistic The "Artistic License"
-Configure Portability tool
-Copying The GNU General Public License
-EXTERN.h Included before foreign .h files
-INTERN.h Included before domestic .h files
-MANIFEST This list of files
-Makefile.SH A script that generates Makefile
-README The Instructions
-README.ncr Special instructions for NCR
-README.uport Special instructions for Microports
-README.xenix Special instructions for Xenix
-XSUB.h
-atarist/FILES
-atarist/README.ST
-atarist/RESULTS
-atarist/atarist.c
-atarist/config.h
-atarist/echo.c
-atarist/explain
-atarist/makefile.sm
-atarist/makefile.st
-atarist/osbind.pl
-atarist/perldb.diff
-atarist/perlglob.c
-atarist/test/binhandl
-atarist/test/ccon
-atarist/test/dbm
-atarist/test/err
-atarist/test/gdbm
-atarist/test/gdbm.t
-atarist/test/glob
-atarist/test/osexample.pl
-atarist/test/pi.pl
-atarist/test/printenv
-atarist/test/readme
-atarist/test/sig
-atarist/test/tbinmode
-atarist/usersub.c
-atarist/usub/README.ATARI
-atarist/usub/acurses.mus
-atarist/usub/makefile.st
-atarist/usub/usersub.c
-atarist/wildmat.c
-autosplit
-av.c
-av.h
-bar.pm
-c2ph.SH program to translate dbx stabs to perl
-c2ph.doc documentation for c2ph
-cflags.SH A script that emits C compilation flags per file
-client A client to test sockets
-config.H Sample config.h
-config_h.SH Produces config.h
-configpm Produces lib/Config.pm
-cop.h
-cv.h
-deb.c
-dlperl/Makefile
-dlperl/dlperl.c
-dlperl/dlperl.doc
-dlperl/dlperl.man
-dlperl/usersub.c
-doSH Script to run all the *.SH files
-doio.c I/O operations
-doop.c Support code for various operations
-dosish.h
-dump.c Debugging output
-eg/ADB An adb wrapper to put in your crash dir
-eg/README Intro to example perl scripts
-eg/changes A program to list recently changed files
-eg/down A program to do things to subdirectories
-eg/dus A program to do du -s on non-mounted dirs
-eg/findcp A find wrapper that implements a -cp switch
-eg/findtar A find wrapper that pumps out a tar file
-eg/g/gcp A program to do a global rcp
-eg/g/gcp.man Manual page for gcp
-eg/g/ged A program to do a global edit
-eg/g/ghosts A sample /etc/ghosts file
-eg/g/gsh A program to do a global rsh
-eg/g/gsh.man Manual page for gsh
-eg/muck A program to find missing make dependencies
-eg/muck.man Manual page for muck
-eg/myrup A program to find lightly loaded machines
-eg/nih Script to insert #! workaround
-eg/relink A program to change symbolic links
-eg/rename A program to rename files
-eg/rmfrom A program to feed doomed filenames to
-eg/scan/scan_df Scan for filesystem anomalies
-eg/scan/scan_last Scan for login anomalies
-eg/scan/scan_messages Scan for console message anomalies
-eg/scan/scan_passwd Scan for passwd file anomalies
-eg/scan/scan_ps Scan for process anomalies
-eg/scan/scan_sudo Scan for sudo anomalies
-eg/scan/scan_suid Scan for setuid anomalies
-eg/scan/scanner An anomaly reporter
-eg/shmkill A program to remove unused shared memory
-eg/sysvipc/README Intro to Sys V IPC examples
-eg/sysvipc/ipcmsg Example of SYS V IPC message queues
-eg/sysvipc/ipcsem Example of Sys V IPC semaphores
-eg/sysvipc/ipcshm Example of Sys V IPC shared memory
-eg/travesty A program to print travesties of its input text
-eg/unuc.pats
-eg/uudecode
-eg/van/empty A program to empty the trashcan
-eg/van/unvanish A program to undo what vanish does
-eg/van/vanexp A program to expire vanished files
-eg/van/vanish A program to put files in a trashcan
-eg/who A sample who program
-emacs/cperl-mode
-emacs/emacs19
-emacs/perl-mode.el Emacs major mode for perl
-emacs/perldb.el Emacs debugging
-emacs/perldb.pl Emacs debugging
-emacs/tedstuff Some optional patches
-embed_h.SH
-ext/README
-ext/curses/Makefile
-ext/curses/bsdcurses.mus
-ext/curses/curses.mus
-ext/curses/pager
-ext/dbm/GDBM_File.xs GDBM extension
-ext/dbm/Makefile
-ext/dbm/NDBM_File.xs NDBM extension
-ext/dbm/ODBM_File.xs ODBM extension
-ext/dbm/SDBM_File.xs SDBM extension
-ext/dbm/sdbm/CHANGES
-ext/dbm/sdbm/COMPARE
-ext/dbm/sdbm/Makefile.SH
-ext/dbm/sdbm/README.too
-ext/dbm/sdbm/biblio
-ext/dbm/sdbm/dba.c
-ext/dbm/sdbm/dbd.c
-ext/dbm/sdbm/dbe.1
-ext/dbm/sdbm/dbe.c
-ext/dbm/sdbm/dbm.c
-ext/dbm/sdbm/dbm.h
-ext/dbm/sdbm/dbu.c
-ext/dbm/sdbm/grind
-ext/dbm/sdbm/hash.c
-ext/dbm/sdbm/linux.patches
-ext/dbm/sdbm/makefile.sdbm
-ext/dbm/sdbm/pair.c
-ext/dbm/sdbm/pair.h
-ext/dbm/sdbm/readme.ms
-ext/dbm/sdbm/readme.ps
-ext/dbm/sdbm/sdbm.3
-ext/dbm/sdbm/sdbm.c
-ext/dbm/sdbm/sdbm.h
-ext/dbm/sdbm/tune.h
-ext/dbm/sdbm/util.c
-ext/dbm/typemap
-ext/dl/dl_hpux.c Dynamic loading for HPUX.
-ext/dl/dl_next.c Dynamic loading for NeXT
-ext/dl/dl_sunos.c Dynamic loading for SunOS 4.1.?
-ext/dl/eg/Makefile
-ext/dl/eg/Makefile.att
-ext/dl/eg/main.c
-ext/dl/eg/test.c
-ext/dl/eg/test1.c
-ext/man2mus
-ext/mus
-ext/posix/POSIX.xs
-ext/posix/typemap
-ext/typemap
-ext/typemap.oi
-ext/typemap.xlib
-ext/typemap.xpm
-ext/xsubpp
-ext/xvarpp
-form.h Public declarations for the above
-gettest A little script to test the get* routines
-global.sym
-gv.c
-gv.h
-h2ph.SH A thing to turn C .h file into perl .ph files
-h2pl/README How to turn .ph files into .pl files
-h2pl/cbreak.pl cbreak routines using .ph
-h2pl/cbreak2.pl cbreak routines using .pl
-h2pl/eg/sizeof.ph Sample sizeof array initialization
-h2pl/eg/sys/errno.pl Sample translated errno.pl
-h2pl/eg/sys/ioctl.pl Sample translated ioctl.pl
-h2pl/eg/sysexits.pl Sample translated sysexits.pl
-h2pl/getioctlsizes Program to extract types from ioctl.h
-h2pl/mksizes Program to make %sizeof array.
-h2pl/mkvars Program to make .pl from .ph files
-h2pl/tcbreak cbreak test routine using .ph
-h2pl/tcbreak2 cbreak test routine using .pl
-handy.h Handy definitions
-hints/3b1.sh
-hints/3b1cc
-hints/3b2.sh
-hints/aix_rs.sh
-hints/aix_rt.sh
-hints/altos486.sh
-hints/apollo_C6_7.sh
-hints/apollo_C6_8.sh
-hints/aux.sh
-hints/cray.sh
-hints/dec_osf_1.sh
-hints/dec_osf_2.sh
-hints/dec_osf_3.sh
-hints/dgux.sh
-hints/dnix.sh
-hints/dynix.sh
-hints/fps.sh
-hints/genix.sh
-hints/greenhills.sh
-hints/hp9000_300.sh
-hints/hp9000_400.sh
-hints/hp9000_700.sh
-hints/hp9000_800.sh
-hints/hpux.sh
-hints/i386.sh
-hints/isc_3_2_2.sh
-hints/isc_3_2_3.sh
-hints/mc6000.sh
-hints/mips.sh
-hints/mpc.sh
-hints/ncr_tower.sh
-hints/next.sh
-hints/next_3_2.sh
-hints/opus.sh
-hints/osf1.sh
-hints/sco_2_3_0.sh
-hints/sco_2_3_1.sh
-hints/sco_2_3_2.sh
-hints/sco_2_3_3.sh
-hints/sco_2_3_4.sh
-hints/sco_3.sh
-hints/sgi.sh
-hints/solaris_2_0.sh
-hints/solaris_2_1.sh
-hints/solaris_2_2.sh
-hints/solaris_2_3.sh
-hints/stellar.sh
-hints/sunos_3_4.sh
-hints/sunos_3_5.sh
-hints/sunos_4_0_1.sh
-hints/sunos_4_0_2.sh
-hints/sunos_4_1_2.sh
-hints/sunos_4_1_3.sh
-hints/svr4.sh
-hints/ti1500.sh
-hints/titan.sh
-hints/ultrix_1.sh
-hints/ultrix_3.sh
-hints/ultrix_4.sh
-hints/unisysdynix.sh
-hints/utekv.sh
-hints/uts.sh
-hints/vax.sh
-hv.c
-hv.h
-hvdbm.h
-installperl Perl script to do "make install" dirty work
-interp.sym
-ioctl.pl Sample ioctl.pl
-keywords.h
-lib/AutoLoader.pm
-lib/English.pm
-lib/Exporter.pm
-lib/FOOBAR.pm
-lib/FileHandle.pm
-lib/Hostname.pm
-lib/NDBM_File.pm
-lib/POSIX.pm
-lib/SDBM_File.pm
-lib/abbrev.pl An abbreviation table builder
-lib/assert.pl assertion and panic with stack trace
-lib/bigfloat.pl An arbitrary precision floating point package
-lib/bigint.pl An arbitrary precision integer arithmetic package
-lib/bigrat.pl An arbitrary precision rational arithmetic package
-lib/cacheout.pl Manages output filehandles when you need too many
-lib/chat2.pl Randal's famous expect-ish routines
-lib/complete.pl A command completion subroutine
-lib/ctime.pl A ctime workalike
-lib/dotsh.pl.art
-lib/dumpvar.pl A variable dumper
-lib/exceptions.pl catch and throw routines
-lib/fastcwd.pl a faster but more dangerous getcwd
-lib/find.pl A find emulator--used by find2perl
-lib/finddepth.pl A depth-first find emulator--used by find2perl
-lib/flush.pl Routines to do single flush
-lib/ftp.pl
-lib/getcwd.pl a getcwd() emulator
-lib/getopt.pl Perl library supporting option parsing
-lib/getopts.pl Perl library supporting option parsing
-lib/hostname.pl
-lib/importenv.pl Perl routine to get environment into variables
-lib/look.pl A "look" equivalent
-lib/newgetopt.pl A perl library supporting long option parsing
-lib/open2.pl
-lib/open3.pl
-lib/perldb.pl Perl debugging routines
-lib/pwd.pl Routines to keep track of PWD environment variable
-lib/quotewords.pl.art
-lib/shellwords.pl Perl library to split into words with shell quoting
-lib/soundex.pl.art
-lib/stat.pl Perl library supporting stat function
-lib/syslog.pl Perl library supporting syslogging
-lib/tainted.pl
-lib/termcap.pl Perl library supporting termcap usage
-lib/timelocal.pl Perl library supporting inverse of localtime, gmtime
-lib/validate.pl Perl library supporting wholesale file mode validation
-makedepend.SH Precursor to makedepend
-makedir.SH Precursor to makedir
-makefile.lib make libperl.a
-malloc.c A version of malloc you might not want
-mg.c
-mg.h
-miniperlmain.c Basic perl w/o dynamic loading or extensions.
-msdos/Changes.dds Expanation of MS-DOS patches by Diomidis Spinellis
-msdos/Makefile MS-DOS makefile
-msdos/README.msdos Compiling and usage information
-msdos/Wishlist.dds My wishlist
-msdos/chdir.c A chdir that can change drives
-msdos/config.h Definitions for msdos
-msdos/dir.h MS-DOS header for directory access functions
-msdos/directory.c MS-DOS directory access functions.
-msdos/eg/crlf.bat Convert files from unix to MS-DOS line termination
-msdos/eg/drives.bat List the system drives and their characteristics
-msdos/eg/lf.bat Convert files from MS-DOS to Unix line termination
-msdos/glob.c A command equivalent to csh glob
-msdos/msdos.c MS-DOS ioctl, sleep, gete?[gu]if, spawn, aspawn
-msdos/popen.c My_popen and my_pclose for MS-DOS
-msdos/usage.c How to invoke perl under MS-DOS
-opcode.h
-opcode.pl
-os2/Makefile Makefile for OS/2
-os2/README.OS2 Notes for OS/2
-os2/a2p.cs Compiler script for a2p
-os2/a2p.def Linker defs for a2p
-os2/alarm.c An implementation of alarm()
-os2/alarm.h Header file for same
-os2/config.h Configuration file for OS/2
-os2/crypt.c
-os2/dir.h Directory header
-os2/director.c Directory routines
-os2/eg/alarm.pl Example of alarm code
-os2/eg/os2.pl Sample script for OS/2
-os2/eg/syscalls.pl Example of syscall on OS/2
-os2/glob.c Globbing routines
-os2/makefile Make file
-os2/mktemp.c Mktemp() using TMP
-os2/os2.c Unix compatibility functions
-os2/perl.bad names of protect-only API calls for BIND
-os2/perl.cs Compiler script for perl
-os2/perl.def Linker defs for perl
-os2/perldb.dif Changes to make the debugger work
-os2/perlglob.bad names of protect-only API calls for BIND
-os2/perlglob.cs Compiler script for perlglob
-os2/perlglob.def Linker defs for perlglob
-os2/perlsh.cmd Poor man's shell for os2
-os2/popen.c Code for opening pipes
-os2/s2p.cmd s2p as command file
-os2/selfrun.bat A self running perl script for DOS
-os2/selfrun.cmd Example of extproc feature
-os2/suffix.c Code for creating backup filenames
-os2/tests.dif
-patchlevel.h The current patch level of perl
-perl.c main()
-perl.h Global declarations
-perl.man The manual page(s)
-perlsh A poor man's perl shell
-perly.c
-perly.c.byacc
-perly.c.diff
-perly.c.yacc
-perly.fixer A program to remove yacc stack limitations
-perly.h.yacc
-perly.y Yacc grammar for perl
-perly.y.save
-pp.c Push/Pop code
-pp.h Push/Pop code defs
-proto.h
-protos
-regcomp.c Regular expression compiler
-regcomp.h Private declarations for above
-regexec.c Regular expression evaluator
-regexp.h Public declarations for the above
-scope.c
-scope.h
-server A server to test sockets
-sortfunc
-sv.c
-sv.h
-t/README Instructions for regression tests
-t/TEST The regression tester
-t/base/cond.t See if conditionals work
-t/base/if.t See if if works
-t/base/lex.t See if lexical items work
-t/base/pat.t See if pattern matching works
-t/base/term.t See if various terms work
-t/cmd/elsif.t See if else-if works
-t/cmd/for.t See if for loops work
-t/cmd/mod.t See if statement modifiers work
-t/cmd/subval.t See if subroutine values work
-t/cmd/switch.t See if switch optimizations work
-t/cmd/while.t See if while loops work
-t/comp/cmdopt.t See if command optimization works
-t/comp/cpp.t See if C preprocessor works
-t/comp/decl.t See if declarations work
-t/comp/multiline.t See if multiline strings work
-t/comp/package.t See if packages work
-t/comp/script.t See if script invokation works
-t/comp/term.t See if more terms work
-t/io/argv.t See if ARGV stuff works
-t/io/dup.t See if >& works right
-t/io/fs.t See if directory manipulations work
-t/io/inplace.t See if inplace editing works
-t/io/pipe.t See if secure pipes work
-t/io/print.t See if print commands work
-t/io/tell.t See if file seeking works
-t/lib/bigint.t
-t/lib/english.t
-t/lib/ndbm.t
-t/lib/sdbm.t
-t/op/append.t See if . works
-t/op/array.t See if array operations work
-t/op/auto.t See if autoincrement et all work
-t/op/chop.t See if chop works
-t/op/cond.t See if conditional expressions work
-t/op/delete.t See if delete works
-t/op/do.t See if subroutines work
-t/op/each.t See if associative iterators work
-t/op/eval.t See if eval operator works
-t/op/exec.t See if exec and system work
-t/op/exp.t See if math functions work
-t/op/flip.t See if range operator works
-t/op/fork.t See if fork works
-t/op/glob.t See if <*> works
-t/op/goto.t See if goto works
-t/op/groups.t See if $( works
-t/op/index.t See if index works
-t/op/int.t See if int works
-t/op/join.t See if join works
-t/op/list.t See if array lists work
-t/op/local.t See if local works
-t/op/magic.t See if magic variables work
-t/op/mkdir.t See if mkdir works
-t/op/my.t
-t/op/oct.t See if oct and hex work
-t/op/ord.t See if ord works
-t/op/pack.t See if pack and unpack work
-t/op/pat.t See if esoteric patterns work
-t/op/push.t See if push and pop work
-t/op/range.t See if .. works
-t/op/re_tests Input file for op.regexp
-t/op/read.t See if read() works
-t/op/readdir.t See if readdir() works
-t/op/ref.t
-t/op/regexp.t See if regular expressions work
-t/op/repeat.t See if x operator works
-t/op/sleep.t See if sleep works
-t/op/sort.t See if sort works
-t/op/split.t See if split works
-t/op/sprintf.t See if sprintf works
-t/op/stat.t See if stat works
-t/op/study.t See if study works
-t/op/subst.t
-t/op/substr.t See if substr works
-t/op/time.t See if time functions work
-t/op/undef.t See if undef works
-t/op/unshift.t See if unshift works
-t/op/vec.t See if vectors work
-t/op/write.t See if write works
-taint.c
-toke.c The tokener
-unixish.h
-usersub.c User supplied (possibly proprietary) subroutines
-util.c Utility routines
-util.h Public declarations for the above
-writemain.SH Generate perlmain.c from miniperlmain.c+extensions.
-x2p/EXTERN.h Same as above
-x2p/INTERN.h Same as above
-x2p/Makefile.SH Precursor to Makefile
-x2p/a2p.h Global declarations
-x2p/a2p.man Manual page for awk to perl translator
-x2p/a2p.y A yacc grammer for awk
-x2p/a2py.c Awk compiler, sort of
-x2p/cflags.SH A script that emits C compilation flags per file
-x2p/find2perl.SH A find to perl translator
-x2p/handy.h Handy definitions
-x2p/hash.c Associative arrays again
-x2p/hash.h Public declarations for the above
-x2p/malloc.c
-x2p/s2p.SH Sed to perl translator
-x2p/s2p.man Manual page for sed to perl translator
-x2p/str.c String handling package
-x2p/str.h Public declarations for the above
-x2p/util.c Utility routines
-x2p/util.h Public declarations for the above
-x2p/walk.c Parse tree walker
311 Makefile
View
@@ -1,311 +0,0 @@
-# .SH,v $Revision: 4.1 $Date: 92/08/07 17:18:08 $
-# This file is derived from Makefile.SH. Any changes made here will
-# be lost the next time you run Configure.
-# Makefile is used to generate makefile. The only difference
-# is that makefile has the dependencies filled in at the end.
-#
-# $Log: Makefile.SH,v $
-# Revision 4.1 92/08/07 17:18:08 lwall
-# Stage 6 Snapshot
-#
-# Revision 4.0.1.4 92/06/08 11:40:43 lwall
-# patch20: cray didn't give enough memory to /bin/sh
-# patch20: various and sundry fixes
-#
-# Revision 4.0.1.3 91/11/05 15:48:11 lwall
-# patch11: saberized perl
-# patch11: added support for dbz
-#
-# Revision 4.0.1.2 91/06/07 10:14:43 lwall
-# patch4: cflags now emits entire cc command except for the filename
-# patch4: alternate make programs are now semi-supported
-# patch4: uperl.o no longer tries to link in libraries prematurely
-# patch4: installperl now installs x2p stuff too
-#
-# Revision 4.0.1.1 91/04/11 17:30:39 lwall
-# patch1: C flags are now settable on a per-file basis
-#
-# Revision 4.0 91/03/20 00:58:54 lwall
-# 4.0 baseline.
-#
-#
-
-# I now supply perly.c with the kits, so don't remake perly.c without byacc
-BYACC = byacc
-CC = cc
-bin = /usr/local/bin
-scriptdir = /usr/local/bin
-privlib = /usr/local/lib/perl
-mansrc = /usr/local/man/man1
-manext = 1
-LDFLAGS =
-CLDFLAGS =
-
-SMALL =
-LARGE =
-mallocsrc = malloc.c
-mallocobj = malloc.o
-dlsrc = dl_sunos.c
-dlobj = dl_sunos.o
-dldir = ext/dl
-LNS = /bin/ln -s
-RMS = rm -f
-ranlib = /usr/bin/ranlib
-
-# The following are used to build and install shared libraries for
-# dynamic loading.
-LDDLFLAGS =
-CCDLFLAGS =
-CCCDLFLAGS =
-SHLIBSUFFIX = .so
-
-libs = -ldbm -ldl -lm -lposix
-
-public = perl
-
-shellflags =
-
-## To use an alternate make, set in config.sh.
-MAKE = make
-
-CCCMD = `sh $(shellflags) cflags $@`
-
-private =
-
-scripts = h2ph
-
-manpages = perl.man h2ph.man
-
-util =
-
-sh = Makefile.SH cflags.SH embed_h.SH makedepend.SH makedir.SH writemain.SH
-
-h1 = EXTERN.h INTERN.h av.h cop.h config.h embed.h form.h handy.h
-h2 = hv.h op.h opcode.h perl.h regcomp.h regexp.h gv.h sv.h util.h
-
-h1 = EXTERN.h INTERN.h XSUB.h av.h config.h cop.h cv.h dosish.h
-h2 = embed.h form.h gv.h handy.h hv.h hvdbm.h keywords.h mg.h op.h
-h3 = opcode.h patchlevel.h perl.h perly.h pp.h proto.h regcomp.h
-h4 = regexp.h scope.h sv.h unixish.h util.h
-h = $(h1) $(h2) $(h3) $(h4)
-
-c1 = av.c scope.c op.c doop.c doio.c dump.c hv.c
-c2 = $(mallocsrc) mg.c perly.c pp.c regcomp.c regexec.c
-c3 = gv.c sv.c taint.c toke.c util.c deb.c run.c
-
-c = $(c1) $(c2) $(c3) $(dlsrc) miniperlmain.c perlmain.c
-
-s1 = av.c scope.c op.c doop.c doio.c dump.c hv.c
-s2 = $(mallocsrc) mg.c perly.c pp.c regcomp.c regexec.c
-s3 = gv.c sv.c taint.c toke.c util.c deb.c run.c perly.c
-
-saber = $(s1) $(s2) $(s3) $(dlsrc)
-
-obj1 = av.o scope.o op.o doop.o doio.o dump.o hv.o
-obj2 = $(mallocobj) mg.o perly.o pp.o regcomp.o regexec.o
-obj3 = gv.o sv.o taint.o toke.o util.o deb.o run.o
-
-obj = $(obj1) $(obj2) $(obj3)
-
-lintflags = -hbvxac
-
-addedbyconf = Makefile.old bsd eunice filexp loc pdp11 usg v7
-
-# grrr
-SHELL = /bin/sh
-
-.c.o:
- $(CCCMD) $*.c
-
-all: miniperl perl lib/Config.pm
-
-#all: $(public) $(private) $(util) $(scripts)
-# cd x2p; $(MAKE) all
-# touch all
-
-# Phony target to force checking subdirectories.
-FORCE:
-
-
-$(dlsrc): $(dldir)/$(dlsrc)
- cp $(dldir)/$(dlsrc) $(dlsrc)
-
-$(dlobj): $(dlsrc)
- $(CCCMD) $(dlsrc)
-
-
-# NDBM_File extension
-NDBM_File.o: NDBM_File.c
- $(CCCMD) $(CCCDLFLAGS) $*.c
-
-NDBM_File.c: ext/dbm/NDBM_File.xs ext/xsubpp ext/typemap
- test -f miniperl || make miniperl
- ./miniperl ext/xsubpp ext/dbm/NDBM_File.xs >tmp
- mv tmp NDBM_File.c
-
-lib/auto/NDBM_File/NDBM_File$(SHLIBSUFFIX): NDBM_File.o
- test -d lib/auto/NDBM_File || mkdir lib/auto/NDBM_File
- ld $(LDDLFLAGS) -o $@ NDBM_File.o
-
-# ODBM_File extension
-ODBM_File.o: ODBM_File.c
- $(CCCMD) $(CCCDLFLAGS) $*.c
-
-ODBM_File.c: ext/dbm/ODBM_File.xs ext/xsubpp ext/typemap
- test -f miniperl || make miniperl
- ./miniperl ext/xsubpp ext/dbm/ODBM_File.xs >tmp
- mv tmp ODBM_File.c
-
-lib/auto/ODBM_File/ODBM_File$(SHLIBSUFFIX): ODBM_File.o
- test -d lib/auto/ODBM_File || mkdir lib/auto/ODBM_File
- ld $(LDDLFLAGS) -o $@ ODBM_File.o
-
-# SDBM_File extension
-SDBM_File.o: SDBM_File.c
- $(CCCMD) $(CCCDLFLAGS) $*.c
-
-SDBM_File.c: ext/dbm/SDBM_File.xs ext/xsubpp ext/typemap
- test -f miniperl || make miniperl
- ./miniperl ext/xsubpp ext/dbm/SDBM_File.xs >tmp
- mv tmp SDBM_File.c
-
-lib/auto/SDBM_File/SDBM_File$(SHLIBSUFFIX): SDBM_File.o ext/dbm/sdbm/libsdbm.a
- test -d lib/auto/SDBM_File || mkdir lib/auto/SDBM_File
- ld $(LDDLFLAGS) -o $@ SDBM_File.o ext/dbm/sdbm/libsdbm.a
-
-# POSIX extension
-POSIX.o: POSIX.c
- $(CCCMD) $(CCCDLFLAGS) $*.c
-
-POSIX.c: ext/posix/POSIX.xs ext/xsubpp ext/typemap
- test -f miniperl || make miniperl
- ./miniperl ext/xsubpp ext/posix/POSIX.xs >tmp
- mv tmp POSIX.c
-
-lib/auto/POSIX/POSIX$(SHLIBSUFFIX): POSIX.o
- test -d lib/auto/POSIX || mkdir lib/auto/POSIX
- ld $(LDDLFLAGS) -o $@ POSIX.o -lm
-
-# List of extensions (used by writemain) to generate perlmain.c
-ext= NDBM_File ODBM_File SDBM_File POSIX
-extsrc= NDBM_File.c ODBM_File.c SDBM_File.c POSIX.c
-# Extension dependencies.
-extdep= lib/auto/NDBM_File/NDBM_File$(SHLIBSUFFIX) lib/auto/ODBM_File/ODBM_File$(SHLIBSUFFIX) lib/auto/SDBM_File/SDBM_File$(SHLIBSUFFIX) lib/auto/POSIX/POSIX$(SHLIBSUFFIX)
-# How to include extensions in linking command
-extobj=
-
-ext/dbm/sdbm/libsdbm.a: ext/dbm/sdbm/sdbm.h ext/dbm/sdbm/sdbm.c
- cd ext/dbm/sdbm; $(MAKE) -f Makefile libsdbm.a
-
-# The $& notation tells Sequent machines that it can do a parallel make,
-# and is harmless otherwise.
-
-miniperl: $& miniperlmain.o perl.o $(obj)
- $(CC) $(LARGE) $(CLDFLAGS) -o miniperl miniperlmain.o perl.o $(obj) $(libs)
-
-perlmain.c: miniperlmain.c
- sh writemain $(ext) > perlmain.c
-
-perlmain.o: perlmain.c
-
-perl: $& perlmain.o perl.o $(obj) $(dlobj) $(extdep)
- $(CC) $(LARGE) $(CLDFLAGS) $(CCDLFLAGS) -o perl perlmain.o perl.o $(obj) $(dlobj) $(extobj) $(libs)
-
-libperl.rlb: libperl.a
- $(ranlib) libperl.a
- touch libperl.rlb
-
-libperl.a: $& perl.o $(obj)
- ar rcuv libperl.a $(obj)
-
-# This version, if specified in Configure, does ONLY those scripts which need
-# set-id emulation. Suidperl must be setuid root. It contains the "taint"
-# checks as well as the special code to validate that the script in question
-# has been invoked correctly.
-
-suidperl: $& sperl.o perlmain.o libperl.rlb
- $(CC) $(LARGE) $(CLDFLAGS) sperl.o perlmain.o libperl.a $(libs) -o suidperl
-
-lib/Config.pm: config.sh miniperl
- ./miniperl configpm
-
-saber: $(saber)
- # load $(saber)
- # load /lib/libm.a
-
-sperl.o: perl.c perly.h patchlevel.h $(h)
- $(RMS) sperl.c
- $(LNS) perl.c sperl.c
- $(CCCMD) -DIAMSUID sperl.c
- $(RMS) sperl.c
-
-perly.h: perly.c
- @ echo Dummy dependency for dumb parallel make
- touch perly.h
-
-opcode.h: opcode.pl
- - perl opcode.pl
-
-embed.h: embed_h.SH global.sym interp.sym
- sh embed_h.SH
-
-perly.c:
- @ echo 'Expect' 80 shift/reduce and 62 reduce/reduce conflicts
- $(BYACC) -d perly.y
- sh $(shellflags) ./perly.fixer y.tab.c perly.c
- mv y.tab.h perly.h
- echo 'extern YYSTYPE yylval;' >>perly.h
-
-perly.o: perly.c perly.h $(h)
- $(CCCMD) perly.c
-
-install: all
- ./perl installperl
-
-clean:
- rm -f *.o all perl miniperl
- rm -f POSIX.c ?DBM_File.c perlmain.c
- rm -f ext/dbm/sdbm/libsdbm.a
- cd ext/dbm/sdbm; $(MAKE) -f Makefile clean
- cd x2p; $(MAKE) clean
-
-realclean: clean
- cd x2p; $(MAKE) realclean
- cd ext/dbm/sdbm; $(MAKE) -f Makefile realclean
- rm -f *.orig */*.orig *~ */*~ core $(addedbyconf) h2ph h2ph.man
- rm -f Makefile cflags embed_h makedepend makedir writemain
- rm -f config.h t/perl makefile makefile.old cflags
- rm -rf lib/auto/?DBM_File lib/auto/POSIX
- rm -f x2p/Makefile x2p/makefile x2p/makefile.old x2p/cflags
- rm -f lib/Config.pm
- rm -f c2ph pstruct
-
-# The following lint has practically everything turned on. Unfortunately,
-# you have to wade through a lot of mumbo jumbo that can't be suppressed.
-# If the source file has a /*NOSTRICT*/ somewhere, ignore the lint message
-# for that spot.
-
-lint: perly.c $(c)
- lint $(lintflags) $(defs) perly.c $(c) > perl.fuzz
-
-depend: makedepend
- - test -f perly.h || cp /dev/null perly.h
- ./makedepend
- - test -s perly.h || /bin/rm -f perly.h
- cd x2p; $(MAKE) depend
-
-test: perl lib/Config.pm
- - cd t && chmod +x TEST */*.t
- - cd t && (rm -f perl; $(LNS) ../perl perl) && ./perl TEST </dev/tty
-
-clist: $(c)
- echo $(c) | tr ' ' '\012' >.clist
-
-hlist: $(h)
- echo $(h) | tr ' ' '\012' >.hlist
-
-shlist: $(sh)
- echo $(sh) | tr ' ' '\012' >.shlist
-
-# AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
-# If this runs make out of memory, delete /usr/include lines.
374 Makefile.SH
View
@@ -22,51 +22,43 @@ case "$d_dosuid" in
*) suidperl='';;
esac
-: Certain parts of Makefile need to be commented out if dynamic
-: loading is not used.
-case "$usedl" in
-define) comment='' ;;
-*) comment='#' ;;
+: Configure sets byacc=byacc if byacc is not found. We reset it to ''
+case "$byacc" in
+''|'byacc') byacc='';;
esac
+: Prepare dependency lists for Makefile.
+dynamic_list=' '
+for f in $dynamic_ext; do
+ : the dependency named here will never exist
+ dynamic_list="$dynamic_list $f.$dlext"
+done
+
+static_list=' '
+static_ai_list=' '
+for f in $static_ext; do
+ base=`echo "$f" | sed 's/.*\///'`
+ static_list="$static_list ext/$f/$base.a"
+ if test -f ext/$f/AutoInit.c; then
+ static_ai_list="$static_ai_list ext/$f/AutoInit.c"
+ fi
+ if test -f ext/$f/AutoInit.pl; then
+ static_ai_list="$static_ai_list ext/$f/AutoInit.pl"
+ fi
+done
+
echo "Extracting Makefile (with variable substitutions)"
-: This section of the file will have variable substitutions done on it.
-: Move anything that needs config subs from !NO!SUBS! section to !GROK!THIS!.
-: Protect any dollar signs and backticks that you do not want interpreted
-: by putting a backslash in front. You may delete these comments.
-$spitshell >Makefile <<!GROK!THIS!
-# $Makefile.SH,v $Revision: 4.1 $Date: 92/08/07 17:18:08 $
+$spitshell >Makefile <<'!NO!SUBS!'
+# Makefile.SH
# This file is derived from Makefile.SH. Any changes made here will
# be lost the next time you run Configure.
# Makefile is used to generate makefile. The only difference
# is that makefile has the dependencies filled in at the end.
#
-# \$Log: Makefile.SH,v \$
-# Revision 4.1 92/08/07 17:18:08 lwall
-# Stage 6 Snapshot
-#
-# Revision 4.0.1.4 92/06/08 11:40:43 lwall
-# patch20: cray didn't give enough memory to /bin/sh
-# patch20: various and sundry fixes
-#
-# Revision 4.0.1.3 91/11/05 15:48:11 lwall
-# patch11: saberized perl
-# patch11: added support for dbz
-#
-# Revision 4.0.1.2 91/06/07 10:14:43 lwall
-# patch4: cflags now emits entire cc command except for the filename
-# patch4: alternate make programs are now semi-supported
-# patch4: uperl.o no longer tries to link in libraries prematurely
-# patch4: installperl now installs x2p stuff too
-#
-# Revision 4.0.1.1 91/04/11 17:30:39 lwall
-# patch1: C flags are now settable on a per-file basis
-#
-# Revision 4.0 91/03/20 00:58:54 lwall
-# 4.0 baseline.
-#
#
+!NO!SUBS!
+$spitshell >>Makefile <<!GROK!THIS!
# I now supply perly.c with the kits, so don't remake perly.c without byacc
BYACC = $byacc
CC = $cc
@@ -82,9 +74,6 @@ SMALL = $small
LARGE = $large $split
mallocsrc = $mallocsrc
mallocobj = $mallocobj
-dlsrc = $dlsrc
-dlobj = $dlobj
-dldir = $dldir
LNS = $lns
RMS = rm -f
ranlib = $ranlib
@@ -94,7 +83,13 @@ ranlib = $ranlib
LDDLFLAGS = $lddlflags
CCDLFLAGS = $ccdlflags
CCCDLFLAGS = $cccdlflags
-SHLIBSUFFIX = $shlibsuffix
+DLSUFFIX = .$dlext
+
+dynamic_ext = $dynamic_list
+static_ext = $static_list
+ext = \$(dynamic_ext) \$(static_ext)
+static_ext_autoinit = $static_ai_list
+DYNALOADER = ext/DynaLoader/DynaLoader.a
libs = $libs $cryptlib
@@ -102,55 +97,57 @@ public = perl $suidperl
shellflags = $shellflags
-## To use an alternate make, set $altmake in config.sh.
+## To use an alternate make, set \$altmake in config.sh.
MAKE = ${altmake-make}
!GROK!THIS!
## In the following dollars and backticks do not need the extra backslash.
$spitshell >>Makefile <<'!NO!SUBS!'
-CCCMD = `sh $(shellflags) cflags $@`
+CCCMD = `sh $(shellflags) cflags $(perllib) $@`
private =
-scripts = h2ph
+scripts =
-manpages = perl.man h2ph.man
+manpages = perl.man
util =
sh = Makefile.SH cflags.SH embed_h.SH makedepend.SH makedir.SH writemain.SH
-h1 = EXTERN.h INTERN.h av.h cop.h config.h embed.h form.h handy.h
-h2 = hv.h op.h opcode.h perl.h regcomp.h regexp.h gv.h sv.h util.h
-
h1 = EXTERN.h INTERN.h XSUB.h av.h config.h cop.h cv.h dosish.h
-h2 = embed.h form.h gv.h handy.h hv.h hvdbm.h keywords.h mg.h op.h
+h2 = embed.h form.h gv.h handy.h hv.h keywords.h mg.h op.h
h3 = opcode.h patchlevel.h perl.h perly.h pp.h proto.h regcomp.h
h4 = regexp.h scope.h sv.h unixish.h util.h
h = $(h1) $(h2) $(h3) $(h4)
-c1 = av.c scope.c op.c doop.c doio.c dump.c hv.c
-c2 = $(mallocsrc) mg.c perly.c pp.c regcomp.c regexec.c
+c1 = $(mallocsrc) av.c scope.c op.c doop.c doio.c dump.c hv.c mg.c
+c2 = perl.c perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c
c3 = gv.c sv.c taint.c toke.c util.c deb.c run.c
-c = $(c1) $(c2) $(c3) $(dlsrc) miniperlmain.c perlmain.c
-
-s1 = av.c scope.c op.c doop.c doio.c dump.c hv.c
-s2 = $(mallocsrc) mg.c perly.c pp.c regcomp.c regexec.c
-s3 = gv.c sv.c taint.c toke.c util.c deb.c run.c perly.c
-
-saber = $(s1) $(s2) $(s3) $(dlsrc)
+c = $(c1) $(c2) $(c3) miniperlmain.c perlmain.c
-obj1 = av.o scope.o op.o doop.o doio.o dump.o hv.o
-obj2 = $(mallocobj) mg.o perly.o pp.o regcomp.o regexec.o
-obj3 = gv.o sv.o taint.o toke.o util.o deb.o run.o
+obj1 = $(mallocobj) gv.o toke.o perly.o op.o regcomp.o dump.o util.o mg.o
+obj2 = hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o
+obj3 = doop.o doio.o regexec.o taint.o deb.o
obj = $(obj1) $(obj2) $(obj3)
+# Once perl has been Configure'd and built ok you build different
+# perl variants (Debugging, Embedded, Multiplicity etc) by saying:
+# make clean; make perllib=libperl<type>.a
+# where <type> is some combination of 'd' and(or) 'e' or 'm'.
+# See cflags to understand how this works.
+#
+# Eventually some form of 'make-a-perl' script will automate this
+# together with linking a perl executable with any desired
+# static modules.
+perllib = libperl.a
+
lintflags = -hbvxac
-addedbyconf = Makefile.old bsd eunice filexp loc pdp11 usg v7
+addedbyconf = UU
# grrr
SHELL = /bin/sh
@@ -158,142 +155,55 @@ SHELL = /bin/sh
.c.o:
$(CCCMD) $*.c
-all: miniperl perl lib/Config.pm
-
-#all: $(public) $(private) $(util) $(scripts)
-# cd x2p; $(MAKE) all
-# touch all
+all: makefile miniperl preplibrary $(public) $(dynamic_ext)
+ @echo " "; echo " Making x2p stuff"; cd x2p; $(MAKE) all
+ @echo " "; echo " Making docs"; cd pod; $(MAKE) all;
# Phony target to force checking subdirectories.
FORCE:
!NO!SUBS!
-### Some makes have problems with the following dependency
-### if $(dlsrc) or $(dlobj) is empty.
-### Therefore, comment it out if dlsrc is null.
-###
-$spitshell >>Makefile <<!GROK!THIS!
-${comment}
-${comment}\$(dlsrc): \$(dldir)/\$(dlsrc)
-${comment} cp \$(dldir)/\$(dlsrc) \$(dlsrc)
-
-${comment}\$(dlobj): \$(dlsrc)
-${comment} \$(CCCMD) \$(dlsrc)
-
-!GROK!THIS!
-
-###
-### Boilerplate for all the .xs files in the ext directory.
-### XXX FIXME: At some point we also need to copy .pm files out of
-### XXX the ext directory into lib.
-### XXX FIXME: At some point we need to run autosplit on the .pm
-### XXX files.
-### Configure sets extensions to a string like
-### "ext/dbm/NDBM_File.xs ext/dbm/ODBM_File.xs ext/dbm/GDBM_File.xs \
-### ext/dbm/SDBM_File.xs ext/posix/POSIX.xs"
-ext=" "
-extdep=" "
-extobj=" "
-extsrc=" "
-# extradep gives any extra dependencies of this extension.
-# extraobj gives any extra thinks to link with this extension.
-for f in $extensions
-do
- base=`echo $f | $sed -e 's@.*/\(.*\).xs@\1@'`
- ext="$ext $base"
- extsrc="$extsrc $base.c"
- case $base in
- SDBM_File) extradep="ext/dbm/sdbm/libsdbm.a"
- extraobj="ext/dbm/sdbm/libsdbm.a" ;;
- POSIX) extradep=""
- extraobj="-lm" ;;
- *) extradep=""
- extraobj="" ;;
- esac
- case "$usedl" in
- define) extdep="$extdep lib/auto/$base/${base}\$(SHLIBSUFFIX)"
- ;;
- *) extdep="$extdep $base.o $extradep"
- extobj="$extobj $base.o $extraobj" ;;
- esac
-
- $spitshell >>Makefile <<!GROK!THIS!
-
-# $base extension
-$base.o: $base.c
- \$(CCCMD) \$(CCCDLFLAGS) \$*.c
-
-$base.c: $f ext/xsubpp ext/typemap
- test -f miniperl || make miniperl
- ./miniperl ext/xsubpp $f >tmp
- mv tmp $base.c
-
-${comment}lib/auto/$base/$base\$(SHLIBSUFFIX): $base.o $extradep
-${comment} test -d lib/auto/$base || mkdir lib/auto/$base
-${comment} ld \$(LDDLFLAGS) -o \$@ $base.o $extraobj
-!GROK!THIS!
-
-done
-
-$spitshell >>Makefile <<!GROK!THIS!
-
-# List of extensions (used by writemain) to generate perlmain.c
-ext=$ext
-extsrc=$extsrc
-# Extension dependencies.
-extdep=$extdep
-# How to include extensions in linking command
-extobj=$extobj
-
-ext/dbm/sdbm/libsdbm.a: ext/dbm/sdbm/sdbm.h ext/dbm/sdbm/sdbm.c
- cd ext/dbm/sdbm; \$(MAKE) -f Makefile libsdbm.a
-
-!GROK!THIS!
-
-### Now on to the rest of the Makefile.
+: Now on to the rest of the Makefile.
$spitshell >>Makefile <<'!NO!SUBS!'
# The $& notation tells Sequent machines that it can do a parallel make,
# and is harmless otherwise.
-miniperl: $& miniperlmain.o perl.o $(obj)
- $(CC) $(LARGE) $(CLDFLAGS) -o miniperl miniperlmain.o perl.o $(obj) $(libs)
+miniperl: $& miniperlmain.o $(perllib)
+ $(CC) $(LARGE) $(CLDFLAGS) -o miniperl miniperlmain.o $(perllib) $(libs)
-perlmain.c: miniperlmain.c
- sh writemain $(ext) > perlmain.c
+perlmain.c: miniperlmain.c config.sh makefile $(static_ext_autoinit)
+ sh writemain $(DYNALOADER) $(static_ext) > tmp
+ sh mv-if-diff tmp perlmain.c
perlmain.o: perlmain.c
-perl: $& perlmain.o perl.o $(obj) $(dlobj) $(extdep)
- $(CC) $(LARGE) $(CLDFLAGS) $(CCDLFLAGS) -o perl perlmain.o perl.o $(obj) $(dlobj) $(extobj) $(libs)
+# The file ext.libs is a list of libraries that must be linked in
+# for static extensions, e.g. -lm -lgdbm, etc. The individual
+# static extension Makefile's add to it.
+ext.libs: $(static_ext)
+ -@test -f ext.libs || touch ext.libs
-pureperl: $& perlmain.o perl.o $(obj) $(dlobj) $(extdep)
- purify $(CC) $(LARGE) $(CLDFLAGS) $(CCDLFLAGS) -o pureperl perlmain.o perl.o $(obj) $(dlobj) $(extobj) $(libs)
+perl: $& perlmain.o $(perllib) $(DYNALOADER) $(static_ext) ext.libs
+ $(CC) $(LARGE) $(CLDFLAGS) $(CCDLFLAGS) -o perl perlmain.o $(perllib) $(DYNALOADER) $(static_ext) `cat ext.libs` $(libs)
-quantperl: $& perlmain.o perl.o $(obj) $(dlobj) $(extdep)
- quantify $(CC) $(LARGE) $(CLDFLAGS) $(CCDLFLAGS) -o quantperl perlmain.o perl.o $(obj) $(dlobj) $(extobj) $(libs)
+pureperl: $& perlmain.o $(perllib) $(DYNALOADER) $(static_ext) ext.libs
+ purify $(CC) $(LARGE) $(CLDFLAGS) $(CCDLFLAGS) -o pureperl perlmain.o $(perllib) $(DYNALOADER) $(static_ext) `cat ext.libs` $(libs)
-libperl.rlb: libperl.a
- $(ranlib) libperl.a
- touch libperl.rlb
+quantperl: $& perlmain.o $(perllib) $(DYNALOADER) $(static_ext) ext.libs
+ quantify $(CC) $(LARGE) $(CLDFLAGS) $(CCDLFLAGS) -o quantperl perlmain.o $(perllib) $(DYNALOADER) $(static_ext) `cat ext.libs` $(libs)
-libperl.a: $& perl.o $(obj)
- ar rcuv libperl.a $(obj)
+$(perllib): $& perl.o $(obj)
+ ar rcu $(perllib) perl.o $(obj)
+ @$(ranlib) $(perllib)
# This version, if specified in Configure, does ONLY those scripts which need
# set-id emulation. Suidperl must be setuid root. It contains the "taint"
# checks as well as the special code to validate that the script in question
# has been invoked correctly.
-suidperl: $& sperl.o perlmain.o libperl.rlb
- $(CC) $(LARGE) $(CLDFLAGS) sperl.o perlmain.o libperl.a $(libs) -o suidperl
-
-lib/Config.pm: config.sh miniperl
- ./miniperl configpm
-
-saber: $(saber)
- # load $(saber)
- # load /lib/libm.a
+suidperl: $& sperl.o perlmain.o $(perllib) $(DYNALOADER) $(static_ext) ext.libs
+ $(CC) $(LARGE) $(CLDFLAGS) $(CCDLFLAGS) -o suidperl perlmain.o sperl.o $(perllib) $(DYNALOADER) $(static_ext) `cat ext.libs` $(libs)
sperl.o: perl.c perly.h patchlevel.h $(h)
$(RMS) sperl.c
@@ -301,46 +211,109 @@ sperl.o: perl.c perly.h patchlevel.h $(h)
$(CCCMD) -DIAMSUID sperl.c
$(RMS) sperl.c
-perly.h: perly.c
- @ echo Dummy dependency for dumb parallel make
- touch perly.h
-
opcode.h: opcode.pl
- perl opcode.pl
embed.h: embed_h.SH global.sym interp.sym
sh embed_h.SH
-perly.c:
- @ echo 'Expect' 80 shift/reduce and 62 reduce/reduce conflicts
- $(BYACC) -d perly.y
- sh $(shellflags) ./perly.fixer y.tab.c perly.c
- mv y.tab.h perly.h
- echo 'extern YYSTYPE yylval;' >>perly.h
+preplibrary: miniperl lib/Config.pm
+ @test -d lib/auto || mkdir lib/auto
+ @echo " AutoSplitting perl library"
+ @./miniperl -Ilib -e 'use AutoSplit; \
+ autosplit_lib_modules(@ARGV)' lib/*.pm lib/*/*.pm
-perly.o: perly.c perly.h $(h)
- $(CCCMD) perly.c
+lib/Config.pm: config.sh miniperl
+ ./miniperl configpm
install: all
./perl installperl
+!NO!SUBS!
+
+: Only print out the rules for running byacc if the user _has_ byacc.
+: Otherwise, comment them out. Users who really know what they are
+: doing can uncomment them and run yacc or bison or whatever.
+: Configure sets byacc=byacc if byacc is not found.
+case "$byacc" in
+''|'byacc')
+ comment1='#'
+ comment2='' ;;
+*) comment1=''
+ comment2='#' ;;
+esac
+
+$spitshell >>Makefile <<!GROK!THIS!
+
+perly.h: perly.c
+ @ echo Dummy dependency for dumb parallel make
+ touch perly.h
+
+# I now supply perly.c with the kits, so the following section is
+# commented out if you don't have byacc.
+
+${comment1}perly.c: perly.y perly.c.diff
+${comment1} @ echo 'Expect' 109 shift/reduce and 1 reduce/reduce conflict
+${comment1} \$(BYACC) -d perly.y
+${comment1} sh \$(shellflags) ./perly.fixer y.tab.c perly.c
+${comment1} mv y.tab.h perly.h
+${comment1} echo 'extern YYSTYPE yylval;' >>perly.h
+
+# This version is used only if you do not have byacc.
+${comment2}perly.c: perly.y
+${comment2} touch perly.c
+
+!GROK!THIS!
+
+$spitshell >>Makefile <<'!NO!SUBS!'
+# Extensions:
+# Names added to $(dynamic_ext) or $(static_ext) will automatically
+# get built. There should ordinarily be no need to change any of
+# this part of makefile.
+#
+# The dummy dependency is a place holder in case $(dynamic_ext) or
+# $(static_ext) is empty.
+#
+# DynaLoader may be needed for extensions that use Makefile.PL.
+
+$(DYNALOADER): miniperl preplibrary FORCE
+ @sh ext/util/make_ext static $@
+
+d_dummy $(dynamic_ext): miniperl preplibrary $(DYNALOADER) FORCE
+ @sh ext/util/make_ext dynamic $@
+
+s_dummy $(static_ext): miniperl preplibrary $(DYNALOADER) FORCE
+ @sh ext/util/make_ext static $@
clean:
- rm -f *.o all perl miniperl
- rm -f POSIX.c ?DBM_File.c perlmain.c
- rm -f ext/dbm/sdbm/libsdbm.a
- cd ext/dbm/sdbm; $(MAKE) -f Makefile clean
- cd x2p; $(MAKE) clean
+ rm -f *.o *.a all perl suidperl miniperl
+ rm -f perlmain.c
+ rm -f perl.exp ext.libs ext/util/extlibist
+ -cd x2p; $(MAKE) clean
+ -cd pod; $(MAKE) clean
+ -@for x in ext/* ; do \
+ if test -f $$x/Makefile; then \
+ echo " Making clean in $$x"; \
+ cd $$x; $(MAKE) clean ; cd ../.. ; \
+ fi ; \
+ done
realclean: clean
- cd x2p; $(MAKE) realclean
- cd ext/dbm/sdbm; $(MAKE) -f Makefile realclean
- rm -f *.orig */*.orig *~ */*~ core $(addedbyconf) h2ph h2ph.man
- rm -f Makefile cflags embed_h makedepend makedir writemain
- rm -f config.h t/perl makefile makefile.old cflags
- rm -rf lib/auto/?DBM_File lib/auto/POSIX
+ -cd x2p; $(MAKE) realclean
+ -@for x in ext/* ; do \
+ if test -f $$x/Makefile; then \
+ echo " Making realclean in $$x"; \
+ cd $$x; $(MAKE) realclean ; cd ../.. ; \
+ fi ; \
+ done
+ rm -f *.orig */*.orig *~ */*~ core t/core
+ rm -rf $(addedbyconf)
+ rm -f Makefile cflags makedepend makedir writemain
+ rm -f config.h t/perl makefile makefile.old
rm -f x2p/Makefile x2p/makefile x2p/makefile.old x2p/cflags
rm -f lib/Config.pm
- rm -f c2ph pstruct
+ rm -rf lib/auto
+ rm -f h2ph h2ph.man c2ph pstruct
+ rm -rf .config
# The following lint has practically everything turned on. Unfortunately,
# you have to wade through a lot of mumbo jumbo that can't be suppressed.
@@ -350,13 +323,18 @@ realclean: clean
lint: perly.c $(c)
lint $(lintflags) $(defs) perly.c $(c) > perl.fuzz
+makefile: Makefile
+ make depend
+
+# When done, touch perlmain.c so that it doesn't get remade each time.
depend: makedepend
- test -f perly.h || cp /dev/null perly.h
./makedepend
- test -s perly.h || /bin/rm -f perly.h
+ - test -s perlmain.c && touch perlmain.c
cd x2p; $(MAKE) depend
-test: perl lib/Config.pm
+test: miniperl perl preplibrary $(dynamic_ext)
- cd t && chmod +x TEST */*.t
- cd t && (rm -f perl; $(LNS) ../perl perl) && ./perl TEST </dev/tty
@@ -381,3 +359,5 @@ case `pwd` in
;;
esac
rm -f makefile
+
+
296 NDBM_File.c
View
@@ -1,296 +0,0 @@
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-#include <ndbm.h>
-
-typedef DBM* NDBM_File;
-#define dbm_new(dbtype,filename,flags,mode) dbm_open(filename,flags,mode)
-#define nextkey(db,key) dbm_nextkey(db)
-
-static int
-XS_NDBM_File_dbm_new(ix, ax, items)
-register int ix;
-register int ax;
-register int items;
-{
- if (items != 4) {
- croak("Usage: NDBM_File::new(dbtype, filename, flags, mode)");
- }
- {