1# Copyright (C) 2010 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15LOCAL_PATH:= $(call my-dir) 16 17include $(CLEAR_VARS) 18 19LOCAL_MODULE := libctsos_jni 20 21# Don't include this package in any configuration by default. 22LOCAL_MODULE_TAGS := optional 23 24LOCAL_SRC_FILES := \ 25 CtsOsJniOnLoad.cpp \ 26 android_os_cts_CpuInstructions.cpp.arm \ 27 android_os_cts_TaggedPointer.cpp \ 28 android_os_cts_HardwareName.cpp \ 29 android_os_cts_OSFeatures.cpp \ 30 android_os_cts_NoExecutePermissionTest.cpp \ 31 android_os_cts_SeccompTest.cpp 32 33# Select the architectures on which seccomp-bpf are supported. This is used to 34# include extra test files that will not compile on architectures where it is 35# not supported. 36ARCH_SUPPORTS_SECCOMP := 0 37ifeq ($(strip $(TARGET_ARCH)),arm) 38 ARCH_SUPPORTS_SECCOMP = 1 39endif 40 41ifeq ($(strip $(TARGET_ARCH)),arm64) 42 ARCH_SUPPORTS_SECCOMP = 1 43 # Required for __NR_poll definition. 44 LOCAL_CFLAGS += -D__ARCH_WANT_SYSCALL_DEPRECATED 45endif 46 47ifeq ($(strip $(TARGET_ARCH)),x86) 48 ARCH_SUPPORTS_SECCOMP = 1 49endif 50 51ifeq ($(strip $(TARGET_ARCH)),x86_64) 52 ARCH_SUPPORTS_SECCOMP = 1 53endif 54 55ifeq ($(ARCH_SUPPORTS_SECCOMP),1) 56 LOCAL_SRC_FILES += seccomp-tests/tests/seccomp_bpf_tests.c \ 57 seccomp_sample_program.cpp 58 59 # This define controls the behavior of OSFeatures.needsSeccompSupport(). 60 LOCAL_CFLAGS += -DARCH_SUPPORTS_SECCOMP 61endif 62 63LOCAL_C_INCLUDES := $(JNI_H_INCLUDE) 64 65LOCAL_SHARED_LIBRARIES := libnativehelper liblog libdl libcutils 66 67LOCAL_SRC_FILES += android_os_cts_CpuFeatures.cpp 68LOCAL_C_INCLUDES += ndk/sources/cpufeatures 69LOCAL_STATIC_LIBRARIES := cpufeatures 70 71include $(BUILD_SHARED_LIBRARY) 72