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 a22370bf0f90ff78a8fb36334d0ea6e074a83678..ac587d6bd267ff3958774444af798b4e337e390d 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 4027b4306cf74cca3214b20d4d25f3525ec57d34..60effb41527087a591c75ce01751bfe1a7b9bb7c 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 430da4e9946f8a264ab00a98ead1499aedbc10a7..3a63c4016ccf952a035e424c08388452ece126d1 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 51eb091e60c96c52574da18747a81fcb35c83b8e..87fa8c57b72ce2b4bfc056ad41ba27799d815be7 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 47866c3c86fb07f0371665001b789d45c09898e2..ecb64f0ec40d360ce3457077b4c22f5f82fdc4ab 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 53efd430ec01640c9ee76d3ce90f9bd8ee3433fc..00565507e4bb2154d3c088739f67f421212a1d9a 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 c67eb795ca76398aa8c58ab03575c6960d743c41..c5dd2d81db49373db908cb14814b2eeb2363ce9d 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 37f172f8a4d7d7482c7dbb493cd3ea7d9a76baed..113b58678f38a4b2149240ce617ce9e28cd56efc 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 a78328228281537351b0302d852f2ad7e11d41c5..f8b580c33a3a128591f0a051c260e3fbcdda5c2a 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 ad235d6cdc7c00cc82f79f996ca7e6752b28e526..20e660c71df72de695e6d7ad965db19a9f8bf54d 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 66b083144adc7bdcc87c0deeec0a3f81e806a4f6..e61c63f3e99d46f86b0c0a00d981fd0c5324feee 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 fc8b691a87590998c706e629a9a7c267e1bcec24..ee9730d5e2f87a972cbc532eb0f9cccefd130819 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 a4f1cb1a94347b88767f0317e8adae05618b98a9..5d761781b8577ef4e4ed4bb23ac7a849ba8ba034 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 18ef2f5708fceeef7e2be09a136f91654ba3f4f9..8c6370bc5dcbb470550d520b834148a027a7d3bc 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 907495efe43bd4173e32b34bccf90eb83fa2bcc5..1805ef9d976060bd6ec1622129321b3025b1bed2 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';