4d2b98d2c1a05a636c284aed06d90f0265ecd970
[openssl.git] / shlib / linux.sh
1 #!/bin/sh
2
3 echo "#define DATE      \"`date`\"" >crypto/date.h
4
5 major="0"
6 minor="8.0"
7 slib=libssl
8 clib=libcrypto
9 CC=gcc
10 CPP='gcc -E'
11 AS=as
12 FLAGS='-DTERMIO -O3 -DL_ENDIAN -fomit-frame-pointer -m486 -Wall'
13 #FLAGS='-DTERMIO -g2 -ggdb -DL_ENDIAN -m486 -Wall -DREF_CHECK -DCRYPTO_MDEBUG'
14 INCLUDE='-Iinclude -Icrypto -Issl'
15 SHFLAGS='-DPIC -fpic'
16
17 CFLAGS="$FLAGS $INCLUDE $SHFLAGS"
18 ASM_OBJ="";
19
20 echo compiling bignum assember
21 $AS -o bn_asm.o crypto/bn/asm/x86-lnx.s
22 CFLAGS="$CFLAGS -DBN_ASM"
23 ASM_OBJ="$ASM_OBJ bn_asm.o"
24
25 echo compiling des assember
26 $CPP -DELF crypto/des/asm/dx86unix.cpp | $AS -o des_enc.o
27 $CPP -DELF crypto/des/asm/cx86unix.cpp | $AS -o fcrypt-b.o
28 CFLAGS="$CFLAGS -DDES_ASM"
29 ASM_OBJ="$ASM_OBJ des_enc.o fcrypt-b.o"
30
31 echo compiling blowfish assember
32 $CPP -DELF crypto/bf/asm/bx86unix.cpp | $AS -o bf_enc.o
33 CFLAGS="$CFLAGS -DBF_ASM"
34 ASM_OBJ="$ASM_OBJ bf_enc.o"
35
36 echo compiling $clib
37 $CC -c $CFLAGS -DCFLAGS="\"$FLAGS\"" -o crypto.o crypto/crypto.c
38
39 echo linking $clib.so
40 gcc $CFLAGS -shared -Wl,-soname,$clib.so.$major -o $clib.so.$major.$minor crypto.o $ASM_OBJ
41 /bin/rm -f $clib.so $clib.$major
42 ln -s $clib.so.$major.$minor $clib.so
43 ln -s $clib.so.$major.$minor $clib.so.$major
44
45 echo compiling $slib.so
46 $CC -c $CFLAGS -o ssl.o ssl/ssl.c
47
48 echo building $slib.so
49 gcc $CFLAGS -shared -Wl,-soname,$slib.so.$major -o $slib.so.$major.$minor ssl.o
50 /bin/rm -f $slib.so $slib.$mahor
51 ln -s $slib.so.$major.$minor $slib.so
52 ln -s $slib.so.$major.$minor $slib.so.$major
53
54 echo building ssleay executable
55 gcc $CFLAGS -o ssleay apps/eay.c -L. -lssl -lcrypto
56