トップ
新規
単語検索
ヘルプ
ocaml-android
をテンプレートにして作成
開始行:
#ref(ocaml3.PNG);
([[OCaml toplevel on Android:https://market.android.com/d...
#contents
* OCaml トップレベル on Android ソース [#u7698128]
http://bitbucket.org/keigoi/ocaml-toplevel-android/
- 下の OCaml on Android が必要
*O'Caml on Android 3.12 版 [#f3412331]
- NO WARRANTY - 無保証
** バグ [#u11d94ce]
- ネイティブの実行形式を作成できない(共有ライブラリなら...
-- そのうちパッチを更新します
** このビルドでできること [#zd6c4526]
- Androidネイティブの実行形式を生成できる
-- ただし、Androidアプリ(.apk)からの呼び出しは(rootedでな...
-- Androidのターミナル (adb shellやTerminal Emulatorなど)...
-- たとえば ocamlトップレベルが adb shellから起動できる(...
- .soファイルを生成できる。やり方は普通のOCamlと同じ。 [[...
-- 適切なスタブを用意すれば AndroidアプリからOCamlコード...
** パッチのダウンロード [#g0fa744d]
- OCaml 3.12.1 / Android NDK r7用パッチ
#ref(ocaml-android-3.12.1-ndk_r7.patch);
** 準備 [#x444edaa]
+ [[Android NDK r7:http://developer.android.com/sdk/ndk/i...
+ ''重要'' stdlib.h から #include<memory.h> の行を削除す...
** ビルド [#x492e32f]
+ ocaml-3.12.1をダウンロードし、ホストのocamlrunとocamlya...
-- 32bit版のビルド方法は http://caml.inria.fr/pub/distrib...
tar jxf ocaml-3.12.1.tar.bz2
mv ocaml-3.12.1 ocaml-host
cd ocaml-host
./configure -cc "gcc -m32" -as "as -arch i386" -aspp "gc...
pushd . && cd byterun && make all && cp ocamlrun ../.. &...
+ 別のocaml-3.12.1のツリーを展開し、パッチをあてる
tar jxf ocaml-3.12.1.tar.bz2
mv ocaml-3.12.1 ocaml-target
cd ocaml-target
patch -p1 <../ocaml-android-3.12.1.diff
+ Makefileを修正する
vi config/Makefile
+ ターゲットのocamlrunとocamlyaccをビルドして、退避させ、...
pushd . && cd byterun && make all && mv ocamlrun ocamlru...
cp ../ocamlrun byterun/ && cp ../ocamlyacc yacc/
+ makeする (configure''してはいけない'')
make world
make opt
** インストール [#f5f0cefd]
make install
** テスト [#c4ef61d9]
- ここでは /data/local/tmp/ocaml に置いて起動を確認するが...
adb shell mkdir /data/local/tmp/ocaml
adb push byterun/ocamlrun.target /data/local/tmp/ocaml
adb push ocaml /data/local/tmp/ocaml
for FILE in stdlib/*.cm[ia]; do adb push $FILE /data/loc...
- 実行してみる
adb shell
cd /data/local/tmp/ocaml
./ocamlrun.target ./ocaml
Objective Caml version 3.12.1
# 1. +. 1.;;
- : float = 2.
#
* 履歴 [#secdfdb6]
- ocamloptで生成したバイナリが動作しない不具合を修正(MKEX...
- 共有ライブラリが一応ビルドできるようになった (2010/12/8...
- OCaml 3.12.1 / Android NDK r7 に対応 (2012/2/3), [[unis...
終了行:
#ref(ocaml3.PNG);
([[OCaml toplevel on Android:https://market.android.com/d...
#contents
* OCaml トップレベル on Android ソース [#u7698128]
http://bitbucket.org/keigoi/ocaml-toplevel-android/
- 下の OCaml on Android が必要
*O'Caml on Android 3.12 版 [#f3412331]
- NO WARRANTY - 無保証
** バグ [#u11d94ce]
- ネイティブの実行形式を作成できない(共有ライブラリなら...
-- そのうちパッチを更新します
** このビルドでできること [#zd6c4526]
- Androidネイティブの実行形式を生成できる
-- ただし、Androidアプリ(.apk)からの呼び出しは(rootedでな...
-- Androidのターミナル (adb shellやTerminal Emulatorなど)...
-- たとえば ocamlトップレベルが adb shellから起動できる(...
- .soファイルを生成できる。やり方は普通のOCamlと同じ。 [[...
-- 適切なスタブを用意すれば AndroidアプリからOCamlコード...
** パッチのダウンロード [#g0fa744d]
- OCaml 3.12.1 / Android NDK r7用パッチ
#ref(ocaml-android-3.12.1-ndk_r7.patch);
** 準備 [#x444edaa]
+ [[Android NDK r7:http://developer.android.com/sdk/ndk/i...
+ ''重要'' stdlib.h から #include<memory.h> の行を削除す...
** ビルド [#x492e32f]
+ ocaml-3.12.1をダウンロードし、ホストのocamlrunとocamlya...
-- 32bit版のビルド方法は http://caml.inria.fr/pub/distrib...
tar jxf ocaml-3.12.1.tar.bz2
mv ocaml-3.12.1 ocaml-host
cd ocaml-host
./configure -cc "gcc -m32" -as "as -arch i386" -aspp "gc...
pushd . && cd byterun && make all && cp ocamlrun ../.. &...
+ 別のocaml-3.12.1のツリーを展開し、パッチをあてる
tar jxf ocaml-3.12.1.tar.bz2
mv ocaml-3.12.1 ocaml-target
cd ocaml-target
patch -p1 <../ocaml-android-3.12.1.diff
+ Makefileを修正する
vi config/Makefile
+ ターゲットのocamlrunとocamlyaccをビルドして、退避させ、...
pushd . && cd byterun && make all && mv ocamlrun ocamlru...
cp ../ocamlrun byterun/ && cp ../ocamlyacc yacc/
+ makeする (configure''してはいけない'')
make world
make opt
** インストール [#f5f0cefd]
make install
** テスト [#c4ef61d9]
- ここでは /data/local/tmp/ocaml に置いて起動を確認するが...
adb shell mkdir /data/local/tmp/ocaml
adb push byterun/ocamlrun.target /data/local/tmp/ocaml
adb push ocaml /data/local/tmp/ocaml
for FILE in stdlib/*.cm[ia]; do adb push $FILE /data/loc...
- 実行してみる
adb shell
cd /data/local/tmp/ocaml
./ocamlrun.target ./ocaml
Objective Caml version 3.12.1
# 1. +. 1.;;
- : float = 2.
#
* 履歴 [#secdfdb6]
- ocamloptで生成したバイナリが動作しない不具合を修正(MKEX...
- 共有ライブラリが一応ビルドできるようになった (2010/12/8...
- OCaml 3.12.1 / Android NDK r7 に対応 (2012/2/3), [[unis...
ページ名: