[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [MiNT] Wrong placement of cross binaries
Miro Kropacek wrote :
it's only my feeling gcc/binutils binaries are wrongly placed in
/usr/m68k-atari-mint/bin
I assume you are speaking of a cross-compiler.
The prefix above is good, it is the the standard one. But it looks strange.
The standard rules:
1) The cross-tools are stored in /usr/bin, prefixed with the target prefix.
For example /usr/bin/m68k-atari-mint-as
2) The target development files are stored in /usr/<target>.
For example, /usr/m68k-atari-mint/include, /usr/m68k-atari-mint/lib.
3) There is an additional oddity. GCC requires that
/usr/bin/m68k-atari-mint-as should be also available as
/usr/m68k-atari-mint/bin/as as well as some other tools. It is probably
because GCC always look at an executable named "as" in a directory relative
to its own executable.
So /usr/m68k-atari-mint/bin contains some cross tools, without prefix. They
are usually hard links to the prefixed versions.
My Ubuntu binaries use the these standard directories.
My Cygwin packages use /opt/cross-mint instead of /usr to put everything
related to the cross-compiler into a single directory in order to ease
uninstallation.
I've
noticed this when I installed some libraries which produce executable
files and if I configure them with install prefix /usr/m68k-atari-mint,
they are placed in /usr/m68k-atari-mint/bin what is OK.
A host library (or executable) which produce target executable files is a
cross-tool, it should be configured with a /usr prefix. It is the case for
the binutils and GCC.
However, target libraries intended to be installed on a cross-host should be
configured with a /usr/m68k-atari-mint prefix. It is the case for the
MiNTLib, GemLib, etc.
And finally, target executables (by opposition to target libraries) should
not be installed on a host cross-environment, it is a nonsense since they
can't be run on the host.
--
Vincent Rivière