• R
    Make a number of changes to the OS/2 build. Submitter's comment below. · 0b352c58
    Richard Levitte 提交于
    PR: 732
    Submitted by: Ilya Zakharevich <nospam-abuse@ilyaz.org>
    
    Submitter's comment:
    
    This patch:
    
    a) Introduces a new file os2/backwardify.pl.
    
    b) Introduces a new mk1mf.pl variable $preamble.  As you can see, it may
       be used also to move some OS-specific code to VC-CE too (the the
       first chunk of the patch);
    
    c) The DESCRIPTION specifier of the .def file is made more informative:
       now it contains the version number too.  On OS/2 it is made conformant
       to OS/2 conventions; in particular, when one runs the standard command
    	BLDLEVEL this.DLL
       one can see:
    
       Vendor:      www.openssl.org/
       Revision:    0.9.7c
       Description: OpenSSL: implementation of Secure Socket Layer; DLL for library crypto.  Build for EMX -Zmtd
    
       [I did not make Win32 descriptions as informative as this - I'm afraid to
        break something.  Be welcome to fix this.]
    
    d) On OS/2 the generated DLL was hardly usable (it had a shared initialized
       data segment).
    
    e) On OS/2 the generated DLLs had names like ssl.dll.  However, DLL names on
       OS/2 are "global data".  It is hard to have several DLLs with the same
       name on the system.  Thus this precluded coexistence of OpenSSL with DLLs
       for other SLL implementations - or other name clashes.  I transparently
       changed the names of the DLLs to open_ssl.dll and cryptssl.dll.
    
    f) The file added in (a) is used to create "forwarder" DLLs, so the
       applications expecting the "old" DLL names may use the new DLLs
       transparently.  (A presence of these DLLs on the system nullifies (e),
       but makes old applications work.  This is a stopgap measure until the
       old applications are relinked.  Systems with no old applications do not
       need these DLLs, so may enjoy all the benefits of (e).)
    
       The new DLLs are placed in os2/ and os2/noname subdirectories.
    
    g) The makefiles created with os2/OS2-EMX.cmd did not work (some mysterious
       meaningless failures).  The change to util/pl/OS2-EMX.pl uses the
       variable introduced in (b) to switch the Makefiles to SHELL=sh syntax.
       All these backslashes are removed, and the generated Makefiles started to
       work.
    
    h) Running os2/OS2-EMX.cmd now prints out what to do next.
    0b352c58
mkdef.pl 42.3 KB