Home | History | Annotate | Download | only in libs
      1 #
      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 
     17 LOCAL_PATH := $(call my-dir)
     18 TEST_PATH := $(LOCAL_PATH)/..
     19 
     20 # -----------------------------------------------------------------------------
     21 # Library used by dlfcn tests.
     22 # -----------------------------------------------------------------------------
     23 ifneq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),mips mips64))
     24 no-elf-hash-table-library_src_files := \
     25     empty.cpp \
     26 
     27 no-elf-hash-table-library_ldflags := \
     28     -Wl,--hash-style=gnu \
     29 
     30 module := no-elf-hash-table-library
     31 module_tag := optional
     32 build_type := target
     33 build_target := SHARED_LIBRARY
     34 include $(TEST_PATH)/Android.build.mk
     35 endif
     36 
     37 # -----------------------------------------------------------------------------
     38 # Library used by dlext tests - with GNU RELRO program header
     39 # -----------------------------------------------------------------------------
     40 libdlext_test_src_files := \
     41     dlext_test_library.cpp \
     42 
     43 libdlext_test_ldflags := \
     44     -Wl,-z,relro \
     45 
     46 module := libdlext_test
     47 module_tag := optional
     48 build_type := target
     49 build_target := SHARED_LIBRARY
     50 include $(TEST_PATH)/Android.build.mk
     51 
     52 # -----------------------------------------------------------------------------
     53 # create symlink to libdlext_test.so for symlink test
     54 # -----------------------------------------------------------------------------
     55 # Use = instead of := to defer the evaluation of $@
     56 $(LOCAL_INSTALLED_MODULE): PRIVATE_POST_INSTALL_CMD = \
     57     $(hide) cd $(dir $@) && ln -sf $(notdir $@) libdlext_test_v2.so
     58 
     59 ifneq ($(TARGET_2ND_ARCH),)
     60 # link 64 bit .so
     61 $(TARGET_OUT)/lib64/libdlext_test.so: PRIVATE_POST_INSTALL_CMD = \
     62     $(hide) cd $(dir $@) && ln -sf $(notdir $@) libdlext_test_v2.so
     63 endif
     64 
     65 # -----------------------------------------------------------------------------
     66 # Library used by dlext tests - without GNU RELRO program header
     67 # -----------------------------------------------------------------------------
     68 libdlext_test_norelro_src_files := \
     69     dlext_test_library.cpp \
     70 
     71 libdlext_test_norelro_ldflags := \
     72     -Wl,-z,norelro \
     73 
     74 module := libdlext_test_norelro
     75 module_tag := optional
     76 build_type := target
     77 build_target := SHARED_LIBRARY
     78 include $(TEST_PATH)/Android.build.mk
     79 
     80 # -----------------------------------------------------------------------------
     81 # Library used by dlext tests - different name non-default location
     82 # -----------------------------------------------------------------------------
     83 libdlext_test_fd_src_files := \
     84     dlext_test_library.cpp \
     85 
     86 libdlext_test_fd_install_to_out_data := true
     87 module := libdlext_test_fd
     88 module_tag := optional
     89 build_type := target
     90 build_target := SHARED_LIBRARY
     91 include $(TEST_PATH)/Android.build.mk
     92 
     93 # -----------------------------------------------------------------------------
     94 # Library used by dlfcn tests
     95 # -----------------------------------------------------------------------------
     96 libtest_simple_src_files := \
     97     dlopen_testlib_simple.cpp
     98 
     99 module := libtest_simple
    100 build_type := target
    101 build_target := SHARED_LIBRARY
    102 include $(TEST_PATH)/Android.build.mk
    103 
    104 # -----------------------------------------------------------------------------
    105 # Library with dependency used by dlfcn tests
    106 # -----------------------------------------------------------------------------
    107 libtest_with_dependency_src_files := \
    108     dlopen_testlib_simple.cpp
    109 
    110 libtest_with_dependency_shared_libraries := libdlext_test
    111 
    112 module := libtest_with_dependency
    113 build_type := target
    114 build_target := SHARED_LIBRARY
    115 include $(TEST_PATH)/Android.build.mk
    116 
    117 # -----------------------------------------------------------------------------
    118 # Library used by atexit tests
    119 # -----------------------------------------------------------------------------
    120 
    121 libtest_atexit_src_files := \
    122     atexit_testlib.cpp
    123 
    124 module := libtest_atexit
    125 build_target := SHARED_LIBRARY
    126 build_type := target
    127 include $(TEST_PATH)/Android.build.mk
    128 build_type := host
    129 include $(TEST_PATH)/Android.build.mk
    130 
    131 # -----------------------------------------------------------------------------
    132 # Library with weak function
    133 # -----------------------------------------------------------------------------
    134 libtest_dlsym_weak_func_src_files := \
    135     dlsym_weak_function.cpp
    136 
    137 module := libtest_dlsym_weak_func
    138 build_target := SHARED_LIBRARY
    139 build_type := target
    140 include $(TEST_PATH)/Android.build.mk
    141 build_type := host
    142 include $(TEST_PATH)/Android.build.mk
    143