Re: Better mousetrap ^W Makefile

2000-05-05 Thread Ken Fox

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

2000-05-01 Thread John van V.


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

2000-05-01 Thread Joshua N Pritikin

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

2000-05-01 Thread Mark Hollomon

> 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-05-01 Thread Bennett Todd

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

2000-05-01 Thread John van V.



> 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

2000-05-01 Thread Stephen Zander

> "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

2000-04-30 Thread Jarkko Hietaniemi

> > 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

2000-04-30 Thread Jarkko Hietaniemi

> 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

2000-04-30 Thread A. C. Yardley

> 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

2000-04-30 Thread John van V.


> 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

2000-04-30 Thread Damien Neil

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

2000-04-29 Thread Chip Salzenberg

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

2000-04-29 Thread John Tobey

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

2000-04-29 Thread Chip Salzenberg

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

2000-04-29 Thread Jarkko Hietaniemi

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

2000-04-29 Thread Chip Salzenberg

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