Windows CE updates, contributed by Steven Reddie <smr@essemer.com.au>
authorRichard Levitte <levitte@openssl.org>
Tue, 3 Dec 2002 14:20:44 +0000 (14:20 +0000)
committerRichard Levitte <levitte@openssl.org>
Tue, 3 Dec 2002 14:20:44 +0000 (14:20 +0000)
15 files changed:
INSTALL.WCE
crypto/crypto.h
crypto/des/read2pwd.c
crypto/engine/enginetest.c
crypto/md2/md2_dgst.c
crypto/md4/md4_one.c
crypto/md5/md5_one.c
crypto/rand/rand_win.c
crypto/ripemd/rmd_one.c
crypto/sha/sha1_one.c
crypto/sha/sha_one.c
crypto/ui/ui_util.c
e_os.h
util/mk1mf.pl
util/pl/VC-CE.pl

index a22370b..ac587d6 100644 (file)
@@ -11,6 +11,9 @@
  You also need Perl for Win32.  You will need ActiveState Perl, available
  from http://www.activestate.com/ActivePerl.
 
+ Windows CE support in OpenSSL relies on wcecompat.  All Windows CE specific
+ issues should be directed to www.essemer.com.au.
+
  The C Runtime Library implementation for Windows CE that is included with
  Microsoft eMbedded Visual C++ 3.0 is incomplete and in some places
  incorrect.  wcecompat plugs the holes and tries to bring the Windows CE
index 4027b43..60effb4 100644 (file)
 
 #ifndef OPENSSL_NO_FP_API
 #include <stdio.h>
-#ifdef OPENSSL_SYS_WINCE
-#include <stdio_extras.h>
-#endif
 #endif
 
 #include <openssl/stack.h>
index 430da4e..3a63c40 100644 (file)
 #include <string.h>
 #include <openssl/des.h>
 #include <openssl/ui.h>
-#ifdef OPENSSL_SYS_WINCE
-#include <stdio_extras.h>      /* BUFSIZ */
-#endif
 
 int DES_read_password(DES_cblock *key, const char *prompt, int verify)
        {
index 51eb091..87fa8c5 100644 (file)
@@ -58,9 +58,6 @@
 
 #include <openssl/e_os2.h>
 #include <stdio.h>
-#ifdef OPENSSL_SYS_WINCE
-#include <stdlib_extras.h>
-#endif
 #include <string.h>
 #include <openssl/buffer.h>
 #include <openssl/crypto.h>
index 47866c3..ecb64f0 100644 (file)
@@ -61,6 +61,7 @@
 #include <string.h>
 #include <openssl/md2.h>
 #include <openssl/opensslv.h>
+#include <openssl/crypto.h>
 
 const char *MD2_version="MD2" OPENSSL_VERSION_PTEXT;
 
index 53efd43..0056550 100644 (file)
@@ -59,6 +59,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <openssl/md4.h>
+#include <openssl/crypto.h>
 
 #ifdef CHARSET_EBCDIC
 #include <openssl/ebcdic.h>
index c67eb79..c5dd2d8 100644 (file)
@@ -59,6 +59,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <openssl/md5.h>
+#include <openssl/crypto.h>
 
 #ifdef CHARSET_EBCDIC
 #include <openssl/ebcdic.h>
index 37f172f..113b586 100644 (file)
@@ -211,7 +211,7 @@ int RAND_poll(void)
         osverinfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO) ;
         GetVersionEx( &osverinfo ) ;
 
-#ifdef OPENSSL_SYS_WINCE
+#if defined(OPENSSL_SYS_WINCE) && WCEPLATFORM!=MS_HPC_PRO
        /* poll the CryptoAPI PRNG */
        /* The CryptoAPI returns sizeof(buf) bytes of randomness */
        if (CryptAcquireContext(&hProvider, 0, 0, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT))
index a783282..f8b580c 100644 (file)
@@ -59,6 +59,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <openssl/ripemd.h>
+#include <openssl/crypto.h>
 
 unsigned char *RIPEMD160(const unsigned char *d, unsigned long n,
             unsigned char *md)
index ad235d6..20e660c 100644 (file)
@@ -59,6 +59,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <openssl/sha.h>
+#include <openssl/crypto.h>
 
 #ifndef OPENSSL_NO_SHA1
 unsigned char *SHA1(const unsigned char *d, unsigned long n, unsigned char *md)
index 66b0831..e61c63f 100644 (file)
@@ -59,6 +59,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <openssl/sha.h>
+#include <openssl/crypto.h>
 
 #ifndef OPENSSL_NO_SHA0
 unsigned char *SHA(const unsigned char *d, unsigned long n, unsigned char *md)
index fc8b691..ee9730d 100644 (file)
@@ -55,9 +55,6 @@
 
 #include <string.h>
 #include <openssl/ui.h>
-#ifdef OPENSSL_SYS_WINCE
-#include <stdio_extras.h>      /* BUFSIZ */
-#endif
 
 int UI_UTIL_read_pw_string(char *buf,int length,const char *prompt,int verify)
        {
diff --git a/e_os.h b/e_os.h
index a4f1cb1..5d76178 100644 (file)
--- a/e_os.h
+++ b/e_os.h
@@ -230,9 +230,6 @@ extern "C" {
 #  include <fcntl.h>
 
 #  ifdef OPENSSL_SYS_WINCE
-#    include <stdio_extras.h>
-#    include <stdlib_extras.h>
-#    include <string_extras.h>
 #    include <winsock_extras.h>
 #  endif
 
index 18ef2f5..8c6370b 100755 (executable)
@@ -273,6 +273,17 @@ $defs= <<"EOF";
 # The one monster makefile better suits building in non-unix
 # environments.
 
+EOF
+
+if ($platform eq "VC-CE")
+       {
+       $defs.= <<"EOF";
+!INCLUDE <\$(WCECOMPAT)/wcedefs.mak>
+
+EOF
+       }
+
+$defs.= <<"EOF";
 INSTALLTOP=$INSTALLTOP
 
 # Set your compiler options
index 907495e..1805ef9 100644 (file)
@@ -12,8 +12,8 @@ $rm='del';
 
 # C compiler stuff
 $cc='$(CC)';
-$cflags=' /W3 /WX /Ox /O2 /Ob2 /Gs0 /GF /Gy /nologo -D$(TARGETCPU) -D_$(TARGETCPU)_ -DUNDER_CE=300 -D_WIN32_CE=300 -DWIN32_PLATFORM_PSPC -DUNICODE -D_UNICODE -DWIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -DNO_CHMOD -I$(WCECOMPAT)/include';
-$lflags='/nologo /subsystem:windowsce,3.00 /machine:$(TARGETCPU) /opt:ref';
+$cflags=' /W3 /WX /Ox /O2 /Ob2 /Gs0 /GF /Gy /nologo $(WCETARGETDEFS) -DUNICODE -D_UNICODE -DWIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -DNO_CHMOD -I$(WCECOMPAT)/include';
+$lflags='/nologo /subsystem:windowsce,$(WCELDVERSION) /machine:$(WCELDMACHINE) /opt:ref';
 $mlflags='';
 
 $out_def='out32_$(TARGETCPU)';
@@ -36,8 +36,7 @@ $efile="/out:";
 $exep='.exe';
 if ($no_sock)
        { $ex_libs=""; }
-else   { $ex_libs='winsock.lib $(WCECOMPAT)/lib/wcecompatex.lib'; }
-#else  { $ex_libs='winsock.lib coredll.lib $(WCECOMPAT)/lib/wcecompatex.lib'; }
+else   { $ex_libs='winsock.lib $(WCECOMPAT)/lib/wcecompatex.lib $(WCELDFLAGS)'; }
 
 # static library stuff
 $mklib='lib';