blob: 66ed343d9ea60bd8e11c3eefb1c4f19be8bb1893 [file] [log] [blame]
Dmitriy Ivanov07e5bc12014-10-03 17:52:44 -07001#
2# Copyright (C) 2014 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# -----------------------------------------------------------------------------
18# Library used by dlext tests - zipped and aligned
19# -----------------------------------------------------------------------------
20
Christopher Ferrisc0ffcec2016-01-19 20:32:37 -080021BIONIC_TESTS_ZIPALIGN := $(HOST_OUT_EXECUTABLES)/bionic_tests_zipalign
22
Ying Wang667853d2014-10-08 16:22:03 -070023include $(CLEAR_VARS)
Dmitriy Ivanov07e5bc12014-10-03 17:52:44 -070024
Dan Willemsen6718e032017-05-22 17:36:16 -070025LOCAL_MODULE_CLASS := NATIVE_TESTS
Dmitriy Ivanovb4827502015-09-28 16:38:31 -070026LOCAL_MODULE := libdlext_test_zip_zipaligned
Bob Badouraa7d8352021-02-19 13:06:22 -080027LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD
28LOCAL_LICENSE_CONDITIONS := notice
29LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../NOTICE
Ying Wang667853d2014-10-08 16:22:03 -070030LOCAL_MODULE_SUFFIX := .zip
Dimitry Ivanova36e59b2016-09-01 11:37:39 -070031LOCAL_MODULE_PATH := $($(bionic_2nd_arch_prefix)TARGET_OUT_DATA_NATIVE_TESTS)/bionic-loader-test-libs/libdlext_test_zip
Ying Wang667853d2014-10-08 16:22:03 -070032LOCAL_2ND_ARCH_VAR_PREFIX := $(bionic_2nd_arch_prefix)
Dmitriy Ivanov07e5bc12014-10-03 17:52:44 -070033
Ying Wang667853d2014-10-08 16:22:03 -070034include $(BUILD_SYSTEM)/base_rules.mk
Dmitriy Ivanov07e5bc12014-10-03 17:52:44 -070035
Ying Wang667853d2014-10-08 16:22:03 -070036my_shared_libs := \
Dan Willemsen3d68fca2017-05-16 12:51:21 -070037 $(call intermediates-dir-for,SHARED_LIBRARIES,libdlext_test_zip,,,$(bionic_2nd_arch_prefix))/libdlext_test_zip.so \
Ryan Prichard8f639a42018-10-01 23:10:05 -070038 $(call intermediates-dir-for,SHARED_LIBRARIES,libatest_simple_zip,,,$(bionic_2nd_arch_prefix))/libatest_simple_zip.so \
39 $(call intermediates-dir-for,NATIVE_TESTS,exec_linker_helper,,,$(bionic_2nd_arch_prefix))/exec_linker_helper \
40 $(call intermediates-dir-for,SHARED_LIBRARIES,exec_linker_helper_lib,,,$(bionic_2nd_arch_prefix))/exec_linker_helper_lib.so
Dmitriy Ivanov07e5bc12014-10-03 17:52:44 -070041
Dan Willemsen3d68fca2017-05-16 12:51:21 -070042$(LOCAL_BUILT_MODULE): PRIVATE_SHARED_LIBS := $(my_shared_libs)
43$(LOCAL_BUILT_MODULE): $(my_shared_libs) $(BIONIC_TESTS_ZIPALIGN)
Christopher Ferrisc0ffcec2016-01-19 20:32:37 -080044 @echo "Aligning zip: $@"
Ryan Prichardef591542018-03-29 23:38:21 -070045 $(hide) rm -rf $@.unaligned $@ $(dir $@)/zipdir && mkdir -p $(dir $@)/zipdir/libdir
46 $(hide) cp $(PRIVATE_SHARED_LIBS) $(dir $@)/zipdir/libdir
47 $(hide) touch $(dir $@)/zipdir/empty_file.txt
48 $(hide) (cd $(dir $@)/zipdir && zip -qrD0 ../$(notdir $@).unaligned .)
Christopher Ferrisc0ffcec2016-01-19 20:32:37 -080049 $(hide) $(BIONIC_TESTS_ZIPALIGN) 4096 $@.unaligned $@
Dmitriy Ivanova1feb112015-10-01 18:41:57 -070050
51include $(CLEAR_VARS)
52
Dan Willemsen6718e032017-05-22 17:36:16 -070053LOCAL_MODULE_CLASS := NATIVE_TESTS
Dmitriy Ivanova1feb112015-10-01 18:41:57 -070054LOCAL_MODULE := libdlext_test_runpath_zip_zipaligned
Bob Badouraa7d8352021-02-19 13:06:22 -080055LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD
56LOCAL_LICENSE_CONDITIONS := notice
57LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../NOTICE
Dmitriy Ivanova1feb112015-10-01 18:41:57 -070058LOCAL_MODULE_SUFFIX := .zip
Dimitry Ivanova36e59b2016-09-01 11:37:39 -070059LOCAL_MODULE_PATH := $($(bionic_2nd_arch_prefix)TARGET_OUT_DATA_NATIVE_TESTS)/bionic-loader-test-libs/libdlext_test_runpath_zip
Dmitriy Ivanova1feb112015-10-01 18:41:57 -070060LOCAL_2ND_ARCH_VAR_PREFIX := $(bionic_2nd_arch_prefix)
61
62include $(BUILD_SYSTEM)/base_rules.mk
Dan Willemsen3d68fca2017-05-16 12:51:21 -070063lib_d := $(call intermediates-dir-for,SHARED_LIBRARIES,libtest_dt_runpath_d_zip,,,$(bionic_2nd_arch_prefix))/libtest_dt_runpath_d_zip.so
64lib_a := $(call intermediates-dir-for,SHARED_LIBRARIES,libtest_dt_runpath_a,,,$(bionic_2nd_arch_prefix))/libtest_dt_runpath_a.so
65lib_b := $(call intermediates-dir-for,SHARED_LIBRARIES,libtest_dt_runpath_b,,,$(bionic_2nd_arch_prefix))/libtest_dt_runpath_b.so
66lib_c := $(call intermediates-dir-for,SHARED_LIBRARIES,libtest_dt_runpath_c,,,$(bionic_2nd_arch_prefix))/libtest_dt_runpath_c.so
67lib_x := $(call intermediates-dir-for,SHARED_LIBRARIES,libtest_dt_runpath_x,,,$(bionic_2nd_arch_prefix))/libtest_dt_runpath_x.so
Jiyong Parkfa4dcb42019-01-20 01:41:42 +090068lib_y := $(call intermediates-dir-for,SHARED_LIBRARIES,libtest_dt_runpath_y,,,$(bionic_2nd_arch_prefix))/libtest_dt_runpath_y.so
Dmitriy Ivanova1feb112015-10-01 18:41:57 -070069
Dan Willemsen3d68fca2017-05-16 12:51:21 -070070$(LOCAL_BUILT_MODULE) : PRIVATE_LIB_D := $(lib_d)
71$(LOCAL_BUILT_MODULE) : PRIVATE_LIB_A := $(lib_a)
72$(LOCAL_BUILT_MODULE) : PRIVATE_LIB_B := $(lib_b)
73$(LOCAL_BUILT_MODULE) : PRIVATE_LIB_C := $(lib_c)
74$(LOCAL_BUILT_MODULE) : PRIVATE_LIB_X := $(lib_x)
Jiyong Parkfa4dcb42019-01-20 01:41:42 +090075$(LOCAL_BUILT_MODULE) : PRIVATE_LIB_Y := $(lib_y)
76ifeq ($(TARGET_IS_64_BIT),true)
77 ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
78 $(LOCAL_BUILT_MODULE) : PRIVATE_LIB_OR_LIB64 := $(if $(LOCAL_2ND_ARCH_VAR_PREFIX),lib/$(TARGET_2ND_ARCH),lib64)
79 else
80 $(LOCAL_BUILT_MODULE) : PRIVATE_LIB_OR_LIB64 := $(if $(LOCAL_2ND_ARCH_VAR_PREFIX),lib,lib64)
81 endif
82else
83 ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
84 $(LOCAL_BUILT_MODULE) : PRIVATE_LIB_OR_LIB64 := $(if $(LOCAL_2ND_ARCH_VAR_PREFIX),lib/$(TARGET_2ND_ARCH),lib)
85 else
86 $(LOCAL_BUILT_MODULE) : PRIVATE_LIB_OR_LIB64 := lib
87 endif
88endif
89$(LOCAL_BUILT_MODULE) : $(lib_d) $(lib_a) $(lib_b) $(lib_c) $(lib_x) $(lib_y) $(BIONIC_TESTS_ZIPALIGN)
Christopher Ferrisc0ffcec2016-01-19 20:32:37 -080090 @echo "Aligning zip: $@"
Ryan Prichardef591542018-03-29 23:38:21 -070091 $(hide) rm -rf $@.unaligned $@ $(dir $@)/zipdir && mkdir -p $(dir $@)/zipdir/libdir && \
Jiyong Parkfa4dcb42019-01-20 01:41:42 +090092 mkdir -p $(dir $@)/zipdir/libdir/dt_runpath_a && mkdir -p $(dir $@)/zipdir/libdir/dt_runpath_b_c_x && \
93 mkdir -p $(dir $@)/zipdir/libdir/dt_runpath_y/$(PRIVATE_LIB_OR_LIB64)
Ryan Prichardef591542018-03-29 23:38:21 -070094 $(hide) cp $(PRIVATE_LIB_D) $(dir $@)/zipdir/libdir
95 $(hide) cp $(PRIVATE_LIB_A) $(dir $@)/zipdir/libdir/dt_runpath_a
96 $(hide) cp $(PRIVATE_LIB_B) $(dir $@)/zipdir/libdir/dt_runpath_b_c_x
97 $(hide) cp $(PRIVATE_LIB_C) $(dir $@)/zipdir/libdir/dt_runpath_b_c_x
98 $(hide) cp $(PRIVATE_LIB_X) $(dir $@)/zipdir/libdir/dt_runpath_b_c_x
Jiyong Parkfa4dcb42019-01-20 01:41:42 +090099 $(hide) cp $(PRIVATE_LIB_Y) $(dir $@)/zipdir/libdir/dt_runpath_y/$(PRIVATE_LIB_OR_LIB64)
Ryan Prichardef591542018-03-29 23:38:21 -0700100 $(hide) touch $(dir $@)/zipdir/empty_file.txt
101 $(hide) (cd $(dir $@)/zipdir && zip -qrD0 ../$(notdir $@).unaligned .)
Christopher Ferrisc0ffcec2016-01-19 20:32:37 -0800102 $(hide) $(BIONIC_TESTS_ZIPALIGN) 4096 $@.unaligned $@