aboutsummaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2001-07-01 22:39:46 +0000
committerRichard Levitte <levitte@openssl.org>2001-07-01 22:39:46 +0000
commitdc01b6b1f20e9fa8a975f5f28e55fdaa75fe37e6 (patch)
treebe53597dae0d499197a282d9d0b4558b01c251c0 /util
parentb7a26e6dafdbf97513e968a45757a4d4e9843ba2 (diff)
downloadopenssl-dc01b6b1f20e9fa8a975f5f28e55fdaa75fe37e6.tar.gz
Changes to have OpenSSL compile on OS/2.
Contributed by "Brian Havard" <brianh@kheldar.apana.org.au>
Diffstat (limited to 'util')
-rwxr-xr-xutil/mk1mf.pl6
-rw-r--r--util/pl/OS2-EMX.pl96
2 files changed, 102 insertions, 0 deletions
diff --git a/util/mk1mf.pl b/util/mk1mf.pl
index e6aa5c45c0..014c4df0b2 100755
--- a/util/mk1mf.pl
+++ b/util/mk1mf.pl
@@ -37,6 +37,7 @@ $infile="MINFO";
"linux-elf","Linux elf",
"ultrix-mips","DEC mips ultrix",
"FreeBSD","FreeBSD distribution",
+ "OS2-EMX", "EMX GCC OS/2",
"default","cc under unix",
);
@@ -182,6 +183,11 @@ elsif ($platform eq "ultrix-mips")
require "ultrix.pl";
$unix=1;
}
+elsif ($platform eq "OS2-EMX")
+ {
+ $wc=1;
+ require 'OS2-EMX.pl';
+ }
else
{
require "unix.pl";
diff --git a/util/pl/OS2-EMX.pl b/util/pl/OS2-EMX.pl
new file mode 100644
index 0000000000..57180556ca
--- /dev/null
+++ b/util/pl/OS2-EMX.pl
@@ -0,0 +1,96 @@
+#!/usr/local/bin/perl
+#
+# OS2-EMX.pl - for EMX GCC on OS/2
+#
+
+$o='\\';
+$cp='copy';
+$rm='rm -f';
+
+# C compiler stuff
+
+$cc='gcc';
+$cflags="-DL_ENDIAN -O3 -fomit-frame-pointer -m486 -Zmt -Wall ";
+
+if ($debug) {
+ $cflags.="-g ";
+}
+
+$obj='.o';
+$ofile='-o ';
+
+# EXE linking stuff
+$link='${CC}';
+$lflags='${CFLAGS} -Zbsd-signals';
+$efile='-o ';
+$exep='.exe';
+$ex_libs="-lsocket";
+
+# static library stuff
+$mklib='ar r';
+$mlflags='';
+$ranlib="ar s";
+$plib='lib';
+$libp=".a";
+$shlibp=".a";
+$lfile='';
+
+$asm='as';
+$afile='-o ';
+$bn_asm_obj="";
+$bn_asm_src="";
+$des_enc_obj="";
+$des_enc_src="";
+$bf_enc_obj="";
+$bf_enc_src="";
+
+if (!$no_asm)
+ {
+ $bn_asm_obj='crypto\bn\asm\bn-os2.o crypto\bn\asm\co-os2.o';
+ $bn_asm_src='crypto\bn\asm\bn-os2.asm crypto\bn\asm\co-os2.asm';
+ $des_enc_obj='crypto\des\asm\d-os2.o crypto\des\asm\y-os2.o';
+ $des_enc_src='crypto\des\asm\d-os2.asm crypto\des\asm\y-os2.asm';
+ $bf_enc_obj='crypto\bf\asm\b-os2.o';
+ $bf_enc_src='crypto\bf\asm\b-os2.asm';
+ $cast_enc_obj='crypto\cast\asm\c-os2.o';
+ $cast_enc_src='crypto\cast\asm\c-os2.asm';
+ $rc4_enc_obj='crypto\rc4\asm\r4-os2.o';
+ $rc4_enc_src='crypto\rc4\asm\r4-os2.asm';
+ $rc5_enc_obj='crypto\rc5\asm\r5-os2.o';
+ $rc5_enc_src='crypto\rc5\asm\r5-os2.asm';
+ $md5_asm_obj='crypto\md5\asm\m5-os2.o';
+ $md5_asm_src='crypto\md5\asm\m5-os2.asm';
+ $sha1_asm_obj='crypto\sha\asm\s1-os2.o';
+ $sha1_asm_src='crypto\sha\asm\s1-os2.asm';
+ $rmd160_asm_obj='crypto\ripemd\asm\rm-os2.o';
+ $rmd160_asm_src='crypto\ripemd\asm\rm-os2.asm';
+ }
+
+sub do_lib_rule
+ {
+ local($obj,$target,$name,$shlib)=@_;
+ local($ret,$_,$Name);
+
+ $target =~ s/\//$o/g if $o ne '/';
+ $target="$target";
+ ($Name=$name) =~ tr/a-z/A-Z/;
+
+ $ret.="$target: \$(${Name}OBJ)\n";
+ $ret.="\t\$(RM) $target\n";
+ $ret.="\t\$(MKLIB) $target \$(${Name}OBJ)\n";
+ $ret.="\t\$(RANLIB) $target\n\n";
+ }
+
+sub do_link_rule
+ {
+ local($target,$files,$dep_libs,$libs)=@_;
+ local($ret,$_);
+
+ $file =~ s/\//$o/g if $o ne '/';
+ $n=&bname($target);
+ $ret.="$target: $files $dep_libs\n";
+ $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n\n";
+ return($ret);
+ }
+
+1;