Anda mungkin telah menemukan sesuatu yang Anda sukai sekarang, tetapi saya telah menyusun binary of unison yang berfungsi di android - dimungkinkan menggunakan instruksi melambaikan tangan yang Anda bicarakan - Saya menggunakannya untuk melakukan kompilasi silang sumber linux di dalam ubuntu 12.10 menggunakan NDK android dan dengan beberapa perubahan pada kode itu sekarang berfungsi. Ikuti instruksi di https://sites.google.com/site/keigoattic/ocaml-on-android dan kemudian Anda perlu melakukan beberapa hal. Ada file bernama pty.c di sumber serentak - temukan bagian berikut:
// openpty
#if defined(__linux)
#include <pty.h>
/*#define HAS_OPENPTY 1*/
#endif
dan komentar define HAS_OPENPTY 1
seperti yang ditunjukkan. Anda juga perlu membuka ubase / util.ml dan mengedit:
let homeDir () =
System.fspathFromString "/Your path here"
Komentar dari sini:
(if (osType = `Unix) || isCygwin then
safeGetenv "HOME"
else if osType = `Win32 then
(*We don't want the behavior of Unison to depends on whether it is run
from a Cygwin shell (where HOME is set) or in any other way (where
HOME is usually not set)
try System.getenv "HOME" (* Windows 9x with Cygwin HOME set *)
with Not_found ->
*)
try System.getenv "USERPROFILE" (* Windows NT/2K standard *)
with Not_found ->
try System.getenv "UNISON" (* Use UNISON dir if it is set *)
with Not_found ->
"c:/" (* Default *)
else
assert false (* osType can't be anything else *))
... ke sini!
Maka Anda juga harus mengedit Makefile.Ocaml
CWD=$(shell pwd)
EXEC_EXT=
WINOBJS=
SYSTEM=generic
# openpty is in the libutil library
ifneq ($(OSARCH),solaris)
ifneq ($(OSARCH),osx)
# CLIBS+=-cclib -lutil
endif
endif
buildexecutable::
@echo Building for Unix
endif
endif
Dan berkomentar # CLIBS+=-cclib -lutil
seperti yang ditunjukkan.
Dan sejauh yang saya ingat itu semua berhasil. Langkah lain yang pernah dikompilasi adalah me-mount partisi sistem android Anda sebagai dapat ditulis dan salin bersamaan ke folder / system di mana semua perintah shell lainnya berada.
Semoga itu bisa membantu seseorang ... Saya kehilangan banyak waktu tidur karena dikompilasi.