This patch is for current (0.9.8) stable.

I expect future stable version to use same name for libraries/engines
(except prefix/suffix) for different OS-es. This require more work - as
example to change build for other win32 compilers.

In simple test cases mingw (gcc 3.4.5) work well as replacement for
win32 native builds.

Roumen


Alon Bar-Lev wrote:
> Hello Roumen,
>
> There is partial work in snapshots regarding cross compile.
> MinGW still does not work well.
>
> I've created the following ticket:
> http://rt.openssl.org/Ticket/Display...est&pass=guest
>
> But no progress has been made in determine what is wrong.
> Anyway, I think you will find the current trunk snapshot to be a
> better reference.
>
> Just wanted to stop using MS compiler...
>
> Best Regards,
> Alon Bar-Lev.
>
> On 6/26/07, Roumen Petrov via RT wrote:
>> I would like to propose following patch to openssl-0.9.8e source (see
>> attachment openssl-0.9.8e-mingw.patch.gz).
>> This patch is intended to create executables compatible with other win32
>> compilers.
>>
>>
>> Modifications:
>> ./Makefiles.shared:
>> - link_o.cygwin(used to build engines): modified use def-files in case
>> of mingw . As example def-files allow target to be linked without
>> library to exist on build system (IMPORTS);
>> - link_a.cygwin: modified to produce dlls that match library name in
>> def-file.
>>
>> ./engines/Makefile:
>> - installation is extended to handle mingw and add support for lib
>> prefixes.
>> also correct suffixes in code to be equal to description in comment
>> before.
>>
>> ./Makefile.org:
>> - install dlls for openssl libraries
>>
>> ./Configure:
>> - "mingw" (cosmetic) : shared flag in not necessary;
>> - $IsMK1MF=1 (fatal, fixed upsteam) : remove this line since it break
>> mingw non-single makefile build;
>> - option static-engine : allow mkdef.pl to work without extra arguments.
>> This can be extended in future to be a configure option that allow
>> static and dynamic engines to be build at same time.
>> Note that gmp engine need patch too and ./README.ENGINE is obsolete.
>>
>> ./util/mkerr.pl (not mingw specific):
>> - added 'extern "C" {' in case of c++ to match right curly-brackets
>> at end
>>
>> ./crypto/x509/Makefile (not mingw specific):
>> - MINFO is created without information for crypto/x509/ in makefile.one
>> (files) target.
>>
>>
>> Tests:
>> The created on linux executables successfully replace openssl (msc 13.x)
>> found at url below.
>> All xmlsec (with openssl) DSig tests succeed on w2k.
>>
>>
>> Questions after build:
>> After build I compare results between an existing build (openssl
>> 0.9.8a, msc 13.x) and new build (openssl 0.9.8e, gcc 3.4.5 mingw). The
>> difference is attached an file "objdump_table-diff.gz".
>>
>> Result show that mingw build export more functions. I guess that this is
>> normal since mingw build is for xxx.8e.
>>
>> Other difference is that engines in mingw build are dynamic while in msc
>> - static. No idea why msc build
>> (http://www.zlatkovic.com/libxml.en.html) is with static engines.
>>
>>
>> Diff show that variables OSSL_DES_version and OSSL_libdes_version from
>> crypto/des/des_ver.h are exported in msc while mingw build don't export
>> them. File crypto/opensslconf.h in mingw build
>> define OPENSSL_EXPORT_VAR_AS_FUNCTION .
>>
>> If a remember well borland compiler don't export variables. It seems to
>> me that gcc (mingw) don't export too. So that should use
>> OPENSSL_XXX_GLOBAL for both variables?
>>
>> "Configure" set EXPORT_VAR_AS_FN for some win32 targets(msc, borlang,
>> mingw, but cigwin). Should "Configure" set EXPORT_VAR_AS_FN always if
>> build is for shared win32 platform ?
>>
>>
>> Roumen
>>
>>
>>
>>

> __________________________________________________ ____________________
> OpenSSL Project http://www.openssl.org
> Development Mailing List openssl-dev@openssl.org
> Automated List Manager majordomo@openssl.org
>


__________________________________________________ ____________________
OpenSSL Project http://www.openssl.org
Development Mailing List openssl-dev@openssl.org
Automated List Manager majordomo@openssl.org