12345678910111213141516171819202122232425262728293031323334353637383940 |
- #!/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"
|