xref: /aosp_15_r20/external/libvpx/build/make/armlink_adapter.sh (revision fb1b10ab9aebc7c7068eedab379b749d7e3900be)
1*fb1b10abSAndroid Build Coastguard Worker#!/bin/sh
2*fb1b10abSAndroid Build Coastguard Worker##
3*fb1b10abSAndroid Build Coastguard Worker##  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
4*fb1b10abSAndroid Build Coastguard Worker##
5*fb1b10abSAndroid Build Coastguard Worker##  Use of this source code is governed by a BSD-style license
6*fb1b10abSAndroid Build Coastguard Worker##  that can be found in the LICENSE file in the root of the source
7*fb1b10abSAndroid Build Coastguard Worker##  tree. An additional intellectual property rights grant can be found
8*fb1b10abSAndroid Build Coastguard Worker##  in the file PATENTS.  All contributing project authors may
9*fb1b10abSAndroid Build Coastguard Worker##  be found in the AUTHORS file in the root of the source tree.
10*fb1b10abSAndroid Build Coastguard Worker##
11*fb1b10abSAndroid Build Coastguard Worker
12*fb1b10abSAndroid Build Coastguard Worker
13*fb1b10abSAndroid Build Coastguard Workerverbose=0
14*fb1b10abSAndroid Build Coastguard Workerset -- $*
15*fb1b10abSAndroid Build Coastguard Workerfor i; do
16*fb1b10abSAndroid Build Coastguard Worker    if [ "$i" = "-o" ]; then
17*fb1b10abSAndroid Build Coastguard Worker        on_of=1
18*fb1b10abSAndroid Build Coastguard Worker    elif [ "$i" = "-v" ]; then
19*fb1b10abSAndroid Build Coastguard Worker        verbose=1
20*fb1b10abSAndroid Build Coastguard Worker    elif [ "$i" = "-g" ]; then
21*fb1b10abSAndroid Build Coastguard Worker        args="${args} --debug"
22*fb1b10abSAndroid Build Coastguard Worker    elif [ "$on_of" = "1" ]; then
23*fb1b10abSAndroid Build Coastguard Worker        outfile=$i
24*fb1b10abSAndroid Build Coastguard Worker        on_of=0
25*fb1b10abSAndroid Build Coastguard Worker    elif [ -f "$i" ]; then
26*fb1b10abSAndroid Build Coastguard Worker        infiles="$infiles $i"
27*fb1b10abSAndroid Build Coastguard Worker    elif [ "${i#-l}" != "$i" ]; then
28*fb1b10abSAndroid Build Coastguard Worker        libs="$libs ${i#-l}"
29*fb1b10abSAndroid Build Coastguard Worker    elif [ "${i#-L}" != "$i" ]; then
30*fb1b10abSAndroid Build Coastguard Worker        libpaths="${libpaths} ${i#-L}"
31*fb1b10abSAndroid Build Coastguard Worker    else
32*fb1b10abSAndroid Build Coastguard Worker        args="${args} ${i}"
33*fb1b10abSAndroid Build Coastguard Worker    fi
34*fb1b10abSAndroid Build Coastguard Worker    shift
35*fb1b10abSAndroid Build Coastguard Workerdone
36*fb1b10abSAndroid Build Coastguard Worker
37*fb1b10abSAndroid Build Coastguard Worker# Absolutize library file names
38*fb1b10abSAndroid Build Coastguard Workerfor f in $libs; do
39*fb1b10abSAndroid Build Coastguard Worker    found=0
40*fb1b10abSAndroid Build Coastguard Worker    for d in $libpaths; do
41*fb1b10abSAndroid Build Coastguard Worker        [ -f "$d/$f" ] && infiles="$infiles $d/$f" && found=1 && break
42*fb1b10abSAndroid Build Coastguard Worker        [ -f "$d/lib${f}.so" ] && infiles="$infiles $d/lib${f}.so" && found=1 && break
43*fb1b10abSAndroid Build Coastguard Worker        [ -f "$d/lib${f}.a" ] && infiles="$infiles $d/lib${f}.a" && found=1 && break
44*fb1b10abSAndroid Build Coastguard Worker    done
45*fb1b10abSAndroid Build Coastguard Worker    [ $found -eq 0 ] && infiles="$infiles $f"
46*fb1b10abSAndroid Build Coastguard Workerdone
47*fb1b10abSAndroid Build Coastguard Workerfor d in $libpaths; do
48*fb1b10abSAndroid Build Coastguard Worker    [ -n "$libsearchpath" ] && libsearchpath="${libsearchpath},"
49*fb1b10abSAndroid Build Coastguard Worker    libsearchpath="${libsearchpath}$d"
50*fb1b10abSAndroid Build Coastguard Workerdone
51*fb1b10abSAndroid Build Coastguard Worker
52*fb1b10abSAndroid Build Coastguard Workercmd="armlink $args --userlibpath=$libsearchpath --output=$outfile $infiles"
53*fb1b10abSAndroid Build Coastguard Worker[ $verbose -eq 1 ] && echo $cmd
54*fb1b10abSAndroid Build Coastguard Worker$cmd
55