summaryrefslogtreecommitdiff
path: root/src/runtime
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2013-09-04 11:56:47 +0000
committerkr.angelov <kr.angelov@gmail.com>2013-09-04 11:56:47 +0000
commit35a98594be9d6c946ffcc3821c8726556da9fc50 (patch)
tree50f2ed48468b2f5dc810aa347e22efb902435dc9 /src/runtime
parentc837f3927e366ccee75d21427cfc741066d5e80d (diff)
added make file for compiling the C runtime for Android. The JIT compiler for Android is temporary disabled
Diffstat (limited to 'src/runtime')
-rw-r--r--src/runtime/android/Android.mk14
-rw-r--r--src/runtime/android/Application.mk2
-rw-r--r--src/runtime/c/pgf/reader.c12
-rw-r--r--src/runtime/java/Makefile3
4 files changed, 31 insertions, 0 deletions
diff --git a/src/runtime/android/Android.mk b/src/runtime/android/Android.mk
new file mode 100644
index 000000000..3933ce767
--- /dev/null
+++ b/src/runtime/android/Android.mk
@@ -0,0 +1,14 @@
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+jni_c_files := ../java/jpgf.c
+pgf_c_files := data.c expr.c graphviz.c lexer.c linearizer.c literals.c parser.c parseval.c pgf.c printer.c reader.c reasoner.c
+gu_c_files := assert.c choice.c dump.c exn.c fun.c in.c list.c map.c out.c read.c str.c type.c utf8.c write.c \
+bits.c defs.c enum.c file.c hash.c intern.c log.c mem.c prime.c seq.c string.c ucs.c variant.c yaml.c
+
+LOCAL_MODULE := jpgf
+LOCAL_SRC_FILES := $(addprefix ../c/pgf/, $(pgf_c_files)) $(addprefix ../c/gu/, $(gu_c_files))
+LOCAL_C_INCLUDES := ../c
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/src/runtime/android/Application.mk b/src/runtime/android/Application.mk
new file mode 100644
index 000000000..1c6face0e
--- /dev/null
+++ b/src/runtime/android/Application.mk
@@ -0,0 +1,2 @@
+
+APP_CFLAGS := -std=gnu99
diff --git a/src/runtime/c/pgf/reader.c b/src/runtime/c/pgf/reader.c
index 36eebee43..051459e4c 100644
--- a/src/runtime/c/pgf/reader.c
+++ b/src/runtime/c/pgf/reader.c
@@ -2,7 +2,11 @@
#include "expr.h"
#include "literals.h"
#include "reader.h"
+
+#ifndef ANDROID
#include "jit.h"
+#endif
+
#include <gu/defs.h>
#include <gu/map.h>
#include <gu/seq.h>
@@ -25,7 +29,9 @@ struct PgfReader {
GuPool* opool;
GuPool* tmp_pool;
GuSymTable* symtab;
+#ifndef ANDROID
PgfJitState* jit_state;
+#endif
};
typedef struct PgfReadTagExn PgfReadTagExn;
@@ -545,7 +551,9 @@ pgf_read_abscat(PgfReader* rdr, PgfAbstr* abstr, PgfCIdMap* abscats)
gu_buf_push(functions, PgfAbsFun*, absfun);
}
+#ifndef ANDROID
pgf_jit_predicate(rdr->jit_state, abscats, abscat, functions);
+#endif
return abscat;
}
@@ -1210,12 +1218,16 @@ pgf_new_reader(GuIn* in, GuPool* opool, GuPool* tmp_pool, GuExn* err)
rdr->symtab = gu_new_symtable(opool, tmp_pool);
rdr->err = err;
rdr->in = in;
+#ifndef ANDROID
rdr->jit_state = pgf_jit_init(tmp_pool, rdr->opool);
+#endif
return rdr;
}
void
pgf_reader_done(PgfReader* rdr, PgfPGF* pgf)
{
+#ifndef ANDROID
pgf_jit_done(rdr->jit_state, &pgf->abstract);
+#endif
}
diff --git a/src/runtime/java/Makefile b/src/runtime/java/Makefile
index 65bb4fe1a..e5849087c 100644
--- a/src/runtime/java/Makefile
+++ b/src/runtime/java/Makefile
@@ -9,6 +9,9 @@ doc:
Test.class: Test.java
javac Test.java
+libjpgf.jar: org/grammaticalframework/pgf/PGF.class
+ jar -cf libjpgf.jar org/grammaticalframework/pgf/*.class
+
org/grammaticalframework/pgf/PGF.class: org/grammaticalframework/pgf/PGF.java
javac Test.java