On Sat, 4 Jan 2003, Nick Briggs via RT wrote: [snip] > # Place yourself outside of the OpenSSL source tree. In > # this example, the environment variable OPENSSL_SOURCE > # is assumed to contain the absolute OpenSSL source directory. > mkdir -p objtree/"`uname -s`-`uname -r`-`uname -m`" > cd objtree/"`uname -s`-`uname -r`-`uname -m`" > (cd $OPENSSL_SOURCE; find . -type f -o -type l) | while read F; do > mkdir -p `dirname $F` > ln -s $OPENSSL_SOURCE/$F $F > done [snip] > don't work very well -- in particular, files in $OPENSSL_SOURCE which are > relative links already will end up as absolute links into $OPENSSL_SOURCE, [snip]
In my environment I'm building on multiple platforms from a common read-only NFS source tree. Here are some observations on what my script does. I think $OPENSSL_SOURCE needs to be a full path name, not relative. It basicly starts with the commands above but my "find" doesn't have "-o -type l". It may work with it, I don't know. Now I clean up after patch and remove files made from .in files find . -name "*.orig" -exec rm -f {} \; rm -f Makefile.ssl apps/CA.pl apps/der_chop \ crypto/opensslconf.h tools/c_rehash Now if you don't want to modify your source tree during the build, or your source tree is read-only, do something like. # make sure the auto generated files are writable for i in ${FILES} do rm -f ${i} cp ${OPENSSL_SOURCE}/${i} ${i} chmod ug+w ${i} done Here is the list auto generated files I found in 0.9.7 .... FILES="apps/progs.h crypto/asn1/asn1_err.c \ crypto/asn1/asn1.h crypto/bio/bio_err.c crypto/bio/bio.h \ crypto/bn/bn_err.c crypto/bn/bn.h crypto/bn/bn_prime.h \ crypto/buffer/buf_err.c crypto/buffer/buffer.h \ crypto/comp/comp_err.c crypto/comp/comp.h \ crypto/conf/conf_def.h crypto/conf/conf_err.c \ crypto/conf/conf.h crypto/cpt_err.c crypto/crypto.h \ crypto/dh/dh_err.c crypto/dh/dh.h crypto/dsa/dsa_err.c \ crypto/dsa/dsa.h crypto/dso/dso_err.c crypto/dso/dso.h \ crypto/evp/evp_err.c crypto/evp/evp.h crypto/objects/obj_dat.c \ crypto/objects/obj_dat.h crypto/objects/objects.h \ crypto/objects/obj_err.c crypto/objects/obj_mac.num \ crypto/objects/obj_mac.h crypto/pem/pem_err.c crypto/pem/pem.h \ crypto/pkcs12/pk12err.c crypto/pkcs12/pkcs12.h \ crypto/pkcs7/pkcs7err.c crypto/pkcs7/pkcs7.h \ crypto/rand/rand_err.c crypto/rand/rand.h crypto/rsa/rsa_err.c \ crypto/rsa/rsa.h crypto/x509/x509_err.c crypto/x509/x509.h \ crypto/x509v3/v3err.c crypto/x509v3/x509v3.h ssl/ssl_err.c \ ssl/ssl.h util/libeay.num util/ssleay.num crypto/opensslv.h" .... Hope this helps. -- Tim Rice Multitalents (707) 887-1469 [EMAIL PROTECTED] ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]