1LOCAL_PATH:= $(call my-dir)
2
3include $(CLEAR_VARS)
4
5LOCAL_SRC_FILES :=     \
6        assert.c          \
7        ut/OpenSLESUT.c   \
8        ut/slesutResult.c
9
10LOCAL_C_INCLUDES:= \
11        $(call include-path-for, wilhelm)
12
13LOCAL_CFLAGS += -fvisibility=hidden -UNDEBUG
14
15LOCAL_MODULE := libOpenSLESUT
16
17include $(BUILD_STATIC_LIBRARY)
18
19include $(CLEAR_VARS)
20
21LOCAL_C_INCLUDES:= \
22        $(call include-path-for, wilhelm)
23
24LOCAL_CFLAGS += -Wno-override-init
25# -Wno-missing-field-initializers
26# optional, see comments in MPH_to.c: -DUSE_DESIGNATED_INITIALIZERS -S
27# and also see ../tools/mphgen/Makefile
28LOCAL_CFLAGS += -DUSE_DESIGNATED_INITIALIZERS -UNDEBUG
29
30LOCAL_SRC_FILES:=                     \
31        assert.c \
32        MPH_to.c \
33        handlers.c
34
35LOCAL_MODULE:= libopensles_helper
36
37include $(BUILD_STATIC_LIBRARY)
38
39include $(CLEAR_VARS)
40
41# do not claim support for any OpenSL ES or OpenMAX AL profiles
42LOCAL_CFLAGS += -DUSE_PROFILES=0
43
44# enable API logging; details are set separately by SL_TRACE_DEFAULT below
45LOCAL_CFLAGS += -DUSE_TRACE
46# or -UUSE_TRACE to disable API logging
47
48# enable mutex deadlock detection
49LOCAL_CFLAGS += -DUSE_DEBUG
50# or -UUSE_DEBUG for no mutex deadlock detection
51
52# enable assert() to do runtime checking
53LOCAL_CFLAGS += -UNDEBUG
54# or -DNDEBUG for no runtime checking
55
56# select the level of log messages
57LOCAL_CFLAGS += -DUSE_LOG=SLAndroidLogLevel_Info
58# or -DUSE_LOG=SLAndroidLogLevel_Verbose for verbose logging
59
60# log all API entries and exits (also requires Debug or Verbose log level)
61# LOCAL_CFLAGS += -DSL_TRACE_DEFAULT=SL_TRACE_ALL
62# (otherwise a warning log on error results only)
63
64# API level
65LOCAL_CFLAGS += -DPLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION)
66
67# Reduce size of .so and hide internal global symbols
68LOCAL_CFLAGS += -fvisibility=hidden -DLI_API='__attribute__((visibility("default")))'
69
70LOCAL_SRC_FILES:=                     \
71        OpenSLES_IID.c                \
72        assert.c                      \
73        classes.c                     \
74        data.c                        \
75        devices.c                     \
76        entry.c                       \
77        handler_bodies.c              \
78        trace.c                       \
79        locks.c                       \
80        sles.c                        \
81        sl_iid.c                      \
82        sllog.c                       \
83        ThreadPool.c                  \
84        android/AudioPlayer_to_android.cpp    \
85        android/AudioRecorder_to_android.cpp  \
86        android/MediaPlayer_to_android.cpp    \
87        android/OutputMix_to_android.cpp      \
88        android/VideoCodec_to_android.cpp     \
89        android/BufferQueueSource.cpp         \
90        android/CallbackProtector.cpp         \
91        android/AacBqToPcmCbRenderer.cpp      \
92        android/android_AudioSfDecoder.cpp    \
93        android/android_AudioToCbRenderer.cpp \
94        android/android_GenericMediaPlayer.cpp\
95        android/android_GenericPlayer.cpp     \
96        android/android_LocAVPlayer.cpp       \
97        android/android_StreamPlayer.cpp      \
98        android/android_Effect.cpp            \
99        android/util/AacAdtsExtractor.cpp     \
100        autogen/IID_to_MPH.c                  \
101        objects/C3DGroup.c                    \
102        objects/CAudioPlayer.c                \
103        objects/CAudioRecorder.c              \
104        objects/CEngine.c                     \
105        objects/COutputMix.c                  \
106        objects/CMediaPlayer.c                \
107        itf/IAndroidBufferQueue.c         \
108        itf/IAndroidConfiguration.c       \
109        itf/IAndroidEffect.cpp            \
110        itf/IAndroidEffectCapabilities.c  \
111        itf/IAndroidEffectSend.c          \
112        itf/IAcousticEchoCancellation.c   \
113        itf/IAutomaticGainControl.c       \
114        itf/IBassBoost.c                  \
115        itf/IBufferQueue.c                \
116        itf/IDynamicInterfaceManagement.c \
117        itf/IEffectSend.c                 \
118        itf/IEngine.c                     \
119        itf/IEngineCapabilities.c         \
120        itf/IEnvironmentalReverb.c        \
121        itf/IEqualizer.c                  \
122        itf/IMetadataExtraction.c         \
123        itf/INoiseSuppression.c           \
124        itf/IMuteSolo.c                   \
125        itf/IObject.c                     \
126        itf/IOutputMix.c                  \
127        itf/IPlay.c                       \
128        itf/IPlaybackRate.c               \
129        itf/IPrefetchStatus.c             \
130        itf/IPresetReverb.c               \
131        itf/IRecord.c                     \
132        itf/ISeek.c                       \
133        itf/IStreamInformation.cpp        \
134        itf/IVideoDecoderCapabilities.cpp \
135        itf/IVirtualizer.c                \
136        itf/IVolume.c
137
138EXCLUDE_SRC :=                            \
139        sync.c                            \
140        itf/I3DCommit.c                   \
141        itf/I3DDoppler.c                  \
142        itf/I3DGrouping.c                 \
143        itf/I3DLocation.c                 \
144        itf/I3DMacroscopic.c              \
145        itf/I3DSource.c                   \
146        itf/IAudioDecoderCapabilities.c   \
147        itf/IAudioEncoder.c               \
148        itf/IAudioEncoderCapabilities.c   \
149        itf/IAudioIODeviceCapabilities.c  \
150        itf/IDeviceVolume.c               \
151        itf/IDynamicSource.c              \
152        itf/ILEDArray.c                   \
153        itf/IMIDIMessage.c                \
154        itf/IMIDIMuteSolo.c               \
155        itf/IMIDITempo.c                  \
156        itf/IMIDITime.c                   \
157        itf/IMetadataTraversal.c          \
158        itf/IPitch.c                      \
159        itf/IRatePitch.c                  \
160        itf/IThreadSync.c                 \
161        itf/IVibra.c                      \
162        itf/IVisualization.c
163
164LOCAL_C_INCLUDES:=                                                  \
165        $(call include-path-for, wilhelm)                           \
166        frameworks/av/media/libstagefright                        \
167        frameworks/av/media/libstagefright/include                \
168        frameworks/av/media/libstagefright/http                     \
169        frameworks/native/include/media/openmax                     \
170        $(call include-path-for, audio-effects)
171
172# __pthread_gettid
173LOCAL_C_INCLUDES += bionic/libc/private
174
175LOCAL_CFLAGS += -x c++ -Wno-multichar -Wno-invalid-offsetof
176
177LOCAL_STATIC_LIBRARIES += \
178        libopensles_helper        \
179        libOpenSLESUT
180
181LOCAL_SHARED_LIBRARIES :=         \
182        liblog                    \
183        libutils                  \
184        libmedia                  \
185        libbinder                 \
186        libstagefright            \
187        libstagefright_foundation \
188        libstagefright_http_support \
189        libcutils                 \
190        libgui                    \
191        libdl                     \
192        libeffects
193
194
195
196LOCAL_MODULE := libwilhelm
197LOCAL_MODULE_TAGS := optional
198
199ifeq ($(TARGET_BUILD_VARIANT),userdebug)
200        LOCAL_CFLAGS += -DUSERDEBUG_BUILD=1
201endif
202
203LOCAL_PRELINK_MODULE := false
204include $(BUILD_SHARED_LIBRARY)
205
206include $(CLEAR_VARS)
207LOCAL_SRC_FILES := sl_entry.c sl_iid.c assert.c
208LOCAL_C_INCLUDES:=                                                  \
209        $(call include-path-for, wilhelm)                           \
210        frameworks/av/media/libstagefright                        \
211        frameworks/av/media/libstagefright/include                \
212        frameworks/native/include/media/openmax
213LOCAL_MODULE := libOpenSLES
214LOCAL_PRELINK_MODULE := false
215LOCAL_MODULE_TAGS := optional
216LOCAL_CFLAGS += -x c++ -DLI_API= -fvisibility=hidden -UNDEBUG \
217                -DSL_API='__attribute__((visibility("default")))'
218LOCAL_SHARED_LIBRARIES := libwilhelm liblog
219include $(BUILD_SHARED_LIBRARY)
220
221include $(CLEAR_VARS)
222LOCAL_SRC_FILES := xa_entry.c xa_iid.c assert.c
223LOCAL_C_INCLUDES:=                                                  \
224        $(call include-path-for, wilhelm)                           \
225        frameworks/av/media/libstagefright                        \
226        frameworks/av/media/libstagefright/include                \
227        frameworks/native/include/media/openmax
228LOCAL_MODULE := libOpenMAXAL
229LOCAL_PRELINK_MODULE := false
230LOCAL_MODULE_TAGS := optional
231LOCAL_CFLAGS += -x c++ -DLI_API= -fvisibility=hidden -UNDEBUG \
232                -DXA_API='__attribute__((visibility("default")))'
233LOCAL_SHARED_LIBRARIES := libwilhelm liblog
234include $(BUILD_SHARED_LIBRARY)
235