#
# Common definitions for host or target builds of libdvm.
#
-# If you enable or disable optional features here,
-# rebuild the VM with "make clean-libdvm && make -j4 libdvm".
+# If you enable or disable optional features here, make sure you do
+# a "clean" build -- not everything depends on Dalvik.h. (See Android.mk
+# for the exact command.)
#
#
LOCAL_CFLAGS += -fstrict-aliasing -Wstrict-aliasing=2 -fno-align-jumps
#LOCAL_CFLAGS += -DUSE_INDIRECT_REF
+LOCAL_CFLAGS += -include "dalvikdefines.h"
#
# Optional features. These may impact the size or performance of the VM.
# - GDB helpers enabled
# - LOGV
# - assert()
+ # - full ELF symbols
#
LOCAL_CFLAGS += -DWITH_INSTR_CHECKS
LOCAL_CFLAGS += -DWITH_EXTRA_OBJECT_VALIDATION
# - all development features disabled
# - compiler optimizations enabled (redundant for "release" builds)
# - (debugging and profiling still enabled)
+ # - minimize ELF symbols to reduce code size by 10%
#
#LOCAL_CFLAGS += -DNDEBUG -DLOG_NDEBUG=1
# "-O2" is redundant for device (release) but useful for sim (debug)
LOCAL_CFLAGS += -DDVM_SHOW_EXCEPTION=1
# if you want to try with assertions on the device, add:
#LOCAL_CFLAGS += -UNDEBUG -DDEBUG=1 -DLOG_NDEBUG=1 -DWITH_DALVIK_ASSERT
+ # use GCC Visibility to reduce the footprint of runtime library
+ LOCAL_CFLAGS += -fvisibility=hidden
endif # !dvm_make_debug_vm
# bug hunting: checksum and verify interpreted stack when making JNI calls
SignalCatcher.c \
StdioConverter.c \
Sync.c \
+ TestCompability.c \
Thread.c \
UtfString.c \
alloc/clz.c.arm \
LOCAL_SRC_FILES += \
compiler/codegen/arm/RallocUtil.c \
compiler/codegen/arm/$(dvm_arch_variant)/Codegen.c \
+ compiler/codegen/arm/$(dvm_arch_variant)/CallingConvention.S \
compiler/codegen/arm/Assemble.c \
compiler/codegen/arm/ArchUtility.c \
compiler/codegen/arm/LocalOptimizations.c \
ifeq ($(dvm_os),linux)
MTERP_ARCH_KNOWN := true
LOCAL_SRC_FILES += \
- arch/x86/Call386ABI.S \
- arch/x86/Hints386ABI.c \
- mterp/out/InterpC-x86.c \
- mterp/out/InterpAsm-x86.S
+ arch/$(dvm_arch_variant)/Call386ABI.S \
+ arch/$(dvm_arch_variant)/Hints386ABI.c \
+ mterp/out/InterpC-$(dvm_arch_variant).c \
+ mterp/out/InterpAsm-$(dvm_arch_variant).S
endif
endif
LOCAL_CFLAGS += -DdvmAsmInstructionStart=0 -DdvmAsmInstructionEnd=0 \
-DdvmAsmSisterStart=0 -DdvmAsmSisterEnd=0 -DDVM_NO_ASM_INTERP=1
endif
+
+ifeq ($(TEST_VM_IN_ECLAIR),true)
+ LOCAL_CFLAGS += -DTEST_VM_IN_ECLAIR
+endif