diff options
Diffstat (limited to 'src/lib/libcrypto/util/pl/linux.pl')
-rw-r--r-- | src/lib/libcrypto/util/pl/linux.pl | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/src/lib/libcrypto/util/pl/linux.pl b/src/lib/libcrypto/util/pl/linux.pl new file mode 100644 index 0000000000..d24f7b7291 --- /dev/null +++ b/src/lib/libcrypto/util/pl/linux.pl | |||
@@ -0,0 +1,104 @@ | |||
1 | #!/usr/local/bin/perl | ||
2 | # | ||
3 | # linux.pl - the standard unix makefile stuff. | ||
4 | # | ||
5 | |||
6 | $o='/'; | ||
7 | $cp='/bin/cp'; | ||
8 | $rm='/bin/rm -f'; | ||
9 | |||
10 | # C compiler stuff | ||
11 | |||
12 | $cc='gcc'; | ||
13 | if ($debug) | ||
14 | { $cflags="-g2 -ggdb -DREF_CHECK -DCRYPTO_MDEBUG"; } | ||
15 | elsif ($profile) | ||
16 | { $cflags="-pg -O3"; } | ||
17 | else | ||
18 | { $cflags="-O3 -fomit-frame-pointer"; } | ||
19 | |||
20 | if (!$no_asm) | ||
21 | { | ||
22 | $bn_asm_obj='$(OBJ_D)/bn86-elf.o'; | ||
23 | $bn_asm_src='crypto/bn/asm/bn86unix.cpp'; | ||
24 | $bnco_asm_obj='$(OBJ_D)/co86-elf.o'; | ||
25 | $bnco_asm_src='crypto/bn/asm/co86unix.cpp'; | ||
26 | $des_enc_obj='$(OBJ_D)/dx86-elf.o $(OBJ_D)/yx86-elf.o'; | ||
27 | $des_enc_src='crypto/des/asm/dx86unix.cpp crypto/des/asm/yx86unix.cpp'; | ||
28 | $bf_enc_obj='$(OBJ_D)/bx86-elf.o'; | ||
29 | $bf_enc_src='crypto/bf/asm/bx86unix.cpp'; | ||
30 | $cast_enc_obj='$(OBJ_D)/cx86-elf.o'; | ||
31 | $cast_enc_src='crypto/cast/asm/cx86unix.cpp'; | ||
32 | $rc4_enc_obj='$(OBJ_D)/rx86-elf.o'; | ||
33 | $rc4_enc_src='crypto/rc4/asm/rx86unix.cpp'; | ||
34 | $rc5_enc_obj='$(OBJ_D)/r586-elf.o'; | ||
35 | $rc5_enc_src='crypto/rc5/asm/r586unix.cpp'; | ||
36 | $md5_asm_obj='$(OBJ_D)/mx86-elf.o'; | ||
37 | $md5_asm_src='crypto/md5/asm/mx86unix.cpp'; | ||
38 | $rmd160_asm_obj='$(OBJ_D)/rm86-elf.o'; | ||
39 | $rmd160_asm_src='crypto/ripemd/asm/rm86unix.cpp'; | ||
40 | $sha1_asm_obj='$(OBJ_D)/sx86-elf.o'; | ||
41 | $sha1_asm_src='crypto/sha/asm/sx86unix.cpp'; | ||
42 | $cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DOPENSSL_BN_ASM_PART_WORDS"; | ||
43 | } | ||
44 | |||
45 | $cflags.=" -DTERMIO -DL_ENDIAN -m486 -Wall"; | ||
46 | |||
47 | if ($shlib) | ||
48 | { | ||
49 | $shl_cflag=" -DPIC -fpic"; | ||
50 | $shlibp=".so.$ssl_version"; | ||
51 | $so_shlibp=".so"; | ||
52 | } | ||
53 | |||
54 | sub do_shlib_rule | ||
55 | { | ||
56 | local($obj,$target,$name,$shlib,$so_name)=@_; | ||
57 | local($ret,$_,$Name); | ||
58 | |||
59 | $target =~ s/\//$o/g if $o ne '/'; | ||
60 | ($Name=$name) =~ tr/a-z/A-Z/; | ||
61 | |||
62 | $ret.="$target: \$(${Name}OBJ)\n"; | ||
63 | $ret.="\t\$(RM) target\n"; | ||
64 | $ret.="\tgcc \${CFLAGS} -shared -Wl,-soname,$target -o $target \$(${Name}OBJ)\n"; | ||
65 | ($t=$target) =~ s/(^.*)\/[^\/]*$/$1/; | ||
66 | if ($so_name ne "") | ||
67 | { | ||
68 | $ret.="\t\$(RM) \$(LIB_D)$o$so_name\n"; | ||
69 | $ret.="\tln -s $target \$(LIB_D)$o$so_name\n\n"; | ||
70 | } | ||
71 | } | ||
72 | |||
73 | sub do_link_rule | ||
74 | { | ||
75 | local($target,$files,$dep_libs,$libs)=@_; | ||
76 | local($ret,$_); | ||
77 | |||
78 | $file =~ s/\//$o/g if $o ne '/'; | ||
79 | $n=&bname($target); | ||
80 | $ret.="$target: $files $dep_libs\n"; | ||
81 | $ret.="\t\$(LINK) ${efile}$target \$(LFLAGS) $files $libs\n\n"; | ||
82 | return($ret); | ||
83 | } | ||
84 | |||
85 | sub do_asm_rule | ||
86 | { | ||
87 | local($target,$src)=@_; | ||
88 | local($ret,@s,@t,$i); | ||
89 | |||
90 | $target =~ s/\//$o/g if $o ne "/"; | ||
91 | $src =~ s/\//$o/g if $o ne "/"; | ||
92 | |||
93 | @s=split(/\s+/,$src); | ||
94 | @t=split(/\s+/,$target); | ||
95 | |||
96 | for ($i=0; $i<=$#s; $i++) | ||
97 | { | ||
98 | $ret.="$t[$i]: $s[$i]\n"; | ||
99 | $ret.="\tgcc -E -DELF \$(SRC_D)$o$s[$i]|\$(AS) $afile$t[$i]\n\n"; | ||
100 | } | ||
101 | return($ret); | ||
102 | } | ||
103 | |||
104 | 1; | ||