हो सकता है कि आपको कुछ ऐसा मिला हो जिससे आप अभी खुश हैं लेकिन मैंने यूनीसन का एक बाइनरी संकलित किया है जो एंड्रॉइड पर काम करता है - यह संभव है कि आप जिस हैंड-लहराते हुए निर्देश के बारे में बात कर रहे हैं, उसका उपयोग करना संभव हो - मैंने उन्हें ubub 12.10 के भीतर लिनक्स स्रोत को संकलित करने के लिए उपयोग किया है। एंड्रॉइड NDK का उपयोग करना और कोड में कुछ फेरबदल के साथ यह अब काम कर रहा है। Https://sites.google.com/site/keigoattic/ocaml-on-android पर दिए गए निर्देशों का पालन करें और फिर आपको कुछ चीजें करने की आवश्यकता होगी। यूनिसन स्रोत में pty.c नामक एक फाइल है - निम्नलिखित अनुभाग खोजें:
// openpty
#if defined(__linux)
#include <pty.h>
/*#define HAS_OPENPTY 1*/
#endif
और define HAS_OPENPTY 1
दिखाया गया है। आपको ubase / use.ml खोलने और संपादित करने की भी आवश्यकता है:
let homeDir () =
System.fspathFromString "/Your path here"
यहाँ से टिप्पणी करें:
(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 *))
...यहाँ तक!
फिर आपको 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
और कमेंट करके # CLIBS+=-cclib -lutil
बताये।
और जहां तक मुझे याद है कि सभी ने काम किया। एक बार संकलित किया गया दूसरा चरण आपके एंड्रॉइड सिस्टम विभाजन को लिखने योग्य के रूप में माउंट करने और यूनिसन / सिस्टम फ़ोल्डर में कॉपी करने के लिए है जहां सभी शेल कमांड हैं।
आशा है कि किसी के लिए उपयोगी है ... मैं इसे संकलित हो रही नींद का एक बहुत कुछ खो दिया है।