991d91dffd
To use it, app has to specify PJMEDIA_HAS_VIDEO to 1 git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@4928 74dad513-b988-da41-8d7b-12977e46ad98
239 lines
5.5 KiB
Makefile
239 lines
5.5 KiB
Makefile
# @configure_input@
|
|
|
|
# Define the desired video device backend
|
|
# Valid values are:
|
|
# - mac_os
|
|
# - iphone_os
|
|
AC_PJMEDIA_VIDEO = @ac_pjmedia_video@
|
|
|
|
# SDL flags
|
|
SDL_CFLAGS = @ac_sdl_cflags@
|
|
SDL_LDFLAGS = @ac_sdl_ldflags@
|
|
|
|
# FFMPEG dlags
|
|
FFMPEG_CFLAGS = @ac_ffmpeg_cflags@
|
|
FFMPEG_LDFLAGS = @ac_ffmpeg_ldflags@
|
|
|
|
# Video4Linux2
|
|
V4L2_CFLAGS = @ac_v4l2_cflags@
|
|
V4L2_LDFLAGS = @ac_v4l2_ldflags@
|
|
|
|
# QT
|
|
AC_PJMEDIA_VIDEO_HAS_QT = @ac_pjmedia_video_has_qt@
|
|
QT_CFLAGS = @ac_qt_cflags@
|
|
|
|
# iOS
|
|
IOS_CFLAGS = @ac_ios_cflags@
|
|
|
|
# Android
|
|
ANDROID_CFLAGS = @ac_android_cflags@
|
|
|
|
# libyuv
|
|
LIBYUV_CFLAGS = @ac_libyuv_cflags@
|
|
LIBYUV_LDFLAGS = @ac_libyuv_ldflags@
|
|
|
|
|
|
# PJMEDIA features exclusion
|
|
export CFLAGS += @ac_no_small_filter@ @ac_no_large_filter@ @ac_no_speex_aec@ \
|
|
$(SDL_CFLAGS) $(FFMPEG_CFLAGS) $(V4L2_CFLAGS) $(QT_CFLAGS) \
|
|
$(IOS_CFLAGS) $(ANDROID_CFLAGS) $(LIBYUV_CFLAGS)
|
|
export LDFLAGS += $(SDL_LDFLAGS) $(FFMPEG_LDFLAGS) $(V4L2_LDFLAGS) \
|
|
$(LIBYUV_LDFLAGS)
|
|
|
|
# Define the desired sound device backend
|
|
# Valid values are:
|
|
# - pa_unix: PortAudio on Unix (OSS or ALSA)
|
|
# - pa_darwinos: PortAudio on MacOSX (CoreAudio)
|
|
# - pa_old_darwinos: PortAudio on MacOSX (old CoreAudio, for OSX 10.2)
|
|
# - pa_win32: PortAudio on Win32 (WMME)
|
|
# - ds: Win32 DirectSound (dsound.c)
|
|
# - null: Null sound device (nullsound.c)
|
|
# - external: Link with no sounddev (app will provide)
|
|
AC_PJMEDIA_SND=@ac_pjmedia_snd@
|
|
|
|
# For Unix, specify if ALSA should be supported
|
|
AC_PA_USE_ALSA=@ac_pa_use_alsa@
|
|
|
|
# Additional PortAudio CFLAGS are in @ac_pa_cflags@
|
|
|
|
#
|
|
# Codecs
|
|
#
|
|
AC_NO_G711_CODEC=@ac_no_g711_codec@
|
|
AC_NO_L16_CODEC=@ac_no_l16_codec@
|
|
AC_NO_GSM_CODEC=@ac_no_gsm_codec@
|
|
AC_NO_SPEEX_CODEC=@ac_no_speex_codec@
|
|
AC_NO_ILBC_CODEC=@ac_no_ilbc_codec@
|
|
AC_NO_G722_CODEC=@ac_no_g722_codec@
|
|
AC_NO_G7221_CODEC=@ac_no_g7221_codec@
|
|
AC_NO_OPENCORE_AMRNB=@ac_no_opencore_amrnb@
|
|
AC_NO_OPENCORE_AMRWB=@ac_no_opencore_amrwb@
|
|
|
|
export CODEC_OBJS=
|
|
|
|
export PJMEDIA_AUDIODEV_OBJS += @ac_pjmedia_audiodev_objs@
|
|
|
|
ifeq ($(AC_NO_G711_CODEC),1)
|
|
export CFLAGS += -DPJMEDIA_HAS_G711_CODEC=0
|
|
else
|
|
export CODEC_OBJS +=
|
|
endif
|
|
|
|
ifeq ($(AC_NO_L16_CODEC),1)
|
|
export CFLAGS += -DPJMEDIA_HAS_L16_CODEC=0
|
|
else
|
|
export CODEC_OBJS += l16.o
|
|
endif
|
|
|
|
ifeq ($(AC_NO_GSM_CODEC),1)
|
|
export CFLAGS += -DPJMEDIA_HAS_GSM_CODEC=0
|
|
else
|
|
export CODEC_OBJS += gsm.o
|
|
endif
|
|
|
|
ifeq ($(AC_NO_SPEEX_CODEC),1)
|
|
export CFLAGS += -DPJMEDIA_HAS_SPEEX_CODEC=0
|
|
else
|
|
export CFLAGS += -I$(THIRD_PARTY)/build/speex -I$(THIRD_PARTY)/speex/include
|
|
export CODEC_OBJS += speex_codec.o
|
|
|
|
ifneq (@ac_no_speex_aec@,1)
|
|
export PJMEDIA_OBJS += echo_speex.o
|
|
endif
|
|
|
|
endif
|
|
|
|
ifeq ($(AC_NO_ILBC_CODEC),1)
|
|
export CFLAGS += -DPJMEDIA_HAS_ILBC_CODEC=0
|
|
else
|
|
export CODEC_OBJS += ilbc.o
|
|
endif
|
|
|
|
ifeq ($(AC_NO_G722_CODEC),1)
|
|
export CFLAGS += -DPJMEDIA_HAS_G722_CODEC=0
|
|
else
|
|
export CODEC_OBJS += g722.o g722/g722_enc.o g722/g722_dec.o
|
|
endif
|
|
|
|
ifeq ($(AC_NO_G7221_CODEC),1)
|
|
export CFLAGS += -DPJMEDIA_HAS_G7221_CODEC=0
|
|
else
|
|
export CODEC_OBJS += g7221.o
|
|
export G7221_CFLAGS += -I$(THIRD_PARTY)
|
|
endif
|
|
|
|
ifeq ($(AC_NO_OPENCORE_AMRNB),1)
|
|
export CFLAGS += -DPJMEDIA_HAS_OPENCORE_AMRNB_CODEC=0
|
|
else
|
|
export CODEC_OBJS += opencore_amr.o
|
|
endif
|
|
|
|
ifeq ($(AC_NO_OPENCORE_AMRWB),1)
|
|
export CFLAGS += -DPJMEDIA_HAS_OPENCORE_AMRWB_CODEC=0
|
|
else
|
|
ifeq ($(AC_NO_OPENCORE_AMRNB),1)
|
|
export CODEC_OBJS += opencore_amr.o
|
|
endif
|
|
endif
|
|
|
|
|
|
#
|
|
# SRTP
|
|
#
|
|
ifeq (@ac_external_srtp@,1)
|
|
# External SRTP
|
|
export CFLAGS += -DPJMEDIA_EXTERNAL_SRTP=1
|
|
# SRTP srtp_deinit()/srtp_shutdown() API availability settings
|
|
export CFLAGS += -DPJMEDIA_SRTP_HAS_DEINIT=@ac_srtp_deinit_present@ \
|
|
-DPJMEDIA_SRTP_HAS_SHUTDOWN=@ac_srtp_shutdown_present@
|
|
else
|
|
# Our SRTP in third_party
|
|
export CFLAGS += -I$(THIRD_PARTY)/build/srtp \
|
|
-I$(THIRD_PARTY)/srtp/crypto/include \
|
|
-I$(THIRD_PARTY)/srtp/include
|
|
|
|
endif
|
|
|
|
#
|
|
# Resample
|
|
#
|
|
AC_PJMEDIA_RESAMPLE=@ac_pjmedia_resample@
|
|
|
|
ifeq ($(AC_PJMEDIA_RESAMPLE),none)
|
|
# No resample support
|
|
export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_NONE
|
|
endif
|
|
|
|
ifeq ($(AC_PJMEDIA_RESAMPLE),libresample)
|
|
export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_LIBRESAMPLE
|
|
endif
|
|
|
|
ifeq ($(AC_PJMEDIA_RESAMPLE),libsamplerate)
|
|
export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_LIBSAMPLERATE
|
|
endif
|
|
|
|
ifeq ($(AC_PJMEDIA_RESAMPLE),speex)
|
|
export CFLAGS += -DPJMEDIA_RESAMPLE_IMP=PJMEDIA_RESAMPLE_SPEEX
|
|
endif
|
|
|
|
#
|
|
# PortAudio
|
|
#
|
|
ifneq ($(findstring pa,$(AC_PJMEDIA_SND)),)
|
|
ifeq (@ac_external_pa@,1)
|
|
# External PA
|
|
export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_PORTAUDIO=1
|
|
else
|
|
# Our PA in third_party
|
|
export CFLAGS += -I$(THIRD_PARTY)/build/portaudio -I$(THIRD_PARTY)/portaudio/include -DPJMEDIA_AUDIO_DEV_HAS_PORTAUDIO=1
|
|
endif
|
|
endif
|
|
|
|
#
|
|
# Windows specific
|
|
#
|
|
ifneq ($(findstring win32,$(AC_PJMEDIA_SND)),)
|
|
export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_WMME=1
|
|
else
|
|
export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_WMME=0
|
|
endif
|
|
|
|
#
|
|
# Null sound device
|
|
#
|
|
ifeq ($(AC_PJMEDIA_SND),null)
|
|
export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_PORTAUDIO=0 -DPJMEDIA_AUDIO_DEV_HAS_WMME=0
|
|
endif
|
|
|
|
#
|
|
# External sound device
|
|
#
|
|
ifeq ($(AC_PJMEDIA_SND),external)
|
|
export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_PORTAUDIO=0 -DPJMEDIA_AUDIO_DEV_HAS_WMME=0
|
|
endif
|
|
|
|
#
|
|
# QT video device
|
|
#
|
|
ifeq ($(AC_PJMEDIA_VIDEO_HAS_QT),yes)
|
|
export PJMEDIA_VIDEODEV_OBJS += qt_dev.o
|
|
endif
|
|
|
|
#
|
|
# iOS video device
|
|
#
|
|
ifeq ($(AC_PJMEDIA_VIDEO),iphone_os)
|
|
export PJMEDIA_VIDEODEV_OBJS += ios_dev.o ios_opengl_dev.o
|
|
endif
|
|
|
|
#
|
|
# Determine whether we should compile the obj-c version of a particular source code
|
|
#
|
|
ifneq (,$(filter $(AC_PJMEDIA_VIDEO),mac_os iphone_os))
|
|
# Mac and iPhone OS specific, use obj-c
|
|
export PJMEDIA_VIDEODEV_OBJS += sdl_dev_m.o
|
|
else
|
|
# Other platforms, compile .c
|
|
export PJMEDIA_VIDEODEV_OBJS += sdl_dev.o
|
|
endif
|