blob: c432c2e98a61af7554c5b438dd64844a06ea687a [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
70module := libdlext_test
71module_tag := optional
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -070072include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -070073
74# -----------------------------------------------------------------------------
75# create symlink to libdlext_test.so for symlink test
76# -----------------------------------------------------------------------------
77# Use = instead of := to defer the evaluation of $@
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -070078$(TARGET_OUT)/lib/libdlext_test.so: PRIVATE_POST_INSTALL_CMD = \
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -070079 $(hide) cd $(dir $@) && ln -sf $(notdir $@) libdlext_test_v2.so
80
81ifneq ($(TARGET_2ND_ARCH),)
82# link 64 bit .so
83$(TARGET_OUT)/lib64/libdlext_test.so: PRIVATE_POST_INSTALL_CMD = \
84 $(hide) cd $(dir $@) && ln -sf $(notdir $@) libdlext_test_v2.so
85endif
86
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -070087# host symlinks
88$(HOST_OUT)/lib64/libdlext_test.so: PRIVATE_POST_INSTALL_CMD = \
89 $(hide) cd $(dir $@) && ln -sf $(notdir $@) libdlext_test_v2.so
90
91$(HOST_OUT)/lib/libdlext_test.so: PRIVATE_POST_INSTALL_CMD = \
92 $(hide) cd $(dir $@) && ln -sf $(notdir $@) libdlext_test_v2.so
93
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -070094# -----------------------------------------------------------------------------
95# Library used by dlext tests - without GNU RELRO program header
96# -----------------------------------------------------------------------------
97libdlext_test_norelro_src_files := \
98 dlext_test_library.cpp \
99
100libdlext_test_norelro_ldflags := \
101 -Wl,-z,norelro \
102
103module := libdlext_test_norelro
104module_tag := optional
105build_type := target
106build_target := SHARED_LIBRARY
107include $(TEST_PATH)/Android.build.mk
108
109# -----------------------------------------------------------------------------
Dmitriy Ivanov04dc91a2014-07-01 14:10:16 -0700110# Library used by dlext tests - different name non-default location
111# -----------------------------------------------------------------------------
112libdlext_test_fd_src_files := \
113 dlext_test_library.cpp \
114
115libdlext_test_fd_install_to_out_data := true
116module := libdlext_test_fd
117module_tag := optional
118build_type := target
119build_target := SHARED_LIBRARY
120include $(TEST_PATH)/Android.build.mk
121
Dmitriy Ivanov618f1a32015-03-17 20:06:36 -0700122# ----------------------------------------------------------------------------
123# Library with soname which does not match filename
124# ----------------------------------------------------------------------------
125libdlext_test_different_soname_src_files := \
126 dlext_test_library.cpp \
127
128module := libdlext_test_different_soname
129module_tag := optional
130libdlext_test_different_soname_ldflags := -Wl,-soname=libdlext_test_soname.so
131include $(LOCAL_PATH)/Android.build.testlib.mk
132
Dmitriy Ivanov04dc91a2014-07-01 14:10:16 -0700133# -----------------------------------------------------------------------------
Dmitriy Ivanov07e5bc12014-10-03 17:52:44 -0700134# Library used by dlext tests - zipped and aligned
135# -----------------------------------------------------------------------------
136include $(CLEAR_VARS)
Dmitriy Ivanov75d66dd2014-10-07 09:46:46 -0700137bionic_2nd_arch_prefix :=
Dmitriy Ivanov07e5bc12014-10-03 17:52:44 -0700138include $(LOCAL_PATH)/Android.build.dlext_testzip.mk
139ifneq ($(TARGET_2ND_ARCH),)
Dmitriy Ivanov75d66dd2014-10-07 09:46:46 -0700140 bionic_2nd_arch_prefix := $(TARGET_2ND_ARCH_VAR_PREFIX)
Dmitriy Ivanov07e5bc12014-10-03 17:52:44 -0700141 include $(LOCAL_PATH)/Android.build.dlext_testzip.mk
142endif
143
144# -----------------------------------------------------------------------------
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -0700145# Library used by dlfcn tests
146# -----------------------------------------------------------------------------
147libtest_simple_src_files := \
148 dlopen_testlib_simple.cpp
149
150module := libtest_simple
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700151include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -0700152
Dmitriy Ivanovd97e9f52014-06-29 12:28:37 -0700153# -----------------------------------------------------------------------------
Dmitriy Ivanov1b20daf2014-05-19 15:06:58 -0700154# Library used by dlfcn nodelete tests
155# -----------------------------------------------------------------------------
156libtest_nodelete_1_src_files := \
157 dlopen_nodelete_1.cpp
158
159module := libtest_nodelete_1
160include $(LOCAL_PATH)/Android.build.testlib.mk
161
162# -----------------------------------------------------------------------------
163# Library used by dlfcn nodelete tests
164# -----------------------------------------------------------------------------
165libtest_nodelete_2_src_files := \
166 dlopen_nodelete_2.cpp
167
168module := libtest_nodelete_2
169include $(LOCAL_PATH)/Android.build.testlib.mk
170
171# -----------------------------------------------------------------------------
172# Library used by dlfcn nodelete tests
173# -----------------------------------------------------------------------------
174libtest_nodelete_dt_flags_1_src_files := \
175 dlopen_nodelete_dt_flags_1.cpp
176
177libtest_nodelete_dt_flags_1_ldflags := -Wl,-z,nodelete
178
179module := libtest_nodelete_dt_flags_1
180include $(LOCAL_PATH)/Android.build.testlib.mk
181
182# -----------------------------------------------------------------------------
Dmitriy Ivanovab972b92014-11-29 13:57:41 -0800183# Build library with two parents
184# -----------------------------------------------------------------------------
185include $(LOCAL_PATH)/Android.build.dlopen_2_parents_reloc.mk
186
187# -----------------------------------------------------------------------------
Dmitriy Ivanovcfa97f12014-10-21 09:23:18 -0700188# Build libtest_check_order_dlsym.so with its dependencies.
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700189# -----------------------------------------------------------------------------
Dmitriy Ivanovcfa97f12014-10-21 09:23:18 -0700190include $(LOCAL_PATH)/Android.build.dlopen_check_order_dlsym.mk
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700191
192# -----------------------------------------------------------------------------
Dmitriy Ivanovcfa97f12014-10-21 09:23:18 -0700193# Build libtest_check_order_siblings.so with its dependencies.
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700194# -----------------------------------------------------------------------------
Dmitriy Ivanovcfa97f12014-10-21 09:23:18 -0700195include $(LOCAL_PATH)/Android.build.dlopen_check_order_reloc_siblings.mk
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700196
197# -----------------------------------------------------------------------------
Dmitriy Ivanovcfa97f12014-10-21 09:23:18 -0700198# Build libtest_check_order_root.so with its dependencies.
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700199# -----------------------------------------------------------------------------
Dmitriy Ivanovcfa97f12014-10-21 09:23:18 -0700200include $(LOCAL_PATH)/Android.build.dlopen_check_order_reloc_main_executable.mk
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700201
202# -----------------------------------------------------------------------------
Dmitriy Ivanov2a815362015-04-09 13:42:33 -0700203# Build libtest_versioned_lib.so with its dependencies.
204# -----------------------------------------------------------------------------
205include $(LOCAL_PATH)/Android.build.versioned_lib.mk
206
207# -----------------------------------------------------------------------------
Dmitriy Ivanovea295f62014-11-20 20:47:02 -0800208# Build libraries needed by pthread_atfork tests
209# -----------------------------------------------------------------------------
210include $(LOCAL_PATH)/Android.build.pthread_atfork.mk
211
212# -----------------------------------------------------------------------------
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700213# Library with dependency loop used by dlfcn tests
214#
215# libtest_with_dependency_loop -> a -> b -> c -> a
216# -----------------------------------------------------------------------------
Dmitriy Ivanovab972b92014-11-29 13:57:41 -0800217libtest_with_dependency_loop_src_files := dlopen_testlib_loopy_root.cpp
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700218
219libtest_with_dependency_loop_shared_libraries := \
220 libtest_with_dependency_loop_a
221
222module := libtest_with_dependency_loop
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700223include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700224
225# -----------------------------------------------------------------------------
226# libtest_with_dependency_loop_a.so
227# -----------------------------------------------------------------------------
Dmitriy Ivanovab972b92014-11-29 13:57:41 -0800228libtest_with_dependency_loop_a_src_files := dlopen_testlib_loopy_a.cpp
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700229
230libtest_with_dependency_loop_a_shared_libraries := \
231 libtest_with_dependency_loop_b_tmp
232
233module := libtest_with_dependency_loop_a
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700234include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700235
236# -----------------------------------------------------------------------------
237# libtest_with_dependency_loop_b.so
238#
239# this is temporary placeholder - will be removed
240# -----------------------------------------------------------------------------
Dmitriy Ivanovab972b92014-11-29 13:57:41 -0800241libtest_with_dependency_loop_b_tmp_src_files := dlopen_testlib_loopy_invalid.cpp
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700242libtest_with_dependency_loop_b_tmp_ldflags := -Wl,-soname=libtest_with_dependency_loop_b.so
243
244module := libtest_with_dependency_loop_b_tmp
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700245include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700246
247# -----------------------------------------------------------------------------
248# libtest_with_dependency_loop_b.so
249# -----------------------------------------------------------------------------
Dmitriy Ivanovab972b92014-11-29 13:57:41 -0800250libtest_with_dependency_loop_b_src_files := dlopen_testlib_loopy_b.cpp
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700251libtest_with_dependency_loop_b_shared_libraries := libtest_with_dependency_loop_c
252
253module := libtest_with_dependency_loop_b
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700254include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700255
256# -----------------------------------------------------------------------------
257# libtest_with_dependency_loop_c.so
258# -----------------------------------------------------------------------------
Dmitriy Ivanovab972b92014-11-29 13:57:41 -0800259libtest_with_dependency_loop_c_src_files := dlopen_testlib_loopy_c.cpp
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700260
261libtest_with_dependency_loop_c_shared_libraries := \
262 libtest_with_dependency_loop_a
263
264module := libtest_with_dependency_loop_c
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700265include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700266
267# -----------------------------------------------------------------------------
Dmitriy Ivanovb2a30ee2014-09-04 18:23:00 -0700268# libtest_relo_check_dt_needed_order.so
269# |
270# +-> libtest_relo_check_dt_needed_order_1.so
271# |
272# +-> libtest_relo_check_dt_needed_order_2.so
273# -----------------------------------------------------------------------------
274libtest_relo_check_dt_needed_order_shared_libraries := \
275 libtest_relo_check_dt_needed_order_1 libtest_relo_check_dt_needed_order_2
276
277libtest_relo_check_dt_needed_order_src_files := dlopen_testlib_relo_check_dt_needed_order.cpp
278libtest_relo_check_dt_needed_order_1_src_files := dlopen_testlib_relo_check_dt_needed_order_1.cpp
279libtest_relo_check_dt_needed_order_2_src_files := dlopen_testlib_relo_check_dt_needed_order_2.cpp
Dmitriy Ivanovb2a30ee2014-09-04 18:23:00 -0700280
281module := libtest_relo_check_dt_needed_order
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700282include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanovb2a30ee2014-09-04 18:23:00 -0700283module := libtest_relo_check_dt_needed_order_1
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_2
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700286include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanovb2a30ee2014-09-04 18:23:00 -0700287
288# -----------------------------------------------------------------------------
Dmitriy Ivanovaa0f2bd2014-07-28 17:32:20 -0700289# Library with dependency used by dlfcn tests
290# -----------------------------------------------------------------------------
291libtest_with_dependency_src_files := \
292 dlopen_testlib_simple.cpp
293
294libtest_with_dependency_shared_libraries := libdlext_test
295
296module := libtest_with_dependency
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700297include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanovaa0f2bd2014-07-28 17:32:20 -0700298
299# -----------------------------------------------------------------------------
Brigid Smithc5a13ef2014-07-23 11:22:25 -0700300# Library used by ifunc tests
301# -----------------------------------------------------------------------------
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700302libtest_ifunc_src_files := \
303 dlopen_testlib_ifunc.c
304
305libtest_ifunc_clang_host := false
306module := libtest_ifunc
307build_target := SHARED_LIBRARY
308
309build_type := host
310include $(TEST_PATH)/Android.build.mk
311
Dmitriy Ivanov9aea1642014-09-11 15:16:03 -0700312ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),arm64 x86 x86_64))
Dmitriy Ivanov9aea1642014-09-11 15:16:03 -0700313 ifeq ($(TARGET_ARCH),arm64)
314 libtest_ifunc_multilib := 64
315 # TODO: This is a workaround - remove it once gcc
316 # removes its Android ifunc checks
317 libtest_ifunc_cflags := -mglibc
318 endif
319
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700320 build_type := target
Chih-Hung Hsiehb0862982014-10-24 11:04:51 -0700321 libtest_ifunc_clang_target := false
Brigid Smithc5a13ef2014-07-23 11:22:25 -0700322 include $(TEST_PATH)/Android.build.mk
323endif
324
325# -----------------------------------------------------------------------------
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -0700326# Library used by atexit tests
327# -----------------------------------------------------------------------------
328
329libtest_atexit_src_files := \
330 atexit_testlib.cpp
331
332module := libtest_atexit
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700333include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -0700334
Dmitriy Ivanovce441662014-06-17 15:56:38 -0700335# -----------------------------------------------------------------------------
Dmitriy Ivanovd225a5e2014-08-28 14:12:12 -0700336# This library is used by dl_load test to check symbol preempting
337# by main executable
338# -----------------------------------------------------------------------------
339libdl_preempt_test_1_src_files := dl_preempt_library_1.cpp
340
341module := libdl_preempt_test_1
342include $(LOCAL_PATH)/Android.build.testlib.mk
343
344# -----------------------------------------------------------------------------
345# This library is used by dl_load test to check symbol preempting
346# by libdl_preempt_test_1.so
347# -----------------------------------------------------------------------------
348libdl_preempt_test_2_src_files := dl_preempt_library_2.cpp
349
350module := libdl_preempt_test_2
351include $(LOCAL_PATH)/Android.build.testlib.mk
352
353# -----------------------------------------------------------------------------
354# Library with DF_1_GLOBAL
355# -----------------------------------------------------------------------------
Dmitriy Ivanovd225a5e2014-08-28 14:12:12 -0700356libdl_test_df_1_global_src_files := dl_df_1_global.cpp
Dmitriy Ivanov6612d7a2015-04-24 16:26:03 -0700357libdl_test_df_1_global_ldflags := -Wl,-z,global
Dmitriy Ivanove91e66f2015-04-24 21:05:49 -0700358# TODO (dimitry): x86* toolchain does not support -z global - switch to bfd
359ifeq ($(filter $(TARGET_ARCH),x86 x86_64),$(TARGET_ARCH))
360libdl_test_df_1_global_ldflags_target := -fuse-ld=bfd
361endif
Dmitriy Ivanov6612d7a2015-04-24 16:26:03 -0700362# TODO (dimitry): host ld.gold does not yet support -z global
363# remove this line once it is updated.
364libdl_test_df_1_global_ldflags_host := -fuse-ld=bfd
365
Dmitriy Ivanovd225a5e2014-08-28 14:12:12 -0700366module := libdl_test_df_1_global
367include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanovd225a5e2014-08-28 14:12:12 -0700368
369# -----------------------------------------------------------------------------
370# Library using symbol from libdl_test_df_1_global
371# -----------------------------------------------------------------------------
372libtest_dlsym_df_1_global_src_files := dl_df_1_use_global.cpp
373module := libtest_dlsym_df_1_global
374include $(LOCAL_PATH)/Android.build.testlib.mk
375
376# -----------------------------------------------------------------------------
Dmitriy Ivanovce441662014-06-17 15:56:38 -0700377# Library with weak function
378# -----------------------------------------------------------------------------
379libtest_dlsym_weak_func_src_files := \
380 dlsym_weak_function.cpp
381
382module := libtest_dlsym_weak_func
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700383include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanovbfa88bc2014-12-16 11:40:46 -0800384
385# -----------------------------------------------------------------------------
Dmitriy Ivanov76ac1ac2015-04-01 14:45:10 -0700386# Library to check RTLD_LOCAL with dlsym in 'this'
387# -----------------------------------------------------------------------------
388libtest_dlsym_from_this_src_files := dlsym_from_this.cpp
389
390module := libtest_dlsym_from_this
Dmitriy Ivanov45c57132015-04-03 15:17:52 -0700391libtest_dlsym_from_this_shared_libraries_target := libdl
Dmitriy Ivanov76ac1ac2015-04-01 14:45:10 -0700392
393include $(LOCAL_PATH)/Android.build.testlib.mk
394
395# -----------------------------------------------------------------------------
Dmitriy Ivanovbfa88bc2014-12-16 11:40:46 -0800396# Library with weak undefined function
397# -----------------------------------------------------------------------------
398libtest_dlopen_weak_undefined_func_src_files := \
399 dlopen_weak_undefined.cpp
400
401module := libtest_dlopen_weak_undefined_func
402include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov279a22f2015-01-23 12:03:53 -0800403
404# -----------------------------------------------------------------------------
405# Library with constructor that calls dlopen() b/7941716
406# -----------------------------------------------------------------------------
407libtest_dlopen_from_ctor_src_files := \
408 dlopen_testlib_dlopen_from_ctor.cpp
409
410module := libtest_dlopen_from_ctor
411
Dmitriy Ivanov45c57132015-04-03 15:17:52 -0700412libtest_dlopen_from_ctor_shared_libraries_target := libdl
Dmitriy Ivanov279a22f2015-01-23 12:03:53 -0800413
Dmitriy Ivanov45c57132015-04-03 15:17:52 -0700414include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov279a22f2015-01-23 12:03:53 -0800415
416# -----------------------------------------------------------------------------
417# Library that depends on the library with constructor that calls dlopen() b/7941716
418# -----------------------------------------------------------------------------
419
420libtest_dlopen_from_ctor_main_src_files := empty.cpp
421libtest_dlopen_from_ctor_main_shared_libraries := libtest_dlopen_from_ctor
422
423module := libtest_dlopen_from_ctor_main
424include $(LOCAL_PATH)/Android.build.testlib.mk