1LOCAL_PATH := $(call my-dir)
2
3cts_bionic_tests_dir := lib32
4
5ifeq (true,$(TARGET_IS_64_BIT))
6  ifeq (,$(cts_bionic_tests_2nd_arch_prefix))
7    cts_bionic_tests_dir := lib64
8  endif
9endif
10
11# TODO(dimitry): Can this list be constructed dynamically?
12my_bionic_testlib_files := \
13  cfi_test_helper/cfi_test_helper \
14  cfi_test_helper2/cfi_test_helper2 \
15  dt_runpath_a/libtest_dt_runpath_a.so \
16  dt_runpath_b_c_x/libtest_dt_runpath_b.so \
17  dt_runpath_b_c_x/libtest_dt_runpath_c.so \
18  dt_runpath_b_c_x/libtest_dt_runpath_x.so \
19  libatest_simple_zip/libatest_simple_zip.so \
20  libcfi-test.so \
21  libcfi-test-bad.so \
22  libdlext_test_different_soname.so \
23  libdlext_test_fd/libdlext_test_fd.so \
24  libdlext_test_norelro.so \
25  libdlext_test_runpath_zip/libdlext_test_runpath_zip_zipaligned.zip \
26  libdlext_test.so \
27  libdlext_test_zip/libdlext_test_zip.so \
28  libdlext_test_zip/libdlext_test_zip_zipaligned.zip \
29  libdl_preempt_test_1.so \
30  libdl_preempt_test_2.so \
31  libdl_test_df_1_global.so \
32  libsysv-hash-table-library.so \
33  libtest_atexit.so \
34  libtest_check_order_dlsym_1_left.so \
35  libtest_check_order_dlsym_2_right.so \
36  libtest_check_order_dlsym_3_c.so \
37  libtest_check_order_dlsym_a.so \
38  libtest_check_order_dlsym_b.so \
39  libtest_check_order_dlsym_d.so \
40  libtest_check_order_dlsym.so \
41  libtest_check_order_reloc_root_1.so \
42  libtest_check_order_reloc_root_2.so \
43  libtest_check_order_reloc_root.so \
44  libtest_check_order_reloc_siblings_1.so \
45  libtest_check_order_reloc_siblings_2.so \
46  libtest_check_order_reloc_siblings_3.so \
47  libtest_check_order_reloc_siblings_a.so \
48  libtest_check_order_reloc_siblings_b.so \
49  libtest_check_order_reloc_siblings_c_1.so \
50  libtest_check_order_reloc_siblings_c_2.so \
51  libtest_check_order_reloc_siblings_c.so \
52  libtest_check_order_reloc_siblings_d.so \
53  libtest_check_order_reloc_siblings_e.so \
54  libtest_check_order_reloc_siblings_f.so \
55  libtest_check_order_reloc_siblings.so \
56  libtest_check_rtld_next_from_library.so \
57  libtest_dlopen_from_ctor_main.so \
58  libtest_dlopen_from_ctor.so \
59  libtest_dlopen_weak_undefined_func.so \
60  libtest_dlsym_df_1_global.so \
61  libtest_dlsym_from_this_child.so \
62  libtest_dlsym_from_this_grandchild.so \
63  libtest_dlsym_from_this.so \
64  libtest_dlsym_weak_func.so \
65  libtest_dt_runpath_d.so \
66  libtest_empty.so \
67  libtest_init_fini_order_child.so \
68  libtest_init_fini_order_grand_child.so \
69  libtest_init_fini_order_root2.so \
70  libtest_init_fini_order_root.so \
71  libtest_nodelete_1.so \
72  libtest_nodelete_2.so \
73  libtest_nodelete_dt_flags_1.so \
74  libtest_pthread_atfork.so \
75  libtest_relo_check_dt_needed_order_1.so \
76  libtest_relo_check_dt_needed_order_2.so \
77  libtest_relo_check_dt_needed_order.so \
78  libtest_simple.so \
79  libtest_two_parents_child.so \
80  libtest_two_parents_parent1.so \
81  libtest_two_parents_parent2.so \
82  libtest_versioned_lib.so \
83  libtest_versioned_libv1.so \
84  libtest_versioned_libv2.so \
85  libtest_versioned_otherlib_empty.so \
86  libtest_versioned_otherlib.so \
87  libtest_versioned_uselibv1.so \
88  libtest_versioned_uselibv2_other.so \
89  libtest_versioned_uselibv2.so \
90  libtest_versioned_uselibv3_other.so \
91  libtest_with_dependency_loop_a.so \
92  libtest_with_dependency_loop_b.so \
93  libtest_with_dependency_loop_b_tmp.so \
94  libtest_with_dependency_loop_c.so \
95  libtest_with_dependency_loop.so \
96  libtest_with_dependency.so \
97  prebuilt-elf-files/libtest_invalid-empty_shdr_table.so \
98  prebuilt-elf-files/libtest_invalid-rw_load_segment.so \
99  prebuilt-elf-files/libtest_invalid-unaligned_shdr_offset.so \
100  prebuilt-elf-files/libtest_invalid-zero_shdr_table_content.so \
101  prebuilt-elf-files/libtest_invalid-zero_shdr_table_offset.so \
102  prebuilt-elf-files/libtest_invalid-zero_shentsize.so \
103  prebuilt-elf-files/libtest_invalid-zero_shstrndx.so \
104  prebuilt-elf-files/libtest_invalid-textrels.so \
105  prebuilt-elf-files/libtest_invalid-textrels2.so \
106  preinit_getauxval_test_helper/preinit_getauxval_test_helper \
107  preinit_syscall_test_helper/preinit_syscall_test_helper \
108  private_namespace_libs_external/libnstest_private_external.so \
109  private_namespace_libs/libnstest_dlopened.so \
110  private_namespace_libs/libnstest_private.so \
111  private_namespace_libs/libnstest_root_not_isolated.so \
112  private_namespace_libs/libnstest_root.so \
113  public_namespace_libs/libnstest_public.so \
114  public_namespace_libs/libnstest_public_internal.so \
115
116# These libraries are not built for mips.
117my_bionic_testlib_files_non_mips := \
118  libgnu-hash-table-library.so \
119  libtest_ifunc.so \
120
121my_bionic_testlibs_src_dir := \
122  $($(cts_bionic_tests_2nd_arch_prefix)TARGET_OUT_DATA_NATIVE_TESTS)/bionic-loader-test-libs
123my_bionic_testlibs_out_dir := $(cts_bionic_tests_dir)/bionic-loader-test-libs
124
125LOCAL_COMPATIBILITY_SUPPORT_FILES += \
126  $(foreach lib, $(my_bionic_testlib_files), \
127    $(my_bionic_testlibs_src_dir)/$(lib):$(my_bionic_testlibs_out_dir)/$(lib))
128
129ifneq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),mips mips64))
130LOCAL_COMPATIBILITY_SUPPORT_FILES += \
131  $(foreach lib, $(my_bionic_testlib_files_non_mips), \
132    $(my_bionic_testlibs_src_dir)/$(lib):$(my_bionic_testlibs_out_dir)/$(lib))
133endif
134
135my_bionic_testlib_files :=
136my_bionic_testlib_files_non_mips :=
137my_bionic_testlibs_src_dir :=
138my_bionic_testlibs_out_dir :=
139cts_bionic_tests_dir :=
140cts_bionic_tests_2nd_arch_prefix :=
141