Import of old SSLeay release: SSLeay 0.9.0b
[openssl.git] / Makefile.ssl
index 676ece0aa82123dbdf006f18b5aaee9c2cef485f..0f352027e61c4aacabd0830385411feaae44982c 100644 (file)
@@ -1,6 +1,6 @@
 #
 # Makefile for all the SSL related library routines and utilities
-VERSION        = 0.8.1a
+VERSION = 0.9.0a
 #
 # make install will install:
 #   libraries into $INSTALLTOP/lib
@@ -21,9 +21,9 @@ VERSION       = 0.8.1a
 #
 # If you must get hold of people directly (we much prefer the above
 # lists to be used if the question is of general interest!):
-#      Eric Young <eay@cryptsoft.com>
-#      Tim Hudson <tjh@cryptsoft.com>
-#      or both    <ssleay@cryptsoft.com>
+#       Eric Young <eay@cryptsoft.com>
+#       Tim Hudson <tjh@cryptsoft.com>
+#       or both    <ssleay@cryptsoft.com>
 #
 # The primary distribution of SSLeay is from
 # ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL
@@ -35,71 +35,124 @@ VERSION    = 0.8.1a
 # NO_RC4  - Define to build without the RC4 algorithm
 # NO_RC2  - Define to build without the RC2 algorithm
 # THREADS - Define when building with threads, you will probably also need any
-#          system defines as well, i.e. _REENTERANT for Solaris 2.[34]
+#           system defines as well, i.e. _REENTERANT for Solaris 2.[34]
 # TERMIO  - Define the termio terminal subsystem, needed if sgtty is missing.
 # TERMIOS - Define the termios terminal subsystem, Silicon Graphics.
 # LONGCRYPT - Define to use HPUX 10.x's long password modification to crypt(3).
 # DEVRANDOM - Give this the value of the 'random device' if your OS supports
-#          one.  32 bytes will be read from this when the random
-#          number generator is initalised.
+#           one.  32 bytes will be read from this when the random
+#           number generator is initalised.
 # SSL_ALLOW_ADH - define if you want the server to be able to use the
-#          SSLv3 anon-DH ciphers.
+#           SSLv3 anon-DH ciphers.
 # SSL_ALLOW_ENULL - define if you want the server to be able to use the
-#          NULL encryption ciphers.
+#           NULL encryption ciphers.
 #
 # LOCK_DEBUG - turns on lots of lock debug output :-)
 # REF_CHECK - turn on some xyz_free() assertions.
+# REF_PRINT - prints some stuff on structure free.
 # CRYPTO_MDEBUG - turns on my 'memory leak' detecting stuff
 # MFUNC - Make all Malloc/Free/Realloc calls call
-#      CRYPTO_malloc/CRYPTO_free/CRYPTO_realloc which can be setup to
-#      call application defined callbacks via CRYPTO_set_mem_functions()
+#       CRYPTO_malloc/CRYPTO_free/CRYPTO_realloc which can be setup to
+#       call application defined callbacks via CRYPTO_set_mem_functions()
+# MD5_ASM needs to be defined to use the x86 assembler for MD5
+# SHA1_ASM needs to be defined to use the x86 assembler for SHA1
+# RMD160_ASM needs to be defined to use the x86 assembler for RIPEMD160
 
 
 CC= cc
+#CFLAG= -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -Wuninitialized -DMD5_ASM -DSHA1_ASM -DRMD160_ASM
 CFLAG= -O -DNOPROTO
-#CFLAG= -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -Wuninitialized
 PEX_LIBS= -L. -L.. -L../.. -L../../..
 EX_LIBS= 
-#EX_LIBS= #-lRSAglue -lrsaref -lnsl -lsocket
 AR=ar r
 
 # Set BN_MULW to bn_mulw.o if you want to use the C version
-#BN_MULW= asm/x86-lnx.o
 BN_MULW= bn_mulw.o
-#BN_MULW= asm/x86-lnx.o                # elf
-#BN_MULW= asm/x86-sol.o                # solaris
-#BN_MULW= asm/x86-lnxa.o       # a.out, FreeBSD
-#BN_MULW= asm/x86-bsdi.o       # bsdi
-#BN_MULW= asm/alpha.o          # DEC Alpha
-#BN_MULW= asm/pa-risc2.o       # HP-UX PA-RISC
-#BN_MULW= asm/r3000.o          # SGI MIPS cpu
-#BN_MULW= asm/sparc.o          # Sun solaris/SunOS
-#BN_MULW= asm/x86nt32.o                # Windows 95/NT
-#BN_MULW= asm/x86w16.o         # 16 bit code for Windows 3.1/DOS
-#BN_MULW= asm/x86w32.o         # 32 bit code for Windows 3.1
+#BN_MULW= bn_mulw.o
+#BN_MULW= asm/bn86-elf.o        # elf, linux-elf
+#BN_MULW= asm/bn86-sol.o        # solaris
+#BN_MULW= asm/bn86-out.o        # a.out, FreeBSD
+#BN_MULW= asm/bn86bsdi.o        # bsdi
+#BN_MULW= asm/alpha.o           # DEC Alpha
+#BN_MULW= asm/pa-risc2.o        # HP-UX PA-RISC
+#BN_MULW= asm/r3000.o           # SGI MIPS cpu
+#BN_MULW= asm/sparc.o           # Sun solaris/SunOS
+#BN_MULW= asm/bn-win32.o                # Windows 95/NT
+#BN_MULW= asm/x86w16.o          # 16 bit code for Windows 3.1/DOS
+#BN_MULW= asm/x86w32.o          # 32 bit code for Windows 3.1
 
 # Set DES_ENC to des_enc.o if you want to use the C version
 #There are 4 x86 assember options.
 DES_ENC= des_enc.o fcrypt_b.o
-#DES_ENC= des_enc.o fcrypt_b.o         # C
-#DES_ENC= asm/dx86-elf.o asm/cx86-elf.o # elf
-#DES_ENC= asm/dx86-sol.o asm/cx86-sol.o        # solaris
-#DES_ENC= asm/dx86-out.o asm/cx86-out.o        # a.out, FreeBSD
-#DES_ENC= asm/dx86bsdi.o asm/cx86bsdi.o        # bsdi
+#DES_ENC= des_enc.o fcrypt_b.o          # C
+#DES_ENC= asm/dx86-elf.o asm/yx86-elf.o # elf
+#DES_ENC= asm/dx86-sol.o asm/yx86-sol.o # solaris
+#DES_ENC= asm/dx86-out.o asm/yx86-out.o # a.out, FreeBSD
+#DES_ENC= asm/dx86bsdi.o asm/yx86bsdi.o # bsdi
 
 # Set BF_ENC to bf_enc.o if you want to use the C version
 #There are 4 x86 assember options.
 BF_ENC= bf_enc.o
-#BF_ENC= bf_enc.o      # C
+#BF_ENC= bf_enc.o
 #BF_ENC= asm/bx86-elf.o # elf
-#BF_ENC= asm/bx86-sol.o        # solaris
-#BF_ENC= asm/bx86-out.o        # a.out, FreeBSD
-#BF_ENC= asm/bx86bsdi.o        # bsdi
+#BF_ENC= asm/bx86-sol.o # solaris
+#BF_ENC= asm/bx86-out.o # a.out, FreeBSD
+#BF_ENC= asm/bx86bsdi.o # bsdi
 
-DIRS=  crypto ssl rsaref apps test tools
+# Set CAST_ENC to c_enc.o if you want to use the C version
+#There are 4 x86 assember options.
+CAST_ENC= c_enc.o
+#CAST_ENC= c_enc.o
+#CAST_ENC= asm/cx86-elf.o # elf
+#CAST_ENC= asm/cx86-sol.o # solaris
+#CAST_ENC= asm/cx86-out.o # a.out, FreeBSD
+#CAST_ENC= asm/cx86bsdi.o # bsdi
+
+# Set RC4_ENC to rc4_enc.o if you want to use the C version
+#There are 4 x86 assember options.
+RC4_ENC= rc4_enc.o
+#RC4_ENC= rc4_enc.o
+#RC4_ENC= asm/rx86-elf.o # elf
+#RC4_ENC= asm/rx86-sol.o # solaris
+#RC4_ENC= asm/rx86-out.o # a.out, FreeBSD
+#RC4_ENC= asm/rx86bsdi.o # bsdi
+
+# Set RC5_ENC to rc5_enc.o if you want to use the C version
+#There are 4 x86 assember options.
+RC5_ENC= rc5_enc.o
+#RC5_ENC= rc5_enc.o
+#RC5_ENC= asm/r586-elf.o # elf
+#RC5_ENC= asm/r586-sol.o # solaris
+#RC5_ENC= asm/r586-out.o # a.out, FreeBSD
+#RC5_ENC= asm/r586bsdi.o # bsdi
+
+# Also need MD5_ASM defined
+MD5_ASM_OBJ= 
+#MD5_ASM_OBJ= asm/mx86-elf.o        # elf
+#MD5_ASM_OBJ= asm/mx86-sol.o        # solaris
+#MD5_ASM_OBJ= asm/mx86-out.o        # a.out, FreeBSD
+#MD5_ASM_OBJ= asm/mx86bsdi.o        # bsdi
+
+# Also need SHA1_ASM defined
+SHA1_ASM_OBJ= 
+#SHA1_ASM_OBJ= asm/sx86-elf.o       # elf
+#SHA1_ASM_OBJ= asm/sx86-sol.o       # solaris
+#SHA1_ASM_OBJ= asm/sx86-out.o       # a.out, FreeBSD
+#SHA1_ASM_OBJ= asm/sx86bsdi.o       # bsdi
+
+# Also need RMD160_ASM defined
+RMD160_ASM_OBJ= 
+#RMD160_ASM_OBJ= asm/rm86-elf.o       # elf
+#RMD160_ASM_OBJ= asm/rm86-sol.o       # solaris
+#RMD160_ASM_OBJ= asm/rm86-out.o       # a.out, FreeBSD
+#RMD160_ASM_OBJ= asm/rm86bsdi.o       # bsdi
+
+DIRS=   crypto ssl rsaref apps test tools
 # dirs in crypto to build
 SDIRS=  \
-       md sha mdc2 des rc4 rc2 idea bf bn rsa dsa dh \
+       md2 md5 sha mdc2 hmac ripemd \
+       des rc2 rc4 rc5 idea bf cast \
+       bn rsa dsa dh \
        buffer bio stack lhash rand err objects \
        evp pem asn1 x509 conf txt_db pkcs7
 
@@ -108,46 +161,46 @@ SDIRS=  \
 INSTALLTOP=/usr/local/ssl
 
 MAKEFILE= Makefile.ssl
-MAKE=    make -f Makefile.ssl
+MAKE=     make -f Makefile.ssl
 
 MAN1=1
 MAN3=3
 SHELL=/bin/sh
 
-TOP=   .
+TOP=    .
 ONEDIRS=out tmp
-EDIRS= times doc bugs util include certs ms shlib mt demos
-MISC=  COPYRIGHT Configure HISTORY.066 INSTALL Makefile.ssl Makefile \
-       README TODO HISTORY README.066 README.080 \
+EDIRS=  times doc bugs util include certs ms shlib mt demos perl dep
+MISC=   COPYRIGHT Configure HISTORY.066 INSTALL Makefile.ssl Makefile \
+       README TODO HISTORY README.066 README.080 README.090 \
        VERSION PROBLEMS MINFO makefile.one e_os.h \
-       MICROSOFT makevms.com
-WDIRS= windows
-LIBS=  libcrypto.a libssl.a 
-
-GENERAL=       Makefile
-BASENAME=      SSLeay
-NAME=          $(BASENAME)-$(VERSION)
-TARFILE=       $(NAME).tar
-WTARFILE=      $(NAME)-win.tar
-EX_HEADER=
-HEADER=                e_os.h
+       MICROSOFT makevms.com config PATENTS
+WDIRS=  windows
+LIBS=   libcrypto.a libssl.a 
+
+GENERAL=        Makefile
+BASENAME=       SSLeay
+NAME=           $(BASENAME)-$(VERSION)
+TARFILE=        $(NAME).tar
+WTARFILE=       $(NAME)-win.tar
+EXHEADER=       e_os.h
+HEADER=         e_os.h
 
 all:
        @for i in $(DIRS) ;\
        do \
        (cd $$i; echo "making $$i..."; \
-       $(MAKE) CC='${CC}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_MULW='${BN_MULW}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' SDIRS='${SDIRS}' AR='${AR}' all ); \
+       $(MAKE) CC='${CC}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_MULW='${BN_MULW}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' SDIRS='${SDIRS}' AR='${AR}' all ); \
        done;
 
 sub_all:
        @for i in $(DIRS) ;\
        do \
        (cd $$i; echo "making $$i..."; \
-       $(MAKE) CC='${CC}' CFLAG='${CFLAG}' SDIRS='$(SDIRS)' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_MULW='${BN_MULW}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' AR='${AR}' all ); \
+       $(MAKE) CC='${CC}' CFLAG='${CFLAG}' SDIRS='$(SDIRS)' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_MULW='${BN_MULW}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' all ); \
        done;
 
 clean:
-       /bin/rm -f *.o core a.out fluff *.map
+       /bin/rm -f shlib/*.o *.o core a.out fluff *.map
        @for i in $(DIRS) ;\
        do \
        (cd $$i; echo "cleaning $$i..."; \
@@ -158,14 +211,14 @@ clean:
        /bin/rm -f $(TARFILE)
        @for i in $(ONEDIRS) ;\
        do \
-       /bin/rm -f $$i/*; \
+       /bin/rm -fr $$i/*; \
        done
 
 makefile.one: files
        perl util/mk1mf.pl >makefile.one; \
        sh util/do_ms.sh
 
-files: MINFO
+files:  MINFO
        perl $(TOP)/util/files.pl Makefile.ssl > $(TOP)/MINFO
        @for i in $(DIRS) ;\
        do \
@@ -176,13 +229,14 @@ files:    MINFO
 links:
        /bin/rm -f Makefile;
        ./util/point.sh Makefile.ssl Makefile;
+       $(TOP)/util/mklink.sh include $(EXHEADER) ;
        @for i in $(DIRS) ;\
        do \
        (cd $$i; echo "making links in $$i..."; \
        $(MAKE) SDIRS='${SDIRS}' links ); \
        done;
        # @(cd apps; sh ./mklinks)
-       sh tools/c_rehash certs
+       @( SSLEAY="`pwd`/apps/ssleay"; export SSLEAY; sh tools/c_rehash certs )
 
 dclean:
        /bin/rm -f *.bak
@@ -195,11 +249,11 @@ dclean:
 rehash:
        @(PATH="`pwd`/apps:${PATH}"; sh tools/c_rehash certs)
 
-test:  tests
+test:   tests
 
 tests:
        (cd test; echo "testing $$i..."; \
-       $(MAKE) CC='${CC}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_MULW='${BN_MULW}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' SDIRS='${SDIRS}' AR='${AR}' tests );
+       $(MAKE) CC='${CC}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_MULW='${BN_MULW}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SDIRS='${SDIRS}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' tests );
        @apps/ssleay version -a
 
 depend:
@@ -242,8 +296,9 @@ tar:
        mv $(NAME) $(BASENAME) ) 
        gzip -f $(TARFILE)
 
-dist:  
+dist:   
        perl Configure dist
+       perl util/up_ver.pl ${VERSION}
        @$(MAKE) dist_pem_h
        @$(MAKE) SDIRS='${SDIRS}' clean
        @$(MAKE) SDIRS='${SDIRS}' dclean
@@ -267,7 +322,7 @@ install: all
        done
        @for i in $(LIBS) ;\
        do \
-       (       echo installing $$i; \
+       (       echo installing $$i; \
                cp $$i $(INSTALLTOP)/lib; \
                sh util/ranlib.sh $(INSTALLTOP)/lib/$$i; \
                chmod 644 $(INSTALLTOP)/lib/$$i ); \