1#
2# Copyright (C) 2012 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17LOCAL_PATH := $(call my-dir)
18
19# TODO(dimitry): replace with define once https://android-review.googlesource.com/247466 is reverted
20# https://github.com/google/kati/issues/83 is currently blocking it.
21
22# Move prebuilt test elf-files to $(TARGET_OUT_NATIVE_TESTS)
23bionic_tests_module := libtest_invalid-rw_load_segment.so
24include $(LOCAL_PATH)/Android.build.prebuilt.mk
25
26bionic_tests_module := libtest_invalid-unaligned_shdr_offset.so
27include $(LOCAL_PATH)/Android.build.prebuilt.mk
28
29bionic_tests_module := libtest_invalid-zero_shentsize.so
30include $(LOCAL_PATH)/Android.build.prebuilt.mk
31
32bionic_tests_module := libtest_invalid-zero_shstrndx.so
33include $(LOCAL_PATH)/Android.build.prebuilt.mk
34
35bionic_tests_module := libtest_invalid-empty_shdr_table.so
36include $(LOCAL_PATH)/Android.build.prebuilt.mk
37
38bionic_tests_module := libtest_invalid-zero_shdr_table_offset.so
39include $(LOCAL_PATH)/Android.build.prebuilt.mk
40
41bionic_tests_module := libtest_invalid-zero_shdr_table_content.so
42include $(LOCAL_PATH)/Android.build.prebuilt.mk
43
44bionic_tests_module := libtest_invalid-textrels.so
45include $(LOCAL_PATH)/Android.build.prebuilt.mk
46
47bionic_tests_module := libtest_invalid-textrels2.so
48include $(LOCAL_PATH)/Android.build.prebuilt.mk
49
50ifeq ($(HOST_OS)-$(HOST_ARCH),$(filter $(HOST_OS)-$(HOST_ARCH),linux-x86 linux-x86_64))
51build_host := true
52else
53build_host := false
54endif
55
56ifeq ($(HOST_OS)-$(HOST_ARCH),$(filter $(HOST_OS)-$(HOST_ARCH),linux-x86 linux-x86_64))
57
58# -----------------------------------------------------------------------------
59# Compile time tests.
60# -----------------------------------------------------------------------------
61
62# Some of these are intentionally using = instead of := since we need access to
63# some variables not initialtized until we're in the build system.
64
65include $(CLEAR_VARS)
66LOCAL_ADDITIONAL_DEPENDENCIES := \
67    $(LOCAL_PATH)/Android.mk \
68    $(LOCAL_PATH)/file-check-cxx \
69    | $(HOST_OUT_EXECUTABLES)/FileCheck$(HOST_EXECUTABLE_SUFFIX) \
70
71LOCAL_CXX = $(LOCAL_PATH)/file-check-cxx \
72    $(HOST_OUT_EXECUTABLES)/FileCheck \
73    $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_CXX) \
74    GCC \
75
76LOCAL_CLANG := false
77LOCAL_MODULE := bionic-compile-time-tests-g++
78LOCAL_CPPFLAGS := -Wall
79# Disable color diagnostics so the warnings output matches the source
80LOCAL_CPPFLAGS += -fdiagnostics-color=never
81LOCAL_SRC_FILES := fortify_compilation_test.cpp
82include $(BUILD_STATIC_LIBRARY)
83
84include $(CLEAR_VARS)
85LOCAL_ADDITIONAL_DEPENDENCIES := \
86    $(LOCAL_PATH)/Android.mk \
87    $(LOCAL_PATH)/file-check-cxx \
88    | $(HOST_OUT_EXECUTABLES)/FileCheck$(HOST_EXECUTABLE_SUFFIX) \
89
90LOCAL_CXX := $(LOCAL_PATH)/file-check-cxx \
91    $(HOST_OUT_EXECUTABLES)/FileCheck \
92    $(LLVM_PREBUILTS_PATH)/clang++ \
93    CLANG \
94
95LOCAL_CLANG := true
96LOCAL_MODULE := bionic-compile-time-tests-clang++
97LOCAL_CPPFLAGS := -Wall
98LOCAL_CPPFLAGS += -fno-color-diagnostics -ferror-limit=10000
99LOCAL_SRC_FILES := fortify_compilation_test.cpp
100include $(BUILD_STATIC_LIBRARY)
101
102endif # linux-x86
103
104include $(call first-makefiles-under,$(LOCAL_PATH))
105