Skip to content

Commit

Permalink
Support for Google Android, part 2.
Browse files Browse the repository at this point in the history
git-svn-id: https://gforge.info.ucl.ac.be/svn/mozart@17233 ada56829-ad1f-0410-b00f-83cda6628aec
  • Loading branch information
yjaradin committed Jun 3, 2009
1 parent b33cdfc commit 57eb4b1
Show file tree
Hide file tree
Showing 10 changed files with 590 additions and 0 deletions.
45 changes: 45 additions & 0 deletions misc/Android/README
@@ -0,0 +1,45 @@
To compile Mozart for Android
=============================

1) Download the Android sources in myandroid/
2) Create a directory myandroid/vendor/myvendorid/
3) Create a file myandroid/vendor/myvendorid/Android.mk with the single line:
include $(call first-makefiles-under,$(call my-dir))
4) Create a directory myandroid/vendor/myvendorid/gmp
5) Create a file myandroid/vendor/myvendorid/gmp/Android.mk with the following 9 line:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := libgmp.a
LOCAL_MODULE := libgmp
LOCAL_MODULE_SUFFIX :=.a
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
MOZART_GMP_INC := $(LOCAL_PATH)
include $(BUILD_PREBUILT)
$(warning $(LOCAL_BUILT_MODULE))
6) Download Mozart in myandroid/vendor/myvendorid/mozart
7) Create a directory mybuild/
8) Download Mozart in mybuild/mozart
9) Run "./configure" in mybuild/mozart
10) Copy the following files from mybuild/mozart to myandroid/vendor/myvendorid/mozart:
platform/emulator/atoms.cc
platform/emulator/atoms.hh
platform/emulator/config.h
platform/emulator/instrtab.hh
platform/emulator/libdp/dpMarshalcode.cc
platform/emulator/mod*-if.cc
platform/emulator/opcodes.cc
platform/emulator/opcodes.hh
platform/emulator/picklecode.cc
11)Copy (recursively) the files from mybuild/mozart/misc/Android/platform to myandroid/vendor/myvendorid/mozart/platform
12)Create a directory mybuild/gmp/
13)Download GMP in mybuild/gmp/gmp-<version>
14)Create a directory mybuild/gmp/build/
15)Create a directory mybuild/gmp/install/
16)Download agcc from http://plausible.org/andy/agcc and put it somewhere in your PATH.
17)Run "../gmp-<version>/configure --host=arm-eabi --build=local --disable-fft --disable-shared CC=agcc" in mybuild/gmp/build/
18)Run "make && make DESTDIR=mybuild/gmp/install install" in mybuild/gmp/build/
19)Copy mybuild/gmp/install/usr/local/include/gmp.h to myandroid/vendor/myvendorid/gmp/
20)Copy mybuild/gmp/install/usr/local/lib/libgmp.a to myandroid/vendor/myvendorid/gmp/
21)Run make in myandroid/
After a while, the emulator will be in myandroid/out/target/product/generic/system/bin/ozEmulator
and the boot modules will be in myandroid/out/target/product/generic/system/lib/*.so-android-arm
37 changes: 37 additions & 0 deletions misc/Android/platform/dss/Android.mk
@@ -0,0 +1,37 @@

MOZART_DSS_SRCBSE = base.cc

MOZART_DSS_SRCMSL = msl_timers.cc mslBase.cc \
msl_buffer.cc msl_prioQueues.cc \
msl_crypto.cc msl_dct.cc msgnLayer.cc \
msl_msgContainer.cc msl_dsite.cc msl_comObj.cc \
msl_transObj.cc msl_tcpTransObj.cc \
msl_endRouter.cc msl_interRouter.cc

MOZART_DSS_SRCDSS = dssBase.cc dss_interface.cc dss_msgLayerInterface.cc \
protocols.cc \
coordinator.cc referenceConsistency.cc \
abstractEntityImplementations.cc dss_threads.cc \
protocol_once_only.cc protocol_migratory.cc \
protocol_simple_channel.cc protocol_invalid.cc \
protocol_pilgrim.cc protocol_transient_remote.cc \
protocol_immediate.cc dss_netId.cc protocol_immutable_lazy.cc \
protocol_immutable_eager.cc protocol_sited.cc \
coordinator_stationary.cc coordinator_fwdchain.cc \
dgc.cc dgc_rl2.cc dgc_fwrc.cc \
dgc_rl1.cc dgc_tl.cc dgc_rl_siteHandler.cc

MOZART_DSS_SRCALL = $(MOZART_DSS_SRCBSE) $(MOZART_DSS_SRCMSL) $(MOZART_DSS_SRCDSS)


LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_CPP_EXTENSION := .cc
LOCAL_CPPFLAGS := -g
LOCAL_SRC_FILES := $(MOZART_DSS_SRCALL:%=src/%)
$(warning $(LOCAL_SRC_FILES))
LOCAL_MODULE := libDSS
LOCAL_C_INCLUDES := . $(LOCAL_PATH)/include $(MOZART_GMP_INC)
LOCAL_PRELINK_MODULE := false
LOCAL_STATIC_LIBRARIES := libgmp
include $(BUILD_STATIC_LIBRARY)
4 changes: 4 additions & 0 deletions misc/Android/platform/dss/include/cstdio
@@ -0,0 +1,4 @@
#include <stdio.h>
namespace std {
using ::FILE;
}
4 changes: 4 additions & 0 deletions misc/Android/platform/dss/include/iosfwd
@@ -0,0 +1,4 @@
namespace std {
class istream;
class ostream;
}

0 comments on commit 57eb4b1

Please sign in to comment.