[NDK] Copy libc++abi together with libc++

We only copied libc++.1.dylib to lib/lib64 for bfd-plugin. This failed
the test because libc++abi is missing.

It didn't cause any problem before because upstream used to set wrong rpath
for macOS (@rpath/../lib instead of lib64). And the build system cleaverly
find /usr/lib/libc++abi.dylib to link with:

$ otool -l android-ndk-r20/toolchains/llvm/prebuilt/darwin-x86_64/lib/lib64/libc++.1.dylib
...
Load command 10
          cmd LC_LOAD_DYLIB
      cmdsize 56
         name /usr/lib/libc++abi.dylib (offset 24)
   time stamp 2 Wed Dec 31 16:00:02 1969
      current version 125.0.0
compatibility version 1.0.0

Test: checkbuild.py on macOS
Change-Id: I9773fcb366dd6597debe76f512a4c78c1607b581
1 file changed
tree: 17b62e2ec45a470619e8062210be543bd8c623b7
  1. .github/
  2. bootstrap/
  3. build/
  4. docs/
  5. infra/
  6. meta/
  7. ndk/
  8. samples/
  9. scripts/
  10. sources/
  11. tests/
  12. wrap.sh/
  13. .clang-format
  14. .gitignore
  15. Android.mk
  16. checkbuild.py
  17. CleanSpec.mk
  18. CONTRIBUTING.md
  19. do_checkbuild.py
  20. MANIFEST.in
  21. mypy.ini
  22. navbar.md
  23. ndk-gdb
  24. ndk-gdb.cmd
  25. ndk-gdb.py
  26. ndk-stack
  27. ndk-stack.cmd
  28. ndk-stack.py
  29. ndk-which
  30. NOTICE
  31. OWNERS
  32. parse_elfnote.py
  33. pylintrc
  34. qa_config.json
  35. README.md
  36. requirements.txt
  37. run_tests.py
  38. setup.py
  39. unittest.cfg
  40. UserReadme.md
README.md

Android Native Development Kit (NDK)

The latest version of this document is available at https://android.googlesource.com/platform/ndk/+/master/README.md.

Note: This document is for developers of the NDK, not developers that use the NDK.

The NDK allows Android application developers to include native code in their Android application packages, compiled as JNI shared libraries.

This page provides an overview of what is contained in the NDK. For information on building or testing the NDK, the roadmap, or other information, see the navigation bar at the top of this page, or the docs directory.

Other Resources

Components

The NDK components can be loosely grouped into host toolchains, target prebuilts, build systems, and support libraries.

For more information, see the Build System Maintainers guide.

Build Systems

While the NDK is primarily a toolchain for building Android code, the package also includes some build system support.

First, $NDK/build/core contains ndk-build. This is the NDK's home grown build system. The entry point for this build system is $NDK/build/ndk-build (or $NDK/build/ndk-build.cmd).

A CMake toolchain file is included at $NDK/build/cmake/android.toolchain.cmake. This is separate from CMake's own support for the NDK.

$NDK/build/tools/make_standalone_toolchain.py is a tool which can create a redistributable toolchain that targets a single Android ABI and API level. As of NDK r19 it is unnecessary, as the installed toolchain may be invoked directly, but it remains for compatibility.

Since the Android Gradle plugin is responsible for both Java and native code, is not included as part of the NDK.

Support Libraries

sources/android and sources/third_party contain modules that can be used in apps (gtest, cpufeatures, native_app_glue, etc) via $(call import-module,$MODULE) in ndk-build. CMake modules are not yet available.