17ec681f3Smrg#!/bin/sh
27ec681f3Smrg
37ec681f3Smrgset -eu
47ec681f3Smrg
57ec681f3Smrgif [ ! -e .git ]; then
67ec681f3Smrg    echo must run from top-level directory;
77ec681f3Smrg    exit 1
87ec681f3Smrgfi
97ec681f3Smrg
107ec681f3Smrgif [ ! -d platform-hardware-libhardware ]; then
117ec681f3Smrg    git clone --depth 1 https://android.googlesource.com/platform/frameworks/native platform-frameworks-native
127ec681f3Smrg    git clone --depth 1 https://android.googlesource.com/platform/hardware/libhardware platform-hardware-libhardware
137ec681f3Smrg    git clone --depth 1 https://android.googlesource.com/platform/system/core platform-system-core
147ec681f3Smrg    git clone --depth 1 https://android.googlesource.com/platform/system/logging platform-system-logging
157ec681f3Smrg    git clone --depth 1 https://android.googlesource.com/platform/system/unwinding platform-system-unwinding
167ec681f3Smrgfi
177ec681f3Smrg
187ec681f3Smrgdest=include/android_stub
197ec681f3Smrg
207ec681f3Smrg# Persist the frozen Android N system/window.h for backward compatibility
217ec681f3Smrg
227ec681f3Smrgcp -av ${dest}/system/window.h platform-system-core/libsystem/include/system
237ec681f3Smrg
247ec681f3Smrgrm -rf ${dest}
257ec681f3Smrgmkdir ${dest}
267ec681f3Smrg
277ec681f3Smrg
287ec681f3Smrg# These directories contains mostly only the files we need, so copy wholesale
297ec681f3Smrg
307ec681f3Smrgcp -av                                                                  \
317ec681f3Smrg    platform-frameworks-native/libs/nativewindow/include/vndk           \
327ec681f3Smrg    platform-frameworks-native/libs/nativebase/include/nativebase       \
337ec681f3Smrg    platform-system-core/libsync/include/ndk                            \
347ec681f3Smrg    platform-system-core/libsync/include/sync                           \
357ec681f3Smrg    platform-system-core/libsystem/include/system                       \
367ec681f3Smrg    platform-system-logging/liblog/include/log                          \
377ec681f3Smrg    platform-system-unwinding/libbacktrace/include/backtrace            \
387ec681f3Smrg    ${dest}
397ec681f3Smrg
407ec681f3Smrg
417ec681f3Smrg# We only need a few files from these big directories so just copy those
427ec681f3Smrg
437ec681f3Smrgmkdir ${dest}/hardware
447ec681f3Smrgcp -av platform-hardware-libhardware/include/hardware/{hardware,gralloc,gralloc1,fb}.h ${dest}/hardware
457ec681f3Smrgcp -av platform-frameworks-native/vulkan/include/hardware/hwvulkan.h ${dest}/hardware
467ec681f3Smrg
477ec681f3Smrgmkdir ${dest}/cutils
487ec681f3Smrgcp -av platform-system-core/libcutils/include/cutils/{compiler,log,native_handle,properties,trace}.h ${dest}/cutils
497ec681f3Smrg
507ec681f3Smrg
517ec681f3Smrg# include/android has files from a few different projects
527ec681f3Smrg
537ec681f3Smrgmkdir ${dest}/android
547ec681f3Smrgcp -av                                                                  \
557ec681f3Smrg    platform-frameworks-native/libs/nativewindow/include/android/*      \
567ec681f3Smrg    platform-frameworks-native/libs/arect/include/android/*             \
577ec681f3Smrg    platform-system-core/libsync/include/android/*                      \
587ec681f3Smrg    platform-system-logging/liblog/include/android/*                    \
597ec681f3Smrg    ${dest}/android
607ec681f3Smrg
61