Conversation
Configure
Outdated
There was a problem hiding this comment.
This kind of goes in conflict with target name. I mean you say ./Configure platform, and platform is something that describes what --host is supposed to describe too. In other words one can argue that --host should be able to replace platform...
There was a problem hiding this comment.
Mm, I see... in the GNU world, the --host value directly translates to our cross compile prefix by just adding a dash to the value. Our platform, however, doesn't translate cleanly into anything that can be used as a cross compile prefix in a GNU environment. So ok, it was just an idea, I can toss that particular commit.
|
I for one would very much appreciate if CC value was expanded as it would be when make is executed. I mean if I pass --cross-compile-prefix=foo-bar-, I'd appreciate if configdata.pm printed CC = foo-bar-gcc. This applies to all tools. I'd also say that having makedepprog in dump can be useful... |
Sure. Does that mean that in to: ? |
Yes, I get that, but what I trying to say is that this is not all that the variable output is used for! |
Hmm, trick question. If given a choice between pretty print and keeping CROSS_COMPILE variable in Makefile, I for one would choose latter. Because I appreciate the possibility to say |
By the way, this reminds me one thing. This is a side[!] note [in the context]. One can actually wonder if it's wise to allow CFLAGS or CPPFLAGS [or others] to be overridden the way they are now. It's easier to explain with CPPFLAGS. As you might notice its value affects outcome in significant manner, consider -DOPENSSL_BN_ASM_MONT for example. So that if user manages to override it (not quite unthinkable if OpenSSL is build as part of some other project), it would have quite a consequences [not only on performance, but potentially even security, think constant-time.] What I'm trying to say is that it might be appropriate/wise to arrange things in such manner that CPPFLAGS is something that is added to flags, as opposite to overriding whole set of them. For example rules can have [Just in case for reference. In 1.0.2 this is resolved by clearing CFLAGS before make is invoked in subdirectories. And by Makefiles in subdirectories having |
|
Re display make variables (pretty-print) vs what's in Makefile, I've realised that they don't have to be exactly the same, so I'm implementing pretty-pring of prefix+cmd where applicable. |
|
With my last two comments in mind one can wonder if it makes sense to introduce a target to Makefile that would not only dump configdata.pm, but even display chosen make variables as they are evaluated in actual make attempt. [This incidentally answers question about message to unsuspecting user. I mean it could read "If make attempt fails add output from 'make <the-said-target>' to problem report." I'd probably argue that it should be decorated with star box(*).] (*) Example of "star box": |
|
Regarding your side note, I've had some thoughts on that... and it kind of goes with the fact that we apply configured defines everywhere when they really only apply to the libraries. SO, there are already make variables starting with |
71abcfe to
36c3269
Compare
|
Added support of pretty-print of cross compile prefix in configdata.pm, and remove the |
|
For the side note stuff, I'm going to do that work in a separate PR. |
Just in case it wasn't obvious. If you get make to print actual evaluated variables, then I wouldn't care if toolchain components in configdata.pm -dump were prefixed with cross compile. Moreover, I think it would be more than appropriate to have make print evaluated variables. I'd even simply ask here in this PR or elsewhere? |
|
Since it's kind of usability thing I have couple of remarks. Currently output reads I'd say that "Configuring" line should be first, and that "seed configuration" should read "random seed configuration". I mean it's not clear what kind of seed is it, and it's not clear what is it talking about. In sense that if "Configuring" is second line, then one can as well read the first line as "it's some perl thing." Secondly, |
|
I've added commits to fix the output of seed info, and to make I think that a target that displays all applicable make variables is a good idea. It may take a few hours before it shows, as I'm currenty traveling on boat and have no idea for how much longer I have connectivity with the coast... |
Sounds like you want to do in this PR. All right... BTW, red cross from Travis is unrelated. |
No, I'll make it in another PR. The difficulty comes if there's a metacharacter somewhere in a value (which might very well be the case for CPPFLAGS or CPPDEFINES). That's going to screw up the display. |
Well, one of reasons why this PR came to be was message to unsuspecting user. And there is no one. So it went out of scope? |
|
With cross-reference to #5248 I'd like to clarify that even if we choose to restore [part of] visual feedback about configuration parameters, it doesn't mean that message to unsuspecting user would become irrelevant. It would still make sense to add make target, |
Not exactly. I removed the current message because it wasn't good enough (I agree!), but I would like to see a better replacement (just not a dump like we had before), and am asking for help formulating thst better message. I do hear that a message geared toward problem reports (in my mind, that means mentioning |
|
Ultimately what we want out is whatever you need to do in order to reproduce the build context. |
|
I made a change that has Configure emit this message at the end: |
f798bf5 to
fab69c0
Compare
Specifically, the specific perl that was used to run Configure
It was inconsistent to see this specific command have '$(CROSS_COMPILE)' in its value when no other command did.
If the configured value is the empty string, give them a sane default. Otherwise, give them the configured value prefix with $(CROSS_COMPILE)
No more special casing for that one, and this means it gets displayed by 'perl configdata.pm --make-variables' among all the others.
The new message is geared toward issue reports
fab69c0 to
d669aa0
Compare
d669aa0 to
8fff484
Compare
|
Ping! |
richsalz
left a comment
There was a problem hiding this comment.
Not a fan of star-boxes but maybe this will be useful.
Specifically, the specific perl that was used to run Configure Reviewed-by: Rich Salz <[email protected]> (Merged from #5247)
It was inconsistent to see this specific command have '$(CROSS_COMPILE)' in its value when no other command did. Reviewed-by: Rich Salz <[email protected]> (Merged from #5247)
If the configured value is the empty string, give them a sane default. Otherwise, give them the configured value prefix with $(CROSS_COMPILE) Reviewed-by: Rich Salz <[email protected]> (Merged from #5247)
No more special casing for that one, and this means it gets displayed by 'perl configdata.pm --make-variables' among all the others. Reviewed-by: Rich Salz <[email protected]> (Merged from #5247)
Reviewed-by: Rich Salz <[email protected]> (Merged from #5247)
The new message is geared toward issue reports Reviewed-by: Rich Salz <[email protected]> (Merged from #5247)
Reviewed-by: Rich Salz <[email protected]> (Merged from #5247)
In commit 820e414 (pr openssl#5247) the summary output of the Configure command was optimized towards instructing people how to create issue reports. It turned out that the wording of this message can confuse new OpenSSL users and make them think that they are seeing an error message. This commit makes the summary output start with a success to prevent a misunderstanding. Also it gives more hints to new OpenSSL users.
In commit 820e414 (pr #5247) the summary output of the Configure command was optimized towards instructing people how to create issue reports. It turned out that the wording of this message can confuse new OpenSSL users and make them think that they are seeing an error message. This commit makes the summary output start with a success to prevent a misunderstanding. Also it gives more hints to new OpenSSL users. Reviewed-by: Richard Levitte <[email protected]> Reviewed-by: Matt Caswell <[email protected]> (Merged from #7499) (cherry picked from commit 41349b5)
In commit 820e414 (pr #5247) the summary output of the Configure command was optimized towards instructing people how to create issue reports. It turned out that the wording of this message can confuse new OpenSSL users and make them think that they are seeing an error message. This commit makes the summary output start with a success to prevent a misunderstanding. Also it gives more hints to new OpenSSL users. Reviewed-by: Richard Levitte <[email protected]> Reviewed-by: Matt Caswell <[email protected]> (Merged from #7499)
There's a number of small fixes, please read the commit messages for more (if little) info