Re: [reSIProcate] resiprocate-devel Digest, Vol 48, Issue 18
I'll see if I can fix this fairly quickly -- what are the exact options
that you would expect to pass to an autotools-generated ./configure
script to set the compiler correctly? Is it simply "./configure
--host=mips_fp_le"? I'll admit that my knowledge of autotools is a bit
meager; but, as far as I know, the only way to trigger cross compilation
with autotools is to pass it the name of the architecture with the
"--host" flag -- and it does the same thing with it as the resip build
system does: it prepends it to the names of the various gnu toolchain
binaries, and tries it to see whether it works.
In other words: I can split the target platform option into two
different options (target platform and cross-compiler prefix) if that's
what you need to suit your purposes, but I don't know enough about the
autotools systems that I need to pass options into (such as ares) to
know what to pass where and how.
/a
On 4/28/08 12:08 PM, Mandeep Ahuja wrote:
Thanks for the heads up Adam,
Here is the first problem
1- The architecture-ostype (in my case mips-linux) does not match with
platform string in the name of my cross compiler (mips_fp_le-gcc). I
dont plan to change either of the names as I have lot going on
already. What can I do to get around?
Here is a little sample output
mkdir -p contrib/ares-build.Linux.mips
cd contrib/ares-build.Linux.mips && \
../ares/configure --host=mips-linux
configure: WARNING: If you wanted to set the --build type, don't use
--host.
If a cross compiler is detected then cross compile mode will be used.
Configuring ares 1.1.2
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for mips-linux-strip... no
checking for strip... strip
checking for mips-linux-gcc... no
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for a BSD-compatible install... /usr/bin/install -c
checking whether make sets $(MAKE)... (cached) yes
checking for mips-linux-ranlib... no
checking for ranlib... ranlib
checking build system type... i686-pc-linux-gnu
checking host system type... mips-unknown-linux-gnu
Adam Roach wrote:
Mandeep Ahuja wrote:
I need the autotools scripts that you guys had earlier. Remember the
'use_autotools.sh' and 'auto_gen.sh'. I can't find them in the
latest checkout. I think last time i checked out was in 2004. If
noone has it will the old one work with the new revision. I am doing
cross-compiling.
The autotools setup never really got completed (at least, not to
everyone's satisfaction), and has been pulled out of the repository
for a long time now. Even if you can find a copy, I do _not_ suggest
you use it. It is highly doubtful that it will work with the current
tree (which has been vigorously reorganized since the last time
anyone tried autotools) -- at least, not without a lot of effort.
You're not stuck, though. The current build system has pretty good
support for cross compilation using the gnu toolchain. Run the
configure script (in the root of the project tree); when it asks
which toolchain you plan on using, answer "gnu-cross." It will then
prompt you for the path to the cross compiler and the name of the
platform formatted as architecture-ostype (e.g., "arm-linux"). This
platform name must match the platform string in the name of your
cross compiler. (i.e., if your cross compiler is called
"arm-linux-gcc", then your platform is called "arm-linux").
If you have any problems with the cross-compilation support in the
existing build system, post here about it so we can try to make
things work better.
/a