lwall@devvax.JPL.NASA.GOV (Larry Wall) (01/23/88)
In article <8077@e.ms.uky.edu> david@ms.uky.edu (David Herron -- Resident E-mail Hack) writes: : If I had something to apply it TO, I'd certainly apply it. : : (Hey Rich! wink wink, nudge nudge :-) :-) :-) :-) :-) :-) :-) :-)). If you get impatient, and have Internet access, you can FTP it from jpl-devvax.jpl.nasa.gov (128.149.8.43). The 128.149.8.13 given in the first patch was incorrect. I challenge you to snarf perl and find a bug before r$ posts the kits. (Wink, wink, nudge, nudge :-) Some of you have expressed interest in trying out metaconfig. Well, here's your big chance. I'm not going to post it yet, but you can get it via FTP from the same place. It's actually part of a package called "dist". This package is very useful in its current form, but I suspect it is going to evolve considerably over the next year or so. So give me some feedback on how you think it should grow. The dist kit has three parts: 1) A kit builder. Generates MANIFEST file, packs kits semi-optimally, and shars the kits for you. 2) A patch generator. I don't suggest you use this unless you are familiar with RCS. You just say "pat filelist", where filelist is the list of files you changed, and it checks them all in, creating a branch as necessary, keeping all the locking straight. Then it does your diffs for you, using either rcsdiff or your own diff, and then it builds and lets you edit the new patch. It does all this even when some of the files are in subdirectories, which RCS isn't very smart about. 3) Metaconfig. This is the hottest part of the package, and you may want this even if you don't want the other parts. This package knows just about everything I know about portability to Unix systems. Everything is driven off a set of Unit files, each of which is designed to find out one piece of information about the system on which your package will run. The niftiest thing is that each of these units is self-contained: Each unit knows what cpp symbols and shell variables it defines, what other units it depends on, the definitions for the symbols and variables, the shell code to determine the correct value for the symbols and variables, and the code to insert into config.h so that your C programs know what's going on. Here's what you do to use it: a) run makegloss to build a Glossary from all the units, b) read the Glossary to see which variables and symbols metaconfig can determine for you, c) write your programs and scripts (including your Makefile generator) in terms of those variables and symbols, and d) run metaconfig, which will analyze your files and write a Configure script for them. That's pretty much all you have to do. If you so desire you can write custom units for inclusion in Configure. Please don't expect a polished product--if you don't read shell scripts and README files, you don't want dist. Dist is like a good road with mud on both sides at the moment. As long as you stay in the center of the road you'll get where you want to go very quickly, but you'd better have a shovel along just in case. I'm not planning to mail this out to anyone unless you have a project you're dying to use it on. I figure I'll get plenty of beta testers who can ftp it. Be sure to pick up any patches for the dist kit as well. Here's the directory structure for ~ftp. ftp/pub/perl.1.0 ftp/pub/perl.1.0/kits ftp/pub/perl.1.0/patches ftp/pub/dist.1.0 ftp/pub/dist.1.0/kits ftp/pub/dist.1.0/patches ftp/pub/warp.7.0 ftp/pub/warp.7.0/kits ftp/pub/warp.7.0/patches Of course, don't let dist or warp distract you from getting perl. :-) Larry Wall lwall@jpl-devvax.jpl.nasa.gov
rick@seismo.CSS.GOV (Rick Adams) (01/24/88)
Impatient uunet customers can uucp it from uunet!~/pub/perl/* ---rick