Add support for no-vendor-variant VNDK

When no-vendor-variant VNDK is enabled, the vendor variant of VNDK
libraries are not installed.  Since not all VNDK libraries will be
ready for this, we keep a list of library names in cc/vndk.go to
indicate which libraries must have their vendor variants always
installed regardless of whether no-vendor-variant VNDK is enabled.

Also add --remove-build-id option to the strip script to facilitate
the check of functional identity of the two variants.

Bug: 119423884
Test: Add a dummy VNDK library and build with
      TARGET_VNDK_USE_CORE_VARIANT := true, with the corresponding
      build/make change.

Change-Id: Ieb1589488690e1cef1e310669a8b47a8b8759dac
This commit is contained in:
Vic Yang
2018-11-12 20:19:56 -08:00
parent f8d3be9cb7
commit efd249e62a
10 changed files with 225 additions and 7 deletions

View File

@@ -28,6 +28,7 @@
# --keep-mini-debug-info
# --keep-symbols
# --use-gnu-strip
# --remove-build-id
set -o pipefail
@@ -41,6 +42,7 @@ Options:
--keep-mini-debug-info Keep compressed debug info in out-file
--keep-symbols Keep symbols in out-file
--use-gnu-strip Use strip/objcopy instead of llvm-{strip,objcopy}
--remove-build-id Remove the gnu build-id section in out-file
EOF
exit 1
}
@@ -110,6 +112,16 @@ do_add_gnu_debuglink() {
fi
}
do_remove_build_id() {
if [ -z "${use_gnu_strip}" ]; then
"${CLANG_BIN}/llvm-strip" -remove-section=.note.gnu.build-id "${outfile}.tmp" -o "${outfile}.tmp.no-build-id"
else
"${CROSS_COMPILE}strip" --remove-section=.note.gnu.build-id "${outfile}.tmp" -o "${outfile}.tmp.no-build-id"
fi
rm -f "${outfile}.tmp"
mv "${outfile}.tmp.no-build-id" "${outfile}.tmp"
}
while getopts $OPTSTRING opt; do
case "$opt" in
d) depsfile="${OPTARG}" ;;
@@ -120,7 +132,7 @@ while getopts $OPTSTRING opt; do
add-gnu-debuglink) add_gnu_debuglink=true ;;
keep-mini-debug-info) keep_mini_debug_info=true ;;
keep-symbols) keep_symbols=true ;;
use-gnu-strip) use_gnu_strip=true ;;
remove-build-id) remove_build_id=true ;;
*) echo "Unknown option --${OPTARG}"; usage ;;
esac;;
?) usage ;;
@@ -167,6 +179,10 @@ if [ ! -z "${add_gnu_debuglink}" ]; then
do_add_gnu_debuglink
fi
if [ ! -z "${remove_build_id}" ]; then
do_remove_build_id
fi
rm -f "${outfile}"
mv "${outfile}.tmp" "${outfile}"