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]

Reply via email to