Home | History | Annotate | Download | only in libs
      1 #
      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 
     21 BIONIC_TESTS_ZIPALIGN := $(HOST_OUT_EXECUTABLES)/bionic_tests_zipalign
     22 
     23 include $(CLEAR_VARS)
     24 
     25 LOCAL_MODULE_CLASS := NATIVE_TESTS
     26 LOCAL_MODULE := libdlext_test_zip_zipaligned
     27 LOCAL_MODULE_SUFFIX := .zip
     28 LOCAL_MODULE_PATH := $($(bionic_2nd_arch_prefix)TARGET_OUT_DATA_NATIVE_TESTS)/bionic-loader-test-libs/libdlext_test_zip
     29 LOCAL_2ND_ARCH_VAR_PREFIX := $(bionic_2nd_arch_prefix)
     30 
     31 include $(BUILD_SYSTEM)/base_rules.mk
     32 
     33 my_shared_libs := \
     34   $(call intermediates-dir-for,SHARED_LIBRARIES,libdlext_test_zip,,,$(bionic_2nd_arch_prefix))/libdlext_test_zip.so \
     35   $(call intermediates-dir-for,SHARED_LIBRARIES,libatest_simple_zip,,,$(bionic_2nd_arch_prefix))/libatest_simple_zip.so
     36 
     37 $(LOCAL_BUILT_MODULE): PRIVATE_SHARED_LIBS := $(my_shared_libs)
     38 $(LOCAL_BUILT_MODULE): $(my_shared_libs) $(BIONIC_TESTS_ZIPALIGN)
     39 	@echo "Aligning zip: $@"
     40 	$(hide) rm -rf $@.unaligned $@ $(dir $@)/zipdir && mkdir -p $(dir $@)/zipdir/libdir
     41 	$(hide) cp $(PRIVATE_SHARED_LIBS) $(dir $@)/zipdir/libdir
     42 	$(hide) touch $(dir $@)/zipdir/empty_file.txt
     43 	$(hide) (cd $(dir $@)/zipdir && zip -qrD0 ../$(notdir $@).unaligned .)
     44 	$(hide) $(BIONIC_TESTS_ZIPALIGN) 4096 $@.unaligned $@
     45 
     46 include $(CLEAR_VARS)
     47 
     48 LOCAL_MODULE_CLASS := NATIVE_TESTS
     49 LOCAL_MODULE := libdlext_test_runpath_zip_zipaligned
     50 LOCAL_MODULE_SUFFIX := .zip
     51 LOCAL_MODULE_PATH := $($(bionic_2nd_arch_prefix)TARGET_OUT_DATA_NATIVE_TESTS)/bionic-loader-test-libs/libdlext_test_runpath_zip
     52 LOCAL_2ND_ARCH_VAR_PREFIX := $(bionic_2nd_arch_prefix)
     53 
     54 include $(BUILD_SYSTEM)/base_rules.mk
     55 lib_d := $(call intermediates-dir-for,SHARED_LIBRARIES,libtest_dt_runpath_d_zip,,,$(bionic_2nd_arch_prefix))/libtest_dt_runpath_d_zip.so
     56 lib_a := $(call intermediates-dir-for,SHARED_LIBRARIES,libtest_dt_runpath_a,,,$(bionic_2nd_arch_prefix))/libtest_dt_runpath_a.so
     57 lib_b := $(call intermediates-dir-for,SHARED_LIBRARIES,libtest_dt_runpath_b,,,$(bionic_2nd_arch_prefix))/libtest_dt_runpath_b.so
     58 lib_c := $(call intermediates-dir-for,SHARED_LIBRARIES,libtest_dt_runpath_c,,,$(bionic_2nd_arch_prefix))/libtest_dt_runpath_c.so
     59 lib_x := $(call intermediates-dir-for,SHARED_LIBRARIES,libtest_dt_runpath_x,,,$(bionic_2nd_arch_prefix))/libtest_dt_runpath_x.so
     60 
     61 $(LOCAL_BUILT_MODULE) : PRIVATE_LIB_D := $(lib_d)
     62 $(LOCAL_BUILT_MODULE) : PRIVATE_LIB_A := $(lib_a)
     63 $(LOCAL_BUILT_MODULE) : PRIVATE_LIB_B := $(lib_b)
     64 $(LOCAL_BUILT_MODULE) : PRIVATE_LIB_C := $(lib_c)
     65 $(LOCAL_BUILT_MODULE) : PRIVATE_LIB_X := $(lib_x)
     66 $(LOCAL_BUILT_MODULE) : $(lib_d) $(lib_a) $(lib_b) $(lib_c) $(lib_x) $(BIONIC_TESTS_ZIPALIGN)
     67 	@echo "Aligning zip: $@"
     68 	$(hide) rm -rf $@.unaligned $@ $(dir $@)/zipdir && mkdir -p $(dir $@)/zipdir/libdir && \
     69     mkdir -p $(dir $@)/zipdir/libdir/dt_runpath_a && mkdir -p $(dir $@)/zipdir/libdir/dt_runpath_b_c_x
     70 	$(hide) cp $(PRIVATE_LIB_D) $(dir $@)/zipdir/libdir
     71 	$(hide) cp $(PRIVATE_LIB_A) $(dir $@)/zipdir/libdir/dt_runpath_a
     72 	$(hide) cp $(PRIVATE_LIB_B) $(dir $@)/zipdir/libdir/dt_runpath_b_c_x
     73 	$(hide) cp $(PRIVATE_LIB_C) $(dir $@)/zipdir/libdir/dt_runpath_b_c_x
     74 	$(hide) cp $(PRIVATE_LIB_X) $(dir $@)/zipdir/libdir/dt_runpath_b_c_x
     75 	$(hide) touch $(dir $@)/zipdir/empty_file.txt
     76 	$(hide) (cd $(dir $@)/zipdir && zip -qrD0 ../$(notdir $@).unaligned .)
     77 	$(hide) $(BIONIC_TESTS_ZIPALIGN) 4096 $@.unaligned $@
     78 
     79