OSDN Git Service

Only export the symbols that need to be
authorMarco Nelissen <marcone@google.com>
Thu, 25 Oct 2012 23:05:57 +0000 (16:05 -0700)
committerMarco Nelissen <marcone@google.com>
Thu, 25 Oct 2012 23:05:57 +0000 (16:05 -0700)
The effects libraries were exporting many more symbols than needed.
This reduces the exported symbols to just the needed ones (basically
just "AELI"), which happens to also save about 28KB.

Change-Id: I115077e52e8dc845282e6f62a522908d26dd72d6

media/libeffects/downmix/Android.mk
media/libeffects/downmix/EffectDownmix.c
media/libeffects/lvm/lib/Android.mk
media/libeffects/lvm/wrapper/Android.mk
media/libeffects/lvm/wrapper/Bundle/EffectBundle.cpp
media/libeffects/lvm/wrapper/Reverb/EffectReverb.cpp
media/libeffects/preprocessing/Android.mk
media/libeffects/preprocessing/PreProcessing.cpp
media/libeffects/visualizer/Android.mk
media/libeffects/visualizer/EffectVisualizer.cpp

index 95ca6fd..3052ad9 100644 (file)
@@ -25,4 +25,6 @@ LOCAL_C_INCLUDES := \
 
 LOCAL_PRELINK_MODULE := false
 
+LOCAL_CFLAGS += -fvisibility=hidden
+
 include $(BUILD_SHARED_LIBRARY)
index aa2134c..f17a6e8 100644 (file)
@@ -58,6 +58,8 @@ const struct effect_interface_s gDownmixInterface = {
         NULL /* no process_reverse function, no reference stream needed */
 };
 
+// This is the only symbol that needs to be exported
+__attribute__ ((visibility ("default")))
 audio_effect_library_t AUDIO_EFFECT_LIBRARY_INFO_SYM = {
     tag : AUDIO_EFFECT_LIBRARY_TAG,
     version : EFFECT_LIBRARY_API_VERSION,
index f49267e..bb56c75 100644 (file)
@@ -105,8 +105,6 @@ LOCAL_SRC_FILES:= \
 
 LOCAL_MODULE:= libmusicbundle
 
-
-
 LOCAL_C_INCLUDES += \
     $(LOCAL_PATH)/Eq/lib \
     $(LOCAL_PATH)/Eq/src \
@@ -121,8 +119,12 @@ LOCAL_C_INCLUDES += \
     $(LOCAL_PATH)/StereoWidening/src \
     $(LOCAL_PATH)/StereoWidening/lib
 
+LOCAL_CFLAGS += -fvisibility=hidden
+
 include $(BUILD_STATIC_LIBRARY)
 
+
+
 # Reverb library
 include $(CLEAR_VARS)
 
@@ -168,12 +170,11 @@ LOCAL_SRC_FILES:= \
 
 LOCAL_MODULE:= libreverb
 
-
-
 LOCAL_C_INCLUDES += \
     $(LOCAL_PATH)/Reverb/lib \
     $(LOCAL_PATH)/Reverb/src \
     $(LOCAL_PATH)/Common/lib \
     $(LOCAL_PATH)/Common/src
 
+LOCAL_CFLAGS += -fvisibility=hidden
 include $(BUILD_STATIC_LIBRARY)
index 4313424..f1af389 100644 (file)
@@ -9,28 +9,27 @@ LOCAL_ARM_MODE := arm
 LOCAL_SRC_FILES:= \
        Bundle/EffectBundle.cpp
 
+LOCAL_CFLAGS += -fvisibility=hidden
+
 LOCAL_MODULE:= libbundlewrapper
 
 LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/soundfx
 
-
-
 LOCAL_STATIC_LIBRARIES += libmusicbundle
 
 LOCAL_SHARED_LIBRARIES := \
      libcutils \
      libdl
 
-
 LOCAL_C_INCLUDES += \
        $(LOCAL_PATH)/Bundle \
        $(LOCAL_PATH)/../lib/Common/lib/ \
        $(LOCAL_PATH)/../lib/Bundle/lib/ \
        $(call include-path-for, audio-effects)
 
-
 include $(BUILD_SHARED_LIBRARY)
 
+
 # reverb wrapper
 include $(CLEAR_VARS)
 
@@ -39,12 +38,12 @@ LOCAL_ARM_MODE := arm
 LOCAL_SRC_FILES:= \
     Reverb/EffectReverb.cpp
 
+LOCAL_CFLAGS += -fvisibility=hidden
+
 LOCAL_MODULE:= libreverbwrapper
 
 LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/soundfx
 
-
-
 LOCAL_STATIC_LIBRARIES += libreverb
 
 LOCAL_SHARED_LIBRARIES := \
index 3ea3e18..94b9acf 100644 (file)
@@ -3263,6 +3263,8 @@ const struct effect_interface_s gLvmEffectInterface = {
     NULL,
 };    /* end gLvmEffectInterface */
 
+// This is the only symbol that needs to be exported
+__attribute__ ((visibility ("default")))
 audio_effect_library_t AUDIO_EFFECT_LIBRARY_INFO_SYM = {
     tag : AUDIO_EFFECT_LIBRARY_TAG,
     version : EFFECT_LIBRARY_API_VERSION,
index 1a2f9dc..87e2c85 100755 (executable)
@@ -2146,6 +2146,8 @@ const struct effect_interface_s gReverbInterface = {
     NULL,
 };    /* end gReverbInterface */
 
+// This is the only symbol that needs to be exported
+__attribute__ ((visibility ("default")))
 audio_effect_library_t AUDIO_EFFECT_LIBRARY_INFO_SYM = {
     tag : AUDIO_EFFECT_LIBRARY_TAG,
     version : EFFECT_LIBRARY_API_VERSION,
index c13b9d4..dfa1711 100755 (executable)
@@ -29,4 +29,6 @@ else
 LOCAL_SHARED_LIBRARIES += libdl
 endif
 
+LOCAL_CFLAGS += -fvisibility=hidden
+
 include $(BUILD_SHARED_LIBRARY)
index 58dc413..25586e8 100755 (executable)
@@ -1889,6 +1889,8 @@ int PreProcessingLib_GetDescriptor(const effect_uuid_t *uuid,
     return 0;
 }
 
+// This is the only symbol that needs to be exported
+__attribute__ ((visibility ("default")))
 audio_effect_library_t AUDIO_EFFECT_LIBRARY_INFO_SYM = {
     tag : AUDIO_EFFECT_LIBRARY_TAG,
     version : EFFECT_LIBRARY_API_VERSION,
index 76b5110..49cf4fa 100644 (file)
@@ -6,7 +6,7 @@ include $(CLEAR_VARS)
 LOCAL_SRC_FILES:= \
        EffectVisualizer.cpp
 
-LOCAL_CFLAGS+= -O2
+LOCAL_CFLAGS+= -O2 -fvisibility=hidden
 
 LOCAL_SHARED_LIBRARIES := \
        libcutils \
index dc1937e..e7eccf1 100644 (file)
@@ -557,7 +557,8 @@ const struct effect_interface_s gVisualizerInterface = {
         NULL,
 };
 
-
+// This is the only symbol that needs to be exported
+__attribute__ ((visibility ("default")))
 audio_effect_library_t AUDIO_EFFECT_LIBRARY_INFO_SYM = {
     tag : AUDIO_EFFECT_LIBRARY_TAG,
     version : EFFECT_LIBRARY_API_VERSION,