On Mon, 11 Jul 2005, Matthias Mohr wrote:

> > $IsMK1MF=1 if ($target eq "mingw" && ^O ne "cygwin");
> >
> > What this does, if your version of perl was not built on cygwin, is to
> > make buildinf.h into the version that you have, instead of the one
> > generated by crypto/Makefile. If you either use cygwin perl, or delete
> > the above line from Configure, you should be able to proceed with your
> > attempt to compile OpenSSL. I am not sure I see when you would be using
> > the Configure script with mingw and still want to do a MK1MF style
> > build.

> Thanks this did help - a bit J
> I removed the above line and it really starts to build the beast.
> But then after a while, it stops with the following:
> --------------------------------------------------------------------------------------------------------
> make[1]: Leaving directory `/c/Prog/openssl-0.9.8/ssl'
> making all in engines...
> make[1]: Entering directory `/c/Prog/openssl-0.9.8/engines'
> gcc -I../include -DOPENSSL_THREADS -DDSO_WIN32 -DPERL=C:/Programme/_Entwicklung/ActivePerl/bin/perl.exe -mno-cygwin -DL_ENDIAN -fom
> it-frame-pointer -O3 -march=i486 -Wall -D_WIN32_WINNT=0x333 -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DSHA1_ASM -DMD5_ASM -DR
> MD160_ASM -DAES_ASM -I/mingw/include -I/mingw/mingw32/include -I/usr/include -L/mingw/include -L/mingw/mingw32/include -L/usr/lib -
> c -o e_4758cca.o e_4758cca.c
> e_4758cca.c:62:28: openssl/engine.h: No such file or directory
> e_4758cca.c:164: error: syntax error before "cca4758_cmd_defns"
> ...
> --------------------------------------------------------------------------------------------------------
>
> Why does it even walk into the "engines" subdirectory?
> I said "no-engine" in the Configuration step...!???


A "no-engine" directive to Configure is not one of the documented
options, but looking at Configure, I think it will just cause
OPENSSL_NO_ENGINE to be defined. It doesn't affect which files are
compiled.

The real question is why you don't have include/openssl/engine.h.
This is created early in the build by "make links". Depending
on the system, you should either have a link or copy of
crypto/engine/engine.h in include/openssl. You need to look at your
logs and figure out why you don't. Do all the other files that are
supposed to be linked or copied to that directory exist? The file that
does the linking or copying is util/mklink.pl. I know that this works
for DJGPP, for cygwin, and for mingw compiled under cygwin. I don't
know how the perl symlink function and the symlink tests work under
ActivePerl compared to the more usual perl implementations.

I only compile for mingw under cygwin with -mno-cygwin and don't have
MSYS, so I don't know that I can help more here. Your build fails
because it doesn't have the definintion of ENGINE_CMD_DEFN that it
needs from engine.h, which apparently wasn't copied or linked into
include/openssl/engine.h.

Doug
--
Doug Kaufman
Internet: dkaufman@rahul.net

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