summaryrefslogtreecommitdiffstats
path: root/openssl/os2
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2017-05-02 16:41:35 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2017-05-02 16:41:35 (GMT)
commit3d328008deedc58cd7a11c79063cefa7d662d4fc (patch)
treecb41a048885ce7b493f406360cf5f6edf689c468 /openssl/os2
parent0a2b8b8e0bc2e91a9f10659b30e2e4f5b79ce692 (diff)
downloadblt-3d328008deedc58cd7a11c79063cefa7d662d4fc.zip
blt-3d328008deedc58cd7a11c79063cefa7d662d4fc.tar.gz
blt-3d328008deedc58cd7a11c79063cefa7d662d4fc.tar.bz2
inital commit
Diffstat (limited to 'openssl/os2')
-rw-r--r--openssl/os2/OS2-EMX.cmd102
-rw-r--r--openssl/os2/backwardify.pl32
2 files changed, 134 insertions, 0 deletions
diff --git a/openssl/os2/OS2-EMX.cmd b/openssl/os2/OS2-EMX.cmd
new file mode 100644
index 0000000..5924b50
--- /dev/null
+++ b/openssl/os2/OS2-EMX.cmd
@@ -0,0 +1,102 @@
+@echo off
+
+perl Configure OS2-EMX
+perl util\mkfiles.pl > MINFO
+
+@rem create make file
+perl util\mk1mf.pl OS2-EMX > OS2-EMX.mak
+perl util\mk1mf.pl dll OS2-EMX > OS2-EMX-DLL.mak
+
+echo Generating export definition files
+perl util\mkdef.pl crypto OS2 > os2\crypto.def
+perl util\mkdef.pl ssl OS2 > os2\ssl.def
+
+echo Generating x86 for GNU assember
+
+echo Bignum
+cd crypto\bn\asm
+rem perl x86.pl a.out > bn-os2.asm
+perl bn-586.pl a.out > bn-os2.asm
+perl co-586.pl a.out > co-os2.asm
+cd ..\..\..
+
+echo DES
+cd crypto\des\asm
+perl des-586.pl a.out > d-os2.asm
+cd ..\..\..
+
+echo crypt(3)
+cd crypto\des\asm
+perl crypt586.pl a.out > y-os2.asm
+cd ..\..\..
+
+echo Blowfish
+cd crypto\bf\asm
+perl bf-586.pl a.out > b-os2.asm
+cd ..\..\..
+
+echo CAST5
+cd crypto\cast\asm
+perl cast-586.pl a.out > c-os2.asm
+cd ..\..\..
+
+echo RC4
+cd crypto\rc4\asm
+perl rc4-586.pl a.out > r4-os2.asm
+cd ..\..\..
+
+echo MD5
+cd crypto\md5\asm
+perl md5-586.pl a.out > m5-os2.asm
+cd ..\..\..
+
+echo SHA1
+cd crypto\sha\asm
+perl sha1-586.pl a.out > s1-os2.asm
+cd ..\..\..
+
+echo RIPEMD160
+cd crypto\ripemd\asm
+perl rmd-586.pl a.out > rm-os2.asm
+cd ..\..\..
+
+echo RC5\32
+cd crypto\rc5\asm
+perl rc5-586.pl a.out > r5-os2.asm
+cd ..\..\..
+
+cd os2
+
+if exist noname\backward_ssl.def goto nomkdir
+mkdir noname
+:nomkdir
+
+perl backwardify.pl crypto.def >backward_crypto.def
+perl backwardify.pl ssl.def >backward_ssl.def
+perl backwardify.pl -noname crypto.def >noname\backward_crypto.def
+perl backwardify.pl -noname ssl.def >noname\backward_ssl.def
+
+echo Creating backward compatibility forwarder dlls:
+echo crypto.dll
+gcc -Zomf -Zdll -Zcrtdll -o crypto.dll backward_crypto.def 2>&1 | grep -v L4085
+echo ssl.dll
+gcc -Zomf -Zdll -Zcrtdll -o ssl.dll backward_ssl.def 2>&1 | grep -v L4085
+
+echo Creating smaller backward compatibility forwarder dlls:
+echo These DLLs are not good for runtime resolution of symbols.
+echo noname\crypto.dll
+gcc -Zomf -Zdll -Zcrtdll -o noname/crypto.dll noname/backward_crypto.def 2>&1 | grep -v L4085
+echo noname\ssl.dll
+gcc -Zomf -Zdll -Zcrtdll -o noname/ssl.dll noname/backward_ssl.def 2>&1 | grep -v L4085
+
+echo Compressing forwarders (it is ok if lxlite is not found):
+lxlite *.dll noname/*.dll
+
+cd ..
+
+echo Now run:
+echo For static build:
+echo make -f OS2-EMX.mak
+echo For dynamic build:
+echo make -f OS2-EMX-DLL.mak
+echo then rename crypto.dll to cryptssl.dll, ssl.dll to open_ssl.dll
diff --git a/openssl/os2/backwardify.pl b/openssl/os2/backwardify.pl
new file mode 100644
index 0000000..272423c
--- /dev/null
+++ b/openssl/os2/backwardify.pl
@@ -0,0 +1,32 @@
+#!/usr/bin/perl -w
+use strict;
+
+# Use as $0
+# Use as $0 -noname
+
+my $did_library;
+my $did_description;
+my $do_exports;
+my @imports;
+my $noname = (@ARGV and $ARGV[0] eq '-noname' and shift);
+while (<>) {
+ unless ($did_library) {
+ s/\b(cryptssl)\b/crypto/ and $did_library = $1 if /^LIBRARY\s+cryptssl\b/;
+ s/\b(open_ssl)\b/ssl/ and $did_library = $1 if /^LIBRARY\s+open_ssl\b/;
+ }
+ unless ($did_description) {
+ s&^(DESCRIPTION\s+(['"])).*&${1}\@#www.openssl.org/:#\@forwarder DLL for pre-0.9.7c+ OpenSSL to the new dll naming scheme$2& and $did_description++;
+ }
+ if ($do_exports) {{
+ last unless /\S/;
+ warn, last unless /^ \s* ( \w+ ) \s+ \@(\d+)\s*$/x;
+ push @imports, [$1, $2];
+ s/$/ NONAME/ if $noname;
+ }}
+ $do_exports++ if not $do_exports and /^EXPORTS/;
+ print $_;
+}
+print "IMPORTS\n";
+for my $imp (@imports) {
+ print "\t$imp->[0]=$did_library.$imp->[1]\n";
+}