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 17 LOCAL_PATH := $(call my-dir) 18 TEST_PATH := $(LOCAL_PATH)/.. 19 20 # ----------------------------------------------------------------------------- 21 # Library used by dlfcn tests. 22 # ----------------------------------------------------------------------------- 23 ifneq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),mips mips64)) 24 no-elf-hash-table-library_src_files := \ 25 empty.cpp \ 26 27 no-elf-hash-table-library_ldflags := \ 28 -Wl,--hash-style=gnu \ 29 30 module := no-elf-hash-table-library 31 module_tag := optional 32 build_type := target 33 build_target := SHARED_LIBRARY 34 include $(TEST_PATH)/Android.build.mk 35 endif 36 37 # ----------------------------------------------------------------------------- 38 # Library used by dlext tests - with GNU RELRO program header 39 # ----------------------------------------------------------------------------- 40 libdlext_test_src_files := \ 41 dlext_test_library.cpp \ 42 43 libdlext_test_ldflags := \ 44 -Wl,-z,relro \ 45 46 module := libdlext_test 47 module_tag := optional 48 build_type := target 49 build_target := SHARED_LIBRARY 50 include $(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 59 ifneq ($(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 63 endif 64 65 # ----------------------------------------------------------------------------- 66 # Library used by dlext tests - without GNU RELRO program header 67 # ----------------------------------------------------------------------------- 68 libdlext_test_norelro_src_files := \ 69 dlext_test_library.cpp \ 70 71 libdlext_test_norelro_ldflags := \ 72 -Wl,-z,norelro \ 73 74 module := libdlext_test_norelro 75 module_tag := optional 76 build_type := target 77 build_target := SHARED_LIBRARY 78 include $(TEST_PATH)/Android.build.mk 79 80 # ----------------------------------------------------------------------------- 81 # Library used by dlext tests - different name non-default location 82 # ----------------------------------------------------------------------------- 83 libdlext_test_fd_src_files := \ 84 dlext_test_library.cpp \ 85 86 libdlext_test_fd_install_to_out_data := true 87 module := libdlext_test_fd 88 module_tag := optional 89 build_type := target 90 build_target := SHARED_LIBRARY 91 include $(TEST_PATH)/Android.build.mk 92 93 # ----------------------------------------------------------------------------- 94 # Library used by dlfcn tests 95 # ----------------------------------------------------------------------------- 96 libtest_simple_src_files := \ 97 dlopen_testlib_simple.cpp 98 99 module := libtest_simple 100 build_type := target 101 build_target := SHARED_LIBRARY 102 include $(TEST_PATH)/Android.build.mk 103 104 # ----------------------------------------------------------------------------- 105 # Library with dependency used by dlfcn tests 106 # ----------------------------------------------------------------------------- 107 libtest_with_dependency_src_files := \ 108 dlopen_testlib_simple.cpp 109 110 libtest_with_dependency_shared_libraries := libdlext_test 111 112 module := libtest_with_dependency 113 build_type := target 114 build_target := SHARED_LIBRARY 115 include $(TEST_PATH)/Android.build.mk 116 117 # ----------------------------------------------------------------------------- 118 # Library used by atexit tests 119 # ----------------------------------------------------------------------------- 120 121 libtest_atexit_src_files := \ 122 atexit_testlib.cpp 123 124 module := libtest_atexit 125 build_target := SHARED_LIBRARY 126 build_type := target 127 include $(TEST_PATH)/Android.build.mk 128 build_type := host 129 include $(TEST_PATH)/Android.build.mk 130 131 # ----------------------------------------------------------------------------- 132 # Library with weak function 133 # ----------------------------------------------------------------------------- 134 libtest_dlsym_weak_func_src_files := \ 135 dlsym_weak_function.cpp 136 137 module := libtest_dlsym_weak_func 138 build_target := SHARED_LIBRARY 139 build_type := target 140 include $(TEST_PATH)/Android.build.mk 141 build_type := host 142 include $(TEST_PATH)/Android.build.mk 143