diff -ur misc/Python-2.7.18/PC/VS9.0/build_ssl.py misc/build/Python-2.7.18/PC/VS9.0/build_ssl.py
--- misc/Python-2.7.18/PC/VS9.0/build_ssl.py	2020-01-10 00:33:20.903051000 -0500
+++ misc/build/Python-2.7.18/PC/VS9.0/build_ssl.py	2020-01-10 00:33:30.274973000 -0500
@@ -235,4 +235,4 @@
     sys.exit(rc)
 
 if __name__=='__main__':
-    main()
+    sys.exit(0)
diff -ur misc/Python-2.7.18/setup.py misc/build/Python-2.7.18/setup.py
--- misc/Python-2.7.18/setup.py	2020-01-10 00:33:20.477509000 -0500
+++ misc/build/Python-2.7.18/setup.py	2020-01-10 00:33:30.276902000 -0500
@@ -854,7 +854,15 @@
                                depends=['socketmodule.h'],
                                libraries=math_libs) )
         # Detect SSL support for the socket module (via _ssl)
+        UPDMINOR = os.environ.get('UPDMINOREXT')
+        ooosslinc = os.environ.get('SOLARVERSION') + '/' + \
+            os.environ.get('INPATH') + '/' + \
+            'inc'
+        if UPDMINOR != None:
+            ooosslinc = ooosslinc + UPDMINOR
+        ooosslinc = ooosslinc + '/external/'
         search_for_ssl_incs_in = [
+                              ooosslinc,
                               '/usr/local/ssl/include',
                               '/usr/contrib/ssl/include/'
                              ]
@@ -866,8 +874,15 @@
                                ['/usr/kerberos/include'])
             if krb5_h:
                 ssl_incs += krb5_h
+        ooossllib = os.environ.get('SOLARVER') + '/' + \
+            os.environ.get('INPATH') + '/' + \
+            'lib'
+        if UPDMINOR != None:
+            ooosslinc = ooosslinc + UPDMINOR
+        ooosslinc = ooosslinc + '/'
         ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
-                                     ['/usr/local/ssl/lib',
+                                     [ooossllib,
+                                      '/usr/local/ssl/lib',
                                       '/usr/contrib/ssl/lib/'
                                      ] )
 
