[openssl-dev] Upcoming build system change
Joey Yandle
dragon at dancingdragon.be
Sat Jan 16 06:13:20 UTC 2016
I tried building your branch on windows, but the windows Configure
targets appear to be missing:
c:\src\openssl>perl Configure VC-WIN64A
Configuring OpenSSL version 1.1.0-pre3-dev (0x0x10100003L)
...
Configuring for VC-WIN64A
Warning! target VC-WIN64A doesn't exist!
Can't use an undefined value as an ARRAY reference at Configure line 825.
I verified that the windows targets are present in
Configurations/10-main.conf:
"VC-WIN64A" => {
inherit_from => [ "VC-common", asm("x86_64_asm") ],
cflags => add(" ", "-DUNICODE -D_UNICODE"),
sys_id => "WIN64A",
bn_ops => "SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT
EXPORT_VAR_AS_FN",
bn_obj => sub { my $r=join(" ", at _);
$r=~s/x86_64\-gcc/bn_asm/; $r; },
perlasm_scheme => "auto",
build_scheme => [ "mk1mf", "VC-W64" ],
},
Am I doing something wrong? Your email didn't actually say anything
about the windows build...
cheers,
Joey
On 1/14/2016 12:59 PM, Richard Levitte wrote:
> 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
>
More information about the openssl-dev
mailing list