Hi all! Here is a patch to better deal with crosscompiling in environments where AR and RANLIB ar not called "ar" and "ranlib". Typically a prefix or a suffix is added. Any suggestions on how to set $ar and $ranlib in a better way then below? The "elinux-aout-etrax100" target is not very well tested and some flags are probably wrong and the name might change, but it compiles if you configure it with -D__FreeBSD__ no-asm no-threads as options (the detection of wheter to use gettimeofday() or ftime() (timeb)) in speed.c looks a little strange), I also got a some: /usr/local/cris/lib/gcc-lib/cris/2.7.2/ld: undefined reference to _clock when trying to link ssltest, but that's probably because uC-libc isn't complete. There is also the problem with testing, since it tries to run the crosscompiled executables on the host. Another issue for embedded systems might be the huge size of the libraries, I found it hard to strip it down very much without loosing shared ciphers match for both Netscape and MS IE (it was a while since I tested that though), any suggestions? /Johan diff -u openssl-0.9.6/Configure openssl-0.9.6-work/Configure --- openssl-0.9.6/Configure Sun Sep 24 17:27:37 2000 +++ openssl-0.9.6-work/Configure Wed Dec 6 18:45:39 2000 @@ -316,6 +316,9 @@ # Linux on ARM "linux-elf-arm","gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_ REE NTRANT::BN_LLONG::::::::::dlfcn:linux-shared:-fPIC", +# Linux on Axis ETRAX 100, see http://developer.axis.com/ +"elinux-aout-etrax100", "gcc_cris -melinux:-muclibc=\$(INSTALLTOP) -DL_ENDIAN -D TERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::BN_LLONG:::dlfcn:linux- shar ed:", + # UnixWare 2.0 "unixware-2.0","cc:-O -DFILIO_H::(unknown):-lsocket -lnsl:${x86_gcc_des} ${x86_ gcc_opts}:::", "unixware-2.0-pentium","cc:-O -DFILIO_H -Kpentium -Kthread::(unknown):-lsock et -lnsl:MD2_CHAR RC4_INDEX ${x86_gcc_des}::", @@ -443,9 +446,11 @@ my $rmd160_obj=""; my $processor=""; my $ranlib; +my $ar; my $perl; $ranlib=&which("ranlib") or $ranlib="true"; +$ar = "ar -r"; $perl=$ENV{'PERL'} or $perl=&which("perl5") or $perl=&which("perl") or $perl="perl"; @@ -636,6 +641,12 @@ split(/\s*:\s*/,$table{$target} . ":" x 22 , -1); $cflags="$flags$cflags" if ($flags ne ""); +# Somewhat ugly hack to set RANLIB and AR +if ($cc eq "gcc_cris -melinux"){ + $ranlib = "ranlib-cris"; + $ar = "ar-cris -r"; +} + # The DSO code currently always implements all functions so that no # applications will have to worry about that from a compilation point # of view. However, the "method"s may return zero unless that platform @@ -821,6 +832,7 @@ s/^RMD160_ASM_OBJ=.*$/RMD160_ASM_OBJ= $rmd160_obj/; s/^PROCESSOR=.*/PROCESSOR= $processor/; s/^RANLIB=.*/RANLIB= $ranlib/; + s/^AR=.*/AR=$ar/; s/^PERL=.*/PERL= $perl/; s/^SHLIB_TARGET=.*/SHLIB_TARGET=$shared_target/; s/^SHLIB_MARK1=.*/SHLIB_MARK1=$shared_mark1/; @@ -845,6 +857,7 @@ print "RMD160_OBJ_ASM=$rmd160_obj\n"; print "PROCESSOR =$processor\n"; print "RANLIB =$ranlib\n"; +print "AR =$ar\n"; print "PERL =$perl\n"; my $des_ptr=0; ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]
