Ask and ye shall receive:

1.       You are 100% correct that recursive make is completely broken, and 
moving to a single makefile is a significant improvement even if something else 
is done in the medium/long term.

2.       If using GMake everywhere is practical, I think it’s a good idea.  
I’ve worked on open source projects before that tried to support multiple 
makefile systems, and the results were so complicated as to be unmaintainable.  
Portability of compilation is the responsibility of the build system, not the 
project build built.  This is essentially the same philosophy as CMake.  The 
code and even Makefiles shouldn’t care what platform they are on unless they 
REALLY need to.  Configure was the old way to do this, but IMHO it is showing 
its age.  I first used Configure/gmake like, what, 20 years ago?  And even then 
I had a custom precompiler to edit the inputs to take into account various 
stupidities of various platforms/architectures.

3.       FIPS confuses the crap out of our developers every time they try to 
build it correctly.  Any improvements you can make there will be greatly 
appreciated.

4.       I don’t know if you had problems with it, but I’ve had problems for 
years with the extensive use of symlinks to source code within the OpenSSL 
source.  If that could go away, I’d find the OpenSSL source much easier to 
understand and navigate.

Off-topic #1: your article on goto fail and heartbleed is awesome, and should 
be read in its entirety by everyone working on security critical software.
Off-topic #2: This would be a HUGE change, but I really wish OpenSSL would move 
towards something like Google Test to make it easier to write tests.
Off-topic #3: If there is a move towards OpenSSL using CMake, I and possibly a 
few people I know would probably be willing to help.

From: owner-openssl-...@openssl.org [mailto:owner-openssl-...@openssl.org] On 
Behalf Of Mike Bland
Sent: Friday, August 15, 2014 9:59 AM
To: openssl-dev@openssl.org
Subject: RE: Single-Makefile Build Experiment report


I appreciate and may take you up on the offer, but it's still off-topic. ;-) 
I'd also be more inclined to accept after some feedback on my own offering.

Mike
On Aug 15, 2014 9:53 AM, "Tim Hollebeek" 
<tholleb...@trustwave.com<mailto:tholleb...@trustwave.com>> wrote:
Mike, if you like, I can try to find some time next week for a phone call to 
answer questions and discuss our experience using CMake.  I'm by no means an 
expert, but we've used it internally on a project and have come to believe it 
is completely awesome.  Most open source projects are moving towards 
CMake-based build systems, and I see no reason why OpenSSL can't join that 
bandwagon.

-Tim

-----Original Message-----
From: owner-openssl-...@openssl.org<mailto:owner-openssl-...@openssl.org> 
[mailto:owner-openssl-...@openssl.org<mailto:owner-openssl-...@openssl.org>] On 
Behalf Of Mike Bland
Sent: Thursday, August 14, 2014 5:35 PM
To: openssl-dev@openssl.org<mailto:openssl-dev@openssl.org>
Subject: Re: Single-Makefile Build Experiment report

On Thu, Aug 14, 2014 at 4:32 PM, Tim Hollebeek 
<tholleb...@trustwave.com<mailto:tholleb...@trustwave.com>> wrote:
> Have you considered moving to CMake?  It makes lots of the issues you discuss 
> in the document just go away.  cmake should work on the vast majority of 
> supported operating systems, if not all of them ...

Nope; wasn't aware of CMake before to be honest. That's not to say I'd dismiss 
it out of hand, but I was constraining myself to maintaining compatibility with 
the existing toolchain, meaning Configure+{BSD,GNU} make. I got a long way 
maintaining compatibility between BSD and GNU, but ditched BSD near the end 
because of the absence of pattern rules.
(Then again, do we really need to build sources in different directories with 
different CFLAGS, etc., or is that just an artifact of organic growth?)

I will say that Geoff Thorpe and I discussed our ideas at length over the phone 
a few weeks back, and in a nutshell, what I've done here could serve as 
prologue to the complete overhaul of the build system that he has in mind. Some 
of what he described, if I remember correctly, sounds similar to what little 
I've just looked up about the CMake, but I don't recall him referring to it 
specifically. (He's pinged me to let me know he'll be available to comment on 
my report next week.)

Mike
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       
openssl-dev@openssl.org<mailto:openssl-dev@openssl.org>
Automated List Manager                           
majord...@openssl.org<mailto:majord...@openssl.org>

________________________________

This transmission may contain information that is privileged, confidential, 
and/or exempt from disclosure under applicable law. If you are not the intended 
recipient, you are hereby notified that any disclosure, copying, distribution, 
or use of the information contained herein (including any reliance thereon) is 
strictly prohibited. If you received this transmission in error, please 
immediately contact the sender and destroy the material in its entirety, 
whether in electronic or hard copy format.

________________________________

This transmission may contain information that is privileged, confidential, 
and/or exempt from disclosure under applicable law. If you are not the intended 
recipient, you are hereby notified that any disclosure, copying, distribution, 
or use of the information contained herein (including any reliance thereon) is 
strictly prohibited. If you received this transmission in error, please 
immediately contact the sender and destroy the material in its entirety, 
whether in electronic or hard copy format.

Reply via email to