Hi, there's an effort going on to revamp the build system for future OpenSSL, coining it as "unified". The intention is to have one and the same base of information for all platforms, instead of having to maintain one set of files for Unixly platforms, one makefile generator for Windowsy platforms, and one pile of scripts with a serious case of bit rot for VMS.
In particular, this is of interest for the VMS folks, as it's the only currently workable build system for upcoming version 1.1. Finding it ========== For now, this change is available on here: https://github.com/levitte/openssl/tree/refactor-build which is git repo https://github.com/levitte/openssl.git, branch refactor-build. Using it ======== Requirements ------------ On all platforms, it requires - Perl! Reports tell me that version 5.10.1 works fine but might need some extra perl modules (Test::More and possibly others. Feedback welcome!). Unix usually has it installed or easy to find. For VMS, there's an install kit on sourceforge (https://sourceforge.net/projects/vmsperlkit/files/Archive/), and Windows, we've always recommended ActiveState Perl (http://www.activestate.com/ActivePerl). - The Perl module Text::Template, which is the driver behind the generation Makefile and other files. This branch relies quite heavily on templates. On Unix, it requires - the usual developmemt stuff. cc, as and make would be the really bare minimum, and maybe I'm forgetting something, but what is usually considered the normal tool chain should work out. On VMS, it requires - DEC C... It's called HP C these days and might be called something else again when VSI starts shipping. It needs to be recent enough to support the qualifiers /NAMES=(AS_IS,SHORTENED) and /REPOSITORY (I welcome feedback on which the minimum version for this is!) - DECset, at the very least MMS. Alternatively, MMK can be used if you can find it (if anyone knows of a place that has it for sure, feedback is welcome!) - Of course, the rest of the tool chain, but that comes with the operating system, no worries there. [I certainly hope I didn't forget anything, but if I did, feedback is welcome!] Config and build ---------------- For Unix users, who are used to the usual generation of a top Makefile from Makefile.org... that is, Makefile.in since recently, this it still the default, but you can always use the unified build as an alternative by adding the flag --unified, like so: ./config --unified make make test # There is no install target yet, it's coming up! You will get One Top Makefile that does everything. It will not touch any other Makefile. For VMS users, the unified build is the only one available in this branch, the old scripts are simply gone. Instead, you configure just like you would on any other platform (well, almost, there isn't any config.com yet, so you'll have to jump directly to the Configure script), and that will generate a descrip.mms: perl Configure vms-alpha ! or vms-ia64 mms mms test ! There is no install target yet. ! As a matter of fact, I'd like to talk about exactly where it ! should install. Let's talk! Features ======== There are a few features in the unified build that are worth testing: 1. Out of source tree builds! It's perfectly possible to do this: mkdir ../build cd ../build perl ../openssl-src/config make make test (and yes, on VMS as well) 2. The generated Makefile supports parallell make: make -j9 (carefull, though, don't try the silliness I tried: make -j9 clean all) Future ====== I plan on making the generated Makefile / descrip.mms full featured, which means at least adding install targets. Then, on to a template for a Windows makefile. ================= Feedback welcome! ================= Cheers, Richard -- Richard Levitte levi...@openssl.org OpenSSL Project http://www.openssl.org/~levitte/ _______________________________________________ openssl-dev mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev