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-initializer-overrides
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# see Configuration.h for USE_DEBUG
49
50# enable assert() to do runtime checking
51LOCAL_CFLAGS += -UNDEBUG
52# or -DNDEBUG for no runtime checking
53
54# select the level of log messages
55LOCAL_CFLAGS += -DUSE_LOG=SLAndroidLogLevel_Info
56# or -DUSE_LOG=SLAndroidLogLevel_Verbose for verbose logging
57
58# log all API entries and exits (also requires Debug or Verbose log level)
59# LOCAL_CFLAGS += -DSL_TRACE_DEFAULT=SL_TRACE_ALL
60# (otherwise a warning log on error results only)
61
62# API level
63LOCAL_CFLAGS += -DPLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION)
64
65# Reduce size of .so and hide internal global symbols
66LOCAL_CFLAGS += -fvisibility=hidden -DLI_API='__attribute__((visibility("default")))'
67
68LOCAL_SRC_FILES:=                     \
69        OpenSLES_IID.c                \
70        assert.c                      \
71        classes.c                     \
72        data.c                        \
73        devices.c                     \
74        entry.c                       \
75        handler_bodies.c              \
76        trace.c                       \
77        locks.c                       \
78        sles.c                        \
79        sl_iid.c                      \
80        sllog.c                       \
81        ThreadPool.c                  \
82        android/AudioPlayer_to_android.cpp    \
83        android/AudioRecorder_to_android.cpp  \
84        android/MediaPlayer_to_android.cpp    \
85        android/OutputMix_to_android.cpp      \
86        android/VideoCodec_to_android.cpp     \
87        android/BufferQueueSource.cpp         \
88        android/CallbackProtector.cpp         \
89        android/AacBqToPcmCbRenderer.cpp      \
90        android/android_AudioSfDecoder.cpp    \
91        android/android_AudioToCbRenderer.cpp \
92        android/android_GenericMediaPlayer.cpp\
93        android/android_GenericPlayer.cpp     \
94        android/android_LocAVPlayer.cpp       \
95        android/android_StreamPlayer.cpp      \
96        android/android_Effect.cpp            \
97        android/util/AacAdtsExtractor.cpp     \
98        android/channels.c                    \
99        autogen/IID_to_MPH.c                  \
100        objects/C3DGroup.c                    \
101        objects/CAudioPlayer.c                \
102        objects/CAudioRecorder.c              \
103        objects/CEngine.c                     \
104        objects/COutputMix.c                  \
105        objects/CMediaPlayer.c                \
106        itf/IAndroidBufferQueue.c         \
107        itf/IAndroidConfiguration.c       \
108        itf/IAndroidEffect.cpp            \
109        itf/IAndroidEffectCapabilities.c  \
110        itf/IAndroidEffectSend.c          \
111        itf/IAcousticEchoCancellation.c   \
112        itf/IAutomaticGainControl.c       \
113        itf/IBassBoost.c                  \
114        itf/IBufferQueue.c                \
115        itf/IDynamicInterfaceManagement.c \
116        itf/IEffectSend.c                 \
117        itf/IEngine.c                     \
118        itf/IEngineCapabilities.c         \
119        itf/IEnvironmentalReverb.c        \
120        itf/IEqualizer.c                  \
121        itf/IMetadataExtraction.c         \
122        itf/INoiseSuppression.c           \
123        itf/IMuteSolo.c                   \
124        itf/IObject.c                     \
125        itf/IOutputMix.c                  \
126        itf/IPlay.c                       \
127        itf/IPlaybackRate.c               \
128        itf/IPrefetchStatus.c             \
129        itf/IPresetReverb.c               \
130        itf/IRecord.c                     \
131        itf/ISeek.c                       \
132        itf/IStreamInformation.cpp        \
133        itf/IVideoDecoderCapabilities.cpp \
134        itf/IVirtualizer.c                \
135        itf/IVolume.c
136
137EXCLUDE_SRC :=                            \
138        sync.c                            \
139        itf/I3DCommit.c                   \
140        itf/I3DDoppler.c                  \
141        itf/I3DGrouping.c                 \
142        itf/I3DLocation.c                 \
143        itf/I3DMacroscopic.c              \
144        itf/I3DSource.c                   \
145        itf/IAudioDecoderCapabilities.c   \
146        itf/IAudioEncoder.c               \
147        itf/IAudioEncoderCapabilities.c   \
148        itf/IAudioIODeviceCapabilities.c  \
149        itf/IDeviceVolume.c               \
150        itf/IDynamicSource.c              \
151        itf/ILEDArray.c                   \
152        itf/IMIDIMessage.c                \
153        itf/IMIDIMuteSolo.c               \
154        itf/IMIDITempo.c                  \
155        itf/IMIDITime.c                   \
156        itf/IMetadataTraversal.c          \
157        itf/IPitch.c                      \
158        itf/IRatePitch.c                  \
159        itf/IThreadSync.c                 \
160        itf/IVibra.c                      \
161        itf/IVisualization.c
162
163LOCAL_C_INCLUDES:=                                                  \
164        $(call include-path-for, wilhelm)                           \
165        frameworks/av/media/libstagefright                        \
166        frameworks/av/media/libstagefright/include                \
167        frameworks/av/media/libstagefright/http                     \
168        frameworks/native/include/media/openmax                     \
169        $(call include-path-for, audio-effects)
170
171LOCAL_CFLAGS += -x c++ -std=gnu++11 -Wno-multichar -Wno-invalid-offsetof
172
173LOCAL_CFLAGS += -Wall -Wextra -Wno-unused-parameter -Werror
174
175LOCAL_STATIC_LIBRARIES += \
176        libopensles_helper        \
177        libOpenSLESUT
178
179LOCAL_SHARED_LIBRARIES :=         \
180        liblog                    \
181        libutils                  \
182        libmedia                  \
183        libbinder                 \
184        libstagefright            \
185        libstagefright_foundation \
186        libcutils                 \
187        libgui                    \
188        libdl                     \
189        libeffects                \
190        libandroid_runtime
191
192# For Brillo, we do not want this dependency as it significantly increases the
193# size of the checkout. Also, the library is dependent on Java (which is not
194# present in Brillo), so it doesn't really make sense to have it anyways. See
195# b/24507845 for more details.
196ifndef BRILLO
197LOCAL_SHARED_LIBRARIES += \
198        libstagefright_http_support
199endif
200
201LOCAL_MODULE := libwilhelm
202LOCAL_MODULE_TAGS := optional
203
204ifeq ($(TARGET_BUILD_VARIANT),userdebug)
205        LOCAL_CFLAGS += -DUSERDEBUG_BUILD=1
206endif
207
208include $(BUILD_SHARED_LIBRARY)
209
210include $(CLEAR_VARS)
211LOCAL_SRC_FILES := sl_entry.c sl_iid.c assert.c
212LOCAL_C_INCLUDES:=                                                  \
213        $(call include-path-for, wilhelm)                           \
214        frameworks/av/media/libstagefright                        \
215        frameworks/av/media/libstagefright/include                \
216        frameworks/native/include/media/openmax
217LOCAL_MODULE := libOpenSLES
218LOCAL_MODULE_TAGS := optional
219LOCAL_CFLAGS += -x c++ -std=gnu++11 -DLI_API= -fvisibility=hidden -UNDEBUG \
220                -DSL_API='__attribute__((visibility("default")))'
221LOCAL_SHARED_LIBRARIES := libwilhelm liblog
222include $(BUILD_SHARED_LIBRARY)
223
224include $(CLEAR_VARS)
225LOCAL_SRC_FILES := xa_entry.c xa_iid.c assert.c
226LOCAL_C_INCLUDES:=                                                  \
227        $(call include-path-for, wilhelm)                           \
228        frameworks/av/media/libstagefright                        \
229        frameworks/av/media/libstagefright/include                \
230        frameworks/native/include/media/openmax
231LOCAL_MODULE := libOpenMAXAL
232LOCAL_MODULE_TAGS := optional
233LOCAL_CFLAGS += -x c++ -std=gnu++11 -DLI_API= -fvisibility=hidden -UNDEBUG \
234                -DXA_API='__attribute__((visibility("default")))'
235LOCAL_SHARED_LIBRARIES := libwilhelm liblog
236include $(BUILD_SHARED_LIBRARY)
237