copy-to-ndk.sh revision de5ba5ef7274f993d1612d3f902f27545aa99c8d
1f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross# Take care of copying current header files over to the correct
2f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross# location in the NDK.
3f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross
4f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Crosscopyndkheaders() {
5f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross    local CURR_PLATFORM=android-9
6f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross    local ALL_PLATFORMS="$CURR_PLATFORM android-8 android-5 android-4 android-3"
7f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross
8f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross    local SRC_HEADERS=$ANDROID_BUILD_TOP/frameworks/base/native/include/android
9f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross    local NDK_PLATFORMS=$ANDROID_BUILD_TOP/development/ndk/platforms
10f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross    local DST_HEADERS=$NDK_PLATFORMS/$CURR_PLATFORM
11f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross
12f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross    local SRC_LIB_ANDROID=$ANDROID_PRODUCT_OUT/system/lib/libandroid.so
13f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross    local DST_LIB_ANDROID=$NDK_PLATFORMS/$CURR_PLATFORM/arch-arm/lib/libandroid.so
14f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross
15f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross    local didsomething=""
16f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross
172db0f5f31c015b5a89b619f8c95a9bf95c09c75bArve Hjønnevåg    #echo "SRC_HEADERS: $SRC_HEADERS"
18f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross
19f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross    for i in $(cd $SRC_HEADERS; ls *.h); do
20ad5f6c475934ac6a658a203069a9f055540946e7Felipe Leme        local src=$SRC_HEADERS/$i
21f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross        local changed=""
226e01fa6f95fb20a2faab33561056d2e74cc097cbFelipe Leme        for j in $ALL_PLATFORMS; do
23ad5f6c475934ac6a658a203069a9f055540946e7Felipe Leme            local dst=$NDK_PLATFORMS/$j/include/android/$i
24635ca31754ae734b0c540ac5600d58ae55cd4237Felipe Leme            if [ "$changed" == "" -a -e $dst ]; then
258f37aa5011bf5d8c0a67126b92e3b435ffd4dca0Mark Salyzyn                echo "Exists: $dst"
26f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross                if diff $src $dst >/dev/null; then
27f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross                    echo "$i: has not changed from $j" >/dev/null
286e01fa6f95fb20a2faab33561056d2e74cc097cbFelipe Leme                    changed="false"
29f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross                else
307dc7f3221f26b771c266a26ec785eb74287922f1Christopher Ferris                    changed="true"
31f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross                    echo "$i: has changed from $j" >/dev/null
32f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross                fi
33f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross            fi
34f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross        done
35f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross        if [ "$changed" == "true" -o "$changed" == "" ]; then
36f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross            echo "Updating: $i"
379dc117c415d0df0a3acd900709d05deabe975704Elliott Hughes            cp $src $NDK_PLATFORMS/$CURR_PLATFORM/include/android/$i
38f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross            didsomething="true"
39f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross        fi
40f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross    done
41f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross
42f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross    if diff $SRC_LIB_ANDROID $DST_LIB_ANDROID >/dev/null; then
43656a6b9e3645bfe2cf073b69cbb9d02832f62c26Alex Ray        echo "libandroid.so: has not changed"
44f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross    else
45f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross        echo "Updating: $DST_LIB_ANDROID"
466e01fa6f95fb20a2faab33561056d2e74cc097cbFelipe Leme        cp $SRC_LIB_ANDROID $DST_LIB_ANDROID
476e01fa6f95fb20a2faab33561056d2e74cc097cbFelipe Leme        didsomething="true"
486e01fa6f95fb20a2faab33561056d2e74cc097cbFelipe Leme    fi
494db754fd7c13993d81d98157f10e8015422d1e3aMichal Karpinski    if [ "$didsomething" != "" ]; then
504db754fd7c13993d81d98157f10e8015422d1e3aMichal Karpinski        echo "Headers changed...  rebuilding platforms."
516e01fa6f95fb20a2faab33561056d2e74cc097cbFelipe Leme        sh $ANDROID_BUILD_TOP/ndk/build/tools/build-platforms.sh
52f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross    fi
53f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross}
54f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross
55f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Crosscopyndkheaders
56f45fa6b2853cc32385375a0b63ee39ad6a968869Colin Cross