| #!/bin/bash - |
| # |
| # Copyright (C) 2004-2012 Savoir-Faire Linux Inc. |
| # |
| # Author: Emeric Vigier <emeric.vigier@savoirfairelinux.com> |
| # |
| # This program is free software; you can redistribute it and/or modify |
| # it under the terms of the GNU General Public License as published by |
| # the Free Software Foundation; either version 3 of the License, or |
| # (at your option) any later version. |
| # |
| # This program is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with this program; if not, write to the Free Software |
| # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
| # |
| # Additional permission under GNU GPL version 3 section 7: |
| # |
| # If you modify this program, or any covered work, by linking or |
| # combining it with the OpenSSL project's OpenSSL library (or a |
| # modified version of that library), containing parts covered by the |
| # terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. |
| # grants you additional permission to convey the resulting work. |
| # Corresponding Source for a non-source form of such a combination |
| # shall include the source code for the parts of OpenSSL used as well |
| # as that of the covered work. |
| # |
| |
| # input: jni/sflphone/daemon/src/dbus/jni_interface.i |
| # output: sflphoneservice_loader.c |
| # callmanager_wrap.cpp |
| # sflphoneservice.java |
| # sflphoneserviceJNI.java |
| # ManagerImpl.java |
| |
| SRCDIR=jni/sflphone/daemon/src |
| NATIVE=client/android |
| NATIVEDIR=$SRCDIR/$NATIVE |
| PACKAGE=com.savoirfairelinux.sflphone.service |
| PACKAGEDIR=src/com/savoirfairelinux/sflphone/service |
| ROOT=`pwd` |
| |
| echo "in $ROOT" |
| |
| echo "Checking that swig is 2.0.6 or later" |
| SWIGVER=`swig -version | \ |
| grep -i "SWIG version" | \ |
| awk '{print $3}'` |
| SWIGVER1=`echo $SWIGVER | \ |
| awk '{split($0, array, ".")} END{print array[1]}'` |
| SWIGVER2=`echo $SWIGVER | \ |
| awk '{split($0, array, ".")} END{print array[2]}'` |
| SWIGVER3=`echo $SWIGVER | \ |
| awk '{split($0, array, ".")} END{print array[3]}'` |
| |
| echo swig-$SWIGVER1.$SWIGVER2.$SWIGVER3 |
| |
| if [[ $SWIGVER1 -ge 2 ]]; then |
| echo "swig version is greater than 2.x" |
| if [[ $SWIGVER1 -gt 2 ]]; then |
| echo "swig version is greater than 3.x" |
| else |
| if [[ $SWIGVER2 -ge 1 ]]; then |
| echo "swig version is greater than 2.1" |
| else |
| echo "swig version is less than 2.1" |
| if [[ $SWIGVER3 -ge 6 ]]; then |
| echo "swig version is greater than 2.0.6" |
| else |
| echo "swig version is less than 2.0.6" |
| echo "exiting..." |
| exit 4 |
| fi |
| fi |
| fi |
| else |
| echo "swig version is less than 2.x" |
| echo "exiting..." |
| exit 3 |
| fi |
| |
| |
| |
| |
| # FIXME |
| echo "Generating callmanager_wrap.cpp..." |
| |
| swig -v -c++ -java \ |
| -package $PACKAGE \ |
| -outdir $PACKAGEDIR \ |
| -o $SRCDIR/client/android/callmanager_wrap.cpp $SRCDIR/client/android/jni_interface.i |
| |
| pushd $SRCDIR |
| echo "in $PWD" |
| |
| echo "Generating sflphoneservice_loader.c..." |
| python client/android/JavaJNI2CJNI_Load.py \ |
| -i $ROOT/$PACKAGEDIR/SFLPhoneserviceJNI.java \ |
| -o $NATIVE/sflphoneservice_loader.c \ |
| -t client/android/sflphoneservice.c.template \ |
| -m SFLPhoneservice \ |
| -p $PACKAGE |
| |
| echo "Appending callmanager_wrap.cpp..." |
| cat $NATIVE/sflphoneservice_loader.c >> client/android/callmanager_wrap.cpp |
| |
| |
| #if [ "" != "$(find -iname sflphoneservice_loader.c)" ]; then |
| # |
| #fi |
| # callmanager_wrap.cpp |
| # callmanager_wrap.cpp |
| # sflphoneservice.java |
| # sflphoneserviceJNI.java |
| # ManagerImpl.java |
| |
| echo -n "in " && popd |
| echo "Done" |
| exit 0 |