Add support for ICE/STUN/TURN in res_rtp_asterisk and chan_sip.
[asterisk/asterisk.git] / res / pjproject / pjmedia / build / os-auto.mak.in
1 # @configure_input@
2
3 # Define the desired video device backend
4 # Valid values are:
5 #   - mac_os
6 #   - iphone_os
7 AC_PJMEDIA_VIDEO = @ac_pjmedia_video@
8
9 # SDL flags
10 SDL_CFLAGS = @ac_sdl_cflags@
11 SDL_LDFLAGS = @ac_sdl_ldflags@
12
13 # FFMPEG dlags
14 FFMPEG_CFLAGS = @ac_ffmpeg_cflags@ 
15 FFMPEG_LDFLAGS =  @ac_ffmpeg_ldflags@
16
17 # Video4Linux2
18 V4L2_CFLAGS = @ac_v4l2_cflags@
19 V4L2_LDFLAGS = @ac_v4l2_ldflags@
20
21 # QT
22 AC_PJMEDIA_VIDEO_HAS_QT = @ac_pjmedia_video_has_qt@
23 QT_CFLAGS = @ac_qt_cflags@
24
25 # iOS
26 IOS_CFLAGS = @ac_ios_cflags@
27
28 # PJMEDIA features exclusion
29 export 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)
32 export 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)
43 AC_PJMEDIA_SND=@ac_pjmedia_snd@
44
45 # For Unix, specify if ALSA should be supported
46 AC_PA_USE_ALSA=@ac_pa_use_alsa@
47
48 # Additional PortAudio CFLAGS are in @ac_pa_cflags@
49
50 #
51 # Codecs
52 #
53 AC_NO_G711_CODEC=@ac_no_g711_codec@
54 AC_NO_L16_CODEC=@ac_no_l16_codec@
55 AC_NO_GSM_CODEC=@ac_no_gsm_codec@
56 AC_NO_SPEEX_CODEC=@ac_no_speex_codec@
57 AC_NO_ILBC_CODEC=@ac_no_ilbc_codec@
58 AC_NO_G722_CODEC=@ac_no_g722_codec@
59 AC_NO_G7221_CODEC=@ac_no_g7221_codec@
60 AC_NO_OPENCORE_AMRNB=@ac_no_opencore_amrnb@
61
62 export CODEC_OBJS=
63
64 ifeq ($(AC_NO_G711_CODEC),1)
65 export CFLAGS += -DPJMEDIA_HAS_G711_CODEC=0
66 else
67 export CODEC_OBJS +=
68 endif
69
70 ifeq ($(AC_NO_L16_CODEC),1)
71 export CFLAGS += -DPJMEDIA_HAS_L16_CODEC=0
72 else
73 export CODEC_OBJS += l16.o
74 endif
75
76 ifeq ($(AC_NO_GSM_CODEC),1)
77 export CFLAGS += -DPJMEDIA_HAS_GSM_CODEC=0
78 else
79 export CODEC_OBJS += gsm.o
80 endif
81
82 ifeq ($(AC_NO_SPEEX_CODEC),1)
83 export CFLAGS += -DPJMEDIA_HAS_SPEEX_CODEC=0
84 else
85 export CFLAGS += -I$(THIRD_PARTY)/build/speex -I$(THIRD_PARTY)/speex/include
86 export CODEC_OBJS += speex_codec.o
87
88 ifneq (@ac_no_speex_aec@,1)
89 export PJMEDIA_OBJS += echo_speex.o
90 endif
91
92 endif
93
94 ifeq ($(AC_NO_ILBC_CODEC),1)
95 export CFLAGS += -DPJMEDIA_HAS_ILBC_CODEC=0
96 else
97 export CODEC_OBJS += ilbc.o
98 endif
99
100 ifeq ($(AC_NO_G722_CODEC),1)
101 export CFLAGS += -DPJMEDIA_HAS_G722_CODEC=0
102 else
103 export CODEC_OBJS += g722.o g722/g722_enc.o g722/g722_dec.o
104 endif
105
106 ifeq ($(AC_NO_G7221_CODEC),1)
107 export CFLAGS += -DPJMEDIA_HAS_G7221_CODEC=0
108 else
109 export CODEC_OBJS += g7221.o
110 export G7221_CFLAGS += -I$(THIRD_PARTY)
111 endif
112
113 ifeq ($(AC_NO_OPENCORE_AMRNB),1)
114 export CFLAGS += -DPJMEDIA_HAS_OPENCORE_AMRNB_CODEC=0
115 else
116 export CODEC_OBJS += opencore_amrnb.o
117 endif
118
119
120 #
121 # PortAudio
122 #
123 ifneq ($(findstring pa,$(AC_PJMEDIA_SND)),)
124 ifeq (@ac_external_pa@,1)
125 # External PA
126 export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_PORTAUDIO=1
127 else
128 # Our PA in third_party
129 export CFLAGS += -I$(THIRD_PARTY)/build/portaudio -I$(THIRD_PARTY)/portaudio/include -DPJMEDIA_AUDIO_DEV_HAS_PORTAUDIO=1
130 endif
131 endif
132
133 #
134 # Windows specific
135 #
136 ifneq ($(findstring win32,$(AC_PJMEDIA_SND)),)
137 export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_WMME=1
138 else
139 export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_WMME=0
140 endif
141
142 #
143 # Null sound device
144 #
145 ifeq ($(AC_PJMEDIA_SND),null)
146 export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_PORTAUDIO=0 -DPJMEDIA_AUDIO_DEV_HAS_WMME=0
147 endif
148
149 #
150 # External sound device
151 #
152 ifeq ($(AC_PJMEDIA_SND),external)
153 export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_PORTAUDIO=0 -DPJMEDIA_AUDIO_DEV_HAS_WMME=0
154 endif
155
156 #
157 # QT video device
158 #
159 ifeq ($(AC_PJMEDIA_VIDEO_HAS_QT),yes)
160 export PJMEDIA_VIDEODEV_OBJS += qt_dev.o
161 endif
162
163 #
164 # iOS video device
165 #
166 ifeq ($(AC_PJMEDIA_VIDEO),iphone_os)
167 export PJMEDIA_VIDEODEV_OBJS += ios_dev.o
168 endif
169
170 #
171 # Determine whether we should compile the obj-c version of a particular source code
172 #
173 ifneq (,$(filter $(AC_PJMEDIA_VIDEO),mac_os iphone_os))
174 # Mac and iPhone OS specific, use obj-c
175 export PJMEDIA_VIDEODEV_OBJS += sdl_dev_m.o
176 else
177 # Other platforms, compile .c
178 export PJMEDIA_VIDEODEV_OBJS += sdl_dev.o
179 endif