public inbox for libc-hacker@sourceware.org
 help / color / mirror / Atom feed
* add-on sysdeps order changed (BZ#1089)
@ 2005-11-05  2:01 Roland McGrath
  0 siblings, 0 replies; only message in thread
From: Roland McGrath @ 2005-11-05  2:01 UTC (permalink / raw)
  To: libc-hacker

I've committed a configure change (trunk only) that affects the order of
sysdeps directories chosen.  Previously add-on/sysdeps subdirs (and their
Implies) would always come before main tree sysdeps subdirs.  Now, sysdeps
subdirs for add-ons are interleaved with the main tree's sysdep subdirs.

This is the necessary and right thing for add-ons to provide full ports.
It does potentially change some scenarios of what sysdeps files an add-on
has to provide to get its code used in preference to code in the main tree.
For example, in my build, the sysdeps list changed thusly:

	 sysdeps/i386/elf
	-libidn/sysdeps/unix
	 nptl/sysdeps/unix/sysv/linux/i386/i686
	 nptl/sysdeps/unix/sysv/linux/i386
	+sysdeps/unix/sysv/linux/i386
	 nptl/sysdeps/unix/sysv/linux
	 nptl/sysdeps/pthread
	 sysdeps/pthread
	-nptl/sysdeps/unix/sysv
	-nptl/sysdeps/unix
	-nptl/sysdeps/i386/i686
	-nptl/sysdeps/i386
	-nptl/sysdeps/generic
	-sysdeps/unix/sysv/linux/i386
	 sysdeps/unix/sysv/linux
	 sysdeps/gnu
	 sysdeps/unix/common
	 sysdeps/unix/mman
	 sysdeps/unix/inet
	 sysdeps/unix/sysv/i386
	+nptl/sysdeps/unix/sysv
	 sysdeps/unix/sysv
	 sysdeps/unix/i386
	+libidn/sysdeps/unix
	+nptl/sysdeps/unix
	 sysdeps/unix
	 sysdeps/posix
	 sysdeps/i386/i686/fpu
	+nptl/sysdeps/i386/i686
	 sysdeps/i386/i686
	 sysdeps/i386/i486
	 nptl/sysdeps/i386/i486
	 sysdeps/i386/fpu
	+nptl/sysdeps/i386
	 sysdeps/i386
	 sysdeps/wordsize-32
	 sysdeps/ieee754/ldbl-96
	 sysdeps/ieee754/dbl-64
	 sysdeps/ieee754/flt-32
	+nptl/sysdeps/generic
	 sysdeps/ieee754
	 sysdeps/generic/elf
	 sysdeps/generic

I used the following script to convince myself that this has no practical
effect for any of the add-ons we have now (except ports).  The situation
that has changed would be if e.g. nptl/sysdeps/unix/sysv/linux/foobar.c
exists and you want that to override sysdeps/unix/sysv/linux/CPU/foobar.S;
unless my script is wrong, we don't have any cases like that at the moment.
If it comes up that an add-on has to provide lots of CPU/foobar.c files
doing #include "../foobar.c" or something of that nature, we can consider
giving add-ons a way to tweak the order further.


#!/bin/sh

find sysdeps -mindepth 1 -type d ! -name CVS | while read dir
do

  if [ ! -d ../$dir ]; then
    echo No main $dir
    continue
  fi

  files=`(cd $dir; find *[!~] -maxdepth 0 -type f)` || { echo No files in $dir; continue; }

  for f in $files; do
    case $f in
    Makefile|Versions|configure*|Implies) continue ;;
    esac
    b=${f%.*}
    find ../$dir -mindepth 2 -name '$b.*'
  done

done

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-11-05  2:01 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-11-05  2:01 add-on sysdeps order changed (BZ#1089) Roland McGrath

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).