Android.mk revision 422106a24d620af4be58e8d92a2e9b7b6167b72d
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) 18TEST_PATH := $(LOCAL_PATH)/.. 19 20# ----------------------------------------------------------------------------- 21# Library used by dlfcn tests. 22# ----------------------------------------------------------------------------- 23ifneq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),mips mips64)) 24no-elf-hash-table-library_src_files := \ 25 empty.cpp \ 26 27no-elf-hash-table-library_ldflags := \ 28 -Wl,--hash-style=gnu \ 29 30module := no-elf-hash-table-library 31module_tag := optional 32build_type := target 33build_target := SHARED_LIBRARY 34include $(TEST_PATH)/Android.build.mk 35endif 36 37# ----------------------------------------------------------------------------- 38# Library used by dlext tests - with GNU RELRO program header 39# ----------------------------------------------------------------------------- 40libdlext_test_src_files := \ 41 dlext_test_library.cpp \ 42 43libdlext_test_ldflags := \ 44 -Wl,-z,relro \ 45 46module := libdlext_test 47module_tag := optional 48build_type := target 49build_target := SHARED_LIBRARY 50include $(TEST_PATH)/Android.build.mk 51 52# ----------------------------------------------------------------------------- 53# create symlink to libdlext_test.so for symlink test 54# ----------------------------------------------------------------------------- 55# Use = instead of := to defer the evaluation of $@ 56$(LOCAL_INSTALLED_MODULE): PRIVATE_POST_INSTALL_CMD = \ 57 $(hide) cd $(dir $@) && ln -sf $(notdir $@) libdlext_test_v2.so 58 59ifneq ($(TARGET_2ND_ARCH),) 60# link 64 bit .so 61$(TARGET_OUT)/lib64/libdlext_test.so: PRIVATE_POST_INSTALL_CMD = \ 62 $(hide) cd $(dir $@) && ln -sf $(notdir $@) libdlext_test_v2.so 63endif 64 65# ----------------------------------------------------------------------------- 66# Library used by dlext tests - without GNU RELRO program header 67# ----------------------------------------------------------------------------- 68libdlext_test_norelro_src_files := \ 69 dlext_test_library.cpp \ 70 71libdlext_test_norelro_ldflags := \ 72 -Wl,-z,norelro \ 73 74module := libdlext_test_norelro 75module_tag := optional 76build_type := target 77build_target := SHARED_LIBRARY 78include $(TEST_PATH)/Android.build.mk 79 80# ----------------------------------------------------------------------------- 81# Library used by dlext tests - different name non-default location 82# ----------------------------------------------------------------------------- 83libdlext_test_fd_src_files := \ 84 dlext_test_library.cpp \ 85 86libdlext_test_fd_install_to_out_data := true 87module := libdlext_test_fd 88module_tag := optional 89build_type := target 90build_target := SHARED_LIBRARY 91include $(TEST_PATH)/Android.build.mk 92 93# ----------------------------------------------------------------------------- 94# Library used by dlfcn tests 95# ----------------------------------------------------------------------------- 96libtest_simple_src_files := \ 97 dlopen_testlib_simple.cpp 98 99module := libtest_simple 100build_type := target 101build_target := SHARED_LIBRARY 102include $(TEST_PATH)/Android.build.mk 103 104# ----------------------------------------------------------------------------- 105# Library with dependency used by dlfcn tests 106# ----------------------------------------------------------------------------- 107libtest_with_dependency_src_files := \ 108 dlopen_testlib_simple.cpp 109 110libtest_with_dependency_shared_libraries := libdlext_test 111 112module := libtest_with_dependency 113build_type := target 114build_target := SHARED_LIBRARY 115include $(TEST_PATH)/Android.build.mk 116 117# ----------------------------------------------------------------------------- 118# Library used to test local symbol lookup 119# ----------------------------------------------------------------------------- 120libtest_local_symbol_src_files := \ 121 dlsym_local_symbol_private.cpp \ 122 dlsym_local_symbol_public.cpp 123 124module := libtest_local_symbol 125build_target := SHARED_LIBRARY 126libtest_local_symbol_ldflags := -Wl,--version-script=$(LOCAL_PATH)/dlsym_local_symbol.map 127libtest_local_symbol_cppflags := -std=gnu++11 128libtest_local_symbol_shared_libraries_target := libdl 129build_type := target 130include $(TEST_PATH)/Android.build.mk 131 132# ----------------------------------------------------------------------------- 133# Library used by atexit tests 134# ----------------------------------------------------------------------------- 135 136libtest_atexit_src_files := \ 137 atexit_testlib.cpp 138 139module := libtest_atexit 140build_target := SHARED_LIBRARY 141build_type := target 142include $(TEST_PATH)/Android.build.mk 143build_type := host 144include $(TEST_PATH)/Android.build.mk 145 146# ----------------------------------------------------------------------------- 147# Library with weak function 148# ----------------------------------------------------------------------------- 149libtest_dlsym_weak_func_src_files := \ 150 dlsym_weak_function.cpp 151 152module := libtest_dlsym_weak_func 153build_target := SHARED_LIBRARY 154build_type := target 155include $(TEST_PATH)/Android.build.mk 156build_type := host 157include $(TEST_PATH)/Android.build.mk 158