11f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# 21f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# Copyright (C) 2012 The Android Open Source Project 31f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# 41f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# Licensed under the Apache License, Version 2.0 (the "License"); 51f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# you may not use this file except in compliance with the License. 61f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# You may obtain a copy of the License at 71f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# 81f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# http://www.apache.org/licenses/LICENSE-2.0 91f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# 101f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# Unless required by applicable law or agreed to in writing, software 111f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# distributed under the License is distributed on an "AS IS" BASIS, 121f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 131f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# See the License for the specific language governing permissions and 141f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# limitations under the License. 151f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# 161f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov 171f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy IvanovLOCAL_PATH := $(call my-dir) 181f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy IvanovTEST_PATH := $(LOCAL_PATH)/.. 191f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov 201f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# ----------------------------------------------------------------------------- 211f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# Library used by dlfcn tests. 221f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# ----------------------------------------------------------------------------- 231f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovifneq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),mips mips64)) 241f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovno-elf-hash-table-library_src_files := \ 251f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov empty.cpp \ 261f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov 271f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovno-elf-hash-table-library_ldflags := \ 281f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov -Wl,--hash-style=gnu \ 291f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov 301f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovmodule := no-elf-hash-table-library 311f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovmodule_tag := optional 321f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovbuild_type := target 331f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovbuild_target := SHARED_LIBRARY 341f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovinclude $(TEST_PATH)/Android.build.mk 351f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovendif 361f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov 371f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# ----------------------------------------------------------------------------- 381f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# Library used by dlext tests - with GNU RELRO program header 391f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# ----------------------------------------------------------------------------- 401f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovlibdlext_test_src_files := \ 411f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov dlext_test_library.cpp \ 421f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov 431f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovlibdlext_test_ldflags := \ 441f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov -Wl,-z,relro \ 451f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov 461f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovmodule := libdlext_test 471f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovmodule_tag := optional 481f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovbuild_type := target 491f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovbuild_target := SHARED_LIBRARY 501f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovinclude $(TEST_PATH)/Android.build.mk 511f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov 521f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# ----------------------------------------------------------------------------- 531f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# create symlink to libdlext_test.so for symlink test 541f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# ----------------------------------------------------------------------------- 551f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# Use = instead of := to defer the evaluation of $@ 561f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov$(LOCAL_INSTALLED_MODULE): PRIVATE_POST_INSTALL_CMD = \ 571f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov $(hide) cd $(dir $@) && ln -sf $(notdir $@) libdlext_test_v2.so 581f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov 591f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovifneq ($(TARGET_2ND_ARCH),) 601f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# link 64 bit .so 611f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov$(TARGET_OUT)/lib64/libdlext_test.so: PRIVATE_POST_INSTALL_CMD = \ 621f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov $(hide) cd $(dir $@) && ln -sf $(notdir $@) libdlext_test_v2.so 631f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovendif 641f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov 651f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# ----------------------------------------------------------------------------- 661f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# Library used by dlext tests - without GNU RELRO program header 671f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# ----------------------------------------------------------------------------- 681f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovlibdlext_test_norelro_src_files := \ 691f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov dlext_test_library.cpp \ 701f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov 711f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovlibdlext_test_norelro_ldflags := \ 721f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov -Wl,-z,norelro \ 731f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov 741f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovmodule := libdlext_test_norelro 751f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovmodule_tag := optional 761f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovbuild_type := target 771f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovbuild_target := SHARED_LIBRARY 781f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovinclude $(TEST_PATH)/Android.build.mk 791f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov 801f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# ----------------------------------------------------------------------------- 8104dc91ae763adc403a14c88b4c46f77b3d2d71a3Dmitriy Ivanov# Library used by dlext tests - different name non-default location 8204dc91ae763adc403a14c88b4c46f77b3d2d71a3Dmitriy Ivanov# ----------------------------------------------------------------------------- 8304dc91ae763adc403a14c88b4c46f77b3d2d71a3Dmitriy Ivanovlibdlext_test_fd_src_files := \ 8404dc91ae763adc403a14c88b4c46f77b3d2d71a3Dmitriy Ivanov dlext_test_library.cpp \ 8504dc91ae763adc403a14c88b4c46f77b3d2d71a3Dmitriy Ivanov 8604dc91ae763adc403a14c88b4c46f77b3d2d71a3Dmitriy Ivanovlibdlext_test_fd_install_to_out_data := true 8704dc91ae763adc403a14c88b4c46f77b3d2d71a3Dmitriy Ivanovmodule := libdlext_test_fd 8804dc91ae763adc403a14c88b4c46f77b3d2d71a3Dmitriy Ivanovmodule_tag := optional 8904dc91ae763adc403a14c88b4c46f77b3d2d71a3Dmitriy Ivanovbuild_type := target 9004dc91ae763adc403a14c88b4c46f77b3d2d71a3Dmitriy Ivanovbuild_target := SHARED_LIBRARY 9104dc91ae763adc403a14c88b4c46f77b3d2d71a3Dmitriy Ivanovinclude $(TEST_PATH)/Android.build.mk 9204dc91ae763adc403a14c88b4c46f77b3d2d71a3Dmitriy Ivanov 9304dc91ae763adc403a14c88b4c46f77b3d2d71a3Dmitriy Ivanov# ----------------------------------------------------------------------------- 941f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# Library used by dlfcn tests 951f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# ----------------------------------------------------------------------------- 961f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovlibtest_simple_src_files := \ 971f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov dlopen_testlib_simple.cpp 981f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov 991f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovmodule := libtest_simple 1001f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovbuild_type := target 1011f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovbuild_target := SHARED_LIBRARY 1021f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovinclude $(TEST_PATH)/Android.build.mk 1031f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov 104d97e9f546ea195686a78e539315b273393609b9eDmitriy Ivanov# ----------------------------------------------------------------------------- 105db7a17d4ff56a05af01ee2fee1f3c55245bfc630Dmitriy Ivanov# Library with dependency used by dlfcn tests 106db7a17d4ff56a05af01ee2fee1f3c55245bfc630Dmitriy Ivanov# ----------------------------------------------------------------------------- 107db7a17d4ff56a05af01ee2fee1f3c55245bfc630Dmitriy Ivanovlibtest_with_dependency_src_files := \ 108db7a17d4ff56a05af01ee2fee1f3c55245bfc630Dmitriy Ivanov dlopen_testlib_simple.cpp 109db7a17d4ff56a05af01ee2fee1f3c55245bfc630Dmitriy Ivanov 110db7a17d4ff56a05af01ee2fee1f3c55245bfc630Dmitriy Ivanovlibtest_with_dependency_shared_libraries := libdlext_test 111db7a17d4ff56a05af01ee2fee1f3c55245bfc630Dmitriy Ivanov 112db7a17d4ff56a05af01ee2fee1f3c55245bfc630Dmitriy Ivanovmodule := libtest_with_dependency 113db7a17d4ff56a05af01ee2fee1f3c55245bfc630Dmitriy Ivanovbuild_type := target 114db7a17d4ff56a05af01ee2fee1f3c55245bfc630Dmitriy Ivanovbuild_target := SHARED_LIBRARY 115db7a17d4ff56a05af01ee2fee1f3c55245bfc630Dmitriy Ivanovinclude $(TEST_PATH)/Android.build.mk 116db7a17d4ff56a05af01ee2fee1f3c55245bfc630Dmitriy Ivanov 117db7a17d4ff56a05af01ee2fee1f3c55245bfc630Dmitriy Ivanov# ----------------------------------------------------------------------------- 1181f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# Library used by atexit tests 1191f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov# ----------------------------------------------------------------------------- 1201f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov 1211f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovlibtest_atexit_src_files := \ 1221f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov atexit_testlib.cpp 1231f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov 1241f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovmodule := libtest_atexit 1251f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovbuild_target := SHARED_LIBRARY 1261f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovbuild_type := target 1271f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovinclude $(TEST_PATH)/Android.build.mk 1281f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovbuild_type := host 1291f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanovinclude $(TEST_PATH)/Android.build.mk 1301f5e1a3cbc564c593fe1090894ecdb070f36e20cDmitriy Ivanov 131ce44166c737b6737c3a0820bef10b074a5e36cf8Dmitriy Ivanov# ----------------------------------------------------------------------------- 132ce44166c737b6737c3a0820bef10b074a5e36cf8Dmitriy Ivanov# Library with weak function 133ce44166c737b6737c3a0820bef10b074a5e36cf8Dmitriy Ivanov# ----------------------------------------------------------------------------- 134ce44166c737b6737c3a0820bef10b074a5e36cf8Dmitriy Ivanovlibtest_dlsym_weak_func_src_files := \ 135ce44166c737b6737c3a0820bef10b074a5e36cf8Dmitriy Ivanov dlsym_weak_function.cpp 136ce44166c737b6737c3a0820bef10b074a5e36cf8Dmitriy Ivanov 137ce44166c737b6737c3a0820bef10b074a5e36cf8Dmitriy Ivanovmodule := libtest_dlsym_weak_func 138ce44166c737b6737c3a0820bef10b074a5e36cf8Dmitriy Ivanovbuild_target := SHARED_LIBRARY 139ce44166c737b6737c3a0820bef10b074a5e36cf8Dmitriy Ivanovbuild_type := target 140ce44166c737b6737c3a0820bef10b074a5e36cf8Dmitriy Ivanovinclude $(TEST_PATH)/Android.build.mk 141ce44166c737b6737c3a0820bef10b074a5e36cf8Dmitriy Ivanovbuild_type := host 142ce44166c737b6737c3a0820bef10b074a5e36cf8Dmitriy Ivanovinclude $(TEST_PATH)/Android.build.mk 143