blob: aa70b866a62bb9bb93aa8be2f9ff9d33bd5510a1 [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
Dan Albert53416912015-08-10 16:40:06 -070020common_cppflags :=
Dmitriy Ivanov4a9e1932014-10-17 11:47:18 -070021common_additional_dependencies := \
22 $(LOCAL_PATH)/Android.mk \
Evgenii Stepanov68650822015-06-10 13:38:39 -070023 $(LOCAL_PATH)/Android.build.dt_runpath.mk \
Dmitriy Ivanov4a9e1932014-10-17 11:47:18 -070024 $(LOCAL_PATH)/Android.build.dlext_testzip.mk \
Dmitriy Ivanovab972b92014-11-29 13:57:41 -080025 $(LOCAL_PATH)/Android.build.dlopen_2_parents_reloc.mk \
Dmitriy Ivanovcfa97f12014-10-21 09:23:18 -070026 $(LOCAL_PATH)/Android.build.dlopen_check_order_dlsym.mk \
27 $(LOCAL_PATH)/Android.build.dlopen_check_order_reloc_siblings.mk \
28 $(LOCAL_PATH)/Android.build.dlopen_check_order_reloc_main_executable.mk \
Dmitriy Ivanov42d5fcb2015-10-29 17:01:24 -070029 $(LOCAL_PATH)/Android.build.linker_namespaces.mk \
Dmitriy Ivanovea295f62014-11-20 20:47:02 -080030 $(LOCAL_PATH)/Android.build.pthread_atfork.mk \
Dmitriy Ivanov4a9e1932014-10-17 11:47:18 -070031 $(LOCAL_PATH)/Android.build.testlib.mk \
Dmitriy Ivanov2a815362015-04-09 13:42:33 -070032 $(LOCAL_PATH)/Android.build.versioned_lib.mk \
Dmitriy Ivanov4a9e1932014-10-17 11:47:18 -070033 $(TEST_PATH)/Android.build.mk
34
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -070035# -----------------------------------------------------------------------------
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -070036# Library used by dlext tests - with GNU RELRO program header
37# -----------------------------------------------------------------------------
38libdlext_test_src_files := \
39 dlext_test_library.cpp \
40
41libdlext_test_ldflags := \
42 -Wl,-z,relro \
43
Dmitriy Ivanovedfc9f62015-09-02 16:32:02 -070044libdlext_test_shared_libraries := libtest_simple
45
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -070046module := libdlext_test
47module_tag := optional
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -070048include $(LOCAL_PATH)/Android.build.testlib.mk
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -070049
50# -----------------------------------------------------------------------------
51# create symlink to libdlext_test.so for symlink test
52# -----------------------------------------------------------------------------
53# Use = instead of := to defer the evaluation of $@
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -070054$(TARGET_OUT)/lib/libdlext_test.so: PRIVATE_POST_INSTALL_CMD = \
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -070055 $(hide) cd $(dir $@) && ln -sf $(notdir $@) libdlext_test_v2.so
56
57ifneq ($(TARGET_2ND_ARCH),)
58# link 64 bit .so
59$(TARGET_OUT)/lib64/libdlext_test.so: PRIVATE_POST_INSTALL_CMD = \
60 $(hide) cd $(dir $@) && ln -sf $(notdir $@) libdlext_test_v2.so
61endif
62
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -070063# host symlinks
64$(HOST_OUT)/lib64/libdlext_test.so: PRIVATE_POST_INSTALL_CMD = \
65 $(hide) cd $(dir $@) && ln -sf $(notdir $@) libdlext_test_v2.so
66
67$(HOST_OUT)/lib/libdlext_test.so: PRIVATE_POST_INSTALL_CMD = \
68 $(hide) cd $(dir $@) && ln -sf $(notdir $@) libdlext_test_v2.so
69
Dmitriy Ivanov1f5e1a32014-06-02 16:29:00 -070070# -----------------------------------------------------------------------------
Dmitriy Ivanov04dc91a2014-07-01 14:10:16 -070071# Library used by dlext tests - different name non-default location
72# -----------------------------------------------------------------------------
73libdlext_test_fd_src_files := \
74 dlext_test_library.cpp \
75
Dmitriy Ivanovedfc9f62015-09-02 16:32:02 -070076libdlext_test_fd_shared_libraries := libtest_simple
77
Dmitriy Ivanov04dc91a2014-07-01 14:10:16 -070078libdlext_test_fd_install_to_out_data := true
79module := libdlext_test_fd
80module_tag := optional
81build_type := target
82build_target := SHARED_LIBRARY
83include $(TEST_PATH)/Android.build.mk
84
Dmitriy Ivanovb4827502015-09-28 16:38:31 -070085
86# -----------------------------------------------------------------------------
87# Libraries used by dlext tests for open from a zip-file
88# -----------------------------------------------------------------------------
89libdlext_test_zip_src_files := \
90 dlext_test_library.cpp \
91
92libdlext_test_zip_shared_libraries := libatest_simple_zip
93
94libdlext_test_zip_install_to_out_data := true
95module := libdlext_test_zip
96module_tag := optional
97build_type := target
98build_target := SHARED_LIBRARY
99include $(TEST_PATH)/Android.build.mk
100
101libatest_simple_zip_src_files := \
102 dlopen_testlib_simple.cpp
103
104libatest_simple_zip_install_to_out_data := true
105module := libatest_simple_zip
106module_tag := optional
107build_type := target
108build_target := SHARED_LIBRARY
109include $(TEST_PATH)/Android.build.mk
110
Dmitriy Ivanov618f1a32015-03-17 20:06:36 -0700111# ----------------------------------------------------------------------------
112# Library with soname which does not match filename
113# ----------------------------------------------------------------------------
114libdlext_test_different_soname_src_files := \
115 dlext_test_library.cpp \
116
117module := libdlext_test_different_soname
118module_tag := optional
119libdlext_test_different_soname_ldflags := -Wl,-soname=libdlext_test_soname.so
120include $(LOCAL_PATH)/Android.build.testlib.mk
121
Dmitriy Ivanov04dc91a2014-07-01 14:10:16 -0700122# -----------------------------------------------------------------------------
Dmitriy Ivanov07e5bc12014-10-03 17:52:44 -0700123# Library used by dlext tests - zipped and aligned
124# -----------------------------------------------------------------------------
125include $(CLEAR_VARS)
Dmitriy Ivanov75d66dd2014-10-07 09:46:46 -0700126bionic_2nd_arch_prefix :=
Dmitriy Ivanov07e5bc12014-10-03 17:52:44 -0700127include $(LOCAL_PATH)/Android.build.dlext_testzip.mk
128ifneq ($(TARGET_2ND_ARCH),)
Dmitriy Ivanov75d66dd2014-10-07 09:46:46 -0700129 bionic_2nd_arch_prefix := $(TARGET_2ND_ARCH_VAR_PREFIX)
Dmitriy Ivanov07e5bc12014-10-03 17:52:44 -0700130 include $(LOCAL_PATH)/Android.build.dlext_testzip.mk
131endif
132
133# -----------------------------------------------------------------------------
Dmitriy Ivanov42d5fcb2015-10-29 17:01:24 -0700134# Build test helper libraries for linker namespaces
135# -----------------------------------------------------------------------------
136include $(LOCAL_PATH)/Android.build.linker_namespaces.mk
137
138# -----------------------------------------------------------------------------
Evgenii Stepanov68650822015-06-10 13:38:39 -0700139# Build DT_RUNPATH test helper libraries
140# -----------------------------------------------------------------------------
141include $(LOCAL_PATH)/Android.build.dt_runpath.mk
142
143# -----------------------------------------------------------------------------
Dmitriy Ivanovab972b92014-11-29 13:57:41 -0800144# Build library with two parents
145# -----------------------------------------------------------------------------
146include $(LOCAL_PATH)/Android.build.dlopen_2_parents_reloc.mk
147
148# -----------------------------------------------------------------------------
Dmitriy Ivanovcfa97f12014-10-21 09:23:18 -0700149# Build libtest_check_order_dlsym.so with its dependencies.
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700150# -----------------------------------------------------------------------------
Dmitriy Ivanovcfa97f12014-10-21 09:23:18 -0700151include $(LOCAL_PATH)/Android.build.dlopen_check_order_dlsym.mk
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700152
153# -----------------------------------------------------------------------------
Dmitriy Ivanovcfa97f12014-10-21 09:23:18 -0700154# Build libtest_check_order_siblings.so with its dependencies.
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700155# -----------------------------------------------------------------------------
Dmitriy Ivanovcfa97f12014-10-21 09:23:18 -0700156include $(LOCAL_PATH)/Android.build.dlopen_check_order_reloc_siblings.mk
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700157
158# -----------------------------------------------------------------------------
Dmitriy Ivanovcfa97f12014-10-21 09:23:18 -0700159# Build libtest_check_order_root.so with its dependencies.
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700160# -----------------------------------------------------------------------------
Dmitriy Ivanovcfa97f12014-10-21 09:23:18 -0700161include $(LOCAL_PATH)/Android.build.dlopen_check_order_reloc_main_executable.mk
Dmitriy Ivanov14669a92014-09-05 16:42:53 -0700162
163# -----------------------------------------------------------------------------
Dmitriy Ivanov2a815362015-04-09 13:42:33 -0700164# Build libtest_versioned_lib.so with its dependencies.
165# -----------------------------------------------------------------------------
166include $(LOCAL_PATH)/Android.build.versioned_lib.mk
167
168# -----------------------------------------------------------------------------
Dmitriy Ivanovea295f62014-11-20 20:47:02 -0800169# Build libraries needed by pthread_atfork tests
170# -----------------------------------------------------------------------------
171include $(LOCAL_PATH)/Android.build.pthread_atfork.mk
172
173# -----------------------------------------------------------------------------
Dmitriy Ivanovaa0f2bd2014-07-28 17:32:20 -0700174# Library with dependency used by dlfcn tests
175# -----------------------------------------------------------------------------
176libtest_with_dependency_src_files := \
177 dlopen_testlib_simple.cpp
178
179libtest_with_dependency_shared_libraries := libdlext_test
180
181module := libtest_with_dependency
Dmitriy Ivanoveb27bba2014-09-15 14:13:24 -0700182include $(LOCAL_PATH)/Android.build.testlib.mk