108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn# Take care of copying current header files over to the correct
208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn# location in the NDK.
308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn
408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborncopyndkheaders() {
508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn    local CURR_PLATFORM=android-9
608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn    local ALL_PLATFORMS="$CURR_PLATFORM android-8 android-5 android-4 android-3"
708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn
860b82263a11e655408bbae1470728d58e1631b21Mathias Agopian    local SRC_HEADERS=$ANDROID_BUILD_TOP/frameworks/native/include/android
908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn    local NDK_PLATFORMS=$ANDROID_BUILD_TOP/development/ndk/platforms
1008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn    local DST_HEADERS=$NDK_PLATFORMS/$CURR_PLATFORM
1108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn
1208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn    local SRC_LIB_ANDROID=$ANDROID_PRODUCT_OUT/system/lib/libandroid.so
13de5ba5ef7274f993d1612d3f902f27545aa99c8dDianne Hackborn    local DST_LIB_ANDROID=$NDK_PLATFORMS/$CURR_PLATFORM/arch-arm/lib/libandroid.so
1408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn
1508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn    local didsomething=""
1608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn
1708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn    #echo "SRC_HEADERS: $SRC_HEADERS"
1808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn
1908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn    for i in $(cd $SRC_HEADERS; ls *.h); do
2008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn        local src=$SRC_HEADERS/$i
2108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn        local changed=""
2208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn        for j in $ALL_PLATFORMS; do
23de5ba5ef7274f993d1612d3f902f27545aa99c8dDianne Hackborn            local dst=$NDK_PLATFORMS/$j/include/android/$i
2408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn            if [ "$changed" == "" -a -e $dst ]; then
25de5ba5ef7274f993d1612d3f902f27545aa99c8dDianne Hackborn                echo "Exists: $dst"
2608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn                if diff $src $dst >/dev/null; then
2708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn                    echo "$i: has not changed from $j" >/dev/null
2808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn                    changed="false"
2908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn                else
3008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn                    changed="true"
3108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn                    echo "$i: has changed from $j" >/dev/null
3208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn                fi
3308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn            fi
3408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn        done
3508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn        if [ "$changed" == "true" -o "$changed" == "" ]; then
3608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn            echo "Updating: $i"
37de5ba5ef7274f993d1612d3f902f27545aa99c8dDianne Hackborn            cp $src $NDK_PLATFORMS/$CURR_PLATFORM/include/android/$i
3808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn            didsomething="true"
3908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn        fi
4008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn    done
4108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn
4208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn    if diff $SRC_LIB_ANDROID $DST_LIB_ANDROID >/dev/null; then
43de5ba5ef7274f993d1612d3f902f27545aa99c8dDianne Hackborn        echo "libandroid.so: has not changed"
4408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn    else
4508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn        echo "Updating: $DST_LIB_ANDROID"
4608d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn        cp $SRC_LIB_ANDROID $DST_LIB_ANDROID
4708d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn        didsomething="true"
4808d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn    fi
4908d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn    if [ "$didsomething" != "" ]; then
5008d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn        echo "Headers changed...  rebuilding platforms."
5108d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn        sh $ANDROID_BUILD_TOP/ndk/build/tools/build-platforms.sh
5208d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn    fi
5308d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn}
5408d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborn
5508d5b8fad8d46ccb64db2fdcb4d66972ec87bf48Dianne Hackborncopyndkheaders
56