blob: 5b9630625ae37d9edd9bcb659b6229b24540d6e8 [file] [log] [blame]
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -07001#
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
Dmitriy Ivanov4571f312014-08-15 14:22:07 -070020common_cppflags += -std=gnu++11
Dmitriy Ivanov4a9e1932014-10-17 11:47:18 -070021common_additional_dependencies := \
22 $(LOCAL_PATH)/Android.mk \
23 $(LOCAL_PATH)/Android.build.dlext_testzip.mk \
Dmitriy Ivanovab972b92014-11-29 13:57:41 -080024 $(LOCAL_PATH)/Android.build.dlopen_2_parents_reloc.mk \
Dmitriy Ivanovcfa97f12014-10-21 09:23:18 -070025 $(LOCAL_PATH)/Android.build.dlopen_check_order_dlsym.mk \
26 $(LOCAL_PATH)/Android.build.dlopen_check_order_reloc_siblings.mk \
27 $(LOCAL_PATH)/Android.build.dlopen_check_order_reloc_main_executable.mk \
Dmitriy Ivanovea295f62014-11-20 20:47:02 -080028 $(LOCAL_PATH)/Android.build.pthread_atfork.mk \
Dmitriy Ivanov4a9e1932014-10-17 11:47:18 -070029 $(LOCAL_PATH)/Android.build.testlib.mk \
Dmitriy Ivanov2a815362015-04-09 13:42:33 -070030 $(LOCAL_PATH)/Android.build.versioned_lib.mk \
Dmitriy Ivanov4a9e1932014-10-17 11:47:18 -070031 $(TEST_PATH)/Android.build.mk
32
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -070033# -----------------------------------------------------------------------------
Dmitriy Ivanovb3356772014-11-14 11:19:22 -080034# Library to test gnu-styled hash
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -070035# -----------------------------------------------------------------------------
36ifneq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),mips mips64))
Dmitriy Ivanovec18ce02014-11-09 19:27:20 -080037libgnu-hash-table-library_src_files := \
38 dlext_test_library.cpp \
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -070039
Dmitriy Ivanovec18ce02014-11-09 19:27:20 -080040libgnu-hash-table-library_ldflags := \
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -070041 -Wl,--hash-style=gnu \
42
Dmitriy Ivanovec18ce02014-11-09 19:27:20 -080043module := libgnu-hash-table-library
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -070044module_tag := optional
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -070045include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -070046endif
47
48# -----------------------------------------------------------------------------
Dmitriy Ivanovb3356772014-11-14 11:19:22 -080049# Library to test sysv-styled hash
50# -----------------------------------------------------------------------------
51libsysv-hash-table-library_src_files := \
52 dlext_test_library.cpp \
53
54libsysv-hash-table-library_ldflags := \
55 -Wl,--hash-style=sysv \
56
57module := libsysv-hash-table-library
58module_tag := optional
59include $(LOCAL_PATH)/Android.build.testlib.mk
60
61# -----------------------------------------------------------------------------
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -070062# Library used by dlext tests - with GNU RELRO program header
63# -----------------------------------------------------------------------------
64libdlext_test_src_files := \
65 dlext_test_library.cpp \
66
67libdlext_test_ldflags := \
68 -Wl,-z,relro \
69
Torne (Richard Coles)a828a2f2015-09-02 14:14:08 +010070libdlext_test_shared_libraries := libtest_simple
71
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -070072module := libdlext_test
73module_tag := optional
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -070074include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -070075
76# -----------------------------------------------------------------------------
77# create symlink to libdlext_test.so for symlink test
78# -----------------------------------------------------------------------------
79# Use = instead of := to defer the evaluation of $@
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -070080$(TARGET_OUT)/lib/libdlext_test.so: PRIVATE_POST_INSTALL_CMD = \
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -070081 $(hide) cd $(dir $@) && ln -sf $(notdir $@) libdlext_test_v2.so
82
83ifneq ($(TARGET_2ND_ARCH),)
84# link 64 bit .so
85$(TARGET_OUT)/lib64/libdlext_test.so: PRIVATE_POST_INSTALL_CMD = \
86 $(hide) cd $(dir $@) && ln -sf $(notdir $@) libdlext_test_v2.so
87endif
88
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -070089# host symlinks
90$(HOST_OUT)/lib64/libdlext_test.so: PRIVATE_POST_INSTALL_CMD = \
91 $(hide) cd $(dir $@) && ln -sf $(notdir $@) libdlext_test_v2.so
92
93$(HOST_OUT)/lib/libdlext_test.so: PRIVATE_POST_INSTALL_CMD = \
94 $(hide) cd $(dir $@) && ln -sf $(notdir $@) libdlext_test_v2.so
95
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -070096# -----------------------------------------------------------------------------
97# Library used by dlext tests - without GNU RELRO program header
98# -----------------------------------------------------------------------------
99libdlext_test_norelro_src_files := \
100 dlext_test_library.cpp \
101
102libdlext_test_norelro_ldflags := \
103 -Wl,-z,norelro \
104
105module := libdlext_test_norelro
106module_tag := optional
107build_type := target
108build_target := SHARED_LIBRARY
109include $(TEST_PATH)/Android.build.mk
110
111# -----------------------------------------------------------------------------
Dmitriy Ivanov04dc91a2014-07-01 14:10:16 -0700112# Library used by dlext tests - different name non-default location
113# -----------------------------------------------------------------------------
114libdlext_test_fd_src_files := \
115 dlext_test_library.cpp \
116
117libdlext_test_fd_install_to_out_data := true
118module := libdlext_test_fd
119module_tag := optional
120build_type := target
121build_target := SHARED_LIBRARY
122include $(TEST_PATH)/Android.build.mk
123
Dmitriy Ivanov618f1a32015-03-17 20:06:36 -0700124# ----------------------------------------------------------------------------
125# Library with soname which does not match filename
126# ----------------------------------------------------------------------------
127libdlext_test_different_soname_src_files := \
128 dlext_test_library.cpp \
129
130module := libdlext_test_different_soname
131module_tag := optional
132libdlext_test_different_soname_ldflags := -Wl,-soname=libdlext_test_soname.so
133include $(LOCAL_PATH)/Android.build.testlib.mk
134
Dmitriy Ivanov04dc91a2014-07-01 14:10:16 -0700135# -----------------------------------------------------------------------------
Dmitriy Ivanov07e5bc12014-10-03 17:52:44 -0700136# Library used by dlext tests - zipped and aligned
137# -----------------------------------------------------------------------------
138include $(CLEAR_VARS)
Dmitriy Ivanov75d66dd2014-10-07 09:46:46 -0700139bionic_2nd_arch_prefix :=
Dmitriy Ivanov07e5bc12014-10-03 17:52:44 -0700140include $(LOCAL_PATH)/Android.build.dlext_testzip.mk
141ifneq ($(TARGET_2ND_ARCH),)
Dmitriy Ivanov75d66dd2014-10-07 09:46:46 -0700142 bionic_2nd_arch_prefix := $(TARGET_2ND_ARCH_VAR_PREFIX)
Dmitriy Ivanov07e5bc12014-10-03 17:52:44 -0700143 include $(LOCAL_PATH)/Android.build.dlext_testzip.mk
144endif
145
146# -----------------------------------------------------------------------------
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -0700147# Library used by dlfcn tests
148# -----------------------------------------------------------------------------
149libtest_simple_src_files := \
150 dlopen_testlib_simple.cpp
151
152module := libtest_simple
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700153include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -0700154
Dmitriy Ivanovd97e9f52014-06-29 12:28:37 -0700155# -----------------------------------------------------------------------------
Dmitriy Ivanov1b20daf2014-05-19 15:06:58 -0700156# Library used by dlfcn nodelete tests
157# -----------------------------------------------------------------------------
158libtest_nodelete_1_src_files := \
159 dlopen_nodelete_1.cpp
160
161module := libtest_nodelete_1
162include $(LOCAL_PATH)/Android.build.testlib.mk
163
164# -----------------------------------------------------------------------------
165# Library used by dlfcn nodelete tests
166# -----------------------------------------------------------------------------
167libtest_nodelete_2_src_files := \
168 dlopen_nodelete_2.cpp
169
170module := libtest_nodelete_2
171include $(LOCAL_PATH)/Android.build.testlib.mk
172
173# -----------------------------------------------------------------------------
174# Library used by dlfcn nodelete tests
175# -----------------------------------------------------------------------------
176libtest_nodelete_dt_flags_1_src_files := \
177 dlopen_nodelete_dt_flags_1.cpp
178
179libtest_nodelete_dt_flags_1_ldflags := -Wl,-z,nodelete
180
181module := libtest_nodelete_dt_flags_1
182include $(LOCAL_PATH)/Android.build.testlib.mk
183
184# -----------------------------------------------------------------------------
Dmitriy Ivanovab972b92014-11-29 13:57:41 -0800185# Build library with two parents
186# -----------------------------------------------------------------------------
187include $(LOCAL_PATH)/Android.build.dlopen_2_parents_reloc.mk
188
189# -----------------------------------------------------------------------------
Dmitriy Ivanovcfa97f12014-10-21 09:23:18 -0700190# Build libtest_check_order_dlsym.so with its dependencies.
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700191# -----------------------------------------------------------------------------
Dmitriy Ivanovcfa97f12014-10-21 09:23:18 -0700192include $(LOCAL_PATH)/Android.build.dlopen_check_order_dlsym.mk
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700193
194# -----------------------------------------------------------------------------
Dmitriy Ivanovcfa97f12014-10-21 09:23:18 -0700195# Build libtest_check_order_siblings.so with its dependencies.
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700196# -----------------------------------------------------------------------------
Dmitriy Ivanovcfa97f12014-10-21 09:23:18 -0700197include $(LOCAL_PATH)/Android.build.dlopen_check_order_reloc_siblings.mk
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700198
199# -----------------------------------------------------------------------------
Dmitriy Ivanovcfa97f12014-10-21 09:23:18 -0700200# Build libtest_check_order_root.so with its dependencies.
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700201# -----------------------------------------------------------------------------
Dmitriy Ivanovcfa97f12014-10-21 09:23:18 -0700202include $(LOCAL_PATH)/Android.build.dlopen_check_order_reloc_main_executable.mk
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700203
204# -----------------------------------------------------------------------------
Dmitriy Ivanov2a815362015-04-09 13:42:33 -0700205# Build libtest_versioned_lib.so with its dependencies.
206# -----------------------------------------------------------------------------
207include $(LOCAL_PATH)/Android.build.versioned_lib.mk
208
209# -----------------------------------------------------------------------------
Dmitriy Ivanovea295f62014-11-20 20:47:02 -0800210# Build libraries needed by pthread_atfork tests
211# -----------------------------------------------------------------------------
212include $(LOCAL_PATH)/Android.build.pthread_atfork.mk
213
214# -----------------------------------------------------------------------------
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700215# Library with dependency loop used by dlfcn tests
216#
217# libtest_with_dependency_loop -> a -> b -> c -> a
218# -----------------------------------------------------------------------------
Dmitriy Ivanovab972b92014-11-29 13:57:41 -0800219libtest_with_dependency_loop_src_files := dlopen_testlib_loopy_root.cpp
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700220
221libtest_with_dependency_loop_shared_libraries := \
222 libtest_with_dependency_loop_a
223
224module := libtest_with_dependency_loop
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700225include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700226
227# -----------------------------------------------------------------------------
228# libtest_with_dependency_loop_a.so
229# -----------------------------------------------------------------------------
Dmitriy Ivanovab972b92014-11-29 13:57:41 -0800230libtest_with_dependency_loop_a_src_files := dlopen_testlib_loopy_a.cpp
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700231
232libtest_with_dependency_loop_a_shared_libraries := \
233 libtest_with_dependency_loop_b_tmp
234
235module := libtest_with_dependency_loop_a
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700236include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700237
238# -----------------------------------------------------------------------------
239# libtest_with_dependency_loop_b.so
240#
241# this is temporary placeholder - will be removed
242# -----------------------------------------------------------------------------
Dmitriy Ivanovab972b92014-11-29 13:57:41 -0800243libtest_with_dependency_loop_b_tmp_src_files := dlopen_testlib_loopy_invalid.cpp
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700244libtest_with_dependency_loop_b_tmp_ldflags := -Wl,-soname=libtest_with_dependency_loop_b.so
245
246module := libtest_with_dependency_loop_b_tmp
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700247include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700248
249# -----------------------------------------------------------------------------
250# libtest_with_dependency_loop_b.so
251# -----------------------------------------------------------------------------
Dmitriy Ivanovab972b92014-11-29 13:57:41 -0800252libtest_with_dependency_loop_b_src_files := dlopen_testlib_loopy_b.cpp
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700253libtest_with_dependency_loop_b_shared_libraries := libtest_with_dependency_loop_c
254
255module := libtest_with_dependency_loop_b
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700256include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700257
258# -----------------------------------------------------------------------------
259# libtest_with_dependency_loop_c.so
260# -----------------------------------------------------------------------------
Dmitriy Ivanovab972b92014-11-29 13:57:41 -0800261libtest_with_dependency_loop_c_src_files := dlopen_testlib_loopy_c.cpp
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700262
263libtest_with_dependency_loop_c_shared_libraries := \
264 libtest_with_dependency_loop_a
265
266module := libtest_with_dependency_loop_c
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700267include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700268
269# -----------------------------------------------------------------------------
Dmitriy Ivanovb2a30ee2014-09-04 18:23:00 -0700270# libtest_relo_check_dt_needed_order.so
271# |
272# +-> libtest_relo_check_dt_needed_order_1.so
273# |
274# +-> libtest_relo_check_dt_needed_order_2.so
275# -----------------------------------------------------------------------------
276libtest_relo_check_dt_needed_order_shared_libraries := \
277 libtest_relo_check_dt_needed_order_1 libtest_relo_check_dt_needed_order_2
278
279libtest_relo_check_dt_needed_order_src_files := dlopen_testlib_relo_check_dt_needed_order.cpp
280libtest_relo_check_dt_needed_order_1_src_files := dlopen_testlib_relo_check_dt_needed_order_1.cpp
281libtest_relo_check_dt_needed_order_2_src_files := dlopen_testlib_relo_check_dt_needed_order_2.cpp
Dmitriy Ivanovb2a30ee2014-09-04 18:23:00 -0700282
283module := libtest_relo_check_dt_needed_order
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700284include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanovb2a30ee2014-09-04 18:23:00 -0700285module := libtest_relo_check_dt_needed_order_1
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700286include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanovb2a30ee2014-09-04 18:23:00 -0700287module := libtest_relo_check_dt_needed_order_2
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700288include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanovb2a30ee2014-09-04 18:23:00 -0700289
290# -----------------------------------------------------------------------------
Dmitriy Ivanovaa0f2bd2014-07-28 17:32:20 -0700291# Library with dependency used by dlfcn tests
292# -----------------------------------------------------------------------------
293libtest_with_dependency_src_files := \
294 dlopen_testlib_simple.cpp
295
296libtest_with_dependency_shared_libraries := libdlext_test
297
298module := libtest_with_dependency
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700299include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanovaa0f2bd2014-07-28 17:32:20 -0700300
301# -----------------------------------------------------------------------------
Brigid Smithc5a13ef2014-07-23 11:22:25 -0700302# Library used by ifunc tests
303# -----------------------------------------------------------------------------
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700304libtest_ifunc_src_files := \
305 dlopen_testlib_ifunc.c
306
307libtest_ifunc_clang_host := false
308module := libtest_ifunc
309build_target := SHARED_LIBRARY
310
311build_type := host
312include $(TEST_PATH)/Android.build.mk
313
Dmitriy Ivanov9aea1642014-09-11 15:16:03 -0700314ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),arm64 x86 x86_64))
Dmitriy Ivanov9aea1642014-09-11 15:16:03 -0700315 ifeq ($(TARGET_ARCH),arm64)
316 libtest_ifunc_multilib := 64
317 # TODO: This is a workaround - remove it once gcc
318 # removes its Android ifunc checks
319 libtest_ifunc_cflags := -mglibc
320 endif
321
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700322 build_type := target
Chih-Hung Hsiehb0862982014-10-24 11:04:51 -0700323 libtest_ifunc_clang_target := false
Brigid Smithc5a13ef2014-07-23 11:22:25 -0700324 include $(TEST_PATH)/Android.build.mk
325endif
326
327# -----------------------------------------------------------------------------
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -0700328# Library used by atexit tests
329# -----------------------------------------------------------------------------
330
331libtest_atexit_src_files := \
332 atexit_testlib.cpp
333
334module := libtest_atexit
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700335include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -0700336
Dmitriy Ivanovce441662014-06-17 15:56:38 -0700337# -----------------------------------------------------------------------------
Dmitriy Ivanovd225a5e2014-08-28 14:12:12 -0700338# This library is used by dl_load test to check symbol preempting
339# by main executable
340# -----------------------------------------------------------------------------
341libdl_preempt_test_1_src_files := dl_preempt_library_1.cpp
342
343module := libdl_preempt_test_1
344include $(LOCAL_PATH)/Android.build.testlib.mk
345
346# -----------------------------------------------------------------------------
347# This library is used by dl_load test to check symbol preempting
348# by libdl_preempt_test_1.so
349# -----------------------------------------------------------------------------
350libdl_preempt_test_2_src_files := dl_preempt_library_2.cpp
351
352module := libdl_preempt_test_2
353include $(LOCAL_PATH)/Android.build.testlib.mk
354
355# -----------------------------------------------------------------------------
356# Library with DF_1_GLOBAL
357# -----------------------------------------------------------------------------
Dmitriy Ivanovd225a5e2014-08-28 14:12:12 -0700358libdl_test_df_1_global_src_files := dl_df_1_global.cpp
Dmitriy Ivanov6612d7a2015-04-24 16:26:03 -0700359libdl_test_df_1_global_ldflags := -Wl,-z,global
Dmitriy Ivanovff407802015-05-14 21:28:21 -0700360
Dmitriy Ivanov6612d7a2015-04-24 16:26:03 -0700361# TODO (dimitry): host ld.gold does not yet support -z global
362# remove this line once it is updated.
363libdl_test_df_1_global_ldflags_host := -fuse-ld=bfd
364
Dmitriy Ivanovd225a5e2014-08-28 14:12:12 -0700365module := libdl_test_df_1_global
366include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanovd225a5e2014-08-28 14:12:12 -0700367
368# -----------------------------------------------------------------------------
369# Library using symbol from libdl_test_df_1_global
370# -----------------------------------------------------------------------------
371libtest_dlsym_df_1_global_src_files := dl_df_1_use_global.cpp
372module := libtest_dlsym_df_1_global
373include $(LOCAL_PATH)/Android.build.testlib.mk
374
375# -----------------------------------------------------------------------------
Dmitriy Ivanovce441662014-06-17 15:56:38 -0700376# Library with weak function
377# -----------------------------------------------------------------------------
378libtest_dlsym_weak_func_src_files := \
379 dlsym_weak_function.cpp
380
381module := libtest_dlsym_weak_func
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700382include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanovbfa88bc2014-12-16 11:40:46 -0800383
384# -----------------------------------------------------------------------------
Dmitriy Ivanov76ac1ac2015-04-01 14:45:10 -0700385# Library to check RTLD_LOCAL with dlsym in 'this'
386# -----------------------------------------------------------------------------
Dmitriy Ivanov4bac6ea2015-05-12 11:12:27 -0700387libtest_dlsym_from_this_src_files := dlsym_from_this_symbol.cpp
388
389libtest_dlsym_from_this_shared_libraries_target := libdl
390libtest_dlsym_from_this_shared_libraries := libtest_dlsym_from_this_child
Dmitriy Ivanov76ac1ac2015-04-01 14:45:10 -0700391
392module := libtest_dlsym_from_this
Dmitriy Ivanov4bac6ea2015-05-12 11:12:27 -0700393include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov76ac1ac2015-04-01 14:45:10 -0700394
Dmitriy Ivanov4bac6ea2015-05-12 11:12:27 -0700395# -----------------------------------------------------------------------------
396libtest_dlsym_from_this_child_src_files := dlsym_from_this_functions.cpp
397
398libtest_dlsym_from_this_child_shared_libraries := libtest_dlsym_from_this_grandchild
399
400module := libtest_dlsym_from_this_child
401include $(LOCAL_PATH)/Android.build.testlib.mk
402
403# -----------------------------------------------------------------------------
404libtest_dlsym_from_this_grandchild_src_files := dlsym_from_this_symbol2.cpp
405
406module := libtest_dlsym_from_this_grandchild
Dmitriy Ivanov76ac1ac2015-04-01 14:45:10 -0700407include $(LOCAL_PATH)/Android.build.testlib.mk
408
409# -----------------------------------------------------------------------------
Dmitriy Ivanovc4ebe602015-05-30 13:04:39 -0700410# Empty library
411# -----------------------------------------------------------------------------
412libtest_empty_src_files := empty.cpp
413
414module := libtest_empty
415include $(LOCAL_PATH)/Android.build.testlib.mk
416
417# -----------------------------------------------------------------------------
Dmitriy Ivanovbfa88bc2014-12-16 11:40:46 -0800418# Library with weak undefined function
419# -----------------------------------------------------------------------------
420libtest_dlopen_weak_undefined_func_src_files := \
421 dlopen_weak_undefined.cpp
422
423module := libtest_dlopen_weak_undefined_func
424include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov279a22f2015-01-23 12:03:53 -0800425
426# -----------------------------------------------------------------------------
427# Library with constructor that calls dlopen() b/7941716
428# -----------------------------------------------------------------------------
429libtest_dlopen_from_ctor_src_files := \
430 dlopen_testlib_dlopen_from_ctor.cpp
431
432module := libtest_dlopen_from_ctor
433
Dmitriy Ivanov45c57132015-04-03 15:17:52 -0700434libtest_dlopen_from_ctor_shared_libraries_target := libdl
Dmitriy Ivanov279a22f2015-01-23 12:03:53 -0800435
Dmitriy Ivanov45c57132015-04-03 15:17:52 -0700436include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov279a22f2015-01-23 12:03:53 -0800437
438# -----------------------------------------------------------------------------
439# Library that depends on the library with constructor that calls dlopen() b/7941716
440# -----------------------------------------------------------------------------
441
442libtest_dlopen_from_ctor_main_src_files := empty.cpp
443libtest_dlopen_from_ctor_main_shared_libraries := libtest_dlopen_from_ctor
444
445module := libtest_dlopen_from_ctor_main
446include $(LOCAL_PATH)/Android.build.testlib.mk