Re: Better mousetrap ^W Makefile
Chip Salzenberg writes: > You mean, 'building outside of the source dir'? If so, three cheers. > I'm in the habit of keeping sources in /u/src/foo/bar and building in > /u/build/foo/bar with symlink /u/build/foo/bar/SRC -> /u/src/foo/bar. I've found that lndir (from the X11 distribution) works very well. When I build something, I unpack the original sources into "foo-X.Y" and then make a directory "OS-foo-X.Y" (where OS is SunOS, IRIX, etc.). Remove write permission on foo-X.Y, run "lndir ../foo-X.Y" and builds can happen in OS-foo-X.Y without any chance of screwing up the originals. The nice part of this approach is that it doesn't require any support from the build tools at all. - Ken -- Ken Fox, [EMAIL PROTECTED], (313)59-44794 Ford Motor Company, Powertrain | "Is this some sort of trick Analytical Powertrain Methods Department | question or what?" -- Calvin C3P Implementation Section |
Re: Better mousetrap ^W Makefile
I like it. Its 4K+ lines are clearly enough written to break them up into a number of smaller modules specific to their packages and methods. This would allow hooks for upstream applications to implement aspects of the module. A lot of the methods only use packages as a place to keep them, they are independant of the class structures. These could go into a utility modules like the ones I am creating from the perl power tools for NT. Documentation at the end implies that its success depends on the evolution of modules in the rest of perl. Nice !!! = John van Vlaanderen # #CXN, Inc. Contact: [EMAIL PROTECTED] # # # Proud Sponsor of Perl/Unix of NY # #http://www.thinman.com/puny# # __ Do You Yahoo!? Send instant messages & get email alerts with Yahoo! Messenger. http://im.yahoo.com/
Re: Better mousetrap ^W Makefile
On Mon, May 01, 2000 at 12:29:52PM -0400, [EMAIL PROTECTED] wrote: > 2000-04-30-01:18:25 Chip Salzenberg: > > And now for something completely different: I've asked Adam Turoff > > to look at Cons, getting entirely away from the whole 'makefile' > > thing. > > Is Cons alive? > > I didn't find anything on freshmeat or search.cpan.org, and when > I went to the referenced debian site, I found a ".orig" tarball > (sometimes I'm _REALLY_ glad I don't have anything to do with > Debian), with file timestamps in November of 1996, with a perl > script completely undocumented except for a usage message (no pod, > even) and a postscript file created with Framemaker. The CHANGES > file documents work from August 24, 1996 through November 12, > 1996. None of this inspires confidence. > > I'll try and give that doc a read, but this really looks like one of > the projects that didn't survive its initial moments. Sheesh! http://www.google.com/search?q=cons&meta=lr%3D%26hl%3Den -- "Never ascribe to malice that which can be explained by stupidity." via, but not speaking for Deutsche Bank
Re: Better mousetrap ^W Makefile
> Bennett Todd wrote: > > 2000-04-30-01:18:25 Chip Salzenberg: > > And now for something completely different: I've asked Adam Turoff > > to look at Cons, getting entirely away from the whole 'makefile' > > thing. > > Is Cons alive? > try http://www.dsmit.com/cons/ -- Mark Hollomon [EMAIL PROTECTED] ESN 451-9008 (302)454-9008
Re: Better mousetrap ^W Makefile
2000-04-30-01:18:25 Chip Salzenberg: > And now for something completely different: I've asked Adam Turoff > to look at Cons, getting entirely away from the whole 'makefile' > thing. Is Cons alive? I didn't find anything on freshmeat or search.cpan.org, and when I went to the referenced debian site, I found a ".orig" tarball (sometimes I'm _REALLY_ glad I don't have anything to do with Debian), with file timestamps in November of 1996, with a perl script completely undocumented except for a usage message (no pod, even) and a postscript file created with Framemaker. The CHANGES file documents work from August 24, 1996 through November 12, 1996. None of this inspires confidence. I'll try and give that doc a read, but this really looks like one of the projects that didn't survive its initial moments. -Bennett PGP signature
Re: Better mousetrap ^W Makefile
> Overrides can be setup to easily override build instructions without [meaning with] modifying any [every] scripts. Hmmm, you mean like this ??: use Loose; # thanks to M Schwern $myperl = new perl6; $myperl -> home([EMAIL PROTECTED]); $myperl -> OS(PerlOS); $myperl -> h-w(x86); print $myperl -> compile; ... ... print $myperl -> test; ... ... $myperl -> {targets} = \@mynodes ; print $myperl -> install ; ... ... $myperl -> realclean ; $ourperl = new perl6 ; $outperl -> {users} = CXN::PUNY -> MemberList ; # Enter Password: $ourperl -> educate ; Seriously, is there a tgz or rpm out there. My rpmfind keeps croaking. --- "A. C. Yardley" <[EMAIL PROTECTED]> wrote: > > What and where is cons > > Take a look at http://www.debian.org/Packages/stable/devel/cons.html > and http://www.debian.org/Packages/unstable/devel/cons.html > > > /acy > > > = John van Vlaanderen # #CXN, Inc. Contact: [EMAIL PROTECTED] # # # Proud Sponsor of Perl/Unix of NY # #http://www.thinman.com/puny# # __ Do You Yahoo!? Talk to your friends online and get email alerts with Yahoo! Messenger. http://im.yahoo.com/
Re: Better mousetrap ^W Makefile
> "Jarkko" == Jarkko Hietaniemi <[EMAIL PROTECTED]> writes: Jarkko> So it didn't go in. And I haven't gone back to it since. Thanks for the reminder, Jarkko. -- Stephen "And what do we burn apart from witches?"... "More witches!"
Re: Better mousetrap ^W Makefile
> > And yes, I would make building out of the source directory a > > requirement. > > You mean, 'building outside of the source dir'? If so, three cheers. Stephen Zander has been working towards an "out-source-experience" for perl5. Configure is supposedly already fine for this, it's the Makefiles, the numerous shellscripts, and MakeMaker who oppose building outside of the source directory such an adventure. Stephen even did have a rather promising patch few weeks before 5.6.0, but unfortunately it wasn't as portable as we hoped because there are so many different flavors of make out there. So it didn't go in. -- $jhi++; # http://www.iki.fi/jhi/ # There is this special biologist word we use for 'stable'. # It is 'dead'. -- Jack Cohen
Re: Better mousetrap ^W Makefile
> I think we'll still want to keep a minimal makefile around for the > very very first steps required to build microperl. Then we're off! Yeah, something of the below complexity, and nothing much more. (No guarantees on the syntax, I'm making this up as I write :-) O = .o C = .c SRC = a$(C) b$(C) c$(C) d$(C) OBJ = $(SRC:$(C)=$(O)) a$(O): a$(C) a.h b$(O): b$(C) b.h a.h c$(O): c$(C) c.h x.h d$(O): d$(C) d.h a.h x.h main$(O): main$(C) microperl: $(OBJ) main$(O) $(CC) -o $@ main$(O) $(OBJ) And, of course, even the above is unportable: -o. We still need Win* and VMS makefiles to cater their compilers' syntaxes, at least -- unless we still are assuming gcc. > > ... not even to spit at the general direction of GNU > > configure/automake [...] > > I shall waste none of my precious bodily fluids in so foolish an > endeavor. The GNU build tools are, by and large, awful. GNU make > is pretty good, but the rest are recycling fodder. *clap*clap* > > And yes, I would make building out of the source directory a > > requirement. > > You mean, 'building outside of the source dir'? If so, three cheers. Yes. -- $jhi++; # http://www.iki.fi/jhi/ # There is this special biologist word we use for 'stable'. # It is 'dead'. -- Jack Cohen
Re: Better mousetrap ^W Makefile
> What and where is cons Take a look at http://www.debian.org/Packages/stable/devel/cons.html and http://www.debian.org/Packages/unstable/devel/cons.html /acy
Re: Better mousetrap ^W Makefile
> Cons has problems. (Fortunately, one of the larger ones -- the fact that > it's pretty hard to use if you don't know ... Being perl is my only lang besides shell, I guess I am destined to lurk here, But I do have a few new recruits who see my point that shell hobbling (linux|unix). What and where is cons, do you think its adaptable to other stuff like distro and booting? I compiled egcs and A++/P++ on the hpux for Merck and the biggest problem seemed to be with scope, not a problem w/ perl. I needed constant supervision from some people at Lawrence Livermore, there was no concept of a road map anywhere. = John van Vlaanderen # #CXN, Inc. Contact: [EMAIL PROTECTED] # # # Proud Sponsor of Perl/Unix of NY # #http://www.thinman.com/puny# # __ Do You Yahoo!? Talk to your friends online and get email alerts with Yahoo! Messenger. http://im.yahoo.com/
Re: Better mousetrap ^W Makefile
On Sat, Apr 29, 2000 at 11:04:19PM -0700, Chip Salzenberg wrote: > You mean, 'building outside of the source dir'? If so, three cheers. > I'm in the habit of keeping sources in /u/src/foo/bar and building in > /u/build/foo/bar with symlink /u/build/foo/bar/SRC -> /u/src/foo/bar. Speaking up as a satisfied cons user, I maintain the build environment for a moderately complex project at work. I made the decision to use cons rather than make, and haven't regretted it yet. Cons has problems. (Fortunately, one of the larger ones -- the fact that it's pretty hard to use if you don't know Perl -- isn't going to apply here.) It is, however, vastly better than make at managing complex build trees. It has superb dependancy tracking, and it handles building outside the source dir very well indeed. (Personally, I keep my objects in /tmp, since my home directory is on a very slow NFS server.) The only reason that I hesitated to recommend it here before is that the concept of using a build tool written in Perl seemed to pose certain chicken-and-egg problems. :> I'm not certain how much work it will take to make cons work with miniperl. You'll need to address the way it does dependancies, at the least -- cons requires the Digest::MD5 module. (A source of constant annoyance to me; I dearly wish this module was standard.) - Damien
Re: Better mousetrap ^W Makefile
According to John Tobey: > I only hope we're not all saying the same thing about Cons 5 years > hence. :) Oh, we probably won't be. What makes GNU Make such an improvement on its predecessors is its more expressive macro language. But with Cons, the macro language is ... Perl! -- Chip Salzenberg - a.k.a. - <[EMAIL PROTECTED]> "I wanted to play hopscotch with the impenetrable mystery of existence, but he stepped in a wormhole and had to go in early." // MST3K
Re: Better mousetrap ^W Makefile
Chip Salzenberg wrote: > According to Jarkko Hietaniemi: > > ... not even to spit at the general direction of GNU > > configure/automake [...] > > I shall waste none of my precious bodily fluids in so foolish an > endeavor. The GNU build tools are, by and large, awful. GNU make > is pretty good, but the rest are recycling fodder. Acknowledged. (Even GNU make suffers from being make.) I only hope we're not all saying the same thing about Cons 5 years hence. :) -- John Tobey, late nite hacker <[EMAIL PROTECTED]> \\\ /// ]]] With enough bugs, all eyes are shallow. [[[ /// \\\
Re: Better mousetrap ^W Makefile
According to Jarkko Hietaniemi: > I'll cast my vote for Cons, too. And some voters are more equal than others. > Let's be as deeply committed to Perl as we possibly can, that way we > can make our own rules, instead of having to bend over backwards, > while juggling a chainsaw, an electric eel, and a blowtorch. "Chainsaw? Luxury! When I started, I had to write configuration programs for CP/M in PL/I-80!" I think we'll still want to keep a minimal makefile around for the very very first steps required to build microperl. Then we're off! > ... not even to spit at the general direction of GNU > configure/automake [...] I shall waste none of my precious bodily fluids in so foolish an endeavor. The GNU build tools are, by and large, awful. GNU make is pretty good, but the rest are recycling fodder. > And yes, I would make building out of the source directory a > requirement. You mean, 'building outside of the source dir'? If so, three cheers. I'm in the habit of keeping sources in /u/src/foo/bar and building in /u/build/foo/bar with symlink /u/build/foo/bar/SRC -> /u/src/foo/bar. -- Chip Salzenberg - a.k.a. - <[EMAIL PROTECTED]> "I wanted to play hopscotch with the impenetrable mystery of existence, but he stepped in a wormhole and had to go in early." // MST3K
Re: Better mousetrap ^W Makefile
Being somewhat experienced in the current battlefields of Configure and Makefiles (and all the different makes, let's not forget that) I'll cast my vote for Cons, too. Let's be as deeply committed to Perl as we possibly can, that way we can make our own rules, instead of having to bend over backwards, while juggling a chainsaw, an electric eel, and a blowtorch. My advice is also not even to spit at the general direction of GNU configure/automake, it's just another morass, and theyt similarly (to Configure) assume very UNIXish shell environment. The more independent (os-agnostic) we are, the better. And yes, I would make building out of the source directory a requirement. That will also give us some ammunition for doing cross-compilation. -- $jhi++; # http://www.iki.fi/jhi/ # There is this special biologist word we use for 'stable'. # It is 'dead'. -- Jack Cohen
Better mousetrap ^W Makefile
According to John Tobey: > Chip: > > PS: We could use a little more sophisticated Makefile system > > OK, well how about some design specs first. Now that you mention it, we do need to start on a Perl-based Configure replacement. Just don't do anything that microperl couldn't do, and you can develop it with Perl 5. A good start would be to translate some basic functions from the current Metaconfig package and see how they turn out. The door is completely open to new ideas in the representation of configurations (i.e. config.sh can die!). (But all I was looking for was something a little better than what I have now Only descend into subdirs if required, don't constantly rebuild the libperl.a if not required, maybe a makedepend.) And now for something completely different: I've asked Adam Turoff to look at Cons, getting entirely away from the whole 'makefile' thing. -- Chip Salzenberg - a.k.a. - <[EMAIL PROTECTED]> "I wanted to play hopscotch with the impenetrable mystery of existence, but he stepped in a wormhole and had to go in early." // MST3K