# $NetBSD: marshall,v 1.7 2004/01/15 09:59:29 jlam Exp $ # # Handle cases where multiple consecutive arguments must be processed # together, either by merging the arguments or "skipping" the extra # arguments. # case $arg in # # Merge "-Wl,R -Wl,/path/to/dir" into a single argument # "-Wl,R/path/to/dir" and merge "-Wl,--rpath -Wl,/path/to/dir" into # "-Wl,--rpath,/path/to/dir" so that we can look them up in the cache. # -Wl,-R) nextarg=`$echo "X$1" | $Xsed -e "s|^-Wl,||g"` arg="$arg$nextarg" shift ;; -Wl,-rpath|-Wl,-rpath-link|\ -Wl,--rpath|-Wl,--rpath-link) nextarg=`$echo "X$1" | $Xsed -e "s|^-Wl,||g"` arg="$arg,$nextarg" shift ;; # # If we're linking a shared library by "cc -shared -o /srcdir/shlib", # we need to protect the full path after "-o" from being transformed # from "/srcdir/shlib" to "-L/srcdir -lshlib" # -o) skipargs=1 ;; # # Darwin's special GCC uses "-install_name /path/shlib" to indicate # the final installed location for the named shared library, and we # need to protect the full path from "/path/shlib" -> "-L/path -lshlib" # transformation. # -install_name) skipargs=1 ;; esac