#!/bin/sh # # +----------------------------------------------------------------------+ # | PHP HTML Embedded Scripting Language Version 4.0 | # +----------------------------------------------------------------------+ # | Copyright (c) 1997-1999 PHP Development Team (See Credits file) | # +----------------------------------------------------------------------+ # | This program is free software; you can redistribute it and/or modify | # | it under the terms of one of the following licenses: | # | | # | A) the GNU General Public License as published by the Free Software | # | Foundation; either version 2 of the License, or (at your option) | # | any later version. | # | | # | B) the PHP License as published by the PHP Development Team and | # | included in the distribution in the file: LICENSE | # | | # | This program is distributed in the hope that it will be useful, | # | but WITHOUT ANY WARRANTY; without even the implied warranty of | # | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | # | GNU General Public License for more details. | # | | # | You should have received a copy of both licenses referred to here. | # | If you did not, or have any questions about PHP licensing, please | # | contact core@php.net. | # +----------------------------------------------------------------------+ # | Authors: Stig Sæther Bakken | # +----------------------------------------------------------------------+ # # Archive merger. Usage: armerge libout.a dir1/libin1.a dir2/libin2.a ... # Creates the archive libout.a from the files in the rest of the # parameter list. If the input archives are in separate directories, # the names of the files inside them are prefixed before they are # merged into the output archive. The prefix used is the same as the # directory name with "/" replaced by "_" and a "_" at the end. # # $Id$ # if test "$#" -lt "2"; then echo "Usage: "`basename $0`" " exit 1 fi out_archive=$1; shift in_archives=$@ rm -f $out_archive for archive in $in_archives; do files=`ar t $archive` ar x $archive dir=`dirname $archive` if test "$dir" = "."; then ext_files=$files else prefix=`echo $dir | sed -e 's#/#_#g'`_ prefix=`echo $prefix | sed -e 's#^\.\._##g'` ext_files="" for file in $files; do mv "$file" "$prefix$file" ext_files="$ext_files $prefix$file" done fi ar vr $out_archive $ext_files rm -f $ext_files done