# $NetBSD: scan-libtool,v 1.6 2018/08/22 20:48:36 maya Exp $ # # Copyright (c) 2004 The NetBSD Foundation, Inc. # All rights reserved. # # This code is derived from software contributed to The NetBSD Foundation # by Johnny C. Lam. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # Discover the libtool mode by scanning the argument list. lt_mode= prevopt= nonopt= lafile= for arg do case $arg in -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; *) optarg= ;; esac if $test -n "$prevopt"; then case $prevopt in --mode) lt_mode="$arg" ;; -o) case $arg in *.la) lafile="$arg" ;; esac ;; esac prevopt= continue fi case $arg in --finish) lt_mode="finish" ;; --mode|-o) prevopt="$arg" ;; --mode=*) lt_mode="$optarg" ;; -*) if $test -n "$nonopt" -a -z "$lt_mode"; then case $arg in -c) lt_mode=compile ;; esac fi ;; *) if $test -z "$nonopt" -a -z "$lt_mode"; then nonopt="$arg" case $nonopt in *cc|*++|gcc*|*-gcc*|xlc*|*CC) lt_mode=link for arg do case $arg in -c) lt_mode=compile; break ;; esac done ;; *install*|cp|mv) lt_mode=install ;; *rm) lt_mode=uninstall ;; esac fi ;; esac done if $test -z "$lt_mode"; then lt_mode=link fi $debug_log $wrapperlog " (scan-libtool) mode: $lt_mode" case $lt_mode in ###################################################################### # We're just being invoked to unwrap a libtool archive, so just # invoke the cleanup script. ###################################################################### unwrap) . $cleanup exit 0 ;; ###################################################################### # In case we're in "link" mode, we should add the extra LDFLAGS to the # argument list so that libtool finds all of our libraries and libtool # archives. ###################################################################### link) append_extra_args=yes ;; ###################################################################### # We're doing libtool clean, execute, finish, install, or uninstall, so # just invoke the real libtool with all of the given arguments. ###################################################################### execute|finish|install|uninstall) msg_log $wrapperlog "<.> $cmd $@" exec $cmd "$@" ;; *) append_extra_args=no ;; esac