Filter libtool warning about table of contents (#15448)
The warning is unlikely to indicate a real issue, and Bazel already silences parallel warnings with `-no_warning_for_no_symbols`.
For more context, see https://github.com/bazelbuild/bazel/issues/4057
Fixes #4057
Closes #15325.
PiperOrigin-RevId: 446659148
Co-authored-by: Christopher Sauer <cpsauer@users.noreply.github.com>
diff --git a/tools/objc/libtool.sh b/tools/objc/libtool.sh
index 0d8f643..c8bcd18 100755
--- a/tools/objc/libtool.sh
+++ b/tools/objc/libtool.sh
@@ -32,7 +32,14 @@
fi
fi
-WRAPPER="${MY_LOCATION}/xcrunwrapper.sh"
+function invoke_libtool() {
+ # Just invoke libtool via xcrunwrapper
+ "${MY_LOCATION}/xcrunwrapper.sh" libtool "$@" \
+ 2> >(grep -v "the table of contents is empty (no object file members in the"`
+ `" library define global symbols)$" >&2)
+ # ^ Filtering a warning that's unlikely to indicate a real issue
+ # ...and not silencable via a flag.
+}
if [ ! -f "${MY_LOCATION}"/libtool_check_unique ] ; then
echo "libtool_check_unique not found. Please file an issue at github.com/bazelbuild/bazel"
@@ -40,7 +47,7 @@
elif "${MY_LOCATION}"/libtool_check_unique "$@"; then
# If there are no duplicate .o basenames,
# libtool can be invoked with the original arguments.
- "${WRAPPER}" libtool "$@"
+ invoke_libtool "$@"
exit
fi
@@ -131,4 +138,4 @@
done
printf '%s\n' "${ARGS[@]}" > "$TEMPDIR/processed.params"
-"${WRAPPER}" libtool "@$TEMPDIR/processed.params"
+invoke_libtool "@$TEMPDIR/processed.params"