Added PortAudio build files

git-svn-id: https://svn.pjsip.org/repos/pjproject/branches/split-3rd-party@1181 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/aconfigure b/aconfigure
index 1f9c329..41567e4 100755
--- a/aconfigure
+++ b/aconfigure
@@ -1440,7 +1440,7 @@
   program_prefix=${target_alias}-
                                                   ac_config_headers="$ac_config_headers pjlib/include/pj/compat/os_auto.h pjlib/include/pj/compat/m_auto.h pjmedia/include/pjmedia/config_auto.h pjmedia/include/pjmedia-codec/config_auto.h pjsip/include/pjsip/sip_autoconf.h"
 
-                                                            ac_config_files="$ac_config_files build.mak build/os-auto.mak pjlib/build/os-auto.mak pjlib-util/build/os-auto.mak pjmedia/build/os-auto.mak pjsip/build/os-auto.mak"
+                                                                      ac_config_files="$ac_config_files build.mak build/os-auto.mak pjlib/build/os-auto.mak pjlib-util/build/os-auto.mak pjmedia/build/os-auto.mak pjsip/build/os-auto.mak third_party/build/portaudio/Makefile"
 
 
 
@@ -9666,6 +9666,7 @@
   "pjlib-util/build/os-auto.mak" ) CONFIG_FILES="$CONFIG_FILES pjlib-util/build/os-auto.mak" ;;
   "pjmedia/build/os-auto.mak" ) CONFIG_FILES="$CONFIG_FILES pjmedia/build/os-auto.mak" ;;
   "pjsip/build/os-auto.mak" ) CONFIG_FILES="$CONFIG_FILES pjsip/build/os-auto.mak" ;;
+  "third_party/build/portaudio/Makefile" ) CONFIG_FILES="$CONFIG_FILES third_party/build/portaudio/Makefile" ;;
   "pjlib/include/pj/compat/os_auto.h" ) CONFIG_HEADERS="$CONFIG_HEADERS pjlib/include/pj/compat/os_auto.h" ;;
   "pjlib/include/pj/compat/m_auto.h" ) CONFIG_HEADERS="$CONFIG_HEADERS pjlib/include/pj/compat/m_auto.h" ;;
   "pjmedia/include/pjmedia/config_auto.h" ) CONFIG_HEADERS="$CONFIG_HEADERS pjmedia/include/pjmedia/config_auto.h" ;;
diff --git a/aconfigure.ac b/aconfigure.ac
index 59e7d4d..b115abe 100644
--- a/aconfigure.ac
+++ b/aconfigure.ac
@@ -17,6 +17,7 @@
 	         pjlib-util/build/os-auto.mak 
 		 pjmedia/build/os-auto.mak
 		 pjsip/build/os-auto.mak
+		 third_party/build/portaudio/Makefile
 	        ])
 
 
diff --git a/third_party/build/portaudio/Makefile.in b/third_party/build/portaudio/Makefile.in
new file mode 100644
index 0000000..7c9c6cc
--- /dev/null
+++ b/third_party/build/portaudio/Makefile.in
@@ -0,0 +1,140 @@
+# @configure_input@
+include ../../../build.mak
+include ../../../build/common.mak
+
+export LIBDIR := ../../lib
+
+RULES_MAK := ../../build/rules.mak
+
+export PORTAUDIO_LIB:=../../lib/libportaudio-$(TARGET_NAME)$(LIBEXT)
+
+PORTAUDIO_OBJS := pa_allocation.o \
+		  pa_converters.o \
+		  pa_cpuload.o \
+		  pa_dither.o \
+		  pa_front.o \
+		  pa_process.o \
+		  pa_skeleton.o \
+		  pa_stream.o \
+		  pa_trace.o
+
+
+# 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)
+#
+# There are other values below, but these are handled by PJMEDIA's Makefile
+#   - 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@
+
+# Additional PortAudio CFLAGS are in @ac_pa_cflags@
+
+
+#
+# PortAudio on Unix
+#
+ifeq ($(AC_PJMEDIA_SND),pa_unix)
+# Host APIs and utils
+export PORTAUDIO_OBJS += pa_unix_hostapis.o pa_unix_util.o
+
+# Include ALSA?
+ifeq ($(AC_PA_USE_ALSA),1)
+export CFLAGS += -DPA_USE_ALSA=1
+export PORTAUDIO_OBJS += pa_linux_alsa.o
+endif
+
+export CFLAGS += -DPA_USE_OSS=1
+export PORTAUDIO_OBJS += pa_unix_oss.o
+endif
+
+
+#
+# PortAudio on MacOS X (using current PortAudio)
+#
+ifeq ($(AC_PJMEDIA_SND),pa_darwinos)
+export PORTAUDIO_OBJS +=pa_mac_hostapis.o \
+			pa_unix_util.o \
+			pa_mac_core.o \
+			pa_mac_core_blocking.o \
+			pa_mac_core_utilities.o \
+			pa_ringbuffer.o
+export CFLAGS += -DPA_USE_COREAUDIO=1
+export CFLAGS += @ac_pa_cflags@
+endif
+
+#
+# PortAudio on MacOS X (using old PortAudio, for MacOS X 10.2.x)
+#
+ifeq ($(AC_PJMEDIA_SND),pa_old_darwinos)
+export PORTAUDIO_OBJS +=pa_mac_hostapis.o \
+			pa_unix_util.o \
+			pa_mac_core_old.o 
+export CFLAGS += -DPA_USE_COREAUDIO=1
+export CFLAGS += @ac_pa_cflags@
+endif
+
+#
+#
+# PortAudio on Win32 (WMME)
+#
+ifeq ($(AC_PJMEDIA_SND),pa_win32)
+export PORTAUDIO_OBJS += pa_win_hostapis.o pa_win_util.o \
+		       pa_win_wmme.o
+export CFLAGS += -DPA_NO_ASIO -DPA_NO_DS
+endif
+
+
+###############################################################################
+# Gather all flags.
+#
+export _CFLAGS 	:= $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \
+		   $(CFLAGS) $(CC_INC). $(CC_INC)src \
+export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \
+		   $(HOST_CXXFLAGS) $(CXXFLAGS)
+export _LDFLAGS := $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \
+		   $(LDFLAGS) 
+
+###############################################################################
+# Defines for building PORTAUDIO library
+#
+export PORTAUDIO_SRCDIR = src
+export PORTAUDIO_OBJS += 
+export PORTAUDIO_CFLAGS += $(_CFLAGS)
+
+export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT 
+###############################################################################
+# Main entry
+#
+# $(TARGET) is defined in os-$(OS_NAME).mak file in current directory.
+#
+TARGETS := libportaudio
+
+all: $(TARGETS)
+
+dep: depend
+distclean: realclean
+
+.PHONY: dep depend libportaudio clean realclean distclean
+
+libportaudio:
+	$(MAKE) -f $(RULES_MAK) APP=PORTAUDIO app=libportaudio $(PORTAUDIO_LIB)
+
+clean:
+	$(MAKE) -f $(RULES_MAK) APP=PORTAUDIO app=libportaudio $@
+
+realclean:
+	$(subst @@,$(subst /,$(HOST_PSEP),.libportaudio-$(TARGET_NAME).depend),$(HOST_RMR))
+	
+	$(MAKE) -f $(RULES_MAK) APP=PORTAUDIO app=libportaudio $@
+
+depend:
+	$(MAKE) -f $(RULES_MAK) APP=PORTAUDIO app=libportaudio $@
+	echo '$(PORTAUDIO_LIB): .libportaudio-$(TARGET_NAME).depend' >> .libportaudio-$(TARGET_NAME).depend; \
+
diff --git a/third_party/build/portaudio/src/pa_allocation.c b/third_party/build/portaudio/src/pa_allocation.c
new file mode 120000
index 0000000..4492977
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_allocation.c
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_allocation.c
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_allocation.h b/third_party/build/portaudio/src/pa_allocation.h
new file mode 120000
index 0000000..d87f87d
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_allocation.h
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_allocation.h
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_converters.c b/third_party/build/portaudio/src/pa_converters.c
new file mode 120000
index 0000000..cebfaeb
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_converters.c
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_converters.c
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_converters.h b/third_party/build/portaudio/src/pa_converters.h
new file mode 120000
index 0000000..7fe7c9a
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_converters.h
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_converters.h
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_cpuload.c b/third_party/build/portaudio/src/pa_cpuload.c
new file mode 120000
index 0000000..513bcde
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_cpuload.c
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_cpuload.c
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_cpuload.h b/third_party/build/portaudio/src/pa_cpuload.h
new file mode 120000
index 0000000..8518241
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_cpuload.h
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_cpuload.h
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_debugprint.c b/third_party/build/portaudio/src/pa_debugprint.c
new file mode 120000
index 0000000..24cd0c9
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_debugprint.c
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_debugprint.c
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_debugprint.h b/third_party/build/portaudio/src/pa_debugprint.h
new file mode 120000
index 0000000..5489aa6
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_debugprint.h
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_debugprint.h
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_dither.c b/third_party/build/portaudio/src/pa_dither.c
new file mode 120000
index 0000000..87c2ee1
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_dither.c
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_dither.c
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_dither.h b/third_party/build/portaudio/src/pa_dither.h
new file mode 120000
index 0000000..e3ec249
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_dither.h
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_dither.h
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_endianness.h b/third_party/build/portaudio/src/pa_endianness.h
new file mode 120000
index 0000000..dc5552a
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_endianness.h
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_endianness.h
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_front.c b/third_party/build/portaudio/src/pa_front.c
new file mode 120000
index 0000000..db1f820
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_front.c
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_front.c
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_hostapi.h b/third_party/build/portaudio/src/pa_hostapi.h
new file mode 120000
index 0000000..69f1a57
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_hostapi.h
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_hostapi.h
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_linux_alsa.c b/third_party/build/portaudio/src/pa_linux_alsa.c
new file mode 120000
index 0000000..f216966
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_linux_alsa.c
@@ -0,0 +1 @@
+../../../portaudio/src/hostapi/alsa/pa_linux_alsa.c
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_mac_core.c b/third_party/build/portaudio/src/pa_mac_core.c
new file mode 120000
index 0000000..22e225d
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_mac_core.c
@@ -0,0 +1 @@
+../../../portaudio/src/hostapi/coreaudio/pa_mac_core.c
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_mac_core_blocking.c b/third_party/build/portaudio/src/pa_mac_core_blocking.c
new file mode 120000
index 0000000..08b297c
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_mac_core_blocking.c
@@ -0,0 +1 @@
+../../../portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.c
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_mac_core_blocking.h b/third_party/build/portaudio/src/pa_mac_core_blocking.h
new file mode 120000
index 0000000..2b5c824
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_mac_core_blocking.h
@@ -0,0 +1 @@
+../../../portaudio/src/hostapi/coreaudio/pa_mac_core_blocking.h
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_mac_core_internal.h b/third_party/build/portaudio/src/pa_mac_core_internal.h
new file mode 120000
index 0000000..9ec427d
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_mac_core_internal.h
@@ -0,0 +1 @@
+../../../portaudio/src/hostapi/coreaudio/pa_mac_core_internal.h
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_mac_core_old.c b/third_party/build/portaudio/src/pa_mac_core_old.c
new file mode 120000
index 0000000..8c35ed0
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_mac_core_old.c
@@ -0,0 +1 @@
+../../../portaudio/src/hostapi/coreaudio/pa_mac_core_old.c
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_mac_core_utilities.c b/third_party/build/portaudio/src/pa_mac_core_utilities.c
new file mode 120000
index 0000000..c6b5624
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_mac_core_utilities.c
@@ -0,0 +1 @@
+../../../portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.c
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_mac_core_utilities.h b/third_party/build/portaudio/src/pa_mac_core_utilities.h
new file mode 120000
index 0000000..d2bebf8
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_mac_core_utilities.h
@@ -0,0 +1 @@
+../../../portaudio/src/hostapi/coreaudio/pa_mac_core_utilities.h
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_mac_hostapis.c b/third_party/build/portaudio/src/pa_mac_hostapis.c
new file mode 120000
index 0000000..ec9cb7d
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_mac_hostapis.c
@@ -0,0 +1 @@
+../../../portaudio/src/os/mac_osx/pa_mac_hostapis.c
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_process.c b/third_party/build/portaudio/src/pa_process.c
new file mode 120000
index 0000000..1f0a982
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_process.c
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_process.c
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_process.h b/third_party/build/portaudio/src/pa_process.h
new file mode 120000
index 0000000..476abbe
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_process.h
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_process.h
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_ringbuffer.c b/third_party/build/portaudio/src/pa_ringbuffer.c
new file mode 120000
index 0000000..28faea9
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_ringbuffer.c
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_ringbuffer.c
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_ringbuffer.h b/third_party/build/portaudio/src/pa_ringbuffer.h
new file mode 120000
index 0000000..b900663
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_ringbuffer.h
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_ringbuffer.h
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_skeleton.c b/third_party/build/portaudio/src/pa_skeleton.c
new file mode 120000
index 0000000..e9a7d6f
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_skeleton.c
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_skeleton.c
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_stream.c b/third_party/build/portaudio/src/pa_stream.c
new file mode 120000
index 0000000..9dd689a
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_stream.c
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_stream.c
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_stream.h b/third_party/build/portaudio/src/pa_stream.h
new file mode 120000
index 0000000..c0ec744
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_stream.h
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_stream.h
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_trace.c b/third_party/build/portaudio/src/pa_trace.c
new file mode 120000
index 0000000..400df5e
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_trace.c
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_trace.c
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_trace.h b/third_party/build/portaudio/src/pa_trace.h
new file mode 120000
index 0000000..f459f73
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_trace.h
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_trace.h
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_types.h b/third_party/build/portaudio/src/pa_types.h
new file mode 120000
index 0000000..a8838a9
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_types.h
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_types.h
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_unix_hostapis.c b/third_party/build/portaudio/src/pa_unix_hostapis.c
new file mode 120000
index 0000000..c013734
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_unix_hostapis.c
@@ -0,0 +1 @@
+../../../portaudio/src/os/unix/pa_unix_hostapis.c
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_unix_oss.c b/third_party/build/portaudio/src/pa_unix_oss.c
new file mode 120000
index 0000000..608846c
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_unix_oss.c
@@ -0,0 +1 @@
+../../../portaudio/src/hostapi/oss/pa_unix_oss.c
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_unix_util.c b/third_party/build/portaudio/src/pa_unix_util.c
new file mode 120000
index 0000000..e217190
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_unix_util.c
@@ -0,0 +1 @@
+../../../portaudio/src/os/unix/pa_unix_util.c
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_unix_util.h b/third_party/build/portaudio/src/pa_unix_util.h
new file mode 120000
index 0000000..9381e85
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_unix_util.h
@@ -0,0 +1 @@
+../../../portaudio/src/os/unix/pa_unix_util.h
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_util.h b/third_party/build/portaudio/src/pa_util.h
new file mode 120000
index 0000000..4aecbe8
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_util.h
@@ -0,0 +1 @@
+../../../portaudio/src/common/pa_util.h
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_win_hostapis.c b/third_party/build/portaudio/src/pa_win_hostapis.c
new file mode 120000
index 0000000..b8638bc
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_win_hostapis.c
@@ -0,0 +1 @@
+../../../portaudio/src/os/win/pa_win_hostapis.c
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_win_util.c b/third_party/build/portaudio/src/pa_win_util.c
new file mode 120000
index 0000000..e605796
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_win_util.c
@@ -0,0 +1 @@
+../../../portaudio/src/os/win/pa_win_util.c
\ No newline at end of file
diff --git a/third_party/build/portaudio/src/pa_win_wmme.c b/third_party/build/portaudio/src/pa_win_wmme.c
new file mode 120000
index 0000000..ba28bff
--- /dev/null
+++ b/third_party/build/portaudio/src/pa_win_wmme.c
@@ -0,0 +1 @@
+../../../portaudio/src/hostapi/wmme/pa_win_wmme.c
\ No newline at end of file