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 := SHARED_LIBRARIES
     26 LOCAL_MODULE := libdlext_test_zip_zipaligned
     27 LOCAL_MODULE_SUFFIX := .zip
     28 LOCAL_MODULE_TAGS := tests
     29 LOCAL_MODULE_PATH := $($(bionic_2nd_arch_prefix)TARGET_OUT_DATA_NATIVE_TESTS)/libdlext_test_zip
     30 LOCAL_2ND_ARCH_VAR_PREFIX := $(bionic_2nd_arch_prefix)
     31 
     32 include $(BUILD_SYSTEM)/base_rules.mk
     33 
     34 my_shared_libs := \
     35   $($(bionic_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/libdlext_test_zip.so \
     36   $($(bionic_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/libatest_simple_zip.so
     37 
     38 $(LOCAL_BUILT_MODULE) : $(my_shared_libs) | $(BIONIC_TESTS_ZIPALIGN)
     39 	@echo "Aligning zip: $@"
     40 	$(hide) rm -rf $(dir $@) && mkdir -p $(dir $@)/libdir
     41 	$(hide) cp $^ $(dir $@)/libdir
     42 	$(hide) (cd $(dir $@) && touch empty_file.txt && zip -qrD0 $(notdir $@).unaligned empty_file.txt libdir/*.so)
     43 	$(hide) $(BIONIC_TESTS_ZIPALIGN) 4096 $@.unaligned $@
     44 
     45 include $(CLEAR_VARS)
     46 
     47 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
     48 LOCAL_MODULE := libdlext_test_runpath_zip_zipaligned
     49 LOCAL_MODULE_SUFFIX := .zip
     50 LOCAL_MODULE_TAGS := tests
     51 LOCAL_MODULE_PATH := $($(bionic_2nd_arch_prefix)TARGET_OUT_DATA_NATIVE_TESTS)/libdlext_test_runpath_zip
     52 LOCAL_2ND_ARCH_VAR_PREFIX := $(bionic_2nd_arch_prefix)
     53 
     54 include $(BUILD_SYSTEM)/base_rules.mk
     55 my_shared_libs := \
     56   $($(bionic_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/libtest_dt_runpath_d_zip.so \
     57   $($(bionic_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/libtest_dt_runpath_b.so \
     58   $($(bionic_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/libtest_dt_runpath_a.so \
     59   $($(bionic_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/libtest_dt_runpath_c.so \
     60   $($(bionic_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/libtest_dt_runpath_x.so
     61 
     62 
     63 $(LOCAL_BUILT_MODULE) : PRIVATE_LIB_D := \
     64   $($(bionic_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/libtest_dt_runpath_d_zip.so
     65 $(LOCAL_BUILT_MODULE) : PRIVATE_LIB_A := \
     66   $($(bionic_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/libtest_dt_runpath_a.so
     67 $(LOCAL_BUILT_MODULE) : PRIVATE_LIB_B := \
     68   $($(bionic_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/libtest_dt_runpath_b.so
     69 $(LOCAL_BUILT_MODULE) : PRIVATE_LIB_C := \
     70   $($(bionic_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/libtest_dt_runpath_c.so
     71 $(LOCAL_BUILT_MODULE) : PRIVATE_LIB_X := \
     72   $($(bionic_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/libtest_dt_runpath_x.so
     73 $(LOCAL_BUILT_MODULE) : $(my_shared_libs) | $(BIONIC_TESTS_ZIPALIGN)
     74 	@echo "Aligning zip: $@"
     75 	$(hide) rm -rf $(dir $@) && mkdir -p $(dir $@)/libdir && \
     76     mkdir -p $(dir $@)/libdir/dt_runpath_a && mkdir -p $(dir $@)/libdir/dt_runpath_b_c_x
     77 	$(hide) cp $(PRIVATE_LIB_D) $(dir $@)/libdir
     78 	$(hide) cp $(PRIVATE_LIB_A) $(dir $@)/libdir/dt_runpath_a
     79 	$(hide) cp $(PRIVATE_LIB_B) $(dir $@)/libdir/dt_runpath_b_c_x
     80 	$(hide) cp $(PRIVATE_LIB_C) $(dir $@)/libdir/dt_runpath_b_c_x
     81 	$(hide) cp $(PRIVATE_LIB_X) $(dir $@)/libdir/dt_runpath_b_c_x
     82 	$(hide) (cd $(dir $@) && touch empty_file.txt && zip -qrD0 $(notdir $@).unaligned empty_file.txt libdir)
     83 	$(hide) $(BIONIC_TESTS_ZIPALIGN) 4096 $@.unaligned $@
     84 
     85