Vous avez peut-être trouvé quelque chose dont vous êtes maintenant satisfait, mais j'ai compilé un binaire d'unisson qui fonctionne sur Android - il est possible d'utiliser les instructions d'agitation dont vous parlez - je les ai utilisées pour compiler de manière croisée la source Linux dans Ubuntu 12.10. en utilisant le NDK Android et avec quelques modifications au code, il fonctionne maintenant. Suivez les instructions sur https://sites.google.com/site/keigoattic/ocaml-on-android et ensuite vous devrez faire quelques choses. Il y a un fichier appelé pty.c dans la source unison - trouvez la section suivante:
// openpty
#if defined(__linux)
#include <pty.h>
/*#define HAS_OPENPTY 1*/
#endif
et commentez define HAS_OPENPTY 1
comme indiqué. Vous devez également ouvrir ubase / util.ml et modifier:
let homeDir () =
System.fspathFromString "/Your path here"
Commentez d'ici:
(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 *))
...Jusqu'ici!
Ensuite, vous devrez également modifier 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
Et commentez # CLIBS+=-cclib -lutil
comme indiqué.
Et autant que je me souvienne, tout a fonctionné. L'autre étape une fois compilée consiste à monter votre partition système Android en écriture et à copier à l'unisson dans le dossier / system où se trouvent toutes les autres commandes du shell.
J'espère que cela sera utile à quelqu'un ... J'ai perdu beaucoup de sommeil à le faire compiler.