আপনি এখন খুশি এমন কিছু খুঁজে পেয়েছেন তবে আমি অ্যান্ড্রয়েডে কাজ করে এমন একটি বাইনারি সংকলন করেছি - আপনি যে হাত বোলা নির্দেশের কথা বলছেন তা ব্যবহার করে সম্ভব - আমি ওবুন্টু ১২.১০ এর মধ্যে লিনাক্স উত্সকে ক্রস-সংকলন করতে ব্যবহার করেছি অ্যান্ড্রয়েড এনডিকে ব্যবহার করে এবং কোডটিতে কয়েকটি পরিবর্তন সহ এখন এটি কাজ করছে। 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
প্রদর্শিত হিসাবে মন্তব্য আউট । আপনাকে ইউবেস / ইউজার.এমএল ও সম্পাদনা করতে হবে:
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 *))
...এখানে!
তারপরে আপনাকে মেকফিল.ওক্যামেল সম্পাদনা করতে হবে
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
দেখানো মত মন্তব্য করুন ।
এবং যতদূর আমি মনে করতে পারি যে সমস্ত কাজ করেছে। একবার সঙ্কলিত অন্য পদক্ষেপটি হ'ল আপনার অ্যান্ড্রয়েড সিস্টেম পার্টিশনটি লিখনযোগ্য হিসাবে মাউন্ট করা এবং / সিস্টেম ফোল্ডারে যেখানে বাকী সমস্ত শেল কমান্ড রয়েছে সেখানে একত্রিতকরণ করা।
আশা করি এটি কারওর পক্ষে সহায়ক ... এটি সংকলিত হয়ে আমি প্রচুর ঘুম হারিয়েছি।