libtool.m4 in cvs says:

if test "$GCC" = yes; then
sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g"`

When this runs on MacOS X 10.2 (with August 2002 developer tools), it gets only one search dir rather than the whole set of dirs, and leads to later problems like the inability to locate libc when linking libltdl.

This gcc appears to use a linefeed as the path separator (see below), so piping the gcc output directly to grep doesn't look very useful. What might be a good strategy for repairing the output and producing a search path?

1. Special-case this OS / compiler? I'm not sure if this is Apple's fault or gcc's, but hopefully it doesn't extend to other platforms / versions. Might be ok if we can pin down the conditions under which it occurs, and just substitute a constant path.

2. Flatten into a single line first and then extract the part between "libraries:" and (end-of-string or (word followed by colon)). Sounds workable. Assume the libraries section is always last and it's simpler.

3. Do something iterative, begin with the line that matches "^libraries:" and keep adding lines to the search list until eof or a line that doesn't look like a dir somehow:
- doesn't start with a slash
- contains a colon
- other?

Thoughts?

--Robby

% gcc -v
Reading specs from /usr/libexec/gcc/darwin/ppc/3.1/specs
Thread model: posix
Apple Computer, Inc. GCC version 1161, based on gcc version 3.1 20020420 (prerelease)

% gcc -print-search-dirs
install: /usr/libexec/gcc/darwin/ppc/3.1/
programs: =/usr/libexec/gcc/darwin/ppc/3.1/
/usr/libexec/gcc/darwin/ppc/3.1/
/usr/libexec/gcc/darwin/ppc/
/usr/local/libexec/gcc/darwin/ppc/3.1/
/usr/local/libexec/gcc/darwin/ppc/
/usr/libexec/gcc/darwin/ppc-darwin/3.1/../../../../ppc-darwin/bin/ppc/ 3.1/
/usr/libexec/gcc/darwin/ppc-darwin/3.1/../../../../ppc-darwin/bin/
libraries: =/usr/libexec/gcc/darwin/ppc/3.1/
/usr/local/libexec/gcc/darwin/ppc/3.1/
/usr/libexec/gcc/darwin/ppc-darwin/3.1/../../../../ppc-darwin/lib/ppc/ 3.1/
/usr/libexec/gcc/darwin/ppc-darwin/3.1/../../../../ppc-darwin/lib/
/usr/lib/gcc/darwin/ppc/3.1/
/usr/lib/gcc/darwin/
/usr/libexec/gcc/darwin/ppc/3.1/../../../ppc/3.1/
/usr/libexec/gcc/darwin/ppc/3.1/../../../
/lib/ppc/3.1/
/lib/
/usr/lib/ppc/3.1/
/usr/lib/



_______________________________________________
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool

Reply via email to