xref: /aosp_15_r20/frameworks/base/native/copy-to-ndk.sh (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1*d57664e9SAndroid Build Coastguard Worker# Take care of copying current header files over to the correct
2*d57664e9SAndroid Build Coastguard Worker# location in the NDK.
3*d57664e9SAndroid Build Coastguard Worker
4*d57664e9SAndroid Build Coastguard Workercopyndkheaders() {
5*d57664e9SAndroid Build Coastguard Worker    local CURR_PLATFORM=android-9
6*d57664e9SAndroid Build Coastguard Worker    local ALL_PLATFORMS="$CURR_PLATFORM android-8 android-5 android-4 android-3"
7*d57664e9SAndroid Build Coastguard Worker
8*d57664e9SAndroid Build Coastguard Worker    local SRC_HEADERS=$ANDROID_BUILD_TOP/frameworks/native/include/android
9*d57664e9SAndroid Build Coastguard Worker    local NDK_PLATFORMS=$ANDROID_BUILD_TOP/development/ndk/platforms
10*d57664e9SAndroid Build Coastguard Worker    local DST_HEADERS=$NDK_PLATFORMS/$CURR_PLATFORM
11*d57664e9SAndroid Build Coastguard Worker
12*d57664e9SAndroid Build Coastguard Worker    local SRC_LIB_ANDROID=$ANDROID_PRODUCT_OUT/system/lib/libandroid.so
13*d57664e9SAndroid Build Coastguard Worker    local DST_LIB_ANDROID=$NDK_PLATFORMS/$CURR_PLATFORM/arch-arm/lib/libandroid.so
14*d57664e9SAndroid Build Coastguard Worker
15*d57664e9SAndroid Build Coastguard Worker    local didsomething=""
16*d57664e9SAndroid Build Coastguard Worker
17*d57664e9SAndroid Build Coastguard Worker    #echo "SRC_HEADERS: $SRC_HEADERS"
18*d57664e9SAndroid Build Coastguard Worker
19*d57664e9SAndroid Build Coastguard Worker    for i in $(cd $SRC_HEADERS; ls *.h); do
20*d57664e9SAndroid Build Coastguard Worker        local src=$SRC_HEADERS/$i
21*d57664e9SAndroid Build Coastguard Worker        local changed=""
22*d57664e9SAndroid Build Coastguard Worker        for j in $ALL_PLATFORMS; do
23*d57664e9SAndroid Build Coastguard Worker            local dst=$NDK_PLATFORMS/$j/include/android/$i
24*d57664e9SAndroid Build Coastguard Worker            if [ "$changed" == "" -a -e $dst ]; then
25*d57664e9SAndroid Build Coastguard Worker                echo "Exists: $dst"
26*d57664e9SAndroid Build Coastguard Worker                if diff $src $dst >/dev/null; then
27*d57664e9SAndroid Build Coastguard Worker                    echo "$i: has not changed from $j" >/dev/null
28*d57664e9SAndroid Build Coastguard Worker                    changed="false"
29*d57664e9SAndroid Build Coastguard Worker                else
30*d57664e9SAndroid Build Coastguard Worker                    changed="true"
31*d57664e9SAndroid Build Coastguard Worker                    echo "$i: has changed from $j" >/dev/null
32*d57664e9SAndroid Build Coastguard Worker                fi
33*d57664e9SAndroid Build Coastguard Worker            fi
34*d57664e9SAndroid Build Coastguard Worker        done
35*d57664e9SAndroid Build Coastguard Worker        if [ "$changed" == "true" -o "$changed" == "" ]; then
36*d57664e9SAndroid Build Coastguard Worker            echo "Updating: $i"
37*d57664e9SAndroid Build Coastguard Worker            cp $src $NDK_PLATFORMS/$CURR_PLATFORM/include/android/$i
38*d57664e9SAndroid Build Coastguard Worker            didsomething="true"
39*d57664e9SAndroid Build Coastguard Worker        fi
40*d57664e9SAndroid Build Coastguard Worker    done
41*d57664e9SAndroid Build Coastguard Worker
42*d57664e9SAndroid Build Coastguard Worker    if diff $SRC_LIB_ANDROID $DST_LIB_ANDROID >/dev/null; then
43*d57664e9SAndroid Build Coastguard Worker        echo "libandroid.so: has not changed"
44*d57664e9SAndroid Build Coastguard Worker    else
45*d57664e9SAndroid Build Coastguard Worker        echo "Updating: $DST_LIB_ANDROID"
46*d57664e9SAndroid Build Coastguard Worker        cp $SRC_LIB_ANDROID $DST_LIB_ANDROID
47*d57664e9SAndroid Build Coastguard Worker        didsomething="true"
48*d57664e9SAndroid Build Coastguard Worker    fi
49*d57664e9SAndroid Build Coastguard Worker    if [ "$didsomething" != "" ]; then
50*d57664e9SAndroid Build Coastguard Worker        echo "Headers changed...  rebuilding platforms."
51*d57664e9SAndroid Build Coastguard Worker        sh $ANDROID_BUILD_TOP/ndk/build/tools/build-platforms.sh
52*d57664e9SAndroid Build Coastguard Worker    fi
53*d57664e9SAndroid Build Coastguard Worker}
54*d57664e9SAndroid Build Coastguard Worker
55*d57664e9SAndroid Build Coastguard Workercopyndkheaders
56