7275802917
This should affect only builds that call clang-tidy. Without this change, clang-tidy has segmentation fault when compiling several files in the system/core/init directory. Bug: 38002385 Test: build with WITH_TIDY=1 Change-Id: I63b898370c43e1d6b02671751137b1027ba4cdac
171 lines
3.9 KiB
Makefile
171 lines
3.9 KiB
Makefile
# Copyright 2005 The Android Open Source Project
|
|
|
|
LOCAL_PATH:= $(call my-dir)
|
|
|
|
# --
|
|
|
|
ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
|
|
init_options += \
|
|
-DALLOW_LOCAL_PROP_OVERRIDE=1 \
|
|
-DALLOW_PERMISSIVE_SELINUX=1 \
|
|
-DREBOOT_BOOTLOADER_ON_PANIC=1 \
|
|
-DWORLD_WRITABLE_KMSG=1 \
|
|
-DDUMP_ON_UMOUNT_FAILURE=1
|
|
else
|
|
init_options += \
|
|
-DALLOW_LOCAL_PROP_OVERRIDE=0 \
|
|
-DALLOW_PERMISSIVE_SELINUX=0 \
|
|
-DREBOOT_BOOTLOADER_ON_PANIC=0 \
|
|
-DWORLD_WRITABLE_KMSG=0 \
|
|
-DDUMP_ON_UMOUNT_FAILURE=0
|
|
endif
|
|
|
|
ifneq (,$(filter eng,$(TARGET_BUILD_VARIANT)))
|
|
init_options += \
|
|
-DSHUTDOWN_ZERO_TIMEOUT=1
|
|
else
|
|
init_options += \
|
|
-DSHUTDOWN_ZERO_TIMEOUT=0
|
|
endif
|
|
|
|
init_options += -DLOG_UEVENTS=0
|
|
|
|
init_cflags += \
|
|
$(init_options) \
|
|
-Wall -Wextra \
|
|
-Wno-unused-parameter \
|
|
-Werror \
|
|
-std=gnu++1z \
|
|
|
|
# --
|
|
|
|
# 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
|
|
LOCAL_CPPFLAGS := $(init_cflags)
|
|
LOCAL_SRC_FILES:= \
|
|
bootchart.cpp \
|
|
builtins.cpp \
|
|
init.cpp \
|
|
init_first_stage.cpp \
|
|
keychords.cpp \
|
|
property_service.cpp \
|
|
reboot.cpp \
|
|
signal_handler.cpp \
|
|
ueventd.cpp \
|
|
watchdogd.cpp \
|
|
|
|
LOCAL_MODULE:= init
|
|
LOCAL_C_INCLUDES += \
|
|
system/core/mkbootimg
|
|
|
|
LOCAL_FORCE_STATIC_EXECUTABLE := true
|
|
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
|
|
LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_UNSTRIPPED)
|
|
|
|
LOCAL_STATIC_LIBRARIES := \
|
|
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
|
|
|
|
# Create symlinks.
|
|
LOCAL_POST_INSTALL_CMD := $(hide) mkdir -p $(TARGET_ROOT_OUT)/sbin; \
|
|
ln -sf ../init $(TARGET_ROOT_OUT)/sbin/ueventd; \
|
|
ln -sf ../init $(TARGET_ROOT_OUT)/sbin/watchdogd
|
|
|
|
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))
|