Compare commits

...

8 Commits

Author SHA1 Message Date
163bc2ce58 only build router once 2014-02-27 02:58:59 +00:00
97f52f8139 remove res/raw/license_fatcowicons_txt in the clean target 2014-02-27 01:45:00 +00:00
0094cc5637 Only build the router.....when building (ticket #1214) 2014-02-27 01:31:52 +00:00
01c994e7b2 fix tag 2014-02-27 01:30:07 +00:00
b60ae00fd7 19 isn't a valid target anymore; it's now android-19 2014-02-26 23:50:28 +00:00
zzz
a91261f5ca JNI Build:
- Update JNI build script to use GCC 4.6, required for
   NDK r9b and higher (ticket #1202)
 - Add more checks in build script, to fail quicker on problems
 - Move default NDK build location up one directory level
 - Fix setting JAVA_HOME
 - Fixes for running script in the directory

 I did not replace the checked-in 4.4.3 libjbigi.so with
 the new 4.6 version, as there's no need.
 The 4.6 version will be tested by nextloop in the F-Droid build.
2014-02-23 16:40:47 +00:00
d47bdf85d2 New translations 2014-02-07 04:30:04 +00:00
c2a33541b3 Updated translations 2014-02-07 04:28:55 +00:00
8 changed files with 267 additions and 52 deletions

View File

@ -60,7 +60,7 @@ Instructions:
# Create the android 4.4 (API 19) virtual device
# (don't make a custom hardware profile)
../android-sdk-linux/tools/android create avd --name i2p --target 19
../android-sdk-linux/tools/android create avd --name i2p --target android-19
# then run the emulator:
# This may take a LONG time the first time (half an hour or more)...

View File

@ -364,17 +364,6 @@
<property name="version.name" value="${my.version.name}" />
<echo message="version.code '${version.code}', 'version.name '${version.name}', '${my.version.name}'" />
<!-- If we are missing any jars, we _MUST_ make them ahead of time so
the build does not fail! _HOWEVER_ we must only do this if we are
_BUILDING_! Apache Ant does not allow us to know what target we are
about to run, because the authors believe it is 'evil' and other
nonsense. So for now (so sorry!) we force build it ahead of time
always, no matter what target was selected, until some better way
of resolving this issue apears.
-->
<ant dir="routerjars" inheritall="false" useNativeBasedir="true" >
<target name="buildrouter" />
</ant>
<!--
================================================================================
New I2P rules
@ -394,12 +383,9 @@
<!-- overrides of those in main_rules.xml -->
<target name="-pre-build" depends="copy-i2p-resources" >
<!-- aapt messes up when resources are added or deleted, just build every time
<delete dir="${gen.absolute.dir}/net" verbose="${verbose}" />
-->
<!-- screw it, do the classes too, until I add the depend class
<delete dir="${out.absolute.dir}/classes/net" verbose="${verbose}" />
-->
<ant dir="routerjars" inheritall="false" useNativeBasedir="true" >
<target name="buildrouter" />
</ant>
</target>
<!--
@ -423,17 +409,8 @@
<copy file="LICENSE.txt" tofile="res/raw/license_app_txt" />
<copy file="licenses/LICENSE-Apache2.0.txt" tofile="res/raw/license_apache20_txt" />
<copy file="${i2pbase}/installer/resources/themes/console/images/i2plogo.png" todir="res/drawable/" />
<!--
No, no, no. Wrong, wrong, wrong. Static web sources should be in
the assets directory.
<copy file="${i2pbase}/installer/resources/themes/console/images/outbound.png" todir="res/drawable/" />
<copy file="${i2pbase}/installer/resources/themes/console/images/inbound.png" todir="res/drawable/" />
<copy file="${i2pbase}/installer/resources/themes/console/light/images/header.png" todir="res/drawable/" />
<copy file="${i2pbase}/installer/resources/themes/console/light/console.css" tofile="res/drawable/console_css" />
-->
<!-- Static web sources should be in the assets directory. -->
<copy file="${i2pbase}/installer/resources/themes/console/images/i2plogo.png" todir="assets/themes/console/images/" />
<copy file="${i2pbase}/installer/resources/themes/console/images/outbound.png" todir="assets/themes/console/images/" />
<copy file="${i2pbase}/installer/resources/themes/console/images/inbound.png" todir="assets/themes/console/images/" />
@ -493,13 +470,14 @@
<delete file="res/raw/license_gplv2_txt" />
<delete file="res/raw/license_gplv3_txt" />
<delete file="res/raw/license_lgplv3_txt" />
<delete file="res/raw/license_fatcowicons_txt" />
<delete file="res/raw/certificates_zip" />
</target>
<target name="distclean" depends="clean">
<ant dir="routerjars" inheritall="false" useNativeBasedir="true" >
<target name="distclean" />
</ant>
<ant dir="routerjars" inheritall="false" useNativeBasedir="true" >
<target name="distclean" />
</ant>
<delete file="scripts/build.number" verbose="${verbose}" />
<delete file="scripts/version.properties" verbose="${verbose}" />
<delete file="AndroidManifest.xml" verbose="${verbose}" />

62
res/values-ko/strings.xml Normal file
View File

@ -0,0 +1,62 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="app_name">I2P</string>
<string name="welcome_new_install">I2P에 환영합니다! 이 앱은 알파 소프트웨어이며 강력한 익명성을 제공하지 않습니다. 릴리즈 노트나 라이센스 정보를 참조하세요.</string>
<string name="welcome_new_version">새 버전이 설치되었습니다. 릴리즈 노트를 읽어주세요. 버전:</string>
<string name="label_home">I2P 홈</string>
<string name="label_statistics">통계</string>
<string name="label_main_controls">메인 컨트롤</string>
<string name="label_tools">I2P 도구</string>
<string name="label_addressbook">주소록</string>
<string name="label_logs">로그</string>
<string name="label_error_logs">오류 로그</string>
<string name="label_info_and_pages">정보와 페이지</string>
<string name="label_welcome_page">환영 페이지</string>
<string name="label_news">뉴스</string>
<string name="label_news_status">최신 I2P 뉴스</string>
<string name="label_peers_status">피어</string>
<string name="label_release_notes">릴리즈 노트</string>
<string name="label_licenses">라이센스</string>
<string name="label_nonanon_info">비 익명 정보</string>
<string name="label_website_nonanon">웹 사이트 (비익명)</string>
<string name="label_faq_nonanon">FAQ (비익명)</string>
<string name="action_add">추가</string>
<string name="action_router_start">라우터 시작</string>
<string name="action_router_stop">라우터 정지</string>
<string name="action_reload">다시 읽기</string>
<string name="menu_settings">설정</string>
<string name="settings_enable">활성화</string>
<string name="settings_label_subscriptions">I2P 주소록</string>
<string name="settings_desc_subscriptions">구독 URL들</string>
<string name="settings_label_bandwidth">대역폭과 네트워크</string>
<string name="settings_label_bw_inbound">수신 속도</string>
<string name="settings_desc_bw_inbound">최대 수신 속도</string>
<string name="settings_label_bw_outbound">송신 속도</string>
<string name="settings_desc_bw_outbound">최대 송신 속도</string>
<string name="settings_label_hiddenMode">참가</string>
<string name="settings_desc_hiddenMode">히든 모드 끄기</string>
<string name="settings_label_maxPartTunnels">최대 참가 터널 수</string>
<string name="settings_desc_maxPartTunnels">최대로 참가할 터널 수 (기본값=20)</string>
<string name="settings_dialog_maxPartTunnels">최대로 참가할 터널 수</string>
<string name="settings_label_sharePercent">공유 비율</string>
<string name="settings_desc_sharePercent">공유할 대역폭의 비율 (기본=80)</string>
<string name="settings_dialog_sharePercent">공유할 대역폭의 비율</string>
<string name="settings_desc_upnp">자동으로 방화벽 포트 열기</string>
<string name="settings_label_advanced">고급</string>
<string name="settings_label_transports">트랜스포트</string>
<string name="settings_label_maxConns">최대 접속 수</string>
<string name="settings_label_i2cp">I2CP 인터페이스</string>
<string name="settings_desc_i2cp">7654 포트로 수신</string>
<string name="settings_label_exploratory_pool">예비 풀</string>
<string name="settings_desc_exploratory_pool">터널 파라미터</string>
<string name="settings_label_expl_inbound">수신 터널</string>
<string name="settings_label_expl_outbound">송신 터널</string>
<string name="settings_label_expl_length">길이</string>
<string name="settings_desc_expl_length">사용하는 홉의 수</string>
<string name="settings_label_expl_lengthVariance">홉 분산</string>
<string name="settings_desc_expl_lengthVariance">랜덤으로 추가할 홉의 수</string>
<string name="settings_label_expl_quantity">수량</string>
<string name="settings_desc_expl_quantity">터널의 수</string>
<string name="settings_label_expl_backupQuantity">백업된 수량</string>
<string name="settings_desc_expl_backupQuantity">터널 백업의 수</string>
</resources>

62
res/values-nl/strings.xml Normal file
View File

@ -0,0 +1,62 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="app_name">I2P</string>
<string name="welcome_new_install">Welkom op I2P! Deze app heeft de ALPHA status en het biedt geen sterke anonimiteit. Lees de releaseopmerkingen en licentie-informatie.</string>
<string name="welcome_new_version">Nieuwe versie geïnstalleerd. Lees de releaseopmerkingen. Versie:</string>
<string name="label_home">I2P-startpagina</string>
<string name="label_statistics">Statistieken</string>
<string name="label_main_controls">Belangrijkste functies</string>
<string name="label_tools">I2P-hulpmiddelen</string>
<string name="label_addressbook">Adresboek</string>
<string name="label_logs">Logboeken</string>
<string name="label_error_logs">Foutenlogs</string>
<string name="label_info_and_pages">Informatie en pagina\'s</string>
<string name="label_welcome_page">Welkomspagina</string>
<string name="label_news">Nieuws</string>
<string name="label_news_status">Laatste I2P-nieuws</string>
<string name="label_peers_status">Peers</string>
<string name="label_release_notes">Versieopmerkingen</string>
<string name="label_licenses">Licenties</string>
<string name="label_nonanon_info">Niet-anonieme informatie</string>
<string name="label_website_nonanon">Website (niet anoniem)</string>
<string name="label_faq_nonanon">Veelgestelde vragen (niet anoniem)</string>
<string name="action_add">Toevoegen</string>
<string name="action_router_start">Router starten</string>
<string name="action_router_stop">Router stoppen</string>
<string name="action_reload">Opnieuw laden</string>
<string name="menu_settings">Instellingen</string>
<string name="settings_enable">Inschakelen</string>
<string name="settings_label_subscriptions">I2P-adresboek</string>
<string name="settings_desc_subscriptions">URL\'s van abbonementen</string>
<string name="settings_label_bandwidth">Bandbreedte en netwerk</string>
<string name="settings_label_bw_inbound">Binnenkomende snelheid</string>
<string name="settings_desc_bw_inbound">Maximale binnenkomende snelheid</string>
<string name="settings_label_bw_outbound">Uitgaande snelheid</string>
<string name="settings_desc_bw_outbound">Maximale uitgaande snelheid</string>
<string name="settings_label_hiddenMode">Deelname</string>
<string name="settings_desc_hiddenMode">Verborgen modus uitschakelen</string>
<string name="settings_label_maxPartTunnels">Maximale deelnemende tunnels</string>
<string name="settings_desc_maxPartTunnels">Maximaal aantal tunnels om aan deel te nemen (standaard=20)</string>
<string name="settings_dialog_maxPartTunnels">Maximaal aantal tunnels om aan deel te nemen</string>
<string name="settings_label_sharePercent">Percentage delen</string>
<string name="settings_desc_sharePercent">Het te delen percentage van de bandbreedte (standaard=80)</string>
<string name="settings_dialog_sharePercent">Het te delen percentage van de bandbreedte</string>
<string name="settings_desc_upnp">Automatisch firewall-poorten openen</string>
<string name="settings_label_advanced">Geavanceerd</string>
<string name="settings_label_transports">Transporten</string>
<string name="settings_label_maxConns">Maximale connecties</string>
<string name="settings_label_i2cp">I2CP-interface</string>
<string name="settings_desc_i2cp">Luister op poort 7654</string>
<string name="settings_label_exploratory_pool">Verkennende-pool</string>
<string name="settings_desc_exploratory_pool">Tunnelparameters</string>
<string name="settings_label_expl_inbound">Inkomende tunnels</string>
<string name="settings_label_expl_outbound">Uitgaande tunnels</string>
<string name="settings_label_expl_length">Lengte</string>
<string name="settings_desc_expl_length">Hoeveel \'hops\' te gebruiken</string>
<string name="settings_label_expl_lengthVariance">\'Hop\'-variantie</string>
<string name="settings_desc_expl_lengthVariance">Hoeveel willekeurig toe te voegen \'hops\'</string>
<string name="settings_label_expl_quantity">Hoeveelheid</string>
<string name="settings_desc_expl_quantity">Aantal tunnels</string>
<string name="settings_label_expl_backupQuantity">Back-up hoeveelheid</string>
<string name="settings_desc_expl_backupQuantity">Hoeveel tunnel back-ups</string>
</resources>

62
res/values-pl/strings.xml Normal file
View File

@ -0,0 +1,62 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="app_name">I2P</string>
<string name="welcome_new_install">Witamy w I2P! Ta aplikacja jest w fazie ALPHA i nie zapewnia mocnej anonimowości. Zalecamy zapoznanie się z listą zmian i licencją. </string>
<string name="welcome_new_version">Nowa wersja zainstalowana. Przeczytaj listę zmian. Wersja:</string>
<string name="label_home">I2P Home</string>
<string name="label_statistics">Statystyki</string>
<string name="label_main_controls">Główna Konsola</string>
<string name="label_tools">Narzędzia I2P</string>
<string name="label_addressbook">Książka adresowa</string>
<string name="label_logs">Logi</string>
<string name="label_error_logs">Rejestr błędów</string>
<string name="label_info_and_pages">Informacje i strony</string>
<string name="label_welcome_page">Strona Powitalna</string>
<string name="label_news">Wiadomości</string>
<string name="label_news_status">Najnowsze wiadomości o I2P</string>
<string name="label_peers_status">Peery</string>
<string name="label_release_notes">Informacje o wydaniu</string>
<string name="label_licenses">Licencje</string>
<string name="label_nonanon_info">Nie Anonimowe Informacje</string>
<string name="label_website_nonanon">Strona (nie anonimowa)</string>
<string name="label_faq_nonanon">FAQ (nie anonimowa)</string>
<string name="action_add">Dodaj</string>
<string name="action_router_start">Uruchom Router</string>
<string name="action_router_stop">Zatrzymaj Router</string>
<string name="action_reload">Przeładuj</string>
<string name="menu_settings">Ustawienia</string>
<string name="settings_enable">Włącz</string>
<string name="settings_label_subscriptions">Książka adresowa I2P</string>
<string name="settings_desc_subscriptions">Adresy URL subskrypcji</string>
<string name="settings_label_bandwidth">Przepustowość i Sieć</string>
<string name="settings_label_bw_inbound">Prędkość przychodząca</string>
<string name="settings_desc_bw_inbound">Maksymalna prędkość przychodząca</string>
<string name="settings_label_bw_outbound">Prędkość wychodząca</string>
<string name="settings_desc_bw_outbound">Maksymalna prędkość wychodząca</string>
<string name="settings_label_hiddenMode">Uczestnictwo</string>
<string name="settings_desc_hiddenMode">Wyłącz tryp ukryty</string>
<string name="settings_label_maxPartTunnels">Maksymalna liczba uczestniczących tuneli</string>
<string name="settings_desc_maxPartTunnels">Maksaymalna liczba tuneli uczestniczących w (domyślne=20)</string>
<string name="settings_dialog_maxPartTunnels">Maksymalna liczba tuneli uczestniczących w</string>
<string name="settings_label_sharePercent">Udział procentowy</string>
<string name="settings_desc_sharePercent">Udział procentowy przepustowości do podzielenia (domyślne=80)</string>
<string name="settings_dialog_sharePercent">Procent przepustowości do podziału</string>
<string name="settings_desc_upnp">Otwórz porty firewall\'a automatycznie</string>
<string name="settings_label_advanced">Zaawansowane</string>
<string name="settings_label_transports">Transporty</string>
<string name="settings_label_maxConns">Maksymalna liczba połączeń</string>
<string name="settings_label_i2cp">Interfejs I2CP</string>
<string name="settings_desc_i2cp">Słuchaj na porcie 7654</string>
<string name="settings_label_exploratory_pool">Pole rozpoznawcze</string>
<string name="settings_desc_exploratory_pool">Parametry tuneli</string>
<string name="settings_label_expl_inbound">Tunele przychodzące</string>
<string name="settings_label_expl_outbound">Tunele wychodzące</string>
<string name="settings_label_expl_length">Długość</string>
<string name="settings_desc_expl_length">Ile użyć skoków</string>
<string name="settings_label_expl_lengthVariance">Wariancje skoków</string>
<string name="settings_desc_expl_lengthVariance">Ile skoków losowych dodać</string>
<string name="settings_label_expl_quantity">Ilość</string>
<string name="settings_desc_expl_quantity">Ile tunelów</string>
<string name="settings_label_expl_backupQuantity">Ilość kopii zapasowych</string>
<string name="settings_desc_expl_backupQuantity">Ilość kopii zapasowych tuneli</string>
</resources>

View File

@ -57,4 +57,6 @@
<string name="settings_desc_expl_lengthVariance">Quantos saltos adicionar aleatoriamente</string>
<string name="settings_label_expl_quantity">Quantidade</string>
<string name="settings_desc_expl_quantity">Quantos túneis</string>
<string name="settings_label_expl_backupQuantity">Quantidade tuneis de reserva</string>
<string name="settings_desc_expl_backupQuantity">Quantos túneis de reserva</string>
</resources>

View File

@ -38,14 +38,28 @@
<!-- new rules -->
<target name="buildrouter" depends="-dirs" >
<!-- build router and core -->
<ant dir="${i2pbase}" inheritall="false" useNativeBasedir="true" >
<target name="buildRouter" />
<target name="buildI2PTunnelJar" />
<target name="buildAddressbook" />
<target name="buildBOB" />
</ant>
<available property="have.router" file="${i2pbase}/build/router.jar" />
<available property="have.bob" file="${i2pbase}/apps/BOB/dist/BOB.jar" />
<available property="have.i2ptunnel" file="${i2pbase}/apps/i2ptunnel/java/build/i2ptunnel.jar" />
<available property="have.addressbook" file="${i2pbase}/apps/addressbook/build" />
<target name="buildRouter" unless="have.router">
<ant dir="${i2pbase}" inheritall="false" useNativeBasedir="true" target="buildRouter" />
</target>
<target name="buildI2PTunnelJar" unless="have.i2ptunnel">
<ant dir="${i2pbase}" inheritall="false" useNativeBasedir="true" target="buildI2PTunnelJar" />
</target>
<target name="buildAddressbook" unless="have.addressbook">
<ant dir="${i2pbase}" inheritall="false" useNativeBasedir="true" target="buildAddressbook" />
</target>
<target name="buildBOB" unless="have.bob">
<ant dir="${i2pbase}" inheritall="false" useNativeBasedir="true" target="buildBOB" />
</target>
<target name="buildrouter" depends="-dirs, buildRouter, buildI2PTunnelJar, buildAddressbook, buildBOB">
<!-- router -->
<copy file="${i2pbase}/build/router.jar" todir="${jar.libs.dir}" />
@ -61,7 +75,7 @@
<exclude name="net/i2p/util/SecureDirectory.class" />
<exclude name="net/i2p/util/SecureFile.class" />
<exclude name="net/i2p/util/SecureFileOutputStream.class" />
</zipfileset >
</zipfileset>
</jar>
<!-- i2ptunnel -->
@ -70,7 +84,7 @@
<jar destfile="${jar.libs.dir}/i2ptunnel.jar" >
<zipfileset src="${i2pbase}/apps/i2ptunnel/java/build/i2ptunnel.jar" >
<exclude name="net/i2p/i2ptunnel/I2PTunnelGUI.class" />
</zipfileset >
</zipfileset>
</jar>
<!-- addressbook - make a jar, it's a war in the i2p distro -->
@ -91,7 +105,8 @@
<target name="distclean" depends="clean">
<delete dir="${jar.libs.dir}" verbose="${verbose}" />
<delete dir="jni/build/" verbose="${verbose}" />
<delete file="AndroidManifest.xml" verbose="${verbose}" />
<delete file="AndroidManifest.xml" verbose="${verbose}" />
<ant dir="${i2pbase}" target="distclean" />
</target>
</project>

View File

@ -2,6 +2,8 @@
#
# build GMP and libjbigi.so using the Android tools directly
#
# TODO: Get more settings from environment variables set in ../custom-rules.xml
#
# uncomment to skip
# exit 0
@ -31,28 +33,56 @@ then
exit 0
fi
I2PBASE=${1:-../../../i2p.i2p}
I2PBASE=${1:-$THISDIR/../../../i2p.i2p}
#
# Wrong again. We want to be able to not have to update this script
# We want to be able to not have to update this script
# every time a new NDK comes out. We solve this by using readlink with
# a wild card, deglobbing automatically sorts to get the highest revision.
# the dot at the end ensures that it is a directory, and not a file.
#
#export NDK=$(realpath ../../android-ndk-r5b/)
## Simple fix for osx development
if [ `uname -s` = "Darwin" ]; then
export NDK="/Developer/android/ndk/"
else
export NDK="`readlink -n -e $(for last in ../../android-ndk-r*/.; do true; done ; echo $last)`"
NDK_GLOB=$THISDIR/'../../../android-ndk-r*/.'
export NDK="`readlink -n -e $(for last in $NDK_GLOB; do true; done ; echo $last)`"
fi
if [ "$NDK" == "" ]; then
echo "Cannot find NDK in $NDK_GLOB, install it or adjust NDK_GLOB in script"
exit 1
fi
if [ ! -d "$NDK" ]; then
echo "Cannot find NDK in $NDK, install it"
exit 1
fi
#
# API level, must match that in ../AndroidManifest.xml
#
LEVEL=8
ARCH="arm"
export SYSROOT="$NDK/platforms/android-$LEVEL/arch-$ARCH/"
export AABI="arm-linux-androideabi-4.4.3"
if [ ! -d "$SYSROOT" ]; then
echo "Cannot find $SYSROOT in NDK, check for support of level: $LEVEL arch: $ARCH or adjust LEVEL and ARCH in script"
exit 1
fi
#
# 4.6 is the GCC version. GCC 4.4.3 support was removed in NDK r9b.
# Available in r9b:
# arm-linux-androideabi-4.6
# arm-linux-androideabi-4.8
# arm-linux-androideabi-clang3.3
# llvm-3.3
# mipsel-linux-android-4.6
# mipsel-linux-android-4.8
# mipsel-linux-android-clang3.3
# x86-4.6
# x86-4.8
# x86-clang3.3
export AABI="arm-linux-androideabi-4.6"
if [ `uname -s` = "Darwin" ]; then
export SYSTEM="darwin-x86"
elif [ `uname -m` = "x86_64" ]; then
@ -60,8 +90,14 @@ elif [ `uname -m` = "x86_64" ]; then
else
export SYSTEM="linux-x86"
fi
export BINPREFIX="arm-linux-androideabi-"
export CC="$NDK/toolchains/$AABI/prebuilt/$SYSTEM/bin/${BINPREFIX}gcc --sysroot=$SYSROOT"
COMPILER="$NDK/toolchains/$AABI/prebuilt/$SYSTEM/bin/${BINPREFIX}gcc"
if [ ! -f "$COMPILER" ]; then
echo "Cannot find compiler $COMPILER in NDK, check for support of system: $SYSTEM ABI: $AABI or adjust AABI and SYSTEM in script"
exit 1
fi
export CC="$COMPILER --sysroot=$SYSROOT"
# worked without this on 4.3.2, but 5.0.2 couldn't find it
export NM="$NDK/toolchains/$AABI/prebuilt/$SYSTEM/bin/${BINPREFIX}nm"
STRIP="$NDK/toolchains/$AABI/prebuilt/$SYSTEM/bin/${BINPREFIX}strip"
@ -109,9 +145,7 @@ make || exit 1
if [ `uname -s` = "Darwin" ]; then
export JAVA_HOME=$(/usr/libexec/java_home)
else
# FIXME This will not work everywhere (e.g. BSD). Could borrow my
# 'find-java-home' script for this
export JAVA_HOME="$(dirname $(dirname $(realpath $(which javac))))"
[ -z $JAVA_HOME ] && . $I2PBASE/core/c/find-java-home
fi
if [ ! -f "$JAVA_HOME/include/jni.h" ]; then
echo "Cannot find jni.h! Looked in '$JAVA_HOME/include/jni.h'"