12a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# 22a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# Copyright (C) 2015 The Android Open Source Project 32a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# 42a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# Licensed under the Apache License, Version 2.0 (the "License"); 52a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# you may not use this file except in compliance with the License. 62a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# You may obtain a copy of the License at 72a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# 82a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# http://www.apache.org/licenses/LICENSE-2.0 92a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# 102a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# Unless required by applicable law or agreed to in writing, software 112a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# distributed under the License is distributed on an "AS IS" BASIS, 122a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 132a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# See the License for the specific language governing permissions and 142a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# limitations under the License. 152a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# 162a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 172a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# ----------------------------------------------------------------------------- 182a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# Libraries used to test versioned symbols 192a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# ----------------------------------------------------------------------------- 202a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovlibtest_versioned_uselibv1_src_files := versioned_uselib.cpp 212a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 222a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovlibtest_versioned_uselibv1_shared_libraries := \ 232a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov libtest_versioned_libv1 242a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 252a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovmodule := libtest_versioned_uselibv1 262a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovinclude $(LOCAL_PATH)/Android.build.testlib.mk 272a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 282a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# ----------------------------------------------------------------------------- 292a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovlibtest_versioned_uselibv2_src_files := \ 302a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov versioned_uselib.cpp 312a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 322a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovlibtest_versioned_uselibv2_shared_libraries := \ 332a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov libtest_versioned_libv2 342a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 352a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovlibtest_versioned_uselibv2_ldflags := \ 362a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov -Wl,--version-script,$(LOCAL_PATH)/versioned_uselib.map 372a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 382a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovmodule := libtest_versioned_uselibv2 392a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovinclude $(LOCAL_PATH)/Android.build.testlib.mk 402a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 412a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# ----------------------------------------------------------------------------- 422a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovlibtest_versioned_uselibv2_other_src_files := \ 432a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov versioned_uselib.cpp 442a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 452a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovlibtest_versioned_uselibv2_other_shared_libraries := \ 462a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov libtest_versioned_otherlib_empty libtest_versioned_libv2 472a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 482a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovmodule := libtest_versioned_uselibv2_other 492a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovinclude $(LOCAL_PATH)/Android.build.testlib.mk 502a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 512a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# ----------------------------------------------------------------------------- 522a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovlibtest_versioned_uselibv3_other_src_files := \ 532a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov versioned_uselib.cpp 542a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 552a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovlibtest_versioned_uselibv3_other_shared_libraries := \ 562a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov libtest_versioned_otherlib_empty libtest_versioned_lib 572a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 582a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovmodule := libtest_versioned_uselibv3_other 592a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovinclude $(LOCAL_PATH)/Android.build.testlib.mk 602a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 612a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# ----------------------------------------------------------------------------- 622a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# lib v1 - this one used during static linking but never used at runtime 632a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# which forces libtest_versioned_uselibv1 to use function v1 from 642a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# libtest_versioned_lib.so 652a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# ----------------------------------------------------------------------------- 662a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovlibtest_versioned_libv1_src_files := \ 672a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov versioned_lib_v1.cpp 682a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 692a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovlibtest_versioned_libv1_ldflags := \ 702a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov -Wl,--version-script,$(LOCAL_PATH)/versioned_lib_v1.map \ 712a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov -Wl,-soname,libtest_versioned_lib.so 722a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 732a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovmodule := libtest_versioned_libv1 742a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovinclude $(LOCAL_PATH)/Android.build.testlib.mk 752a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 762a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# ----------------------------------------------------------------------------- 772a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# lib v2 - to make libtest_versioned_uselibv2.so use version 2 of versioned_function() 782a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# ----------------------------------------------------------------------------- 792a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovlibtest_versioned_libv2_src_files := \ 802a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov versioned_lib_v2.cpp 812a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 822a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovlibtest_versioned_libv2_ldflags := \ 832a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov -Wl,--version-script,$(LOCAL_PATH)/versioned_lib_v2.map \ 842a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov -Wl,-soname,libtest_versioned_lib.so 852a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 862a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovmodule := libtest_versioned_libv2 872a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovinclude $(LOCAL_PATH)/Android.build.testlib.mk 882a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 892a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 902a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# ----------------------------------------------------------------------------- 912a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# last version - this one is used at the runtime and exports 3 versions 922a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# of versioned_symbol(). 932a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# ----------------------------------------------------------------------------- 942a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovlibtest_versioned_lib_src_files := \ 952a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov versioned_lib_v3.cpp 962a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 972a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovlibtest_versioned_lib_ldflags := \ 982a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov -Wl,--version-script,$(LOCAL_PATH)/versioned_lib_v3.map 992a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 1002a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovmodule := libtest_versioned_lib 1012a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovinclude $(LOCAL_PATH)/Android.build.testlib.mk 1022a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 1032a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# ----------------------------------------------------------------------------- 1042a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# This library is empty, the actual implementation will provide an unversioned 1052a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# symbol for versioned_function(). 1062a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# ----------------------------------------------------------------------------- 1072a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovlibtest_versioned_otherlib_empty_src_files := empty.cpp 1082a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 1092a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovlibtest_versioned_otherlib_empty_ldflags := -Wl,-soname,libtest_versioned_otherlib.so 1102a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovmodule := libtest_versioned_otherlib_empty 1112a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovinclude $(LOCAL_PATH)/Android.build.testlib.mk 1122a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 1132a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov# ----------------------------------------------------------------------------- 1142a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovlibtest_versioned_otherlib_src_files := versioned_lib_other.cpp 1152a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 1162a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovlibtest_versioned_otherlib_ldflags := \ 1172a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov -Wl,--version-script,$(LOCAL_PATH)/versioned_lib_other.map 1182a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanov 1192a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovmodule := libtest_versioned_otherlib 1202a815361448d01b0f4e575f507ce31913214c536Dmitriy Ivanovinclude $(LOCAL_PATH)/Android.build.testlib.mk 121