VMS updates.
Submitted by: Richard Levitte <levitte@stacken.kth.se>
diff --git a/apps/makeapps.com b/apps/makeapps.com
index ab8c8fa..8a15a13 100644
--- a/apps/makeapps.com
+++ b/apps/makeapps.com
@@ -158,14 +158,14 @@
 	      "RSA;DSA;DSAPARAM;"+-
 	      "X509;GENRSA;GENDSA;S_SERVER;S_CLIENT;SPEED;"+-
 	      "S_TIME;APPS;S_CB;S_SOCKET;VERSION;SESS_ID;"+-
-	      "CIPHERS;NSEQ;PKCS12"
+	      "CIPHERS;NSEQ;PKCS12;PKCS8"
 $ APP_FILES := OPENSSL,'OBJ_DIR'VERIFY.OBJ,ASN1PARS.OBJ,REQ.OBJ,DGST.OBJ,DH.OBJ,ENC.OBJ,GENDH.OBJ,-
 	       ERRSTR.OBJ,CA.OBJ,-
 	       PKCS7.OBJ,CRL2P7.OBJ,CRL.OBJ,-
 	       RSA.OBJ,DSA.OBJ,DSAPARAM.OBJ,-
 	       X509.OBJ,GENRSA.OBJ,GENDSA.OBJ,S_SERVER.OBJ,S_CLIENT.OBJ,SPEED.OBJ,-
 	       S_TIME.OBJ,APPS.OBJ,S_CB.OBJ,S_SOCKET.OBJ,VERSION.OBJ,SESS_ID.OBJ,-
-	       CIPHERS.OBJ,NSEQ.OBJ,PKCS12.OBJ
+	       CIPHERS.OBJ,NSEQ.OBJ,PKCS12.OBJ,PKCS8.OBJ
 $ TCPIP_PROGRAMS = ",,"
 $ IF COMPILER .EQS. "VAXC" THEN -
      TCPIP_PROGRAMS = ",OPENSSL,"
@@ -900,7 +900,8 @@
 $!
 $!    Use GNU C...
 $!
-$     CC = "GCC/NOCASE_HACK/''GCC_OPTIMIZE'/''DEBUGGER'/NOLIST" + CCEXTRAFLAGS
+$     IF F$TYPE(GCC) .EQS. "" THEN GCC := GCC
+$     CC = GCC+"/NOCASE_HACK/''GCC_OPTIMIZE'/''DEBUGGER'/NOLIST" + CCEXTRAFLAGS
 $!
 $!    Define The Linker Options File Name.
 $!
diff --git a/apps/pkcs8.c b/apps/pkcs8.c
index 9e9b92b..a053883 100644
--- a/apps/pkcs8.c
+++ b/apps/pkcs8.c
@@ -56,6 +56,7 @@
  *
  */
 #include <stdio.h>
+#include <string.h>
 #include <openssl/pem.h>
 #include <openssl/err.h>
 #include <openssl/evp.h>
diff --git a/apps/s_client.c b/apps/s_client.c
index 84133b8..96e446c 100644
--- a/apps/s_client.c
+++ b/apps/s_client.c
@@ -56,6 +56,13 @@
  * [including the GNU Public Licence.]
  */
 
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#ifdef NO_STDIO
+#define APPS_WIN16
+#endif
+
 /* With IPv6, it looks like Digital has mixed up the proper order of
    recursive header file inclusion, resulting in the compiler complaining
    that u_int isn't defined, but only if _POSIX_C_SOURCE is defined, which
@@ -65,13 +72,7 @@
 typedef unsigned int u_int;
 #endif
 
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
 #define USE_SOCKETS
-#ifdef NO_STDIO
-#define APPS_WIN16
-#endif
 #include "apps.h"
 #include <openssl/x509.h>
 #include <openssl/ssl.h>
diff --git a/apps/s_server.c b/apps/s_server.c
index 5b07918..5498931 100644
--- a/apps/s_server.c
+++ b/apps/s_server.c
@@ -56,6 +56,15 @@
  * [including the GNU Public Licence.]
  */
 
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#ifdef NO_STDIO
+#define APPS_WIN16
+#endif
+
 /* With IPv6, it looks like Digital has mixed up the proper order of
    recursive header file inclusion, resulting in the compiler complaining
    that u_int isn't defined, but only if _POSIX_C_SOURCE is defined, which
@@ -65,14 +74,6 @@
 typedef unsigned int u_int;
 #endif
 
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#ifdef NO_STDIO
-#define APPS_WIN16
-#endif
 #include <openssl/lhash.h>
 #include <openssl/bn.h>
 #define USE_SOCKETS
diff --git a/apps/s_socket.c b/apps/s_socket.c
index 45c2939..888b66d 100644
--- a/apps/s_socket.c
+++ b/apps/s_socket.c
@@ -56,6 +56,12 @@
  * [including the GNU Public Licence.]
  */
 
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <signal.h>
+
 /* With IPv6, it looks like Digital has mixed up the proper order of
    recursive header file inclusion, resulting in the compiler complaining
    that u_int isn't defined, but only if _POSIX_C_SOURCE is defined, which
@@ -65,11 +71,6 @@
 typedef unsigned int u_int;
 #endif
 
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <signal.h>
 #define USE_SOCKETS
 #define NON_MAIN
 #include "apps.h"