32-bit dicttool

As we can't easily turn on -m64 for only one module, the JNI library for
a host tool should be 32-bit, at least for now.

Change-Id: I1f001ccca1ad968a2241c0494bb70391fb11a59f
This commit is contained in:
Ken Wakasa 2014-04-04 19:55:59 +09:00
parent fd6b1ac822
commit 3ccbf7ef08
2 changed files with 11 additions and 9 deletions

View file

@ -29,13 +29,7 @@ ifeq ($(FLAG_DBG), true)
LOCAL_CFLAGS += -DFLAG_DBG -funwind-tables -fno-inline
endif #FLAG_DBG
ifneq ($(strip $(HOST_JDK_IS_64BIT_VERSION)),)
LOCAL_CFLAGS += -m64
LOCAL_LDFLAGS += -m64
endif #HOST_JDK_IS_64BIT_VERSION
LOCAL_CFLAGS += -DHOST_TOOL -fPIC -Wno-deprecated
LOCAL_NO_DEFAULT_COMPILER_FLAGS := true
LOCAL_CFLAGS += -DHOST_TOOL -fPIC -Wno-deprecated -Wno-unused-parameter -Wno-unused-function
LOCAL_CLANG := true
# For C++11
@ -44,7 +38,6 @@ LOCAL_CFLAGS += -std=c++11
LATINIME_NATIVE_JNI_DIR := $(LATINIME_DIR_RELATIVE_TO_DICTTOOL)/native/jni
LATINIME_NATIVE_SRC_DIR := $(LATINIME_DIR_RELATIVE_TO_DICTTOOL)/native/jni/src
LOCAL_C_INCLUDES := $(LOCAL_PATH)/$(LATINIME_NATIVE_SRC_DIR)
# Used in jni_common.cpp to avoid registering useless methods.
include $(LOCAL_PATH)/$(LATINIME_NATIVE_JNI_DIR)/NativeFileList.mk

View file

@ -68,5 +68,14 @@ else
libpath="$frameworkdir/$lib"
fi
# Check if the host Java executable supports a 32-bit JVM. It needs to do because the JNI
# library is 32-bit.
${DICTTOOL_JAVA-java} -d32 -version > /dev/null 2>&1
if [[ $? != 0 ]] ; then
echo Please specify a Java executable that supports a 32-bit JVM as DICTTOOL_JAVA.
exit 1
fi
# might need more memory, e.g. -Xmx128M
exec java -ea -classpath "$libpath":"$jarpath" -Djava.library.path="$libdir" "$classname" "$@"
exec ${DICTTOOL_JAVA-java} -d32 -ea -classpath "$libpath":"$jarpath" \
-Djava.library.path="$libdir" "$classname" "$@"