hi,
i've made this patch to compile the latest openssl cvs on WINCE. i've
succesfully compiled the these dlls on Windows Mobile 6.x :
04/12/2009  10:49         1.222.144 libeay32.dll
04/12/2009  10:49           258.560 ssleay32.dll
04/12/2009  10:49            12.288 4758cca.dll
04/12/2009  10:49            10.752 aep.dll
04/12/2009  10:49             8.704 atalla.dll
04/12/2009  10:49            13.824 cswift.dll
04/12/2009  10:49             4.096 gmp.dll
04/12/2009  10:49            15.360 chil.dll
04/12/2009  10:49             7.168 nuron.dll
04/12/2009  10:49            15.872 sureware.dll
04/12/2009  10:49            12.288 ubsec.dll
04/12/2009  10:49             4.096 padlock.dll
compiled using nmake -f /ms/cedll.mak using these patches (just a
bunch of includes and fixing outdated stuff like winsock.lib instead
of ws2.lib). I'm using the WceCompat library, of which i'm a
contributor, so my patches are only related to compiling on WINCE
using that libc extension.

regards,
valerio


===================================================================
RCS file: /v/openssl/cvs/openssl/e_os.h,v
retrieving revision 1.100
diff -u -r1.100 e_os.h
--- e_os.h      26 Aug 2009 15:15:14 -0000      1.100
+++ e_os.h      4 Dec 2009 04:58:56 -0000
@@ -499,7 +499,8 @@
 #      endif
 #      if !defined(IPPROTO_IP)
          /* winsock[2].h was included already? */
-#        include <winsock.h>
+#        include <winsock2.h>
+#                               include <ws2tcpip.h>
 #      endif
 #      ifdef getservbyname
 #        undef getservbyname
===================================================================
RCS file: /v/openssl/cvs/openssl/crypto/bio/bss_fd.c,v
retrieving revision 1.7
diff -u -r1.7 bss_fd.c
--- crypto/bio/bss_fd.c 12 Feb 2006 23:11:30 -0000      1.7
+++ crypto/bio/bss_fd.c 4 Dec 2009 05:15:31 -0000
@@ -64,8 +64,26 @@
 #if defined(OPENSSL_NO_POSIX_IO)
 /*
  * One can argue that one should implement dummy placeholder for
- * BIO_s_fd here...
+ * BIO_s_fd here... NEEDED for WINCE
  */
+       BIO *BIO_new_fd(int fd,int close_flag)
+       {
+               return NULL;
+       }
+       int BIO_fd_non_fatal_error(int err)     
+       {
+               return 0;
+       }
+       int BIO_fd_should_retry(int i)  
+       {
+               return 0;
+       }
+       
+       BIO_METHOD *BIO_s_fd(void)
+       {
+               return NULL;
+       }
+       
 #else
 /*
  * As for unconditional usage of "UPLINK" interface in this module.
===================================================================
RCS file: /v/openssl/cvs/openssl/crypto/cms/cms.h,v
retrieving revision 1.29
diff -u -r1.29 cms.h
--- crypto/cms/cms.h    26 Nov 2009 18:57:39 -0000      1.29
+++ crypto/cms/cms.h    4 Dec 2009 05:10:10 -0000
@@ -55,6 +55,7 @@
 #ifndef HEADER_CMS_H
 #define HEADER_CMS_H

+#include <e_os.h>
 #include <openssl/x509.h>

 #ifdef OPENSSL_NO_CMS
===================================================================
RCS file: /v/openssl/cvs/openssl/util/pl/VC-32.pl,v
retrieving revision 1.63
diff -u -r1.63 VC-32.pl
--- util/pl/VC-32.pl    19 Nov 2009 22:29:03 -0000      1.63
+++ util/pl/VC-32.pl    4 Dec 2009 07:20:22 -0000
@@ -99,7 +99,7 @@
     }

     $cc='$(CC)';
-    $base_cflags=' /W3 /WX /GF /Gy /nologo -DUNICODE -D_UNICODE
-DOPENSSL_SYSNAME_WINCE -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32
-DNO_CHMOD -DOPENSSL_SMALL_FOOTPRINT';
+    $base_cflags=' /W3 /GF /Gy /nologo -DUNICODE -D_UNICODE
-DOPENSSL_SYSNAME_WINCE -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32
-DNO_CHMOD -DOPENSSL_SMALL_FOOTPRINT';
     $base_cflags.=" $wcecdefs";
     $base_cflags.=' -I$(WCECOMPAT)/include'            if 
(defined($ENV{'WCECOMPAT'}));
     $base_cflags.=' -I$(PORTSDK_LIBPATH)/../../include'        if
(defined($ENV{'PORTSDK_LIBPATH'}));
@@ -143,12 +143,12 @@
 $efile="/out:";
 $exep='.exe';
 if ($no_sock)          { $ex_libs=''; }
-elsif ($FLAVOR =~ /CE/)        { $ex_libs='winsock.lib'; }
+elsif ($FLAVOR =~ /CE/)        { $ex_libs='ws2.lib'; }
 else                   { $ex_libs='ws2_32.lib'; }

 if ($FLAVOR =~ /CE/)
        {
-       $ex_libs.=' $(WCECOMPAT)/lib/wcecompatex.lib'   if 
(defined($ENV{'WCECOMPAT'}));
+       $ex_libs.=' /NODEFAULTLIB:oldnames.lib coredll.lib corelibc.lib
$(WCECOMPAT)/lib/wcecompat.lib' if (defined($ENV{'WCECOMPAT'}));
        $ex_libs.=' $(PORTSDK_LIBPATH)/portlib.lib'     if
(defined($ENV{'PORTSDK_LIBPATH'}));
        $ex_libs.=' /nodefaultlib:oldnames.lib coredll.lib corelibc.lib' if
($ENV{'TARGETCPU'} eq "X86");
        }
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to