This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: Multi-architecture installation


>-----Original Message-----
>From: William Burns [mailto:bburns@aeroflex.com]
>Sent: 10 April 2001 17:07

>David Korn wrote:
>> 
>> >> ../src/configure --prefix=/usr/local
>> >--includedir=/usr/local/gcc-2.95.2/include
>> >--libdir=/usr/local/gcc-2.95.2/lib --with-gnu-as --with-gnu-ld
>> >--target=mips4el-elf --with-newlib --enable-languages=c
>
>>   That's sound; it's basically a variation on the way cross compilers
>> keep from conflicting with the native compiler.  Replace /gcc-2.95.2/
>> with /$target/, IYSWIM.
>
>
>I was under the impression that the files in these directories were
>shared among all targets w/ the same gcc version. There's only a few
>files... (8 file names) They all appear to be from binutils....

  Nope, these files (/usr/local/$target/*) are target specific; that's
why the target is an essential part of the path name.

  Yes, they all are binutils, with the exception of $prefix/$target/bin/gcc
and depending on your --enable-languages options, any of g++, gcj, g77,
gcobj, gcchill, protoize and unprotoize.

  Binutils doesn't have any way to keep different versions from
clashing although it does follow the same scheme as gcc to keep different
targets from clashing.

  You must remember to use the same --prefix (etc) settings for the
binutils as you do for the gcc.  Otherwise they won't find each other
properly.
>Whups. libopcodes.a is clearly target specific.
>??? I thought that binutils and gcc appended the target name to any
>file that was target specific. Isn't this a naming conflict that would
>trip up a large number of people?

  The target specific executables are stored in two ways:  they are
stored with a generic name in a target-specific directory (gcc in
$prefix/$target/bin as mentioned above) and they are stored with target-
specific names in a generic directory (/usr/local/bin will have gcc for
the native compiler, target-gcc for cross compilers).  So there's no
conflict; they either have different names or they live in different dir
paths.

  The only problem that could arise would be if you had $prefix/$target/bin
in your $PATH variable in such a way that it was searched before /bin
and $prefix/bin.  That would mess up because it would find the cross
binutils (stored in that dir under the plain filenames) when looking for
the native ones.  As long as you don't set your path like this you should
be alright.

       DaveK
-- 
"screams erupted at a Seattle hotel where Microsoft founder Bill Gates was
addressing an education and technology conference. He was whisked away as
his audience bolted for the exits. Some audience members were knocked down
by others trying to get out."
       -- CNN 2/28/01


**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.

This footnote also confirms that this email message has been swept by
MIMEsweeper for the presence of computer viruses.

www.mimesweeper.com
**********************************************************************

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]