diff --git a/jni/pjproject-android/.svn/pristine/cf/cfd55a6db4ea1f9a288495096be4a030639dd748.svn-base b/jni/pjproject-android/.svn/pristine/cf/cfd55a6db4ea1f9a288495096be4a030639dd748.svn-base
new file mode 100644
index 0000000..c8fc8f9
--- /dev/null
+++ b/jni/pjproject-android/.svn/pristine/cf/cfd55a6db4ea1f9a288495096be4a030639dd748.svn-base
@@ -0,0 +1,148 @@
+#!/bin/sh
+#
+
+F="configure-android"
+
+if test "$*" = "--help" -o "$*" = "-h"; then
+  echo "$F [--use-ndk-cflags] [OPTIONS]"
+  echo ""
+  echo "where:"
+  echo "  --use-ndk-cflags Optional parameter to use the same compilation flags"
+  echo "              	   as the one used by ndk-build"
+  echo "  OPTIONS     	   Other options that will be passed directly to"
+  echo "                   ./aconfigure script. Run ./aconfigure --help"
+  echo "                   for more info."
+  echo ""
+  echo "Environment variables:"
+  echo "  ANDROID_NDK_ROOT Specify the directory of Android NDK to use."
+  echo "  APP_PLATFORM     Optionally specify the platform level used, e.g."
+  echo "                   android-9. By default, configure will use the"
+  echo "                   maximum platform level detected."
+  echo "  TARGET_ABI       Optionally specify a single target architecture,"
+  echo "                   e.g. armeabi-v7a, mips, x86. By default, the target"
+  echo "                   architecture is armeabi. Only used when"
+  echo "                   --use-ndk-cflags is specified."
+  echo "  IGNORE_CFLAGS    Optionally specify compilation flags to be ignored."
+  echo "                   Each grepped flag that satisfies the criteria will"
+  echo "                   be ignored. Default:"
+  echo "                   IGNORE_CFLAGS=\"\-M\|\-f*stack\|\-f*alias\""
+  echo "                   Only used when --use-ndk-cflags is specified."
+  echo ""
+  exit 0
+fi
+
+if test "x${ANDROID_NDK_ROOT}" = "x"; then
+  echo "$F error: ANDROID_NDK_ROOT must be specified"
+  exit 0
+fi
+
+#if test "$1" = "--simulator"; then
+if test "1" = "0"; then
+  shift
+  TARGET_HOST="i686-android-linux"
+  TC_DIR="x86"
+else
+  TARGET_HOST="arm-linux-androideabi"
+  TC_DIR=${TARGET_HOST}
+fi
+
+if test "x$APP_PLATFORM" = "x"; then
+  APP_PLATFORM=`ls ${ANDROID_NDK_ROOT}/platforms/ | sed 's/android-//' | sort -gr | head -1`
+  APP_PLATFORM="android-${APP_PLATFORM}"
+  echo "$F: APP_PLATFORM not specified, using ${APP_PLATFORM}"
+fi
+
+if test "x$TARGET_ABI" = "x"; then
+  TARGET_ABI="armeabi"
+  echo "$F: TARGET_ABI not specified, using ${TARGET_ABI}"
+fi
+
+if test "$1" = "--use-ndk-cflags"; then
+  shift
+  ADD_CFLAGS="1"
+  if test "x${IGNORE_CFLAGS}" = "x"; then
+    IGNORE_CFLAGS="\-M\|\-f*stack\|\-f*alias"
+  fi
+  for i in `${ANDROID_NDK_ROOT}/ndk-build -n -C ${ANDROID_NDK_ROOT}/samples/hello-jni NDK_LOG=1 APP_PLATFORM=${APP_PLATFORM} APP_ABI=${TARGET_ABI}`; do
+    if test "x${NDK_CXX}" != "x" -a "$i" = "-o"; then break; fi
+
+    # Parse NDK CXXFLAGS
+    if test "x${NDK_CXX}" != "x" -a "x`echo $i|grep 'hello-jni'`" = "x"; then
+      if test "x`echo $i|grep '\-\-sysroot='`" != "x"; then
+        ANDROID_SYSROOT=`echo $i|sed 's/--sysroot=//'`;
+      fi
+      NDK_CXXFLAGS="${NDK_CXXFLAGS} $i"
+    fi
+
+    # Parse NDK CFLAGS
+    if test "x${NDK_CC}" != "x" -a "x`echo $i|grep 'hello-jni'`" = "x" -a "${ADD_CFLAGS}" = "1"; then
+      if test "$i" = "-c"; then ADD_CFLAGS="0"; else
+        if test "x`echo $i|grep ${IGNORE_CFLAGS}`" = "x"; then
+          NDK_CFLAGS="${NDK_CFLAGS} $i"
+        fi
+      fi
+    fi
+
+    # Find gcc toolchain
+    if test "x${NDK_CC}" = "x" -a "x`echo $i | grep 'gcc'`" != "x"; then
+      NDK_CC=$i
+    fi
+    # Find g++ toolchain
+    if test "x`echo $i | grep 'g++'`" != "x"; then
+      NDK_CXX=$i
+    fi
+  done
+
+  export CC="${NDK_CC}"
+  export CXX="${NDK_CXX}"
+  export AR=`echo ${NDK_CXX}|sed 's/-g++/-ar/'`;
+  export RANLIB=`echo ${NDK_CXX}|sed 's/-g++/-ranlib/'`;
+
+  export LDFLAGS="${LDFLAGS} -nostdlib -L${ANDROID_SYSROOT}/usr/lib/"
+  export LIBS="${LIBS} -lc -lgcc"
+  export CFLAGS="${NDK_CFLAGS} ${CFLAGS}"
+  export CPPFLAGS="${CFLAGS}"
+  export CXXFLAGS="${NDK_CXXFLAGS}"
+
+else
+
+  ANDROID_TC_VER=`ls -d ${ANDROID_NDK_ROOT}/toolchains/${TC_DIR}-* | sed 's/clang/0/' | sort -gr | head -1`
+  ANDROID_TC=`ls -d ${ANDROID_TC_VER}/prebuilt/* | grep -v gdbserver | head -1`
+  if test ! -d ${ANDROID_TC}; then
+    echo "$F error: unable to find directory ${ANDROID_TC} in Android NDK"
+    exit 1
+  fi
+
+  export ANDROID_SYSROOT="${ANDROID_NDK_ROOT}/platforms/${APP_PLATFORM}/arch-arm"
+  if test ! -d ${ANDROID_SYSROOT}; then
+    echo "$F error: unable to find sysroot dir ${ANDROID_SYSROOT} in Android NDK"
+    exit 1
+  fi
+
+  export CC="${ANDROID_TC}/bin/${TARGET_HOST}-gcc"
+  export CXX="${ANDROID_TC}/bin/${TARGET_HOST}-g++"
+  export AR="${ANDROID_TC}/bin/${TARGET_HOST}-ar"
+  export RANLIB="${ANDROID_TC}/bin/${TARGET_HOST}-ranlib"
+
+  export LDFLAGS="${LDFLAGS} -nostdlib -L${ANDROID_SYSROOT}/usr/lib/"
+  export LIBS="${LIBS} -lc -lgcc"
+  export CFLAGS="${CFLAGS} -I${ANDROID_SYSROOT}/usr/include"
+  export CPPFLAGS="${CFLAGS}"
+  export CXXFLAGS="${CXXFLAGS} -shared --sysroot=${ANDROID_SYSROOT}"
+
+fi
+
+# Print settings
+if test "1" = "1"; then
+  echo "$F: calling ./configure with env vars:"
+  echo " CC = ${CC}"
+  echo " CXX = ${CXX}"
+  echo " CFLAGS = ${CFLAGS}"
+  echo " CXXFLAGS = ${CXXFLAGS}"
+  echo " LDFLAGS = ${LDFLAGS}"
+  echo " LIBS = ${LIBS}"
+  echo " AR = ${AR}"
+  echo " RANLIB = ${RANLIB}"
+fi
+
+./configure --host=${TARGET_HOST} --disable-video $*
