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]

Reply via email to