| Index: unpack_lib_posix.sh
|
| ===================================================================
|
| --- unpack_lib_posix.sh (revision 293274)
|
| +++ unpack_lib_posix.sh (working copy)
|
| @@ -1,77 +0,0 @@
|
| -#!/bin/bash -e
|
| -#
|
| -# Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -# Use of this source code is governed by a BSD-style license that can be
|
| -# found in the LICENSE file.
|
| -
|
| -# This script is used to unpack a .a file into object files.
|
| -#
|
| -# Arguments:
|
| -#
|
| -# d - Output directory.
|
| -# a - List of possible locations of the archive.
|
| -# f - List of files to extract.
|
| -#
|
| -
|
| -export LC_ALL=C
|
| -
|
| -# Avoid things like -n messing up the grepping below.
|
| -unset GREP_OPTIONS
|
| -
|
| -while getopts "d:a:f:r:" flag
|
| -do
|
| - if [ "$flag" = "d" ]; then
|
| - out_dir=$OPTARG
|
| - elif [ "$flag" = "a" ]; then
|
| - lib_files="$OPTARG $lib_files"
|
| - elif [ "$flag" = "f" ]; then
|
| - obj_files="$OPTARG $obj_files"
|
| - elif [ "$flag" = "r" ]; then
|
| - ar=$OPTARG
|
| - fi
|
| -done
|
| -
|
| -for f in $lib_files; do
|
| - if [ -a $f ]; then
|
| - lib_file=$f
|
| - break
|
| - fi
|
| -done
|
| -
|
| -if [ -z "$lib_file" ]; then
|
| - echo "Failed to locate a static library."
|
| - false
|
| - exit
|
| -fi
|
| -
|
| -if [ ! -f "$ar" ]; then
|
| - # Find the appropriate ar to use.
|
| - ar="ar"
|
| - if [ -n "$AR_target" ]; then
|
| - ar=$AR_target
|
| - elif [ -n "$AR" ]; then
|
| - ar=$AR
|
| - fi
|
| -fi
|
| -
|
| -obj_list="$($ar t $lib_file | grep '\.o$')"
|
| -
|
| -function extract_object {
|
| - for f in $obj_list; do
|
| - filename="${f##*/}"
|
| -
|
| - if [ -z "$(echo $filename | grep $1)" ]; then
|
| - continue
|
| - fi
|
| -
|
| - # Only echo this if debugging.
|
| - # echo "Extract $filename from archive to $out_dir/$1."
|
| - $ar p $lib_file $filename > $out_dir/$1
|
| - [ -s $out_dir/$1 ] || exit 1
|
| - break
|
| - done
|
| -}
|
| -
|
| -for f in $obj_files; do
|
| - extract_object $f
|
| -done
|
|
|