At 07:23 PM 3/10/00 -0800, [EMAIL PROTECTED] wrote:
>Here is a patch that trims configure.com + subconfigure.com down by
>1300 + bytes by removing redundancies between the two and trimming down
>some of the C<$ IF var .eqs. "Yes"> stuff in the latter. There is a _lot_
>more room for improvement as we move toward stuffing redundant code (like
>compiling, linking, writing out findhdr programs etc.) into gosub labels
>and/or subroutines. We should also be thinking about using the config.sh ->
>config.com as well as the Policy.sh -> Policy.com type methods that are
>already in place on more posixly oriented systems.
All on the list 'o things for 5.6.1.
>BTW I just noticed that for those variables that are determined by
>configure.com the general design is:
>
> $!configure.com EXAMPLE 0
> $ foo = "bar"
> $ @subconfigure.com
>--->
> $!subconfigure.com
> $ perl_foo = "''foo'"
> ...
> $ WC "foo='" + perl_foo + "'"
>
>but notice that instead of using only one local symbol for every significant
>config.sh variable the design uses two: foo and perl_foo. This is wasteful
>of local symbol table space and won't run on CLI constrained machines.
There aren't that many symbols in configure.com, though it has grown since
the original. Subconfigure.com, on the other hand, has scads of them--one
for each variable in config.sh. That's way too many, but it seemed like a
good idea at the time. You'll notice that all the variables that hit
config.sh are in a perl_ format. I'd intended originally to have a loop
through all the symbols that matched perl_* and write them out rather than
write them all individually, but that didn't work out.
>We should instead be doing things like this:
>
> $!configure.com EXAMPLE 1
> $ foo = "bar"
> $ @subconfigure.com
>--->
> $!subconfigure.com
> $ WC "foo='" + foo + "'"
I don't think any of the symbols in configure.com actually get written
directly to config.sh.
> $!configure.com EXAMPLE 2
> $ if f$search("[-]config.com") .nes. "" then @[-]config.com
> ...
> $ if f$type(foo).eqs."" then foo = "bar"
> $ @subconfigure.com
>--->
> $!subconfigure.com
> $ WC "foo='" + foo + "'"
I'd planned something similar, though not quite like that. Local symbols
defined in config.com would go away, and global ones would pollute.
>The design of the Bourne shell version is such that it pauses to let you
>edit config.sh before it even tries to use it to do Makefile.SH -> Makefile
>et al. Another thing is that if the Bourne shell version finds a config.sh
>it will run:
>
> . ./config.sh
>
>which is equivalent to @config.com on VMS.
>
>In other words the design allows you to influence the build with shell
>scripts and/or env vars.
I like that idea--we'll get something like it for 5.6.1. (I hadn't figured
on allowing command-line overrides, but it's simple enough to do, and makes
life easier.
>OK enough babbling here's the patch, Dan provided you don't disagree with
>any of it I'd appreciate it if you could fold this into your working copy
>before doing your diff. Please note that I've not sent this to p5p, Jarkko,
>or Sarathy and they won't see any of it unless one of us does send it in.
It's a bit big, but it looks OK. I'm holding off until RC2 only because
we're so close and Charles was in there too. It might wait until the
overhaul, though I'd rather see it in sooner than later.
Dan
--------------------------------------"it's like this"-------------------
Dan Sugalski even samurai
[EMAIL PROTECTED] have teddy bears and even
teddy bears get drunk