#!/bin/sh set -e TMPDIR="$(mktemp -d -t tor_lib_combining.XXXXXX)" ORIGDIR="$(pwd)" trap 'cd "$ORIGDIR" && rm -rf "$TMPDIR"' 0 abspath() { echo "$(cd "$(dirname "$1")" >/dev/null && pwd)/$(basename "$1")" } apple_symdef_fix() { # On modern macOS and iOS we need to remove the "__.SYMDEF" and "__.SYMDEF # SORTED" before we repack the archive. # See: tor#40683. if [ "$(uname -s)" = "Darwin" ] ; then find . -name "__.SYMDEF*" -delete fi } TARGET=$(abspath "$1") shift for input in "$@"; do cd "$ORIGDIR" abs=$(abspath "$input") dir="$TMPDIR"/$(basename "$input" .a) mkdir "$dir" cd "$dir" >/dev/null "${AR:-ar}" x "$abs" done cd "$TMPDIR" >/dev/null apple_symdef_fix "${AR:-ar}" "${ARFLAGS:-cru}" library.tmp.a ./*/** "${RANLIB:-ranlib}" library.tmp.a mv -f library.tmp.a "$TARGET"