Brad Asztalos writes:
 > Christoph can you repost the patches you sent to
 > open-ssl to build shared libraries under unix?
 > 

I did it for debian-i386.
Also I had to change the handling of -o option in libtool:

406,408c407,411
<       $echo "$modename: you cannot specify the output filename with \`-o'" 1>&
2
<       $echo "$help" 1>&2
<       exit 1
---
> #     $echo "$modename: you cannot specify the output filename with \`-o'" 1>&
2
> #     $echo "$help" 1>&2
>         object=1
> #     exit 1
>       continue

Here are the patches for ssleay. You have to change the references to
debian. 

--- ssleay-0.9.0b.orig/Configure
+++ ssleay-0.9.0b/Configure
@@ -124,6 +124,15 @@
 "alpha-cc", "cc:-O2::SIXTY_FOUR_BIT_LONGS DES_INT DES_PTR DES_RISC2:asm/alpha.o::",
 "alpha400-cc", "cc:-arch host -tune host -fast -std -O4 -inline 
speed::SIXTY_FOUR_BIT_LONG:asm/alpha.o::",
 
+# Debian Linux (various architectures)
+"debian-alpha","gcc:-DTERMIO -O3::SIXTY_FOUR_BITS DES_INT:",
+"debian-i386","\$(TOP)/debian/libtool gcc:-DL_ENDIAN -DTERMIO -O3::BN_LLONG MD2_CHAR 
+RC4_INDEX:",
+"debian-m68k","gcc:-DB_ENDIAN -DTERMIO -O3::BN_LLONG MD2_CHAR RC4_INDEX:",
+"debian-powerpc","gcc:-DB_ENDIAN -DTERMIO -O3::BN_LLONG DES_UNROLL DES_RISC2 DES_PTR 
+MD2_CHAR RC4_INDEX:",
+ 
+# Sparc is new and untested...
+"debian-sparc","gcc:-DTERMIO -O3 -fomit-frame-pointer -mv8 -Wall::BN_LLONG RC4_CHAR 
+DES_UNROLL BF_PTR:::",
+
 # The intel boxes :-), It would be worth seeing if bsdi-gcc can use the
 # bn86-elf.o file file since it is hand tweaked assembler.
 "linux-elf",   "gcc:-DL_ENDIAN -DTERMIO -DBN_ASM -O3 -fomit-frame-pointer -m486 -Wall 
-Wuninitialized::BN_LLONG $x86_gcc_des $x86_gcc_opts:$x86_elf_asm",
--- ssleay-0.9.0b.orig/Makefile.ssl
+++ ssleay-0.9.0b/Makefile.ssl
@@ -58,13 +58,13 @@
 # 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
+TOP=$(shell pwd)
+CC= $(TOP)/debian/libtool gcc
 #CFLAG= -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -Wuninitialized 
-DMD5_ASM -DSHA1_ASM -DRMD160_ASM
-CFLAG= -O -DNOPROTO
-PEX_LIBS= -L. -L.. -L../.. -L../../..
+CFLAG= -DL_ENDIAN -DTERMIO -O3
+#PEX_LIBS= -L. -L.. -L../.. -L../../..
 EX_LIBS= 
-AR=ar r
+AR=$(TOP)/debian/libtool gcc -rpath /usr/lib -version-info 9:0:9 -o
 
 # Set BN_MULW to bn_mulw.o if you want to use the C version
 BN_MULW= bn_mulw.o
@@ -167,7 +167,7 @@
 MAN3=3
 SHELL=/bin/sh
 
-TOP=    .
+#TOP=    .
 ONEDIRS=out tmp
 EDIRS=  times doc bugs util include certs ms shlib mt demos perl dep
 MISC=   COPYRIGHT Configure HISTORY.066 INSTALL Makefile.ssl Makefile \
@@ -208,6 +208,7 @@
        /bin/rm -f $(LIBS); \
        done;
        /bin/rm -f *.a *.o speed.* *.map *.so .pure core
+       /bin/rm -f *.so.* *.old util/*.old
        /bin/rm -f $(TARFILE)
        @for i in $(ONEDIRS) ;\
        do \
@@ -253,8 +254,9 @@
 
 tests:
        (cd test; echo "testing $$i..."; \
+       LD_LIBRARY_PATH=$(TOP)/crypto/.libs:$(TOP)/ssl/.libs; export LD_LIBRARY_PATH; \
        $(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
+       @(LD_LIBRARY_PATH=$(TOP)/crypto/.libs:$(TOP)/ssl/.libs apps/ssleay version -a)
 
 depend:
        @for i in $(DIRS) ;\
@@ -320,12 +322,11 @@
        (cd $$i; echo "installing $$i..."; \
        $(MAKE) CC='${CC}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' 
EX_LIBS='${EX_LIBS}' SDIRS='${SDIRS}' install ); \
        done
-       @for i in $(LIBS) ;\
+       @for i in crypto ssl ;\
        do \
        (       echo installing $$i; \
-               cp $$i $(INSTALLTOP)/lib; \
-               sh util/ranlib.sh $(INSTALLTOP)/lib/$$i; \
-               chmod 644 $(INSTALLTOP)/lib/$$i ); \
+               debian/libtool cp $$i/lib$$i.la $(INSTALLTOP)/lib; \
+        ); \
        done
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
--- ssleay-0.9.0b.orig/crypto/Makefile.ssl
+++ ssleay-0.9.0b/crypto/Makefile.ssl
@@ -38,7 +38,7 @@
 
 GENERAL=Makefile README
 
-LIB= $(TOP)/libcrypto.a
+LIB= libcrypto.la
 LIBSRC=        cryptlib.c mem.c cversion.c ex_data.c $(ERRC).c
 LIBOBJ= cryptlib.o mem.o cversion.o ex_data.o $(ERRC).o
 
@@ -61,8 +61,9 @@
        @for i in $(SDIRS) ;\
        do \
        (cd $$i; echo "making all in $$i..."; \
-       $(MAKE) CC='$(CC)' INCLUDES='${INCLUDES}' CFLAG='${CFLAG}' 
INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' 
BN_MULW='${BN_MULW}' DES_ENC='${DES_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' 
MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' BF_ENC='${BF_ENC}' 
CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' AR='${AR}' all ); \
+       $(MAKE) CC='$(CC)' INCLUDES='${INCLUDES}' CFLAG='${CFLAG}' 
+INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' 
+BN_MULW='${BN_MULW}' DES_ENC='${DES_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' 
+MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' BF_ENC='${BF_ENC}' 
+CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' AR='true' all ); \
        done;
+       $(AR) $(LIB) *.lo */*.lo
 
 files:
        perl $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO
@@ -86,8 +87,6 @@
        done;
 
 lib:   $(LIBOBJ)
-       $(AR) $(LIB) $(LIBOBJ)
-       sh $(TOP)/util/ranlib.sh $(LIB)
        @touch lib
 
 libs:
@@ -133,6 +132,8 @@
 
 clean:
        /bin/rm -f *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
+       $(RM) -f *.lo */*.lo *.la
+       $(RM) -rf .libs
        @for i in $(SDIRS) ;\
        do \
        (cd $$i; echo "making clean in $$i..."; \
--- ssleay-0.9.0b.orig/ssl/Makefile.ssl
+++ ssleay-0.9.0b/ssl/Makefile.ssl
@@ -21,7 +21,7 @@
 TEST=ssltest.c
 APPS=
 
-LIB=$(TOP)/libssl.a
+LIB=libssl.la
 LIBSRC=        \
        s2_meth.c   s2_srvr.c s2_clnt.c  s2_lib.c  s2_enc.c s2_pkt.c \
        s3_meth.c   s3_srvr.c s3_clnt.c  s3_lib.c  s3_enc.c s3_pkt.c s3_both.c \
@@ -54,8 +54,7 @@
 all:   lib
 
 lib:   $(LIBOBJ)
-       $(AR) $(LIB) $(LIBOBJ)
-       sh $(TOP)/util/ranlib.sh $(LIB)
+       $(AR) $(LIB) *.lo
        @touch lib
 
 files:
@@ -92,6 +91,8 @@
 
 clean:
        /bin/rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
+       /bin/rm -f *.lo *.la
+       /bin/rm -rf .libs
 
 errors:
        perl $(TOP)/util/err-ins.pl $(ERR).err $(ERR).h
--- ssleay-0.9.0b.orig/rsaref/Makefile.ssl
+++ ssleay-0.9.0b/rsaref/Makefile.ssl
@@ -21,7 +21,8 @@
 TEST=
 APPS=
 
-LIB=$(TOP)/libRSAglue.a
+#LIB=$(TOP)/libRSAglue.a
+LIB=libRSAglue.la
 LIBSRC=        rsaref.c $(ERRC).c
 LIBOBJ= rsaref.o $(ERRC).o
 
@@ -38,8 +39,7 @@
 all:   lib
 
 lib:   $(LIBOBJ)
-       $(AR) $(LIB) $(LIBOBJ)
-       sh $(TOP)/util/ranlib.sh $(LIB)
+       $(AR) $(LIB) *.lo
        @touch lib
 
 files:
@@ -77,6 +77,8 @@
 
 clean:
        /bin/rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
+       /bin/rm -f *.lo *.la
+       /bin/rm -fr .libs
 
 errors:
        perl $(TOP)/util/err-ins.pl $(ERR).err $(ERR).h
--- ssleay-0.9.0b.orig/apps/Makefile.ssl
+++ ssleay-0.9.0b/apps/Makefile.ssl
@@ -3,7 +3,7 @@
 #
 
 DIR=           apps
-TOP=           ..
+TOP=           $(shell pwd)/..
 CC=            cc
 INCLUDES=      -I../include
 CFLAG=         -g -static
@@ -20,10 +20,11 @@
 
 GENERAL=Makefile
 
-DLIBCRYPTO=../libcrypto.a
-DLIBSSL=../libssl.a
-LIBCRYPTO=-L.. -lcrypto
-LIBSSL=-L.. -lssl
+TOP=$(shell pwd)/..
+DLIBCRYPTO=../crypto/.libs/libcrypto.a
+DLIBSSL=../ssl/.libs/libssl.a
+LIBCRYPTO=-L$(TOP)/crypto/.libs -lcrypto
+LIBSSL=-L$(TOP)/ssl/.libs -lssl
 
 SSLEAY= ssleay
 
@@ -123,6 +124,8 @@
 clean:
        /bin/rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff $(EXE)
        /bin/rm -f req
+       /bin/rm -f *.lo
+       /bin/rm -fr .libs
 
 $(DLIBSSL):
        (cd ../ssl; $(MAKE))
--- ssleay-0.9.0b.orig/test/certCA.srl
+++ ssleay-0.9.0b/test/certCA.srl
@@ -1 +1 @@
-70
+72
--- ssleay-0.9.0b.orig/test/Makefile.ssl
+++ ssleay-0.9.0b/test/Makefile.ssl
@@ -3,7 +3,7 @@
 #
 
 DIR=           test
-TOP=           ..
+TOP=           $(shell pwd)/..
 CC=            cc
 INCLUDES=      -I../include
 CFLAG=         -g
@@ -19,10 +19,10 @@
 
 GENERAL=Makefile.ssl
 
-DLIBCRYPTO= ../libcrypto.a
-DLIBSSL= ../libssl.a
-LIBCRYPTO= -L.. -lcrypto
-LIBSSL= -L.. -lssl
+DLIBCRYPTO= ../crypto/.libs/libcrypto.a
+DLIBSSL= ../ssl/.libs/libssl.a
+LIBCRYPTO= -L$(TOP)/crypto/.libs -lcrypto
+LIBSSL= -L$(TOP)/ssl/.libs -lssl
 
 BNTEST=                bntest
 EXPTEST=       exptest
@@ -221,6 +221,7 @@
 
 clean:
        /bin/rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff $(EXE) *.ss 
log
+       /bin/rm -f *.lo
 
 $(DLIBSSL):
        (cd ../ssl; $(MAKE))
--- ssleay-0.9.0b.orig/util/ranlib.sh
+++ ssleay-0.9.0b/util/ranlib.sh
@@ -1,5 +1,5 @@
 #!/bin/sh
-
+exit
 cwd=`pwd`
 cd /tmp
 
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to