| #!/bin/sh |
| |
| set -eu |
| |
| if [ ! -e .git ]; then |
| echo must run from top-level directory; |
| exit 1 |
| fi |
| |
| if [ ! -d platform-hardware-libhardware ]; then |
| git clone --depth 1 https://android.googlesource.com/platform/frameworks/native platform-frameworks-native |
| git clone --depth 1 https://android.googlesource.com/platform/hardware/libhardware platform-hardware-libhardware |
| git clone --depth 1 https://android.googlesource.com/platform/system/core platform-system-core |
| git clone --depth 1 https://android.googlesource.com/platform/system/logging platform-system-logging |
| fi |
| |
| dest=include/android_stub |
| |
| # Persist the frozen Android N system/window.h for backward compatibility |
| |
| cp -av ${dest}/system/window.h platform-system-core/libsystem/include/system |
| |
| # Persist the frozen libbacktrace header for backward compatibility, since the |
| # support has been dropped in Android 15. |
| # |
| # TODO: add support for libunwindstack |
| mkdir -p platform-system-unwinding/libbacktrace/include |
| cp -av ${dest}/backtrace platform-system-unwinding/libbacktrace/include/ |
| |
| rm -rf ${dest} |
| mkdir ${dest} |
| |
| |
| # These directories contains only the files we need, so copy wholesale |
| |
| cp -av \ |
| platform-frameworks-native/libs/nativewindow/include/vndk \ |
| platform-frameworks-native/libs/nativebase/include/nativebase \ |
| platform-system-core/libsync/include/ndk \ |
| platform-system-core/libsync/include/sync \ |
| platform-system-unwinding/libbacktrace/include/backtrace \ |
| ${dest} |
| |
| |
| # We only need a few files from these big directories so just copy those |
| |
| mkdir ${dest}/hardware |
| cp -av platform-hardware-libhardware/include_all/hardware/{hardware,gralloc,gralloc1,fb}.h ${dest}/hardware |
| cp -av platform-frameworks-native/vulkan/include/hardware/hwvulkan.h ${dest}/hardware |
| |
| mkdir ${dest}/cutils |
| cp -av platform-system-core/libcutils/include/cutils/native_handle.h ${dest}/cutils |
| |
| mkdir ${dest}/system |
| cp -av platform-system-core/libsystem/include/system/{graphics*,window.h} ${dest}/system |
| |
| # include/android has files from a few different projects |
| |
| mkdir ${dest}/android |
| cp -av \ |
| platform-frameworks-native/libs/nativewindow/include/android/{data_space,hardware_buffer,native_window}.h \ |
| platform-frameworks-native/libs/arect/include/android/rect.h \ |
| platform-system-core/libsync/include/android/sync.h \ |
| platform-system-logging/liblog/include/android/log.h \ |
| ${dest}/android |
| |