diff options
-rw-r--r-- | Android.libv8.mk | 4 | ||||
-rw-r--r-- | Android.mk | 2 | ||||
-rw-r--r-- | Android.mksnapshot.mk | 4 | ||||
-rw-r--r-- | Android.v8common.mk | 22 | ||||
-rw-r--r-- | CleanSpec.mk | 4 | ||||
-rw-r--r-- | src/platform-linux.cc | 3 |
6 files changed, 37 insertions, 2 deletions
diff --git a/Android.libv8.mk b/Android.libv8.mk index f61f5d79..7395b262 100644 --- a/Android.libv8.mk +++ b/Android.libv8.mk @@ -88,6 +88,10 @@ ifeq ($(TARGET_ARCH),arm) LOCAL_CFLAGS += -DARM -DV8_TARGET_ARCH_ARM endif +ifeq ($(TARGET_ARCH),x86) + LOCAL_CFLAGS += -DV8_TARGET_ARCH_IA32 +endif + ifeq ($(DEBUG_V8),true) LOCAL_CFLAGS += -DDEBUG -UNDEBUG endif @@ -27,7 +27,7 @@ BASE_PATH := $(call my-dir) # specifying which JS engine to use. # Build libv8 and v8shell -ifeq ($(TARGET_ARCH),arm) +ifneq ($(filter $(TARGET_ARCH),x86 arm),) ENABLE_V8_SNAPSHOT = true include $(BASE_PATH)/Android.mksnapshot.mk include $(BASE_PATH)/Android.libv8.mk diff --git a/Android.mksnapshot.mk b/Android.mksnapshot.mk index c1ffcea3..d52d2af9 100644 --- a/Android.mksnapshot.mk +++ b/Android.mksnapshot.mk @@ -82,6 +82,10 @@ ifeq ($(TARGET_CPU_ABI),armeabi-v7a) endif endif +ifeq ($(TARGET_ARCH),x86) + LOCAL_CFLAGS += -DV8_TARGET_ARCH_IA32 +endif + ifeq ($(DEBUG_V8),true) LOCAL_CFLAGS += -DDEBUG -UNDEBUG endif diff --git a/Android.v8common.mk b/Android.v8common.mk index 20125733..20a796a3 100644 --- a/Android.v8common.mk +++ b/Android.v8common.mk @@ -118,6 +118,28 @@ ifeq ($(TARGET_ARCH),arm) src/arm/stub-cache-arm.cc endif +ifeq ($(TARGET_ARCH),x86) + V8_LOCAL_SRC_FILES += \ + src/atomicops_internals_x86_gcc.cc \ + src/ia32/assembler-ia32.cc \ + src/ia32/builtins-ia32.cc \ + src/ia32/codegen-ia32.cc \ + src/ia32/code-stubs-ia32.cc \ + src/ia32/cpu-ia32.cc \ + src/ia32/debug-ia32.cc \ + src/ia32/deoptimizer-ia32.cc \ + src/ia32/disasm-ia32.cc \ + src/ia32/frames-ia32.cc \ + src/ia32/full-codegen-ia32.cc \ + src/ia32/ic-ia32.cc \ + src/ia32/lithium-codegen-ia32.cc \ + src/ia32/lithium-gap-resolver-ia32.cc \ + src/ia32/lithium-ia32.cc \ + src/ia32/macro-assembler-ia32.cc \ + src/ia32/regexp-macro-assembler-ia32.cc \ + src/ia32/stub-cache-ia32.cc +endif + # Enable DEBUG option. ifeq ($(DEBUG_V8),true) V8_LOCAL_SRC_FILES += \ diff --git a/CleanSpec.mk b/CleanSpec.mk index d2b89d28..0798ba28 100644 --- a/CleanSpec.mk +++ b/CleanSpec.mk @@ -64,6 +64,10 @@ $(call add-clean-step, rm -rf $(OUT_DIR)/host/$(HOST_OS)-$(HOST_ARCH)/obj/EXECUT $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libv8_intermediates) $(call add-clean-step, rm -rf $(OUT_DIR)/host/$(HOST_OS)-$(HOST_ARCH)/bin/mksnapshot) $(call add-clean-step, rm -rf $(OUT_DIR)/host/$(HOST_OS)-$(HOST_ARCH)/obj/EXECUTABLES/mksnapshot_intermediates) + +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libv8_intermediates) +$(call add-clean-step, rm -rf $(OUT_DIR)/host/$(HOST_OS)-$(HOST_ARCH)/bin/mksnapshot) +$(call add-clean-step, rm -rf $(OUT_DIR)/host/$(HOST_OS)-$(HOST_ARCH)/obj/EXECUTABLES/mksnapshot_intermediates) # ************************************************ # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST # ************************************************ diff --git a/src/platform-linux.cc b/src/platform-linux.cc index b152dae9..032cdaaa 100644 --- a/src/platform-linux.cc +++ b/src/platform-linux.cc @@ -855,7 +855,7 @@ Semaphore* OS::CreateSemaphore(int count) { } -#if !defined(__GLIBC__) && (defined(__arm__) || defined(__thumb__)) +#if !defined(__GLIBC__) && (defined(__arm__) || defined(__thumb__) || defined(__i386__)) // Android runs a fairly new Linux kernel, so signal info is there, // but the C library doesn't have the structs defined. @@ -877,6 +877,7 @@ typedef struct ucontext { __sigset_t uc_sigmask; } ucontext_t; enum ArmRegisters {R15 = 15, R13 = 13, R11 = 11}; +enum X86Registers {REG_EIP = 14, REG_ESP = 7, REG_EBP = 6}; #endif |