blob: f451331e900e1f1df0a18f8a414d573b4bc15e3c [file] [log] [blame]
Tristan Matthews0a329cc2013-07-17 13:20:14 -04001# @configure_input@
2
3# Define the desired video device backend
4# Valid values are:
5# - mac_os
6# - iphone_os
7AC_PJMEDIA_VIDEO = @ac_pjmedia_video@
8
9# SDL flags
10SDL_CFLAGS = @ac_sdl_cflags@
11SDL_LDFLAGS = @ac_sdl_ldflags@
12
13# FFMPEG dlags
14FFMPEG_CFLAGS = @ac_ffmpeg_cflags@
15FFMPEG_LDFLAGS = @ac_ffmpeg_ldflags@
16
17# Video4Linux2
18V4L2_CFLAGS = @ac_v4l2_cflags@
19V4L2_LDFLAGS = @ac_v4l2_ldflags@
20
21# QT
22AC_PJMEDIA_VIDEO_HAS_QT = @ac_pjmedia_video_has_qt@
23QT_CFLAGS = @ac_qt_cflags@
24
25# iOS
26IOS_CFLAGS = @ac_ios_cflags@
27
28# PJMEDIA features exclusion
29export CFLAGS += @ac_no_small_filter@ @ac_no_large_filter@ @ac_no_speex_aec@ \
30 $(SDL_CFLAGS) $(FFMPEG_CFLAGS) $(V4L2_CFLAGS) $(QT_CFLAGS) \
31 $(IOS_CFLAGS)
32export LDFLAGS += $(SDL_LDFLAGS) $(FFMPEG_LDFLAGS) $(V4L2_LDFLAGS)
33
34# Define the desired sound device backend
35# Valid values are:
36# - pa_unix: PortAudio on Unix (OSS or ALSA)
37# - pa_darwinos: PortAudio on MacOSX (CoreAudio)
38# - pa_old_darwinos: PortAudio on MacOSX (old CoreAudio, for OSX 10.2)
39# - pa_win32: PortAudio on Win32 (WMME)
40# - ds: Win32 DirectSound (dsound.c)
41# - null: Null sound device (nullsound.c)
42# - external: Link with no sounddev (app will provide)
43AC_PJMEDIA_SND=@ac_pjmedia_snd@
44
45# For Unix, specify if ALSA should be supported
46AC_PA_USE_ALSA=@ac_pa_use_alsa@
47
48# Additional PortAudio CFLAGS are in @ac_pa_cflags@
49
50#
51# Codecs
52#
53AC_NO_G711_CODEC=@ac_no_g711_codec@
54AC_NO_L16_CODEC=@ac_no_l16_codec@
55AC_NO_GSM_CODEC=@ac_no_gsm_codec@
56AC_NO_SPEEX_CODEC=@ac_no_speex_codec@
57AC_NO_ILBC_CODEC=@ac_no_ilbc_codec@
58AC_NO_G722_CODEC=@ac_no_g722_codec@
59AC_NO_G7221_CODEC=@ac_no_g7221_codec@
60AC_NO_OPENCORE_AMRNB=@ac_no_opencore_amrnb@
61AC_NO_OPENCORE_AMRWB=@ac_no_opencore_amrwb@
62
63export CODEC_OBJS=
64
Alexandre Lision8af73cb2013-12-10 14:11:20 -050065export PJMEDIA_AUDIODEV_OBJS += @ac_pjmedia_audiodev_objs@
66
Tristan Matthews0a329cc2013-07-17 13:20:14 -040067ifeq ($(AC_NO_G711_CODEC),1)
68export CFLAGS += -DPJMEDIA_HAS_G711_CODEC=0
69else
70export CODEC_OBJS +=
71endif
72
73ifeq ($(AC_NO_L16_CODEC),1)
74export CFLAGS += -DPJMEDIA_HAS_L16_CODEC=0
75else
76export CODEC_OBJS += l16.o
77endif
78
79ifeq ($(AC_NO_GSM_CODEC),1)
80export CFLAGS += -DPJMEDIA_HAS_GSM_CODEC=0
81else
82export CODEC_OBJS += gsm.o
83endif
84
85ifeq ($(AC_NO_SPEEX_CODEC),1)
86export CFLAGS += -DPJMEDIA_HAS_SPEEX_CODEC=0
87else
88export CFLAGS += -I$(THIRD_PARTY)/build/speex -I$(THIRD_PARTY)/speex/include
89export CODEC_OBJS += speex_codec.o
90
91ifneq (@ac_no_speex_aec@,1)
92export PJMEDIA_OBJS += echo_speex.o
93endif
94
95endif
96
97ifeq ($(AC_NO_ILBC_CODEC),1)
98export CFLAGS += -DPJMEDIA_HAS_ILBC_CODEC=0
99else
100export CODEC_OBJS += ilbc.o
101endif
102
103ifeq ($(AC_NO_G722_CODEC),1)
104export CFLAGS += -DPJMEDIA_HAS_G722_CODEC=0
105else
106export CODEC_OBJS += g722.o g722/g722_enc.o g722/g722_dec.o
107endif
108
109ifeq ($(AC_NO_G7221_CODEC),1)
110export CFLAGS += -DPJMEDIA_HAS_G7221_CODEC=0
111else
112export CODEC_OBJS += g7221.o
113export G7221_CFLAGS += -I$(THIRD_PARTY)
114endif
115
116ifeq ($(AC_NO_OPENCORE_AMRNB),1)
117export CFLAGS += -DPJMEDIA_HAS_OPENCORE_AMRNB_CODEC=0
118else
119export CODEC_OBJS += opencore_amr.o
120endif
121
122ifeq ($(AC_NO_OPENCORE_AMRWB),1)
123export CFLAGS += -DPJMEDIA_HAS_OPENCORE_AMRWB_CODEC=0
124else
125ifeq ($(AC_NO_OPENCORE_AMRNB),1)
126export CODEC_OBJS += opencore_amr.o
127endif
128endif
129
130
131#
Alexandre Lision0e143012014-01-22 11:02:46 -0500132# SRTP
133#
134ifeq (@ac_external_srtp@,1)
135# External SRTP
136export CFLAGS += -DPJMEDIA_EXTERNAL_SRTP=1
137else
138# Our SRTP in third_party
139export CFLAGS += -I$(THIRD_PARTY)/build/srtp \
140 -I$(THIRD_PARTY)/srtp/crypto/include \
141 -I$(THIRD_PARTY)/srtp/include
142
143endif
144
145#
146# Resample
147#
148AC_PJMEDIA_RESAMPLE=@ac_pjmedia_resample@
149
150ifeq ($(AC_PJMEDIA_RESAMPLE),none)
151# No resample support
152export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_NONE
153endif
154
155ifeq ($(AC_PJMEDIA_RESAMPLE),libresample)
156export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_LIBRESAMPLE
157endif
158
159ifeq ($(AC_PJMEDIA_RESAMPLE),libsamplerate)
160export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_LIBSAMPLERATE
161endif
162
163ifeq ($(AC_PJMEDIA_RESAMPLE),speex)
164export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_SPEEX
165endif
166
167#
Tristan Matthews0a329cc2013-07-17 13:20:14 -0400168# PortAudio
169#
170ifneq ($(findstring pa,$(AC_PJMEDIA_SND)),)
171ifeq (@ac_external_pa@,1)
172# External PA
173export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_PORTAUDIO=1
174else
175# Our PA in third_party
176export CFLAGS += -I$(THIRD_PARTY)/build/portaudio -I$(THIRD_PARTY)/portaudio/include -DPJMEDIA_AUDIO_DEV_HAS_PORTAUDIO=1
177endif
178endif
179
180#
181# Windows specific
182#
183ifneq ($(findstring win32,$(AC_PJMEDIA_SND)),)
184export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_WMME=1
185else
186export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_WMME=0
187endif
188
189#
190# Null sound device
191#
192ifeq ($(AC_PJMEDIA_SND),null)
193export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_PORTAUDIO=0 -DPJMEDIA_AUDIO_DEV_HAS_WMME=0
194endif
195
196#
197# External sound device
198#
199ifeq ($(AC_PJMEDIA_SND),external)
200export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_PORTAUDIO=0 -DPJMEDIA_AUDIO_DEV_HAS_WMME=0
201endif
202
203#
204# QT video device
205#
206ifeq ($(AC_PJMEDIA_VIDEO_HAS_QT),yes)
207export PJMEDIA_VIDEODEV_OBJS += qt_dev.o
208endif
209
210#
211# iOS video device
212#
213ifeq ($(AC_PJMEDIA_VIDEO),iphone_os)
214export PJMEDIA_VIDEODEV_OBJS += ios_dev.o
215endif
216
217#
218# Determine whether we should compile the obj-c version of a particular source code
219#
220ifneq (,$(filter $(AC_PJMEDIA_VIDEO),mac_os iphone_os))
221# Mac and iPhone OS specific, use obj-c
222export PJMEDIA_VIDEODEV_OBJS += sdl_dev_m.o
223else
224# Other platforms, compile .c
225export PJMEDIA_VIDEODEV_OBJS += sdl_dev.o
226endif