annotate ar-lib @ 147:1ccf269e73e8

remove merge mark
author anatofuz
date Sun, 01 Mar 2020 16:36:00 +0900
parents 1830386684a0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
145
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
1 #! /bin/sh
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
2 # Wrapper for Microsoft lib.exe
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
3
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
4 me=ar-lib
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
5 scriptversion=2012-03-01.08; # UTC
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
6
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
7 # Copyright (C) 2010-2017 Free Software Foundation, Inc.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
8 # Written by Peter Rosin <peda@lysator.liu.se>.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
9 #
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
10 # This program is free software; you can redistribute it and/or modify
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
11 # it under the terms of the GNU General Public License as published by
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
12 # the Free Software Foundation; either version 2, or (at your option)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
13 # any later version.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
14 #
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
15 # This program is distributed in the hope that it will be useful,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
18 # GNU General Public License for more details.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
19 #
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
20 # You should have received a copy of the GNU General Public License
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
21 # along with this program. If not, see <http://www.gnu.org/licenses/>.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
22
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
23 # As a special exception to the GNU General Public License, if you
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
24 # distribute this file as part of a program that contains a
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
25 # configuration script generated by Autoconf, you may include it under
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
26 # the same distribution terms that you use for the rest of that program.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
27
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
28 # This file is maintained in Automake, please report
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
29 # bugs to <bug-automake@gnu.org> or send patches to
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
30 # <automake-patches@gnu.org>.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
31
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
32
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
33 # func_error message
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
34 func_error ()
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
35 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
36 echo "$me: $1" 1>&2
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
37 exit 1
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
38 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
39
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
40 file_conv=
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
41
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
42 # func_file_conv build_file
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
43 # Convert a $build file to $host form and store it in $file
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
44 # Currently only supports Windows hosts.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
45 func_file_conv ()
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
46 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
47 file=$1
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
48 case $file in
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
49 / | /[!/]*) # absolute file, and not a UNC file
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
50 if test -z "$file_conv"; then
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
51 # lazily determine how to convert abs files
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
52 case `uname -s` in
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
53 MINGW*)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
54 file_conv=mingw
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
55 ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
56 CYGWIN*)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
57 file_conv=cygwin
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
58 ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
59 *)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
60 file_conv=wine
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
61 ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
62 esac
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
63 fi
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
64 case $file_conv in
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
65 mingw)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
66 file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
67 ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
68 cygwin)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
69 file=`cygpath -m "$file" || echo "$file"`
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
70 ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
71 wine)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
72 file=`winepath -w "$file" || echo "$file"`
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
73 ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
74 esac
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
75 ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
76 esac
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
77 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
78
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
79 # func_at_file at_file operation archive
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
80 # Iterate over all members in AT_FILE performing OPERATION on ARCHIVE
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
81 # for each of them.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
82 # When interpreting the content of the @FILE, do NOT use func_file_conv,
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
83 # since the user would need to supply preconverted file names to
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
84 # binutils ar, at least for MinGW.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
85 func_at_file ()
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
86 {
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
87 operation=$2
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
88 archive=$3
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
89 at_file_contents=`cat "$1"`
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
90 eval set x "$at_file_contents"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
91 shift
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
92
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
93 for member
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
94 do
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
95 $AR -NOLOGO $operation:"$member" "$archive" || exit $?
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
96 done
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
97 }
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
98
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
99 case $1 in
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
100 '')
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
101 func_error "no command. Try '$0 --help' for more information."
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
102 ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
103 -h | --h*)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
104 cat <<EOF
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
105 Usage: $me [--help] [--version] PROGRAM ACTION ARCHIVE [MEMBER...]
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
106
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
107 Members may be specified in a file named with @FILE.
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
108 EOF
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
109 exit $?
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
110 ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
111 -v | --v*)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
112 echo "$me, version $scriptversion"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
113 exit $?
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
114 ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
115 esac
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
116
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
117 if test $# -lt 3; then
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
118 func_error "you must specify a program, an action and an archive"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
119 fi
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
120
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
121 AR=$1
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
122 shift
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
123 while :
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
124 do
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
125 if test $# -lt 2; then
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
126 func_error "you must specify a program, an action and an archive"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
127 fi
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
128 case $1 in
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
129 -lib | -LIB \
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
130 | -ltcg | -LTCG \
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
131 | -machine* | -MACHINE* \
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
132 | -subsystem* | -SUBSYSTEM* \
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
133 | -verbose | -VERBOSE \
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
134 | -wx* | -WX* )
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
135 AR="$AR $1"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
136 shift
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
137 ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
138 *)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
139 action=$1
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
140 shift
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
141 break
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
142 ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
143 esac
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
144 done
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
145 orig_archive=$1
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
146 shift
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
147 func_file_conv "$orig_archive"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
148 archive=$file
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
149
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
150 # strip leading dash in $action
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
151 action=${action#-}
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
152
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
153 delete=
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
154 extract=
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
155 list=
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
156 quick=
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
157 replace=
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
158 index=
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
159 create=
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
160
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
161 while test -n "$action"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
162 do
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
163 case $action in
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
164 d*) delete=yes ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
165 x*) extract=yes ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
166 t*) list=yes ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
167 q*) quick=yes ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
168 r*) replace=yes ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
169 s*) index=yes ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
170 S*) ;; # the index is always updated implicitly
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
171 c*) create=yes ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
172 u*) ;; # TODO: don't ignore the update modifier
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
173 v*) ;; # TODO: don't ignore the verbose modifier
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
174 *)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
175 func_error "unknown action specified"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
176 ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
177 esac
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
178 action=${action#?}
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
179 done
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
180
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
181 case $delete$extract$list$quick$replace,$index in
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
182 yes,* | ,yes)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
183 ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
184 yesyes*)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
185 func_error "more than one action specified"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
186 ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
187 *)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
188 func_error "no action specified"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
189 ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
190 esac
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
191
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
192 if test -n "$delete"; then
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
193 if test ! -f "$orig_archive"; then
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
194 func_error "archive not found"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
195 fi
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
196 for member
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
197 do
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
198 case $1 in
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
199 @*)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
200 func_at_file "${1#@}" -REMOVE "$archive"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
201 ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
202 *)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
203 func_file_conv "$1"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
204 $AR -NOLOGO -REMOVE:"$file" "$archive" || exit $?
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
205 ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
206 esac
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
207 done
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
208
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
209 elif test -n "$extract"; then
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
210 if test ! -f "$orig_archive"; then
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
211 func_error "archive not found"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
212 fi
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
213 if test $# -gt 0; then
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
214 for member
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
215 do
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
216 case $1 in
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
217 @*)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
218 func_at_file "${1#@}" -EXTRACT "$archive"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
219 ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
220 *)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
221 func_file_conv "$1"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
222 $AR -NOLOGO -EXTRACT:"$file" "$archive" || exit $?
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
223 ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
224 esac
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
225 done
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
226 else
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
227 $AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
228 do
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
229 $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $?
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
230 done
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
231 fi
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
232
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
233 elif test -n "$quick$replace"; then
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
234 if test ! -f "$orig_archive"; then
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
235 if test -z "$create"; then
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
236 echo "$me: creating $orig_archive"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
237 fi
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
238 orig_archive=
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
239 else
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
240 orig_archive=$archive
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
241 fi
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
242
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
243 for member
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
244 do
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
245 case $1 in
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
246 @*)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
247 func_file_conv "${1#@}"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
248 set x "$@" "@$file"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
249 ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
250 *)
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
251 func_file_conv "$1"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
252 set x "$@" "$file"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
253 ;;
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
254 esac
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
255 shift
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
256 shift
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
257 done
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
258
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
259 if test -n "$orig_archive"; then
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
260 $AR -NOLOGO -OUT:"$archive" "$orig_archive" "$@" || exit $?
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
261 else
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
262 $AR -NOLOGO -OUT:"$archive" "$@" || exit $?
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
263 fi
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
264
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
265 elif test -n "$list"; then
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
266 if test ! -f "$orig_archive"; then
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
267 func_error "archive not found"
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
268 fi
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
269 $AR -NOLOGO -LIST "$archive" || exit $?
1830386684a0 gcc-9.2.0
anatofuz
parents:
diff changeset
270 fi