S> In article <v02140b01adf9a230b765@[207.33.68.13]>, Bruce
S> Thompson <bruce@otherother.com> wrote:
>> A touch more seriously, that reminds me of a couple of
>> wonderful Apollo features that I'd love to see in Linux. Those
>> features are variant links and extended pathnames.
>>
>> For those who've never had the privilege of working on an
>> Apollo system, a variant link is a symbolic link with an
>> embedded environment variable reference:
>>
>> ln -s "/usr/${BINARY_FORMAT}/lib" /usr/lib
>>
>> would make /usr/lib a link to either /usr/aout/lib or
>> /usr/elf/lib depending on the value of the environment variable
>> BINARY_FORMAT at the time the link is dereferenced.
S> Hasn't somebody just implemented this? I saw it in one of the
S> development newsgroups, probably
S> comp.os.linux.development.kernel.
This is something that is done as part of the a.out -> ELF conversion
process, among other things, and it seems to me that gnu cc knows
about certain target tags and can use the appropriate libraries from
their tagged directories. For instance, if you're running on an ELF
machine, and want to compile and link an a.out executable, you can
tell gcc about that target, and it will go find and link the a.out
libraries. I haven't done much of this, so I can't be more certain.
The library directory names I have seen used are i486-linux (ELF),
i486-linuxaout (a.out), i486-unknown-linuxoldld, m68k-linuxaout,
sparc-sun-solaris2, sparc-sun-sunos4.1, m68k-linux, and
alpha-linux. I'm sure there are others.
-- Andrew C. Esh mailto:andrew_esh@cnt.com Computer Network Technology andrewes@mtn.org (finger for PGP key) 6500 Wedgwood Road 612.550.8000 (main) Maple Grove MN 55311 612.550.8229 (direct) http://www.cnt.com - CNT Inc. Home Page http://www.mtn.org/~andrewes - ACE Home Page