This is the mail archive of the crossgcc@sourceware.org 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] |
Other format: | [Raw text] |
On 8/19/09, Diwaker Gupta <diwaker@floatingsun.net> wrote: > I'm using crosstool-ng 1.4.2. In the toolchain I'm trying to build, I'd like to > be able to have multiple versions of tools (eg, different gcc versions) at the > same time. Is this possible using crosstool-ng? There are two issues; differentiating between the "gcc" command names you call for the differen compilers, and making sure the support files and libraries are stored in separate directories. The support directory names should all contain the target tuple (arm-unknown-linux-gnu or whatever) as well as the compiler version. For example, one version here stores its stuff in /usr/local/lib/gcc/arm-unknown-linux-gnueabi/4.3.2/* and .../libexec/... the same. If you need multiple comfigurations for the same target and version, you can set the "vendor" field ("unknown" in the above example) to something of your own invention - I use armv4tl-crunch-linux-gnueabi for my hacked-up version of gcc configured to generate code for armv4 by default and modified to support the MaverickCrunch FPU. The first part is significant, but the "crunch" here can be anything and carries no meaning. To differentiate the command names "gcc", "g++" and so on, you can use the "--extra-version" parameter. Debian carries several different major versions by setting --extra-version=-4.2 for its version of gcc-4.2.3 and --extra-version=-4.3 for gcc-4.3.2 so as to get gcc-4.2 and gcc-4.3 commands. You also get arm-unknown-linux-gnueabi-gcc-4.2 long command names, so you may be happy just to set the vendor string differently in your different versions. I assume there are options in the crosstool-ng menu system to set the four-part target tuple and/or the extraversion string I have had issues in the past with it installing, for example, C++'s mf-runtime.h in the same place for different installed versions, but that will probably only bother you if you are making OS distribution packages of it which require all files to be unique. Also watch out for it installing stuff in /usr/local/lib/lib{gcc,gomp,iberty,mudflap}* - these will override your main system compiler's support files with your funny versions and probably break the main compiler. If it does that, just move those lib* diretories into (e.g.) /usr/local/lib/gcc/arm-unknown-linux-gnueabi/4.3.2/ Good luck, let us know how it goes for you under crosstool-ng M -- For unsubscribe information see http://sourceware.org/lists.html#faq
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |