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 |