summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Android.d8.mk (renamed from Android.v8shell.mk)7
-rw-r--r--Android.libv8.mk19
-rw-r--r--Android.mk10
-rw-r--r--Android.mksnapshot.mk21
-rw-r--r--Android.v8common.mk22
5 files changed, 64 insertions, 15 deletions
diff --git a/Android.v8shell.mk b/Android.d8.mk
index efe8ddfc..0f74eb5e 100644
--- a/Android.v8shell.mk
+++ b/Android.d8.mk
@@ -4,8 +4,11 @@ include $(CLEAR_VARS)
LOCAL_SHARED_LIBRARIES := libstlport
include external/stlport/libstlport.mk
-LOCAL_SRC_FILES:= samples/shell.cc
-LOCAL_MODULE := v8shell
+LOCAL_SRC_FILES := \
+ src/d8.cc \
+ src/d8-posix.cc
+
+LOCAL_MODULE := d8
LOCAL_CPP_EXTENSION := .cc
diff --git a/Android.libv8.mk b/Android.libv8.mk
index e7c4135a..35e5e5f1 100644
--- a/Android.libv8.mk
+++ b/Android.libv8.mk
@@ -6,13 +6,17 @@ include $(CLEAR_VARS)
include external/stlport/libstlport.mk
+ifeq ($(TARGET_ARCH),mips)
+ LOCAL_MIPS_MODE=mips
+endif
+
# Set up the target identity
LOCAL_MODULE := libv8
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
intermediates := $(call local-intermediates-dir)
-PRIVATE_CLEAN_FILES := $(HOST_OUT)/bin/mksnapshot \
- $(HOST_OUT)/obj/EXECUTABLES/mksnapshot_intermediates
+PRIVATE_CLEAN_FILES := $(HOST_OUT)/bin/mksnapshot.$(TARGET_ARCH) \
+ $(HOST_OUT)/obj/EXECUTABLES/mksnapshot.$(TARGET_ARCH)_intermediates
# Android.v8common.mk defines common V8_LOCAL_SRC_FILES
# and V8_LOCAL_JS_LIBRARY_FILES
@@ -65,7 +69,7 @@ LOCAL_GENERATED_SOURCES += $(V8_GENERATED_LIBRARIES)
# Generate snapshot.cc
ifeq ($(ENABLE_V8_SNAPSHOT),true)
SNAP_GEN := $(intermediates)/snapshot.cc
-MKSNAPSHOT := $(HOST_OUT_EXECUTABLES)/mksnapshot
+MKSNAPSHOT := $(HOST_OUT_EXECUTABLES)/mksnapshot.$(TARGET_ARCH)
$(SNAP_GEN): PRIVATE_CUSTOM_TOOL = $(MKSNAPSHOT) --logfile $(intermediates)/v8.log $(SNAP_GEN)
$(SNAP_GEN): $(MKSNAPSHOT)
$(transform-generated-source)
@@ -92,8 +96,15 @@ ifeq ($(TARGET_ARCH),arm)
LOCAL_CFLAGS += -DARM -DV8_TARGET_ARCH_ARM
endif
+ifeq ($(TARGET_ARCH),mips)
+ LOCAL_CFLAGS += -DV8_TARGET_ARCH_MIPS
+ LOCAL_CFLAGS += -Umips
+ LOCAL_CFLAGS += -finline-limit=64
+ LOCAL_CFLAGS += -fno-strict-aliasing
+endif
+
ifeq ($(TARGET_ARCH),x86)
- LOCAL_CFLAGS += -DV8_TARGET_ARCH_IA32
+ LOCAL_CFLAGS += -DV8_TARGET_ARCH_IA32 -fno-pic
endif
ifeq ($(DEBUG_V8),true)
diff --git a/Android.mk b/Android.mk
index e3c6eb6f..148c60e8 100644
--- a/Android.mk
+++ b/Android.mk
@@ -23,14 +23,10 @@ ifeq ($(TARGET_ARCH),arm)
endif
endif
-# Build libv8 and v8shell
-ifneq ($(filter $(TARGET_ARCH),x86 arm),)
- ifeq ($(ARCH_ARM_HAVE_ARMV7A),true)
- ifneq ($(ARCH_ARM_HAVE_ARMV7A_BUG),true)
+# Build libv8 and d8
+ifneq ($(filter $(TARGET_ARCH),x86 arm mips),)
ENABLE_V8_SNAPSHOT = true
include $(BASE_PATH)/Android.mksnapshot.mk
- endif
- endif
include $(BASE_PATH)/Android.libv8.mk
- include $(BASE_PATH)/Android.v8shell.mk
+ include $(BASE_PATH)/Android.d8.mk
endif
diff --git a/Android.mksnapshot.mk b/Android.mksnapshot.mk
index a94c02b4..9ab80b40 100644
--- a/Android.mksnapshot.mk
+++ b/Android.mksnapshot.mk
@@ -6,8 +6,9 @@ include $(CLEAR_VARS)
# Set up the target identity
LOCAL_IS_HOST_MODULE := true
-LOCAL_MODULE := mksnapshot
+LOCAL_MODULE := mksnapshot.$(TARGET_ARCH)
LOCAL_MODULE_CLASS := EXECUTABLES
+LOCAL_MODULE_TAGS = optional
intermediates := $(call local-intermediates-dir)
V8_LOCAL_SRC_FILES :=
@@ -17,9 +18,17 @@ include $(LOCAL_PATH)/Android.v8common.mk
V8_LOCAL_SRC_FILES += \
src/mksnapshot.cc \
- src/arm/simulator-arm.cc \
src/snapshot-empty.cc
+ifeq ($(TARGET_ARCH),arm)
+V8_LOCAL_SRC_FILES += src/arm/simulator-arm.cc
+endif
+
+ifeq ($(TARGET_ARCH),mips)
+V8_LOCAL_SRC_FILES += src/mips/simulator-mips.cc
+
+endif
+
ifeq ($(HOST_ARCH),x86)
V8_LOCAL_SRC_FILES += src/atomicops_internals_x86_gcc.cc
endif
@@ -86,6 +95,14 @@ ifeq ($(TARGET_CPU_ABI),armeabi-v7a)
endif
endif
+ifeq ($(TARGET_ARCH),mips)
+ LOCAL_CFLAGS += -DV8_TARGET_ARCH_MIPS
+ LOCAL_CFLAGS += -DCAN_USE_FPU_INSTRUCTIONS
+ LOCAL_CFLAGS += -Umips
+ LOCAL_CFLAGS += -finline-limit=64
+ LOCAL_CFLAGS += -fno-strict-aliasing
+endif
+
ifeq ($(TARGET_ARCH),x86)
LOCAL_CFLAGS += -DV8_TARGET_ARCH_IA32
endif
diff --git a/Android.v8common.mk b/Android.v8common.mk
index 71ffe57f..4c77a903 100644
--- a/Android.v8common.mk
+++ b/Android.v8common.mk
@@ -122,6 +122,28 @@ ifeq ($(TARGET_ARCH),arm)
src/arm/stub-cache-arm.cc
endif
+ifeq ($(TARGET_ARCH),mips)
+ V8_LOCAL_SRC_FILES += \
+ src/mips/assembler-mips.cc \
+ src/mips/builtins-mips.cc \
+ src/mips/codegen-mips.cc \
+ src/mips/code-stubs-mips.cc \
+ src/mips/constants-mips.cc \
+ src/mips/cpu-mips.cc \
+ src/mips/debug-mips.cc \
+ src/mips/deoptimizer-mips.cc \
+ src/mips/disasm-mips.cc \
+ src/mips/frames-mips.cc \
+ src/mips/full-codegen-mips.cc \
+ src/mips/ic-mips.cc \
+ src/mips/lithium-mips.cc \
+ src/mips/lithium-codegen-mips.cc \
+ src/mips/lithium-gap-resolver-mips.cc \
+ src/mips/macro-assembler-mips.cc \
+ src/mips/regexp-macro-assembler-mips.cc \
+ src/mips/stub-cache-mips.cc
+endif
+
ifeq ($(TARGET_ARCH),x86)
V8_LOCAL_SRC_FILES += \
src/ia32/assembler-ia32.cc \