diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2008-10-21 07:00:00 -0700 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2008-10-21 07:00:00 -0700 |
commit | a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349 (patch) | |
tree | defd1cc07d16ad2f3b21154114e092d11c94c5bb /libdl/Android.mk | |
download | bionic-a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349.zip bionic-a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349.tar.gz bionic-a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349.tar.bz2 |
Initial Contributionandroid-1.0
Diffstat (limited to 'libdl/Android.mk')
-rw-r--r-- | libdl/Android.mk | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/libdl/Android.mk b/libdl/Android.mk new file mode 100644 index 0000000..661aa18 --- /dev/null +++ b/libdl/Android.mk @@ -0,0 +1,50 @@ +LOCAL_PATH:= $(call my-dir) + +# +# libdl +# + +include $(CLEAR_VARS) + +# NOTE: --exclude-libs=libgcc.a makes sure that any symbols libdl.so pulls from +# libgcc.a are made static to libdl.so. This in turn ensures that libraries that +# a) pull symbols from libgcc.a and b) depend on libdl.so will not rely on libdl.so +# to provide those symbols, but will instead pull them from libgcc.a. Specifically, +# we use this property to make sure libc.so has its own copy of the code from +# libgcc.a it uses. +# +# DO NOT REMOVE --exclude-libs! + +LOCAL_LDFLAGS := -Wl,--exclude-libs=libgcc.a +LOCAL_SRC_FILES:= libdl.c + +LOCAL_MODULE:= libdl + +# NOTE: libdl needs __aeabi_unwind_cpp_pr0 from libgcc.a but libgcc.a needs a +# few symbols from libc. Using --no-undefined here results in having to link +# against libc creating a circular dependency which is removed and we end up +# with missing symbols. Since this library is just a bunch of stubs, we set +# LOCAL_ALLOW_UNDEFINED_SYMBOLS to remove --no-undefined from the linker flags. +LOCAL_ALLOW_UNDEFINED_SYMBOLS := true +LOCAL_SYSTEM_SHARED_LIBRARIES := + +include $(BUILD_SHARED_LIBRARY) + +BUILD_DLTEST:=0 +ifeq ($(BUILD_DLTEST),1) + +# +# dltest +# + +include $(CLEAR_VARS) + +LOCAL_SRC_FILES:= dltest.c + +LOCAL_MODULE:= dltest + +LOCAL_SHARED_LIBRARIES := libdl + +include $(BUILD_EXECUTABLE) + +endif |