Richard Salz wrote: >> E.g., the patterns for linux are fine, but in order to avoid confusing >> the environment, I'd like to override cc with gcc -m32 or gcc33 and >> otherwise accept openssl's other opt patterns verbatim. > > something like this, around line 943: > my $cc = $ENV{'CC'} || $fields[$idx_cc]; > So you can do > CC=gcc33 ./Configure > or ( setenv CC gcc33 ; ./Configure )
Wouldn't care to have that much code times 20+ options that are plugged in from the pattern string, and if you are overriding, you probably do not want to pick up the CC envvar, because the rest of the flags are very closely tied to the compiler type. Not a real solution, and back to patching openssl, which I'd like to quit. This is the syntax I'm thinking of... ./Configure platform:cc:cflags:unistd:thread_cflag:sys_id:lflags today sets the remaining 17 flags to defaults - not to {platform}'s original defaults, but far less useful defaults. For an illustration, compare configuring with your {platform}:gcc to simply {platform}. I'm not suggesting we break this syntax; we really shouldn't. So the alternate syntax I'm thinking of is... platform:=gcc:+{more_cflags}::::={lflags_override} which would preserve all but the three fields assigned by default to the given platform. The rule is that the first option, the cc choice, must have a leading = or + to trigger the behavior. A field of :=value: would replace the existing table field, a field of :=: would unset the table field, and a other :value: entries would append to the existing table field (space separated). In the first field :+-m32: would append -m32 and trigger this behavior, :=gcc33: would set gcc32 and trigger the behavior, while :+: alone is a shorthand to simply trigger the new behavior but leave the existing cc value alone. The :+ meaning applies only to the first field. I specifically choose not to give :+xxx: a different meaning in the remaining fields because + is very often a legitimate leading character, while there's not a single example where = is a legitimate leading character. I considered a corresponding remove partial syntax but that seems just a bit to aggravating, and can usually be accomplished by simply overriding the default with :=value: syntax. Feedback on this proposal? Bill ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]