103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes#! /bin/sh 203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# Wrapper for Microsoft lib.exe 303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 403333823c75a1c1887e923828113a1b0fd12020cElliott Hughesme=ar-lib 503333823c75a1c1887e923828113a1b0fd12020cElliott Hughesscriptversion=2012-03-01.08; # UTC 603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# Copyright (C) 2010-2013 Free Software Foundation, Inc. 803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# Written by Peter Rosin <peda@lysator.liu.se>. 903333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# 1003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# This program is free software; you can redistribute it and/or modify 1103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# it under the terms of the GNU General Public License as published by 1203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# the Free Software Foundation; either version 2, or (at your option) 1303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# any later version. 1403333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# 1503333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# This program is distributed in the hope that it will be useful, 1603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# but WITHOUT ANY WARRANTY; without even the implied warranty of 1703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# GNU General Public License for more details. 1903333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# 2003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# You should have received a copy of the GNU General Public License 2103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# along with this program. If not, see <http://www.gnu.org/licenses/>. 2203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 2303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# As a special exception to the GNU General Public License, if you 2403333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# distribute this file as part of a program that contains a 2503333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# configuration script generated by Autoconf, you may include it under 2603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# the same distribution terms that you use for the rest of that program. 2703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 2803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# This file is maintained in Automake, please report 2903333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# bugs to <bug-automake@gnu.org> or send patches to 3003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# <automake-patches@gnu.org>. 3103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 3203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 3303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# func_error message 3403333823c75a1c1887e923828113a1b0fd12020cElliott Hughesfunc_error () 3503333823c75a1c1887e923828113a1b0fd12020cElliott Hughes{ 3603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes echo "$me: $1" 1>&2 3703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes exit 1 3803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes} 3903333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 4003333823c75a1c1887e923828113a1b0fd12020cElliott Hughesfile_conv= 4103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 4203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# func_file_conv build_file 4303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# Convert a $build file to $host form and store it in $file 4403333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# Currently only supports Windows hosts. 4503333823c75a1c1887e923828113a1b0fd12020cElliott Hughesfunc_file_conv () 4603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes{ 4703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes file=$1 4803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes case $file in 4903333823c75a1c1887e923828113a1b0fd12020cElliott Hughes / | /[!/]*) # absolute file, and not a UNC file 5003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes if test -z "$file_conv"; then 5103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes # lazily determine how to convert abs files 5203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes case `uname -s` in 5303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes MINGW*) 5403333823c75a1c1887e923828113a1b0fd12020cElliott Hughes file_conv=mingw 5503333823c75a1c1887e923828113a1b0fd12020cElliott Hughes ;; 5603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes CYGWIN*) 5703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes file_conv=cygwin 5803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes ;; 5903333823c75a1c1887e923828113a1b0fd12020cElliott Hughes *) 6003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes file_conv=wine 6103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes ;; 6203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes esac 6303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes fi 6403333823c75a1c1887e923828113a1b0fd12020cElliott Hughes case $file_conv in 6503333823c75a1c1887e923828113a1b0fd12020cElliott Hughes mingw) 6603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` 6703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes ;; 6803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes cygwin) 6903333823c75a1c1887e923828113a1b0fd12020cElliott Hughes file=`cygpath -m "$file" || echo "$file"` 7003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes ;; 7103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes wine) 7203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes file=`winepath -w "$file" || echo "$file"` 7303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes ;; 7403333823c75a1c1887e923828113a1b0fd12020cElliott Hughes esac 7503333823c75a1c1887e923828113a1b0fd12020cElliott Hughes ;; 7603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes esac 7703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes} 7803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 7903333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# func_at_file at_file operation archive 8003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# Iterate over all members in AT_FILE performing OPERATION on ARCHIVE 8103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# for each of them. 8203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# When interpreting the content of the @FILE, do NOT use func_file_conv, 8303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# since the user would need to supply preconverted file names to 8403333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# binutils ar, at least for MinGW. 8503333823c75a1c1887e923828113a1b0fd12020cElliott Hughesfunc_at_file () 8603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes{ 8703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes operation=$2 8803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes archive=$3 8903333823c75a1c1887e923828113a1b0fd12020cElliott Hughes at_file_contents=`cat "$1"` 9003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes eval set x "$at_file_contents" 9103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes shift 9203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 9303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes for member 9403333823c75a1c1887e923828113a1b0fd12020cElliott Hughes do 9503333823c75a1c1887e923828113a1b0fd12020cElliott Hughes $AR -NOLOGO $operation:"$member" "$archive" || exit $? 9603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes done 9703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes} 9803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 9903333823c75a1c1887e923828113a1b0fd12020cElliott Hughescase $1 in 10003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes '') 10103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes func_error "no command. Try '$0 --help' for more information." 10203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes ;; 10303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes -h | --h*) 10403333823c75a1c1887e923828113a1b0fd12020cElliott Hughes cat <<EOF 10503333823c75a1c1887e923828113a1b0fd12020cElliott HughesUsage: $me [--help] [--version] PROGRAM ACTION ARCHIVE [MEMBER...] 10603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 10703333823c75a1c1887e923828113a1b0fd12020cElliott HughesMembers may be specified in a file named with @FILE. 10803333823c75a1c1887e923828113a1b0fd12020cElliott HughesEOF 10903333823c75a1c1887e923828113a1b0fd12020cElliott Hughes exit $? 11003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes ;; 11103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes -v | --v*) 11203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes echo "$me, version $scriptversion" 11303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes exit $? 11403333823c75a1c1887e923828113a1b0fd12020cElliott Hughes ;; 11503333823c75a1c1887e923828113a1b0fd12020cElliott Hughesesac 11603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 11703333823c75a1c1887e923828113a1b0fd12020cElliott Hughesif test $# -lt 3; then 11803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes func_error "you must specify a program, an action and an archive" 11903333823c75a1c1887e923828113a1b0fd12020cElliott Hughesfi 12003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 12103333823c75a1c1887e923828113a1b0fd12020cElliott HughesAR=$1 12203333823c75a1c1887e923828113a1b0fd12020cElliott Hughesshift 12303333823c75a1c1887e923828113a1b0fd12020cElliott Hugheswhile : 12403333823c75a1c1887e923828113a1b0fd12020cElliott Hughesdo 12503333823c75a1c1887e923828113a1b0fd12020cElliott Hughes if test $# -lt 2; then 12603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes func_error "you must specify a program, an action and an archive" 12703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes fi 12803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes case $1 in 12903333823c75a1c1887e923828113a1b0fd12020cElliott Hughes -lib | -LIB \ 13003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes | -ltcg | -LTCG \ 13103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes | -machine* | -MACHINE* \ 13203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes | -subsystem* | -SUBSYSTEM* \ 13303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes | -verbose | -VERBOSE \ 13403333823c75a1c1887e923828113a1b0fd12020cElliott Hughes | -wx* | -WX* ) 13503333823c75a1c1887e923828113a1b0fd12020cElliott Hughes AR="$AR $1" 13603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes shift 13703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes ;; 13803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes *) 13903333823c75a1c1887e923828113a1b0fd12020cElliott Hughes action=$1 14003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes shift 14103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes break 14203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes ;; 14303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes esac 14403333823c75a1c1887e923828113a1b0fd12020cElliott Hughesdone 14503333823c75a1c1887e923828113a1b0fd12020cElliott Hughesorig_archive=$1 14603333823c75a1c1887e923828113a1b0fd12020cElliott Hughesshift 14703333823c75a1c1887e923828113a1b0fd12020cElliott Hughesfunc_file_conv "$orig_archive" 14803333823c75a1c1887e923828113a1b0fd12020cElliott Hughesarchive=$file 14903333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 15003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes# strip leading dash in $action 15103333823c75a1c1887e923828113a1b0fd12020cElliott Hughesaction=${action#-} 15203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 15303333823c75a1c1887e923828113a1b0fd12020cElliott Hughesdelete= 15403333823c75a1c1887e923828113a1b0fd12020cElliott Hughesextract= 15503333823c75a1c1887e923828113a1b0fd12020cElliott Hugheslist= 15603333823c75a1c1887e923828113a1b0fd12020cElliott Hughesquick= 15703333823c75a1c1887e923828113a1b0fd12020cElliott Hughesreplace= 15803333823c75a1c1887e923828113a1b0fd12020cElliott Hughesindex= 15903333823c75a1c1887e923828113a1b0fd12020cElliott Hughescreate= 16003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 16103333823c75a1c1887e923828113a1b0fd12020cElliott Hugheswhile test -n "$action" 16203333823c75a1c1887e923828113a1b0fd12020cElliott Hughesdo 16303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes case $action in 16403333823c75a1c1887e923828113a1b0fd12020cElliott Hughes d*) delete=yes ;; 16503333823c75a1c1887e923828113a1b0fd12020cElliott Hughes x*) extract=yes ;; 16603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes t*) list=yes ;; 16703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes q*) quick=yes ;; 16803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes r*) replace=yes ;; 16903333823c75a1c1887e923828113a1b0fd12020cElliott Hughes s*) index=yes ;; 17003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes S*) ;; # the index is always updated implicitly 17103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes c*) create=yes ;; 17203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes u*) ;; # TODO: don't ignore the update modifier 17303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes v*) ;; # TODO: don't ignore the verbose modifier 17403333823c75a1c1887e923828113a1b0fd12020cElliott Hughes *) 17503333823c75a1c1887e923828113a1b0fd12020cElliott Hughes func_error "unknown action specified" 17603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes ;; 17703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes esac 17803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes action=${action#?} 17903333823c75a1c1887e923828113a1b0fd12020cElliott Hughesdone 18003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 18103333823c75a1c1887e923828113a1b0fd12020cElliott Hughescase $delete$extract$list$quick$replace,$index in 18203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes yes,* | ,yes) 18303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes ;; 18403333823c75a1c1887e923828113a1b0fd12020cElliott Hughes yesyes*) 18503333823c75a1c1887e923828113a1b0fd12020cElliott Hughes func_error "more than one action specified" 18603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes ;; 18703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes *) 18803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes func_error "no action specified" 18903333823c75a1c1887e923828113a1b0fd12020cElliott Hughes ;; 19003333823c75a1c1887e923828113a1b0fd12020cElliott Hughesesac 19103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 19203333823c75a1c1887e923828113a1b0fd12020cElliott Hughesif test -n "$delete"; then 19303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes if test ! -f "$orig_archive"; then 19403333823c75a1c1887e923828113a1b0fd12020cElliott Hughes func_error "archive not found" 19503333823c75a1c1887e923828113a1b0fd12020cElliott Hughes fi 19603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes for member 19703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes do 19803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes case $1 in 19903333823c75a1c1887e923828113a1b0fd12020cElliott Hughes @*) 20003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes func_at_file "${1#@}" -REMOVE "$archive" 20103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes ;; 20203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes *) 20303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes func_file_conv "$1" 20403333823c75a1c1887e923828113a1b0fd12020cElliott Hughes $AR -NOLOGO -REMOVE:"$file" "$archive" || exit $? 20503333823c75a1c1887e923828113a1b0fd12020cElliott Hughes ;; 20603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes esac 20703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes done 20803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 20903333823c75a1c1887e923828113a1b0fd12020cElliott Hugheselif test -n "$extract"; then 21003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes if test ! -f "$orig_archive"; then 21103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes func_error "archive not found" 21203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes fi 21303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes if test $# -gt 0; then 21403333823c75a1c1887e923828113a1b0fd12020cElliott Hughes for member 21503333823c75a1c1887e923828113a1b0fd12020cElliott Hughes do 21603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes case $1 in 21703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes @*) 21803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes func_at_file "${1#@}" -EXTRACT "$archive" 21903333823c75a1c1887e923828113a1b0fd12020cElliott Hughes ;; 22003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes *) 22103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes func_file_conv "$1" 22203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes $AR -NOLOGO -EXTRACT:"$file" "$archive" || exit $? 22303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes ;; 22403333823c75a1c1887e923828113a1b0fd12020cElliott Hughes esac 22503333823c75a1c1887e923828113a1b0fd12020cElliott Hughes done 22603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes else 22703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes $AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member 22803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes do 22903333823c75a1c1887e923828113a1b0fd12020cElliott Hughes $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $? 23003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes done 23103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes fi 23203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 23303333823c75a1c1887e923828113a1b0fd12020cElliott Hugheselif test -n "$quick$replace"; then 23403333823c75a1c1887e923828113a1b0fd12020cElliott Hughes if test ! -f "$orig_archive"; then 23503333823c75a1c1887e923828113a1b0fd12020cElliott Hughes if test -z "$create"; then 23603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes echo "$me: creating $orig_archive" 23703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes fi 23803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes orig_archive= 23903333823c75a1c1887e923828113a1b0fd12020cElliott Hughes else 24003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes orig_archive=$archive 24103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes fi 24203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 24303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes for member 24403333823c75a1c1887e923828113a1b0fd12020cElliott Hughes do 24503333823c75a1c1887e923828113a1b0fd12020cElliott Hughes case $1 in 24603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes @*) 24703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes func_file_conv "${1#@}" 24803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes set x "$@" "@$file" 24903333823c75a1c1887e923828113a1b0fd12020cElliott Hughes ;; 25003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes *) 25103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes func_file_conv "$1" 25203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes set x "$@" "$file" 25303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes ;; 25403333823c75a1c1887e923828113a1b0fd12020cElliott Hughes esac 25503333823c75a1c1887e923828113a1b0fd12020cElliott Hughes shift 25603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes shift 25703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes done 25803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 25903333823c75a1c1887e923828113a1b0fd12020cElliott Hughes if test -n "$orig_archive"; then 26003333823c75a1c1887e923828113a1b0fd12020cElliott Hughes $AR -NOLOGO -OUT:"$archive" "$orig_archive" "$@" || exit $? 26103333823c75a1c1887e923828113a1b0fd12020cElliott Hughes else 26203333823c75a1c1887e923828113a1b0fd12020cElliott Hughes $AR -NOLOGO -OUT:"$archive" "$@" || exit $? 26303333823c75a1c1887e923828113a1b0fd12020cElliott Hughes fi 26403333823c75a1c1887e923828113a1b0fd12020cElliott Hughes 26503333823c75a1c1887e923828113a1b0fd12020cElliott Hugheselif test -n "$list"; then 26603333823c75a1c1887e923828113a1b0fd12020cElliott Hughes if test ! -f "$orig_archive"; then 26703333823c75a1c1887e923828113a1b0fd12020cElliott Hughes func_error "archive not found" 26803333823c75a1c1887e923828113a1b0fd12020cElliott Hughes fi 26903333823c75a1c1887e923828113a1b0fd12020cElliott Hughes $AR -NOLOGO -LIST "$archive" || exit $? 27003333823c75a1c1887e923828113a1b0fd12020cElliott Hughesfi 271