summaryrefslogtreecommitdiff
path: root/pjmedia
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2006-08-20 20:47:34 +0000
committerBenny Prijono <bennylp@teluu.com>2006-08-20 20:47:34 +0000
commit763d1e9a8ed2e44419760db370e9280426a0b617 (patch)
treef4c5765dfe86b65375a06cc505a8334361cffadd /pjmedia
parentdc216fbe98f8335de253cf671528b6e0dc2cb509 (diff)
Finishing autoconf work, also fixed compilation error in publish.h
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@689 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia')
-rw-r--r--pjmedia/build/Makefile4
-rw-r--r--pjmedia/build/os-auto.mak.in123
-rw-r--r--pjmedia/src/pjmedia/portaudio/pa_unix_hostapis.c8
3 files changed, 129 insertions, 6 deletions
diff --git a/pjmedia/build/Makefile b/pjmedia/build/Makefile
index 2c8a3b54..14dfc5a2 100644
--- a/pjmedia/build/Makefile
+++ b/pjmedia/build/Makefile
@@ -11,7 +11,7 @@ export SOUND_OBJS = $(PORTAUDIO_OBJS)
# E.g., to exclude Speex, we need to exclude SPEEX_OBJS from CODEC_OBJS, AND specify
# "#define PJMEDIA_HAS_SPEEX_CODEC 0" in pj/config_site.h.
#
-export CODEC_OBJS = $(GSM_OBJS) $(SPEEX_OBJS) $(ILBC_OBJS)
+export CODEC_OBJS = l16.o $(GSM_OBJS) $(SPEEX_OBJS) $(ILBC_OBJS)
include ../../build/common.mak
@@ -133,7 +133,7 @@ ILBC_OBJS := ilbc.o \
ILBC_CFLAGS :=
export PJMEDIA_CODEC_SRCDIR = ../src/pjmedia-codec
-export PJMEDIA_CODEC_OBJS += l16.o \
+export PJMEDIA_CODEC_OBJS += \
$(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \
$(CODEC_OBJS)
export PJMEDIA_CODEC_CFLAGS += $(_CFLAGS) $(GSM_CFLAGS) $(SPEEX_CFLAGS) \
diff --git a/pjmedia/build/os-auto.mak.in b/pjmedia/build/os-auto.mak.in
new file mode 100644
index 00000000..8ef29227
--- /dev/null
+++ b/pjmedia/build/os-auto.mak.in
@@ -0,0 +1,123 @@
+# @configure_input@
+
+# PJMEDIA features exclusion
+export CFLAGS += @ac_no_small_filter@ @ac_no_large_filter@ @ac_no_g711_plc@ @ac_no_speex_aec@
+
+# Define the desired sound device backend
+# Valid values are:
+# - pa_unix: PortAudio on Unix (OSS or ALSA)
+# - pa_darwinos: PortAudio on MacOSX (CoreAudio)
+# - pa_win32: PortAudio on Win32 (WMME)
+# - ds: Win32 DirectSound (dsound.c)
+# - null: Null sound device (nullsound.c)
+AC_PJMEDIA_SND=@ac_pjmedia_snd@
+
+# For Unix, specify if ALSA should be supported
+AC_PA_USE_ALSA=@ac_pa_use_alsa@
+
+# PortAudio endianness
+AC_PA_BIGENDIAN=@ac_bigendian@
+ifeq ($(AC_PA_BIGENDIAN),1)
+export CFLAGS += -DPA_BIG_ENDIAN=1
+else
+export CFLAGS += -DPA_LITTLE_ENDIAN=1
+endif
+
+#
+# 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@
+
+export CODEC_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_OBJS)
+endif
+
+ifeq ($(AC_NO_SPEEX_CODEC),1)
+export CFLAGS += -DPJMEDIA_HAS_SPEEX_CODEC=0
+else
+export CODEC_OBJS += $(SPEEX_OBJS)
+endif
+
+ifeq ($(AC_NO_ILBC_CODEC),1)
+export CFLAGS += -DPJMEDIA_HAS_ILBC_CODEC=0
+else
+export CODEC_OBJS += $(ILBC_OBJS)
+endif
+
+
+#
+# PortAudio on Unix
+#
+ifeq ($(AC_PJMEDIA_SND),pa_unix)
+# Host APIs and utils
+export PJMEDIA_OBJS += $(PA_DIR)/pa_unix_hostapis.o $(PA_DIR)/pa_unix_util.o
+
+# Include ALSA?
+ifeq ($(AC_PA_USE_ALSA),1)
+export CFLAGS += -DPA_USE_ALSA=1
+export PJMEDIA_OBJS += $(PA_DIR)/pa_linux_alsa.o
+endif
+
+export CFLAGS += -DPA_USE_OSS=1 \
+ -DPJMEDIA_SOUND_IMPLEMENTATION=PJMEDIA_SOUND_PORTAUDIO_SOUND
+export PJMEDIA_OBJS += $(PA_DIR)/pa_unix_oss.o
+endif
+
+
+#
+# PortAudio on MacOS X
+#
+ifeq ($(AC_PJMEDIA_SND),pa_darwinos)
+export PJMEDIA_OBJS += $(PA_DIR)/pa_mac_hostapis.o $(PA_DIR)/pa_unix_util.o \
+ $(PA_DIR)/pa_mac_core.o
+export CFLAGS += -DPA_USE_COREAUDIO=1 \
+ -DPJMEDIA_SOUND_IMPLEMENTATION=PJMEDIA_SOUND_PORTAUDIO_SOUND
+endif
+
+#
+# PortAudio on Win32 (WMME)
+#
+ifeq ($(AC_PJMEDIA_SND),pa_win32)
+export PJMEDIA_OBJS += $(PA_DIR)/pa_win_hostapis.o $(PA_DIR)/pa_win_util.o \
+ $(PA_DIR)/pa_win_wmme.o
+export CFLAGS += -DDPA_NO_ASIO -DPA_NO_DS \
+ -DPJMEDIA_SOUND_IMPLEMENTATION=PJMEDIA_SOUND_PORTAUDIO_SOUND
+endif
+
+#
+# Win32 DirectSound
+#
+ifeq ($(AC_PJMEDIA_SND),ds)
+export SOUND_OBJS = dsound.o
+export CFLAGS += -DPJMEDIA_SOUND_IMPLEMENTATION=PJMEDIA_SOUND_WIN32_DIRECT_SOUND
+endif
+
+#
+# Last resort, null sound device
+#
+ifeq ($(AC_PJMEDIA_SND),null)
+export SOUND_OBJS = nullsound.o
+export CFLAGS += -DPJMEDIA_SOUND_IMPLEMENTATION=PJMEDIA_SOUND_NULL_SOUND
+endif
+
+
diff --git a/pjmedia/src/pjmedia/portaudio/pa_unix_hostapis.c b/pjmedia/src/pjmedia/portaudio/pa_unix_hostapis.c
index 9bddc2e0..d01e916e 100644
--- a/pjmedia/src/pjmedia/portaudio/pa_unix_hostapis.c
+++ b/pjmedia/src/pjmedia/portaudio/pa_unix_hostapis.c
@@ -41,14 +41,14 @@ PaError PaSGI_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex
PaUtilHostApiInitializer *paHostApiInitializers[] =
{
-#ifdef PA_USE_OSS
- PaOSS_Initialize,
-#endif
-
#ifdef PA_USE_ALSA
PaAlsa_Initialize,
#endif
+#ifdef PA_USE_OSS
+ PaOSS_Initialize,
+#endif
+
#ifdef PA_USE_JACK
PaJack_Initialize,
#endif