init: start move to Android.bp
Move libinit, init_tests, and test_service to Android.bp Leave init in Android.mk as it has unfulfilled dependencies, but create a comment in Android.bp for future use. Remove libinit_parser and init_parser_tests as that code was never used in init. Bug: 36970783 Bug: 37512442 Test: Build, boot bullhead, init unit tests Change-Id: Id81cd10ea09453a5fd762ba9189276aad79d5444
This commit is contained in:
parent
62db5fcee0
commit
14fc01301d
|
@ -0,0 +1,164 @@
|
|||
//
|
||||
// Copyright (C) 2017 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.
|
||||
//
|
||||
|
||||
cc_defaults {
|
||||
name: "init_defaults",
|
||||
cpp_std: "experimental",
|
||||
sanitize: {
|
||||
misc_undefined: ["integer"],
|
||||
},
|
||||
tidy_checks: ["-misc-forwarding-reference-overload"],
|
||||
cppflags: [
|
||||
"-DLOG_UEVENTS=0",
|
||||
"-Wall",
|
||||
"-Wextra",
|
||||
"-Wno-unused-parameter",
|
||||
"-Werror",
|
||||
"-DALLOW_LOCAL_PROP_OVERRIDE=0",
|
||||
"-DALLOW_PERMISSIVE_SELINUX=0",
|
||||
"-DREBOOT_BOOTLOADER_ON_PANIC=0",
|
||||
"-DWORLD_WRITABLE_KMSG=0",
|
||||
"-DDUMP_ON_UMOUNT_FAILURE=0",
|
||||
"-DSHUTDOWN_ZERO_TIMEOUT=0",
|
||||
],
|
||||
product_variables: {
|
||||
debuggable: {
|
||||
cppflags: [
|
||||
"-UALLOW_LOCAL_PROP_OVERRIDE",
|
||||
"-DALLOW_LOCAL_PROP_OVERRIDE=1",
|
||||
"-UALLOW_PERMISSIVE_SELINUX",
|
||||
"-DALLOW_PERMISSIVE_SELINUX=1",
|
||||
"-UREBOOT_BOOTLOADER_ON_PANIC",
|
||||
"-DREBOOT_BOOTLOADER_ON_PANIC=1",
|
||||
"-UWORLD_WRITABLE_KMSG",
|
||||
"-DWORLD_WRITABLE_KMSG=1",
|
||||
"-UDUMP_ON_UMOUNT_FAILURE",
|
||||
"-DDUMP_ON_UMOUNT_FAILURE=1",
|
||||
],
|
||||
},
|
||||
eng: {
|
||||
cppflags: [
|
||||
"-USHUTDOWN_ZERO_TIMEOUT",
|
||||
"-DSHUTDOWN_ZERO_TIMEOUT=1",
|
||||
],
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
cc_library_static {
|
||||
name: "libinit",
|
||||
defaults: ["init_defaults"],
|
||||
srcs: [
|
||||
"action.cpp",
|
||||
"capabilities.cpp",
|
||||
"descriptors.cpp",
|
||||
"devices.cpp",
|
||||
"import_parser.cpp",
|
||||
"init_parser.cpp",
|
||||
"log.cpp",
|
||||
"parser.cpp",
|
||||
"service.cpp",
|
||||
"util.cpp",
|
||||
],
|
||||
whole_static_libs: ["libcap"],
|
||||
static_libs: [
|
||||
"libbase",
|
||||
"libselinux",
|
||||
"liblog",
|
||||
"libprocessgroup",
|
||||
],
|
||||
}
|
||||
|
||||
/*
|
||||
This is not yet ready, see the below TODOs for what is missing
|
||||
|
||||
cc_binary {
|
||||
// TODO: Missing,
|
||||
//LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
|
||||
//LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_UNSTRIPPED)
|
||||
|
||||
name: "init",
|
||||
defaults: ["init_defaults"],
|
||||
static_executable: true,
|
||||
srcs: [
|
||||
"bootchart.cpp",
|
||||
"builtins.cpp",
|
||||
"init.cpp",
|
||||
"init_first_stage.cpp",
|
||||
"keychords.cpp",
|
||||
"property_service.cpp",
|
||||
"reboot.cpp",
|
||||
"signal_handler.cpp",
|
||||
"ueventd.cpp",
|
||||
"watchdogd.cpp",
|
||||
],
|
||||
include_dirs: [
|
||||
"system/core/mkbootimg"
|
||||
],
|
||||
static_libs: [
|
||||
"libinit",
|
||||
"libbootloader_message",
|
||||
"libfs_mgr",
|
||||
"libfec",
|
||||
"libfec_rs",
|
||||
"libsquashfs_utils",
|
||||
"liblogwrap",
|
||||
"libext4_utils",
|
||||
"libcutils",
|
||||
"libbase",
|
||||
"libc",
|
||||
"libselinux",
|
||||
"liblog",
|
||||
"libcrypto_utils",
|
||||
"libcrypto",
|
||||
"libc++_static",
|
||||
"libdl",
|
||||
"libsparse",
|
||||
"libz",
|
||||
"libprocessgroup",
|
||||
"libavb",
|
||||
"libkeyutils",
|
||||
],
|
||||
symlinks: [
|
||||
"sbin/ueventd",
|
||||
"sbin/watchdogd",
|
||||
],
|
||||
}
|
||||
*/
|
||||
|
||||
// Tests
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
cc_test {
|
||||
name: "init_tests",
|
||||
defaults: ["init_defaults"],
|
||||
srcs: [
|
||||
"devices_test.cpp",
|
||||
"init_parser_test.cpp",
|
||||
"init_test.cpp",
|
||||
"property_service_test.cpp",
|
||||
"service_test.cpp",
|
||||
"util_test.cpp",
|
||||
],
|
||||
shared_libs: [
|
||||
"libbase",
|
||||
"libcutils",
|
||||
"libselinux",
|
||||
],
|
||||
static_libs: ["libinit"],
|
||||
}
|
||||
|
||||
subdirs = ["*"]
|
|
@ -39,50 +39,6 @@ init_cflags += \
|
|||
|
||||
# --
|
||||
|
||||
# If building on Linux, then build unit test for the host.
|
||||
ifeq ($(HOST_OS),linux)
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_CPPFLAGS := $(init_cflags)
|
||||
LOCAL_SRC_FILES:= \
|
||||
parser/tokenizer.cpp \
|
||||
|
||||
LOCAL_MODULE := libinit_parser
|
||||
LOCAL_CLANG := true
|
||||
include $(BUILD_HOST_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := init_parser_tests
|
||||
LOCAL_SRC_FILES := \
|
||||
parser/tokenizer_test.cpp \
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := libinit_parser
|
||||
LOCAL_CLANG := true
|
||||
include $(BUILD_HOST_NATIVE_TEST)
|
||||
endif
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
# b/38002385, work around clang-tidy segmentation fault.
|
||||
LOCAL_TIDY_CHECKS := -misc-forwarding-reference-overload
|
||||
LOCAL_CPPFLAGS := $(init_cflags)
|
||||
LOCAL_SRC_FILES:= \
|
||||
action.cpp \
|
||||
capabilities.cpp \
|
||||
descriptors.cpp \
|
||||
devices.cpp \
|
||||
import_parser.cpp \
|
||||
init_parser.cpp \
|
||||
log.cpp \
|
||||
parser.cpp \
|
||||
service.cpp \
|
||||
util.cpp \
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := libbase libselinux liblog libprocessgroup
|
||||
LOCAL_WHOLE_STATIC_LIBRARIES := libcap
|
||||
LOCAL_MODULE := libinit
|
||||
LOCAL_SANITIZE := integer
|
||||
LOCAL_CLANG := true
|
||||
include $(BUILD_STATIC_LIBRARY)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
# b/38002385, work around clang-tidy segmentation fault.
|
||||
LOCAL_TIDY_CHECKS := -misc-forwarding-reference-overload
|
||||
|
@ -139,34 +95,3 @@ LOCAL_POST_INSTALL_CMD := $(hide) mkdir -p $(TARGET_ROOT_OUT)/sbin; \
|
|||
LOCAL_SANITIZE := integer
|
||||
LOCAL_CLANG := true
|
||||
include $(BUILD_EXECUTABLE)
|
||||
|
||||
|
||||
# Unit tests.
|
||||
# =========================================================
|
||||
include $(CLEAR_VARS)
|
||||
# b/38002385, work around clang-tidy segmentation fault.
|
||||
LOCAL_TIDY_CHECKS := -misc-forwarding-reference-overload
|
||||
LOCAL_MODULE := init_tests
|
||||
LOCAL_SRC_FILES := \
|
||||
devices_test.cpp \
|
||||
init_parser_test.cpp \
|
||||
init_test.cpp \
|
||||
property_service_test.cpp \
|
||||
service_test.cpp \
|
||||
util_test.cpp \
|
||||
|
||||
LOCAL_SHARED_LIBRARIES += \
|
||||
libbase \
|
||||
libcutils \
|
||||
libselinux \
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := libinit
|
||||
LOCAL_SANITIZE := integer
|
||||
LOCAL_CLANG := true
|
||||
LOCAL_CPPFLAGS := -Wall -Wextra -Werror -std=gnu++1z
|
||||
include $(BUILD_NATIVE_TEST)
|
||||
|
||||
|
||||
# Include targets in subdirs.
|
||||
# =========================================================
|
||||
include $(call all-makefiles-under,$(LOCAL_PATH))
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
//
|
||||
// Copyright (C) 2017 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.
|
||||
//
|
||||
|
||||
cc_binary {
|
||||
name: "test_service",
|
||||
srcs: ["test_service.cpp"],
|
||||
shared_libs: ["libbase"],
|
||||
init_rc: ["test_service.rc"],
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
# Copyright (C) 2016 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.
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
# Sample service for testing.
|
||||
# =========================================================
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := test_service
|
||||
LOCAL_SRC_FILES := test_service.cpp
|
||||
|
||||
LOCAL_SHARED_LIBRARIES += libbase
|
||||
|
||||
LOCAL_INIT_RC := test_service.rc
|
||||
|
||||
include $(BUILD_EXECUTABLE)
|
Loading…
Reference in New Issue