Fixup fromcvs/togit conversion
[minix-pkgsrc.git] / mk / buildlink3 / scan-libtool
blobd08a69fd10aa567981c9d20ed3557c15fe01ca02
1 # $NetBSD: scan-libtool,v 1.4 2006/12/15 13:15:06 martti Exp $
3 # Copyright (c) 2004 The NetBSD Foundation, Inc.
4 # All rights reserved.
6 # This code is derived from software contributed to The NetBSD Foundation
7 # by Johnny C. Lam.
9 # Redistribution and use in source and binary forms, with or without
10 # modification, are permitted provided that the following conditions
11 # are met:
12 # 1. Redistributions of source code must retain the above copyright
13 #    notice, this list of conditions and the following disclaimer.
14 # 2. Redistributions in binary form must reproduce the above copyright
15 #    notice, this list of conditions and the following disclaimer in the
16 #    documentation and/or other materials provided with the distribution.
17 # 3. All advertising materials mentioning features or use of this software
18 #    must display the following acknowledgement:
19 #        This product includes software developed by the NetBSD
20 #        Foundation, Inc. and its contributors.
21 # 4. Neither the name of The NetBSD Foundation nor the names of its
22 #    contributors may be used to endorse or promote products derived
23 #    from this software without specific prior written permission.
25 # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
26 # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
27 # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28 # PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
29 # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35 # POSSIBILITY OF SUCH DAMAGE.
37 # Discover the libtool mode by scanning the argument list.
38 lt_mode=
39 prevopt=
40 nonopt=
41 lafile=
42 for arg do
43         case $arg in
44         -*=*)   optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
45         *)      optarg= ;;
46         esac
47         if $test -n "$prevopt"; then
48                 case $prevopt in
49                 --mode)
50                         lt_mode="$arg"
51                         ;;
52                 -o)
53                         case $arg in
54                         *.la) lafile="$arg" ;;
55                         esac
56                         ;;
57                 esac
58                 prevopt=
59                 continue
60         fi
61         case $arg in
62         --finish)
63                 lt_mode="finish"
64                 ;;
65         --mode|-o)
66                 prevopt="$arg"
67                 ;;
68         --mode=*)
69                 lt_mode="$optarg"
70                 ;;
71         -*)
72                 if $test -n "$nonopt" -a -z "$lt_mode"; then
73                         case $arg in
74                         -c) lt_mode=compile ;;
75                         esac
76                 fi
77                 ;;
78         *)
79                 if $test -z "$nonopt" -a -z "$lt_mode"; then
80                         nonopt="$arg"
81                         case $nonopt in
82                         *cc|*++|gcc*|*-gcc*|xlc*|*CC)
83                                 lt_mode=link
84                                 for arg do
85                                         case $arg in
86                                         -c) lt_mode=compile; break ;;
87                                         esac
88                                 done
89                                 ;;
90                         *install*|cp|mv)
91                                 lt_mode=install
92                                 ;;
93                         *rm)
94                                 lt_mode=uninstall
95                                 ;;
96                         esac
97                 fi
98                 ;;
99         esac
100 done
102 if $test -z "$lt_mode"; then
103         lt_mode=link
106 $debug_log $wrapperlog "    (scan-libtool) mode: $lt_mode"
107 case $lt_mode in
108 ######################################################################
109 # We're just being invoked to unwrap a libtool archive, so just
110 # invoke the cleanup script.
111 ######################################################################
112 unwrap)
113         . $cleanup
114         exit 0
115         ;;
116 ######################################################################
117 # In case we're in "link" mode, we should add the extra LDFLAGS to the
118 # argument list so that libtool finds all of our libraries and libtool
119 # archives.
120 ######################################################################
121 link)
122         append_extra_args=yes
123         ;;
124 ######################################################################
125 # We're doing libtool clean, execute, finish, install, or uninstall, so
126 # just invoke the real libtool with all of the given arguments.
127 ######################################################################
128 execute|finish|install|uninstall)
129         msg_log $wrapperlog "<.> $cmd $@"
130         exec $cmd "$@"
131         ;;
133         append_extra_args=no
134         ;;
135 esac