Initial commit for native dicttoolkit.
Bug: 10059681 Change-Id: Ib730af8ebc944e08aaada869c0626724a499747cmain
parent
23a357d71d
commit
e101a53ffc
|
@ -0,0 +1,67 @@
|
||||||
|
# Copyright (C) 2014 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
ifeq (,$(TARGET_BUILD_APPS))
|
||||||
|
|
||||||
|
# Only build if it's explicitly requested, or running mm/mmm.
|
||||||
|
ifneq ($(ONE_SHOT_MAKEFILE)$(filter $(MAKECMDGOALS),dicttoolkit),)
|
||||||
|
|
||||||
|
# HACK: Temporarily disable host tool build on Mac until the build system is ready for C++11.
|
||||||
|
LATINIME_HOST_OSNAME := $(shell uname -s)
|
||||||
|
ifneq ($(LATINIME_HOST_OSNAME), Darwin) # TODO: Remove this
|
||||||
|
|
||||||
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
LATIN_IME_CORE_PATH := $(LOCAL_PATH)/../jni
|
||||||
|
|
||||||
|
LATIN_IME_DICT_TOOLKIT_SRC_DIR := src
|
||||||
|
LATIN_IME_CORE_SRC_DIR := ../jni/src
|
||||||
|
|
||||||
|
LOCAL_CFLAGS += -Werror -Wall -Wextra -Weffc++ -Wformat=2 -Wcast-qual -Wcast-align \
|
||||||
|
-Wwrite-strings -Wfloat-equal -Wpointer-arith -Winit-self -Wredundant-decls \
|
||||||
|
-Woverloaded-virtual -Wsign-promo -Wno-system-headers
|
||||||
|
|
||||||
|
# To suppress compiler warnings for unused variables/functions used for debug features etc.
|
||||||
|
LOCAL_CFLAGS += -Wno-unused-parameter -Wno-unused-function
|
||||||
|
LOCAL_CFLAGS += -std=c++11 -Wno-unused-parameter -Wno-unused-function
|
||||||
|
|
||||||
|
include $(LOCAL_PATH)/NativeFileList.mk
|
||||||
|
include $(LATIN_IME_CORE_PATH)/NativeFileList.mk
|
||||||
|
|
||||||
|
LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(LATIN_IME_DICT_TOOLKIT_SRC_DIR) \
|
||||||
|
$(LATIN_IME_CORE_PATH)/$(LATIN_IME_CORE_SRC_DIR)
|
||||||
|
|
||||||
|
LOCAL_SRC_FILES := $(LATIN_IME_DICT_TOOLKIT_MAIN_SRC_FILES) \
|
||||||
|
$(addprefix $(LATIN_IME_DICT_TOOLKIT_SRC_DIR)/, $(LATIN_IME_DICT_TOOLKIT_SRC_FILES)) \
|
||||||
|
$(addprefix $(LATIN_IME_CORE_SRC_DIR)/, $(LATIN_IME_CORE_SRC_FILES))
|
||||||
|
|
||||||
|
LOCAL_MODULE := dicttoolkit
|
||||||
|
LOCAL_MODULE_TAGS := optional
|
||||||
|
|
||||||
|
LOCAL_CLANG := true
|
||||||
|
LOCAL_CXX_STL := libc++
|
||||||
|
|
||||||
|
include $(BUILD_HOST_EXECUTABLE)
|
||||||
|
#################### Clean up the tmp vars
|
||||||
|
include $(LOCAL_PATH)/CleanupNativeFileList.mk
|
||||||
|
#################### Unit test
|
||||||
|
include $(LOCAL_PATH)/UnitTests.mk
|
||||||
|
|
||||||
|
endif # Darwin - TODO: Remove this
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif # TARGET_BUILD_APPS
|
|
@ -0,0 +1,17 @@
|
||||||
|
# Copyright (C) 2014 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
LATIN_IME_DICT_TOOLKIT_MAIN_SRC_FILES :=
|
||||||
|
LATIN_IME_DICT_TOOLKIT_SRC_FILES :=
|
||||||
|
LATIN_IME_DICT_TOOLKIT_TEST_FILES :=
|
|
@ -0,0 +1,21 @@
|
||||||
|
# Copyright (C) 2014 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
LATIN_IME_DICT_TOOLKIT_MAIN_SRC_FILES := \
|
||||||
|
dict_toolkit_main.cpp
|
||||||
|
|
||||||
|
LATIN_IME_DICT_TOOLKIT_SRC_FILES :=
|
||||||
|
|
||||||
|
LATIN_IME_DICT_TOOLKIT_TEST_FILES := \
|
||||||
|
dict_toolkit_defines_test.cpp
|
|
@ -0,0 +1,68 @@
|
||||||
|
# Copyright (C) 2014 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
ifeq (,$(TARGET_BUILD_APPS))
|
||||||
|
|
||||||
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
|
||||||
|
######################################
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
LATIN_IME_CORE_PATH := $(LOCAL_PATH)/../jni
|
||||||
|
|
||||||
|
LATIN_IME_DICT_TOOLKIT_SRC_DIR := src
|
||||||
|
LATIN_IME_CORE_SRC_DIR := ../jni/src
|
||||||
|
LATIN_DICT_TOOLKIT_TEST_SRC_DIR := tests
|
||||||
|
|
||||||
|
include $(LOCAL_PATH)/NativeFileList.mk
|
||||||
|
include $(LATIN_IME_CORE_PATH)/NativeFileList.mk
|
||||||
|
|
||||||
|
# TODO: Remove -std=c++11 once it is set by default on host build.
|
||||||
|
LATIN_IME_SRC_DIR := src
|
||||||
|
LOCAL_ADDRESS_SANITIZER := true
|
||||||
|
LOCAL_CFLAGS += -std=c++11 -Wno-unused-parameter -Wno-unused-function
|
||||||
|
LOCAL_CLANG := true
|
||||||
|
LOCAL_CXX_STL := libc++
|
||||||
|
LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(LATIN_IME_DICT_TOOLKIT_SRC_DIR) \
|
||||||
|
$(LATIN_IME_CORE_PATH)/$(LATIN_IME_CORE_SRC_DIR)
|
||||||
|
LOCAL_MODULE := liblatinime_dicttoolkit_host_static_for_unittests
|
||||||
|
LOCAL_MODULE_TAGS := optional
|
||||||
|
LOCAL_SRC_FILES := \
|
||||||
|
$(addprefix $(LATIN_IME_DICT_TOOLKIT_SRC_DIR)/, $(LATIN_IME_DICT_TOOLKIT_SRC_FILES)) \
|
||||||
|
$(addprefix $(LATIN_IME_CORE_SRC_DIR)/, $(LATIN_IME_CORE_SRC_FILES))
|
||||||
|
include $(BUILD_HOST_STATIC_LIBRARY)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
# TODO: Remove -std=c++11 once it is set by default on host build.
|
||||||
|
LOCAL_CFLAGS += -std=c++11 -Wno-unused-parameter -Wno-unused-function
|
||||||
|
LOCAL_CLANG := true
|
||||||
|
LOCAL_CXX_STL := libc++
|
||||||
|
LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(LATIN_IME_DICT_TOOLKIT_SRC_DIR) \
|
||||||
|
$(LATIN_IME_CORE_PATH)/$(LATIN_IME_CORE_SRC_DIR)
|
||||||
|
LOCAL_MODULE := dicttoolkit_unittests
|
||||||
|
LOCAL_MODULE_TAGS := tests
|
||||||
|
LOCAL_SRC_FILES := \
|
||||||
|
$(addprefix $(LATIN_DICT_TOOLKIT_TEST_SRC_DIR)/, $(LATIN_IME_DICT_TOOLKIT_TEST_FILES))
|
||||||
|
LOCAL_STATIC_LIBRARIES += liblatinime_dicttoolkit_host_static_for_unittests
|
||||||
|
include $(BUILD_HOST_NATIVE_TEST)
|
||||||
|
|
||||||
|
include $(LOCAL_PATH)/CleanupNativeFileList.mk
|
||||||
|
|
||||||
|
#################### Clean up the tmp vars
|
||||||
|
LATINIME_HOST_OSNAME :=
|
||||||
|
LATIN_IME_SRC_DIR :=
|
||||||
|
LATIN_IME_TEST_SRC_DIR :=
|
||||||
|
|
||||||
|
endif # TARGET_BUILD_APPS
|
|
@ -0,0 +1,23 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2014 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <cstdio>
|
||||||
|
|
||||||
|
int main(int argc, char **argv) {
|
||||||
|
// TODO: Implement.
|
||||||
|
printf("%s\n", argv[0]);
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Copyright 2014, The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
# check script arguments
|
||||||
|
if [[ $(type -t mmm) != function ]]; then
|
||||||
|
if [[ ${BASH_SOURCE[0]} != $0 ]]; then return; else exit 1; fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Host build is never supported in unbundled (NDK/tapas) build
|
||||||
|
if [[ -n $TARGET_BUILD_APPS ]]; then
|
||||||
|
echo "Host build is never supported in tapas build." 1>&2
|
||||||
|
echo "Use lunch command instead." 1>&2
|
||||||
|
if [[ ${BASH_SOURCE[0]} != $0 ]]; then return; else exit 1; fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
test_name=dicttoolkit_unittests
|
||||||
|
|
||||||
|
pushd $PWD > /dev/null
|
||||||
|
cd $(gettop)
|
||||||
|
(mmm -j16 packages/inputmethods/LatinIME/native/dicttoolkit) || (make -j16 $test_name)
|
||||||
|
$ANDROID_HOST_OUT/bin/$test_name
|
||||||
|
popd > /dev/null
|
|
@ -0,0 +1,22 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2014 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef LATINIME_DICT_TOOLKIT_DEFINES_H
|
||||||
|
#define LATINIME_DICT_TOOLKIT_DEFINES_H
|
||||||
|
|
||||||
|
#include "defines.h"
|
||||||
|
|
||||||
|
#endif // LATINIME_DICT_TOOLKIT_DEFINES_H
|
|
@ -0,0 +1,32 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2014 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "dict_toolkit_defines.h"
|
||||||
|
|
||||||
|
#include <gtest/gtest.h>
|
||||||
|
|
||||||
|
namespace latinime {
|
||||||
|
namespace dicttoolkit {
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
// Initial trivial test case.
|
||||||
|
TEST(DictToolkitDefinesTest, TestKeycodeSpace) {
|
||||||
|
EXPECT_EQ(' ', KEYCODE_SPACE);
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
} // namespace dicttoolkit
|
||||||
|
} // namespace latinime
|
|
@ -18,6 +18,7 @@ package com.android.inputmethod.latin.dicttool;
|
||||||
|
|
||||||
public class CommandList {
|
public class CommandList {
|
||||||
public static void populate() {
|
public static void populate() {
|
||||||
|
// TODO: Move some commands to native code.
|
||||||
Dicttool.addCommand("info", Info.class);
|
Dicttool.addCommand("info", Info.class);
|
||||||
Dicttool.addCommand("diff", Diff.class);
|
Dicttool.addCommand("diff", Diff.class);
|
||||||
Dicttool.addCommand("compress", Compress.Compressor.class);
|
Dicttool.addCommand("compress", Compress.Compressor.class);
|
||||||
|
|
Loading…
Reference in New Issue