blob: 98ecf2886defcff986b856a443f72d7172e7e051 [file] [log] [blame]
Benny Prijonoc4c61d02006-08-20 20:47:34 +00001# @configure_input@
2
Sauw Ming6e6c2152010-12-14 13:03:10 +00003# Define the desired video device backend
4# Valid values are:
5# - mac_os
6# - iphone_os
7AC_PJMEDIA_VIDEO = @ac_pjmedia_video@
8
Benny Prijonoc45d9512010-12-10 11:04:30 +00009# 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
Sauw Ming6e6c2152010-12-14 13:03:10 +000021# 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
Benny Prijonoc4c61d02006-08-20 20:47:34 +000028# PJMEDIA features exclusion
Benny Prijonoc45d9512010-12-10 11:04:30 +000029export CFLAGS += @ac_no_small_filter@ @ac_no_large_filter@ @ac_no_speex_aec@ \
Sauw Ming6e6c2152010-12-14 13:03:10 +000030 $(SDL_CFLAGS) $(FFMPEG_CFLAGS) $(V4L2_CFLAGS) $(QT_CFLAGS) \
31 $(IOS_CFLAGS)
Benny Prijonoc45d9512010-12-10 11:04:30 +000032export LDFLAGS += $(SDL_LDFLAGS) $(FFMPEG_LDFLAGS) $(V4L2_LDFLAGS)
Benny Prijonoc4c61d02006-08-20 20:47:34 +000033
34# Define the desired sound device backend
35# Valid values are:
Benny Prijono39ae2da2006-10-13 17:57:42 +000036# - 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)
Benny Prijonoebb2c332008-07-28 23:40:58 +000042# - external: Link with no sounddev (app will provide)
Benny Prijonoc4c61d02006-08-20 20:47:34 +000043AC_PJMEDIA_SND=@ac_pjmedia_snd@
44
45# For Unix, specify if ALSA should be supported
46AC_PA_USE_ALSA=@ac_pa_use_alsa@
47
Benny Prijono39ae2da2006-10-13 17:57:42 +000048# Additional PortAudio CFLAGS are in @ac_pa_cflags@
49
Benny Prijonoc4c61d02006-08-20 20:47:34 +000050#
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@
Benny Prijono71f657d2008-03-17 14:24:21 +000058AC_NO_G722_CODEC=@ac_no_g722_codec@
Nanang Izzuddin56e380a2009-04-15 14:45:41 +000059AC_NO_G7221_CODEC=@ac_no_g7221_codec@
Sauw Minge7dbbc82011-10-24 09:28:13 +000060AC_NO_OPENCORE_AMRNB=@ac_no_opencore_amrnb@
Benny Prijonoc4c61d02006-08-20 20:47:34 +000061
62export CODEC_OBJS=
63
64ifeq ($(AC_NO_G711_CODEC),1)
65export CFLAGS += -DPJMEDIA_HAS_G711_CODEC=0
66else
67export CODEC_OBJS +=
68endif
69
70ifeq ($(AC_NO_L16_CODEC),1)
71export CFLAGS += -DPJMEDIA_HAS_L16_CODEC=0
72else
73export CODEC_OBJS += l16.o
74endif
75
76ifeq ($(AC_NO_GSM_CODEC),1)
77export CFLAGS += -DPJMEDIA_HAS_GSM_CODEC=0
78else
Benny Prijono25dfd1d2007-04-17 16:16:01 +000079export CODEC_OBJS += gsm.o
Benny Prijonoc4c61d02006-08-20 20:47:34 +000080endif
81
82ifeq ($(AC_NO_SPEEX_CODEC),1)
83export CFLAGS += -DPJMEDIA_HAS_SPEEX_CODEC=0
84else
Benny Prijono25dfd1d2007-04-17 16:16:01 +000085export CFLAGS += -I$(THIRD_PARTY)/build/speex -I$(THIRD_PARTY)/speex/include
86export CODEC_OBJS += speex_codec.o
Benny Prijonod9627842007-04-18 09:24:31 +000087
88ifneq (@ac_no_speex_aec@,1)
89export PJMEDIA_OBJS += echo_speex.o
90endif
91
Benny Prijonoc4c61d02006-08-20 20:47:34 +000092endif
93
94ifeq ($(AC_NO_ILBC_CODEC),1)
95export CFLAGS += -DPJMEDIA_HAS_ILBC_CODEC=0
96else
Benny Prijono25dfd1d2007-04-17 16:16:01 +000097export CODEC_OBJS += ilbc.o
Benny Prijonoc4c61d02006-08-20 20:47:34 +000098endif
99
Benny Prijono71f657d2008-03-17 14:24:21 +0000100ifeq ($(AC_NO_G722_CODEC),1)
101export CFLAGS += -DPJMEDIA_HAS_G722_CODEC=0
102else
103export CODEC_OBJS += g722.o g722/g722_enc.o g722/g722_dec.o
104endif
105
Nanang Izzuddin56e380a2009-04-15 14:45:41 +0000106ifeq ($(AC_NO_G7221_CODEC),1)
107export CFLAGS += -DPJMEDIA_HAS_G7221_CODEC=0
108else
109export CODEC_OBJS += g7221.o
110export G7221_CFLAGS += -I$(THIRD_PARTY)
111endif
112
Sauw Minge7dbbc82011-10-24 09:28:13 +0000113ifeq ($(AC_NO_OPENCORE_AMRNB),1)
114export CFLAGS += -DPJMEDIA_HAS_OPENCORE_AMRNB_CODEC=0
115else
116export CODEC_OBJS += opencore_amrnb.o
117endif
118
Benny Prijonoc4c61d02006-08-20 20:47:34 +0000119
120#
Benny Prijono25dfd1d2007-04-17 16:16:01 +0000121# PortAudio
Benny Prijonoc4c61d02006-08-20 20:47:34 +0000122#
Benny Prijono25dfd1d2007-04-17 16:16:01 +0000123ifneq ($(findstring pa,$(AC_PJMEDIA_SND)),)
Benny Prijono8a9b3b22010-01-14 14:46:54 +0000124ifeq (@ac_external_pa@,1)
125# External PA
126export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_PORTAUDIO=1
Benny Prijonoa38a4032010-01-15 16:53:56 +0000127else
Benny Prijonofe0c1272010-01-13 16:28:15 +0000128# Our PA in third_party
Benny Prijonoccd90bb2009-03-10 15:14:11 +0000129export CFLAGS += -I$(THIRD_PARTY)/build/portaudio -I$(THIRD_PARTY)/portaudio/include -DPJMEDIA_AUDIO_DEV_HAS_PORTAUDIO=1
Benny Prijonofe0c1272010-01-13 16:28:15 +0000130endif
Benny Prijonoc4c61d02006-08-20 20:47:34 +0000131endif
132
133#
Benny Prijonoccd90bb2009-03-10 15:14:11 +0000134# Windows specific
Benny Prijonoc4c61d02006-08-20 20:47:34 +0000135#
Benny Prijonoccd90bb2009-03-10 15:14:11 +0000136ifneq ($(findstring win32,$(AC_PJMEDIA_SND)),)
137export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_WMME=1
138else
139export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_WMME=0
Benny Prijonoc4c61d02006-08-20 20:47:34 +0000140endif
141
142#
Benny Prijonoebb2c332008-07-28 23:40:58 +0000143# Null sound device
Benny Prijonoc4c61d02006-08-20 20:47:34 +0000144#
145ifeq ($(AC_PJMEDIA_SND),null)
Benny Prijonodebe8e12009-06-03 12:29:35 +0000146export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_PORTAUDIO=0 -DPJMEDIA_AUDIO_DEV_HAS_WMME=0
Benny Prijonoc4c61d02006-08-20 20:47:34 +0000147endif
148
Benny Prijonoebb2c332008-07-28 23:40:58 +0000149#
150# External sound device
151#
152ifeq ($(AC_PJMEDIA_SND),external)
Benny Prijonoccd90bb2009-03-10 15:14:11 +0000153export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_PORTAUDIO=0 -DPJMEDIA_AUDIO_DEV_HAS_WMME=0
Benny Prijonoebb2c332008-07-28 23:40:58 +0000154endif
155
Sauw Ming6e6c2152010-12-14 13:03:10 +0000156#
157# QT video device
158#
159ifeq ($(AC_PJMEDIA_VIDEO_HAS_QT),yes)
160export PJMEDIA_VIDEODEV_OBJS += qt_dev.o
161endif
Benny Prijonoc4c61d02006-08-20 20:47:34 +0000162
Sauw Ming6e6c2152010-12-14 13:03:10 +0000163#
164# iOS video device
165#
166ifeq ($(AC_PJMEDIA_VIDEO),iphone_os)
167export PJMEDIA_VIDEODEV_OBJS += ios_dev.o
168endif
169
170#
171# Determine whether we should compile the obj-c version of a particular source code
172#
Benny Prijono2f1b1562011-07-19 11:39:34 +0000173ifneq (,$(filter $(AC_PJMEDIA_VIDEO),mac_os iphone_os))
Sauw Ming31c44e92011-05-30 08:35:42 +0000174# Mac and iPhone OS specific, use obj-c
Sauw Ming6e6c2152010-12-14 13:03:10 +0000175export PJMEDIA_VIDEODEV_OBJS += sdl_dev_m.o
Sauw Ming6e6c2152010-12-14 13:03:10 +0000176else
177# Other platforms, compile .c
178export PJMEDIA_VIDEODEV_OBJS += sdl_dev.o
Sauw Ming6e6c2152010-12-14 13:03:10 +0000179endif